@common-stack/generate-plugin 6.0.6-alpha.1 → 6.0.6-alpha.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +40 -0
- package/cde-config.json +43 -42
- package/generators.json +5 -0
- package/lib/{constants/index.cjs → common/constants.cjs} +1 -1
- package/lib/common/constants.cjs.map +1 -0
- package/lib/{constants/index.mjs → common/constants.mjs} +1 -1
- package/lib/common/constants.mjs.map +1 -0
- package/lib/generators/add-backend/files/package.json +2 -3
- package/lib/generators/add-backend/generator.cjs +12 -3
- package/lib/generators/add-backend/generator.cjs.map +1 -1
- package/lib/generators/add-backend/generator.mjs +12 -3
- package/lib/generators/add-backend/generator.mjs.map +1 -1
- package/lib/generators/add-backend/schema.json +6 -1
- package/lib/generators/add-frontend/generator.cjs +14 -14
- package/lib/generators/add-frontend/generator.cjs.map +1 -1
- package/lib/generators/add-frontend/generator.mjs +9 -9
- package/lib/generators/add-frontend/generator.mjs.map +1 -1
- package/lib/generators/add-frontend/schema.json +8 -3
- package/lib/generators/add-frontend/templates/package.json +4 -3
- package/lib/generators/add-frontend/templates/tools/mergeConfig.js +3 -0
- package/lib/generators/add-fullstack/files/package.json +9 -8
- package/lib/generators/add-fullstack/generator.cjs +39 -30
- package/lib/generators/add-fullstack/generator.cjs.map +1 -1
- package/lib/generators/add-fullstack/generator.mjs +39 -30
- package/lib/generators/add-fullstack/generator.mjs.map +1 -1
- package/lib/generators/add-fullstack/updates/htmlPluginUpdate.cjs +8 -0
- package/lib/generators/add-fullstack/updates/htmlPluginUpdate.cjs.map +1 -0
- package/lib/generators/add-fullstack/updates/htmlPluginUpdate.d.ts +2 -0
- package/lib/generators/add-fullstack/updates/htmlPluginUpdate.mjs +8 -0
- package/lib/generators/add-fullstack/updates/htmlPluginUpdate.mjs.map +1 -0
- package/lib/generators/add-fullstack/updates/ignoreUpdate.cjs +19 -0
- package/lib/generators/add-fullstack/updates/ignoreUpdate.cjs.map +1 -0
- package/lib/generators/add-fullstack/updates/ignoreUpdate.d.ts +3 -0
- package/lib/generators/add-fullstack/updates/ignoreUpdate.mjs +19 -0
- package/lib/generators/add-fullstack/updates/ignoreUpdate.mjs.map +1 -0
- package/lib/generators/add-fullstack/updates/index.d.ts +4 -0
- package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.cjs +5 -4
- package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.cjs.map +1 -1
- package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.d.ts +2 -1
- package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.mjs +5 -4
- package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.mjs.map +1 -1
- package/lib/generators/add-fullstack/updates/lernaJsonUpdate.cjs +45 -0
- package/lib/generators/add-fullstack/updates/lernaJsonUpdate.cjs.map +1 -0
- package/lib/generators/add-fullstack/updates/lernaJsonUpdate.d.ts +3 -0
- package/lib/generators/add-fullstack/updates/lernaJsonUpdate.mjs +45 -0
- package/lib/generators/add-fullstack/updates/lernaJsonUpdate.mjs.map +1 -0
- package/lib/generators/add-fullstack/updates/licenseUpdate.cjs +19 -0
- package/lib/generators/add-fullstack/updates/licenseUpdate.cjs.map +1 -0
- package/lib/generators/add-fullstack/updates/licenseUpdate.d.ts +2 -0
- package/lib/generators/add-fullstack/updates/licenseUpdate.mjs +19 -0
- package/lib/generators/add-fullstack/updates/licenseUpdate.mjs.map +1 -0
- package/lib/generators/add-fullstack/updates/packageJsonUpdate.cjs +38 -4
- package/lib/generators/add-fullstack/updates/packageJsonUpdate.cjs.map +1 -1
- package/lib/generators/add-fullstack/updates/packageJsonUpdate.d.ts +2 -1
- package/lib/generators/add-fullstack/updates/packageJsonUpdate.mjs +38 -4
- package/lib/generators/add-fullstack/updates/packageJsonUpdate.mjs.map +1 -1
- package/lib/generators/add-moleculer/files/charts/chart/Chart.yaml +1 -1
- package/lib/generators/add-moleculer/files/package.json +5 -5
- package/lib/generators/add-moleculer/generator.cjs +7 -4
- package/lib/generators/add-moleculer/generator.cjs.map +1 -1
- package/lib/generators/add-moleculer/generator.mjs +7 -4
- package/lib/generators/add-moleculer/generator.mjs.map +1 -1
- package/lib/generators/add-moleculer/schema.json +9 -4
- package/lib/generators/add-package/generator.cjs +40 -0
- package/lib/generators/add-package/generator.cjs.map +1 -0
- package/lib/generators/add-package/generator.d.ts +5 -0
- package/lib/generators/add-package/generator.mjs +40 -0
- package/lib/generators/add-package/generator.mjs.map +1 -0
- package/lib/generators/{add-client-package → add-package}/schema.json +7 -2
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -4
- package/lib/index.mjs +1 -1
- package/lib/utils/filesConfig.cjs +76 -0
- package/lib/utils/filesConfig.cjs.map +1 -0
- package/lib/utils/filesConfig.d.ts +2 -0
- package/lib/utils/filesConfig.mjs +76 -0
- package/lib/utils/filesConfig.mjs.map +1 -0
- package/lib/utils/index.cjs +45 -2
- package/lib/utils/index.cjs.map +1 -1
- package/lib/utils/index.d.ts +5 -0
- package/lib/utils/index.mjs +45 -2
- package/lib/utils/index.mjs.map +1 -1
- package/lib/utils/syncConfig.cjs +116 -0
- package/lib/utils/syncConfig.cjs.map +1 -0
- package/lib/utils/syncConfig.d.ts +9 -0
- package/lib/utils/syncConfig.mjs +116 -0
- package/lib/utils/syncConfig.mjs.map +1 -0
- package/package.json +3 -4
- package/rollup.config.mjs +2 -8
- package/src/generators/add-backend/generator.ts +14 -3
- package/src/generators/add-backend/schema.d.ts +1 -0
- package/src/generators/add-backend/schema.json +6 -1
- package/src/generators/add-frontend/generator.ts +10 -9
- package/src/generators/add-frontend/schema.d.ts +1 -0
- package/src/generators/add-frontend/schema.json +8 -3
- package/src/generators/add-fullstack/files/LICENSE-IST +39 -0
- package/src/generators/add-fullstack/files/package.json +9 -8
- package/src/generators/add-fullstack/generator.ts +64 -38
- package/src/generators/add-fullstack/updates/htmlPluginUpdate.ts +11 -0
- package/src/generators/add-fullstack/updates/ignoreUpdate.ts +23 -0
- package/src/generators/add-fullstack/updates/index.ts +4 -0
- package/src/generators/add-fullstack/updates/jenkinsfileUpdate.ts +6 -4
- package/src/generators/add-fullstack/updates/lernaJsonUpdate.ts +53 -0
- package/src/generators/add-fullstack/updates/licenseUpdate.ts +23 -0
- package/src/generators/add-fullstack/updates/packageJsonUpdate.ts +45 -4
- package/src/generators/add-moleculer/files/charts/chart/Chart.yaml +1 -1
- package/src/generators/add-moleculer/files/package.json +5 -5
- package/src/generators/add-moleculer/generator.spec.ts +1 -1
- package/src/generators/add-moleculer/generator.ts +8 -3
- package/src/generators/add-moleculer/schema.d.ts +2 -1
- package/src/generators/add-moleculer/schema.json +9 -4
- package/src/generators/{add-core-package → add-package}/generator.spec.ts +5 -5
- package/src/generators/add-package/generator.ts +54 -0
- package/src/generators/add-package/schema.d.ts +5 -0
- package/{lib/generators/add-server-package → src/generators/add-package}/schema.json +7 -2
- package/src/index.ts +1 -4
- package/src/utils/filesConfig.ts +84 -0
- package/src/utils/index.ts +50 -0
- package/src/utils/syncConfig.ts +127 -0
- package/lib/constants/index.cjs.map +0 -1
- package/lib/constants/index.mjs.map +0 -1
- package/lib/generators/add-browser-package/files/jest.config.js +0 -8
- package/lib/generators/add-browser-package/files/package.json +0 -49
- package/lib/generators/add-browser-package/files/rollup.config.mjs +0 -29
- package/lib/generators/add-browser-package/files/src/index.ts.template +0 -4
- package/lib/generators/add-browser-package/files/src/interfaces/index.ts.template +0 -1
- package/lib/generators/add-browser-package/files/src/interfaces/interfaces.ts.template +0 -1
- package/lib/generators/add-browser-package/files/src/module.tsx.template +0 -7
- package/lib/generators/add-browser-package/files/tsconfig.json +0 -28
- package/lib/generators/add-browser-package/files/webpack.config.js +0 -71
- package/lib/generators/add-browser-package/generator.cjs +0 -17
- package/lib/generators/add-browser-package/generator.cjs.map +0 -1
- package/lib/generators/add-browser-package/generator.d.ts +0 -5
- package/lib/generators/add-browser-package/generator.mjs +0 -17
- package/lib/generators/add-browser-package/generator.mjs.map +0 -1
- package/lib/generators/add-browser-package/schema.json +0 -19
- package/lib/generators/add-client-package/files/CHANGELOG.md +0 -807
- package/lib/generators/add-client-package/files/jest.config.js +0 -13
- package/lib/generators/add-client-package/files/package.json +0 -30
- package/lib/generators/add-client-package/files/rollup.config.mjs +0 -29
- package/lib/generators/add-client-package/files/src/components/index.tsx.template +0 -1
- package/lib/generators/add-client-package/files/src/index.ts.template +0 -1
- package/lib/generators/add-client-package/files/tsconfig.json +0 -27
- package/lib/generators/add-client-package/files/webpack.config.js +0 -72
- package/lib/generators/add-client-package/generator.cjs +0 -17
- package/lib/generators/add-client-package/generator.cjs.map +0 -1
- package/lib/generators/add-client-package/generator.d.ts +0 -5
- package/lib/generators/add-client-package/generator.mjs +0 -17
- package/lib/generators/add-client-package/generator.mjs.map +0 -1
- package/lib/generators/add-client-package/generator.spec.d.ts +0 -1
- package/lib/generators/add-core-package/files/jest.config.js +0 -3
- package/lib/generators/add-core-package/files/package.json +0 -30
- package/lib/generators/add-core-package/files/rollup.config.mjs +0 -65
- package/lib/generators/add-core-package/files/src/constants/index.ts.template +0 -1
- package/lib/generators/add-core-package/files/src/constants/types.ts.template +0 -3
- package/lib/generators/add-core-package/files/src/index.ts.template +0 -2
- package/lib/generators/add-core-package/files/src/types/index.ts.template +0 -1
- package/lib/generators/add-core-package/files/src/types/types.ts.template +0 -17
- package/lib/generators/add-core-package/files/tsconfig.json +0 -22
- package/lib/generators/add-core-package/files/webpack.config.js +0 -53
- package/lib/generators/add-core-package/generator.cjs +0 -17
- package/lib/generators/add-core-package/generator.cjs.map +0 -1
- package/lib/generators/add-core-package/generator.d.ts +0 -5
- package/lib/generators/add-core-package/generator.mjs +0 -17
- package/lib/generators/add-core-package/generator.mjs.map +0 -1
- package/lib/generators/add-core-package/generator.spec.d.ts +0 -1
- package/lib/generators/add-core-package/schema.json +0 -19
- package/lib/generators/add-fullstack/files/CHANGELOG.md +0 -20
- package/lib/generators/add-fullstack/files/docs/Moleculer.md +0 -10
- package/lib/generators/add-fullstack/files/docs/References.md +0 -13
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/Adding_New_Modules.md +0 -84
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/Desktop_Setup.md +0 -12
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/DoAndDont.md +0 -35
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/GitHooks.md +0 -3
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/HowToContribute.md +0 -14
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/How_to_Run_Various_Options.md +0 -95
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/Known_Issues.md +0 -19
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/Lint_And_Formatter.md +0 -9
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/Project_Setup.md +0 -159
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/Dynamically_Render_Components.md +0 -57
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/HOC_With_Render_Props.md +0 -87
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/Mongoose_Connection.md +0 -45
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/React_Componet_Extensions.md +0 -11
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/RxJS_notes.md +0 -3
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/Styles_With_Type.md +0 -52
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/Tutorials.md +0 -12
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/faq.md +0 -17
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/installation_issues.md +0 -9
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/lerna-build-tools.md +0 -504
- package/lib/generators/add-fullstack/files/docs/development/CodeContribution/lerna-yarn-workspaces.md +0 -82
- package/lib/generators/add-fullstack/files/docs/development/Database/mongodb-test.md +0 -6
- package/lib/generators/add-fullstack/files/docs/development/Deployment/How_To_Setup_Jenkins.md +0 -60
- package/lib/generators/add-fullstack/files/docs/development/Deployment/JenkinsDeployment.md +0 -16
- package/lib/generators/add-fullstack/files/docs/development/Expo/expo-commands.md +0 -5
- package/lib/generators/add-fullstack/files/docs/development/Mobile/How_To_Make_Expo_Wrok_With_Monorepos.md +0 -9
- package/lib/generators/add-fullstack/files/docs/development/Mobile/React-Native-FAQ.md +0 -4
- package/lib/generators/add-fullstack/files/docs/development/Mobile/Run_mobile.md +0 -9
- package/lib/generators/add-server-package/files/CHANGELOG.md +0 -2599
- package/lib/generators/add-server-package/files/LICENSE +0 -674
- package/lib/generators/add-server-package/files/jest.config.js +0 -32
- package/lib/generators/add-server-package/files/package.json +0 -78
- package/lib/generators/add-server-package/files/rollup.config.mjs +0 -30
- package/lib/generators/add-server-package/files/src/constants/constants.ts.template +0 -62
- package/lib/generators/add-server-package/files/src/constants/index.ts.template +0 -1
- package/lib/generators/add-server-package/files/src/constants/types.ts.template +0 -21
- package/lib/generators/add-server-package/files/src/index.ts.template +0 -6
- package/lib/generators/add-server-package/files/src/module.ts.template +0 -6
- package/lib/generators/add-server-package/files/tsconfig.json +0 -27
- package/lib/generators/add-server-package/generator.cjs +0 -17
- package/lib/generators/add-server-package/generator.cjs.map +0 -1
- package/lib/generators/add-server-package/generator.d.ts +0 -5
- package/lib/generators/add-server-package/generator.mjs +0 -17
- package/lib/generators/add-server-package/generator.mjs.map +0 -1
- package/lib/generators/add-server-package/generator.spec.d.ts +0 -1
- package/src/generators/add-browser-package/generator.spec.ts +0 -20
- package/src/generators/add-browser-package/generator.ts +0 -24
- package/src/generators/add-browser-package/schema.d.ts +0 -4
- package/src/generators/add-browser-package/schema.json +0 -19
- package/src/generators/add-client-package/generator.spec.ts +0 -20
- package/src/generators/add-client-package/generator.ts +0 -24
- package/src/generators/add-client-package/schema.d.ts +0 -4
- package/src/generators/add-client-package/schema.json +0 -19
- package/src/generators/add-core-package/generator.ts +0 -24
- package/src/generators/add-core-package/schema.d.ts +0 -4
- package/src/generators/add-core-package/schema.json +0 -19
- package/src/generators/add-fullstack/files/CHANGELOG.md +0 -28
- package/src/generators/add-fullstack/files/docs/Moleculer.md +0 -10
- package/src/generators/add-fullstack/files/docs/References.md +0 -13
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/Adding_New_Modules.md +0 -84
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/Desktop_Setup.md +0 -12
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/DoAndDont.md +0 -35
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/GitHooks.md +0 -3
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/HowToContribute.md +0 -14
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/How_to_Run_Various_Options.md +0 -95
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/Known_Issues.md +0 -19
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/Lint_And_Formatter.md +0 -9
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/Project_Setup.md +0 -159
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/Dynamically_Render_Components.md +0 -57
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/HOC_With_Render_Props.md +0 -87
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/Mongoose_Connection.md +0 -45
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/React_Componet_Extensions.md +0 -11
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/RxJS_notes.md +0 -3
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/Styles_With_Type.md +0 -52
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/Tutorials.md +0 -12
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/faq.md +0 -17
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/installation_issues.md +0 -9
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/lerna-build-tools.md +0 -504
- package/src/generators/add-fullstack/files/docs/development/CodeContribution/lerna-yarn-workspaces.md +0 -82
- package/src/generators/add-fullstack/files/docs/development/Database/mongodb-test.md +0 -6
- package/src/generators/add-fullstack/files/docs/development/Deployment/How_To_Setup_Jenkins.md +0 -60
- package/src/generators/add-fullstack/files/docs/development/Deployment/JenkinsDeployment.md +0 -16
- package/src/generators/add-fullstack/files/docs/development/Expo/expo-commands.md +0 -5
- package/src/generators/add-fullstack/files/docs/development/Mobile/How_To_Make_Expo_Wrok_With_Monorepos.md +0 -9
- package/src/generators/add-fullstack/files/docs/development/Mobile/React-Native-FAQ.md +0 -4
- package/src/generators/add-fullstack/files/docs/development/Mobile/Run_mobile.md +0 -9
- package/src/generators/add-server-package/generator.spec.ts +0 -20
- package/src/generators/add-server-package/generator.ts +0 -24
- package/src/generators/add-server-package/schema.d.ts +0 -4
- package/src/generators/add-server-package/schema.json +0 -19
- /package/lib/{constants/index.d.ts → common/constants.d.ts} +0 -0
- /package/lib/generators/{add-browser-package/files/LICENSE → add-fullstack/files/LICENSE-GNU} +0 -0
- /package/lib/generators/{add-core-package/files/LICENSE → add-fullstack/files/LICENSE-IST} +0 -0
- /package/lib/generators/add-fullstack/files/{LICENSE → LICENSE-MIT} +0 -0
- /package/lib/generators/{add-browser-package → add-package}/generator.spec.d.ts +0 -0
- /package/src/{constants/index.ts → common/constants.ts} +0 -0
- /package/{lib/generators/add-client-package/files/LICENSE → src/generators/add-fullstack/files/LICENSE-GNU} +0 -0
- /package/src/generators/add-fullstack/files/{LICENSE → LICENSE-MIT} +0 -0
|
@@ -61,9 +61,9 @@
|
|
|
61
61
|
"jest": "./node_modules/.bin/jest",
|
|
62
62
|
"lerna": "lerna bootstrap",
|
|
63
63
|
"prelernapublish": "git checkout publish && git pull origin publish && git merge -s recursive -X theirs master -m 'merge from master' && yarn gitcommit && node tools/update-dependency-version.js && yarn gitcommit",
|
|
64
|
-
"lernapublish": "lerna publish --ignore-scripts
|
|
65
|
-
"postlernapublish": "git checkout master",
|
|
66
|
-
"lint": "eslint --ext js --ext ts --ext md",
|
|
64
|
+
"lernapublish": "lerna publish patch --ignore-scripts",
|
|
65
|
+
"postlernapublish": "yarn update-lerna-on-develop && git checkout master",
|
|
66
|
+
"lint": "eslint --ext js --ext ts --ext tsx --ext md",
|
|
67
67
|
"lint:ci": "yarn lint . --format junit",
|
|
68
68
|
"lint:fix": "yarn lint -- --fix",
|
|
69
69
|
"lint:md": "markdownlint",
|
|
@@ -75,6 +75,7 @@
|
|
|
75
75
|
"publish:force": "yarn publish:forceManual --yes",
|
|
76
76
|
"publish:forceManual": "yarn lernapublish --force-publish=*",
|
|
77
77
|
"publish:push": "yarn prelernapublish && git push origin publish && yarn postlernapublish",
|
|
78
|
+
"push-develop": "git push origin develop",
|
|
78
79
|
"setBranchEnv": "cross-env REPOSITORY_BRANCH=${1:-$REPOSITORY_BRANCH} PUBLISH_BRANCH=${2:-$PUBLISH_BRANCH}",
|
|
79
80
|
"sort-packages": "node tools/sortPackageJson.mjs && prettier --write package.json **/**/*/package.json **/*/package.json",
|
|
80
81
|
"start": "cross-env NODE_ENV=development ENV_FILE=../../config/development/dev.env yarn startWeb",
|
|
@@ -88,7 +89,7 @@
|
|
|
88
89
|
"pretravis": "yarn compile",
|
|
89
90
|
"travis": "istanbul cover -x \"*.test.js\" _mocha -- --timeout 5000 --full-trace ./test/tests.js",
|
|
90
91
|
"posttravis": "yarn lint",
|
|
91
|
-
"update-lerna-on-develop": "git checkout publish && git pull && cp lerna.json ../lerna-temp.json && git checkout develop && mv ../lerna-temp.json lerna.json && git commit -am 'Update lerna.json' &&
|
|
92
|
+
"update-lerna-on-develop": "git checkout publish && git pull origin publish && cp lerna.json ../lerna-temp.json && git checkout develop && mv ../lerna-temp.json lerna.json && git commit -am 'Update lerna.json' && yarn push-develop",
|
|
92
93
|
"watch": "lerna exec --no-sort --ignore *server --ignore *device --ignore *browser-extension --stream --parallel -- webpack --watch",
|
|
93
94
|
"watch-packages": "lerna exec --no-sort --scope @sample-stack/platform* --scope @sample-stack/react-shared-components --scope @sample-stack/core --stream --parallel 'webpack --watch'",
|
|
94
95
|
"zen:build": "cross-env NODE_ENV=production zen build",
|
|
@@ -145,8 +146,8 @@
|
|
|
145
146
|
"@babel/preset-typescript": "^7.18.6",
|
|
146
147
|
"@babel/register": "^7.18.9",
|
|
147
148
|
"@babel/runtime": "^7.20.1",
|
|
148
|
-
"@common-stack/env-list-loader": "
|
|
149
|
-
"@common-stack/generate-plugin": "6.0.6-alpha.
|
|
149
|
+
"@common-stack/env-list-loader": "6.0.6-alpha.5",
|
|
150
|
+
"@common-stack/generate-plugin": "6.0.6-alpha.10",
|
|
150
151
|
"@emotion/babel-plugin": "^11.11.0",
|
|
151
152
|
"@graphql-codegen/add": "^5.0.2",
|
|
152
153
|
"@graphql-codegen/cli": "^5.0.2",
|
|
@@ -169,11 +170,11 @@
|
|
|
169
170
|
"@remix-run/react": "^2.9.2",
|
|
170
171
|
"@rollup/plugin-graphql": "2.0.2",
|
|
171
172
|
"@rollup/plugin-image": "^3.0.1",
|
|
172
|
-
"@rollup/plugin-json": "^
|
|
173
|
+
"@rollup/plugin-json": "^6.1.0",
|
|
173
174
|
"@rollup/plugin-typescript": "^9.0.2",
|
|
174
175
|
"@shelf/jest-mongodb": "^4.1.3",
|
|
175
176
|
"@svgr/webpack": "^6.5.1",
|
|
176
|
-
"@testing-library/react": "^
|
|
177
|
+
"@testing-library/react": "^16.4.0",
|
|
177
178
|
"@testing-library/react-hooks": "^8.0.1",
|
|
178
179
|
"@types/async": "^3.2.15",
|
|
179
180
|
"@types/body-parser": "1.19.2",
|
|
@@ -5,31 +5,56 @@ 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
|
+
updateJenkinsFile,
|
|
10
|
+
updatePackageJson,
|
|
11
|
+
backupLernaJson,
|
|
12
|
+
restoreLernaJson,
|
|
13
|
+
updateHtmlPlugin,
|
|
14
|
+
updateLicense,
|
|
15
|
+
backupFiles,
|
|
16
|
+
restoreFiles,
|
|
17
|
+
updateRepository,
|
|
18
|
+
} from './updates';
|
|
9
19
|
import {
|
|
10
20
|
generateBackend,
|
|
11
21
|
generateFrontend,
|
|
12
22
|
generateMoleculer,
|
|
13
|
-
|
|
14
|
-
generateClientPackage,
|
|
15
|
-
generateCorePackage,
|
|
16
|
-
generateServerPackage,
|
|
23
|
+
generatePackage,
|
|
17
24
|
} from '../../index';
|
|
18
25
|
|
|
19
26
|
export async function addFullstackGenerator(tree: Tree, options: AddFullstackGeneratorSchema) {
|
|
20
27
|
const basePath = options.path || '';
|
|
21
|
-
const
|
|
28
|
+
const projectName = getValid(options.name) ?? 'fullstack-pro';
|
|
29
|
+
const projectRoot = path.join(basePath, projectName);
|
|
22
30
|
|
|
23
31
|
console.log(`basePath: ${basePath}`);
|
|
24
32
|
|
|
33
|
+
// backup existing lerna values
|
|
34
|
+
const lernaBackup = backupLernaJson(tree, projectRoot);
|
|
35
|
+
|
|
36
|
+
// backup files codegen.yaml
|
|
37
|
+
const filesToBackup = ['codegen.yml', 'values-dev.yaml', 'values-prod.yaml', 'values-stage.yaml'];
|
|
38
|
+
const filesBackup = backupFiles(tree, projectRoot, filesToBackup);
|
|
39
|
+
|
|
25
40
|
generateFiles(tree, path.join(__dirname, 'files'), projectRoot, options);
|
|
26
41
|
|
|
27
42
|
// Update Jenkinsfile with dynamic values
|
|
28
|
-
|
|
29
|
-
updateJenkinsFile(jenkinsFilePath, options.name);
|
|
43
|
+
updateJenkinsFile(tree, projectRoot, projectName);
|
|
30
44
|
|
|
31
45
|
// Update package.json with the project name
|
|
32
|
-
updatePackageJson(tree, projectRoot,
|
|
46
|
+
updatePackageJson(tree, projectRoot, { name: projectName });
|
|
47
|
+
|
|
48
|
+
// Update tools/html-plugin-template
|
|
49
|
+
updateHtmlPlugin(tree, projectRoot);
|
|
50
|
+
|
|
51
|
+
if (lernaBackup) {
|
|
52
|
+
// When update the existing lerna.json, it shouldn't overwrite version, allowbranch, packages
|
|
53
|
+
restoreLernaJson(tree, projectRoot, lernaBackup);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Restore files backup to ignore update
|
|
57
|
+
restoreFiles(tree, projectRoot, filesBackup);
|
|
33
58
|
|
|
34
59
|
await formatFiles(tree);
|
|
35
60
|
|
|
@@ -37,9 +62,9 @@ export async function addFullstackGenerator(tree: Tree, options: AddFullstackGen
|
|
|
37
62
|
const configPath = path.resolve(basePath, getValid(options.config));
|
|
38
63
|
if (fs.existsSync(configPath)) {
|
|
39
64
|
try {
|
|
40
|
-
const
|
|
41
|
-
const configs = JSON.parse(content);
|
|
65
|
+
const configs = JSON.parse(fs.readFileSync(configPath).toString());
|
|
42
66
|
configs.parent = projectRoot;
|
|
67
|
+
configs.ns = projectName;
|
|
43
68
|
|
|
44
69
|
await processConfigs(tree, configs);
|
|
45
70
|
} catch (error) {
|
|
@@ -47,14 +72,17 @@ export async function addFullstackGenerator(tree: Tree, options: AddFullstackGen
|
|
|
47
72
|
}
|
|
48
73
|
}
|
|
49
74
|
}
|
|
50
|
-
}
|
|
51
75
|
|
|
76
|
+
// Update license from package.json
|
|
77
|
+
updateLicense(tree, projectRoot);
|
|
78
|
+
}
|
|
52
79
|
|
|
53
|
-
const generateServers = async (tree: Tree,
|
|
54
|
-
for (const [serverName, serverConfig] of Object.entries(servers)) {
|
|
80
|
+
const generateServers = async (tree: Tree, options: any) => {
|
|
81
|
+
for (const [serverName, serverConfig] of Object.entries(options.servers)) {
|
|
55
82
|
const configs: any = serverConfig;
|
|
56
83
|
configs.name = serverName;
|
|
57
|
-
configs.directory = path.join(parent, 'servers');
|
|
84
|
+
configs.directory = path.join(options.parent, 'servers');
|
|
85
|
+
configs.ns = options.ns;
|
|
58
86
|
|
|
59
87
|
switch (configs?.type) {
|
|
60
88
|
case 'frontend':
|
|
@@ -72,38 +100,36 @@ const generateServers = async (tree: Tree, parent: string, servers: any) => {
|
|
|
72
100
|
}
|
|
73
101
|
};
|
|
74
102
|
|
|
75
|
-
const
|
|
76
|
-
for (const [
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
await generateBrowserPackage(tree, configs);
|
|
87
|
-
break;
|
|
88
|
-
case 'packages-client':
|
|
89
|
-
await generateClientPackage(tree, configs);
|
|
90
|
-
break;
|
|
91
|
-
case 'packages-server':
|
|
92
|
-
await generateServerPackage(tree, configs);
|
|
93
|
-
break;
|
|
94
|
-
default:
|
|
95
|
-
break;
|
|
103
|
+
const generateModules = async (tree: Tree, options: any) => {
|
|
104
|
+
for (const [moduleName, moduleConfig] of Object.entries(options.packages.modules)) {
|
|
105
|
+
for (const [packageName, packageConfig] of Object.entries(moduleConfig)) {
|
|
106
|
+
const configs: any = {
|
|
107
|
+
...(packageConfig as any),
|
|
108
|
+
name: moduleName,
|
|
109
|
+
directory: path.join(options.parent, 'packages'),
|
|
110
|
+
ns: options.ns,
|
|
111
|
+
type: packageName,
|
|
112
|
+
};
|
|
113
|
+
await generatePackage(tree, configs, false);
|
|
96
114
|
}
|
|
97
115
|
}
|
|
98
116
|
};
|
|
99
117
|
|
|
100
118
|
const processConfigs = async (tree: Tree, configs: any) => {
|
|
101
119
|
if (configs.servers) {
|
|
102
|
-
await generateServers(tree, configs
|
|
120
|
+
await generateServers(tree, configs);
|
|
103
121
|
}
|
|
104
122
|
|
|
105
123
|
if (configs.packages && configs.packages.modules) {
|
|
106
|
-
await
|
|
124
|
+
await generateModules(tree, configs);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
if (configs.license) {
|
|
128
|
+
updatePackageJson(tree, configs.parent, { license: getValid(configs.license) });
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
if (configs.repository) {
|
|
132
|
+
updateRepository(tree, configs.parent, configs.repository);
|
|
107
133
|
}
|
|
108
134
|
};
|
|
109
135
|
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Tree } from '@nx/devkit';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
|
|
4
|
+
export function updateHtmlPlugin(tree: Tree, projectRoot: string) {
|
|
5
|
+
const filePath = path.join(projectRoot, 'tools', 'html-plugin-template.ejs');
|
|
6
|
+
if (tree.exists(filePath)) {
|
|
7
|
+
const contents = tree.read(filePath).toString();
|
|
8
|
+
const newContents = contents.replace('<@', '<%').replace('@>', '%>');
|
|
9
|
+
tree.write(filePath, newContents);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Tree } from '@nx/devkit';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
|
|
4
|
+
export function backupFiles(tree: Tree, projectRoot: string, files: string[]) {
|
|
5
|
+
return files.map(file => {
|
|
6
|
+
const filePath = path.join(projectRoot, file);
|
|
7
|
+
const backup: any = { file };
|
|
8
|
+
if (tree.exists(filePath)) {
|
|
9
|
+
backup.content = tree.read(filePath).toString();
|
|
10
|
+
}
|
|
11
|
+
return backup;
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export function restoreFiles(tree: Tree, projectRoot: string, files: any[]) {
|
|
16
|
+
files.forEach((backup: any) => {
|
|
17
|
+
const filePath = path.join(projectRoot, backup.file);
|
|
18
|
+
if (backup.content) {
|
|
19
|
+
tree.write(filePath, backup.content);
|
|
20
|
+
console.log('Restored file', filePath);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { Tree } from '@nx/devkit';
|
|
1
2
|
import fs from 'fs';
|
|
2
3
|
import * as path from 'path';
|
|
3
4
|
|
|
4
|
-
export function updateJenkinsFile(
|
|
5
|
+
export function updateJenkinsFile(tree: Tree, projectRoot: string, name: string) {
|
|
6
|
+
const filePath = path.join(projectRoot, 'Jenkinsfile');
|
|
5
7
|
const paramsToUpdate = {
|
|
6
8
|
BASE_NAMESPACE: name,
|
|
7
9
|
CONNECTION_ID: name,
|
|
@@ -10,8 +12,8 @@ export function updateJenkinsFile(filePath: string, name: string) {
|
|
|
10
12
|
};
|
|
11
13
|
|
|
12
14
|
let jenkinsFileContent = '';
|
|
13
|
-
if (
|
|
14
|
-
jenkinsFileContent =
|
|
15
|
+
if (tree.exists(filePath)) {
|
|
16
|
+
jenkinsFileContent = tree.read(filePath).toString();
|
|
15
17
|
}
|
|
16
18
|
|
|
17
19
|
let labelExists = false;
|
|
@@ -42,6 +44,6 @@ export function updateJenkinsFile(filePath: string, name: string) {
|
|
|
42
44
|
|
|
43
45
|
// Only write back to the file if we have made changes
|
|
44
46
|
if (!labelExists || Object.keys(paramsToUpdate).some(param => !updatedContent.includes(`string(name: '${param}'`))) {
|
|
45
|
-
|
|
47
|
+
tree.write(filePath, updatedContent);
|
|
46
48
|
}
|
|
47
49
|
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Tree, updateJson } from '@nx/devkit';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
import * as fs from 'fs';
|
|
4
|
+
import { getDeepValueFromJson, setDeepValueToJson } from '../../../utils';
|
|
5
|
+
|
|
6
|
+
const params = ['version', 'command:publish:allowBranch', 'command:version:allowBranch', 'packages'];
|
|
7
|
+
|
|
8
|
+
export function backupLernaJson(tree: Tree, projectRoot: string) {
|
|
9
|
+
const lernaJsonPath = path.join(projectRoot, 'lerna.json');
|
|
10
|
+
|
|
11
|
+
if (tree.exists(lernaJsonPath)) {
|
|
12
|
+
const lernaJson = JSON.parse(tree.read(lernaJsonPath).toString());
|
|
13
|
+
const backup = {};
|
|
14
|
+
let exists = false;
|
|
15
|
+
for (const param of params) {
|
|
16
|
+
if (param.includes(':')) {
|
|
17
|
+
const paramValue = getDeepValueFromJson(lernaJson, param.split(':'));
|
|
18
|
+
if (paramValue) {
|
|
19
|
+
backup[param] = paramValue;
|
|
20
|
+
exists = true;
|
|
21
|
+
}
|
|
22
|
+
} else {
|
|
23
|
+
if (lernaJson[param]) {
|
|
24
|
+
backup[param] = lernaJson[param];
|
|
25
|
+
exists = true;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
if (exists) {
|
|
31
|
+
return backup;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export function restoreLernaJson(tree: Tree, projectRoot: string, backup: any) {
|
|
39
|
+
const lernaJsonPath = path.join(projectRoot, 'lerna.json');
|
|
40
|
+
if (backup && fs.existsSync(lernaJsonPath)) {
|
|
41
|
+
updateJson(tree, lernaJsonPath, (lernaJson: any) => {
|
|
42
|
+
Object.keys(backup).forEach(param => {
|
|
43
|
+
if (param.includes(':')) {
|
|
44
|
+
lernaJson = setDeepValueToJson(lernaJson, param.split(':'), backup[param]);
|
|
45
|
+
} else {
|
|
46
|
+
lernaJson[param] = backup[param];
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
return lernaJson;
|
|
50
|
+
});
|
|
51
|
+
console.log('Restored old values in lerna.json');
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Tree, readJson } from '@nx/devkit';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
|
|
4
|
+
export function updateLicense(tree: Tree, projectRoot: string) {
|
|
5
|
+
const files = ['LICENSE-GNU', 'LICENSE-IST', 'LICENSE-MIT'];
|
|
6
|
+
const packageJsonPath = path.join(projectRoot, 'package.json');
|
|
7
|
+
const packageJson = readJson(tree, packageJsonPath);
|
|
8
|
+
|
|
9
|
+
if (packageJson.license) {
|
|
10
|
+
const fileName = `LICENSE-${packageJson.license.toUpperCase()}`;
|
|
11
|
+
|
|
12
|
+
files.forEach(file => {
|
|
13
|
+
const filePath = path.join(projectRoot, file);
|
|
14
|
+
if (file === fileName) {
|
|
15
|
+
if (tree.exists(filePath)) {
|
|
16
|
+
tree.rename(filePath, path.join(projectRoot, 'LICENSE'));
|
|
17
|
+
}
|
|
18
|
+
} else {
|
|
19
|
+
tree.delete(filePath);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -1,11 +1,52 @@
|
|
|
1
1
|
import { Tree, updateJson } from '@nx/devkit';
|
|
2
2
|
import * as path from 'path';
|
|
3
|
+
import { convertHttpsToSsh } from '../../../utils';
|
|
3
4
|
|
|
4
|
-
export function updatePackageJson(tree: Tree, projectRoot: string,
|
|
5
|
+
export function updatePackageJson(tree: Tree, projectRoot: string, json: any) {
|
|
5
6
|
const packageJsonPath = path.join(projectRoot, 'package.json');
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
|
|
8
|
+
updateJson(tree, packageJsonPath, (packageJson: any) => {
|
|
9
|
+
Object.entries(json).reduce((acc, [key, value]) => {
|
|
10
|
+
acc[key] = value;
|
|
11
|
+
return acc;
|
|
12
|
+
}, packageJson);
|
|
9
13
|
return packageJson;
|
|
10
14
|
});
|
|
11
15
|
}
|
|
16
|
+
|
|
17
|
+
export function updateRepository(tree: Tree, projectRoot: string, repository: string) {
|
|
18
|
+
if (repository.startsWith('http://')) {
|
|
19
|
+
repository = repository.replace('http://', 'https://');
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// update in package.json
|
|
23
|
+
updatePackageJson(tree, projectRoot, {
|
|
24
|
+
"homepage": `${repository}#readme`,
|
|
25
|
+
"bugs": {
|
|
26
|
+
"url": `${repository}/issues`
|
|
27
|
+
},
|
|
28
|
+
"repository": {
|
|
29
|
+
"type": "git",
|
|
30
|
+
"url": `git+${repository}.git`
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
// update in Jenkinsfile
|
|
35
|
+
const filePath = path.join(projectRoot, 'Jenkinsfile');
|
|
36
|
+
|
|
37
|
+
if (tree.exists(filePath)) {
|
|
38
|
+
const jenkinsFileContent = tree.read(filePath).toString();
|
|
39
|
+
let paramExists = false;
|
|
40
|
+
const updatedContent = jenkinsFileContent.split('\n').map(line => {
|
|
41
|
+
if (line.includes(`string(name: 'REPOSITORY_SSH_URL'`)) {
|
|
42
|
+
paramExists = true;
|
|
43
|
+
return line.replace(/defaultValue: '.*'/, `defaultValue: '${convertHttpsToSsh(repository)}'`);
|
|
44
|
+
}
|
|
45
|
+
return line;
|
|
46
|
+
}).join('\n');
|
|
47
|
+
|
|
48
|
+
if (paramExists) {
|
|
49
|
+
tree.write(filePath, updatedContent);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -25,11 +25,11 @@
|
|
|
25
25
|
"watch": "npm run start:dev"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@common-stack/client-core": "
|
|
29
|
-
"@common-stack/core": "
|
|
30
|
-
"@common-stack/server-core": "6.0.6-alpha.
|
|
31
|
-
"@common-stack/server-stack": "6.0.6-alpha.
|
|
32
|
-
"@common-stack/store-mongo": "
|
|
28
|
+
"@common-stack/client-core": "6.0.6-alpha.5",
|
|
29
|
+
"@common-stack/core": "6.0.6-alpha.5",
|
|
30
|
+
"@common-stack/server-core": "6.0.6-alpha.5",
|
|
31
|
+
"@common-stack/server-stack": "6.0.6-alpha.10",
|
|
32
|
+
"@common-stack/store-mongo": "6.0.6-alpha.5",
|
|
33
33
|
"@container-stack/mailing-api": "5.2.1-alpha.1",
|
|
34
34
|
"helmet": "^3.21.2",
|
|
35
35
|
"react": "18.2.0",
|
|
@@ -6,7 +6,7 @@ import { AddMoleculerGeneratorSchema } from './schema';
|
|
|
6
6
|
|
|
7
7
|
describe('add-moleculer generator', () => {
|
|
8
8
|
let tree: Tree;
|
|
9
|
-
const options: AddMoleculerGeneratorSchema = { name: 'test', directory: 'lib' };
|
|
9
|
+
const options: AddMoleculerGeneratorSchema = { ns: 'sample', name: 'test', directory: 'lib' };
|
|
10
10
|
|
|
11
11
|
beforeEach(() => {
|
|
12
12
|
tree = createTreeWithEmptyWorkspace();
|
|
@@ -3,18 +3,23 @@ import * as path from 'path';
|
|
|
3
3
|
import { AddMoleculerGeneratorSchema } from './schema';
|
|
4
4
|
import { isValid, getValid } from '../../utils';
|
|
5
5
|
|
|
6
|
+
const DEFAULT_SERVER_NAME = 'moleculer-server';
|
|
7
|
+
|
|
6
8
|
export async function addMoleculerGenerator(tree: Tree, options: AddMoleculerGeneratorSchema) {
|
|
7
|
-
const
|
|
9
|
+
const projectName = isValid(options.name) ? `${getValid(options.name)}-server` : DEFAULT_SERVER_NAME;
|
|
10
|
+
const configs: any = {...options, name: projectName};
|
|
11
|
+
|
|
8
12
|
return await generateMoleculer(tree, configs);
|
|
9
13
|
}
|
|
10
14
|
|
|
11
15
|
export const generateMoleculer = async (tree: Tree, options: any) => {
|
|
12
|
-
|
|
16
|
+
let projectName = getValid(options.name) ?? DEFAULT_SERVER_NAME;
|
|
13
17
|
const projectRoot = isValid(options.directory) ? `${getValid(options.directory)}/${projectName}` : projectName;
|
|
18
|
+
projectName = isValid(options.ns) ? `${getValid(options.ns)}-${projectName}` : projectName;
|
|
14
19
|
|
|
15
20
|
generateFiles(tree, path.join(__dirname, 'files'), projectRoot, options);
|
|
16
21
|
updateJson(tree, `${projectRoot}/package.json`, (packageJson) => {
|
|
17
|
-
packageJson['name'] =
|
|
22
|
+
packageJson['name'] = projectName;
|
|
18
23
|
return packageJson;
|
|
19
24
|
});
|
|
20
25
|
|
|
@@ -4,16 +4,21 @@
|
|
|
4
4
|
"title": "",
|
|
5
5
|
"type": "object",
|
|
6
6
|
"properties": {
|
|
7
|
-
"
|
|
7
|
+
"ns": {
|
|
8
8
|
"type": "string",
|
|
9
|
-
"description": "",
|
|
10
|
-
"x-prompt": "What
|
|
9
|
+
"description": "The project namespace",
|
|
10
|
+
"x-prompt": "What namespace would you like to use?"
|
|
11
11
|
},
|
|
12
12
|
"directory": {
|
|
13
13
|
"type": "string",
|
|
14
14
|
"description": "",
|
|
15
15
|
"x-prompt": "What directory would you like to create in?"
|
|
16
|
+
},
|
|
17
|
+
"name": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"description": "The module name",
|
|
20
|
+
"x-prompt": "What name would you like to use for this moleculer server module?"
|
|
16
21
|
}
|
|
17
22
|
},
|
|
18
|
-
"required": ["
|
|
23
|
+
"required": ["ns", "directory", "name"]
|
|
19
24
|
}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing';
|
|
2
2
|
import { Tree, readProjectConfiguration } from '@nx/devkit';
|
|
3
3
|
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { addPackageGenerator } from './generator';
|
|
5
|
+
import { AddPackageGeneratorSchema } from './schema';
|
|
6
6
|
|
|
7
|
-
describe('add-
|
|
7
|
+
describe('add-package generator', () => {
|
|
8
8
|
let tree: Tree;
|
|
9
|
-
const options:
|
|
9
|
+
const options: AddPackageGeneratorSchema = { name: 'test', directory: 'lib' };
|
|
10
10
|
|
|
11
11
|
beforeEach(() => {
|
|
12
12
|
tree = createTreeWithEmptyWorkspace();
|
|
13
13
|
});
|
|
14
14
|
|
|
15
15
|
it('should run successfully', async () => {
|
|
16
|
-
await
|
|
16
|
+
await addPackageGenerator(tree, options);
|
|
17
17
|
const config = readProjectConfiguration(tree, 'test');
|
|
18
18
|
expect(config).toBeDefined();
|
|
19
19
|
});
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { addProjectConfiguration, formatFiles, generateFiles, Tree, updateJson } from '@nx/devkit';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
import { AddPackageGeneratorSchema } from './schema';
|
|
4
|
+
import { isValid, getValid } from '../../utils';
|
|
5
|
+
import { processFiles } from '../../utils/filesConfig';
|
|
6
|
+
import { syncConfig } from '../../utils/syncConfig';
|
|
7
|
+
|
|
8
|
+
export async function addPackageGenerator(tree: Tree, options: AddPackageGeneratorSchema) {
|
|
9
|
+
if (!isValid(options.name)) {
|
|
10
|
+
console.error('Package name can not be empty, please try again!');
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const packages = ['core', 'client', 'browser', 'server'];
|
|
15
|
+
|
|
16
|
+
packages.forEach(pkg => {
|
|
17
|
+
const configs: any = {...options, type: pkg};
|
|
18
|
+
generatePackage(tree, configs, true);
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
await formatFiles(tree);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// export const generateModule = async (tree: Tree, options: any) => {
|
|
25
|
+
// for (const [packageName, packageConfig] of Object.entries(options)) {
|
|
26
|
+
// const configs: any = {...options, ...(packageConfig as any)};
|
|
27
|
+
// configs.type = packageName;
|
|
28
|
+
// generatePackage(tree, configs, false);
|
|
29
|
+
// }
|
|
30
|
+
|
|
31
|
+
// await formatFiles(tree);
|
|
32
|
+
// }
|
|
33
|
+
|
|
34
|
+
export const generatePackage = async (tree: Tree, options: any, cmdLine: boolean = false) => {
|
|
35
|
+
const basePath = `${options.name}/${options.type}`;
|
|
36
|
+
const packageRoot = isValid(options.directory) ? `${getValid(options.directory)}/${basePath}` : basePath;
|
|
37
|
+
const baseName = isValid(options.name) ? `${options.name}-${options.type}` : options.type;
|
|
38
|
+
const packageName = isValid(options.ns) ? `${getValid(options.ns)}-${baseName}` : baseName;
|
|
39
|
+
|
|
40
|
+
generateFiles(tree, path.join(__dirname, 'files', options.type), packageRoot, options);
|
|
41
|
+
updateJson(tree, `${packageRoot}/package.json`, (packageJson) => {
|
|
42
|
+
packageJson['name'] = packageName;
|
|
43
|
+
return packageJson;
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
if (cmdLine) {
|
|
47
|
+
syncConfig(tree, packageRoot, options);
|
|
48
|
+
} else {
|
|
49
|
+
processFiles(tree, packageRoot, options);
|
|
50
|
+
await formatFiles(tree);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export default addPackageGenerator;
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/schema",
|
|
3
|
-
"$id": "
|
|
3
|
+
"$id": "AddPackage",
|
|
4
4
|
"title": "",
|
|
5
5
|
"type": "object",
|
|
6
6
|
"properties": {
|
|
7
|
+
"ns": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "The project namespace(optional)",
|
|
10
|
+
"x-prompt": "What namespace would you like to use?(optional)"
|
|
11
|
+
},
|
|
7
12
|
"name": {
|
|
8
13
|
"type": "string",
|
|
9
14
|
"description": "",
|
|
10
|
-
"x-prompt": "What name would you like to use?"
|
|
15
|
+
"x-prompt": "What name would you like to use to this package?"
|
|
11
16
|
},
|
|
12
17
|
"directory": {
|
|
13
18
|
"type": "string",
|
package/src/index.ts
CHANGED
|
@@ -2,9 +2,6 @@ export * from './generators/add-frontend/generator';
|
|
|
2
2
|
export * from './generators/add-backend/generator';
|
|
3
3
|
export * from './generators/add-fullstack/generator';
|
|
4
4
|
export * from './generators/add-moleculer/generator';
|
|
5
|
-
export * from './generators/add-
|
|
6
|
-
export * from './generators/add-client-package/generator';
|
|
7
|
-
export * from './generators/add-core-package/generator';
|
|
8
|
-
export * from './generators/add-server-package/generator';
|
|
5
|
+
export * from './generators/add-package/generator';
|
|
9
6
|
export { default as updateDeployVersion } from './executors/update-deploy-version/executor';
|
|
10
7
|
export { default as sortPackageJson } from './executors/sort-package-json/executor';
|