@common-stack/generate-plugin 5.0.5-alpha.9 → 6.0.1-alpha.0
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 +1 -85
- package/generators.json +15 -0
- package/lib/generators/add-backend/files/__tests__/test.ts.template +3 -2
- package/lib/generators/add-backend/files/package.json +5 -7
- package/lib/generators/add-backend/generator.cjs +5 -4
- package/lib/generators/add-backend/generator.cjs.map +1 -1
- package/lib/generators/add-backend/generator.mjs +6 -5
- package/lib/generators/add-backend/generator.mjs.map +1 -1
- package/lib/generators/add-backend/schema.json +6 -4
- package/lib/generators/add-browser-package/files/CHANGELOG.md +3119 -0
- package/lib/generators/add-browser-package/files/LICENSE +674 -0
- package/lib/generators/add-browser-package/files/jest.config.js +8 -0
- package/lib/generators/add-browser-package/files/package.json +49 -0
- package/lib/generators/add-browser-package/files/rollup.config.mjs +29 -0
- package/lib/generators/add-browser-package/files/src/index.ts.template +4 -0
- package/lib/generators/add-browser-package/files/src/interfaces/index.ts.template +1 -0
- package/lib/generators/add-browser-package/files/src/interfaces/interfaces.ts.template +1 -0
- package/lib/generators/add-browser-package/files/src/module.tsx.template +7 -0
- package/lib/generators/add-browser-package/files/tsconfig.json +28 -0
- package/lib/generators/add-browser-package/files/webpack.config.js +71 -0
- package/lib/generators/add-browser-package/generator.cjs +19 -0
- package/lib/generators/add-browser-package/generator.cjs.map +1 -0
- package/lib/generators/add-browser-package/generator.d.ts +4 -0
- package/lib/generators/add-browser-package/generator.mjs +19 -0
- package/lib/generators/add-browser-package/generator.mjs.map +1 -0
- package/lib/generators/add-browser-package/generator.spec.d.ts +1 -0
- package/lib/generators/add-browser-package/schema.json +19 -0
- package/lib/generators/add-frontend/generator.cjs +6 -5
- package/lib/generators/add-frontend/generator.cjs.map +1 -1
- package/lib/generators/add-frontend/generator.mjs +7 -6
- package/lib/generators/add-frontend/generator.mjs.map +1 -1
- package/lib/generators/add-frontend/schema.json +8 -5
- package/lib/generators/add-frontend/templates/package.json +8 -8
- package/lib/generators/add-fullstack/files/CHANGELOG.md +20 -0
- package/lib/generators/add-fullstack/files/CODE_OF_CONDUCT.md +94 -0
- package/lib/generators/add-fullstack/files/Dockerfile +10 -0
- package/lib/generators/add-fullstack/files/ISSUES.md +24 -0
- package/lib/generators/add-fullstack/files/Jenkinsfile +672 -0
- package/lib/generators/add-fullstack/files/LICENSE +21 -0
- package/lib/generators/add-fullstack/files/README.md +50 -0
- package/lib/generators/add-fullstack/files/ScreenShot.png +0 -0
- package/lib/generators/add-fullstack/files/babel.config.js +24 -0
- package/lib/generators/add-fullstack/files/build.config.js +32 -0
- package/lib/generators/add-fullstack/files/build.config.mjs +37 -0
- package/lib/generators/add-fullstack/files/codegen.yml +47 -0
- package/lib/generators/add-fullstack/files/commitlint.config.js +6 -0
- package/lib/generators/add-fullstack/files/config/development/dev.env.sample +21 -0
- package/lib/generators/add-fullstack/files/config/development/settings.json +9 -0
- package/lib/generators/add-fullstack/files/config/staging/docker-staging.env.sample +26 -0
- package/lib/generators/add-fullstack/files/config/staging/staging.env.sample +20 -0
- package/lib/generators/add-fullstack/files/config/test/test.env.sample +9 -0
- package/lib/generators/add-fullstack/files/docs/Moleculer.md +10 -0
- package/lib/generators/add-fullstack/files/docs/References.md +13 -0
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/Adding_New_Modules.md +84 -0
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/Desktop_Setup.md +12 -0
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/DoAndDont.md +35 -0
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/GitHooks.md +3 -0
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/HowToContribute.md +14 -0
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/How_to_Run_Various_Options.md +95 -0
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/Known_Issues.md +19 -0
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/Lint_And_Formatter.md +9 -0
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/Project_Setup.md +159 -0
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/Dynamically_Render_Components.md +57 -0
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/HOC_With_Render_Props.md +87 -0
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/Mongoose_Connection.md +45 -0
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/React_Componet_Extensions.md +11 -0
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/RxJS_notes.md +3 -0
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/Styles_With_Type.md +52 -0
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/Tutorials.md +12 -0
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/faq.md +17 -0
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/installation_issues.md +9 -0
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/lerna-build-tools.md +504 -0
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/lerna-yarn-workspaces.md +82 -0
- package/lib/generators/add-fullstack/files/docs/development/Database/mongodb-test.md +6 -0
- package/lib/generators/add-fullstack/files/docs/development/Deployment/How_To_Setup_Jenkins.md +60 -0
- package/lib/generators/add-fullstack/files/docs/development/Deployment/JenkinsDeployment.md +16 -0
- package/lib/generators/add-fullstack/files/docs/development/Expo/expo-commands.md +5 -0
- package/lib/generators/add-fullstack/files/docs/development/Mobile/How_To_Make_Expo_Wrok_With_Monorepos.md +9 -0
- package/lib/generators/add-fullstack/files/docs/development/Mobile/React-Native-FAQ.md +4 -0
- package/lib/generators/add-fullstack/files/docs/development/Mobile/Run_mobile.md +9 -0
- package/lib/generators/add-fullstack/files/husky.config.js +6 -0
- package/lib/generators/add-fullstack/files/jenkins_variables.groovy +22 -0
- package/lib/generators/add-fullstack/files/jest-mongodb-config.js +12 -0
- package/lib/generators/add-fullstack/files/jest-transform-i18next.js +24 -0
- package/lib/generators/add-fullstack/files/jest.config.base.js +60 -0
- package/lib/generators/add-fullstack/files/jest.config.js +22 -0
- package/lib/generators/add-fullstack/files/jest.config.mongodb.js +3 -0
- package/lib/generators/add-fullstack/files/lerna.json +48 -0
- package/lib/generators/add-fullstack/files/lint-staged.config.js +4 -0
- package/lib/generators/add-fullstack/files/nx.json +20 -0
- package/lib/generators/add-fullstack/files/package.json +361 -0
- package/lib/generators/add-fullstack/files/prettier.config.js +8 -0
- package/lib/generators/add-fullstack/files/rollup.config.base.mjs +147 -0
- package/lib/generators/add-fullstack/files/tools/.eslintrc +5 -0
- package/lib/generators/add-fullstack/files/tools/cli/command-invoker.js +54 -0
- package/lib/generators/add-fullstack/files/tools/cli/commands/add-module.js +64 -0
- package/lib/generators/add-fullstack/files/tools/cli/commands/delete-module.js +56 -0
- package/lib/generators/add-fullstack/files/tools/cli/config.js +11 -0
- package/lib/generators/add-fullstack/files/tools/cli/helpers/util.js +76 -0
- package/lib/generators/add-fullstack/files/tools/cli.js +31 -0
- package/lib/generators/add-fullstack/files/tools/deploy-cli/runUpdateJenkinsfileVersion.js +30 -0
- package/lib/generators/add-fullstack/files/tools/deploy-cli/runUpdateVersionWrapper.js +32 -0
- package/lib/generators/add-fullstack/files/tools/deploy-cli/runUpdateYamlSettingsWrapper.js +38 -0
- package/lib/generators/add-fullstack/files/tools/deploy-cli/updateJenkinsfileVersion.js +62 -0
- package/lib/generators/add-fullstack/files/tools/deploy-cli/updateLernaVersion.js +51 -0
- package/lib/generators/add-fullstack/files/tools/deploy-cli/updateYamlSettings.js +53 -0
- package/lib/generators/add-fullstack/files/tools/deployVersionUpdate.js +39 -0
- package/lib/generators/add-fullstack/files/tools/esm-wrapper.js +7 -0
- package/lib/generators/add-fullstack/files/tools/get-symlinked-modules.js +44 -0
- package/lib/generators/add-fullstack/files/tools/sortPackageJson.mjs +46 -0
- package/lib/generators/add-fullstack/files/tools/update-dependency-link.js +107 -0
- package/lib/generators/add-fullstack/files/tools/update-dependency-version.js +106 -0
- package/lib/generators/add-fullstack/files/tools/webpack/server.config.js +165 -0
- package/lib/generators/add-fullstack/files/tools/webpack-util.js +14 -0
- package/lib/generators/add-fullstack/files/tools/webpackAppConfig.js +44 -0
- package/lib/generators/add-fullstack/files/transform.js +14 -0
- package/lib/generators/add-fullstack/files/tsconfig.json +26 -0
- package/lib/generators/add-fullstack/files/typings/graphql.d.ts.template +72 -0
- package/lib/generators/add-fullstack/files/typings/index.d.ts.template +123 -0
- package/lib/generators/add-fullstack/files/values-dev.yaml +74 -0
- package/lib/generators/add-fullstack/files/values-prod.yaml +67 -0
- package/lib/generators/add-fullstack/files/values-stage.yaml +70 -0
- package/lib/generators/add-fullstack/files/values.secret.json +11 -0
- package/lib/generators/add-fullstack/generator.cjs +18 -0
- package/lib/generators/add-fullstack/generator.cjs.map +1 -0
- package/lib/generators/add-fullstack/generator.d.ts +4 -0
- package/lib/generators/add-fullstack/generator.mjs +18 -0
- package/lib/generators/add-fullstack/generator.mjs.map +1 -0
- package/lib/generators/add-fullstack/generator.spec.d.ts +1 -0
- package/lib/generators/add-fullstack/schema.json +14 -0
- package/lib/generators/add-moleculer/files/CHANGELOG.md +2250 -0
- package/lib/generators/add-moleculer/files/Dockerfile +30 -0
- package/lib/generators/add-moleculer/files/charts/chart/.helmignore +21 -0
- package/lib/generators/add-moleculer/files/charts/chart/Chart.yaml +9 -0
- package/lib/generators/add-moleculer/files/charts/chart/values-dev.yaml +13 -0
- package/lib/generators/add-moleculer/files/charts/chart/values-prod.yaml +13 -0
- package/lib/generators/add-moleculer/files/charts/chart/values-stage.yaml +13 -0
- package/lib/generators/add-moleculer/files/draft.toml +61 -0
- package/lib/generators/add-moleculer/files/package.json +69 -0
- package/lib/generators/add-moleculer/files/rollup.config.mjs +36 -0
- package/lib/generators/add-moleculer/files/src/config/env-config.ts.template +20 -0
- package/lib/generators/add-moleculer/files/src/config/index.ts.template +1 -0
- package/lib/generators/add-moleculer/files/src/env.ts.template +5 -0
- package/lib/generators/add-moleculer/files/src/index.ts.template +13 -0
- package/lib/generators/add-moleculer/files/src/modules/index.ts.template +4 -0
- package/lib/generators/add-moleculer/files/src/modules/module.ts.template +31 -0
- package/lib/generators/add-moleculer/files/tsconfig.base.json +28 -0
- package/lib/generators/add-moleculer/files/tsconfig.json +16 -0
- package/lib/generators/add-moleculer/files/webpack.config.js +58 -0
- package/lib/generators/add-moleculer/generator.cjs +19 -0
- package/lib/generators/add-moleculer/generator.cjs.map +1 -0
- package/lib/generators/add-moleculer/generator.d.ts +4 -0
- package/lib/generators/add-moleculer/generator.mjs +19 -0
- package/lib/generators/add-moleculer/generator.mjs.map +1 -0
- package/lib/generators/add-moleculer/generator.spec.d.ts +1 -0
- package/lib/generators/add-moleculer/schema.json +19 -0
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +3 -0
- package/lib/index.mjs +1 -1
- package/lib/utils/index.cjs +6 -8
- package/lib/utils/index.cjs.map +1 -1
- package/lib/utils/index.d.ts +2 -0
- package/lib/utils/index.mjs +6 -8
- package/lib/utils/index.mjs.map +1 -1
- package/package.json +2 -2
- package/rollup.config.mjs +11 -5
- package/src/generators/add-backend/generator.spec.ts +1 -1
- package/src/generators/add-backend/generator.ts +6 -6
- package/src/generators/add-backend/schema.d.ts +1 -1
- package/src/generators/add-backend/schema.json +6 -4
- package/src/generators/add-browser-package/generator.spec.ts +20 -0
- package/src/generators/add-browser-package/generator.ts +23 -0
- package/src/generators/add-browser-package/schema.d.ts +4 -0
- package/src/generators/add-browser-package/schema.json +19 -0
- package/src/generators/add-frontend/generator.spec.ts +1 -1
- package/src/generators/add-frontend/generator.ts +6 -6
- package/src/generators/add-frontend/schema.d.ts +1 -1
- package/src/generators/add-frontend/schema.json +8 -5
- 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 +92 -0
- package/src/generators/add-fullstack/files/.gitattributes +5 -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/.travis.yml +18 -0
- package/src/generators/add-fullstack/files/CHANGELOG.md +20 -0
- package/src/generators/add-fullstack/files/CODE_OF_CONDUCT.md +94 -0
- package/src/generators/add-fullstack/files/Dockerfile +10 -0
- package/src/generators/add-fullstack/files/ISSUES.md +24 -0
- package/src/generators/add-fullstack/files/Jenkinsfile +672 -0
- package/src/generators/add-fullstack/files/LICENSE +21 -0
- package/src/generators/add-fullstack/files/README.md +50 -0
- package/src/generators/add-fullstack/files/ScreenShot.png +0 -0
- package/src/generators/add-fullstack/files/babel.config.js +24 -0
- package/src/generators/add-fullstack/files/build.config.js +32 -0
- package/src/generators/add-fullstack/files/build.config.mjs +37 -0
- package/src/generators/add-fullstack/files/codegen.yml +47 -0
- package/src/generators/add-fullstack/files/commitlint.config.js +6 -0
- package/src/generators/add-fullstack/files/config/development/dev.env.sample +21 -0
- package/src/generators/add-fullstack/files/config/development/settings.json +9 -0
- package/src/generators/add-fullstack/files/config/staging/docker-staging.env.sample +26 -0
- package/src/generators/add-fullstack/files/config/staging/staging.env.sample +20 -0
- package/src/generators/add-fullstack/files/config/test/test.env.sample +9 -0
- package/src/generators/add-fullstack/files/docs/Moleculer.md +10 -0
- package/src/generators/add-fullstack/files/docs/References.md +13 -0
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/Adding_New_Modules.md +84 -0
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/Desktop_Setup.md +12 -0
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/DoAndDont.md +35 -0
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/GitHooks.md +3 -0
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/HowToContribute.md +14 -0
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/How_to_Run_Various_Options.md +95 -0
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/Known_Issues.md +19 -0
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/Lint_And_Formatter.md +9 -0
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/Project_Setup.md +159 -0
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/Dynamically_Render_Components.md +57 -0
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/HOC_With_Render_Props.md +87 -0
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/Mongoose_Connection.md +45 -0
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/React_Componet_Extensions.md +11 -0
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/RxJS_notes.md +3 -0
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/Styles_With_Type.md +52 -0
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/Tutorials.md +12 -0
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/faq.md +17 -0
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/installation_issues.md +9 -0
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/lerna-build-tools.md +504 -0
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/lerna-yarn-workspaces.md +82 -0
- package/src/generators/add-fullstack/files/docs/development/Database/mongodb-test.md +6 -0
- package/src/generators/add-fullstack/files/docs/development/Deployment/How_To_Setup_Jenkins.md +60 -0
- package/src/generators/add-fullstack/files/docs/development/Deployment/JenkinsDeployment.md +16 -0
- package/src/generators/add-fullstack/files/docs/development/Expo/expo-commands.md +5 -0
- package/src/generators/add-fullstack/files/docs/development/Mobile/How_To_Make_Expo_Wrok_With_Monorepos.md +9 -0
- package/src/generators/add-fullstack/files/docs/development/Mobile/React-Native-FAQ.md +4 -0
- package/src/generators/add-fullstack/files/docs/development/Mobile/Run_mobile.md +9 -0
- package/src/generators/add-fullstack/files/husky.config.js +6 -0
- package/src/generators/add-fullstack/files/jenkins_variables.groovy +22 -0
- package/src/generators/add-fullstack/files/jest-mongodb-config.js +12 -0
- package/src/generators/add-fullstack/files/jest-transform-i18next.js +24 -0
- package/src/generators/add-fullstack/files/jest.config.base.js +60 -0
- package/src/generators/add-fullstack/files/jest.config.js +22 -0
- package/src/generators/add-fullstack/files/jest.config.mongodb.js +3 -0
- package/src/generators/add-fullstack/files/lerna.json +48 -0
- package/src/generators/add-fullstack/files/lint-staged.config.js +4 -0
- package/src/generators/add-fullstack/files/nx.json +20 -0
- package/src/generators/add-fullstack/files/package.json +361 -0
- package/src/generators/add-fullstack/files/prettier.config.js +8 -0
- package/src/generators/add-fullstack/files/rollup.config.base.mjs +147 -0
- package/src/generators/add-fullstack/files/tools/.eslintrc +5 -0
- package/src/generators/add-fullstack/files/tools/cli/command-invoker.js +54 -0
- package/src/generators/add-fullstack/files/tools/cli/commands/add-module.js +64 -0
- package/src/generators/add-fullstack/files/tools/cli/commands/delete-module.js +56 -0
- package/src/generators/add-fullstack/files/tools/cli/config.js +11 -0
- package/src/generators/add-fullstack/files/tools/cli/helpers/util.js +76 -0
- package/src/generators/add-fullstack/files/tools/cli.js +31 -0
- package/src/generators/add-fullstack/files/tools/deploy-cli/runUpdateJenkinsfileVersion.js +30 -0
- package/src/generators/add-fullstack/files/tools/deploy-cli/runUpdateVersionWrapper.js +32 -0
- package/src/generators/add-fullstack/files/tools/deploy-cli/runUpdateYamlSettingsWrapper.js +38 -0
- package/src/generators/add-fullstack/files/tools/deploy-cli/updateJenkinsfileVersion.js +62 -0
- package/src/generators/add-fullstack/files/tools/deploy-cli/updateLernaVersion.js +51 -0
- package/src/generators/add-fullstack/files/tools/deploy-cli/updateYamlSettings.js +53 -0
- package/src/generators/add-fullstack/files/tools/deployVersionUpdate.js +39 -0
- package/src/generators/add-fullstack/files/tools/esm-wrapper.js +7 -0
- package/src/generators/add-fullstack/files/tools/get-symlinked-modules.js +44 -0
- package/src/generators/add-fullstack/files/tools/sortPackageJson.mjs +46 -0
- package/src/generators/add-fullstack/files/tools/update-dependency-link.js +107 -0
- package/src/generators/add-fullstack/files/tools/update-dependency-version.js +106 -0
- package/src/generators/add-fullstack/files/tools/webpack/server.config.js +165 -0
- package/src/generators/add-fullstack/files/tools/webpack-util.js +14 -0
- package/src/generators/add-fullstack/files/tools/webpackAppConfig.js +44 -0
- package/src/generators/add-fullstack/files/transform.js +14 -0
- package/src/generators/add-fullstack/files/tsconfig.json +26 -0
- package/src/generators/add-fullstack/files/typings/graphql.d.ts.template +72 -0
- package/src/generators/add-fullstack/files/typings/index.d.ts.template +123 -0
- package/src/generators/add-fullstack/files/values-dev.yaml +74 -0
- package/src/generators/add-fullstack/files/values-prod.yaml +67 -0
- package/src/generators/add-fullstack/files/values-stage.yaml +70 -0
- package/src/generators/add-fullstack/files/values.secret.json +11 -0
- package/src/generators/add-fullstack/generator.spec.ts +20 -0
- package/src/generators/add-fullstack/generator.ts +22 -0
- package/src/generators/add-fullstack/schema.d.ts +3 -0
- package/src/generators/add-fullstack/schema.json +14 -0
- package/src/generators/add-moleculer/files/.dockerignore +5 -0
- package/src/generators/add-moleculer/files/.draft-tasks.toml +0 -0
- package/src/generators/add-moleculer/files/.draftignore +4 -0
- package/src/generators/add-moleculer/files/CHANGELOG.md +2250 -0
- package/src/generators/add-moleculer/files/Dockerfile +30 -0
- package/src/generators/add-moleculer/files/charts/chart/.helmignore +21 -0
- package/src/generators/add-moleculer/files/charts/chart/Chart.yaml +9 -0
- package/src/generators/add-moleculer/files/charts/chart/values-dev.yaml +13 -0
- package/src/generators/add-moleculer/files/charts/chart/values-prod.yaml +13 -0
- package/src/generators/add-moleculer/files/charts/chart/values-stage.yaml +13 -0
- package/src/generators/add-moleculer/files/draft.toml +61 -0
- package/src/generators/add-moleculer/files/package.json +69 -0
- package/src/generators/add-moleculer/files/rollup.config.mjs +36 -0
- package/src/generators/add-moleculer/files/src/config/env-config.ts.template +20 -0
- package/src/generators/add-moleculer/files/src/config/index.ts.template +1 -0
- package/src/generators/add-moleculer/files/src/env.ts.template +5 -0
- package/src/generators/add-moleculer/files/src/index.ts.template +13 -0
- package/src/generators/add-moleculer/files/src/modules/index.ts.template +4 -0
- package/src/generators/add-moleculer/files/src/modules/module.ts.template +31 -0
- package/src/generators/add-moleculer/files/tsconfig.base.json +28 -0
- package/src/generators/add-moleculer/files/tsconfig.json +16 -0
- package/src/generators/add-moleculer/files/webpack.config.js +58 -0
- package/src/generators/add-moleculer/generator.spec.ts +20 -0
- package/src/generators/add-moleculer/generator.ts +23 -0
- package/src/generators/add-moleculer/schema.d.ts +4 -0
- package/src/generators/add-moleculer/schema.json +19 -0
- package/src/index.ts +3 -0
- package/src/utils/index.ts +8 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/* eslint-disable jest/require-hook */
|
|
2
|
+
const fs = require('fs');
|
|
3
|
+
|
|
4
|
+
// Function to update the configuration file
|
|
5
|
+
function updateConfiguration(filePath, newVersion) {
|
|
6
|
+
// Read the configuration file
|
|
7
|
+
fs.readFile(filePath, 'utf8', (err, data) => {
|
|
8
|
+
if (err) {
|
|
9
|
+
console.error(`Error reading the file: ${err.message}`);
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// Replace VERSION and CONNECTION_ID with newVersion
|
|
14
|
+
let updatedData = data
|
|
15
|
+
.replace(/VERSION: v\d+(\.\d+)?/g, `VERSION: ${newVersion}`)
|
|
16
|
+
.replace(/CONNECTION_ID: v\d+(\.\d+)?/g, `CONNECTION_ID: ${newVersion}`);
|
|
17
|
+
|
|
18
|
+
// Update CLIENT_URL
|
|
19
|
+
updatedData = updatedData.replace(
|
|
20
|
+
/CLIENT_URL: "https:\/\/[\w-]+-v\d+(\.\d+)?\.[\w-]+(\.\w+)?\/?"/g,
|
|
21
|
+
(match) => {
|
|
22
|
+
const domainParts = match.match(/https:\/\/[\w-]+-v\d+(\.\d+)?(\.[\w-]+)+/g);
|
|
23
|
+
if (domainParts && domainParts.length > 0) {
|
|
24
|
+
const domain = domainParts[0];
|
|
25
|
+
const newDomain = domain.replace(/-v\d+(\.\d+)?/, `-${newVersion}`);
|
|
26
|
+
return match.replace(domain, newDomain);
|
|
27
|
+
}
|
|
28
|
+
return match;
|
|
29
|
+
},
|
|
30
|
+
);
|
|
31
|
+
// Write the updated configuration back to the file
|
|
32
|
+
fs.writeFile(filePath, updatedData, 'utf8', (err) => {
|
|
33
|
+
if (err) {
|
|
34
|
+
console.error(`Error writing to the file: ${err.message}`);
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
console.log(`Configuration file updated successfully.`);
|
|
38
|
+
console.log(`Manually update CLIENT_URL in values-dev.yaml and values-prod.yaml`)
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Process command line arguments
|
|
44
|
+
const filePath = process.argv[2];
|
|
45
|
+
const versionArg = process.argv[3];
|
|
46
|
+
|
|
47
|
+
if (!filePath || !versionArg || !versionArg.match(/^v\d+(\.\d+)?$/)) {
|
|
48
|
+
console.error('Usage: node updateConfiguration.js v[Major].[Minor]');
|
|
49
|
+
process.exit(1);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// Call the function with the provided version argument
|
|
53
|
+
updateConfiguration(filePath, versionArg);
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
const { execSync } = require('child_process');
|
|
2
|
+
const path = require('path');
|
|
3
|
+
|
|
4
|
+
const LERNA_JSON_PATH = path.join(__dirname, '../lerna.json');
|
|
5
|
+
const JENKINSFILE_PATH = path.join(__dirname, '../Jenkinsfile');
|
|
6
|
+
const CONFIG_FILE_PATH = path.join(__dirname, '../values-dev.yaml'); // Updated path
|
|
7
|
+
|
|
8
|
+
function runScript(scriptPath, args) {
|
|
9
|
+
console.log(`Running script: ${scriptPath} with args: ${args}`);
|
|
10
|
+
try {
|
|
11
|
+
const output = execSync(`node ${scriptPath} ${args}`, { stdio: 'pipe' });
|
|
12
|
+
console.log(output.toString());
|
|
13
|
+
} catch (error) {
|
|
14
|
+
console.error(`Error running script ${scriptPath}: ${error}`);
|
|
15
|
+
process.exit(1);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function main(versionArg) {
|
|
20
|
+
console.log(`Updating to version: ${versionArg}`);
|
|
21
|
+
|
|
22
|
+
// // Update lerna.json
|
|
23
|
+
runScript('./deploy-cli/updateLernaVersion.js', `${LERNA_JSON_PATH} ${versionArg}`);
|
|
24
|
+
|
|
25
|
+
// // Update Jenkinsfile
|
|
26
|
+
runScript('./deploy-cli/updateJenkinsfileVersion.js', `${JENKINSFILE_PATH} ${versionArg}`);
|
|
27
|
+
|
|
28
|
+
// Update configuration file
|
|
29
|
+
runScript('./deploy-cli/updateYamlSettings.js', `${CONFIG_FILE_PATH} ${versionArg}`);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const versionArg = process.argv[2];
|
|
33
|
+
|
|
34
|
+
if (!versionArg || !versionArg.match(/^v\d+(\.\d+)?$/)) {
|
|
35
|
+
console.error('Usage: node deployVersionUpdate.js v[Major].[Minor]');
|
|
36
|
+
process.exit(1);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
main(versionArg);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/* eslint-disable import/no-unresolved */
|
|
2
|
+
/* eslint-disable no-global-assign */
|
|
3
|
+
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
5
|
+
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
6
|
+
require = require('esm')(module, { cjs: true });
|
|
7
|
+
module.exports = require('./main.js');
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
const fs = require('fs');
|
|
2
|
+
const path = require('path');
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Returns a mapping from the names of symlinked packages to the physical paths of each package.
|
|
6
|
+
*/
|
|
7
|
+
module.exports = function getSymlinkedNodeModulesForDirectory(packagePath) {
|
|
8
|
+
const nodeModulesPath = path.join(packagePath, 'node_modules');
|
|
9
|
+
const directories = listDirectoryContents(nodeModulesPath);
|
|
10
|
+
|
|
11
|
+
const modules = {};
|
|
12
|
+
for (const directory of directories) {
|
|
13
|
+
// The directory is either a scope or a package
|
|
14
|
+
if (directory.startsWith('@')) {
|
|
15
|
+
const scopePath = path.join(nodeModulesPath, directory);
|
|
16
|
+
const scopedPackageDirectories = fs.readdirSync(scopePath);
|
|
17
|
+
for (const subdirectory of scopedPackageDirectories) {
|
|
18
|
+
const dependencyName = `${directory}/${subdirectory}`;
|
|
19
|
+
const dependencyPath = path.join(scopePath, subdirectory);
|
|
20
|
+
if (fs.lstatSync(dependencyPath).isSymbolicLink()) {
|
|
21
|
+
modules[dependencyName] = fs.realpathSync(dependencyPath);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
} else {
|
|
25
|
+
const dependencyName = directory;
|
|
26
|
+
const dependencyPath = path.join(nodeModulesPath, directory);
|
|
27
|
+
if (fs.lstatSync(dependencyPath).isSymbolicLink()) {
|
|
28
|
+
modules[dependencyName] = fs.realpathSync(dependencyPath);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return modules;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
function listDirectoryContents(directory) {
|
|
36
|
+
try {
|
|
37
|
+
return fs.readdirSync(directory);
|
|
38
|
+
} catch (e) {
|
|
39
|
+
if (e.code === 'ENOENT') {
|
|
40
|
+
return [];
|
|
41
|
+
}
|
|
42
|
+
throw e;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { promises as fsPromises } from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { fileURLToPath } from 'url';
|
|
4
|
+
|
|
5
|
+
// Function to define __dirname in ES Module scope
|
|
6
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
7
|
+
const __dirname = path.dirname(__filename);
|
|
8
|
+
|
|
9
|
+
// Dynamic import for sort-package-json
|
|
10
|
+
const sortPackageJson = await import('sort-package-json').then(module => module.default);
|
|
11
|
+
|
|
12
|
+
// Directories to process
|
|
13
|
+
const directories = [
|
|
14
|
+
path.join(__dirname, '../packages'),
|
|
15
|
+
path.join(__dirname, '../packages-modules'),
|
|
16
|
+
path.join(__dirname, '../servers'),
|
|
17
|
+
path.join(__dirname, '../portable-devices')
|
|
18
|
+
];
|
|
19
|
+
|
|
20
|
+
async function sortPackageJsonFile(filePath) {
|
|
21
|
+
const packageJson = JSON.parse(await fsPromises.readFile(filePath, 'utf8'));
|
|
22
|
+
const sortedPackageJson = sortPackageJson(packageJson);
|
|
23
|
+
await fsPromises.writeFile(filePath, JSON.stringify(sortedPackageJson, null, 2) + '\n');
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
async function sortAllPackageJsonFiles(dir) {
|
|
27
|
+
const files = await fsPromises.readdir(dir);
|
|
28
|
+
for (const file of files) {
|
|
29
|
+
const fullPath = path.join(dir, file);
|
|
30
|
+
const stat = await fsPromises.lstat(fullPath);
|
|
31
|
+
if (stat.isDirectory()) {
|
|
32
|
+
await sortAllPackageJsonFiles(fullPath);
|
|
33
|
+
} else if (file === 'package.json') {
|
|
34
|
+
await sortPackageJsonFile(fullPath);
|
|
35
|
+
console.log(`Sorted ${fullPath}`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
async function processDirectories(dirs) {
|
|
41
|
+
for (const dir of dirs) {
|
|
42
|
+
await sortAllPackageJsonFiles(dir);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
await processDirectories(directories);
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/* eslint-disable jest/require-hook */
|
|
2
|
+
/* eslint-disable no-loop-func */
|
|
3
|
+
/* eslint-disable no-undef */
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
5
|
+
/* eslint-disable @typescript-eslint/no-floating-promises */
|
|
6
|
+
/* eslint-disable no-restricted-syntax */
|
|
7
|
+
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
8
|
+
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
9
|
+
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
10
|
+
/* eslint-disable @typescript-eslint/no-shadow */
|
|
11
|
+
/* eslint-disable no-console */
|
|
12
|
+
/* eslint-disable @typescript-eslint/restrict-template-expressions */
|
|
13
|
+
/* eslint-disable consistent-return */
|
|
14
|
+
const glob = require('glob');
|
|
15
|
+
const path = require('path');
|
|
16
|
+
const fs = require('fs');
|
|
17
|
+
const simpleGit = require('simple-git');
|
|
18
|
+
|
|
19
|
+
const git = simpleGit();
|
|
20
|
+
|
|
21
|
+
const monorepoRoot = path.resolve(__dirname, '..');
|
|
22
|
+
|
|
23
|
+
const findPackageJsonFiles = () => {
|
|
24
|
+
return new Promise((resolve, reject) => {
|
|
25
|
+
glob(
|
|
26
|
+
`${monorepoRoot}/+(servers|portable-devices|packages|packages-modules)/**/package.json`,
|
|
27
|
+
{ onlyFiles: false, ignore: '**/node_modules/**' },
|
|
28
|
+
(err, files) => {
|
|
29
|
+
if (err) reject(`Unable to scan directory: ${err}`);
|
|
30
|
+
resolve(files);
|
|
31
|
+
}
|
|
32
|
+
);
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const buildPackageMap = async () => {
|
|
37
|
+
const packageJsonFiles = await findPackageJsonFiles();
|
|
38
|
+
const packageMap = new Map();
|
|
39
|
+
|
|
40
|
+
packageJsonFiles.forEach(file => {
|
|
41
|
+
const packageJson = JSON.parse(fs.readFileSync(file, 'utf8'));
|
|
42
|
+
if (packageJson.name) {
|
|
43
|
+
packageMap.set(packageJson.name, path.dirname(file));
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
return packageMap;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
const searchAndUpdate = (dependencies, filePath, obj, packageMap) => {
|
|
51
|
+
const packageDir = path.dirname(filePath);
|
|
52
|
+
|
|
53
|
+
for (const key in dependencies) {
|
|
54
|
+
if (packageMap.has(key)) {
|
|
55
|
+
const targetDir = packageMap.get(key);
|
|
56
|
+
const relativePath = path.relative(packageDir, targetDir);
|
|
57
|
+
dependencies[key] = `link:${relativePath}`;
|
|
58
|
+
const str = JSON.stringify(obj, null, 2);
|
|
59
|
+
fs.writeFileSync(filePath, str, 'utf8');
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
const updateDependencies = async () => {
|
|
65
|
+
const packageMap = await buildPackageMap();
|
|
66
|
+
const packageJsonFiles = await findPackageJsonFiles();
|
|
67
|
+
|
|
68
|
+
packageJsonFiles.forEach(file => {
|
|
69
|
+
if (!file.includes('node_modules')) {
|
|
70
|
+
fs.readFile(file, 'utf-8', (err, data) => {
|
|
71
|
+
if (err) return console.error(`Unable to scan directory: ${err}`);
|
|
72
|
+
try {
|
|
73
|
+
const obj = JSON.parse(data);
|
|
74
|
+
const { dependencies, peerDependencies, devDependencies } = obj;
|
|
75
|
+
searchAndUpdate(dependencies, file, obj, packageMap);
|
|
76
|
+
searchAndUpdate(peerDependencies, file, obj, packageMap);
|
|
77
|
+
searchAndUpdate(devDependencies, file, obj, packageMap);
|
|
78
|
+
} catch (err) {
|
|
79
|
+
console.error(`Errored at ${file}`);
|
|
80
|
+
console.error(err);
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
updateDependencies().then(() => {
|
|
88
|
+
git.add('.')
|
|
89
|
+
.then(() => {
|
|
90
|
+
git.status()
|
|
91
|
+
.then(status => {
|
|
92
|
+
console.log('POST GIT CHANGES', status);
|
|
93
|
+
if (status.modified.length) {
|
|
94
|
+
const fileArray = status.modified.filter(element => element.includes('package.json'));
|
|
95
|
+
const addArray = fileArray.map(element => `./${element}`);
|
|
96
|
+
git.add(addArray);
|
|
97
|
+
git.commit('Updated packages to use link for monorepo dependencies');
|
|
98
|
+
} else {
|
|
99
|
+
console.log('no change');
|
|
100
|
+
}
|
|
101
|
+
})
|
|
102
|
+
.catch(err => {
|
|
103
|
+
console.error(err);
|
|
104
|
+
});
|
|
105
|
+
})
|
|
106
|
+
.catch(err => console.error(err));
|
|
107
|
+
}).catch(err => console.error(err));
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/* eslint-disable jest/require-hook */
|
|
2
|
+
/* eslint-disable no-loop-func */
|
|
3
|
+
/* eslint-disable no-undef */
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
5
|
+
/* eslint-disable @typescript-eslint/no-floating-promises */
|
|
6
|
+
/* eslint-disable no-restricted-syntax */
|
|
7
|
+
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
8
|
+
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
9
|
+
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
10
|
+
/* eslint-disable @typescript-eslint/no-shadow */
|
|
11
|
+
/* eslint-disable no-console */
|
|
12
|
+
/* eslint-disable @typescript-eslint/restrict-template-expressions */
|
|
13
|
+
/* eslint-disable consistent-return */
|
|
14
|
+
const glob = require('glob');
|
|
15
|
+
const path = require('path');
|
|
16
|
+
const fs = require('fs');
|
|
17
|
+
|
|
18
|
+
const SERVER_FOLDER = './servers';
|
|
19
|
+
const simpleGit = require('simple-git');
|
|
20
|
+
|
|
21
|
+
const git = simpleGit();
|
|
22
|
+
|
|
23
|
+
const searchAndUpdate = (dependencies, filePath, obj) => {
|
|
24
|
+
const fileWrie = filePath;
|
|
25
|
+
const packageDir = path.dirname(filePath);
|
|
26
|
+
console.log('---PACKAGE DIR', packageDir);
|
|
27
|
+
for (const key in dependencies) {
|
|
28
|
+
if (dependencies[key].includes('link:')) {
|
|
29
|
+
const relativeDepFolder = dependencies[key].split('link:')[1];
|
|
30
|
+
console.log('--FOLDER ROAD', relativeDepFolder);
|
|
31
|
+
const dependencyFolder = path.join(packageDir, relativeDepFolder);
|
|
32
|
+
try {
|
|
33
|
+
fs.readdirSync(dependencyFolder);
|
|
34
|
+
} catch (err) {
|
|
35
|
+
|
|
36
|
+
console.log(`--- err ${err.message}`);
|
|
37
|
+
console.log(
|
|
38
|
+
`err Search for dependency of ${filePath} with package path ${relativeDepFolder} not found`,
|
|
39
|
+
);
|
|
40
|
+
throw err;
|
|
41
|
+
}
|
|
42
|
+
glob(`${dependencyFolder}/package.json`, { ignore: '**/node_modules/**' }, (err, files) => {
|
|
43
|
+
if (err) return console.error(`Unable to scan directory: ${err}`);
|
|
44
|
+
console.log(files);
|
|
45
|
+
files.forEach((file) => {
|
|
46
|
+
fs.readFile(file, 'utf-8', (err, data) => {
|
|
47
|
+
if (err) return console.error(`Unable to scan directory: ${err}`);
|
|
48
|
+
try {
|
|
49
|
+
const objVersion = JSON.parse(data);
|
|
50
|
+
const { version } = objVersion;
|
|
51
|
+
dependencies[key] = `${version}`;
|
|
52
|
+
const str = JSON.stringify(obj, null, 2);
|
|
53
|
+
fs.writeFileSync(fileWrie, str, 'ascii');
|
|
54
|
+
} catch (err) {
|
|
55
|
+
console.error(`Failed at file: ${file}`)
|
|
56
|
+
throw (err);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
glob(
|
|
67
|
+
'./+(servers|portable-devices|packages|packages-modules)/**/package.json',
|
|
68
|
+
{ onlyFiles: false, ignore: '**/node_modules/**' },
|
|
69
|
+
(err, files) => {
|
|
70
|
+
if (err) return console.error(`Unable to scan directory: ${err}`);
|
|
71
|
+
files.forEach((file) => {
|
|
72
|
+
if (!file.includes('node_modules')) {
|
|
73
|
+
fs.readFile(file, 'utf-8', (err, data) => {
|
|
74
|
+
if (err) return console.error(`Unable to scan directory: ${err}`);
|
|
75
|
+
try {
|
|
76
|
+
const obj = JSON.parse(data);
|
|
77
|
+
const { dependencies, peerDependencies, devDependencies } = obj;
|
|
78
|
+
searchAndUpdate(dependencies, file, obj);
|
|
79
|
+
searchAndUpdate(peerDependencies, file, obj);
|
|
80
|
+
searchAndUpdate(devDependencies, file, obj);
|
|
81
|
+
} catch (err) {
|
|
82
|
+
console.error(`Errored at ${file}`);
|
|
83
|
+
console.error(err);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
git.add('.')
|
|
89
|
+
.then(() => {
|
|
90
|
+
git.status()
|
|
91
|
+
.then((status) => {
|
|
92
|
+
console.log('POST GIT CHANGES', status);
|
|
93
|
+
if (status.modified.length) {
|
|
94
|
+
const fileArray = status.modified.filter((element) => element.includes('package.json'));
|
|
95
|
+
const addArray = fileArray.map((element) => `./${element}`);
|
|
96
|
+
git.add(addArray);
|
|
97
|
+
git.commit('corrected packages version!');
|
|
98
|
+
} else console.log('no change');
|
|
99
|
+
})
|
|
100
|
+
.catch((err) => {
|
|
101
|
+
console.error(err);
|
|
102
|
+
});
|
|
103
|
+
})
|
|
104
|
+
.catch((err) => console.error(err));
|
|
105
|
+
},
|
|
106
|
+
);
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
process.env.ENV_FILE !== null && require('dotenv').config({ path: process.env.ENV_FILE });
|
|
2
|
+
const webpack = require('webpack');
|
|
3
|
+
const path = require('path');
|
|
4
|
+
const MiniCSSExtractPlugin = require('mini-css-extract-plugin');
|
|
5
|
+
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
|
|
6
|
+
const nodeExternals = require('webpack-node-externals');
|
|
7
|
+
const NodemonPlugin = require('nodemon-webpack-plugin'); // Ding
|
|
8
|
+
const LoadablePlugin = require('@loadable/webpack-plugin');
|
|
9
|
+
const { WebpackManifestPlugin } = require('webpack-manifest-plugin');
|
|
10
|
+
|
|
11
|
+
const modulenameExtra = process.env.BUILD_MODULE_TO_INCLUDE ? `${process.env.BUILD_MODULE_TO_INCLUDE}|` : '';
|
|
12
|
+
let modulenameRegex;
|
|
13
|
+
|
|
14
|
+
try {
|
|
15
|
+
modulenameRegex = new RegExp(
|
|
16
|
+
`(${modulenameExtra}@test-stack*|ts-invariant|webpack/hot/poll)|(\\.(css|less|scss|png|ico|jpg|gif|xml|woff|woff2|otf|ttf|eot|svg)(\\?[0-9a-z]+)?$)`
|
|
17
|
+
);
|
|
18
|
+
console.log('Module Name Regex: ', modulenameRegex);
|
|
19
|
+
} catch (error) {
|
|
20
|
+
console.error('Error creating regex for module name: ', error);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if (process.env.BUILD_MODULE_TO_INCLUDE) {
|
|
24
|
+
console.log('Build Module to include (BUILD_MODULE_TO_INCLUDE): ', process.env.BUILD_MODULE_TO_INCLUDE);
|
|
25
|
+
} else {
|
|
26
|
+
console.log('BUILD_MODULE_TO_INCLUDE is not set.');
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const config = ({ buildConfig, indexFilePath, currentDir }) => ({
|
|
30
|
+
entry: {
|
|
31
|
+
index: (process.env.NODE_ENV !== 'production' ? ['webpack/hot/poll?200'] : []).concat([
|
|
32
|
+
'raf/polyfill',
|
|
33
|
+
indexFilePath,
|
|
34
|
+
]),
|
|
35
|
+
},
|
|
36
|
+
name: 'server',
|
|
37
|
+
module: {
|
|
38
|
+
rules: [
|
|
39
|
+
{ test: /\.mjs$/, include: /node_modules/, type: 'javascript/auto' },
|
|
40
|
+
{
|
|
41
|
+
test: /\.(png|ico|jpg|gif|xml)$/,
|
|
42
|
+
use: { loader: 'url-loader', options: { name: '[fullhash].[ext]', limit: 100000 } },
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/,
|
|
46
|
+
use: { loader: 'url-loader', options: { name: '[fullhash].[ext]', limit: 100000 } },
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
test: /\.(otf|ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
|
|
50
|
+
use: { loader: 'file-loader', options: { name: '[fullhash].[ext]' } },
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
test: /\.css$/,
|
|
54
|
+
use: [
|
|
55
|
+
process.env.NODE_ENV === 'production'
|
|
56
|
+
? { loader: MiniCSSExtractPlugin.loader }
|
|
57
|
+
: { loader: 'style-loader' },
|
|
58
|
+
{ loader: 'css-loader', options: { sourceMap: true, importLoaders: 1 } },
|
|
59
|
+
{ loader: 'postcss-loader', options: { sourceMap: true } },
|
|
60
|
+
],
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
test: /\.scss$/,
|
|
64
|
+
use: [
|
|
65
|
+
process.env.NODE_ENV === 'production'
|
|
66
|
+
? { loader: MiniCSSExtractPlugin.loader }
|
|
67
|
+
: { loader: 'style-loader' },
|
|
68
|
+
{ loader: 'css-loader', options: { sourceMap: true, importLoaders: 1 } },
|
|
69
|
+
{ loader: 'postcss-loader', options: { sourceMap: true } },
|
|
70
|
+
{ loader: 'sass-loader', options: { sourceMap: true } },
|
|
71
|
+
],
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
test: /\.less$/,
|
|
75
|
+
use: [
|
|
76
|
+
process.env.NODE_ENV === 'production'
|
|
77
|
+
? { loader: MiniCSSExtractPlugin.loader }
|
|
78
|
+
: { loader: 'style-loader' },
|
|
79
|
+
{ loader: 'css-loader', options: { sourceMap: true, importLoaders: 1 } },
|
|
80
|
+
{ loader: 'postcss-loader', options: { sourceMap: true } },
|
|
81
|
+
{ loader: 'less-loader', options: { lessOptions: { javascriptEnabled: true }, sourceMap: true } },
|
|
82
|
+
],
|
|
83
|
+
},
|
|
84
|
+
{ test: /\.graphqls/, use: { loader: 'raw-loader' } },
|
|
85
|
+
{ test: /\.(graphql|gql)$/, use: [{ loader: 'graphql-tag/loader' }] },
|
|
86
|
+
{
|
|
87
|
+
test: /\.(mjs|mts|[tj]sx?)$/,
|
|
88
|
+
use: {
|
|
89
|
+
loader: 'babel-loader',
|
|
90
|
+
options: { babelrc: true, rootMode: 'upward-optional' },
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
{ test: /locales/, use: { loader: '@alienfast/i18next-loader' } },
|
|
94
|
+
],
|
|
95
|
+
unsafeCache: false,
|
|
96
|
+
},
|
|
97
|
+
resolve: {
|
|
98
|
+
symlinks: true,
|
|
99
|
+
cacheWithContext: false,
|
|
100
|
+
unsafeCache: false,
|
|
101
|
+
extensions: [
|
|
102
|
+
'.web.mjs',
|
|
103
|
+
'.web.js',
|
|
104
|
+
'.web.jsx',
|
|
105
|
+
'.web.ts',
|
|
106
|
+
'.web.tsx',
|
|
107
|
+
'.mjs',
|
|
108
|
+
'.js',
|
|
109
|
+
'.jsx',
|
|
110
|
+
'.ts',
|
|
111
|
+
'.tsx',
|
|
112
|
+
'.json',
|
|
113
|
+
],
|
|
114
|
+
},
|
|
115
|
+
watchOptions: { ignored: /dist/ },
|
|
116
|
+
output: {
|
|
117
|
+
pathinfo: false,
|
|
118
|
+
filename: '[name].js',
|
|
119
|
+
path: path.join(currentDir, 'dist'),
|
|
120
|
+
publicPath: '/',
|
|
121
|
+
sourceMapFilename: '[name].[chunkhash][ext].map',
|
|
122
|
+
},
|
|
123
|
+
devtool: process.env.NODE_ENV === 'production' ? 'nosources-source-map' : 'cheap-module-source-map',
|
|
124
|
+
mode: process.env.NODE_ENV || 'development',
|
|
125
|
+
performance: { hints: false },
|
|
126
|
+
plugins: (process.env.NODE_ENV !== 'production'
|
|
127
|
+
? [
|
|
128
|
+
// new Dotenv(),
|
|
129
|
+
new webpack.HotModuleReplacementPlugin(),
|
|
130
|
+
new NodemonPlugin({ script: './dist/index.js' }),
|
|
131
|
+
]
|
|
132
|
+
: []
|
|
133
|
+
).concat([
|
|
134
|
+
new MiniCSSExtractPlugin({
|
|
135
|
+
chunkFilename: '[name].[id].[chunkhash].css',
|
|
136
|
+
filename: `[name].[chunkhash].css`,
|
|
137
|
+
}),
|
|
138
|
+
new CleanWebpackPlugin({ cleanOnceBeforeBuildPatterns: ['dist'] }),
|
|
139
|
+
new webpack.BannerPlugin({ banner: 'require("source-map-support").install();', raw: true, entryOnly: true }),
|
|
140
|
+
new webpack.DefinePlugin(
|
|
141
|
+
Object.assign(
|
|
142
|
+
...Object.entries(buildConfig).map(([k, v]) => ({
|
|
143
|
+
[k]: typeof v !== 'string' ? v : `"${v.replace(/\\/g, '\\\\')}"`,
|
|
144
|
+
})),
|
|
145
|
+
),
|
|
146
|
+
),
|
|
147
|
+
new WebpackManifestPlugin({ fileName: 'assets.json' }),
|
|
148
|
+
new LoadablePlugin(),
|
|
149
|
+
]),
|
|
150
|
+
target: 'node',
|
|
151
|
+
externals: [
|
|
152
|
+
nodeExternals(),
|
|
153
|
+
nodeExternals({
|
|
154
|
+
modulesDir: path.resolve(currentDir, '../../node_modules'),
|
|
155
|
+
allowlist: [modulenameRegex],
|
|
156
|
+
}),
|
|
157
|
+
],
|
|
158
|
+
optimization: {
|
|
159
|
+
concatenateModules: false,
|
|
160
|
+
minimize: false,
|
|
161
|
+
},
|
|
162
|
+
node: { __dirname: true, __filename: true },
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
module.exports = config;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* eslint-disable no-multi-assign */
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
3
|
+
/* eslint-disable func-names */
|
|
4
|
+
/* eslint-disable no-undef */
|
|
5
|
+
|
|
6
|
+
const path = require('path');
|
|
7
|
+
/* helper function to get into build directory */
|
|
8
|
+
module.exports = libPath = function (name) {
|
|
9
|
+
if (undefined === name) {
|
|
10
|
+
return path.join('dist');
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
return path.join('lib', name);
|
|
14
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
const dependencyPlatforms = {
|
|
2
|
+
'@cdm-logger/server': 'server',
|
|
3
|
+
bunyan: 'server',
|
|
4
|
+
'export-dir': 'server',
|
|
5
|
+
express: 'server',
|
|
6
|
+
'body-parser': 'server',
|
|
7
|
+
envalid: 'server',
|
|
8
|
+
'apollo-server-express': 'server',
|
|
9
|
+
'graphql-subscriptions': 'server',
|
|
10
|
+
'graphql-tools': 'server',
|
|
11
|
+
'graphql-tag': ['server', 'web'],
|
|
12
|
+
'immutability-helper': ['ios', 'android', 'web'],
|
|
13
|
+
'isomorphic-fetch': 'server',
|
|
14
|
+
knex: 'server',
|
|
15
|
+
mysql2: 'server',
|
|
16
|
+
persistgraphql: ['server', 'web'],
|
|
17
|
+
'graphql-nats-subscriptions': 'server',
|
|
18
|
+
'graphql-server-core': 'server',
|
|
19
|
+
helmet: 'server',
|
|
20
|
+
'hemera-joi': 'server',
|
|
21
|
+
'hemera-plugin': 'server',
|
|
22
|
+
'hemera-safe-promises': 'server',
|
|
23
|
+
'hemera-sql-store': 'server',
|
|
24
|
+
'hemera-zipkin': 'server',
|
|
25
|
+
inversify: 'server',
|
|
26
|
+
morgan: 'server',
|
|
27
|
+
nats: 'server',
|
|
28
|
+
'nats-hemera': 'server',
|
|
29
|
+
nconf: 'server',
|
|
30
|
+
'node-pre-gyp': 'server',
|
|
31
|
+
'prop-types': 'web',
|
|
32
|
+
ramda: ['web', 'server'],
|
|
33
|
+
'reflect-metadata': 'server',
|
|
34
|
+
sequelize: 'server',
|
|
35
|
+
'react-native': ['ios', 'android'],
|
|
36
|
+
'react-navigation': ['ios', 'android'],
|
|
37
|
+
'serialize-javascript': 'server',
|
|
38
|
+
'source-map-support': 'server',
|
|
39
|
+
sqlite3: 'server',
|
|
40
|
+
'styled-components': ['server', 'web'],
|
|
41
|
+
ws: ['server'],
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
module.exports = { dependencyPlatforms };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const config = {
|
|
2
|
+
babelrc: false,
|
|
3
|
+
presets: ["@babel/preset-env", "@babel/preset-react",
|
|
4
|
+
// ["@babel/preset-typescript", { isTSX: true, allExtensions: true }]
|
|
5
|
+
],
|
|
6
|
+
plugins: [
|
|
7
|
+
["@babel/plugin-proposal-class-properties", { loose: true }],
|
|
8
|
+
"@babel/plugin-transform-runtime",
|
|
9
|
+
"@babel/plugin-syntax-dynamic-import",
|
|
10
|
+
"@babel/plugin-proposal-object-rest-spread",
|
|
11
|
+
],
|
|
12
|
+
};
|
|
13
|
+
module.exports = require("babel-jest").createTransformer(config);
|
|
14
|
+
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2020",
|
|
4
|
+
"module": "ES2022",
|
|
5
|
+
"moduleResolution": "node",
|
|
6
|
+
"esModuleInterop": true,
|
|
7
|
+
"jsx": "react",
|
|
8
|
+
"skipLibCheck": true,
|
|
9
|
+
"declaration": true,
|
|
10
|
+
"experimentalDecorators": true,
|
|
11
|
+
"emitDecoratorMetadata": true,
|
|
12
|
+
"preserveConstEnums": true,
|
|
13
|
+
"sourceMap": true,
|
|
14
|
+
"noImplicitAny": false,
|
|
15
|
+
"allowSyntheticDefaultImports": true,
|
|
16
|
+
"pretty": true,
|
|
17
|
+
"removeComments": false,
|
|
18
|
+
"lib": [
|
|
19
|
+
"ES2020",
|
|
20
|
+
"dom",
|
|
21
|
+
"esnext.asynciterable"
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
"include": ["src", "typings/*.d.ts"],
|
|
25
|
+
"exclude": ["node_modules"]
|
|
26
|
+
}
|