@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.
Files changed (307) hide show
  1. package/CHANGELOG.md +1 -85
  2. package/generators.json +15 -0
  3. package/lib/generators/add-backend/files/__tests__/test.ts.template +3 -2
  4. package/lib/generators/add-backend/files/package.json +5 -7
  5. package/lib/generators/add-backend/generator.cjs +5 -4
  6. package/lib/generators/add-backend/generator.cjs.map +1 -1
  7. package/lib/generators/add-backend/generator.mjs +6 -5
  8. package/lib/generators/add-backend/generator.mjs.map +1 -1
  9. package/lib/generators/add-backend/schema.json +6 -4
  10. package/lib/generators/add-browser-package/files/CHANGELOG.md +3119 -0
  11. package/lib/generators/add-browser-package/files/LICENSE +674 -0
  12. package/lib/generators/add-browser-package/files/jest.config.js +8 -0
  13. package/lib/generators/add-browser-package/files/package.json +49 -0
  14. package/lib/generators/add-browser-package/files/rollup.config.mjs +29 -0
  15. package/lib/generators/add-browser-package/files/src/index.ts.template +4 -0
  16. package/lib/generators/add-browser-package/files/src/interfaces/index.ts.template +1 -0
  17. package/lib/generators/add-browser-package/files/src/interfaces/interfaces.ts.template +1 -0
  18. package/lib/generators/add-browser-package/files/src/module.tsx.template +7 -0
  19. package/lib/generators/add-browser-package/files/tsconfig.json +28 -0
  20. package/lib/generators/add-browser-package/files/webpack.config.js +71 -0
  21. package/lib/generators/add-browser-package/generator.cjs +19 -0
  22. package/lib/generators/add-browser-package/generator.cjs.map +1 -0
  23. package/lib/generators/add-browser-package/generator.d.ts +4 -0
  24. package/lib/generators/add-browser-package/generator.mjs +19 -0
  25. package/lib/generators/add-browser-package/generator.mjs.map +1 -0
  26. package/lib/generators/add-browser-package/generator.spec.d.ts +1 -0
  27. package/lib/generators/add-browser-package/schema.json +19 -0
  28. package/lib/generators/add-frontend/generator.cjs +6 -5
  29. package/lib/generators/add-frontend/generator.cjs.map +1 -1
  30. package/lib/generators/add-frontend/generator.mjs +7 -6
  31. package/lib/generators/add-frontend/generator.mjs.map +1 -1
  32. package/lib/generators/add-frontend/schema.json +8 -5
  33. package/lib/generators/add-frontend/templates/package.json +8 -8
  34. package/lib/generators/add-fullstack/files/CHANGELOG.md +20 -0
  35. package/lib/generators/add-fullstack/files/CODE_OF_CONDUCT.md +94 -0
  36. package/lib/generators/add-fullstack/files/Dockerfile +10 -0
  37. package/lib/generators/add-fullstack/files/ISSUES.md +24 -0
  38. package/lib/generators/add-fullstack/files/Jenkinsfile +672 -0
  39. package/lib/generators/add-fullstack/files/LICENSE +21 -0
  40. package/lib/generators/add-fullstack/files/README.md +50 -0
  41. package/lib/generators/add-fullstack/files/ScreenShot.png +0 -0
  42. package/lib/generators/add-fullstack/files/babel.config.js +24 -0
  43. package/lib/generators/add-fullstack/files/build.config.js +32 -0
  44. package/lib/generators/add-fullstack/files/build.config.mjs +37 -0
  45. package/lib/generators/add-fullstack/files/codegen.yml +47 -0
  46. package/lib/generators/add-fullstack/files/commitlint.config.js +6 -0
  47. package/lib/generators/add-fullstack/files/config/development/dev.env.sample +21 -0
  48. package/lib/generators/add-fullstack/files/config/development/settings.json +9 -0
  49. package/lib/generators/add-fullstack/files/config/staging/docker-staging.env.sample +26 -0
  50. package/lib/generators/add-fullstack/files/config/staging/staging.env.sample +20 -0
  51. package/lib/generators/add-fullstack/files/config/test/test.env.sample +9 -0
  52. package/lib/generators/add-fullstack/files/docs/Moleculer.md +10 -0
  53. package/lib/generators/add-fullstack/files/docs/References.md +13 -0
  54. package/lib/generators/add-fullstack/files/docs/development/CodeContribution/Adding_New_Modules.md +84 -0
  55. package/lib/generators/add-fullstack/files/docs/development/CodeContribution/Desktop_Setup.md +12 -0
  56. package/lib/generators/add-fullstack/files/docs/development/CodeContribution/DoAndDont.md +35 -0
  57. package/lib/generators/add-fullstack/files/docs/development/CodeContribution/GitHooks.md +3 -0
  58. package/lib/generators/add-fullstack/files/docs/development/CodeContribution/HowToContribute.md +14 -0
  59. package/lib/generators/add-fullstack/files/docs/development/CodeContribution/How_to_Run_Various_Options.md +95 -0
  60. package/lib/generators/add-fullstack/files/docs/development/CodeContribution/Known_Issues.md +19 -0
  61. package/lib/generators/add-fullstack/files/docs/development/CodeContribution/Lint_And_Formatter.md +9 -0
  62. package/lib/generators/add-fullstack/files/docs/development/CodeContribution/Project_Setup.md +159 -0
  63. package/lib/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/Dynamically_Render_Components.md +57 -0
  64. package/lib/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/HOC_With_Render_Props.md +87 -0
  65. package/lib/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/Mongoose_Connection.md +45 -0
  66. package/lib/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/React_Componet_Extensions.md +11 -0
  67. package/lib/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/RxJS_notes.md +3 -0
  68. package/lib/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/Styles_With_Type.md +52 -0
  69. package/lib/generators/add-fullstack/files/docs/development/CodeContribution/Tutorials.md +12 -0
  70. package/lib/generators/add-fullstack/files/docs/development/CodeContribution/faq.md +17 -0
  71. package/lib/generators/add-fullstack/files/docs/development/CodeContribution/installation_issues.md +9 -0
  72. package/lib/generators/add-fullstack/files/docs/development/CodeContribution/lerna-build-tools.md +504 -0
  73. package/lib/generators/add-fullstack/files/docs/development/CodeContribution/lerna-yarn-workspaces.md +82 -0
  74. package/lib/generators/add-fullstack/files/docs/development/Database/mongodb-test.md +6 -0
  75. package/lib/generators/add-fullstack/files/docs/development/Deployment/How_To_Setup_Jenkins.md +60 -0
  76. package/lib/generators/add-fullstack/files/docs/development/Deployment/JenkinsDeployment.md +16 -0
  77. package/lib/generators/add-fullstack/files/docs/development/Expo/expo-commands.md +5 -0
  78. package/lib/generators/add-fullstack/files/docs/development/Mobile/How_To_Make_Expo_Wrok_With_Monorepos.md +9 -0
  79. package/lib/generators/add-fullstack/files/docs/development/Mobile/React-Native-FAQ.md +4 -0
  80. package/lib/generators/add-fullstack/files/docs/development/Mobile/Run_mobile.md +9 -0
  81. package/lib/generators/add-fullstack/files/husky.config.js +6 -0
  82. package/lib/generators/add-fullstack/files/jenkins_variables.groovy +22 -0
  83. package/lib/generators/add-fullstack/files/jest-mongodb-config.js +12 -0
  84. package/lib/generators/add-fullstack/files/jest-transform-i18next.js +24 -0
  85. package/lib/generators/add-fullstack/files/jest.config.base.js +60 -0
  86. package/lib/generators/add-fullstack/files/jest.config.js +22 -0
  87. package/lib/generators/add-fullstack/files/jest.config.mongodb.js +3 -0
  88. package/lib/generators/add-fullstack/files/lerna.json +48 -0
  89. package/lib/generators/add-fullstack/files/lint-staged.config.js +4 -0
  90. package/lib/generators/add-fullstack/files/nx.json +20 -0
  91. package/lib/generators/add-fullstack/files/package.json +361 -0
  92. package/lib/generators/add-fullstack/files/prettier.config.js +8 -0
  93. package/lib/generators/add-fullstack/files/rollup.config.base.mjs +147 -0
  94. package/lib/generators/add-fullstack/files/tools/.eslintrc +5 -0
  95. package/lib/generators/add-fullstack/files/tools/cli/command-invoker.js +54 -0
  96. package/lib/generators/add-fullstack/files/tools/cli/commands/add-module.js +64 -0
  97. package/lib/generators/add-fullstack/files/tools/cli/commands/delete-module.js +56 -0
  98. package/lib/generators/add-fullstack/files/tools/cli/config.js +11 -0
  99. package/lib/generators/add-fullstack/files/tools/cli/helpers/util.js +76 -0
  100. package/lib/generators/add-fullstack/files/tools/cli.js +31 -0
  101. package/lib/generators/add-fullstack/files/tools/deploy-cli/runUpdateJenkinsfileVersion.js +30 -0
  102. package/lib/generators/add-fullstack/files/tools/deploy-cli/runUpdateVersionWrapper.js +32 -0
  103. package/lib/generators/add-fullstack/files/tools/deploy-cli/runUpdateYamlSettingsWrapper.js +38 -0
  104. package/lib/generators/add-fullstack/files/tools/deploy-cli/updateJenkinsfileVersion.js +62 -0
  105. package/lib/generators/add-fullstack/files/tools/deploy-cli/updateLernaVersion.js +51 -0
  106. package/lib/generators/add-fullstack/files/tools/deploy-cli/updateYamlSettings.js +53 -0
  107. package/lib/generators/add-fullstack/files/tools/deployVersionUpdate.js +39 -0
  108. package/lib/generators/add-fullstack/files/tools/esm-wrapper.js +7 -0
  109. package/lib/generators/add-fullstack/files/tools/get-symlinked-modules.js +44 -0
  110. package/lib/generators/add-fullstack/files/tools/sortPackageJson.mjs +46 -0
  111. package/lib/generators/add-fullstack/files/tools/update-dependency-link.js +107 -0
  112. package/lib/generators/add-fullstack/files/tools/update-dependency-version.js +106 -0
  113. package/lib/generators/add-fullstack/files/tools/webpack/server.config.js +165 -0
  114. package/lib/generators/add-fullstack/files/tools/webpack-util.js +14 -0
  115. package/lib/generators/add-fullstack/files/tools/webpackAppConfig.js +44 -0
  116. package/lib/generators/add-fullstack/files/transform.js +14 -0
  117. package/lib/generators/add-fullstack/files/tsconfig.json +26 -0
  118. package/lib/generators/add-fullstack/files/typings/graphql.d.ts.template +72 -0
  119. package/lib/generators/add-fullstack/files/typings/index.d.ts.template +123 -0
  120. package/lib/generators/add-fullstack/files/values-dev.yaml +74 -0
  121. package/lib/generators/add-fullstack/files/values-prod.yaml +67 -0
  122. package/lib/generators/add-fullstack/files/values-stage.yaml +70 -0
  123. package/lib/generators/add-fullstack/files/values.secret.json +11 -0
  124. package/lib/generators/add-fullstack/generator.cjs +18 -0
  125. package/lib/generators/add-fullstack/generator.cjs.map +1 -0
  126. package/lib/generators/add-fullstack/generator.d.ts +4 -0
  127. package/lib/generators/add-fullstack/generator.mjs +18 -0
  128. package/lib/generators/add-fullstack/generator.mjs.map +1 -0
  129. package/lib/generators/add-fullstack/generator.spec.d.ts +1 -0
  130. package/lib/generators/add-fullstack/schema.json +14 -0
  131. package/lib/generators/add-moleculer/files/CHANGELOG.md +2250 -0
  132. package/lib/generators/add-moleculer/files/Dockerfile +30 -0
  133. package/lib/generators/add-moleculer/files/charts/chart/.helmignore +21 -0
  134. package/lib/generators/add-moleculer/files/charts/chart/Chart.yaml +9 -0
  135. package/lib/generators/add-moleculer/files/charts/chart/values-dev.yaml +13 -0
  136. package/lib/generators/add-moleculer/files/charts/chart/values-prod.yaml +13 -0
  137. package/lib/generators/add-moleculer/files/charts/chart/values-stage.yaml +13 -0
  138. package/lib/generators/add-moleculer/files/draft.toml +61 -0
  139. package/lib/generators/add-moleculer/files/package.json +69 -0
  140. package/lib/generators/add-moleculer/files/rollup.config.mjs +36 -0
  141. package/lib/generators/add-moleculer/files/src/config/env-config.ts.template +20 -0
  142. package/lib/generators/add-moleculer/files/src/config/index.ts.template +1 -0
  143. package/lib/generators/add-moleculer/files/src/env.ts.template +5 -0
  144. package/lib/generators/add-moleculer/files/src/index.ts.template +13 -0
  145. package/lib/generators/add-moleculer/files/src/modules/index.ts.template +4 -0
  146. package/lib/generators/add-moleculer/files/src/modules/module.ts.template +31 -0
  147. package/lib/generators/add-moleculer/files/tsconfig.base.json +28 -0
  148. package/lib/generators/add-moleculer/files/tsconfig.json +16 -0
  149. package/lib/generators/add-moleculer/files/webpack.config.js +58 -0
  150. package/lib/generators/add-moleculer/generator.cjs +19 -0
  151. package/lib/generators/add-moleculer/generator.cjs.map +1 -0
  152. package/lib/generators/add-moleculer/generator.d.ts +4 -0
  153. package/lib/generators/add-moleculer/generator.mjs +19 -0
  154. package/lib/generators/add-moleculer/generator.mjs.map +1 -0
  155. package/lib/generators/add-moleculer/generator.spec.d.ts +1 -0
  156. package/lib/generators/add-moleculer/schema.json +19 -0
  157. package/lib/index.cjs +1 -1
  158. package/lib/index.d.ts +3 -0
  159. package/lib/index.mjs +1 -1
  160. package/lib/utils/index.cjs +6 -8
  161. package/lib/utils/index.cjs.map +1 -1
  162. package/lib/utils/index.d.ts +2 -0
  163. package/lib/utils/index.mjs +6 -8
  164. package/lib/utils/index.mjs.map +1 -1
  165. package/package.json +2 -2
  166. package/rollup.config.mjs +11 -5
  167. package/src/generators/add-backend/generator.spec.ts +1 -1
  168. package/src/generators/add-backend/generator.ts +6 -6
  169. package/src/generators/add-backend/schema.d.ts +1 -1
  170. package/src/generators/add-backend/schema.json +6 -4
  171. package/src/generators/add-browser-package/generator.spec.ts +20 -0
  172. package/src/generators/add-browser-package/generator.ts +23 -0
  173. package/src/generators/add-browser-package/schema.d.ts +4 -0
  174. package/src/generators/add-browser-package/schema.json +19 -0
  175. package/src/generators/add-frontend/generator.spec.ts +1 -1
  176. package/src/generators/add-frontend/generator.ts +6 -6
  177. package/src/generators/add-frontend/schema.d.ts +1 -1
  178. package/src/generators/add-frontend/schema.json +8 -5
  179. package/src/generators/add-fullstack/files/.browserslistrc +3 -0
  180. package/src/generators/add-fullstack/files/.eslintignore +3 -0
  181. package/src/generators/add-fullstack/files/.eslintrc.js +92 -0
  182. package/src/generators/add-fullstack/files/.gitattributes +5 -0
  183. package/src/generators/add-fullstack/files/.markdownlint.json +6 -0
  184. package/src/generators/add-fullstack/files/.markdownlintignore +5 -0
  185. package/src/generators/add-fullstack/files/.travis.yml +18 -0
  186. package/src/generators/add-fullstack/files/CHANGELOG.md +20 -0
  187. package/src/generators/add-fullstack/files/CODE_OF_CONDUCT.md +94 -0
  188. package/src/generators/add-fullstack/files/Dockerfile +10 -0
  189. package/src/generators/add-fullstack/files/ISSUES.md +24 -0
  190. package/src/generators/add-fullstack/files/Jenkinsfile +672 -0
  191. package/src/generators/add-fullstack/files/LICENSE +21 -0
  192. package/src/generators/add-fullstack/files/README.md +50 -0
  193. package/src/generators/add-fullstack/files/ScreenShot.png +0 -0
  194. package/src/generators/add-fullstack/files/babel.config.js +24 -0
  195. package/src/generators/add-fullstack/files/build.config.js +32 -0
  196. package/src/generators/add-fullstack/files/build.config.mjs +37 -0
  197. package/src/generators/add-fullstack/files/codegen.yml +47 -0
  198. package/src/generators/add-fullstack/files/commitlint.config.js +6 -0
  199. package/src/generators/add-fullstack/files/config/development/dev.env.sample +21 -0
  200. package/src/generators/add-fullstack/files/config/development/settings.json +9 -0
  201. package/src/generators/add-fullstack/files/config/staging/docker-staging.env.sample +26 -0
  202. package/src/generators/add-fullstack/files/config/staging/staging.env.sample +20 -0
  203. package/src/generators/add-fullstack/files/config/test/test.env.sample +9 -0
  204. package/src/generators/add-fullstack/files/docs/Moleculer.md +10 -0
  205. package/src/generators/add-fullstack/files/docs/References.md +13 -0
  206. package/src/generators/add-fullstack/files/docs/development/CodeContribution/Adding_New_Modules.md +84 -0
  207. package/src/generators/add-fullstack/files/docs/development/CodeContribution/Desktop_Setup.md +12 -0
  208. package/src/generators/add-fullstack/files/docs/development/CodeContribution/DoAndDont.md +35 -0
  209. package/src/generators/add-fullstack/files/docs/development/CodeContribution/GitHooks.md +3 -0
  210. package/src/generators/add-fullstack/files/docs/development/CodeContribution/HowToContribute.md +14 -0
  211. package/src/generators/add-fullstack/files/docs/development/CodeContribution/How_to_Run_Various_Options.md +95 -0
  212. package/src/generators/add-fullstack/files/docs/development/CodeContribution/Known_Issues.md +19 -0
  213. package/src/generators/add-fullstack/files/docs/development/CodeContribution/Lint_And_Formatter.md +9 -0
  214. package/src/generators/add-fullstack/files/docs/development/CodeContribution/Project_Setup.md +159 -0
  215. package/src/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/Dynamically_Render_Components.md +57 -0
  216. package/src/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/HOC_With_Render_Props.md +87 -0
  217. package/src/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/Mongoose_Connection.md +45 -0
  218. package/src/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/React_Componet_Extensions.md +11 -0
  219. package/src/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/RxJS_notes.md +3 -0
  220. package/src/generators/add-fullstack/files/docs/development/CodeContribution/React-Patterns/Styles_With_Type.md +52 -0
  221. package/src/generators/add-fullstack/files/docs/development/CodeContribution/Tutorials.md +12 -0
  222. package/src/generators/add-fullstack/files/docs/development/CodeContribution/faq.md +17 -0
  223. package/src/generators/add-fullstack/files/docs/development/CodeContribution/installation_issues.md +9 -0
  224. package/src/generators/add-fullstack/files/docs/development/CodeContribution/lerna-build-tools.md +504 -0
  225. package/src/generators/add-fullstack/files/docs/development/CodeContribution/lerna-yarn-workspaces.md +82 -0
  226. package/src/generators/add-fullstack/files/docs/development/Database/mongodb-test.md +6 -0
  227. package/src/generators/add-fullstack/files/docs/development/Deployment/How_To_Setup_Jenkins.md +60 -0
  228. package/src/generators/add-fullstack/files/docs/development/Deployment/JenkinsDeployment.md +16 -0
  229. package/src/generators/add-fullstack/files/docs/development/Expo/expo-commands.md +5 -0
  230. package/src/generators/add-fullstack/files/docs/development/Mobile/How_To_Make_Expo_Wrok_With_Monorepos.md +9 -0
  231. package/src/generators/add-fullstack/files/docs/development/Mobile/React-Native-FAQ.md +4 -0
  232. package/src/generators/add-fullstack/files/docs/development/Mobile/Run_mobile.md +9 -0
  233. package/src/generators/add-fullstack/files/husky.config.js +6 -0
  234. package/src/generators/add-fullstack/files/jenkins_variables.groovy +22 -0
  235. package/src/generators/add-fullstack/files/jest-mongodb-config.js +12 -0
  236. package/src/generators/add-fullstack/files/jest-transform-i18next.js +24 -0
  237. package/src/generators/add-fullstack/files/jest.config.base.js +60 -0
  238. package/src/generators/add-fullstack/files/jest.config.js +22 -0
  239. package/src/generators/add-fullstack/files/jest.config.mongodb.js +3 -0
  240. package/src/generators/add-fullstack/files/lerna.json +48 -0
  241. package/src/generators/add-fullstack/files/lint-staged.config.js +4 -0
  242. package/src/generators/add-fullstack/files/nx.json +20 -0
  243. package/src/generators/add-fullstack/files/package.json +361 -0
  244. package/src/generators/add-fullstack/files/prettier.config.js +8 -0
  245. package/src/generators/add-fullstack/files/rollup.config.base.mjs +147 -0
  246. package/src/generators/add-fullstack/files/tools/.eslintrc +5 -0
  247. package/src/generators/add-fullstack/files/tools/cli/command-invoker.js +54 -0
  248. package/src/generators/add-fullstack/files/tools/cli/commands/add-module.js +64 -0
  249. package/src/generators/add-fullstack/files/tools/cli/commands/delete-module.js +56 -0
  250. package/src/generators/add-fullstack/files/tools/cli/config.js +11 -0
  251. package/src/generators/add-fullstack/files/tools/cli/helpers/util.js +76 -0
  252. package/src/generators/add-fullstack/files/tools/cli.js +31 -0
  253. package/src/generators/add-fullstack/files/tools/deploy-cli/runUpdateJenkinsfileVersion.js +30 -0
  254. package/src/generators/add-fullstack/files/tools/deploy-cli/runUpdateVersionWrapper.js +32 -0
  255. package/src/generators/add-fullstack/files/tools/deploy-cli/runUpdateYamlSettingsWrapper.js +38 -0
  256. package/src/generators/add-fullstack/files/tools/deploy-cli/updateJenkinsfileVersion.js +62 -0
  257. package/src/generators/add-fullstack/files/tools/deploy-cli/updateLernaVersion.js +51 -0
  258. package/src/generators/add-fullstack/files/tools/deploy-cli/updateYamlSettings.js +53 -0
  259. package/src/generators/add-fullstack/files/tools/deployVersionUpdate.js +39 -0
  260. package/src/generators/add-fullstack/files/tools/esm-wrapper.js +7 -0
  261. package/src/generators/add-fullstack/files/tools/get-symlinked-modules.js +44 -0
  262. package/src/generators/add-fullstack/files/tools/sortPackageJson.mjs +46 -0
  263. package/src/generators/add-fullstack/files/tools/update-dependency-link.js +107 -0
  264. package/src/generators/add-fullstack/files/tools/update-dependency-version.js +106 -0
  265. package/src/generators/add-fullstack/files/tools/webpack/server.config.js +165 -0
  266. package/src/generators/add-fullstack/files/tools/webpack-util.js +14 -0
  267. package/src/generators/add-fullstack/files/tools/webpackAppConfig.js +44 -0
  268. package/src/generators/add-fullstack/files/transform.js +14 -0
  269. package/src/generators/add-fullstack/files/tsconfig.json +26 -0
  270. package/src/generators/add-fullstack/files/typings/graphql.d.ts.template +72 -0
  271. package/src/generators/add-fullstack/files/typings/index.d.ts.template +123 -0
  272. package/src/generators/add-fullstack/files/values-dev.yaml +74 -0
  273. package/src/generators/add-fullstack/files/values-prod.yaml +67 -0
  274. package/src/generators/add-fullstack/files/values-stage.yaml +70 -0
  275. package/src/generators/add-fullstack/files/values.secret.json +11 -0
  276. package/src/generators/add-fullstack/generator.spec.ts +20 -0
  277. package/src/generators/add-fullstack/generator.ts +22 -0
  278. package/src/generators/add-fullstack/schema.d.ts +3 -0
  279. package/src/generators/add-fullstack/schema.json +14 -0
  280. package/src/generators/add-moleculer/files/.dockerignore +5 -0
  281. package/src/generators/add-moleculer/files/.draft-tasks.toml +0 -0
  282. package/src/generators/add-moleculer/files/.draftignore +4 -0
  283. package/src/generators/add-moleculer/files/CHANGELOG.md +2250 -0
  284. package/src/generators/add-moleculer/files/Dockerfile +30 -0
  285. package/src/generators/add-moleculer/files/charts/chart/.helmignore +21 -0
  286. package/src/generators/add-moleculer/files/charts/chart/Chart.yaml +9 -0
  287. package/src/generators/add-moleculer/files/charts/chart/values-dev.yaml +13 -0
  288. package/src/generators/add-moleculer/files/charts/chart/values-prod.yaml +13 -0
  289. package/src/generators/add-moleculer/files/charts/chart/values-stage.yaml +13 -0
  290. package/src/generators/add-moleculer/files/draft.toml +61 -0
  291. package/src/generators/add-moleculer/files/package.json +69 -0
  292. package/src/generators/add-moleculer/files/rollup.config.mjs +36 -0
  293. package/src/generators/add-moleculer/files/src/config/env-config.ts.template +20 -0
  294. package/src/generators/add-moleculer/files/src/config/index.ts.template +1 -0
  295. package/src/generators/add-moleculer/files/src/env.ts.template +5 -0
  296. package/src/generators/add-moleculer/files/src/index.ts.template +13 -0
  297. package/src/generators/add-moleculer/files/src/modules/index.ts.template +4 -0
  298. package/src/generators/add-moleculer/files/src/modules/module.ts.template +31 -0
  299. package/src/generators/add-moleculer/files/tsconfig.base.json +28 -0
  300. package/src/generators/add-moleculer/files/tsconfig.json +16 -0
  301. package/src/generators/add-moleculer/files/webpack.config.js +58 -0
  302. package/src/generators/add-moleculer/generator.spec.ts +20 -0
  303. package/src/generators/add-moleculer/generator.ts +23 -0
  304. package/src/generators/add-moleculer/schema.d.ts +4 -0
  305. package/src/generators/add-moleculer/schema.json +19 -0
  306. package/src/index.ts +3 -0
  307. package/src/utils/index.ts +8 -0
@@ -0,0 +1,30 @@
1
+ FROM node:18.20-alpine
2
+
3
+ # Copy package.json only to temp folder, install its dependencies,
4
+ # set workdir and copy the dependnecies there
5
+ # This way, dependnecies are cached without the need of cacheing all files.
6
+
7
+ COPY .npmrc /tmp/.npmrc
8
+ ADD package.json /tmp/package.json
9
+ RUN set -ex \
10
+ && apk add --no-cache \
11
+ curl \
12
+ ca-certificates \
13
+ build-base \
14
+ && cd /tmp \
15
+ && yarn config set network-timeout 300000 \
16
+ && yarn install \
17
+ && rm -f /tmp/.npmrc \
18
+ && mkdir -p /home/app \
19
+ && cp -a /tmp/node_modules /home/app/ \
20
+ && rm -Rf /tmp/*
21
+
22
+ WORKDIR /home/app
23
+
24
+ # Copy the rest of the files to the container workdir
25
+ ADD . /home/app
26
+
27
+ ENV PORT=3000
28
+ EXPOSE ${PORT}
29
+
30
+ CMD [ "yarn", "start" ]
@@ -0,0 +1,21 @@
1
+ # Patterns to ignore when building packages.
2
+ # This supports shell glob matching, relative path matching, and
3
+ # negation (prefixed with !). Only one pattern per line.
4
+ .DS_Store
5
+ # Common VCS dirs
6
+ .git/
7
+ .gitignore
8
+ .bzr/
9
+ .bzrignore
10
+ .hg/
11
+ .hgignore
12
+ .svn/
13
+ # Common backup files
14
+ *.swp
15
+ *.bak
16
+ *.tmp
17
+ *~
18
+ # Various IDEs
19
+ .project
20
+ .idea/
21
+ *.tmproj
@@ -0,0 +1,9 @@
1
+ apiVersion: v1
2
+ description: A Helm chart for Kubernetes
3
+ name: moleculer-server
4
+ version: v0.1.3
5
+
6
+ dependencies:
7
+ - name: cdebase
8
+ version: "v0.1.9"
9
+ repository: "https://cdmbase.github.io/helm-chart/helm-packages"
@@ -0,0 +1,13 @@
1
+ cdebase:
2
+ buildID: 1
3
+ autoscaling:
4
+ enabled: false
5
+ configMapReference: backend-configuration
6
+ createConfigMapFromEnv: false
7
+ resources:
8
+ limits:
9
+ cpu: 400m
10
+ memory: 512Mi
11
+ requests:
12
+ cpu: 200m
13
+ memory: 512Mi
@@ -0,0 +1,13 @@
1
+ cdebase:
2
+ buildID: 1
3
+ autoscaling:
4
+ enabled: false
5
+ configMapReference: backend-configuration
6
+ createConfigMapFromEnv: false
7
+ resources:
8
+ limits:
9
+ cpu: 400m
10
+ memory: 512Mi
11
+ requests:
12
+ cpu: 200m
13
+ memory: 512Mi
@@ -0,0 +1,13 @@
1
+ cdebase:
2
+ buildID: 1
3
+ autoscaling:
4
+ enabled: false
5
+ configMapReference: adminide-backend-configuration
6
+ createConfigMapFromEnv: false
7
+ resources:
8
+ limits:
9
+ cpu: 400m
10
+ memory: 512Mi
11
+ requests:
12
+ cpu: 200m
13
+ memory: 512Mi
@@ -0,0 +1,61 @@
1
+ [environments]
2
+ [environments.development]
3
+ name = "activity-server"
4
+ namespace = "adminide"
5
+ wait = true
6
+ watch = false
7
+ watch-delay = 2
8
+ auto-connect = false
9
+ dockerfile = "Dockerfile"
10
+ set = ["env.LOG_LEVEL=trace",
11
+ "env.HEMERA_LOG_LEVEL=trace",
12
+ "env.CONNECTION_ID=v1",
13
+ "env.NATS_URL=nats://adminide-idestack-nats.adminide.svc.cluster.local:4222",
14
+ "env.NATS_USER=ruser",
15
+ "env.NATS_PW=T0pS3cr3t",
16
+ "env.REDIS_URL=redis://adminide-idestack-redis.adminide.svc.cluster.local:6379",
17
+ "env.MONGO_URL=mongodb://adminide-idestack-mongodb.adminide.svc.cluster.local:27017/idestack",
18
+ "env.ZIPKIN_URL=adminide-idestack-zipkin.adminide.svc.cluster.local",
19
+ "env.ZIPKIN_PORT=9411",
20
+ ]
21
+ chart = ""
22
+ [environments.staging]
23
+ name = "activity-server"
24
+ namespace = "adminide"
25
+ wait = true
26
+ watch = false
27
+ watch-delay = 2
28
+ auto-connect = false
29
+ dockerfile = "Dockerfile"
30
+ set = ["env.LOG_LEVEL=info",
31
+ "env.HEMERA_LOG_LEVEL=info",
32
+ "env.CONNECTION_ID=v1",
33
+ "env.NATS_URL=nats://adminide-idestack-nats.adminide.svc.cluster.local:4222",
34
+ "env.NATS_USER=ruser",
35
+ "env.NATS_PW=T0pS3cr3t",
36
+ "env.REDIS_URL=redis://adminide-idestack-redis.adminide.svc.cluster.local:6379",
37
+ "env.MONGO_URL=mongodb://adminide-idestack-mongodb.adminide.svc.cluster.local:27017/idestack",
38
+ "env.ZIPKIN_URL=adminide-idestack-zipkin.adminide.svc.cluster.local",
39
+ "env.ZIPKIN_PORT=9411",
40
+ ]
41
+ chart = ""
42
+ [environments.production]
43
+ name = "activity-server"
44
+ namespace = "adminide"
45
+ wait = true
46
+ watch = false
47
+ watch-delay = 2
48
+ auto-connect = false
49
+ dockerfile = "Dockerfile"
50
+ set = ["env.LOG_LEVEL=info",
51
+ "env.HEMERA_LOG_LEVEL=info",
52
+ "env.CONNECTION_ID=v1",
53
+ "env.NATS_URL=nats://adminide-idestack-nats.adminide.svc.cluster.local:4222",
54
+ "env.NATS_USER=ruser",
55
+ "env.NATS_PW=T0pS3cr3t",
56
+ "env.REDIS_URL=redis://adminide-idestack-redis.adminide.svc.cluster.local:6379",
57
+ "env.MONGO_URL=mongodb://adminide-idestack-mongodb.adminide.svc.cluster.local:27017/idestack",
58
+ "env.ZIPKIN_URL=adminide-idestack-zipkin.adminide.svc.cluster.local",
59
+ "env.ZIPKIN_PORT=9411",
60
+ ]
61
+ chart = ""
@@ -0,0 +1,69 @@
1
+ {
2
+ "name": "moleculer-server",
3
+ "version": "3.1.1-alpha.5",
4
+ "private": true,
5
+ "description": "",
6
+ "license": "ISC",
7
+ "author": "CDMBase LLC",
8
+ "main": "index.js",
9
+ "scripts": {
10
+ "prebuild": "npm run build:clean",
11
+ "build": "cross-env NODE_ENV=production npm run build:dist",
12
+ "build:clean": "rimraf dist",
13
+ "build:dist": "rollup -c rollup.config.mjs",
14
+ "build:watch": "npm run build:dist -- --watch",
15
+ "docker:build": "npm run build && docker build . -t $npm_package_name:$npm_package_version",
16
+ "docker:run": "docker run -it --env-file ../../config/staging/docker-staging.env $npm_package_name:$npm_package_version",
17
+ "jest": "./node_modules/.bin/jest",
18
+ "start": "cross-env NODE_ENV=production tsx dist/index.js",
19
+ "start:dev": "cross-env ENV_FILE=../../config/development/dev.env node dist/index.js",
20
+ "start:staging": "cross-env NODE_ENV=staging ENV_FILE=../../config/staging/staging.env tsx dist/index.js",
21
+ "pretest": "npm run build",
22
+ "test": "jest",
23
+ "test:debug": "npm test -- --runInBand",
24
+ "test:watch": "npm test -- --watch",
25
+ "watch": "npm run start:dev"
26
+ },
27
+ "dependencies": {
28
+ "@casl/ability": "^4.1.5",
29
+ "@cdm-logger/client": "9.0.3",
30
+ "@cdm-logger/server": "^9.0.3",
31
+ "@common-stack/client-core": "0.0.1",
32
+ "@common-stack/core": "0.0.1",
33
+ "@common-stack/server-core": "0.0.1",
34
+ "@common-stack/server-stack": "0.0.1",
35
+ "@common-stack/store-mongo": "0.0.1",
36
+ "@container-stack/mailing-api": "5.2.1-alpha.1",
37
+ "app-root-path": "^3.0.0",
38
+ "body-parser": "^1.19.0",
39
+ "cors": "^2.8.5",
40
+ "dataloader": "^2.0.0",
41
+ "dotenv": "^7.0.0",
42
+ "envalid": "~7.2.2",
43
+ "esm": "^3.2.25",
44
+ "helmet": "^3.21.2",
45
+ "inversify": "^6.0.2",
46
+ "ioredis": "^4.14.1",
47
+ "lodash": "^4.17.15",
48
+ "graphql-tools": "^8.0.0",
49
+ "moleculer": "^0.14.2",
50
+ "mongoose": "^6.3.3",
51
+ "mongoose-execution-time": "^1.1.0",
52
+ "react": "18.0.0",
53
+ "redux": "^4.0.1",
54
+ "reflect-metadata": "^0.1.13",
55
+ "rxjs": "^6.5.3",
56
+ "rxjs-compat": "^6.5.3"
57
+ },
58
+ "devDependencies": {
59
+ "cross-env": "^7.0.3",
60
+ "pm2": "^5.2.2",
61
+ "rimraf": "^3.0.2",
62
+ "tsx": "^4.7.0"
63
+ },
64
+ "overrides": {
65
+ "moleculer": {
66
+ "bunyan": "^2.0.0"
67
+ }
68
+ }
69
+ }
@@ -0,0 +1,36 @@
1
+ import graphql from '@rollup/plugin-graphql';
2
+ import typescript from '@rollup/plugin-typescript';
3
+ import { string } from 'rollup-plugin-string';
4
+
5
+ const bundle = (config) => ({
6
+ ...config,
7
+ input: 'src/index.ts',
8
+ // marking all node modules as external
9
+ external: (id) => !/^[./]/.test(id),
10
+ });
11
+
12
+ export default [
13
+ bundle({
14
+ plugins: [
15
+ typescript({}),
16
+ graphql({
17
+ include: '**/*.gql',
18
+ }),
19
+ string({
20
+ include: ['**/*.ejs', '**/*.graphql'],
21
+ }),
22
+ ],
23
+ output: [
24
+ {
25
+ dir: 'dist',
26
+ format: 'es',
27
+ name: 'MoleculerServer',
28
+ compact: true,
29
+ exports: 'named',
30
+ sourcemap: false,
31
+ preserveModules: true,
32
+ chunkFileNames: '[name]-[hash].[format].js',
33
+ },
34
+ ],
35
+ }),
36
+ ];
@@ -0,0 +1,20 @@
1
+ import { str, bool, json, cleanEnv } from 'envalid';
2
+
3
+ export const config = cleanEnv(process.env, {
4
+ NODE_ENV: str({ default: 'production', choices: ['production', 'staging', 'development', 'test'] }),
5
+ NATS_URL: str(),
6
+ NATS_USER: str(),
7
+ NATS_PW: str(),
8
+ MONGO_URL: str(),
9
+ REDIS_CLUSTER_URL: json({
10
+ devDefault: '[{"port":6379,"host":"localhost"}]',
11
+ example: '[{"port":6379,"host":"localhost"}]',
12
+ }),
13
+ REDIS_URL: str({ devDefault: 'localhost' }),
14
+ REDIS_CLUSTER_ENABLED: bool({ devDefault: false }),
15
+ REDIS_SENTINEL_ENABLED: bool({ devDefault: true }),
16
+ HEMERA_LOG_LEVEL: str({ default: 'info' }),
17
+ CONNECTION_ID: str({ devDefault: 'CONNECTION_ID' }),
18
+ NAMESPACE: str({ default: 'default' }),
19
+ LOG_LEVEL: str({ default: 'info', choices: ['info', 'debug', 'trace'] }),
20
+ });
@@ -0,0 +1 @@
1
+ export * from './env-config';
@@ -0,0 +1,5 @@
1
+ /* eslint-disable jest/require-hook */
2
+ import * as dotenv from 'dotenv';
3
+ if (process.env.ENV_FILE) {
4
+ dotenv.config({ path: process.env.ENV_FILE });
5
+ }
@@ -0,0 +1,13 @@
1
+ /// <reference types="webpack-env" />
2
+ import './env';
3
+ import 'reflect-metadata';
4
+ import { StackServer } from '@common-stack/server-stack';
5
+ import modules, { settings } from './modules';
6
+
7
+ const service = new StackServer(modules, settings);
8
+ async function start() {
9
+ await service.initialize();
10
+ await service.start();
11
+ }
12
+
13
+ start();
@@ -0,0 +1,4 @@
1
+ import modules, { settings } from './module';
2
+
3
+ export default modules;
4
+ export { settings };
@@ -0,0 +1,31 @@
1
+ import { ContainerModule, interfaces } from 'inversify';
2
+ import { Feature } from '@common-stack/server-core';
3
+ import { TaggedType } from '@common-stack/core';
4
+ import { config } from '../config';
5
+
6
+ const subTopic = config.CONNECTION_ID;
7
+ export const settings: any = {
8
+ connectionId: config.CONNECTION_ID,
9
+ namespace: config.NAMESPACE,
10
+ subTopic,
11
+ logger: config.LOG_LEVEL,
12
+ workspaceId: config.CONNECTION_ID || 'DEFAULT',
13
+ configPath: process.env.CONFIG_PATH,
14
+ adminApiNamespace: 'api-admin',
15
+ apiNamespace: 'api-admin',
16
+ };
17
+
18
+ const defaultModule = () =>
19
+ new ContainerModule((bind: interfaces.Bind) => {
20
+ bind('Settings').toConstantValue(settings).whenTargetTagged('default', true);
21
+ bind('Settings').toConstantValue(settings).whenTargetTagged('microservice', true);
22
+ bind('Settings').toConstantValue(settings).whenTargetTagged(TaggedType.MICROSERVICE, true);
23
+ bind('MongoOptions').toConstantValue({});
24
+ });
25
+
26
+ const DefaultFeature = new Feature({
27
+ createContainerFunc: [defaultModule],
28
+ createHemeraContainerFunc: [defaultModule],
29
+ });
30
+
31
+ export default new Feature<any>(DefaultFeature);
@@ -0,0 +1,28 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "es2017",
4
+ "module": "commonjs",
5
+ "moduleResolution": "node",
6
+ "jsx": "react",
7
+ "declaration": true,
8
+ "experimentalDecorators": true,
9
+ "preserveConstEnums": true,
10
+ "sourceMap": true,
11
+ "noImplicitAny": false,
12
+ "allowSyntheticDefaultImports": false,
13
+ "pretty": true,
14
+ "removeComments": false,
15
+ "lib": [
16
+ "es2017",
17
+ "dom",
18
+ "esnext.asynciterable"
19
+ ],
20
+ "types": [
21
+ "@types/node",
22
+ "@types/jest"
23
+ ]
24
+ },
25
+ "include": [
26
+ "../../typings/*.d.ts"
27
+ ]
28
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "extends": "./tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "sourceMap": true,
5
+ "declaration": false,
6
+ "outDir": "./dist",
7
+ "skipLibCheck": true,
8
+ },
9
+ "include": ["src"],
10
+ "exclude": [
11
+ "node_modules",
12
+ "lib",
13
+ "dist",
14
+ "webpack.config.js"
15
+ ]
16
+ }
@@ -0,0 +1,58 @@
1
+ var nodeExternals = require('webpack-node-externals');
2
+ const CopyWebpackPlugin = require('copy-webpack-plugin');
3
+ var webpack = require('webpack');
4
+ var path = require('path');
5
+ var fs = require('fs');
6
+
7
+ var webpackOpts = {
8
+ mode: 'development',
9
+ entry: {
10
+ main: './src/index.ts',
11
+ },
12
+ target: 'node',
13
+ output: {
14
+ filename: "[name].js",
15
+ libraryTarget: "commonjs2"
16
+ },
17
+ resolve: {
18
+ extensions: ['.ts', '.js', '.json']
19
+ },
20
+ plugins: [
21
+ new CopyWebpackPlugin({
22
+ patterns: [{
23
+ from: '../../tools/esm-wrapper.js',
24
+ to: 'index.js',
25
+ }]
26
+ }),
27
+ new webpack.LoaderOptionsPlugin({
28
+ options: {
29
+ test: /\.ts$/,
30
+ ts: {
31
+ compiler: 'typescript',
32
+ configFile: 'tsconfig.json'
33
+ },
34
+ tslint: {
35
+ emitErrors: true,
36
+ failOnHint: true
37
+ }
38
+ }
39
+ })
40
+ ],
41
+ devtool: 'source-map',
42
+ module: {
43
+ rules: [
44
+ {
45
+ test: /\.ts$/,
46
+ use: 'ts-loader',
47
+ exclude: /(node_modules)/
48
+ }
49
+ ]
50
+ },
51
+ externals: [
52
+ nodeExternals({ modulesDir: "../../node_modules" }),
53
+ nodeExternals()
54
+ ]
55
+
56
+ };
57
+
58
+ module.exports = webpackOpts;
@@ -0,0 +1,20 @@
1
+ import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing';
2
+ import { Tree, readProjectConfiguration } from '@nx/devkit';
3
+
4
+ import { addMoleculerGenerator } from './generator';
5
+ import { AddMoleculerGeneratorSchema } from './schema';
6
+
7
+ describe('add-moleculer generator', () => {
8
+ let tree: Tree;
9
+ const options: AddMoleculerGeneratorSchema = { name: 'test', directory: 'lib' };
10
+
11
+ beforeEach(() => {
12
+ tree = createTreeWithEmptyWorkspace();
13
+ });
14
+
15
+ it('should run successfully', async () => {
16
+ await addMoleculerGenerator(tree, options);
17
+ const config = readProjectConfiguration(tree, 'test');
18
+ expect(config).toBeDefined();
19
+ });
20
+ });
@@ -0,0 +1,23 @@
1
+ import { addProjectConfiguration, updateJson, formatFiles, generateFiles, Tree } from '@nx/devkit';
2
+ import * as path from 'path';
3
+ import { AddMoleculerGeneratorSchema } from './schema';
4
+ import { isValid, getValid } from '../../utils';
5
+
6
+ export async function addMoleculerGenerator(tree: Tree, options: AddMoleculerGeneratorSchema) {
7
+ const projectName = getValid(options.name) ?? 'moleculer-server';
8
+ const projectRoot = isValid(options.directory) ? `${getValid(options.directory)}/${projectName}` : projectName;
9
+ // addProjectConfiguration(tree, options.name, {
10
+ // root: projectRoot,
11
+ // projectType: 'library',
12
+ // sourceRoot: `${projectRoot}/src`,
13
+ // targets: {},
14
+ // });
15
+ generateFiles(tree, path.join(__dirname, 'files'), projectRoot, options);
16
+ updateJson(tree, `${projectRoot}/package.json`, (packageJson) => {
17
+ packageJson['name'] = options.name;
18
+ return packageJson;
19
+ });
20
+ await formatFiles(tree);
21
+ }
22
+
23
+ export default addMoleculerGenerator;
@@ -0,0 +1,4 @@
1
+ export interface AddMoleculerGeneratorSchema {
2
+ name: string;
3
+ directory: string;
4
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "$schema": "https://json-schema.org/schema",
3
+ "$id": "AddMoleculer",
4
+ "title": "",
5
+ "type": "object",
6
+ "properties": {
7
+ "name": {
8
+ "type": "string",
9
+ "description": "",
10
+ "x-prompt": "What name would you like to use?"
11
+ },
12
+ "directory": {
13
+ "type": "string",
14
+ "description": "",
15
+ "x-prompt": "What directory would you like to create in?"
16
+ }
17
+ },
18
+ "required": ["name", "directory"]
19
+ }
package/src/index.ts CHANGED
@@ -1,2 +1,5 @@
1
1
  export * from './generators/add-frontend/generator';
2
2
  export * from './generators/add-backend/generator';
3
+ export * from './generators/add-fullstack/generator';
4
+ export * from './generators/add-moleculer/generator';
5
+ export * from './generators/add-browser-package/generator';
@@ -8,3 +8,11 @@ export const resetProject = (rootDir: string) => {
8
8
  fs.rmSync(`${rootDir}/src`, { recursive: true, force: true });
9
9
  }
10
10
  }
11
+
12
+ export const isValid = (val: string) => {
13
+ return (val && val.trim()) ? true : false;
14
+ }
15
+
16
+ export const getValid = (val: string) => {
17
+ return val ? val.trim() : null;
18
+ }