@common-stack/generate-plugin 7.0.3-alpha.2 → 7.0.4-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/lib/generators/add-backend/files/_dockerignore +9 -0
- package/lib/generators/add-backend/files/_gitignore +13 -0
- package/lib/generators/add-backend/files/_npmignore +2 -0
- package/lib/generators/add-backend/files/_yarnrc +1 -0
- package/lib/generators/add-backend/files/package.json +1 -1
- package/lib/generators/add-backend/generator.cjs +6 -1
- package/lib/generators/add-backend/generator.cjs.map +1 -1
- package/lib/generators/add-backend/generator.mjs +6 -1
- package/lib/generators/add-backend/generator.mjs.map +1 -1
- package/lib/generators/add-frontend/generator.cjs +6 -1
- package/lib/generators/add-frontend/generator.cjs.map +1 -1
- package/lib/generators/add-frontend/generator.mjs +6 -1
- package/lib/generators/add-frontend/generator.mjs.map +1 -1
- package/lib/generators/add-frontend/templates/_dockerignore +13 -0
- package/lib/generators/add-frontend/templates/_gitignore +4 -0
- package/lib/generators/add-frontend/templates/_npmignore +2 -0
- package/lib/generators/add-frontend/templates/package.json +2 -2
- package/lib/generators/add-fullstack/files/_browserslistrc +3 -0
- package/{src/generators/add-fullstack/files/.eslintrc.js → lib/generators/add-fullstack/files/_eslintrc.js} +2 -5
- package/lib/generators/add-fullstack/files/_git-crypt/.gitattributes +4 -0
- package/lib/generators/add-fullstack/files/_git-crypt/keys/default/0/147885163DF27F4877B0BC14DE8C27DDE38F1E61.gpg +0 -0
- package/lib/generators/add-fullstack/files/_git-crypt/keys/default/0/49AB3942E38DB928ACF3905EC2DB4383B4A6E5EA.gpg +1 -0
- package/lib/generators/add-fullstack/files/_git-crypt/keys/default/0/49F363DC4362D3C17B2FE0091871B202236FD41B.gpg +0 -0
- package/lib/generators/add-fullstack/files/_git-crypt/keys/default/0/54EBB791640A664510494E416177B1BAA1083A88.gpg +0 -0
- package/lib/generators/add-fullstack/files/_git-crypt/keys/default/0/70961F6ECD8220394FD8AB555E94AC25CBCBA1A3.gpg +0 -0
- package/lib/generators/add-fullstack/files/_git-crypt/keys/default/0/EBA4B7A860BD152BF5F9F727F12B84D048062B79.gpg +0 -0
- package/lib/generators/add-fullstack/files/_gitignore +62 -0
- package/lib/generators/add-fullstack/files/_husky/pre-commit +4 -0
- package/lib/generators/add-fullstack/files/_husky/prepare-commit-msg +4 -0
- package/{src/generators/add-fullstack/files/.markdownlint.json → lib/generators/add-fullstack/files/_markdownlint.json} +1 -1
- package/lib/generators/add-fullstack/files/_npmrc +2 -0
- package/lib/generators/add-fullstack/files/lint-staged.config.js +2 -2
- package/lib/generators/add-fullstack/files/package.json +3 -9
- package/lib/generators/add-fullstack/generator.cjs +51 -20
- package/lib/generators/add-fullstack/generator.cjs.map +1 -1
- package/lib/generators/add-fullstack/generator.d.ts +1 -1
- package/lib/generators/add-fullstack/generator.mjs +45 -14
- package/lib/generators/add-fullstack/generator.mjs.map +1 -1
- package/lib/generators/add-fullstack/updates/{ignoreUpdate.cjs → fileBackup.cjs} +1 -1
- package/lib/generators/add-fullstack/updates/fileBackup.cjs.map +1 -0
- package/lib/generators/add-fullstack/updates/{ignoreUpdate.mjs → fileBackup.mjs} +1 -1
- package/lib/generators/add-fullstack/updates/fileBackup.mjs.map +1 -0
- package/lib/generators/add-fullstack/updates/gitAttributesSetup.cjs +17 -0
- package/lib/generators/add-fullstack/updates/gitAttributesSetup.cjs.map +1 -0
- package/lib/generators/add-fullstack/updates/gitAttributesSetup.d.ts +9 -0
- package/lib/generators/add-fullstack/updates/gitAttributesSetup.mjs +17 -0
- package/lib/generators/add-fullstack/updates/gitAttributesSetup.mjs.map +1 -0
- package/lib/generators/add-fullstack/updates/gitCryptSetup.cjs +70 -0
- package/lib/generators/add-fullstack/updates/gitCryptSetup.cjs.map +1 -0
- package/lib/generators/add-fullstack/updates/gitCryptSetup.d.ts +5 -0
- package/lib/generators/add-fullstack/updates/gitCryptSetup.mjs +70 -0
- package/lib/generators/add-fullstack/updates/gitCryptSetup.mjs.map +1 -0
- package/lib/generators/add-fullstack/updates/gitSetup.cjs +55 -0
- package/lib/generators/add-fullstack/updates/gitSetup.cjs.map +1 -0
- package/lib/generators/add-fullstack/updates/gitSetup.d.ts +9 -0
- package/lib/generators/add-fullstack/updates/gitSetup.mjs +55 -0
- package/lib/generators/add-fullstack/updates/gitSetup.mjs.map +1 -0
- package/lib/generators/add-fullstack/updates/htmlPluginUpdate.cjs +28 -1
- package/lib/generators/add-fullstack/updates/htmlPluginUpdate.cjs.map +1 -1
- package/lib/generators/add-fullstack/updates/htmlPluginUpdate.d.ts +1 -0
- package/lib/generators/add-fullstack/updates/htmlPluginUpdate.mjs +28 -1
- package/lib/generators/add-fullstack/updates/htmlPluginUpdate.mjs.map +1 -1
- package/lib/generators/add-fullstack/updates/huskySetup.cjs +71 -0
- package/lib/generators/add-fullstack/updates/huskySetup.cjs.map +1 -0
- package/lib/generators/add-fullstack/updates/huskySetup.d.ts +2 -0
- package/lib/generators/add-fullstack/updates/huskySetup.mjs +71 -0
- package/lib/generators/add-fullstack/updates/huskySetup.mjs.map +1 -0
- package/lib/generators/add-fullstack/updates/index.d.ts +13 -6
- package/lib/generators/add-fullstack/updates/jenkinsUpdate.cjs +44 -0
- package/lib/generators/add-fullstack/updates/jenkinsUpdate.cjs.map +1 -0
- package/lib/generators/add-fullstack/updates/jenkinsUpdate.mjs +44 -0
- package/lib/generators/add-fullstack/updates/jenkinsUpdate.mjs.map +1 -0
- package/lib/generators/add-fullstack/updates/{lernaJsonUpdate.cjs → lernaUpdate.cjs} +6 -7
- package/lib/generators/add-fullstack/updates/lernaUpdate.cjs.map +1 -0
- package/lib/generators/add-fullstack/updates/{lernaJsonUpdate.mjs → lernaUpdate.mjs} +6 -7
- package/lib/generators/add-fullstack/updates/lernaUpdate.mjs.map +1 -0
- package/lib/generators/add-fullstack/updates/licenseUpdate.cjs +1 -1
- package/lib/generators/add-fullstack/updates/licenseUpdate.cjs.map +1 -1
- package/lib/generators/add-fullstack/updates/licenseUpdate.mjs +1 -1
- package/lib/generators/add-fullstack/updates/licenseUpdate.mjs.map +1 -1
- package/lib/generators/add-fullstack/updates/npmAuthSetup.cjs +60 -0
- package/lib/generators/add-fullstack/updates/npmAuthSetup.cjs.map +1 -0
- package/lib/generators/add-fullstack/updates/npmAuthSetup.d.ts +5 -0
- package/lib/generators/add-fullstack/updates/npmAuthSetup.mjs +60 -0
- package/lib/generators/add-fullstack/updates/npmAuthSetup.mjs.map +1 -0
- package/lib/generators/add-fullstack/updates/nxSetup.cjs +81 -0
- package/lib/generators/add-fullstack/updates/nxSetup.cjs.map +1 -0
- package/lib/generators/add-fullstack/updates/nxSetup.d.ts +5 -0
- package/lib/generators/add-fullstack/updates/nxSetup.mjs +81 -0
- package/lib/generators/add-fullstack/updates/nxSetup.mjs.map +1 -0
- package/lib/generators/add-fullstack/updates/packageJsonUpdate.cjs +2 -34
- package/lib/generators/add-fullstack/updates/packageJsonUpdate.cjs.map +1 -1
- package/lib/generators/add-fullstack/updates/packageJsonUpdate.d.ts +0 -1
- package/lib/generators/add-fullstack/updates/packageJsonUpdate.mjs +2 -34
- package/lib/generators/add-fullstack/updates/packageJsonUpdate.mjs.map +1 -1
- package/lib/generators/add-fullstack/updates/repositoryUpdate.cjs +35 -0
- package/lib/generators/add-fullstack/updates/repositoryUpdate.cjs.map +1 -0
- package/lib/generators/add-fullstack/updates/repositoryUpdate.d.ts +2 -0
- package/lib/generators/add-fullstack/updates/repositoryUpdate.mjs +35 -0
- package/lib/generators/add-fullstack/updates/repositoryUpdate.mjs.map +1 -0
- package/lib/generators/add-moleculer/files/_gitignore +2 -0
- package/lib/generators/add-moleculer/files/package.json +5 -5
- package/lib/generators/add-moleculer/generator.cjs +30 -18
- package/lib/generators/add-moleculer/generator.cjs.map +1 -1
- package/lib/generators/add-moleculer/generator.d.ts +0 -1
- package/lib/generators/add-moleculer/generator.mjs +30 -18
- package/lib/generators/add-moleculer/generator.mjs.map +1 -1
- package/lib/generators/add-moleculer/schema.d.ts +6 -0
- package/lib/generators/add-package/files/browser/LICENSE +674 -0
- package/lib/generators/add-package/files/browser/_npmignore +2 -0
- package/lib/generators/add-package/files/browser/jest.config.js +8 -0
- package/lib/generators/add-package/files/browser/package.json +49 -0
- package/lib/generators/add-package/files/browser/rollup.config.mjs +29 -0
- package/lib/generators/add-package/files/browser/src/config/env-config.ts.template +9 -0
- package/lib/generators/add-package/files/browser/src/index.ts.template +4 -0
- package/lib/generators/add-package/files/browser/src/interfaces/index.ts.template +1 -0
- package/lib/generators/add-package/files/browser/src/interfaces/interfaces.ts.template +1 -0
- package/lib/generators/add-package/files/browser/src/module.tsx.template +7 -0
- package/lib/generators/add-package/files/browser/tsconfig.json +28 -0
- package/lib/generators/add-package/files/browser/webpack.config.js +71 -0
- package/lib/generators/add-package/files/client/LICENSE +674 -0
- package/lib/generators/add-package/files/client/_npmignore +2 -0
- package/lib/generators/add-package/files/client/jest.config.js +13 -0
- package/lib/generators/add-package/files/client/package.json +30 -0
- package/lib/generators/add-package/files/client/rollup.config.mjs +29 -0
- package/lib/generators/add-package/files/client/src/components/index.tsx.template +1 -0
- package/lib/generators/add-package/files/client/src/config/env-config.ts.template +9 -0
- package/lib/generators/add-package/files/client/src/index.ts.template +1 -0
- package/lib/generators/add-package/files/client/tsconfig.json +27 -0
- package/lib/generators/add-package/files/client/webpack.config.js +72 -0
- package/lib/generators/add-package/files/core/LICENSE +39 -0
- package/lib/generators/add-package/files/core/_npmignore +3 -0
- package/lib/generators/add-package/files/core/jest.config.js +3 -0
- package/lib/generators/add-package/files/core/package.json +30 -0
- package/lib/generators/add-package/files/core/rollup.config.mjs +65 -0
- package/lib/generators/add-package/files/core/src/cdm-locales/en/main.json +2 -0
- package/lib/generators/add-package/files/core/src/cdm-locales/es/common.json +2 -0
- package/lib/generators/add-package/files/core/src/cdm-locales/es/main.json +1 -0
- package/lib/generators/add-package/files/core/src/config/env-config.ts.template +9 -0
- package/lib/generators/add-package/files/core/src/constants/index.ts.template +1 -0
- package/lib/generators/add-package/files/core/src/constants/types.ts.template +3 -0
- package/lib/generators/add-package/files/core/src/index.ts.template +2 -0
- package/lib/generators/add-package/files/core/src/types/index.ts.template +1 -0
- package/lib/generators/add-package/files/core/src/types/types.ts.template +17 -0
- package/lib/generators/add-package/files/core/tsconfig.json +22 -0
- package/lib/generators/add-package/files/core/webpack.config.js +53 -0
- package/lib/generators/add-package/files/server/LICENSE +674 -0
- package/lib/generators/add-package/files/server/_npmignore +2 -0
- package/lib/generators/add-package/files/server/jest.config.js +32 -0
- package/lib/generators/add-package/files/server/package.json +78 -0
- package/lib/generators/add-package/files/server/rollup.config.mjs +30 -0
- package/lib/generators/add-package/files/server/src/config/env-config.ts.template +9 -0
- package/lib/generators/add-package/files/server/src/constants/constants.ts.template +62 -0
- package/lib/generators/add-package/files/server/src/constants/index.ts.template +1 -0
- package/lib/generators/add-package/files/server/src/constants/types.ts.template +21 -0
- package/lib/generators/add-package/files/server/src/index.ts.template +6 -0
- package/lib/generators/add-package/files/server/src/module.ts.template +6 -0
- package/lib/generators/add-package/files/server/tsconfig.json +27 -0
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +5 -5
- package/lib/index.mjs +1 -1
- package/lib/utils/copyDotfiles.cjs +86 -0
- package/lib/utils/copyDotfiles.cjs.map +1 -0
- package/lib/utils/copyDotfiles.d.ts +14 -0
- package/lib/utils/copyDotfiles.mjs +86 -0
- package/lib/utils/copyDotfiles.mjs.map +1 -0
- package/package.json +3 -3
- package/src/generators/add-backend/files/Dockerfile +28 -0
- package/src/generators/add-backend/files/LICENSE +661 -0
- package/src/generators/add-backend/files/README.md +133 -0
- package/src/generators/add-backend/files/__tests__/test.ts.template +96 -0
- package/src/generators/add-backend/files/_dockerignore +9 -0
- package/src/generators/add-backend/files/_gitignore +13 -0
- package/src/generators/add-backend/files/_npmignore +2 -0
- package/src/generators/add-backend/files/_yarnrc +1 -0
- package/src/generators/add-backend/files/babel.config.js +45 -0
- package/src/generators/add-backend/files/build.config.js +14 -0
- package/src/generators/add-backend/files/build.config.mjs +27 -0
- package/src/generators/add-backend/files/config.json +10 -0
- package/src/generators/add-backend/files/jest.config.js +27 -0
- package/src/generators/add-backend/files/package.json +82 -0
- package/src/generators/add-backend/files/src/api/root-schema.graphqls +109 -0
- package/src/generators/add-backend/files/src/config/env-config.ts.template +12 -0
- package/src/generators/add-backend/files/src/config/index.ts.template +1 -0
- package/src/generators/add-backend/files/src/env.ts.template +5 -0
- package/src/generators/add-backend/files/src/index.ts.template +56 -0
- package/src/generators/add-backend/files/src/modules/index.ts.template +17 -0
- package/src/generators/add-backend/files/src/service.ts.template +35 -0
- package/src/generators/add-backend/files/tsconfig.base.json +30 -0
- package/src/generators/add-backend/files/tsconfig.json +13 -0
- package/src/generators/add-backend/files/webpack.config.js +200 -0
- package/src/generators/add-backend/files/webpack.config.mjs +216 -0
- package/src/generators/add-backend/generator.ts +13 -4
- package/src/generators/add-frontend/generator.ts +8 -0
- package/src/generators/add-frontend/templates/CHANGELOG.md +72 -0
- package/src/generators/add-frontend/templates/Dockerfile +31 -0
- package/src/generators/add-frontend/templates/_browserslistrc +3 -0
- package/src/generators/add-frontend/templates/_dockerignore +13 -0
- package/src/generators/add-frontend/templates/_gitignore +4 -0
- package/src/generators/add-frontend/templates/_npmignore +2 -0
- package/src/generators/add-frontend/templates/codecept.json +28 -0
- package/src/generators/add-frontend/templates/config.json +5 -0
- package/src/generators/add-frontend/templates/env.d.ts.template +9 -0
- package/src/generators/add-frontend/templates/env.js +5 -0
- package/src/generators/add-frontend/templates/favicon.ico +0 -0
- package/src/generators/add-frontend/templates/jest.config.js +33 -0
- package/src/generators/add-frontend/templates/package.json +102 -0
- package/src/generators/add-frontend/templates/public/favicon.ico +0 -0
- package/src/generators/add-frontend/templates/server.js +78 -0
- package/src/generators/add-frontend/templates/src/config/public-config.ts.template +88 -0
- package/src/generators/add-frontend/templates/tools/checkQueryUsage.mjs +192 -0
- package/src/generators/add-frontend/templates/tools/mergeConfig.js +35 -0
- package/src/generators/add-frontend/templates/tsconfig.base.json +38 -0
- package/src/generators/add-frontend/templates/tsconfig.json +32 -0
- package/src/generators/add-frontend/templates/tsconfig.node.json +10 -0
- package/src/generators/add-frontend/templates/vite.config.ts.template +115 -0
- package/src/generators/add-fullstack/files/_browserslistrc +3 -0
- package/src/generators/add-fullstack/files/_eslintignore +3 -0
- package/src/generators/add-fullstack/files/_eslintrc.js +89 -0
- package/src/generators/add-fullstack/files/_git-crypt/.gitattributes +4 -0
- package/src/generators/add-fullstack/files/_git-crypt/keys/default/0/147885163DF27F4877B0BC14DE8C27DDE38F1E61.gpg +0 -0
- package/src/generators/add-fullstack/files/_git-crypt/keys/default/0/49AB3942E38DB928ACF3905EC2DB4383B4A6E5EA.gpg +1 -0
- package/src/generators/add-fullstack/files/_git-crypt/keys/default/0/49F363DC4362D3C17B2FE0091871B202236FD41B.gpg +0 -0
- package/src/generators/add-fullstack/files/_git-crypt/keys/default/0/54EBB791640A664510494E416177B1BAA1083A88.gpg +0 -0
- package/src/generators/add-fullstack/files/_git-crypt/keys/default/0/70961F6ECD8220394FD8AB555E94AC25CBCBA1A3.gpg +0 -0
- package/src/generators/add-fullstack/files/_git-crypt/keys/default/0/EBA4B7A860BD152BF5F9F727F12B84D048062B79.gpg +0 -0
- package/src/generators/add-fullstack/files/_gitattributes +5 -0
- package/src/generators/add-fullstack/files/_gitignore +62 -0
- package/src/generators/add-fullstack/files/_husky/pre-commit +4 -0
- package/src/generators/add-fullstack/files/_husky/prepare-commit-msg +4 -0
- package/src/generators/add-fullstack/files/_markdownlint.json +6 -0
- package/src/generators/add-fullstack/files/_markdownlintignore +5 -0
- package/src/generators/add-fullstack/files/_npmrc +2 -0
- package/src/generators/add-fullstack/files/_nxignore +8 -0
- package/src/generators/add-fullstack/files/lint-staged.config.js +2 -2
- package/src/generators/add-fullstack/files/package.json +3 -9
- package/src/generators/add-fullstack/generator.spec.ts +2 -0
- package/src/generators/add-fullstack/generator.ts +74 -20
- package/src/generators/add-fullstack/schema.d.ts +2 -2
- package/src/generators/add-fullstack/updates/gitAttributesSetup.ts +60 -0
- package/src/generators/add-fullstack/updates/gitCryptSetup.ts +77 -0
- package/src/generators/add-fullstack/updates/gitSetup.ts +63 -0
- package/src/generators/add-fullstack/updates/htmlPluginUpdate.ts +31 -0
- package/src/generators/add-fullstack/updates/huskySetup.ts +84 -0
- package/src/generators/add-fullstack/updates/index.ts +13 -6
- package/src/generators/add-fullstack/updates/jenkinsUpdate.ts +53 -0
- package/src/generators/add-fullstack/updates/{lernaJsonUpdate.ts → lernaUpdate.ts} +6 -7
- package/src/generators/add-fullstack/updates/licenseUpdate.ts +3 -3
- package/src/generators/add-fullstack/updates/npmAuthSetup.ts +76 -0
- package/src/generators/add-fullstack/updates/nxSetup.ts +95 -0
- package/src/generators/add-fullstack/updates/packageJsonUpdate.ts +4 -42
- package/src/generators/add-fullstack/updates/repositoryUpdate.ts +45 -0
- package/src/generators/add-moleculer/files/_dockerignore +6 -0
- package/src/generators/add-moleculer/files/_draftignore +4 -0
- package/src/generators/add-moleculer/files/_gitignore +2 -0
- package/src/generators/add-moleculer/files/package.json +5 -5
- package/src/generators/add-moleculer/generator.ts +42 -18
- package/src/generators/add-moleculer/schema.ts +6 -0
- package/src/generators/add-package/files/browser/LICENSE +674 -0
- package/src/generators/add-package/files/browser/_npmignore +2 -0
- package/src/generators/add-package/files/browser/jest.config.js +8 -0
- package/src/generators/add-package/files/browser/package.json +49 -0
- package/src/generators/add-package/files/browser/rollup.config.mjs +29 -0
- package/src/generators/add-package/files/browser/src/config/env-config.ts.template +9 -0
- package/src/generators/add-package/files/browser/src/index.ts.template +4 -0
- package/src/generators/add-package/files/browser/src/interfaces/index.ts.template +1 -0
- package/src/generators/add-package/files/browser/src/interfaces/interfaces.ts.template +1 -0
- package/src/generators/add-package/files/browser/src/module.tsx.template +7 -0
- package/src/generators/add-package/files/browser/tsconfig.json +28 -0
- package/src/generators/add-package/files/browser/webpack.config.js +71 -0
- package/src/generators/add-package/files/client/LICENSE +674 -0
- package/src/generators/add-package/files/client/_npmignore +2 -0
- package/src/generators/add-package/files/client/jest.config.js +13 -0
- package/src/generators/add-package/files/client/package.json +30 -0
- package/src/generators/add-package/files/client/rollup.config.mjs +29 -0
- package/src/generators/add-package/files/client/src/components/index.tsx.template +1 -0
- package/src/generators/add-package/files/client/src/config/env-config.ts.template +9 -0
- package/src/generators/add-package/files/client/src/index.ts.template +1 -0
- package/src/generators/add-package/files/client/tsconfig.json +27 -0
- package/src/generators/add-package/files/client/webpack.config.js +72 -0
- package/src/generators/add-package/files/core/LICENSE +39 -0
- package/src/generators/add-package/files/core/_npmignore +3 -0
- package/src/generators/add-package/files/core/jest.config.js +3 -0
- package/src/generators/add-package/files/core/package.json +30 -0
- package/src/generators/add-package/files/core/rollup.config.mjs +65 -0
- package/src/generators/add-package/files/core/src/cdm-locales/en/main.json +2 -0
- package/src/generators/add-package/files/core/src/cdm-locales/es/common.json +2 -0
- package/src/generators/add-package/files/core/src/cdm-locales/es/main.json +1 -0
- package/src/generators/add-package/files/core/src/config/env-config.ts.template +9 -0
- package/src/generators/add-package/files/core/src/constants/index.ts.template +1 -0
- package/src/generators/add-package/files/core/src/constants/types.ts.template +3 -0
- package/src/generators/add-package/files/core/src/index.ts.template +2 -0
- package/src/generators/add-package/files/core/src/types/index.ts.template +1 -0
- package/src/generators/add-package/files/core/src/types/types.ts.template +17 -0
- package/src/generators/add-package/files/core/tsconfig.json +22 -0
- package/src/generators/add-package/files/core/webpack.config.js +53 -0
- package/src/generators/add-package/files/server/LICENSE +674 -0
- package/src/generators/add-package/files/server/_npmignore +2 -0
- package/src/generators/add-package/files/server/jest.config.js +32 -0
- package/src/generators/add-package/files/server/package.json +78 -0
- package/src/generators/add-package/files/server/rollup.config.mjs +30 -0
- package/src/generators/add-package/files/server/src/config/env-config.ts.template +9 -0
- package/src/generators/add-package/files/server/src/constants/constants.ts.template +62 -0
- package/src/generators/add-package/files/server/src/constants/index.ts.template +1 -0
- package/src/generators/add-package/files/server/src/constants/types.ts.template +21 -0
- package/src/generators/add-package/files/server/src/index.ts.template +6 -0
- package/src/generators/add-package/files/server/src/module.ts.template +6 -0
- package/src/generators/add-package/files/server/tsconfig.json +27 -0
- package/src/index.ts +7 -6
- package/src/utils/copyDotfiles.ts +96 -0
- package/lib/generators/add-fullstack/updates/ignoreUpdate.cjs.map +0 -1
- package/lib/generators/add-fullstack/updates/ignoreUpdate.mjs.map +0 -1
- package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.cjs +0 -37
- package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.cjs.map +0 -1
- package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.mjs +0 -37
- package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.mjs.map +0 -1
- package/lib/generators/add-fullstack/updates/lernaJsonUpdate.cjs.map +0 -1
- package/lib/generators/add-fullstack/updates/lernaJsonUpdate.mjs.map +0 -1
- package/src/generators/add-fullstack/files/.husky/pre-commit +0 -1
- package/src/generators/add-fullstack/files/.travis.yml +0 -18
- package/src/generators/add-fullstack/updates/jenkinsfileUpdate.ts +0 -49
- /package/{src/generators/add-fullstack/files/.browserslistrc → lib/generators/add-frontend/templates/_browserslistrc} +0 -0
- /package/{src/generators/add-fullstack/files/.eslintignore → lib/generators/add-fullstack/files/_eslintignore} +0 -0
- /package/{src/generators/add-fullstack/files/.gitattributes → lib/generators/add-fullstack/files/_gitattributes} +0 -0
- /package/{src/generators/add-fullstack/files/.markdownlintignore → lib/generators/add-fullstack/files/_markdownlintignore} +0 -0
- /package/{src/generators/add-fullstack/.nxignore → lib/generators/add-fullstack/files/_nxignore} +0 -0
- /package/lib/generators/add-fullstack/updates/{ignoreUpdate.d.ts → fileBackup.d.ts} +0 -0
- /package/lib/generators/add-fullstack/updates/{jenkinsfileUpdate.d.ts → jenkinsUpdate.d.ts} +0 -0
- /package/lib/generators/add-fullstack/updates/{lernaJsonUpdate.d.ts → lernaUpdate.d.ts} +0 -0
- /package/{src/generators/add-moleculer/files/.dockerignore → lib/generators/add-moleculer/files/_dockerignore} +0 -0
- /package/{src/generators/add-moleculer/files/.draftignore → lib/generators/add-moleculer/files/_draftignore} +0 -0
- /package/src/generators/add-fullstack/updates/{ignoreUpdate.ts → fileBackup.ts} +0 -0
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# webpack-apollo-server
|
|
2
|
+
Starter kit for apollo server using webpack and typescript
|
|
3
|
+
|
|
4
|
+
What does it include:
|
|
5
|
+
----
|
|
6
|
+
1. exported schema as example for GraphQL Schema
|
|
7
|
+
2. Working Apollo Server (webpack + tslint + tsloader)
|
|
8
|
+
3. Typescript 2.0.0 => ES6
|
|
9
|
+
4. Dockerfile to make the apollo-server a container.
|
|
10
|
+
5. unit testing (mocha-webpack+chai) + coverage report (mocha-istanbul-spec+istanbul).
|
|
11
|
+
6. working with graphql-tools
|
|
12
|
+
7. standard-version for auto SemVer.
|
|
13
|
+
|
|
14
|
+
Notes
|
|
15
|
+
----
|
|
16
|
+
Please note that you will need to rename the library name in some files:
|
|
17
|
+
|
|
18
|
+
1. package.json (ofcourse ;))
|
|
19
|
+
|
|
20
|
+
Useful commands:
|
|
21
|
+
----
|
|
22
|
+
yarn build - build the library files (Required for start:watch)
|
|
23
|
+
yarn build:watch - build the library files in watchmode (Useful for development)
|
|
24
|
+
npm test - run tests once
|
|
25
|
+
yarn test:watch - run tests in watchmode (Useful for development)
|
|
26
|
+
yarn test:growl - run tests in watchmode with growl notification (even more useful for development)
|
|
27
|
+
|
|
28
|
+
How to run it:
|
|
29
|
+
----
|
|
30
|
+
```bash
|
|
31
|
+
npm start
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Files explained:
|
|
35
|
+
----
|
|
36
|
+
1. src - directory is used for typescript code that is part of the project
|
|
37
|
+
1a. main.ts - Main server file. (Starting Apollo server)
|
|
38
|
+
1b. main.spec.ts - Tests file for main
|
|
39
|
+
1c. schema - Module used to build schema
|
|
40
|
+
- index.ts - simple logic to merge all modules into a schema using graphql-tools
|
|
41
|
+
- modules/ - directory for modules to be used with graphql-tools
|
|
42
|
+
1c. schema.spec.ts - Basic test for schema.
|
|
43
|
+
1c. main.test.ts - Main for tests runner.
|
|
44
|
+
3. package.json - file is used to describe the library
|
|
45
|
+
4. tsconfig.json - configuration file for the library compilation
|
|
46
|
+
6. tslint.json - configuration file for the linter
|
|
47
|
+
7. typings.json - typings needed for the server
|
|
48
|
+
8. webpack.config.js - configuration file of the compilation automation process for the library
|
|
49
|
+
9. webpack.config.test.js - configuration file of the compilation when testing
|
|
50
|
+
10. Dockerfile - Dockerfile used to describe how to make a container out of apollo server
|
|
51
|
+
11. mocha-webpack.opts - Options file for mocha-webpack
|
|
52
|
+
|
|
53
|
+
Output files explained:
|
|
54
|
+
----
|
|
55
|
+
1. node_modules - directory npm creates with all the dependencies of the module (result of yarn install)
|
|
56
|
+
2. dist - directory contains the compiled server (javascript)
|
|
57
|
+
3. html-report - output of npm test, code coverage html report.
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
Database
|
|
61
|
+
----
|
|
62
|
+
Connects to memory database through Knex
|
|
63
|
+
|
|
64
|
+
Database configuration is set in `db-config.json`
|
|
65
|
+
|
|
66
|
+
Setup
|
|
67
|
+
----
|
|
68
|
+
Create a database and fill the data
|
|
69
|
+
```
|
|
70
|
+
yarn db:seed
|
|
71
|
+
```
|
|
72
|
+
What files to be customized?
|
|
73
|
+
----
|
|
74
|
+
Customizable files for a specific project would be the following
|
|
75
|
+
```
|
|
76
|
+
src/container
|
|
77
|
+
src/middleware/graphql.ts
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
The Person type - dynamic/parametrized query and drill down:
|
|
81
|
+
----
|
|
82
|
+
The person type was added to demonstrate a database like access, parametrized queries, resolvers and drill down.
|
|
83
|
+
The data is currently hard coded but simulates a storage. Each person has an id, name and sex. It also has a dynamic
|
|
84
|
+
field called matches. For demonstration purposes, this field will retrieve all members of the other sex by using a
|
|
85
|
+
resolver.
|
|
86
|
+
|
|
87
|
+
Since this is a computed field the query can be infinitely nested, for example, try in the graphiql editor this query:
|
|
88
|
+
|
|
89
|
+
{
|
|
90
|
+
getPerson(id: "1") {
|
|
91
|
+
id,
|
|
92
|
+
name
|
|
93
|
+
sex
|
|
94
|
+
matches {
|
|
95
|
+
id
|
|
96
|
+
name
|
|
97
|
+
sex
|
|
98
|
+
matches {
|
|
99
|
+
id
|
|
100
|
+
name
|
|
101
|
+
sex
|
|
102
|
+
matches {
|
|
103
|
+
id
|
|
104
|
+
name
|
|
105
|
+
sex
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
It will return a nested, alternating male/femal results.
|
|
113
|
+
|
|
114
|
+
To list all persons, use the `persons` query:
|
|
115
|
+
|
|
116
|
+
{
|
|
117
|
+
persons {
|
|
118
|
+
id
|
|
119
|
+
name
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
There is also an example of a mutation - `addPerson(name: String, sex: String)`, to use it:
|
|
124
|
+
|
|
125
|
+
mutation {
|
|
126
|
+
addPerson(name: "kuku", sex: "male"){
|
|
127
|
+
id
|
|
128
|
+
name
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
Note that the query generates a random id and that the added persons are transient,
|
|
133
|
+
i.e. not persisted and will be gone once you shut down the server.
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { createServer } from "http";
|
|
2
|
+
import express from "express";
|
|
3
|
+
import { gql } from 'graphql';
|
|
4
|
+
import { ApolloServer } from '@apollo/server';
|
|
5
|
+
import { ApolloServerPluginDrainHttpServer, } from '@apollo/server/plugin/drainHttpServer';
|
|
6
|
+
import { PubSub } from "graphql-subscriptions";
|
|
7
|
+
import { makeExecutableSchema } from "@graphql-tools/schema";
|
|
8
|
+
import { WebSocketServer } from "ws";
|
|
9
|
+
import { useServer } from "graphql-ws/lib/use/ws";
|
|
10
|
+
|
|
11
|
+
const PORT = 8080;
|
|
12
|
+
const pubsub = new PubSub();
|
|
13
|
+
|
|
14
|
+
// Schema definition
|
|
15
|
+
const typeDefs = gql`
|
|
16
|
+
type Query {
|
|
17
|
+
currentNumber: Int
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
type Subscription {
|
|
21
|
+
numberIncremented: Int
|
|
22
|
+
}
|
|
23
|
+
`;
|
|
24
|
+
|
|
25
|
+
// Resolver map
|
|
26
|
+
const resolvers = {
|
|
27
|
+
Query: {
|
|
28
|
+
currentNumber() {
|
|
29
|
+
return currentNumber;
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
Subscription: {
|
|
33
|
+
numberIncremented: {
|
|
34
|
+
subscribe: () => pubsub.asyncIterator(["NUMBER_INCREMENTED"]),
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
// Create schema, which will be used separately by ApolloServer and
|
|
40
|
+
// the WebSocket server.
|
|
41
|
+
const schema = makeExecutableSchema({ typeDefs, resolvers });
|
|
42
|
+
console.log('--schema--', schema)
|
|
43
|
+
// Create an Express app and HTTP server; we will attach the WebSocket
|
|
44
|
+
// server and the ApolloServer to this HTTP server.
|
|
45
|
+
const app = express();
|
|
46
|
+
const httpServer = createServer(app);
|
|
47
|
+
|
|
48
|
+
// Set up WebSocket server.
|
|
49
|
+
const wsServer = new WebSocketServer({
|
|
50
|
+
server: httpServer,
|
|
51
|
+
path: "/graphql",
|
|
52
|
+
});
|
|
53
|
+
const serverCleanup = useServer({ schema }, wsServer);
|
|
54
|
+
|
|
55
|
+
// Set up ApolloServer.
|
|
56
|
+
const server = new ApolloServer({
|
|
57
|
+
schema,
|
|
58
|
+
plugins: [
|
|
59
|
+
// Proper shutdown for the HTTP server.
|
|
60
|
+
ApolloServerPluginDrainHttpServer({ httpServer }),
|
|
61
|
+
|
|
62
|
+
// Proper shutdown for the WebSocket server.
|
|
63
|
+
{
|
|
64
|
+
async serverWillStart() {
|
|
65
|
+
return {
|
|
66
|
+
async drainServer() {
|
|
67
|
+
await serverCleanup.dispose();
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
],
|
|
73
|
+
});
|
|
74
|
+
await server.start();
|
|
75
|
+
server.applyMiddleware({ app });
|
|
76
|
+
|
|
77
|
+
// Now that our HTTP server is fully set up, actually listen.
|
|
78
|
+
httpServer.listen(PORT, () => {
|
|
79
|
+
console.log(
|
|
80
|
+
`🚀 Query endpoint ready at http://localhost:${PORT}${server.graphqlPath}`
|
|
81
|
+
);
|
|
82
|
+
console.log(
|
|
83
|
+
`🚀 Subscription endpoint ready at ws://localhost:${PORT}${server.graphqlPath}`
|
|
84
|
+
);
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
// In the background, increment a number every second and notify subscribers when
|
|
88
|
+
// it changes.
|
|
89
|
+
let currentNumber = 0;
|
|
90
|
+
function incrementNumber() {
|
|
91
|
+
currentNumber++;
|
|
92
|
+
pubsub.publish("NUMBER_INCREMENTED", { numberIncremented: currentNumber });
|
|
93
|
+
setTimeout(incrementNumber, 10000);
|
|
94
|
+
}
|
|
95
|
+
// Start incrementing
|
|
96
|
+
incrementNumber();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
registry "https://registry.npmjs.org/"
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
process.env.ENV_FILE !== null && require('dotenv').config({ path: process.env.ENV_FILE });
|
|
2
|
+
|
|
3
|
+
module.exports = (api) => {
|
|
4
|
+
const isBabelRegister = api.caller((caller) => caller && caller.name === '@babel/register');
|
|
5
|
+
const isTest = api.env('test');
|
|
6
|
+
api.cache(true);
|
|
7
|
+
if (isTest || isBabelRegister) {
|
|
8
|
+
return {
|
|
9
|
+
presets: [
|
|
10
|
+
'@babel/preset-typescript',
|
|
11
|
+
'@babel/preset-react',
|
|
12
|
+
['@babel/preset-env', { targets: { node: true }, modules: 'commonjs' }],
|
|
13
|
+
],
|
|
14
|
+
plugins: [
|
|
15
|
+
'babel-plugin-dynamic-import-node',
|
|
16
|
+
'@babel/plugin-proposal-class-properties',
|
|
17
|
+
'@babel/plugin-proposal-optional-chaining',
|
|
18
|
+
'babel-plugin-import-graphql',
|
|
19
|
+
],
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
compact: false,
|
|
24
|
+
presets: [
|
|
25
|
+
'@babel/preset-typescript',
|
|
26
|
+
'@babel/preset-react',
|
|
27
|
+
['@babel/preset-env', { targets: { node: true }, modules: false }],
|
|
28
|
+
],
|
|
29
|
+
plugins: [
|
|
30
|
+
'babel-plugin-dynamic-import-node',
|
|
31
|
+
'@loadable/babel-plugin',
|
|
32
|
+
'@babel/plugin-transform-destructuring',
|
|
33
|
+
'@babel/plugin-transform-runtime',
|
|
34
|
+
['@babel/plugin-proposal-decorators', { legacy: true }],
|
|
35
|
+
'@babel/plugin-proposal-class-properties',
|
|
36
|
+
'@babel/plugin-proposal-object-rest-spread',
|
|
37
|
+
'@babel/plugin-proposal-optional-chaining',
|
|
38
|
+
],
|
|
39
|
+
env: {
|
|
40
|
+
production: {
|
|
41
|
+
compact: true,
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
process.env.ENV_FILE !== null && require('dotenv').config({ path: process.env.ENV_FILE });
|
|
2
|
+
const config = {
|
|
3
|
+
...require('../../build.config'),
|
|
4
|
+
__CLIENT__: false,
|
|
5
|
+
__SERVER__: true,
|
|
6
|
+
__DEV__: process.env.NODE_ENV !== 'production',
|
|
7
|
+
__TEST__: false,
|
|
8
|
+
'process.env.NODE_ENV': process.env.NODE_ENV || 'development',
|
|
9
|
+
__GRAPHQL_URL__: process.env.GRAPHQL_URL || '/graphql',
|
|
10
|
+
__CDN_URL__: process.env.CDN_URL || '',
|
|
11
|
+
__FRONTEND_BUILD_DIR__: process.env.FRONTEND_BUILD_DIR || '../frontend-server/dist/web',
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
module.exports = config;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
if (process.env.ENV_FILE !== null) {
|
|
2
|
+
import('dotenv').then(({ config }) =>
|
|
3
|
+
config({ path: process.env.ENV_FILE })
|
|
4
|
+
);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
const __API_SERVER_PORT__ = process.env.GRAPHQL_URL ? new URL(process.env.GRAPHQL_URL).port : 8080;
|
|
8
|
+
const __SERVER_PROTOCOL__ = 'http';
|
|
9
|
+
const __LOCAL_SERVER_HOST__ = 'localhost';
|
|
10
|
+
const __GRAPHQL_ENDPOINT__ = process.env.GRAPHQL_URL ? new URL(process.env.GRAPHQL_URL).pathname : '/graphql';
|
|
11
|
+
|
|
12
|
+
const config = {
|
|
13
|
+
__CLIENT__: false,
|
|
14
|
+
__SERVER__: true,
|
|
15
|
+
__DEV__: process.env.NODE_ENV !== 'production',
|
|
16
|
+
__TEST__: false,
|
|
17
|
+
'process.env.NODE_ENV': process.env.NODE_ENV || 'development',
|
|
18
|
+
__GRAPHQL_URL__: process.env.GRAPHQL_URL || '/graphql',
|
|
19
|
+
__CDN_URL__: process.env.CDN_URL || '',
|
|
20
|
+
__FRONTEND_BUILD_DIR__: process.env.FRONTEND_BUILD_DIR || '../frontend-server/dist/web',
|
|
21
|
+
__API_SERVER_PORT__,
|
|
22
|
+
__GRAPHQL_ENDPOINT__,
|
|
23
|
+
__LOCAL_SERVER_HOST__,
|
|
24
|
+
__API_URL__: process.env.API_URL || `${__SERVER_PROTOCOL__}://${__LOCAL_SERVER_HOST__}:${__API_SERVER_PORT__}${__GRAPHQL_ENDPOINT__}`,
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export default config;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
testMatch: [
|
|
3
|
+
'<rootDir>/modules/**/server-ts/**/*.test.[jt]s?(x)',
|
|
4
|
+
'<rootDir>/modules/**/common-react/**/*.test.[jt]s?(x)',
|
|
5
|
+
],
|
|
6
|
+
globalSetup: '<rootDir>/packages/server/src/__tests__/jestSetup.js',
|
|
7
|
+
rootDir: '../..',
|
|
8
|
+
resolver: './packages/server/jest.resolver',
|
|
9
|
+
transform: {
|
|
10
|
+
'\\.(gql|graphql)$': 'jest-transform-graphql',
|
|
11
|
+
'locales[\\/]index.[jt]s': '<rootDir>/jest-transform-i18next',
|
|
12
|
+
'.*': 'babel-jest',
|
|
13
|
+
},
|
|
14
|
+
moduleNameMapper: {
|
|
15
|
+
'^.+\\.(css|less|scss)$': 'babel-jest',
|
|
16
|
+
},
|
|
17
|
+
globals: {
|
|
18
|
+
__CLIENT__: false,
|
|
19
|
+
__SERVER__: true,
|
|
20
|
+
__DEV__: true,
|
|
21
|
+
__TEST__: true,
|
|
22
|
+
__SSR__: false,
|
|
23
|
+
__FRONTEND_BUILD_DIR__: `${__dirname}/../client/build`,
|
|
24
|
+
__API_URL__: '/graphql',
|
|
25
|
+
},
|
|
26
|
+
testEnvironment: 'node',
|
|
27
|
+
};
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "sample-stack-backend-server",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"private": true,
|
|
5
|
+
"description": "Starter kit for apollo server using webpack and typescript",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"apollo",
|
|
8
|
+
"apollo-server",
|
|
9
|
+
"backend",
|
|
10
|
+
"express",
|
|
11
|
+
"graphiql",
|
|
12
|
+
"graphql",
|
|
13
|
+
"typescript",
|
|
14
|
+
"webpack"
|
|
15
|
+
],
|
|
16
|
+
"homepage": "https://github.com/cdmbase/fullstack-pro#readme",
|
|
17
|
+
"bugs": {
|
|
18
|
+
"url": "https://github.com/cdmbase/fullstack-pro/issues"
|
|
19
|
+
},
|
|
20
|
+
"repository": {
|
|
21
|
+
"type": "git",
|
|
22
|
+
"url": "git+https://github.com/cdmbase/fullstack-pro.git"
|
|
23
|
+
},
|
|
24
|
+
"license": "MIT",
|
|
25
|
+
"author": "CDMBase LLC",
|
|
26
|
+
"main": "dist/index.js",
|
|
27
|
+
"typings": "dist/main.d.ts",
|
|
28
|
+
"scripts": {
|
|
29
|
+
"build": "cross-env NODE_ENV=production webpack --config webpack.config.js",
|
|
30
|
+
"build:clean": "rimraf dist .awcache",
|
|
31
|
+
"build:dev": "cross-env NODE_ENV=development ENV_FILE=../../config/development/dev.env webpack --config webpack.config.js",
|
|
32
|
+
"copycommon": "cp -r ../../packages/common .",
|
|
33
|
+
"db:migrate": "knex -- migrate:latest --cwd . --knexfile ./knexfile.js",
|
|
34
|
+
"db:migrate:rollback": "knex -- migrate:rollback --cwd . --knexfile ./knexfile.js",
|
|
35
|
+
"db:seed": "yarn db:migrate && knex -- seed:run --cwd . --knexfile ./knexfile.js",
|
|
36
|
+
"docker:build": "yarn copycommon && yarn build && docker build . -t $npm_package_name:$npm_package_version",
|
|
37
|
+
"docker:build:debug": "yarn build:debug && docker build . -t $npm_package_name:$npm_package_version",
|
|
38
|
+
"docker:run": "docker run --env-file ../../config/staging/docker-staging.env -p 8080:8080 -it $npm_package_name:$npm_package_version",
|
|
39
|
+
"docker:run:debug": "cross-env NODE_ENV=development docker run --env-file ../../config/staging/docker-staging.env -p 8080:8080 -it $npm_package_name:$npm_package_version",
|
|
40
|
+
"proddb:migrate": "NODE_ENV=production yarn db:migrate",
|
|
41
|
+
"proddb:migrate:rollback": "NODE_ENV=production yarn db:migrate:rollback",
|
|
42
|
+
"proddb:seed": "NODE_ENV=production yarn db:seed",
|
|
43
|
+
"prepublish": "yarn build:clean",
|
|
44
|
+
"stagedb:migrate": "cross-env ENV_FILE=../../config/test/test.env NODE_ENV=test yarn db:migrate",
|
|
45
|
+
"stagedb:migrate:rollback": "cross-env ENV_FILE=../../config/test/test.env NODE_ENV=test yarn db:migrate:rollback",
|
|
46
|
+
"stagedb:seed": "cross-env ENV_FILE=../../config/test/test.env NODE_ENV=test yarn db:seed",
|
|
47
|
+
"start": "cross-env NODE_ENV=production tsx dist/index.js",
|
|
48
|
+
"start:dev": "cross-env NODE_ENV=development ENV_FILE=../../config/development/dev.env tsx watch dist/index.js",
|
|
49
|
+
"start:staging": "cross-env NODE_ENV=staging ENV_FILE=../../config/staging/staging.env tsx dist/index.js",
|
|
50
|
+
"start:test": "cross-env NODE_ENV=test ENV_FILE=../../config/test/test.env tsx dist/index.js",
|
|
51
|
+
"test": "jest",
|
|
52
|
+
"test:notify": "yarn test:watch -- --notify",
|
|
53
|
+
"test:watch": "npm test -- --watch",
|
|
54
|
+
"preupver": "npm test",
|
|
55
|
+
"upver": "standard-version",
|
|
56
|
+
"watch": "cross-env NODE_ENV=development ENV_FILE=../../config/development/dev.env yarn build:dev && yarn start:dev",
|
|
57
|
+
"watch:staging": "cross-env NODE_ENV=test ENV_FILE=../../config/staging/staging.env yarn build && yarn start:stage",
|
|
58
|
+
"watch:test": "cross-env NODE_ENV=test ENV_FILE=../../config/test/test.env yarn build:test && yarn start:test"
|
|
59
|
+
},
|
|
60
|
+
"resolutions": {
|
|
61
|
+
"common": "link:./common",
|
|
62
|
+
"html-to-text": "^8.0.0"
|
|
63
|
+
},
|
|
64
|
+
"dependencies": {
|
|
65
|
+
"@apollo/client": "^3.9.0",
|
|
66
|
+
"@babel/runtime": "^7.20.1",
|
|
67
|
+
"@common-stack/server-stack": "7.0.4-alpha.0",
|
|
68
|
+
"@remix-run/node": "~2.10.1",
|
|
69
|
+
"lodash": "^4.17.15",
|
|
70
|
+
"react": "18.2.0"
|
|
71
|
+
},
|
|
72
|
+
"devDependencies": {
|
|
73
|
+
"cross-env": "^7.0.3",
|
|
74
|
+
"esbuild-loader": "^4.2.2",
|
|
75
|
+
"pm2": "^5.2.2",
|
|
76
|
+
"rimraf": "^3.0.2",
|
|
77
|
+
"tsx": "^4.7.0"
|
|
78
|
+
},
|
|
79
|
+
"typescript": {
|
|
80
|
+
"definition": "dist/main.d.ts"
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
scalar AnyObject
|
|
2
|
+
scalar Date
|
|
3
|
+
scalar Time
|
|
4
|
+
scalar DateTime
|
|
5
|
+
scalar Timestamp
|
|
6
|
+
scalar URI
|
|
7
|
+
scalar URIInput
|
|
8
|
+
scalar Observable
|
|
9
|
+
|
|
10
|
+
scalar JSON
|
|
11
|
+
scalar JSONObject
|
|
12
|
+
|
|
13
|
+
"""
|
|
14
|
+
An object with an ID.
|
|
15
|
+
"""
|
|
16
|
+
interface Node {
|
|
17
|
+
"""
|
|
18
|
+
The ID of the node.
|
|
19
|
+
"""
|
|
20
|
+
id: ID!
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
# Pagination information. See https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo.
|
|
24
|
+
type PageInfo {
|
|
25
|
+
# Whether there is a next page of nodes in the connection.
|
|
26
|
+
hasNextPage: Boolean!
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
"""
|
|
30
|
+
Represents a null return value.
|
|
31
|
+
"""
|
|
32
|
+
type EmptyResponse {
|
|
33
|
+
# A dummy null value.
|
|
34
|
+
alwaysNil: String
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
type FieldError {
|
|
38
|
+
field: String!
|
|
39
|
+
message: String!
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
input Sort{
|
|
43
|
+
key: String!,
|
|
44
|
+
value: SortEnum!,
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
enum SortEnum{
|
|
48
|
+
ASC,
|
|
49
|
+
DESC
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
type Query {
|
|
53
|
+
"""
|
|
54
|
+
Looks up a node by ID.
|
|
55
|
+
"""
|
|
56
|
+
node(id: ID!): Node
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
type Mutation {
|
|
60
|
+
dummy: Int
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
type Subscription {
|
|
64
|
+
dummy: Int
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
type AdminIdeSettings {
|
|
68
|
+
dummy: Int
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
""" All Moleculer Topic names are extended from this."""
|
|
72
|
+
enum MoleculerServiceName {
|
|
73
|
+
dummy
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
interface IResourceUtilizationSettings {
|
|
77
|
+
subTopic: String
|
|
78
|
+
adminApiNamespace: String
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
"""
|
|
82
|
+
Input geometry of the location.
|
|
83
|
+
List the `longitude` first and then `latitude`
|
|
84
|
+
- Validate longitude values are between `-180` and `180`
|
|
85
|
+
- Validate latitude values are between `-90` and `90`
|
|
86
|
+
"""
|
|
87
|
+
input GeoLocation_Input {
|
|
88
|
+
type: String = "Point"
|
|
89
|
+
coordinates: [Float]
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
type GeoLocation {
|
|
93
|
+
coordinates: [Float]
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
enum MailTemplateId {
|
|
97
|
+
dummy
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
enum MoleculerCronServiceName {
|
|
101
|
+
dummy
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
schema {
|
|
105
|
+
query: Query
|
|
106
|
+
mutation: Mutation
|
|
107
|
+
subscription: Subscription
|
|
108
|
+
}
|
|
109
|
+
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference path='../../../../typings/index.d.ts' />
|
|
2
|
+
import { str, cleanEnv } from 'envalid';
|
|
3
|
+
|
|
4
|
+
export const config = cleanEnv(process.env, {
|
|
5
|
+
NODE_ENV: str({ default: 'production', choices: ['production', 'staging', 'development', 'test'] }),
|
|
6
|
+
CONNECTION_ID: str({ devDefault: 'CONNECTION_ID' }),
|
|
7
|
+
NAMESPACE: str({ default: 'default' }),
|
|
8
|
+
ACTIVITY_NAMESPACE: str({ devDefault: 'default' }),
|
|
9
|
+
API_NAMESPACE: str({ devDefault: 'default' }),
|
|
10
|
+
ADMIN_API_NAMESPACE: str({ devDefault: 'default' }),
|
|
11
|
+
BACKEND_URL: str({ devDefault: __BACKEND_URL__ }),
|
|
12
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './env-config';
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/// <reference types="webpack-env" />
|
|
2
|
+
import './env';
|
|
3
|
+
import 'reflect-metadata';
|
|
4
|
+
import { logger } from '@cdm-logger/server';
|
|
5
|
+
import { Service } from './service';
|
|
6
|
+
|
|
7
|
+
declare let module: __WebpackModuleApi.Module;
|
|
8
|
+
|
|
9
|
+
process.on('uncaughtException', (ex) => {
|
|
10
|
+
logger.error(ex);
|
|
11
|
+
process.exit(1);
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
process.on('unhandledRejection', (reason) => {
|
|
15
|
+
logger.error(reason);
|
|
16
|
+
});
|
|
17
|
+
const service = new Service();
|
|
18
|
+
|
|
19
|
+
async function start() {
|
|
20
|
+
try {
|
|
21
|
+
await service.initialize();
|
|
22
|
+
await service.start();
|
|
23
|
+
} catch(err) {
|
|
24
|
+
console.error('START FAILED', err)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
}
|
|
28
|
+
// if (module.hot) {
|
|
29
|
+
// module.hot.status((event) => {
|
|
30
|
+
// if (event === 'abort' || event === 'fail') {
|
|
31
|
+
// logger.error(`HMR error status: ${event}`);
|
|
32
|
+
// // Signal webpack.run.js to do full-reload of the back-end
|
|
33
|
+
// service.gracefulShutdown(event);
|
|
34
|
+
// }
|
|
35
|
+
// // adddintionally when event is idle due to external modules
|
|
36
|
+
// if (event === 'idle') {
|
|
37
|
+
// service.gracefulShutdown(event);
|
|
38
|
+
// }
|
|
39
|
+
// });
|
|
40
|
+
// module.hot.accept();
|
|
41
|
+
// }
|
|
42
|
+
if (module.hot) {
|
|
43
|
+
module.hot.dispose((data) => {
|
|
44
|
+
// Shutdown server if changes to this module code are made
|
|
45
|
+
// So that it was started afresh
|
|
46
|
+
console.log('--data---', data);
|
|
47
|
+
try {
|
|
48
|
+
// if (service) {
|
|
49
|
+
// service.gracefulShutdown(null);
|
|
50
|
+
// }
|
|
51
|
+
} catch (error) {
|
|
52
|
+
logger.error(error.stack);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
start();
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import modules, { settings } from './module';
|
|
2
|
+
|
|
3
|
+
export default modules;
|
|
4
|
+
export { settings };
|
|
5
|
+
|
|
6
|
+
// export const updateContainers = (options) => {
|
|
7
|
+
// if (process.env.NODE_ENV !== 'development') {
|
|
8
|
+
// options.forEach(el => {
|
|
9
|
+
// hemera.act({
|
|
10
|
+
// topic: `UPDATE_CONTAINER_${el.toUpperCase()}`,
|
|
11
|
+
// cmd: `UPDATE_CONTAINER_${el.toUpperCase()}`,
|
|
12
|
+
// });
|
|
13
|
+
// });'
|
|
14
|
+
// } else {
|
|
15
|
+
// modules.createServiceContext(settings, options);
|
|
16
|
+
// }
|
|
17
|
+
// };
|