mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2025-12-19 18:18:27 -05:00
feat: create docker images for new api (#51538)
This commit is contained in:
committed by
GitHub
parent
90bdffca7b
commit
05d19b8b42
17
.github/workflows/temporary-container-checks.yml
vendored
17
.github/workflows/temporary-container-checks.yml
vendored
@@ -88,6 +88,23 @@ jobs:
|
||||
# name: webpack-stats
|
||||
# path: client/public/stats.json
|
||||
|
||||
build-new-api:
|
||||
name: Build New Api (Container)
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [18.x]
|
||||
|
||||
steps:
|
||||
- name: Checkout Source Files
|
||||
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
|
||||
|
||||
- name: Create Image
|
||||
run: |
|
||||
docker build \
|
||||
-t fcc-new-api \
|
||||
-f docker/new-api/Dockerfile .
|
||||
|
||||
cypress-run:
|
||||
name: Test
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
2
api/.gitignore
vendored
2
api/.gitignore
vendored
@@ -1 +1 @@
|
||||
dist/**/*.js
|
||||
dist/
|
||||
|
||||
@@ -11,26 +11,29 @@
|
||||
"@fastify/session": "^10.1.1",
|
||||
"@fastify/swagger": "^8.3.1",
|
||||
"@fastify/swagger-ui": "^1.5.0",
|
||||
"@fastify/type-provider-typebox": "3.5.0",
|
||||
"@immobiliarelabs/fastify-sentry": "^6.0.0",
|
||||
"@prisma/client": "5.2.0",
|
||||
"ajv": "8.12.0",
|
||||
"ajv-formats": "^2.1.1",
|
||||
"connect-mongo": "4.6.0",
|
||||
"dotenv": "16.3.1",
|
||||
"fast-uri": "2.2.0",
|
||||
"fastify": "4.21.0",
|
||||
"fastify-auth0-verify": "^1.0.0",
|
||||
"fastify-plugin": "^4.3.0",
|
||||
"jsonwebtoken": "9.0.2",
|
||||
"lodash": "4.17.21",
|
||||
"mongodb": "^4.16.0",
|
||||
"nanoid": "3",
|
||||
"no-profanity": "^1.4.2",
|
||||
"nodemailer": "^6.9.3",
|
||||
"nodemon": "2.0.22",
|
||||
"pino-pretty": "10.2.0",
|
||||
"query-string": "^7.1.3"
|
||||
},
|
||||
"description": "The freeCodeCamp.org open-source codebase and curriculum",
|
||||
"devDependencies": {
|
||||
"@fastify/type-provider-typebox": "3.5.0",
|
||||
"@total-typescript/ts-reset": "^0.4.0",
|
||||
"@types/express-session": "1.17.7",
|
||||
"@types/jsonwebtoken": "^9.0.2",
|
||||
@@ -38,7 +41,6 @@
|
||||
"@types/supertest": "2.0.12",
|
||||
"dotenv-cli": "7.3.0",
|
||||
"jest": "29.6.4",
|
||||
"pino-pretty": "10.2.0",
|
||||
"prisma": "5.2.0",
|
||||
"supertest": "6.3.3",
|
||||
"ts-jest": "29.1.1"
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
generator client {
|
||||
provider = "prisma-client-js"
|
||||
binaryTargets = ["native", "linux-musl-openssl-3.0.x"]
|
||||
}
|
||||
|
||||
datasource db {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"extends": "./tsconfig",
|
||||
"compilerOptions": {
|
||||
"outDir": "dist",
|
||||
"rootDir": "src",
|
||||
"rootDir": "../",
|
||||
"noEmit": false
|
||||
},
|
||||
"include": ["src"],
|
||||
|
||||
59
docker/new-api/Dockerfile
Normal file
59
docker/new-api/Dockerfile
Normal file
@@ -0,0 +1,59 @@
|
||||
# bookworm was only released on 10-6-2023, so is a little too new.
|
||||
FROM node:18-bullseye AS builder
|
||||
# global installs need root permissions, so have to happen before we switch to
|
||||
# the node user
|
||||
RUN npm i -g pnpm@8
|
||||
# node images create a non-root user that we can use
|
||||
USER node
|
||||
WORKDIR /home/node/build
|
||||
|
||||
COPY --chown=node:node package.json .
|
||||
COPY --chown=node:node pnpm*.yaml .
|
||||
COPY --chown=node:node tsconfig*.json .
|
||||
COPY --chown=node:node api/ api/
|
||||
COPY --chown=node:node shared/ shared/
|
||||
COPY --chown=node:node tools/ tools/
|
||||
COPY --chown=node:node curriculum/ curriculum/
|
||||
# TODO: AFAIK it's just the intro translations. Those should be folded into the
|
||||
# curriculum and then we can remove this.
|
||||
COPY --chown=node:node client/ client/
|
||||
|
||||
RUN pnpm config set dedupe-peer-dependents false
|
||||
RUN pnpm install -F=api -F=curriculum -F tools/scripts/build -F challenge-parser \
|
||||
--frozen-lockfile
|
||||
|
||||
# The api needs to source curriculum.json and build:curriculum relies on the
|
||||
# following env vars.
|
||||
ARG SHOW_UPCOMING_CHANGES=false
|
||||
ENV SHOW_UPCOMING_CHANGES=$SHOW_UPCOMING_CHANGES
|
||||
ARG SHOW_NEW_CURRICULUM=true
|
||||
ENV SHOW_NEW_CURRICULUM=$SHOW_NEW_CURRICULUM
|
||||
|
||||
RUN pnpm build:curriculum
|
||||
RUN pnpm -F=api build
|
||||
|
||||
FROM node:18-bullseye AS deps
|
||||
|
||||
WORKDIR /home/node/build
|
||||
COPY --chown=node:node pnpm*.yaml .
|
||||
COPY --chown=node:node api/ api/
|
||||
COPY --chown=node:node shared/ shared/
|
||||
RUN npm i -g pnpm@8
|
||||
RUN pnpm install --prod --ignore-scripts -F=shared -F=api
|
||||
# While we want to ignore scripts generally, we do need to generate the prisma
|
||||
# client. Note: npx is the simplest way to generate the client without us having
|
||||
# to have prisma as a prod dependency.
|
||||
RUN cd api && npx prisma generate
|
||||
|
||||
FROM node:18-alpine
|
||||
RUN npm i -g pm2@4
|
||||
USER node
|
||||
WORKDIR /home/node/fcc
|
||||
COPY --from=builder --chown=node:node /home/node/build/api/dist/ ./
|
||||
COPY --from=builder --chown=node:node /home/node/build/api/package.json api/
|
||||
|
||||
COPY --from=deps --chown=node:node /home/node/build/node_modules/ node_modules/
|
||||
COPY --from=deps --chown=node:node /home/node/build/shared/node_modules/ shared/node_modules/
|
||||
COPY --from=deps --chown=node:node /home/node/build/api/node_modules/ api/node_modules/
|
||||
|
||||
CMD ["pm2-runtime", "start", "-i", "0","api/src/server.js"]
|
||||
142
pnpm-lock.yaml
generated
142
pnpm-lock.yaml
generated
@@ -192,6 +192,9 @@ importers:
|
||||
'@fastify/swagger-ui':
|
||||
specifier: ^1.5.0
|
||||
version: 1.5.0
|
||||
'@fastify/type-provider-typebox':
|
||||
specifier: 3.5.0
|
||||
version: 3.5.0(@sinclair/typebox@0.31.5)
|
||||
'@immobiliarelabs/fastify-sentry':
|
||||
specifier: ^6.0.0
|
||||
version: 6.0.1
|
||||
@@ -207,6 +210,9 @@ importers:
|
||||
connect-mongo:
|
||||
specifier: 4.6.0
|
||||
version: 4.6.0(express-session@1.17.3)(mongodb@4.16.0)
|
||||
dotenv:
|
||||
specifier: 16.3.1
|
||||
version: 16.3.1
|
||||
fast-uri:
|
||||
specifier: 2.2.0
|
||||
version: 2.2.0
|
||||
@@ -222,6 +228,9 @@ importers:
|
||||
jsonwebtoken:
|
||||
specifier: 9.0.2
|
||||
version: 9.0.2
|
||||
lodash:
|
||||
specifier: 4.17.21
|
||||
version: 4.17.21
|
||||
mongodb:
|
||||
specifier: ^4.16.0
|
||||
version: 4.16.0
|
||||
@@ -237,13 +246,13 @@ importers:
|
||||
nodemon:
|
||||
specifier: 2.0.22
|
||||
version: 2.0.22
|
||||
pino-pretty:
|
||||
specifier: 10.2.0
|
||||
version: 10.2.0
|
||||
query-string:
|
||||
specifier: ^7.1.3
|
||||
version: 7.1.3
|
||||
devDependencies:
|
||||
'@fastify/type-provider-typebox':
|
||||
specifier: 3.5.0
|
||||
version: 3.5.0(@sinclair/typebox@0.31.5)
|
||||
'@total-typescript/ts-reset':
|
||||
specifier: ^0.4.0
|
||||
version: 0.4.0
|
||||
@@ -265,9 +274,6 @@ importers:
|
||||
jest:
|
||||
specifier: 29.6.4
|
||||
version: 29.6.4(@types/node@18.17.15)(ts-node@10.9.1)
|
||||
pino-pretty:
|
||||
specifier: 10.2.0
|
||||
version: 10.2.0
|
||||
prisma:
|
||||
specifier: 5.2.0
|
||||
version: 5.2.0
|
||||
@@ -2980,7 +2986,7 @@ packages:
|
||||
'@babel/traverse': 7.22.11
|
||||
'@babel/types': 7.22.11
|
||||
convert-source-map: 1.9.0
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
debug: 4.3.4
|
||||
gensync: 1.0.0-beta.2
|
||||
json5: 2.2.3
|
||||
semver: 6.3.1
|
||||
@@ -3202,7 +3208,7 @@ packages:
|
||||
'@babel/core': 7.22.11
|
||||
'@babel/helper-compilation-targets': 7.22.10
|
||||
'@babel/helper-plugin-utils': 7.22.5
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
debug: 4.3.4
|
||||
lodash.debounce: 4.0.8
|
||||
resolve: 1.22.4
|
||||
transitivePeerDependencies:
|
||||
@@ -6380,7 +6386,7 @@ packages:
|
||||
'@babel/helper-split-export-declaration': 7.22.6
|
||||
'@babel/parser': 7.22.11
|
||||
'@babel/types': 7.22.11
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
debug: 4.3.4
|
||||
globals: 11.12.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
@@ -6715,7 +6721,7 @@ packages:
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
dependencies:
|
||||
ajv: 6.12.6
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
debug: 4.3.4
|
||||
espree: 9.6.1
|
||||
globals: 13.21.0
|
||||
ignore: 5.2.4
|
||||
@@ -6852,7 +6858,7 @@ packages:
|
||||
'@sinclair/typebox': '>=0.26 <=0.31'
|
||||
dependencies:
|
||||
'@sinclair/typebox': 0.31.5
|
||||
dev: true
|
||||
dev: false
|
||||
|
||||
/@fortawesome/fontawesome-common-types@6.4.2:
|
||||
resolution: {integrity: sha512-1DgP7f+XQIJbLFCTX1V2QnxVmpLdKdzzo2k8EmvDOePfchaIGQ9eCHj2up3/jNEbZuBqel5OxiaOJf37TWauRA==}
|
||||
@@ -7205,7 +7211,7 @@ packages:
|
||||
engines: {node: '>=10.10.0'}
|
||||
dependencies:
|
||||
'@humanwhocodes/object-schema': 1.2.1
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
debug: 4.3.4
|
||||
minimatch: 3.1.2
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
@@ -8481,7 +8487,7 @@ packages:
|
||||
|
||||
/@sinclair/typebox@0.31.5:
|
||||
resolution: {integrity: sha512-4fbqH1ONle98ULTQakJFVNwGwSx+rv90HEnjZGt1GoApMKooUw1WXw3ub+Ew7rInmyDcwsjIxiHt39bkWzeCBA==}
|
||||
dev: true
|
||||
dev: false
|
||||
|
||||
/@sindresorhus/is@0.14.0:
|
||||
resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==}
|
||||
@@ -11448,7 +11454,7 @@ packages:
|
||||
'@typescript-eslint/scope-manager': 5.62.0
|
||||
'@typescript-eslint/type-utils': 5.62.0(eslint@8.49.0)(typescript@4.9.5)
|
||||
'@typescript-eslint/utils': 5.62.0(eslint@8.49.0)(typescript@4.9.5)
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
debug: 4.3.4
|
||||
eslint: 8.49.0
|
||||
graphemer: 1.4.0
|
||||
ignore: 5.2.4
|
||||
@@ -11537,7 +11543,7 @@ packages:
|
||||
'@typescript-eslint/scope-manager': 5.62.0
|
||||
'@typescript-eslint/types': 5.62.0
|
||||
'@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5)
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
debug: 4.3.4
|
||||
eslint: 8.49.0
|
||||
typescript: 4.9.5
|
||||
transitivePeerDependencies:
|
||||
@@ -11569,7 +11575,7 @@ packages:
|
||||
dependencies:
|
||||
'@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5)
|
||||
'@typescript-eslint/utils': 5.62.0(eslint@8.49.0)(typescript@4.9.5)
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
debug: 4.3.4
|
||||
eslint: 8.49.0
|
||||
tsutils: 3.21.0(typescript@4.9.5)
|
||||
typescript: 4.9.5
|
||||
@@ -11640,7 +11646,7 @@ packages:
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 5.62.0
|
||||
'@typescript-eslint/visitor-keys': 5.62.0
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
debug: 4.3.4
|
||||
globby: 11.1.0
|
||||
is-glob: 4.0.3
|
||||
semver: 7.5.4
|
||||
@@ -12085,7 +12091,7 @@ packages:
|
||||
resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
|
||||
engines: {node: '>= 6.0.0'}
|
||||
dependencies:
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
debug: 4.3.4
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
@@ -12673,6 +12679,7 @@ packages:
|
||||
/atomic-sleep@1.0.0:
|
||||
resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==}
|
||||
engines: {node: '>=8.0.0'}
|
||||
dev: false
|
||||
|
||||
/automation-events@6.0.9:
|
||||
resolution: {integrity: sha512-JEJzZRfRb26FMWR8zE2D/H/n5n+NNFZh1BtmDcpZVJOhLYKLGFCImBuxChRBhpZaOyIxqobPtM839amAeu2H9g==}
|
||||
@@ -12718,7 +12725,7 @@ packages:
|
||||
resolution: {integrity: sha512-TAlMYvOuwGyLK3PfBb5WKBXZmXz2fVCgv23d6zZFdle/q3gPjmxBaeuC0pY0Dzs5PWMSgfqqEZkrye19GlDTgw==}
|
||||
dependencies:
|
||||
archy: 1.0.0
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
debug: 4.3.4
|
||||
fastq: 1.15.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
@@ -15347,7 +15354,7 @@ packages:
|
||||
express-session: ^1.17.1
|
||||
mongodb: ^4.1.0
|
||||
dependencies:
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
debug: 4.3.4
|
||||
express-session: 1.17.3
|
||||
kruptein: 3.0.6
|
||||
mongodb: 4.16.0
|
||||
@@ -16176,7 +16183,7 @@ packages:
|
||||
|
||||
/dateformat@4.6.3:
|
||||
resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==}
|
||||
dev: true
|
||||
dev: false
|
||||
|
||||
/dayjs@1.11.9:
|
||||
resolution: {integrity: sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==}
|
||||
@@ -16213,6 +16220,16 @@ packages:
|
||||
ms: 2.0.0
|
||||
dev: false
|
||||
|
||||
/debug@3.2.7:
|
||||
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
|
||||
peerDependencies:
|
||||
supports-color: '*'
|
||||
peerDependenciesMeta:
|
||||
supports-color:
|
||||
optional: true
|
||||
dependencies:
|
||||
ms: 2.1.3
|
||||
|
||||
/debug@3.2.7(supports-color@5.5.0):
|
||||
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
|
||||
peerDependencies:
|
||||
@@ -16247,6 +16264,17 @@ packages:
|
||||
ms: 2.1.2
|
||||
dev: true
|
||||
|
||||
/debug@4.3.4:
|
||||
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
|
||||
engines: {node: '>=6.0'}
|
||||
peerDependencies:
|
||||
supports-color: '*'
|
||||
peerDependenciesMeta:
|
||||
supports-color:
|
||||
optional: true
|
||||
dependencies:
|
||||
ms: 2.1.2
|
||||
|
||||
/debug@4.3.4(supports-color@8.1.1):
|
||||
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
|
||||
engines: {node: '>=6.0'}
|
||||
@@ -16705,7 +16733,7 @@ packages:
|
||||
/docsify-server-renderer@4.13.1:
|
||||
resolution: {integrity: sha512-XNJeCK3zp+mVO7JZFn0bH4hNBAMMC1MbuCU7CBsjLHYn4NHrjIgCBGmylzEan3/4Qm6kbSzQx8XzUK5T7GQxHw==}
|
||||
dependencies:
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
debug: 4.3.4
|
||||
docsify: 4.13.1
|
||||
node-fetch: 2.7.0
|
||||
resolve-pathname: 3.0.0
|
||||
@@ -17470,7 +17498,7 @@ packages:
|
||||
/eslint-import-resolver-node@0.3.9:
|
||||
resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
|
||||
dependencies:
|
||||
debug: 3.2.7(supports-color@8.1.1)
|
||||
debug: 3.2.7
|
||||
is-core-module: 2.13.0
|
||||
resolve: 1.22.4
|
||||
transitivePeerDependencies:
|
||||
@@ -17483,10 +17511,10 @@ packages:
|
||||
eslint: '*'
|
||||
eslint-plugin-import: '*'
|
||||
dependencies:
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
debug: 4.3.4
|
||||
enhanced-resolve: 5.15.0
|
||||
eslint: 8.49.0
|
||||
eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.49.0)
|
||||
eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.49.0)
|
||||
eslint-plugin-import: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.49.0)
|
||||
get-tsconfig: 4.7.0
|
||||
globby: 13.2.2
|
||||
@@ -17550,13 +17578,41 @@ packages:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/parser': 5.62.0(eslint@8.49.0)(typescript@4.9.5)
|
||||
debug: 3.2.7(supports-color@8.1.1)
|
||||
debug: 3.2.7
|
||||
eslint: 8.49.0
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.28.1)(eslint@8.49.0)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
/eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.49.0):
|
||||
resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
|
||||
engines: {node: '>=4'}
|
||||
peerDependencies:
|
||||
'@typescript-eslint/parser': '*'
|
||||
eslint: '*'
|
||||
eslint-import-resolver-node: '*'
|
||||
eslint-import-resolver-typescript: '*'
|
||||
eslint-import-resolver-webpack: '*'
|
||||
peerDependenciesMeta:
|
||||
'@typescript-eslint/parser':
|
||||
optional: true
|
||||
eslint:
|
||||
optional: true
|
||||
eslint-import-resolver-node:
|
||||
optional: true
|
||||
eslint-import-resolver-typescript:
|
||||
optional: true
|
||||
eslint-import-resolver-webpack:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/parser': 5.62.0(eslint@8.49.0)(typescript@4.9.5)
|
||||
debug: 3.2.7
|
||||
eslint: 8.49.0
|
||||
eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.28.1)(eslint@8.49.0)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
/eslint-plugin-filenames-simple@0.8.0(eslint@8.49.0):
|
||||
resolution: {integrity: sha512-8+uBzNBE5gSUMQv7bmMBiOD26eKzD4/5flPtD5Vl3dzZLXotSwXK3W7ZZqKQfU0Qyoborh+LqbN76EfmbBcU8A==}
|
||||
engines: {node: ^14.17.0 || ^16.0.0 || ^18.0.0}
|
||||
@@ -17659,7 +17715,7 @@ packages:
|
||||
array.prototype.findlastindex: 1.2.2
|
||||
array.prototype.flat: 1.3.1
|
||||
array.prototype.flatmap: 1.3.1
|
||||
debug: 3.2.7(supports-color@8.1.1)
|
||||
debug: 3.2.7
|
||||
doctrine: 2.1.0
|
||||
eslint: 8.49.0
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
@@ -17721,7 +17777,7 @@ packages:
|
||||
'@es-joy/jsdoccomment': 0.39.4
|
||||
are-docs-informative: 0.0.2
|
||||
comment-parser: 1.3.1
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
debug: 4.3.4
|
||||
escape-string-regexp: 4.0.0
|
||||
eslint: 8.49.0
|
||||
esquery: 1.5.0
|
||||
@@ -18016,7 +18072,7 @@ packages:
|
||||
ajv: 6.12.6
|
||||
chalk: 4.1.2
|
||||
cross-spawn: 7.0.3
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
debug: 4.3.4
|
||||
doctrine: 3.0.0
|
||||
escape-string-regexp: 4.0.0
|
||||
eslint-scope: 7.2.2
|
||||
@@ -18491,7 +18547,7 @@ packages:
|
||||
|
||||
/fast-copy@3.0.1:
|
||||
resolution: {integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==}
|
||||
dev: true
|
||||
dev: false
|
||||
|
||||
/fast-decode-uri-component@1.0.1:
|
||||
resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==}
|
||||
@@ -18945,7 +19001,7 @@ packages:
|
||||
debug:
|
||||
optional: true
|
||||
dependencies:
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
debug: 4.3.4
|
||||
|
||||
/for-each@0.3.3:
|
||||
resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
|
||||
@@ -20656,7 +20712,7 @@ packages:
|
||||
dependencies:
|
||||
glob: 8.1.0
|
||||
readable-stream: 3.6.2
|
||||
dev: true
|
||||
dev: false
|
||||
|
||||
/hexoid@1.0.0:
|
||||
resolution: {integrity: sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==}
|
||||
@@ -21044,7 +21100,7 @@ packages:
|
||||
engines: {node: '>= 6'}
|
||||
dependencies:
|
||||
agent-base: 6.0.2
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
debug: 4.3.4
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
@@ -21987,7 +22043,7 @@ packages:
|
||||
resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
debug: 4.3.4
|
||||
istanbul-lib-coverage: 3.2.0
|
||||
source-map: 0.6.1
|
||||
transitivePeerDependencies:
|
||||
@@ -23199,7 +23255,7 @@ packages:
|
||||
/joycon@3.1.1:
|
||||
resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
|
||||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
dev: false
|
||||
|
||||
/jquery@3.7.1:
|
||||
resolution: {integrity: sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==}
|
||||
@@ -23371,7 +23427,7 @@ packages:
|
||||
resolution: {integrity: sha512-pJ4XLQP4Q9HTxl6RVDLJ8Cyh1uitSs0CzDBAz1uoJ4sRD/Bk7cFSXL1FUXDW3zJ7YnfliJx6eu8Jn283bpZ4Yg==}
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
debug: 4.3.4
|
||||
rfdc: 1.3.0
|
||||
uri-js: 4.4.1
|
||||
transitivePeerDependencies:
|
||||
@@ -23668,7 +23724,7 @@ packages:
|
||||
cli-truncate: 3.1.0
|
||||
colorette: 2.0.20
|
||||
commander: 9.5.0
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
debug: 4.3.4
|
||||
execa: 6.1.0
|
||||
lilconfig: 2.0.6
|
||||
listr2: 5.0.8
|
||||
@@ -26313,6 +26369,7 @@ packages:
|
||||
|
||||
/on-exit-leak-free@2.1.0:
|
||||
resolution: {integrity: sha512-VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w==}
|
||||
dev: false
|
||||
|
||||
/on-finished@2.3.0:
|
||||
resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==}
|
||||
@@ -27053,6 +27110,7 @@ packages:
|
||||
dependencies:
|
||||
readable-stream: 4.4.2
|
||||
split2: 4.2.0
|
||||
dev: false
|
||||
|
||||
/pino-pretty@10.2.0:
|
||||
resolution: {integrity: sha512-tRvpyEmGtc2D+Lr3FulIZ+R1baggQ4S3xD2Ar93KixFEDx6SEAUP3W5aYuEw1C73d6ROrNcB2IXLteW8itlwhA==}
|
||||
@@ -27072,7 +27130,7 @@ packages:
|
||||
secure-json-parse: 2.7.0
|
||||
sonic-boom: 3.3.0
|
||||
strip-json-comments: 3.1.1
|
||||
dev: true
|
||||
dev: false
|
||||
|
||||
/pino-std-serializers@6.2.2:
|
||||
resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==}
|
||||
@@ -29329,6 +29387,7 @@ packages:
|
||||
events: 3.3.0
|
||||
process: 0.11.10
|
||||
string_decoder: 1.3.0
|
||||
dev: false
|
||||
|
||||
/readable-web-to-node-stream@3.0.2:
|
||||
resolution: {integrity: sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==}
|
||||
@@ -30369,6 +30428,7 @@ packages:
|
||||
|
||||
/secure-json-parse@2.7.0:
|
||||
resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==}
|
||||
dev: false
|
||||
|
||||
/select-hose@2.0.0:
|
||||
resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==}
|
||||
@@ -30863,6 +30923,7 @@ packages:
|
||||
resolution: {integrity: sha512-LYxp34KlZ1a2Jb8ZQgFCK3niIHzibdwtwNUWKg0qQRzsDoJ3Gfgkf8KdBTFU3SkejDEIlWwnSnpVdOZIhFMl/g==}
|
||||
dependencies:
|
||||
atomic-sleep: 1.0.0
|
||||
dev: false
|
||||
|
||||
/source-list-map@2.0.1:
|
||||
resolution: {integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==}
|
||||
@@ -31014,6 +31075,7 @@ packages:
|
||||
/split2@4.2.0:
|
||||
resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==}
|
||||
engines: {node: '>= 10.x'}
|
||||
dev: false
|
||||
|
||||
/split@0.3.3:
|
||||
resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==}
|
||||
@@ -31114,7 +31176,7 @@ packages:
|
||||
arg: 5.0.2
|
||||
bluebird: 3.7.2
|
||||
check-more-types: 2.24.0
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
debug: 4.3.4
|
||||
execa: 5.1.1
|
||||
lazy-ass: 1.6.0
|
||||
ps-tree: 1.2.0
|
||||
@@ -31721,7 +31783,7 @@ packages:
|
||||
dependencies:
|
||||
component-emitter: 1.3.0
|
||||
cookiejar: 2.1.4
|
||||
debug: 4.3.4(supports-color@8.1.1)
|
||||
debug: 4.3.4
|
||||
fast-safe-stringify: 2.1.1
|
||||
form-data: 4.0.0
|
||||
formidable: 2.1.2
|
||||
|
||||
@@ -79,7 +79,8 @@ FCC_ENABLE_SWAGGER_UI=true
|
||||
FCC_ENABLE_DEV_LOGIN_MODE=true
|
||||
|
||||
# Email
|
||||
EMAIL_PROVIDER=nodemailer # use ses in production
|
||||
# use ses in production
|
||||
EMAIL_PROVIDER=nodemailer
|
||||
# SES_ID needs to be empty for now, since the api-server will use SES in testing
|
||||
# if it is set.
|
||||
SES_ID=
|
||||
|
||||
Reference in New Issue
Block a user