@common-stack/generate-plugin 7.0.4-alpha.0 → 7.0.4-alpha.10
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 +40 -0
- package/lib/common/package-releases/package.json +1 -0
- package/lib/common/package-releases/package.json.cjs +1 -0
- package/lib/common/package-releases/package.json.cjs.map +1 -1
- package/lib/common/package-releases/package.json.mjs +1 -0
- package/lib/common/package-releases/package.json.mjs.map +1 -1
- 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/frameworks/antui/src/entry.client.tsx.template +7 -2
- package/lib/generators/add-frontend/frameworks/antui/src/root.tsx.template +2 -1
- package/lib/generators/add-frontend/generator.cjs +7 -2
- package/lib/generators/add-frontend/generator.cjs.map +1 -1
- package/lib/generators/add-frontend/generator.mjs +7 -2
- 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 +65 -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 +4 -10
- package/lib/generators/add-fullstack/files/rollup.config.base.mjs +45 -23
- package/lib/generators/add-fullstack/generator.cjs +57 -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 +51 -14
- package/lib/generators/add-fullstack/generator.mjs.map +1 -1
- package/lib/generators/add-fullstack/schema.d.ts +10 -0
- 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 +137 -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 +137 -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 +16 -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 +34 -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 +14 -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 +37 -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 +13 -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 +37 -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 +17 -0
- package/lib/generators/add-package/generator.cjs +53 -11
- package/lib/generators/add-package/generator.cjs.map +1 -1
- package/lib/generators/add-package/generator.d.ts +4 -1
- package/lib/generators/add-package/generator.mjs +53 -11
- package/lib/generators/add-package/generator.mjs.map +1 -1
- 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/common/package-releases/package.json +1 -0
- 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/frameworks/antui/src/entry.client.tsx.template +7 -2
- package/src/generators/add-frontend/frameworks/antui/src/root.tsx.template +2 -1
- package/src/generators/add-frontend/generator.ts +9 -1
- 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 +65 -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 +4 -10
- package/src/generators/add-fullstack/files/rollup.config.base.mjs +45 -23
- package/src/generators/add-fullstack/generator.spec.ts +2 -0
- package/src/generators/add-fullstack/generator.ts +80 -20
- package/src/generators/add-fullstack/schema.d.ts +2 -2
- package/src/generators/add-fullstack/schema.ts +10 -0
- 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 +145 -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 +16 -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 +34 -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 +14 -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 +37 -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 +13 -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 +37 -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 +17 -0
- package/src/generators/add-package/generator.ts +75 -17
- 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
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
1
|
+
export { updateJenkinsFile } from './jenkinsUpdate';
|
|
2
|
+
export { updatePackageJson } from './packageJsonUpdate';
|
|
3
|
+
export { backupLernaJson, restoreLernaJson } from './lernaUpdate';
|
|
4
|
+
export { updateLicense } from './licenseUpdate';
|
|
5
|
+
export { backupFiles, restoreFiles } from './fileBackup';
|
|
6
|
+
export { updateRepository } from './repositoryUpdate';
|
|
7
|
+
export { updateHtmlPlugin, renameDotFiles } from './htmlPluginUpdate';
|
|
8
|
+
export { setupGit, commitInitialFiles } from './gitSetup';
|
|
9
|
+
export { setupGitCrypt } from './gitCryptSetup';
|
|
10
|
+
export { setupHusky } from './huskySetup';
|
|
11
|
+
export { prepareGitAttributes, updateGitAttributes } from './gitAttributesSetup';
|
|
12
|
+
export { setupNpmAuth } from './npmAuthSetup';
|
|
13
|
+
export * from './nxSetup';
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Tree } from '@nx/devkit';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
|
|
4
|
+
export function updateJenkinsFile(tree: Tree, projectRoot: string, name: string) {
|
|
5
|
+
const filePath = path.join(projectRoot, 'Jenkinsfile');
|
|
6
|
+
const paramsToUpdate = {
|
|
7
|
+
BASE_NAMESPACE: name,
|
|
8
|
+
CONNECTION_ID: name,
|
|
9
|
+
WORKSPACE_ID: name,
|
|
10
|
+
UNIQUE_NAME: name,
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
if (tree.exists(filePath)) {
|
|
14
|
+
const jenkinsFileContent = tree.read(filePath).toString();
|
|
15
|
+
let labelExists = false;
|
|
16
|
+
|
|
17
|
+
const updatedContent = jenkinsFileContent.split('\n').map(line => {
|
|
18
|
+
// Check if the label is already defined and skip modifying it
|
|
19
|
+
if (line.includes('label') && line.includes('kubernetes')) {
|
|
20
|
+
labelExists = true;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// Update only the specified parameters
|
|
24
|
+
for (const param in paramsToUpdate) {
|
|
25
|
+
if (line.includes(`string(name: '${param}'`)) {
|
|
26
|
+
return line.replace(/defaultValue: '.*'/, `defaultValue: '${paramsToUpdate[param]}'`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return line;
|
|
30
|
+
}).join('\n');
|
|
31
|
+
|
|
32
|
+
let finalContent = updatedContent;
|
|
33
|
+
|
|
34
|
+
// Add missing parameters if they don't exist
|
|
35
|
+
Object.keys(paramsToUpdate).forEach(param => {
|
|
36
|
+
if (!finalContent.includes(`string(name: '${param}'`)) {
|
|
37
|
+
finalContent = finalContent.concat(
|
|
38
|
+
`string(name: '${param}', defaultValue: '${paramsToUpdate[param]}', description: '${param.replace(/_/g, ' ').toLowerCase()}')\n`
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
// Only write back to the file if we have made changes
|
|
44
|
+
if (!labelExists || Object.keys(paramsToUpdate).some(param => !finalContent.includes(`string(name: '${param}'`))) {
|
|
45
|
+
tree.write(filePath, finalContent);
|
|
46
|
+
console.log(`Updated Jenkinsfile with parameters for: ${name}`);
|
|
47
|
+
} else {
|
|
48
|
+
console.log('No changes needed in Jenkinsfile');
|
|
49
|
+
}
|
|
50
|
+
} else {
|
|
51
|
+
console.log('Jenkinsfile not found, skipping update');
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -19,15 +19,14 @@ export function backupLernaJson(tree: Tree, projectRoot: string) {
|
|
|
19
19
|
backup[param] = paramValue;
|
|
20
20
|
exists = true;
|
|
21
21
|
}
|
|
22
|
-
} else {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
exists = true;
|
|
26
|
-
}
|
|
22
|
+
} else if (lernaJson[param]) {
|
|
23
|
+
backup[param] = lernaJson[param];
|
|
24
|
+
exists = true;
|
|
27
25
|
}
|
|
28
26
|
}
|
|
29
27
|
|
|
30
28
|
if (exists) {
|
|
29
|
+
console.log('Backed up important values from lerna.json');
|
|
31
30
|
return backup;
|
|
32
31
|
}
|
|
33
32
|
}
|
|
@@ -39,7 +38,7 @@ export function restoreLernaJson(tree: Tree, projectRoot: string, backup: any) {
|
|
|
39
38
|
const lernaJsonPath = path.join(projectRoot, 'lerna.json');
|
|
40
39
|
if (backup && fs.existsSync(lernaJsonPath)) {
|
|
41
40
|
updateJson(tree, lernaJsonPath, (lernaJson: any) => {
|
|
42
|
-
Object.keys(backup).forEach(param => {
|
|
41
|
+
Object.keys(backup).forEach((param) => {
|
|
43
42
|
if (param.includes(':')) {
|
|
44
43
|
lernaJson = set(lernaJson, param.split(':'), backup[param]);
|
|
45
44
|
} else {
|
|
@@ -50,4 +49,4 @@ export function restoreLernaJson(tree: Tree, projectRoot: string, backup: any) {
|
|
|
50
49
|
});
|
|
51
50
|
console.log('Restored old values in lerna.json');
|
|
52
51
|
}
|
|
53
|
-
}
|
|
52
|
+
}
|
|
@@ -5,11 +5,11 @@ export function updateLicense(tree: Tree, projectRoot: string) {
|
|
|
5
5
|
const files = ['LICENSE-GNU', 'LICENSE-IST', 'LICENSE-MIT'];
|
|
6
6
|
const packageJsonPath = path.join(projectRoot, 'package.json');
|
|
7
7
|
const packageJson = readJson(tree, packageJsonPath);
|
|
8
|
-
|
|
8
|
+
|
|
9
9
|
if (packageJson.license) {
|
|
10
10
|
const fileName = `LICENSE-${packageJson.license.toUpperCase()}`;
|
|
11
|
-
|
|
12
|
-
files.forEach(file => {
|
|
11
|
+
|
|
12
|
+
files.forEach((file) => {
|
|
13
13
|
const filePath = path.join(projectRoot, file);
|
|
14
14
|
if (file === fileName) {
|
|
15
15
|
if (tree.exists(filePath)) {
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Tree } from '@nx/devkit';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
import * as fs from 'fs';
|
|
4
|
+
import * as readline from 'readline';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Prompts the user for npm auth token and updates the .npmrc file
|
|
8
|
+
*/
|
|
9
|
+
export async function setupNpmAuth(tree: Tree, projectRoot: string): Promise<void> {
|
|
10
|
+
try {
|
|
11
|
+
const npmrcPath = path.join(projectRoot, '.npmrc');
|
|
12
|
+
|
|
13
|
+
// Check if .npmrc exists after rename from _npmrc
|
|
14
|
+
if (!fs.existsSync(npmrcPath)) {
|
|
15
|
+
console.log('.npmrc file not found. It may not have been properly renamed from _npmrc.');
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// Create readline interface for user input
|
|
20
|
+
const rl = readline.createInterface({
|
|
21
|
+
input: process.stdin,
|
|
22
|
+
output: process.stdout
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
console.log('\nNPM Authentication Setup');
|
|
26
|
+
console.log('========================');
|
|
27
|
+
console.log('This project requires an npm authentication token.');
|
|
28
|
+
console.log('You can generate a token from https://www.npmjs.com/settings/[username]/tokens');
|
|
29
|
+
console.log('Press Enter to skip if you do not have a token yet.');
|
|
30
|
+
|
|
31
|
+
// Prompt for the auth token and wait for the user to complete their input
|
|
32
|
+
const token = await new Promise<string>((resolve) => {
|
|
33
|
+
rl.question('Enter your npm auth token: ', (answer) => {
|
|
34
|
+
console.log(''); // Add a line break after input
|
|
35
|
+
resolve(answer.trim());
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
// Explicitly close the readline interface
|
|
40
|
+
rl.close();
|
|
41
|
+
|
|
42
|
+
// Wait for the close event to ensure we don't proceed before input is complete
|
|
43
|
+
await new Promise(resolve => rl.on('close', resolve));
|
|
44
|
+
|
|
45
|
+
if (!token) {
|
|
46
|
+
console.log('No token provided, keeping existing .npmrc configuration');
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// Read current .npmrc content
|
|
51
|
+
let npmrcContent = fs.readFileSync(npmrcPath, 'utf8');
|
|
52
|
+
|
|
53
|
+
// Check if token is already set
|
|
54
|
+
if (npmrcContent.includes('//registry.npmjs.org/:_authToken=')) {
|
|
55
|
+
// Replace existing token
|
|
56
|
+
npmrcContent = npmrcContent.replace(
|
|
57
|
+
/\/\/registry\.npmjs\.org\/:_authToken=.*/,
|
|
58
|
+
`//registry.npmjs.org/:_authToken=${token}`
|
|
59
|
+
);
|
|
60
|
+
} else {
|
|
61
|
+
// Add token if it doesn't exist
|
|
62
|
+
npmrcContent += `\n//registry.npmjs.org/:_authToken=${token}\n`;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// Write updated content
|
|
66
|
+
fs.writeFileSync(npmrcPath, npmrcContent);
|
|
67
|
+
console.log('Updated .npmrc with authentication token');
|
|
68
|
+
|
|
69
|
+
// Inform about git-crypt encryption
|
|
70
|
+
console.log('Note: The .npmrc file is configured to be encrypted by git-crypt');
|
|
71
|
+
console.log(' The token will be encrypted when committed to the repository');
|
|
72
|
+
|
|
73
|
+
} catch (error) {
|
|
74
|
+
console.error('Error setting up npm authentication:', error);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { Tree, updateJson } from '@nx/devkit';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
import * as readline from 'readline';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Sets up Nx configuration with optional AWS credentials
|
|
7
|
+
*/
|
|
8
|
+
export async function setupNxConfig(tree: Tree, projectRoot: string) {
|
|
9
|
+
console.log('\nAWS Configuration for Nx Cache');
|
|
10
|
+
console.log('=============================');
|
|
11
|
+
console.log('This project uses AWS S3 for remote caching with Nx.');
|
|
12
|
+
console.log('Please provide your AWS credentials or press Enter to skip for now.');
|
|
13
|
+
|
|
14
|
+
// Basic configuration without AWS credentials
|
|
15
|
+
const basicConfig = {
|
|
16
|
+
tasksRunnerOptions: {
|
|
17
|
+
default: {
|
|
18
|
+
runner: 'nx/tasks-runners/default',
|
|
19
|
+
options: {
|
|
20
|
+
cacheableOperations: ['build', 'test', 'lint'],
|
|
21
|
+
accessibleHosts: ['https://registry.npmjs.org'],
|
|
22
|
+
useDaemonProcess: false,
|
|
23
|
+
parallel: 3,
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const nxJsonPath = path.join(projectRoot, 'nx.json');
|
|
30
|
+
|
|
31
|
+
// Safe prompt function with timeout that returns a string
|
|
32
|
+
const askWithTimeout = (rl: readline.Interface, question: string, timeoutMs = 10000): Promise<string> => {
|
|
33
|
+
return new Promise<string>((resolve) => {
|
|
34
|
+
let resolved = false;
|
|
35
|
+
|
|
36
|
+
const timeout = setTimeout(() => {
|
|
37
|
+
if (!resolved) {
|
|
38
|
+
resolved = true;
|
|
39
|
+
console.log(`\nTimeout waiting for input. Skipping.`);
|
|
40
|
+
resolve('');
|
|
41
|
+
}
|
|
42
|
+
}, timeoutMs);
|
|
43
|
+
|
|
44
|
+
rl.question(question, (answer: string) => {
|
|
45
|
+
if (!resolved) {
|
|
46
|
+
resolved = true;
|
|
47
|
+
clearTimeout(timeout);
|
|
48
|
+
resolve(answer);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
let rl: readline.Interface | undefined;
|
|
55
|
+
try {
|
|
56
|
+
rl = readline.createInterface({
|
|
57
|
+
input: process.stdin,
|
|
58
|
+
output: process.stdout,
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
// Ask for AWS credentials with timeouts
|
|
62
|
+
const accessKeyId = await askWithTimeout(rl, 'AWS Access Key ID (press Enter to skip): ');
|
|
63
|
+
|
|
64
|
+
// If user skips, create basic config
|
|
65
|
+
if (!accessKeyId || accessKeyId === '') {
|
|
66
|
+
console.log('Skipping AWS configuration. Creating basic nx.json.');
|
|
67
|
+
// Check if nx.json exists and update or create
|
|
68
|
+
if (tree.exists(nxJsonPath)) {
|
|
69
|
+
updateJson(tree, nxJsonPath, (json) => {
|
|
70
|
+
if (!json.tasksRunnerOptions) {
|
|
71
|
+
json.tasksRunnerOptions = basicConfig.tasksRunnerOptions;
|
|
72
|
+
}
|
|
73
|
+
return json;
|
|
74
|
+
});
|
|
75
|
+
} else {
|
|
76
|
+
tree.write(nxJsonPath, JSON.stringify(basicConfig, null, 2));
|
|
77
|
+
}
|
|
78
|
+
} else {
|
|
79
|
+
// Get remaining AWS info
|
|
80
|
+
const secretAccessKey = await askWithTimeout(rl, 'AWS Secret Access Key: ');
|
|
81
|
+
const region = (await askWithTimeout(rl, 'AWS Region (default: us-east-1): ')) || 'us-east-1';
|
|
82
|
+
const bucketName = await askWithTimeout(rl, 'AWS S3 Bucket Name: ');
|
|
83
|
+
|
|
84
|
+
// Only add AWS config if all fields are provided
|
|
85
|
+
if (secretAccessKey && bucketName) {
|
|
86
|
+
// Use type assertion to avoid TypeScript errors
|
|
87
|
+
const awsConfig = { ...basicConfig };
|
|
88
|
+
// Use "as any" to bypass type checking
|
|
89
|
+
(awsConfig.tasksRunnerOptions.default.options as any) = {
|
|
90
|
+
...awsConfig.tasksRunnerOptions.default.options,
|
|
91
|
+
cacheDirectory: '.nx/cache',
|
|
92
|
+
remoteCache: {
|
|
93
|
+
s3: {
|
|
94
|
+
accessKeyId,
|
|
95
|
+
secretAccessKey,
|
|
96
|
+
region,
|
|
97
|
+
bucketName,
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
// Update or create nx.json with AWS config
|
|
103
|
+
if (tree.exists(nxJsonPath)) {
|
|
104
|
+
updateJson(tree, nxJsonPath, () => awsConfig);
|
|
105
|
+
console.log('Updated nx.json with AWS configuration.');
|
|
106
|
+
} else {
|
|
107
|
+
tree.write(nxJsonPath, JSON.stringify(awsConfig, null, 2));
|
|
108
|
+
console.log('Created nx.json with AWS configuration.');
|
|
109
|
+
}
|
|
110
|
+
} else {
|
|
111
|
+
console.log('Incomplete AWS information. Creating basic nx.json.');
|
|
112
|
+
// Create basic config without AWS
|
|
113
|
+
if (tree.exists(nxJsonPath)) {
|
|
114
|
+
updateJson(tree, nxJsonPath, (json) => {
|
|
115
|
+
if (!json.tasksRunnerOptions) {
|
|
116
|
+
json.tasksRunnerOptions = basicConfig.tasksRunnerOptions;
|
|
117
|
+
}
|
|
118
|
+
return json;
|
|
119
|
+
});
|
|
120
|
+
} else {
|
|
121
|
+
tree.write(nxJsonPath, JSON.stringify(basicConfig, null, 2));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
} catch (error) {
|
|
126
|
+
console.error('Error setting up Nx configuration:', error);
|
|
127
|
+
// Fallback to basic config
|
|
128
|
+
if (tree.exists(nxJsonPath)) {
|
|
129
|
+
updateJson(tree, nxJsonPath, (json) => {
|
|
130
|
+
if (!json.tasksRunnerOptions) {
|
|
131
|
+
json.tasksRunnerOptions = basicConfig.tasksRunnerOptions;
|
|
132
|
+
}
|
|
133
|
+
return json;
|
|
134
|
+
});
|
|
135
|
+
} else {
|
|
136
|
+
tree.write(nxJsonPath, JSON.stringify(basicConfig, null, 2));
|
|
137
|
+
}
|
|
138
|
+
} finally {
|
|
139
|
+
// Ensure readline interface is closed
|
|
140
|
+
if (rl) {
|
|
141
|
+
rl.close();
|
|
142
|
+
}
|
|
143
|
+
console.log('Nx configuration setup complete.');
|
|
144
|
+
}
|
|
145
|
+
}
|
|
@@ -1,52 +1,14 @@
|
|
|
1
1
|
import { Tree, updateJson } from '@nx/devkit';
|
|
2
2
|
import * as path from 'path';
|
|
3
|
-
import { convertHttpsToSsh } from '../../../utils';
|
|
4
3
|
|
|
5
4
|
export function updatePackageJson(tree: Tree, projectRoot: string, json: any) {
|
|
6
5
|
const packageJsonPath = path.join(projectRoot, 'package.json');
|
|
7
|
-
|
|
6
|
+
|
|
8
7
|
updateJson(tree, packageJsonPath, (packageJson: any) => {
|
|
9
|
-
Object.entries(json).reduce((acc, [key, value]) => {
|
|
10
|
-
acc[key] = value;
|
|
11
|
-
return acc;
|
|
8
|
+
Object.entries(json).reduce((acc, [key, value]) => {
|
|
9
|
+
acc[key] = value;
|
|
10
|
+
return acc;
|
|
12
11
|
}, packageJson);
|
|
13
12
|
return packageJson;
|
|
14
13
|
});
|
|
15
14
|
}
|
|
16
|
-
|
|
17
|
-
export function updateRepository(tree: Tree, projectRoot: string, repository: string) {
|
|
18
|
-
if (repository.startsWith('http://')) {
|
|
19
|
-
repository = repository.replace('http://', 'https://');
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
// update in package.json
|
|
23
|
-
updatePackageJson(tree, projectRoot, {
|
|
24
|
-
"homepage": `${repository}#readme`,
|
|
25
|
-
"bugs": {
|
|
26
|
-
"url": `${repository}/issues`
|
|
27
|
-
},
|
|
28
|
-
"repository": {
|
|
29
|
-
"type": "git",
|
|
30
|
-
"url": `git+${repository}.git`
|
|
31
|
-
},
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
// update in Jenkinsfile
|
|
35
|
-
const filePath = path.join(projectRoot, 'Jenkinsfile');
|
|
36
|
-
|
|
37
|
-
if (tree.exists(filePath)) {
|
|
38
|
-
const jenkinsFileContent = tree.read(filePath).toString();
|
|
39
|
-
let paramExists = false;
|
|
40
|
-
const updatedContent = jenkinsFileContent.split('\n').map(line => {
|
|
41
|
-
if (line.includes(`string(name: 'REPOSITORY_SSH_URL'`)) {
|
|
42
|
-
paramExists = true;
|
|
43
|
-
return line.replace(/defaultValue: '.*'/, `defaultValue: '${convertHttpsToSsh(repository)}'`);
|
|
44
|
-
}
|
|
45
|
-
return line;
|
|
46
|
-
}).join('\n');
|
|
47
|
-
|
|
48
|
-
if (paramExists) {
|
|
49
|
-
tree.write(filePath, updatedContent);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/* eslint-disable no-param-reassign */
|
|
2
|
+
import { Tree } from '@nx/devkit';
|
|
3
|
+
import * as path from 'path';
|
|
4
|
+
import { updatePackageJson } from './packageJsonUpdate';
|
|
5
|
+
import { convertHttpsToSsh } from '../../../utils';
|
|
6
|
+
|
|
7
|
+
export function updateRepository(tree: Tree, projectRoot: string, repository: string) {
|
|
8
|
+
if (repository.startsWith('http://')) {
|
|
9
|
+
repository = repository.replace('http://', 'https://');
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
// update in package.json
|
|
13
|
+
updatePackageJson(tree, projectRoot, {
|
|
14
|
+
homepage: `${repository}#readme`,
|
|
15
|
+
bugs: {
|
|
16
|
+
url: `${repository}/issues`,
|
|
17
|
+
},
|
|
18
|
+
repository: {
|
|
19
|
+
type: 'git',
|
|
20
|
+
url: `git+${repository}.git`,
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
// update in Jenkinsfile
|
|
25
|
+
const filePath = path.join(projectRoot, 'Jenkinsfile');
|
|
26
|
+
|
|
27
|
+
if (tree.exists(filePath)) {
|
|
28
|
+
const jenkinsFileContent = tree.read(filePath).toString();
|
|
29
|
+
let paramExists = false;
|
|
30
|
+
const updatedContent = jenkinsFileContent
|
|
31
|
+
.split('\n')
|
|
32
|
+
.map((line) => {
|
|
33
|
+
if (line.includes(`string(name: 'REPOSITORY_SSH_URL'`)) {
|
|
34
|
+
paramExists = true;
|
|
35
|
+
return line.replace(/defaultValue: '.*'/, `defaultValue: '${convertHttpsToSsh(repository)}'`);
|
|
36
|
+
}
|
|
37
|
+
return line;
|
|
38
|
+
})
|
|
39
|
+
.join('\n');
|
|
40
|
+
|
|
41
|
+
if (paramExists) {
|
|
42
|
+
tree.write(filePath, updatedContent);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
"common": "link:./common"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@common-stack/client-core": "
|
|
33
|
-
"@common-stack/core": "
|
|
34
|
-
"@common-stack/server-core": "
|
|
35
|
-
"@common-stack/server-stack": "
|
|
36
|
-
"@common-stack/store-mongo": "
|
|
32
|
+
"@common-stack/client-core": "7.0.4-alpha.6",
|
|
33
|
+
"@common-stack/core": "7.0.4-alpha.6",
|
|
34
|
+
"@common-stack/server-core": "7.0.4-alpha.9",
|
|
35
|
+
"@common-stack/server-stack": "7.0.4-alpha.9",
|
|
36
|
+
"@common-stack/store-mongo": "7.0.4-alpha.6",
|
|
37
37
|
"@container-stack/mailing-api": "5.2.1-alpha.1",
|
|
38
38
|
"helmet": "^3.21.2",
|
|
39
39
|
"react": "18.2.0",
|
|
@@ -1,29 +1,53 @@
|
|
|
1
|
-
|
|
1
|
+
/* eslint-disable import/no-extraneous-dependencies */
|
|
2
|
+
// eslint-disable-next-line jsonc/indent
|
|
3
|
+
import { generateFiles, names, offsetFromRoot, Tree, stripIndents } from '@nx/devkit';
|
|
2
4
|
import * as path from 'path';
|
|
5
|
+
import { libraryGenerator } from '@nx/js';
|
|
3
6
|
import { AddMoleculerGeneratorSchema } from './schema';
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
const DEFAULT_SERVER_NAME = 'moleculer-server';
|
|
7
|
+
import { copyNpmrc, renameDotFiles } from '../../utils/copyDotfiles';
|
|
7
8
|
|
|
8
9
|
export async function addMoleculerGenerator(tree: Tree, options: AddMoleculerGeneratorSchema) {
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
return await generateMoleculer(tree, configs);
|
|
13
|
-
}
|
|
10
|
+
const libsDir = options.directory || 'servers';
|
|
11
|
+
const fullLibsDir = path.join(options.projectRoot || '', libsDir);
|
|
14
12
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
projectName = isValid(options.ns) ? `${getValid(options.ns)}-${projectName}` : projectName;
|
|
13
|
+
const name = options.name || 'moleculer-server';
|
|
14
|
+
const normalizedName = names(name).fileName;
|
|
15
|
+
const fullName = path.join(fullLibsDir, normalizedName);
|
|
19
16
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
17
|
+
// Run the Nx library generator to create the basic structure
|
|
18
|
+
await libraryGenerator(tree, {
|
|
19
|
+
name: normalizedName,
|
|
20
|
+
directory: fullLibsDir,
|
|
21
|
+
unitTestRunner: 'jest',
|
|
22
|
+
tags: `scope:moleculer,type:app`,
|
|
24
23
|
});
|
|
25
24
|
|
|
26
|
-
|
|
25
|
+
// Generate the custom files
|
|
26
|
+
const templateOptions = {
|
|
27
|
+
...options,
|
|
28
|
+
...names(name),
|
|
29
|
+
dot: '.',
|
|
30
|
+
offsetFromRoot: offsetFromRoot(fullName),
|
|
31
|
+
template: '',
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
generateFiles(tree, path.join(__dirname, 'files'), fullName, templateOptions);
|
|
35
|
+
|
|
36
|
+
// Rename underscore files to dotfiles
|
|
37
|
+
renameDotFiles(tree, fullName);
|
|
38
|
+
|
|
39
|
+
// Copy .npmrc from the project root
|
|
40
|
+
const projectRoot = options.projectRoot || '';
|
|
41
|
+
copyNpmrc(tree, projectRoot, fullName);
|
|
42
|
+
|
|
43
|
+
console.log(stripIndents`
|
|
44
|
+
Thank you for using the @common-stack moleculer-server generator!
|
|
45
|
+
|
|
46
|
+
Next steps:
|
|
47
|
+
|
|
48
|
+
- Run \`yarn\` to install dependencies
|
|
49
|
+
- Start application with \`yarn start\`
|
|
50
|
+
`);
|
|
27
51
|
}
|
|
28
52
|
|
|
29
53
|
export default addMoleculerGenerator;
|