@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,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
+ }