@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,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"include": [
|
|
3
|
+
"**/*.ts",
|
|
4
|
+
"**/*.tsx",
|
|
5
|
+
"**/.server/**/*.ts",
|
|
6
|
+
"**/.server/**/*.tsx",
|
|
7
|
+
"**/.client/**/*.ts",
|
|
8
|
+
"**/.client/**/*.tsx"
|
|
9
|
+
],
|
|
10
|
+
"compilerOptions": {
|
|
11
|
+
"lib": ["DOM", "DOM.Iterable", "ES2022"],
|
|
12
|
+
"types": ["@remix-run/node", "vite/client"],
|
|
13
|
+
"isolatedModules": true,
|
|
14
|
+
"esModuleInterop": true,
|
|
15
|
+
"jsx": "react-jsx",
|
|
16
|
+
"module": "ESNext",
|
|
17
|
+
"moduleResolution": "Bundler",
|
|
18
|
+
"resolveJsonModule": true,
|
|
19
|
+
"target": "ES2022",
|
|
20
|
+
"strict": true,
|
|
21
|
+
"allowJs": true,
|
|
22
|
+
"skipLibCheck": true,
|
|
23
|
+
"forceConsistentCasingInFileNames": true,
|
|
24
|
+
"baseUrl": ".",
|
|
25
|
+
"paths": {
|
|
26
|
+
"~/*": ["./src/*"]
|
|
27
|
+
},
|
|
28
|
+
|
|
29
|
+
// Vite takes care of building everything, not tsc.
|
|
30
|
+
"noEmit": true
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { defineConfig } from 'vite';
|
|
2
|
+
import { vitePlugin as remix } from '@remix-run/dev';
|
|
3
|
+
import { dirname, resolve } from 'path';
|
|
4
|
+
import { installGlobals } from '@remix-run/node';
|
|
5
|
+
import { fileURLToPath } from 'url';
|
|
6
|
+
import { defineRoutesConfig } from '@common-stack/rollup-vite-utils/lib/vite-wrappers/json-wrappers.js';
|
|
7
|
+
import tsconfigPaths from 'vite-tsconfig-paths';
|
|
8
|
+
import { i18nInternationalizationPlugin } from '@common-stack/rollup-vite-utils/lib/vite-plugins/i18n-internationalization-plugin.js';
|
|
9
|
+
import { performCopyOperations } from '@common-stack/rollup-vite-utils/lib/preStartup/configLoader/configLoader.js';
|
|
10
|
+
import { loadEnvConfig } from '@common-stack/rollup-vite-utils/lib/preStartup/configLoader/envLoader.js';
|
|
11
|
+
import { cjsInterop } from 'vite-plugin-cjs-interop';
|
|
12
|
+
import { mergeWith } from 'lodash-es';
|
|
13
|
+
import config from './app/cde-webconfig.json' assert { type: 'json' };
|
|
14
|
+
|
|
15
|
+
// This installs globals such as "fetch", "Response", "Request" and "Headers".
|
|
16
|
+
installGlobals();
|
|
17
|
+
|
|
18
|
+
const directoryName = dirname(fileURLToPath(import.meta.url));
|
|
19
|
+
|
|
20
|
+
export default defineConfig(async ({ isSsrBuild }) => {
|
|
21
|
+
console.log('--- IS SSR BUILD:', isSsrBuild);
|
|
22
|
+
|
|
23
|
+
// Load environment variables from dotenv or other config
|
|
24
|
+
const dotEnvResult = loadEnvConfig(directoryName);
|
|
25
|
+
|
|
26
|
+
// Define environment variables for Vite
|
|
27
|
+
const envVariables = {
|
|
28
|
+
__ENV__: JSON.stringify(dotEnvResult?.parsed),
|
|
29
|
+
__SERVER__: true,
|
|
30
|
+
__CLIENT__: false,
|
|
31
|
+
...Object.fromEntries(
|
|
32
|
+
Object.entries(config.buildConfig).map(([key, value]) => [
|
|
33
|
+
key,
|
|
34
|
+
typeof value === 'string' ? `"${value.replace(/\\/g, '\\\\')}"` : value,
|
|
35
|
+
])
|
|
36
|
+
),
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
// Define routes configuration
|
|
40
|
+
const routesConfig = async (defineRoutes) => {
|
|
41
|
+
// In production, perform required file copy operations
|
|
42
|
+
if (process.env.NODE_ENV === 'production') {
|
|
43
|
+
await performCopyOperations(config);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Load metadata for routes
|
|
47
|
+
let metaJson = null;
|
|
48
|
+
try {
|
|
49
|
+
metaJson = await import('./app/sync-meta.json');
|
|
50
|
+
} catch {
|
|
51
|
+
console.warn('No sync-meta.json found, continuing without metadata.');
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// Return routes definition
|
|
55
|
+
return defineRoutes((routeFn) =>
|
|
56
|
+
defineRoutesConfig(
|
|
57
|
+
routeFn,
|
|
58
|
+
{
|
|
59
|
+
routesFileName: 'routes.json',
|
|
60
|
+
packages: config.modules,
|
|
61
|
+
paths: config.paths,
|
|
62
|
+
iconsRepository: config?.iconsRepository,
|
|
63
|
+
rootPath: resolve(directoryName, '../..'),
|
|
64
|
+
settings: {
|
|
65
|
+
_useFutureCommonPackage: true,
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
metaJson
|
|
69
|
+
)
|
|
70
|
+
);
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
// Vite configuration
|
|
74
|
+
const viteConfig = {
|
|
75
|
+
define: envVariables,
|
|
76
|
+
plugins: [
|
|
77
|
+
i18nInternationalizationPlugin({
|
|
78
|
+
folderName: 'cdm-locales',
|
|
79
|
+
packages: [...config.modules, ...config.i18n.packages],
|
|
80
|
+
namespaceResolution: 'basename',
|
|
81
|
+
}),
|
|
82
|
+
cjsInterop({
|
|
83
|
+
dependencies: ['@apollo/client'],
|
|
84
|
+
}),
|
|
85
|
+
remix({
|
|
86
|
+
appDirectory: 'src',
|
|
87
|
+
routes: routesConfig,
|
|
88
|
+
}),
|
|
89
|
+
tsconfigPaths({ ignoreConfigErrors: true }),
|
|
90
|
+
],
|
|
91
|
+
optimizeDeps: {
|
|
92
|
+
esbuildOptions: {
|
|
93
|
+
target: 'esnext',
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
build: {
|
|
97
|
+
target: 'esnext',
|
|
98
|
+
},
|
|
99
|
+
resolve: {
|
|
100
|
+
alias: {
|
|
101
|
+
'@app': resolve(directoryName, 'app'),
|
|
102
|
+
'@src': resolve(directoryName, 'src'),
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
// Deep merge custom Vite config from config.json
|
|
108
|
+
// to merge Arrays properly need to concat.
|
|
109
|
+
const result = mergeWith(config.viteConfig, viteConfig, (objValue, srcValue) => {
|
|
110
|
+
if (Array.isArray(objValue)) {
|
|
111
|
+
return objValue.concat(srcValue);
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
return result;
|
|
115
|
+
});
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
const common = {
|
|
2
|
+
env: {
|
|
3
|
+
node: true,
|
|
4
|
+
es6: true,
|
|
5
|
+
'jest/globals': true,
|
|
6
|
+
},
|
|
7
|
+
plugins: ['prettier', 'jest', 'markdown'],
|
|
8
|
+
extends: ['airbnb-base', 'prettier', 'plugin:jest/all', 'plugin:json/recommended'],
|
|
9
|
+
rules: {
|
|
10
|
+
'jest/unbound-method': 'off',
|
|
11
|
+
'prettier/prettier': 'error',
|
|
12
|
+
'jest/no-disabled-tests': 'warn',
|
|
13
|
+
'jest/no-focused-tests': 'error',
|
|
14
|
+
'jest/no-identical-title': 'error',
|
|
15
|
+
'jest/prefer-to-have-length': 'warn',
|
|
16
|
+
'jest/valid-expect': 'error',
|
|
17
|
+
'jest/expect-expect': 'off',
|
|
18
|
+
'jest/prefer-expect-assertions': 'off',
|
|
19
|
+
'jest/no-test-return-statement': 'off',
|
|
20
|
+
'import/prefer-default-export': 'off',
|
|
21
|
+
'import/extensions': 'off',
|
|
22
|
+
'no-console': 'off',
|
|
23
|
+
'no-iterator': 'off',
|
|
24
|
+
'no-restricted-syntax': 'off',
|
|
25
|
+
'no-await-in-loop': 'off',
|
|
26
|
+
'consistent-return': 'off',
|
|
27
|
+
'no-shadow': 'off',
|
|
28
|
+
'no-unused-vars': 'off',
|
|
29
|
+
'jsonc/indent': ['error', 2, {}],
|
|
30
|
+
},
|
|
31
|
+
globals: {
|
|
32
|
+
fetch: true,
|
|
33
|
+
window: true,
|
|
34
|
+
document: true,
|
|
35
|
+
__CDN_URL__: true,
|
|
36
|
+
__DEV__: true,
|
|
37
|
+
__TEST__: true,
|
|
38
|
+
__CLIENT__: true,
|
|
39
|
+
__SERVER__: true,
|
|
40
|
+
__GRAPHQL_ENDPOINT__: true,
|
|
41
|
+
__SSR__: true,
|
|
42
|
+
__PERSIST_GQL__: true,
|
|
43
|
+
__API_URL__: true,
|
|
44
|
+
__WEBSITE_URL__: true,
|
|
45
|
+
__FRONTEND_BUILD_DIR__: true,
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
module.exports = {
|
|
50
|
+
root: true,
|
|
51
|
+
overrides: [
|
|
52
|
+
{
|
|
53
|
+
/*
|
|
54
|
+
eslint-plugin-markdown only finds javascript code block snippet.
|
|
55
|
+
For specific spec, refer to https://github.com/eslint/eslint-plugin-markdown
|
|
56
|
+
*/
|
|
57
|
+
files: ['**/*.js', '**/*.md'],
|
|
58
|
+
...common,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
files: ['**/*.ts'],
|
|
62
|
+
parser: '@typescript-eslint/parser',
|
|
63
|
+
env: common.env,
|
|
64
|
+
plugins: [...common.plugins, '@typescript-eslint'],
|
|
65
|
+
extends: [
|
|
66
|
+
...common.extends,
|
|
67
|
+
'plugin:@typescript-eslint/recommended',
|
|
68
|
+
'plugin:import/errors',
|
|
69
|
+
'plugin:import/warnings',
|
|
70
|
+
'plugin:import/typescript',
|
|
71
|
+
],
|
|
72
|
+
rules: {
|
|
73
|
+
...common.rules,
|
|
74
|
+
'@typescript-eslint/explicit-function-return-type': 'off',
|
|
75
|
+
},
|
|
76
|
+
settings: {
|
|
77
|
+
'import/resolver': {
|
|
78
|
+
node: {
|
|
79
|
+
extensions: ['.js', '.jsx', '.ts', '.d.ts', '.tsx', '.graphql', '.gql'],
|
|
80
|
+
},
|
|
81
|
+
typescript: {
|
|
82
|
+
// alwaysTryTypes: true,
|
|
83
|
+
// paths: './tsconfig.json',
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
],
|
|
89
|
+
};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
�n�'����s�U�����5���dyO"�fn�p��S���͢U
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
dist
|
|
2
|
+
lib
|
|
3
|
+
.nx
|
|
4
|
+
|
|
5
|
+
# Logs
|
|
6
|
+
logs
|
|
7
|
+
*.log
|
|
8
|
+
npm-debug.log*
|
|
9
|
+
|
|
10
|
+
# remove unwanted
|
|
11
|
+
.expo
|
|
12
|
+
.drawio-chrome
|
|
13
|
+
|
|
14
|
+
# Spinjs cache
|
|
15
|
+
.cache
|
|
16
|
+
.awcache
|
|
17
|
+
.nx
|
|
18
|
+
|
|
19
|
+
# Jest Env
|
|
20
|
+
globalConfig.json
|
|
21
|
+
|
|
22
|
+
# Runtime data
|
|
23
|
+
pids
|
|
24
|
+
*.pid
|
|
25
|
+
*.seed
|
|
26
|
+
*.sqlite3
|
|
27
|
+
|
|
28
|
+
# Directory for instrumented libs generated by jscoverage/JSCover
|
|
29
|
+
lib-cov
|
|
30
|
+
|
|
31
|
+
# Coverage directory used by tools like istanbul
|
|
32
|
+
coverage
|
|
33
|
+
|
|
34
|
+
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
|
|
35
|
+
.grunt
|
|
36
|
+
|
|
37
|
+
# node-waf configuration
|
|
38
|
+
.lock-wscript
|
|
39
|
+
|
|
40
|
+
# Compiled binary addons (http://nodejs.org/api/addons.html)
|
|
41
|
+
.build
|
|
42
|
+
build
|
|
43
|
+
build/Release
|
|
44
|
+
|
|
45
|
+
# Dependency directory
|
|
46
|
+
node_modules
|
|
47
|
+
|
|
48
|
+
# Optional npm cache directory
|
|
49
|
+
.npm
|
|
50
|
+
|
|
51
|
+
# Optional REPL history
|
|
52
|
+
.node_repl_history
|
|
53
|
+
.dist
|
|
54
|
+
|
|
55
|
+
# ignore temp created for pushing prod changes to devleop
|
|
56
|
+
lerna-temp.json
|
|
57
|
+
# IDE
|
|
58
|
+
.idea
|
|
59
|
+
*.DS_Store
|
|
60
|
+
.DS_Store
|
|
61
|
+
dump.rdb
|
|
62
|
+
v8-compile-cache-0
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
module.exports = {
|
|
2
|
-
'*.{js,jsx,ts,tsx
|
|
3
|
-
|
|
2
|
+
'*.{js,jsx,ts,tsx}': ['eslint --fix', 'prettier --write'],
|
|
3
|
+
'*.{json,md}': ['prettier --write'],
|
|
4
4
|
'package.json': ['sort-package-json', 'prettier --write'],
|
|
5
5
|
};
|
|
@@ -98,12 +98,6 @@
|
|
|
98
98
|
"zen:watch": "zen watch -x",
|
|
99
99
|
"zen:watch:debug": "yarn zen:watch -- -v"
|
|
100
100
|
},
|
|
101
|
-
"husky": {
|
|
102
|
-
"hooks": {
|
|
103
|
-
"pre-commit": "lint-staged",
|
|
104
|
-
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
|
|
105
|
-
}
|
|
106
|
-
},
|
|
107
101
|
"resolutions": {
|
|
108
102
|
"@apollo/client": "^3.9.0",
|
|
109
103
|
"@nx/workspace": "20.4.3",
|
|
@@ -150,9 +144,9 @@
|
|
|
150
144
|
"@babel/preset-typescript": "^7.18.6",
|
|
151
145
|
"@babel/register": "^7.18.9",
|
|
152
146
|
"@babel/runtime": "^7.20.1",
|
|
153
|
-
"@common-stack/env-list-loader": "
|
|
154
|
-
"@common-stack/generate-plugin": "7.0.
|
|
155
|
-
"@common-stack/rollup-vite-utils": "7.0.
|
|
147
|
+
"@common-stack/env-list-loader": "7.0.4-alpha.0",
|
|
148
|
+
"@common-stack/generate-plugin": "7.0.4-alpha.0",
|
|
149
|
+
"@common-stack/rollup-vite-utils": "7.0.4-alpha.0",
|
|
156
150
|
"@emotion/babel-plugin": "^11.11.0",
|
|
157
151
|
"@graphql-codegen/add": "^5.0.3",
|
|
158
152
|
"@graphql-codegen/cli": "^5.0.4",
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, it } from '@jest/globals';
|
|
1
2
|
import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing';
|
|
2
3
|
import { Tree, readProjectConfiguration } from '@nx/devkit';
|
|
3
4
|
|
|
@@ -15,6 +16,7 @@ describe('add-fullstack generator', () => {
|
|
|
15
16
|
it('should run successfully', async () => {
|
|
16
17
|
await addFullstackGenerator(tree, options);
|
|
17
18
|
const config = readProjectConfiguration(tree, 'test');
|
|
19
|
+
|
|
18
20
|
expect(config).toBeDefined();
|
|
19
21
|
});
|
|
20
22
|
});
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
/* eslint-disable import/no-cycle */
|
|
3
|
-
import {
|
|
3
|
+
import { formatFiles, generateFiles, Tree, updateJson } from '@nx/devkit';
|
|
4
4
|
import * as path from 'path';
|
|
5
5
|
import * as fs from 'fs';
|
|
6
6
|
import { AddFullstackGeneratorSchema } from './schema';
|
|
7
7
|
import { getValid, isValid } from '../../utils';
|
|
8
|
-
import {
|
|
8
|
+
import {
|
|
9
9
|
updateJenkinsFile,
|
|
10
10
|
updatePackageJson,
|
|
11
11
|
backupLernaJson,
|
|
@@ -15,13 +15,20 @@ import {
|
|
|
15
15
|
backupFiles,
|
|
16
16
|
restoreFiles,
|
|
17
17
|
updateRepository,
|
|
18
|
+
renameDotFiles,
|
|
19
|
+
setupGit,
|
|
20
|
+
commitInitialFiles,
|
|
21
|
+
setupGitCrypt,
|
|
22
|
+
setupHusky,
|
|
23
|
+
prepareGitAttributes,
|
|
24
|
+
setupNpmAuth,
|
|
25
|
+
setupNxConfig,
|
|
18
26
|
} from './updates';
|
|
19
|
-
import {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
} from '../../index';
|
|
27
|
+
// import { generateBackend, generateFrontend } from '../../index';
|
|
28
|
+
import { addBackendGenerator as generateBackend } from '../add-backend/generator';
|
|
29
|
+
import { addFrontendGenerator as generateFrontend } from '../add-frontend/generator';
|
|
30
|
+
import { addMoleculerGenerator as generateMoleculer } from '../add-moleculer/generator';
|
|
31
|
+
import { addPackageGenerator as generatePackage } from '../add-package/generator';
|
|
25
32
|
|
|
26
33
|
export async function addFullstackGenerator(tree: Tree, options: AddFullstackGeneratorSchema) {
|
|
27
34
|
let projectPath = options.path || '';
|
|
@@ -37,31 +44,37 @@ export async function addFullstackGenerator(tree: Tree, options: AddFullstackGen
|
|
|
37
44
|
// backup existing lerna values
|
|
38
45
|
const lernaBackup = backupLernaJson(tree, projectRoot);
|
|
39
46
|
|
|
40
|
-
// backup files codegen.
|
|
41
|
-
const filesToBackup = ['codegen.
|
|
47
|
+
// backup files including codegen.ts (instead of codegen.yml)
|
|
48
|
+
const filesToBackup = ['codegen.ts', 'values-dev.yaml', 'values-prod.yaml', 'values-stage.yaml'];
|
|
42
49
|
const filesBackup = backupFiles(tree, projectRoot, filesToBackup);
|
|
43
50
|
|
|
44
51
|
generateFiles(tree, path.join(__dirname, 'files'), projectRoot, options);
|
|
45
52
|
|
|
46
|
-
//
|
|
47
|
-
|
|
53
|
+
// Rename files that begin with underscore to dot files
|
|
54
|
+
renameDotFiles(tree, projectRoot);
|
|
48
55
|
|
|
49
|
-
//
|
|
50
|
-
|
|
56
|
+
// Handle gitattributes file (Tree-phase)
|
|
57
|
+
prepareGitAttributes(tree, projectRoot);
|
|
51
58
|
|
|
52
|
-
//
|
|
59
|
+
// First update files in the tree
|
|
60
|
+
updateJenkinsFile(tree, projectRoot, projectName);
|
|
61
|
+
updatePackageJson(tree, projectRoot, { name: projectName });
|
|
53
62
|
updateHtmlPlugin(tree, projectRoot);
|
|
54
63
|
|
|
55
64
|
if (lernaBackup) {
|
|
56
|
-
// When update the existing lerna.json, it shouldn't overwrite version, allowbranch, packages
|
|
57
65
|
restoreLernaJson(tree, projectRoot, lernaBackup);
|
|
58
66
|
}
|
|
59
67
|
|
|
60
|
-
// Restore files backup to ignore update
|
|
61
68
|
restoreFiles(tree, projectRoot, filesBackup);
|
|
69
|
+
updateLicense(tree, projectRoot);
|
|
62
70
|
|
|
71
|
+
// Format all files
|
|
63
72
|
await formatFiles(tree);
|
|
64
73
|
|
|
74
|
+
// Set a flag to perform Git operations after files are written
|
|
75
|
+
const performGitOperations = true;
|
|
76
|
+
|
|
77
|
+
// Process configurations if needed
|
|
65
78
|
if (isValid(options.config)) {
|
|
66
79
|
const configPath = path.resolve(projectPath, getValid(options.config));
|
|
67
80
|
if (fs.existsSync(configPath)) {
|
|
@@ -77,8 +90,49 @@ export async function addFullstackGenerator(tree: Tree, options: AddFullstackGen
|
|
|
77
90
|
}
|
|
78
91
|
}
|
|
79
92
|
|
|
80
|
-
//
|
|
81
|
-
|
|
93
|
+
// Add this before commitInitialFiles
|
|
94
|
+
await setupNxConfig(tree, projectRoot);
|
|
95
|
+
|
|
96
|
+
// Setup git and commit files
|
|
97
|
+
setupGit(tree, projectRoot);
|
|
98
|
+
|
|
99
|
+
// Step 2: Set up git-crypt
|
|
100
|
+
setupGitCrypt(tree, projectRoot);
|
|
101
|
+
|
|
102
|
+
// Step 3: Set up npm authentication
|
|
103
|
+
setupNpmAuth(tree, projectRoot);
|
|
104
|
+
|
|
105
|
+
// Step 4: Set up husky
|
|
106
|
+
setupHusky(tree, projectRoot);
|
|
107
|
+
|
|
108
|
+
// Step 5: Commit all files (they will be encrypted if they match patterns in .gitattributes)
|
|
109
|
+
commitInitialFiles(projectRoot);
|
|
110
|
+
|
|
111
|
+
console.log('Git setup completed.');
|
|
112
|
+
|
|
113
|
+
// Return function to execute after all files are written to disk
|
|
114
|
+
if (performGitOperations) {
|
|
115
|
+
return () => {
|
|
116
|
+
console.log('All files have been generated. Now setting up Git...');
|
|
117
|
+
|
|
118
|
+
// Step 1: Initialize git repository
|
|
119
|
+
setupGit(tree, projectRoot);
|
|
120
|
+
|
|
121
|
+
// Step 2: Set up git-crypt
|
|
122
|
+
setupGitCrypt(tree, projectRoot);
|
|
123
|
+
|
|
124
|
+
// Step 3: Set up npm authentication
|
|
125
|
+
setupNpmAuth(tree, projectRoot);
|
|
126
|
+
|
|
127
|
+
// Step 4: Set up husky
|
|
128
|
+
setupHusky(tree, projectRoot);
|
|
129
|
+
|
|
130
|
+
// Step 5: Commit all files (they will be encrypted if they match patterns in .gitattributes)
|
|
131
|
+
commitInitialFiles(projectRoot);
|
|
132
|
+
|
|
133
|
+
console.log('Git setup completed.');
|
|
134
|
+
};
|
|
135
|
+
}
|
|
82
136
|
}
|
|
83
137
|
|
|
84
138
|
const generateServers = async (tree: Tree, options: any) => {
|
|
@@ -114,7 +168,7 @@ const generateModules = async (tree: Tree, options: any) => {
|
|
|
114
168
|
ns: options.ns,
|
|
115
169
|
type: packageName,
|
|
116
170
|
};
|
|
117
|
-
await generatePackage(tree, configs
|
|
171
|
+
await generatePackage(tree, configs);
|
|
118
172
|
}
|
|
119
173
|
}
|
|
120
174
|
};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Tree } from '@nx/devkit';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
import * as fs from 'fs';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Renames _gitattributes to .gitattributes during the Tree modification phase
|
|
7
|
+
*/
|
|
8
|
+
export function prepareGitAttributes(tree: Tree, projectRoot: string) {
|
|
9
|
+
const gitattributesSrc = path.join(projectRoot, '_gitattributes');
|
|
10
|
+
const gitattributesDest = path.join(projectRoot, '.gitattributes');
|
|
11
|
+
|
|
12
|
+
if (tree.exists(gitattributesSrc)) {
|
|
13
|
+
// Read content and write to destination
|
|
14
|
+
const content = tree.read(gitattributesSrc).toString();
|
|
15
|
+
tree.write(gitattributesDest, content);
|
|
16
|
+
// Remove the source file
|
|
17
|
+
tree.delete(gitattributesSrc);
|
|
18
|
+
console.log(`Renamed ${gitattributesSrc} to ${gitattributesDest}`);
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Updates .gitattributes with additional patterns if needed after files are on disk
|
|
27
|
+
*/
|
|
28
|
+
export function updateGitAttributes(projectRoot: string, attributesToAdd: Record<string, string>) {
|
|
29
|
+
try {
|
|
30
|
+
const gitattributesPath = path.join(projectRoot, '.gitattributes');
|
|
31
|
+
|
|
32
|
+
if (!fs.existsSync(gitattributesPath)) {
|
|
33
|
+
console.log('.gitattributes file not found, skipping update');
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
let gitattributesContent = fs.readFileSync(gitattributesPath, 'utf8');
|
|
38
|
+
let contentUpdated = false;
|
|
39
|
+
|
|
40
|
+
// Add each attribute if not already present
|
|
41
|
+
Object.entries(attributesToAdd).forEach(([pattern, attribute]) => {
|
|
42
|
+
const attributeLine = `${pattern} ${attribute}`;
|
|
43
|
+
if (!gitattributesContent.includes(attributeLine)) {
|
|
44
|
+
contentUpdated = true;
|
|
45
|
+
gitattributesContent += `\n${attributeLine}`;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
// Write the file if we made changes
|
|
50
|
+
if (contentUpdated) {
|
|
51
|
+
fs.writeFileSync(gitattributesPath, gitattributesContent, 'utf8');
|
|
52
|
+
console.log('Updated .gitattributes file with additional patterns');
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return contentUpdated;
|
|
56
|
+
} catch (error) {
|
|
57
|
+
console.error('Error updating .gitattributes:', error);
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
}
|