mirror of
https://fast.feibisi.com/https://github.com/parcelvoy/platform.git
synced 2025-08-28 11:46:02 +08:00
Adds Lerna and merges control plane repo (#52)
* Adds Lerna and merges control plane repo * Re-adds `npm run start` as access pattern * Fixes eslint rules for react * Tweaks to Dockerfiles * Tweak to test runner
This commit is contained in:
parent
02f75d034c
commit
5fe0bcbbef
338 changed files with 100229 additions and 13202 deletions
5
.dockerignore
Normal file
5
.dockerignore
Normal file
|
@ -0,0 +1,5 @@
|
|||
.git
|
||||
.DS_Store
|
||||
.env
|
||||
node_modules
|
||||
build
|
2
.github/workflows/test.yml
vendored
2
.github/workflows/test.yml
vendored
|
@ -65,7 +65,7 @@ jobs:
|
|||
run: npm install && npm install --save-dev
|
||||
|
||||
- name: 'Run Jest Tests'
|
||||
run: npm test
|
||||
run: npm run test -- --scope=platform
|
||||
env:
|
||||
NODE_ENV: test
|
||||
APP_SECRET: ${{ secrets.APP_SECRET }}
|
||||
|
|
93
LICENSE.txt
Normal file
93
LICENSE.txt
Normal file
|
@ -0,0 +1,93 @@
|
|||
Elastic License 2.0
|
||||
|
||||
URL: https://www.elastic.co/licensing/elastic-license
|
||||
|
||||
## Acceptance
|
||||
|
||||
By using the software, you agree to all of the terms and conditions below.
|
||||
|
||||
## Copyright License
|
||||
|
||||
The licensor grants you a non-exclusive, royalty-free, worldwide,
|
||||
non-sublicensable, non-transferable license to use, copy, distribute, make
|
||||
available, and prepare derivative works of the software, in each case subject to
|
||||
the limitations and conditions below.
|
||||
|
||||
## Limitations
|
||||
|
||||
You may not provide the software to third parties as a hosted or managed
|
||||
service, where the service provides users with access to any substantial set of
|
||||
the features or functionality of the software.
|
||||
|
||||
You may not move, change, disable, or circumvent the license key functionality
|
||||
in the software, and you may not remove or obscure any functionality in the
|
||||
software that is protected by the license key.
|
||||
|
||||
You may not alter, remove, or obscure any licensing, copyright, or other notices
|
||||
of the licensor in the software. Any use of the licensor’s trademarks is subject
|
||||
to applicable law.
|
||||
|
||||
## Patents
|
||||
|
||||
The licensor grants you a license, under any patent claims the licensor can
|
||||
license, or becomes able to license, to make, have made, use, sell, offer for
|
||||
sale, import and have imported the software, in each case subject to the
|
||||
limitations and conditions in this license. This license does not cover any
|
||||
patent claims that you cause to be infringed by modifications or additions to
|
||||
the software. If you or your company make any written claim that the software
|
||||
infringes or contributes to infringement of any patent, your patent license for
|
||||
the software granted under these terms ends immediately. If your company makes
|
||||
such a claim, your patent license ends immediately for work on behalf of your
|
||||
company.
|
||||
|
||||
## Notices
|
||||
|
||||
You must ensure that anyone who gets a copy of any part of the software from you
|
||||
also gets a copy of these terms.
|
||||
|
||||
If you modify the software, you must include in any modified copies of the
|
||||
software prominent notices stating that you have modified the software.
|
||||
|
||||
## No Other Rights
|
||||
|
||||
These terms do not imply any licenses other than those expressly granted in
|
||||
these terms.
|
||||
|
||||
## Termination
|
||||
|
||||
If you use the software in violation of these terms, such use is not licensed,
|
||||
and your licenses will automatically terminate. If the licensor provides you
|
||||
with a notice of your violation, and you cease all violation of this license no
|
||||
later than 30 days after you receive that notice, your licenses will be
|
||||
reinstated retroactively. However, if you violate these terms after such
|
||||
reinstatement, any additional violation of these terms will cause your licenses
|
||||
to terminate automatically and permanently.
|
||||
|
||||
## No Liability
|
||||
|
||||
*As far as the law allows, the software comes as is, without any warranty or
|
||||
condition, and the licensor will not be liable to you for any damages arising
|
||||
out of these terms or the use or nature of the software, under any kind of
|
||||
legal claim.*
|
||||
|
||||
## Definitions
|
||||
|
||||
The **licensor** is the entity offering these terms, and the **software** is the
|
||||
software the licensor makes available under these terms, including any portion
|
||||
of it.
|
||||
|
||||
**you** refers to the individual or entity agreeing to these terms.
|
||||
|
||||
**your company** is any legal entity, sole proprietorship, or other kind of
|
||||
organization that you work for, plus all organizations that have control over,
|
||||
are under the control of, or are under common control with that
|
||||
organization. **control** means ownership of substantially all the assets of an
|
||||
entity, or the power to direct its management and policies by vote, contract, or
|
||||
otherwise. Control can be direct or indirect.
|
||||
|
||||
**your licenses** are all the licenses granted to you for the software under
|
||||
these terms.
|
||||
|
||||
**use** means anything you do with the software requiring one of your licenses.
|
||||
|
||||
**trademark** means trademarks, service marks, and similar rights.
|
5
apps/platform/.dockerignore
Normal file
5
apps/platform/.dockerignore
Normal file
|
@ -0,0 +1,5 @@
|
|||
.git
|
||||
.DS_Store
|
||||
.env
|
||||
node_modules
|
||||
build
|
28
apps/platform/Dockerfile
Normal file
28
apps/platform/Dockerfile
Normal file
|
@ -0,0 +1,28 @@
|
|||
# --------------> The compiler image
|
||||
FROM node:16 AS compile
|
||||
WORKDIR /usr/src/app/apps/platform
|
||||
COPY ./tsconfig.base.json /usr/src/app
|
||||
COPY ./apps/platform ./
|
||||
RUN npm ci
|
||||
RUN npm run build
|
||||
|
||||
# --------------> The build image
|
||||
FROM node:16 AS build
|
||||
WORKDIR /usr/src/app
|
||||
COPY --from=compile /usr/src/app/apps/platform/package*.json ./
|
||||
COPY --from=compile /usr/src/app/apps/platform/build ./
|
||||
COPY --from=compile /usr/src/app/apps/platform/db ./db
|
||||
COPY --from=compile /usr/src/app/apps/platform/scripts ./scripts
|
||||
RUN npm ci --only=production
|
||||
|
||||
# --------------> The production image
|
||||
FROM node:16-alpine
|
||||
RUN apk add dumb-init
|
||||
ENV NODE_ENV="production"
|
||||
USER node
|
||||
WORKDIR /usr/src/app
|
||||
COPY --chown=node:node --from=build /usr/src/app ./
|
||||
RUN chmod 755 ./scripts/entrypoint.sh
|
||||
EXPOSE 3001
|
||||
ENTRYPOINT ["./scripts/entrypoint.sh", "--"]
|
||||
CMD ["dumb-init", "node", "index.js"]
|
0
global.d.ts → apps/platform/global.d.ts
vendored
0
global.d.ts → apps/platform/global.d.ts
vendored
22373
apps/platform/package-lock.json
generated
Normal file
22373
apps/platform/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
69
apps/platform/package.json
Normal file
69
apps/platform/package.json
Normal file
|
@ -0,0 +1,69 @@
|
|||
{
|
||||
"name": "platform",
|
||||
"version": "0.1.0",
|
||||
"dependencies": {
|
||||
"@apideck/better-ajv-errors": "^0.3.6",
|
||||
"@aws-sdk/client-s3": "^3.171.0",
|
||||
"@aws-sdk/client-ses": "^3.121.0",
|
||||
"@aws-sdk/client-sns": "^3.121.0",
|
||||
"@aws-sdk/client-sqs": "^3.171.0",
|
||||
"@aws-sdk/lib-storage": "^3.171.0",
|
||||
"@koa/cors": "^3.3.0",
|
||||
"@koa/router": "^11.0.1",
|
||||
"@ladjs/country-language": "^1.0.3",
|
||||
"@node-saml/node-saml": "github:node-saml/node-saml",
|
||||
"@rxfork/sqs-consumer": "^6.0.0",
|
||||
"ajv": "^8.11.0",
|
||||
"ajv-formats": "^2.1.1",
|
||||
"busboy": "^1.6.0",
|
||||
"csv-parse": "^5.3.3",
|
||||
"date-fns": "^2.29.2",
|
||||
"date-fns-tz": "^1.3.7",
|
||||
"dotenv": "^16.0.1",
|
||||
"handlebars": "^4.7.7",
|
||||
"handlebars-helpers": "^0.10.0",
|
||||
"handlebars-utils": "^1.0.6",
|
||||
"hashids": "^2.2.10",
|
||||
"jsonpath": "^1.1.1",
|
||||
"jsonwebtoken": "^8.5.1",
|
||||
"knex": "^2.3.0",
|
||||
"koa": "^2.13.4",
|
||||
"koa-body": "5.0.0",
|
||||
"koa-jwt": "^4.0.3",
|
||||
"mysql2": "^2.3.3",
|
||||
"node-pushnotifications": "^2.0.3",
|
||||
"node-schedule": "^2.1.0",
|
||||
"nodemailer": "^6.7.6",
|
||||
"openid-client": "^5.2.1",
|
||||
"pino": "^8.1.0",
|
||||
"pino-pretty": "^8.1.0"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "nodemon",
|
||||
"build": "tsc --build",
|
||||
"lint": "eslint --ext .ts --max-warnings 0 src/",
|
||||
"test": "jest --forceExit --testTimeout 10000",
|
||||
"migration:create": "node ./scripts/create-migration.mjs"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/busboy": "^1.5.0",
|
||||
"@types/jest": "^28.1.6",
|
||||
"@types/jsonpath": "^0.2.0",
|
||||
"@types/jsonwebtoken": "^8.5.9",
|
||||
"@types/koa__cors": "^3.3.0",
|
||||
"@types/koa__router": "^8.0.11",
|
||||
"@types/node": "^18.7.18",
|
||||
"@types/node-pushnotifications": "^1.0.4",
|
||||
"@types/node-schedule": "^2.1.0",
|
||||
"@types/nodemailer": "^6.4.4",
|
||||
"@typescript-eslint/eslint-plugin": "^5.30.5",
|
||||
"@typescript-eslint/parser": "^5.30.5",
|
||||
"eslint": "^8.19.0",
|
||||
"eslint-config-standard": "^17.0.0",
|
||||
"jest": "^28.1.3",
|
||||
"nodemon": "^2.0.19",
|
||||
"ts-jest": "^28.0.7",
|
||||
"ts-node": "^10.8.2",
|
||||
"typescript": "^4.9.3"
|
||||
}
|
||||
}
|
7
apps/platform/scripts/entrypoint.sh
Normal file
7
apps/platform/scripts/entrypoint.sh
Normal file
|
@ -0,0 +1,7 @@
|
|||
#!/bin/sh
|
||||
|
||||
## Migrate the database
|
||||
node ./migrate.js latest
|
||||
|
||||
# Hand off to the CMD
|
||||
exec "$@"
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue