@common-stack/generate-plugin 7.0.4-alpha.0 → 7.0.4-alpha.2

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 (335) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/lib/generators/add-backend/files/_dockerignore +9 -0
  3. package/lib/generators/add-backend/files/_gitignore +13 -0
  4. package/lib/generators/add-backend/files/_npmignore +2 -0
  5. package/lib/generators/add-backend/files/_yarnrc +1 -0
  6. package/lib/generators/add-backend/files/package.json +1 -1
  7. package/lib/generators/add-backend/generator.cjs +6 -1
  8. package/lib/generators/add-backend/generator.cjs.map +1 -1
  9. package/lib/generators/add-backend/generator.mjs +6 -1
  10. package/lib/generators/add-backend/generator.mjs.map +1 -1
  11. package/lib/generators/add-frontend/generator.cjs +6 -1
  12. package/lib/generators/add-frontend/generator.cjs.map +1 -1
  13. package/lib/generators/add-frontend/generator.mjs +6 -1
  14. package/lib/generators/add-frontend/generator.mjs.map +1 -1
  15. package/lib/generators/add-frontend/templates/_dockerignore +13 -0
  16. package/lib/generators/add-frontend/templates/_gitignore +4 -0
  17. package/lib/generators/add-frontend/templates/_npmignore +2 -0
  18. package/lib/generators/add-frontend/templates/package.json +2 -2
  19. package/lib/generators/add-fullstack/files/_browserslistrc +3 -0
  20. package/{src/generators/add-fullstack/files/.eslintrc.js → lib/generators/add-fullstack/files/_eslintrc.js} +2 -5
  21. package/lib/generators/add-fullstack/files/_git-crypt/.gitattributes +4 -0
  22. package/lib/generators/add-fullstack/files/_git-crypt/keys/default/0/147885163DF27F4877B0BC14DE8C27DDE38F1E61.gpg +0 -0
  23. package/lib/generators/add-fullstack/files/_git-crypt/keys/default/0/49AB3942E38DB928ACF3905EC2DB4383B4A6E5EA.gpg +1 -0
  24. package/lib/generators/add-fullstack/files/_git-crypt/keys/default/0/49F363DC4362D3C17B2FE0091871B202236FD41B.gpg +0 -0
  25. package/lib/generators/add-fullstack/files/_git-crypt/keys/default/0/54EBB791640A664510494E416177B1BAA1083A88.gpg +0 -0
  26. package/lib/generators/add-fullstack/files/_git-crypt/keys/default/0/70961F6ECD8220394FD8AB555E94AC25CBCBA1A3.gpg +0 -0
  27. package/lib/generators/add-fullstack/files/_git-crypt/keys/default/0/EBA4B7A860BD152BF5F9F727F12B84D048062B79.gpg +0 -0
  28. package/lib/generators/add-fullstack/files/_gitignore +62 -0
  29. package/lib/generators/add-fullstack/files/_husky/pre-commit +4 -0
  30. package/lib/generators/add-fullstack/files/_husky/prepare-commit-msg +4 -0
  31. package/{src/generators/add-fullstack/files/.markdownlint.json → lib/generators/add-fullstack/files/_markdownlint.json} +1 -1
  32. package/lib/generators/add-fullstack/files/_npmrc +2 -0
  33. package/lib/generators/add-fullstack/files/lint-staged.config.js +2 -2
  34. package/lib/generators/add-fullstack/files/package.json +3 -9
  35. package/lib/generators/add-fullstack/files/rollup.config.base.mjs +45 -22
  36. package/lib/generators/add-fullstack/generator.cjs +51 -20
  37. package/lib/generators/add-fullstack/generator.cjs.map +1 -1
  38. package/lib/generators/add-fullstack/generator.d.ts +1 -1
  39. package/lib/generators/add-fullstack/generator.mjs +45 -14
  40. package/lib/generators/add-fullstack/generator.mjs.map +1 -1
  41. package/lib/generators/add-fullstack/updates/{ignoreUpdate.cjs → fileBackup.cjs} +1 -1
  42. package/lib/generators/add-fullstack/updates/fileBackup.cjs.map +1 -0
  43. package/lib/generators/add-fullstack/updates/{ignoreUpdate.mjs → fileBackup.mjs} +1 -1
  44. package/lib/generators/add-fullstack/updates/fileBackup.mjs.map +1 -0
  45. package/lib/generators/add-fullstack/updates/gitAttributesSetup.cjs +17 -0
  46. package/lib/generators/add-fullstack/updates/gitAttributesSetup.cjs.map +1 -0
  47. package/lib/generators/add-fullstack/updates/gitAttributesSetup.d.ts +9 -0
  48. package/lib/generators/add-fullstack/updates/gitAttributesSetup.mjs +17 -0
  49. package/lib/generators/add-fullstack/updates/gitAttributesSetup.mjs.map +1 -0
  50. package/lib/generators/add-fullstack/updates/gitCryptSetup.cjs +70 -0
  51. package/lib/generators/add-fullstack/updates/gitCryptSetup.cjs.map +1 -0
  52. package/lib/generators/add-fullstack/updates/gitCryptSetup.d.ts +5 -0
  53. package/lib/generators/add-fullstack/updates/gitCryptSetup.mjs +70 -0
  54. package/lib/generators/add-fullstack/updates/gitCryptSetup.mjs.map +1 -0
  55. package/lib/generators/add-fullstack/updates/gitSetup.cjs +55 -0
  56. package/lib/generators/add-fullstack/updates/gitSetup.cjs.map +1 -0
  57. package/lib/generators/add-fullstack/updates/gitSetup.d.ts +9 -0
  58. package/lib/generators/add-fullstack/updates/gitSetup.mjs +55 -0
  59. package/lib/generators/add-fullstack/updates/gitSetup.mjs.map +1 -0
  60. package/lib/generators/add-fullstack/updates/htmlPluginUpdate.cjs +28 -1
  61. package/lib/generators/add-fullstack/updates/htmlPluginUpdate.cjs.map +1 -1
  62. package/lib/generators/add-fullstack/updates/htmlPluginUpdate.d.ts +1 -0
  63. package/lib/generators/add-fullstack/updates/htmlPluginUpdate.mjs +28 -1
  64. package/lib/generators/add-fullstack/updates/htmlPluginUpdate.mjs.map +1 -1
  65. package/lib/generators/add-fullstack/updates/huskySetup.cjs +71 -0
  66. package/lib/generators/add-fullstack/updates/huskySetup.cjs.map +1 -0
  67. package/lib/generators/add-fullstack/updates/huskySetup.d.ts +2 -0
  68. package/lib/generators/add-fullstack/updates/huskySetup.mjs +71 -0
  69. package/lib/generators/add-fullstack/updates/huskySetup.mjs.map +1 -0
  70. package/lib/generators/add-fullstack/updates/index.d.ts +13 -6
  71. package/lib/generators/add-fullstack/updates/jenkinsUpdate.cjs +44 -0
  72. package/lib/generators/add-fullstack/updates/jenkinsUpdate.cjs.map +1 -0
  73. package/lib/generators/add-fullstack/updates/jenkinsUpdate.mjs +44 -0
  74. package/lib/generators/add-fullstack/updates/jenkinsUpdate.mjs.map +1 -0
  75. package/lib/generators/add-fullstack/updates/{lernaJsonUpdate.cjs → lernaUpdate.cjs} +6 -7
  76. package/lib/generators/add-fullstack/updates/lernaUpdate.cjs.map +1 -0
  77. package/lib/generators/add-fullstack/updates/{lernaJsonUpdate.mjs → lernaUpdate.mjs} +6 -7
  78. package/lib/generators/add-fullstack/updates/lernaUpdate.mjs.map +1 -0
  79. package/lib/generators/add-fullstack/updates/licenseUpdate.cjs +1 -1
  80. package/lib/generators/add-fullstack/updates/licenseUpdate.cjs.map +1 -1
  81. package/lib/generators/add-fullstack/updates/licenseUpdate.mjs +1 -1
  82. package/lib/generators/add-fullstack/updates/licenseUpdate.mjs.map +1 -1
  83. package/lib/generators/add-fullstack/updates/npmAuthSetup.cjs +60 -0
  84. package/lib/generators/add-fullstack/updates/npmAuthSetup.cjs.map +1 -0
  85. package/lib/generators/add-fullstack/updates/npmAuthSetup.d.ts +5 -0
  86. package/lib/generators/add-fullstack/updates/npmAuthSetup.mjs +60 -0
  87. package/lib/generators/add-fullstack/updates/npmAuthSetup.mjs.map +1 -0
  88. package/lib/generators/add-fullstack/updates/nxSetup.cjs +81 -0
  89. package/lib/generators/add-fullstack/updates/nxSetup.cjs.map +1 -0
  90. package/lib/generators/add-fullstack/updates/nxSetup.d.ts +5 -0
  91. package/lib/generators/add-fullstack/updates/nxSetup.mjs +81 -0
  92. package/lib/generators/add-fullstack/updates/nxSetup.mjs.map +1 -0
  93. package/lib/generators/add-fullstack/updates/packageJsonUpdate.cjs +2 -34
  94. package/lib/generators/add-fullstack/updates/packageJsonUpdate.cjs.map +1 -1
  95. package/lib/generators/add-fullstack/updates/packageJsonUpdate.d.ts +0 -1
  96. package/lib/generators/add-fullstack/updates/packageJsonUpdate.mjs +2 -34
  97. package/lib/generators/add-fullstack/updates/packageJsonUpdate.mjs.map +1 -1
  98. package/lib/generators/add-fullstack/updates/repositoryUpdate.cjs +35 -0
  99. package/lib/generators/add-fullstack/updates/repositoryUpdate.cjs.map +1 -0
  100. package/lib/generators/add-fullstack/updates/repositoryUpdate.d.ts +2 -0
  101. package/lib/generators/add-fullstack/updates/repositoryUpdate.mjs +35 -0
  102. package/lib/generators/add-fullstack/updates/repositoryUpdate.mjs.map +1 -0
  103. package/lib/generators/add-moleculer/files/_gitignore +2 -0
  104. package/lib/generators/add-moleculer/files/package.json +5 -5
  105. package/lib/generators/add-moleculer/generator.cjs +30 -18
  106. package/lib/generators/add-moleculer/generator.cjs.map +1 -1
  107. package/lib/generators/add-moleculer/generator.d.ts +0 -1
  108. package/lib/generators/add-moleculer/generator.mjs +30 -18
  109. package/lib/generators/add-moleculer/generator.mjs.map +1 -1
  110. package/lib/generators/add-moleculer/schema.d.ts +6 -0
  111. package/lib/generators/add-package/files/browser/LICENSE +674 -0
  112. package/lib/generators/add-package/files/browser/_npmignore +2 -0
  113. package/lib/generators/add-package/files/browser/jest.config.js +8 -0
  114. package/lib/generators/add-package/files/browser/package.json +49 -0
  115. package/lib/generators/add-package/files/browser/rollup.config.mjs +29 -0
  116. package/lib/generators/add-package/files/browser/src/config/env-config.ts.template +9 -0
  117. package/lib/generators/add-package/files/browser/src/index.ts.template +4 -0
  118. package/lib/generators/add-package/files/browser/src/interfaces/index.ts.template +1 -0
  119. package/lib/generators/add-package/files/browser/src/interfaces/interfaces.ts.template +1 -0
  120. package/lib/generators/add-package/files/browser/src/module.tsx.template +7 -0
  121. package/lib/generators/add-package/files/browser/tsconfig.json +16 -0
  122. package/lib/generators/add-package/files/client/LICENSE +674 -0
  123. package/lib/generators/add-package/files/client/_npmignore +2 -0
  124. package/lib/generators/add-package/files/client/jest.config.js +13 -0
  125. package/lib/generators/add-package/files/client/package.json +30 -0
  126. package/lib/generators/add-package/files/client/rollup.config.mjs +34 -0
  127. package/lib/generators/add-package/files/client/src/components/index.tsx.template +1 -0
  128. package/lib/generators/add-package/files/client/src/config/env-config.ts.template +9 -0
  129. package/lib/generators/add-package/files/client/src/index.ts.template +1 -0
  130. package/lib/generators/add-package/files/client/tsconfig.json +14 -0
  131. package/lib/generators/add-package/files/core/LICENSE +39 -0
  132. package/lib/generators/add-package/files/core/_npmignore +3 -0
  133. package/lib/generators/add-package/files/core/jest.config.js +3 -0
  134. package/lib/generators/add-package/files/core/package.json +30 -0
  135. package/lib/generators/add-package/files/core/rollup.config.mjs +37 -0
  136. package/lib/generators/add-package/files/core/src/cdm-locales/en/main.json +2 -0
  137. package/lib/generators/add-package/files/core/src/cdm-locales/es/common.json +2 -0
  138. package/lib/generators/add-package/files/core/src/cdm-locales/es/main.json +1 -0
  139. package/lib/generators/add-package/files/core/src/config/env-config.ts.template +9 -0
  140. package/lib/generators/add-package/files/core/src/constants/index.ts.template +1 -0
  141. package/lib/generators/add-package/files/core/src/constants/types.ts.template +3 -0
  142. package/lib/generators/add-package/files/core/src/index.ts.template +2 -0
  143. package/lib/generators/add-package/files/core/src/types/index.ts.template +1 -0
  144. package/lib/generators/add-package/files/core/src/types/types.ts.template +17 -0
  145. package/lib/generators/add-package/files/core/tsconfig.json +13 -0
  146. package/lib/generators/add-package/files/server/LICENSE +674 -0
  147. package/lib/generators/add-package/files/server/_npmignore +2 -0
  148. package/lib/generators/add-package/files/server/jest.config.js +32 -0
  149. package/lib/generators/add-package/files/server/package.json +78 -0
  150. package/lib/generators/add-package/files/server/rollup.config.mjs +37 -0
  151. package/lib/generators/add-package/files/server/src/config/env-config.ts.template +9 -0
  152. package/lib/generators/add-package/files/server/src/constants/constants.ts.template +62 -0
  153. package/lib/generators/add-package/files/server/src/constants/index.ts.template +1 -0
  154. package/lib/generators/add-package/files/server/src/constants/types.ts.template +21 -0
  155. package/lib/generators/add-package/files/server/src/index.ts.template +6 -0
  156. package/lib/generators/add-package/files/server/src/module.ts.template +6 -0
  157. package/lib/generators/add-package/files/server/tsconfig.json +17 -0
  158. package/lib/generators/add-package/generator.cjs +53 -11
  159. package/lib/generators/add-package/generator.cjs.map +1 -1
  160. package/lib/generators/add-package/generator.d.ts +4 -1
  161. package/lib/generators/add-package/generator.mjs +53 -11
  162. package/lib/generators/add-package/generator.mjs.map +1 -1
  163. package/lib/index.cjs +1 -1
  164. package/lib/index.d.ts +5 -5
  165. package/lib/index.mjs +1 -1
  166. package/lib/utils/copyDotfiles.cjs +86 -0
  167. package/lib/utils/copyDotfiles.cjs.map +1 -0
  168. package/lib/utils/copyDotfiles.d.ts +14 -0
  169. package/lib/utils/copyDotfiles.mjs +86 -0
  170. package/lib/utils/copyDotfiles.mjs.map +1 -0
  171. package/package.json +2 -2
  172. package/src/generators/add-backend/files/Dockerfile +28 -0
  173. package/src/generators/add-backend/files/LICENSE +661 -0
  174. package/src/generators/add-backend/files/README.md +133 -0
  175. package/src/generators/add-backend/files/__tests__/test.ts.template +96 -0
  176. package/src/generators/add-backend/files/_dockerignore +9 -0
  177. package/src/generators/add-backend/files/_gitignore +13 -0
  178. package/src/generators/add-backend/files/_npmignore +2 -0
  179. package/src/generators/add-backend/files/_yarnrc +1 -0
  180. package/src/generators/add-backend/files/babel.config.js +45 -0
  181. package/src/generators/add-backend/files/build.config.js +14 -0
  182. package/src/generators/add-backend/files/build.config.mjs +27 -0
  183. package/src/generators/add-backend/files/config.json +10 -0
  184. package/src/generators/add-backend/files/jest.config.js +27 -0
  185. package/src/generators/add-backend/files/package.json +82 -0
  186. package/src/generators/add-backend/files/src/api/root-schema.graphqls +109 -0
  187. package/src/generators/add-backend/files/src/config/env-config.ts.template +12 -0
  188. package/src/generators/add-backend/files/src/config/index.ts.template +1 -0
  189. package/src/generators/add-backend/files/src/env.ts.template +5 -0
  190. package/src/generators/add-backend/files/src/index.ts.template +56 -0
  191. package/src/generators/add-backend/files/src/modules/index.ts.template +17 -0
  192. package/src/generators/add-backend/files/src/service.ts.template +35 -0
  193. package/src/generators/add-backend/files/tsconfig.base.json +30 -0
  194. package/src/generators/add-backend/files/tsconfig.json +13 -0
  195. package/src/generators/add-backend/files/webpack.config.js +200 -0
  196. package/src/generators/add-backend/files/webpack.config.mjs +216 -0
  197. package/src/generators/add-backend/generator.ts +13 -4
  198. package/src/generators/add-frontend/generator.ts +8 -0
  199. package/src/generators/add-frontend/templates/CHANGELOG.md +72 -0
  200. package/src/generators/add-frontend/templates/Dockerfile +31 -0
  201. package/src/generators/add-frontend/templates/_browserslistrc +3 -0
  202. package/src/generators/add-frontend/templates/_dockerignore +13 -0
  203. package/src/generators/add-frontend/templates/_gitignore +4 -0
  204. package/src/generators/add-frontend/templates/_npmignore +2 -0
  205. package/src/generators/add-frontend/templates/codecept.json +28 -0
  206. package/src/generators/add-frontend/templates/config.json +5 -0
  207. package/src/generators/add-frontend/templates/env.d.ts.template +9 -0
  208. package/src/generators/add-frontend/templates/env.js +5 -0
  209. package/src/generators/add-frontend/templates/favicon.ico +0 -0
  210. package/src/generators/add-frontend/templates/jest.config.js +33 -0
  211. package/src/generators/add-frontend/templates/package.json +102 -0
  212. package/src/generators/add-frontend/templates/public/favicon.ico +0 -0
  213. package/src/generators/add-frontend/templates/server.js +78 -0
  214. package/src/generators/add-frontend/templates/src/config/public-config.ts.template +88 -0
  215. package/src/generators/add-frontend/templates/tools/checkQueryUsage.mjs +192 -0
  216. package/src/generators/add-frontend/templates/tools/mergeConfig.js +35 -0
  217. package/src/generators/add-frontend/templates/tsconfig.base.json +38 -0
  218. package/src/generators/add-frontend/templates/tsconfig.json +32 -0
  219. package/src/generators/add-frontend/templates/tsconfig.node.json +10 -0
  220. package/src/generators/add-frontend/templates/vite.config.ts.template +115 -0
  221. package/src/generators/add-fullstack/files/_browserslistrc +3 -0
  222. package/src/generators/add-fullstack/files/_eslintignore +3 -0
  223. package/src/generators/add-fullstack/files/_eslintrc.js +89 -0
  224. package/src/generators/add-fullstack/files/_git-crypt/.gitattributes +4 -0
  225. package/src/generators/add-fullstack/files/_git-crypt/keys/default/0/147885163DF27F4877B0BC14DE8C27DDE38F1E61.gpg +0 -0
  226. package/src/generators/add-fullstack/files/_git-crypt/keys/default/0/49AB3942E38DB928ACF3905EC2DB4383B4A6E5EA.gpg +1 -0
  227. package/src/generators/add-fullstack/files/_git-crypt/keys/default/0/49F363DC4362D3C17B2FE0091871B202236FD41B.gpg +0 -0
  228. package/src/generators/add-fullstack/files/_git-crypt/keys/default/0/54EBB791640A664510494E416177B1BAA1083A88.gpg +0 -0
  229. package/src/generators/add-fullstack/files/_git-crypt/keys/default/0/70961F6ECD8220394FD8AB555E94AC25CBCBA1A3.gpg +0 -0
  230. package/src/generators/add-fullstack/files/_git-crypt/keys/default/0/EBA4B7A860BD152BF5F9F727F12B84D048062B79.gpg +0 -0
  231. package/src/generators/add-fullstack/files/_gitattributes +5 -0
  232. package/src/generators/add-fullstack/files/_gitignore +62 -0
  233. package/src/generators/add-fullstack/files/_husky/pre-commit +4 -0
  234. package/src/generators/add-fullstack/files/_husky/prepare-commit-msg +4 -0
  235. package/src/generators/add-fullstack/files/_markdownlint.json +6 -0
  236. package/src/generators/add-fullstack/files/_markdownlintignore +5 -0
  237. package/src/generators/add-fullstack/files/_npmrc +2 -0
  238. package/src/generators/add-fullstack/files/_nxignore +8 -0
  239. package/src/generators/add-fullstack/files/lint-staged.config.js +2 -2
  240. package/src/generators/add-fullstack/files/package.json +3 -9
  241. package/src/generators/add-fullstack/files/rollup.config.base.mjs +45 -22
  242. package/src/generators/add-fullstack/generator.spec.ts +2 -0
  243. package/src/generators/add-fullstack/generator.ts +74 -20
  244. package/src/generators/add-fullstack/schema.d.ts +2 -2
  245. package/src/generators/add-fullstack/updates/gitAttributesSetup.ts +60 -0
  246. package/src/generators/add-fullstack/updates/gitCryptSetup.ts +77 -0
  247. package/src/generators/add-fullstack/updates/gitSetup.ts +63 -0
  248. package/src/generators/add-fullstack/updates/htmlPluginUpdate.ts +31 -0
  249. package/src/generators/add-fullstack/updates/huskySetup.ts +84 -0
  250. package/src/generators/add-fullstack/updates/index.ts +13 -6
  251. package/src/generators/add-fullstack/updates/jenkinsUpdate.ts +53 -0
  252. package/src/generators/add-fullstack/updates/{lernaJsonUpdate.ts → lernaUpdate.ts} +6 -7
  253. package/src/generators/add-fullstack/updates/licenseUpdate.ts +3 -3
  254. package/src/generators/add-fullstack/updates/npmAuthSetup.ts +76 -0
  255. package/src/generators/add-fullstack/updates/nxSetup.ts +95 -0
  256. package/src/generators/add-fullstack/updates/packageJsonUpdate.ts +4 -42
  257. package/src/generators/add-fullstack/updates/repositoryUpdate.ts +45 -0
  258. package/src/generators/add-moleculer/files/_dockerignore +6 -0
  259. package/src/generators/add-moleculer/files/_draftignore +4 -0
  260. package/src/generators/add-moleculer/files/_gitignore +2 -0
  261. package/src/generators/add-moleculer/files/package.json +5 -5
  262. package/src/generators/add-moleculer/generator.ts +42 -18
  263. package/src/generators/add-moleculer/schema.ts +6 -0
  264. package/src/generators/add-package/files/browser/LICENSE +674 -0
  265. package/src/generators/add-package/files/browser/_npmignore +2 -0
  266. package/src/generators/add-package/files/browser/jest.config.js +8 -0
  267. package/src/generators/add-package/files/browser/package.json +49 -0
  268. package/src/generators/add-package/files/browser/rollup.config.mjs +29 -0
  269. package/src/generators/add-package/files/browser/src/config/env-config.ts.template +9 -0
  270. package/src/generators/add-package/files/browser/src/index.ts.template +4 -0
  271. package/src/generators/add-package/files/browser/src/interfaces/index.ts.template +1 -0
  272. package/src/generators/add-package/files/browser/src/interfaces/interfaces.ts.template +1 -0
  273. package/src/generators/add-package/files/browser/src/module.tsx.template +7 -0
  274. package/src/generators/add-package/files/browser/tsconfig.json +16 -0
  275. package/src/generators/add-package/files/client/LICENSE +674 -0
  276. package/src/generators/add-package/files/client/_npmignore +2 -0
  277. package/src/generators/add-package/files/client/jest.config.js +13 -0
  278. package/src/generators/add-package/files/client/package.json +30 -0
  279. package/src/generators/add-package/files/client/rollup.config.mjs +34 -0
  280. package/src/generators/add-package/files/client/src/components/index.tsx.template +1 -0
  281. package/src/generators/add-package/files/client/src/config/env-config.ts.template +9 -0
  282. package/src/generators/add-package/files/client/src/index.ts.template +1 -0
  283. package/src/generators/add-package/files/client/tsconfig.json +14 -0
  284. package/src/generators/add-package/files/core/LICENSE +39 -0
  285. package/src/generators/add-package/files/core/_npmignore +3 -0
  286. package/src/generators/add-package/files/core/jest.config.js +3 -0
  287. package/src/generators/add-package/files/core/package.json +30 -0
  288. package/src/generators/add-package/files/core/rollup.config.mjs +37 -0
  289. package/src/generators/add-package/files/core/src/cdm-locales/en/main.json +2 -0
  290. package/src/generators/add-package/files/core/src/cdm-locales/es/common.json +2 -0
  291. package/src/generators/add-package/files/core/src/cdm-locales/es/main.json +1 -0
  292. package/src/generators/add-package/files/core/src/config/env-config.ts.template +9 -0
  293. package/src/generators/add-package/files/core/src/constants/index.ts.template +1 -0
  294. package/src/generators/add-package/files/core/src/constants/types.ts.template +3 -0
  295. package/src/generators/add-package/files/core/src/index.ts.template +2 -0
  296. package/src/generators/add-package/files/core/src/types/index.ts.template +1 -0
  297. package/src/generators/add-package/files/core/src/types/types.ts.template +17 -0
  298. package/src/generators/add-package/files/core/tsconfig.json +13 -0
  299. package/src/generators/add-package/files/server/LICENSE +674 -0
  300. package/src/generators/add-package/files/server/_npmignore +2 -0
  301. package/src/generators/add-package/files/server/jest.config.js +32 -0
  302. package/src/generators/add-package/files/server/package.json +78 -0
  303. package/src/generators/add-package/files/server/rollup.config.mjs +37 -0
  304. package/src/generators/add-package/files/server/src/config/env-config.ts.template +9 -0
  305. package/src/generators/add-package/files/server/src/constants/constants.ts.template +62 -0
  306. package/src/generators/add-package/files/server/src/constants/index.ts.template +1 -0
  307. package/src/generators/add-package/files/server/src/constants/types.ts.template +21 -0
  308. package/src/generators/add-package/files/server/src/index.ts.template +6 -0
  309. package/src/generators/add-package/files/server/src/module.ts.template +6 -0
  310. package/src/generators/add-package/files/server/tsconfig.json +17 -0
  311. package/src/generators/add-package/generator.ts +75 -17
  312. package/src/index.ts +7 -6
  313. package/src/utils/copyDotfiles.ts +96 -0
  314. package/lib/generators/add-fullstack/updates/ignoreUpdate.cjs.map +0 -1
  315. package/lib/generators/add-fullstack/updates/ignoreUpdate.mjs.map +0 -1
  316. package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.cjs +0 -37
  317. package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.cjs.map +0 -1
  318. package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.mjs +0 -37
  319. package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.mjs.map +0 -1
  320. package/lib/generators/add-fullstack/updates/lernaJsonUpdate.cjs.map +0 -1
  321. package/lib/generators/add-fullstack/updates/lernaJsonUpdate.mjs.map +0 -1
  322. package/src/generators/add-fullstack/files/.husky/pre-commit +0 -1
  323. package/src/generators/add-fullstack/files/.travis.yml +0 -18
  324. package/src/generators/add-fullstack/updates/jenkinsfileUpdate.ts +0 -49
  325. /package/{src/generators/add-fullstack/files/.browserslistrc → lib/generators/add-frontend/templates/_browserslistrc} +0 -0
  326. /package/{src/generators/add-fullstack/files/.eslintignore → lib/generators/add-fullstack/files/_eslintignore} +0 -0
  327. /package/{src/generators/add-fullstack/files/.gitattributes → lib/generators/add-fullstack/files/_gitattributes} +0 -0
  328. /package/{src/generators/add-fullstack/files/.markdownlintignore → lib/generators/add-fullstack/files/_markdownlintignore} +0 -0
  329. /package/{src/generators/add-fullstack/.nxignore → lib/generators/add-fullstack/files/_nxignore} +0 -0
  330. /package/lib/generators/add-fullstack/updates/{ignoreUpdate.d.ts → fileBackup.d.ts} +0 -0
  331. /package/lib/generators/add-fullstack/updates/{jenkinsfileUpdate.d.ts → jenkinsUpdate.d.ts} +0 -0
  332. /package/lib/generators/add-fullstack/updates/{lernaJsonUpdate.d.ts → lernaUpdate.d.ts} +0 -0
  333. /package/{src/generators/add-moleculer/files/.dockerignore → lib/generators/add-moleculer/files/_dockerignore} +0 -0
  334. /package/{src/generators/add-moleculer/files/.draftignore → lib/generators/add-moleculer/files/_draftignore} +0 -0
  335. /package/src/generators/add-fullstack/updates/{ignoreUpdate.ts → fileBackup.ts} +0 -0
@@ -1,11 +1,11 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  /* eslint-disable import/no-cycle */
3
- import { addProjectConfiguration, formatFiles, generateFiles, Tree } from '@nx/devkit';
3
+ import { formatFiles, generateFiles, Tree, updateJson } from '@nx/devkit';
4
4
  import * as path from 'path';
5
5
  import * as fs from 'fs';
6
6
  import { AddFullstackGeneratorSchema } from './schema';
7
7
  import { getValid, isValid } from '../../utils';
8
- import {
8
+ import {
9
9
  updateJenkinsFile,
10
10
  updatePackageJson,
11
11
  backupLernaJson,
@@ -15,13 +15,20 @@ import {
15
15
  backupFiles,
16
16
  restoreFiles,
17
17
  updateRepository,
18
+ renameDotFiles,
19
+ setupGit,
20
+ commitInitialFiles,
21
+ setupGitCrypt,
22
+ setupHusky,
23
+ prepareGitAttributes,
24
+ setupNpmAuth,
25
+ setupNxConfig,
18
26
  } from './updates';
19
- import {
20
- generateBackend,
21
- generateFrontend,
22
- generateMoleculer,
23
- generatePackage,
24
- } from '../../index';
27
+ // import { generateBackend, generateFrontend } from '../../index';
28
+ import { addBackendGenerator as generateBackend } from '../add-backend/generator';
29
+ import { addFrontendGenerator as generateFrontend } from '../add-frontend/generator';
30
+ import { addMoleculerGenerator as generateMoleculer } from '../add-moleculer/generator';
31
+ import { addPackageGenerator as generatePackage } from '../add-package/generator';
25
32
 
26
33
  export async function addFullstackGenerator(tree: Tree, options: AddFullstackGeneratorSchema) {
27
34
  let projectPath = options.path || '';
@@ -37,31 +44,37 @@ export async function addFullstackGenerator(tree: Tree, options: AddFullstackGen
37
44
  // backup existing lerna values
38
45
  const lernaBackup = backupLernaJson(tree, projectRoot);
39
46
 
40
- // backup files codegen.yaml
41
- const filesToBackup = ['codegen.yml', 'values-dev.yaml', 'values-prod.yaml', 'values-stage.yaml'];
47
+ // backup files including codegen.ts (instead of codegen.yml)
48
+ const filesToBackup = ['codegen.ts', 'values-dev.yaml', 'values-prod.yaml', 'values-stage.yaml'];
42
49
  const filesBackup = backupFiles(tree, projectRoot, filesToBackup);
43
50
 
44
51
  generateFiles(tree, path.join(__dirname, 'files'), projectRoot, options);
45
52
 
46
- // Update Jenkinsfile with dynamic values
47
- updateJenkinsFile(tree, projectRoot, projectName);
53
+ // Rename files that begin with underscore to dot files
54
+ renameDotFiles(tree, projectRoot);
48
55
 
49
- // Update package.json with the project name
50
- updatePackageJson(tree, projectRoot, { name: projectName });
56
+ // Handle gitattributes file (Tree-phase)
57
+ prepareGitAttributes(tree, projectRoot);
51
58
 
52
- // Update tools/html-plugin-template
59
+ // First update files in the tree
60
+ updateJenkinsFile(tree, projectRoot, projectName);
61
+ updatePackageJson(tree, projectRoot, { name: projectName });
53
62
  updateHtmlPlugin(tree, projectRoot);
54
63
 
55
64
  if (lernaBackup) {
56
- // When update the existing lerna.json, it shouldn't overwrite version, allowbranch, packages
57
65
  restoreLernaJson(tree, projectRoot, lernaBackup);
58
66
  }
59
67
 
60
- // Restore files backup to ignore update
61
68
  restoreFiles(tree, projectRoot, filesBackup);
69
+ updateLicense(tree, projectRoot);
62
70
 
71
+ // Format all files
63
72
  await formatFiles(tree);
64
73
 
74
+ // Set a flag to perform Git operations after files are written
75
+ const performGitOperations = true;
76
+
77
+ // Process configurations if needed
65
78
  if (isValid(options.config)) {
66
79
  const configPath = path.resolve(projectPath, getValid(options.config));
67
80
  if (fs.existsSync(configPath)) {
@@ -77,8 +90,49 @@ export async function addFullstackGenerator(tree: Tree, options: AddFullstackGen
77
90
  }
78
91
  }
79
92
 
80
- // Update license from package.json
81
- updateLicense(tree, projectRoot);
93
+ // Add this before commitInitialFiles
94
+ await setupNxConfig(tree, projectRoot);
95
+
96
+ // Setup git and commit files
97
+ setupGit(tree, projectRoot);
98
+
99
+ // Step 2: Set up git-crypt
100
+ setupGitCrypt(tree, projectRoot);
101
+
102
+ // Step 3: Set up npm authentication
103
+ setupNpmAuth(tree, projectRoot);
104
+
105
+ // Step 4: Set up husky
106
+ setupHusky(tree, projectRoot);
107
+
108
+ // Step 5: Commit all files (they will be encrypted if they match patterns in .gitattributes)
109
+ commitInitialFiles(projectRoot);
110
+
111
+ console.log('Git setup completed.');
112
+
113
+ // Return function to execute after all files are written to disk
114
+ if (performGitOperations) {
115
+ return () => {
116
+ console.log('All files have been generated. Now setting up Git...');
117
+
118
+ // Step 1: Initialize git repository
119
+ setupGit(tree, projectRoot);
120
+
121
+ // Step 2: Set up git-crypt
122
+ setupGitCrypt(tree, projectRoot);
123
+
124
+ // Step 3: Set up npm authentication
125
+ setupNpmAuth(tree, projectRoot);
126
+
127
+ // Step 4: Set up husky
128
+ setupHusky(tree, projectRoot);
129
+
130
+ // Step 5: Commit all files (they will be encrypted if they match patterns in .gitattributes)
131
+ commitInitialFiles(projectRoot);
132
+
133
+ console.log('Git setup completed.');
134
+ };
135
+ }
82
136
  }
83
137
 
84
138
  const generateServers = async (tree: Tree, options: any) => {
@@ -114,7 +168,7 @@ const generateModules = async (tree: Tree, options: any) => {
114
168
  ns: options.ns,
115
169
  type: packageName,
116
170
  };
117
- await generatePackage(tree, configs, false);
171
+ await generatePackage(tree, configs);
118
172
  }
119
173
  }
120
174
  };
@@ -1,5 +1,5 @@
1
1
  export interface AddFullstackGeneratorSchema {
2
2
  name: string;
3
3
  config?: string;
4
- path?: string; // Optional path property for specifying the base path
5
- }
4
+ path?: string; // Optional path property for specifying the base path
5
+ }
@@ -0,0 +1,60 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import * as path from 'path';
3
+ import * as fs from 'fs';
4
+
5
+ /**
6
+ * Renames _gitattributes to .gitattributes during the Tree modification phase
7
+ */
8
+ export function prepareGitAttributes(tree: Tree, projectRoot: string) {
9
+ const gitattributesSrc = path.join(projectRoot, '_gitattributes');
10
+ const gitattributesDest = path.join(projectRoot, '.gitattributes');
11
+
12
+ if (tree.exists(gitattributesSrc)) {
13
+ // Read content and write to destination
14
+ const content = tree.read(gitattributesSrc).toString();
15
+ tree.write(gitattributesDest, content);
16
+ // Remove the source file
17
+ tree.delete(gitattributesSrc);
18
+ console.log(`Renamed ${gitattributesSrc} to ${gitattributesDest}`);
19
+ return true;
20
+ }
21
+
22
+ return false;
23
+ }
24
+
25
+ /**
26
+ * Updates .gitattributes with additional patterns if needed after files are on disk
27
+ */
28
+ export function updateGitAttributes(projectRoot: string, attributesToAdd: Record<string, string>) {
29
+ try {
30
+ const gitattributesPath = path.join(projectRoot, '.gitattributes');
31
+
32
+ if (!fs.existsSync(gitattributesPath)) {
33
+ console.log('.gitattributes file not found, skipping update');
34
+ return false;
35
+ }
36
+
37
+ let gitattributesContent = fs.readFileSync(gitattributesPath, 'utf8');
38
+ let contentUpdated = false;
39
+
40
+ // Add each attribute if not already present
41
+ Object.entries(attributesToAdd).forEach(([pattern, attribute]) => {
42
+ const attributeLine = `${pattern} ${attribute}`;
43
+ if (!gitattributesContent.includes(attributeLine)) {
44
+ contentUpdated = true;
45
+ gitattributesContent += `\n${attributeLine}`;
46
+ }
47
+ });
48
+
49
+ // Write the file if we made changes
50
+ if (contentUpdated) {
51
+ fs.writeFileSync(gitattributesPath, gitattributesContent, 'utf8');
52
+ console.log('Updated .gitattributes file with additional patterns');
53
+ }
54
+
55
+ return contentUpdated;
56
+ } catch (error) {
57
+ console.error('Error updating .gitattributes:', error);
58
+ return false;
59
+ }
60
+ }
@@ -0,0 +1,77 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import * as path from 'path';
3
+ import { execSync } from 'child_process';
4
+ import * as fs from 'fs';
5
+
6
+ /**
7
+ * Set up git-crypt for encrypting sensitive files
8
+ */
9
+ export function setupGitCrypt(tree: Tree, projectRoot: string) {
10
+ try {
11
+ // Navigate to the project directory
12
+ const originalDir = process.cwd();
13
+ process.chdir(projectRoot);
14
+
15
+ console.log('Setting up git-crypt in:', projectRoot);
16
+
17
+ // Check if git-crypt is installed
18
+ try {
19
+ execSync('git-crypt --version', { stdio: 'ignore' });
20
+ } catch (error) {
21
+ console.log('git-crypt not found. Please install git-crypt to encrypt sensitive files.');
22
+ console.log('Continuing without git-crypt setup.');
23
+ process.chdir(originalDir);
24
+ return;
25
+ }
26
+
27
+ // Check if git-crypt is already initialized
28
+ const gitCryptDir = path.join(projectRoot, '.git-crypt');
29
+ const gitCryptConfigExists = fs.existsSync(gitCryptDir);
30
+
31
+ if (gitCryptConfigExists) {
32
+ console.log('git-crypt is already initialized for this repository');
33
+ } else {
34
+ // Initialize git-crypt
35
+ try {
36
+ execSync('git-crypt init', { stdio: 'inherit' });
37
+ console.log('git-crypt initialized');
38
+ } catch (error) {
39
+ console.error('Error initializing git-crypt:', error);
40
+ process.chdir(originalDir);
41
+ return;
42
+ }
43
+ }
44
+
45
+ // Create keys directory if it doesn't exist
46
+ const keysDir = path.join(projectRoot, '.git-crypt', 'keys');
47
+ if (!fs.existsSync(keysDir)) {
48
+ fs.mkdirSync(keysDir, { recursive: true });
49
+ }
50
+
51
+ // Generate and export a key for sharing only if it doesn't exist
52
+ const keyFile = path.join(keysDir, 'default-git-crypt-key');
53
+ if (!fs.existsSync(keyFile)) {
54
+ try {
55
+ execSync(`git-crypt export-key ${keyFile}`, { stdio: 'inherit' });
56
+ console.log(`Generated git-crypt key at: ${keyFile}`);
57
+ console.log('Keep this key secure and share it with team members who need access to encrypted files.');
58
+ } catch (error) {
59
+ console.error('Error exporting git-crypt key:', error);
60
+ }
61
+ } else {
62
+ console.log(`git-crypt key already exists at: ${keyFile}`);
63
+ }
64
+
65
+ console.log('Git-crypt setup completed - sensitive files will be encrypted');
66
+
67
+ // Return to original directory
68
+ process.chdir(originalDir);
69
+ } catch (error) {
70
+ console.error('Error setting up git-crypt:', error);
71
+ // Continue even if there's an error to not block the overall process
72
+ const originalDir = process.cwd();
73
+ if (originalDir !== projectRoot) {
74
+ process.chdir(originalDir);
75
+ }
76
+ }
77
+ }
@@ -0,0 +1,63 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { execSync } from 'child_process';
3
+
4
+ /**
5
+ * Sets up git repository in the project
6
+ */
7
+ export function setupGit(tree: Tree, projectRoot: string) {
8
+ try {
9
+ // Navigate to the project directory
10
+ const originalDir = process.cwd();
11
+ process.chdir(projectRoot);
12
+
13
+ console.log('Setting up git in:', projectRoot);
14
+
15
+ // Initialize git repository
16
+ execSync('git init', { stdio: 'inherit' });
17
+ console.log('Git repository initialized');
18
+
19
+ // Return to original directory
20
+ process.chdir(originalDir);
21
+ } catch (error) {
22
+ console.error('Error setting up git:', error);
23
+ // Continue even if there's an error to not block the overall process
24
+ const originalDir = process.cwd();
25
+ if (originalDir !== projectRoot) {
26
+ process.chdir(originalDir);
27
+ }
28
+ }
29
+ }
30
+
31
+ /**
32
+ * Commit all initial files to git
33
+ */
34
+ export function commitInitialFiles(projectRoot: string) {
35
+ try {
36
+ // Navigate to the project directory
37
+ const originalDir = process.cwd();
38
+ process.chdir(projectRoot);
39
+
40
+ console.log('Staging initial files...');
41
+
42
+ try {
43
+ // Add all files
44
+ execSync('git add .', { stdio: 'inherit' });
45
+
46
+ // Commit with --no-verify to bypass husky hooks
47
+ execSync('git commit -m "Initial commit from @common-stack/generate-plugin" --no-verify', { stdio: 'inherit' });
48
+ console.log('Initial commit created (bypassing pre-commit hooks)');
49
+ } catch (error) {
50
+ console.error('Error committing files:', error);
51
+ }
52
+
53
+ // Return to original directory
54
+ process.chdir(originalDir);
55
+ } catch (error) {
56
+ console.error('Error during git commit process:', error);
57
+ // Continue even if there's an error to not block the overall process
58
+ const originalDir = process.cwd();
59
+ if (originalDir !== projectRoot) {
60
+ process.chdir(originalDir);
61
+ }
62
+ }
63
+ }
@@ -1,5 +1,6 @@
1
1
  import { Tree } from '@nx/devkit';
2
2
  import * as path from 'path';
3
+ import * as fs from 'fs';
3
4
 
4
5
  export function updateHtmlPlugin(tree: Tree, projectRoot: string) {
5
6
  const filePath = path.join(projectRoot, 'tools', 'html-plugin-template.ejs');
@@ -9,3 +10,33 @@ export function updateHtmlPlugin(tree: Tree, projectRoot: string) {
9
10
  tree.write(filePath, newContents);
10
11
  }
11
12
  }
13
+
14
+ export function renameDotFiles(tree: Tree, projectRoot: string) {
15
+ // List of files that need to be renamed from _name to .name
16
+ const dotFiles = [
17
+ { src: '_gitignore', dest: '.gitignore' },
18
+ { src: '_browserslistrc', dest: '.browserslistrc' },
19
+ { src: '_eslintignore', dest: '.eslintignore' },
20
+ { src: '_eslintrc.js', dest: '.eslintrc.js' },
21
+ { src: '_nxignore', dest: '.nxignore' },
22
+ { src: '_markdownlint.json', dest: '.markdownlint.json' },
23
+ { src: '_markdownlintignore', dest: '.markdownlintignore' },
24
+ { src: '_npmrc', dest: '.npmrc' },
25
+ ];
26
+
27
+ // Process each file
28
+ dotFiles.forEach(({ src, dest }) => {
29
+ const srcPath = path.join(projectRoot, src);
30
+ const destPath = path.join(projectRoot, dest);
31
+
32
+ // Check if the source file exists
33
+ if (tree.exists(srcPath)) {
34
+ // Read content and write to destination
35
+ const content = tree.read(srcPath).toString();
36
+ tree.write(destPath, content);
37
+ // Remove the source file
38
+ tree.delete(srcPath);
39
+ console.log(`Renamed ${srcPath} to ${destPath}`);
40
+ }
41
+ });
42
+ }
@@ -0,0 +1,84 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import * as path from 'path';
3
+ import { execSync } from 'child_process';
4
+ import * as fs from 'fs';
5
+
6
+ export function setupHusky(tree: Tree, projectRoot: string) {
7
+ try {
8
+ // Navigate to the project directory
9
+ const originalDir = process.cwd();
10
+ process.chdir(projectRoot);
11
+
12
+ console.log('Setting up husky in:', projectRoot);
13
+
14
+ try {
15
+ // Initialize husky (creates .husky directory and prepares hooks)
16
+ execSync('npx husky init', { stdio: 'inherit' });
17
+ console.log('Husky initialized successfully');
18
+
19
+ // Copy the husky hook files from _husky/ to .husky/
20
+ const sourceDir = path.join(projectRoot, '_husky');
21
+ const targetDir = path.join(projectRoot, '.husky');
22
+
23
+ if (fs.existsSync(sourceDir) && fs.existsSync(targetDir)) {
24
+ // Read all files from _husky directory
25
+ const files = fs.readdirSync(sourceDir);
26
+
27
+ // Copy each file to .husky directory
28
+ files.forEach(file => {
29
+ const sourcePath = path.join(sourceDir, file);
30
+ const targetPath = path.join(targetDir, file);
31
+
32
+ if (fs.statSync(sourcePath).isFile()) {
33
+ // Read content from our hook template
34
+ const content = fs.readFileSync(sourcePath, 'utf8');
35
+
36
+ // Remove any old shebang lines to avoid deprecation warnings
37
+ const cleanContent = content
38
+ .replace(/^#!\/usr\/bin\/env sh\n/, '')
39
+ .replace(/^\. "\$\(dirname -- "\$0"\)\/\_\/husky\.sh"\n/, '')
40
+ .trim();
41
+
42
+ // Write the hook content
43
+ fs.writeFileSync(targetPath, cleanContent, 'utf8');
44
+
45
+ try {
46
+ // Make the hook executable
47
+ fs.chmodSync(targetPath, '755');
48
+ console.log(`Made executable: ${file}`);
49
+ } catch (error) {
50
+ console.log(`Note: Could not set executable permissions for ${file}. This is normal on Windows.`);
51
+ }
52
+
53
+ console.log(`Copied: ${file} to .husky directory`);
54
+ }
55
+ });
56
+
57
+ // Remove the _husky directory after copying
58
+ try {
59
+ fs.rmdirSync(sourceDir, { recursive: true });
60
+ console.log('Removed _husky directory after copying');
61
+ } catch (error) {
62
+ console.log('Could not remove _husky directory, but continuing...');
63
+ }
64
+ } else {
65
+ console.log('Source or target directory not found, skipping hook setup');
66
+ }
67
+
68
+ console.log('Husky setup completed successfully');
69
+ } catch (error) {
70
+ console.error('Error running husky commands:', error);
71
+ console.log('Continuing despite husky setup failure');
72
+ }
73
+
74
+ // Return to original directory
75
+ process.chdir(originalDir);
76
+ } catch (error) {
77
+ console.error('Error setting up husky:', error);
78
+ // Continue even if there's an error to not block the overall process
79
+ const originalDir = process.cwd();
80
+ if (originalDir !== projectRoot) {
81
+ process.chdir(originalDir);
82
+ }
83
+ }
84
+ }
@@ -1,6 +1,13 @@
1
- export * from './jenkinsfileUpdate';
2
- export * from './packageJsonUpdate';
3
- export * from './lernaJsonUpdate';
4
- export * from './htmlPluginUpdate';
5
- export * from './licenseUpdate';
6
- export * from './ignoreUpdate';
1
+ export { updateJenkinsFile } from './jenkinsUpdate';
2
+ export { updatePackageJson } from './packageJsonUpdate';
3
+ export { backupLernaJson, restoreLernaJson } from './lernaUpdate';
4
+ export { updateLicense } from './licenseUpdate';
5
+ export { backupFiles, restoreFiles } from './fileBackup';
6
+ export { updateRepository } from './repositoryUpdate';
7
+ export { updateHtmlPlugin, renameDotFiles } from './htmlPluginUpdate';
8
+ export { setupGit, commitInitialFiles } from './gitSetup';
9
+ export { setupGitCrypt } from './gitCryptSetup';
10
+ export { setupHusky } from './huskySetup';
11
+ export { prepareGitAttributes, updateGitAttributes } from './gitAttributesSetup';
12
+ export { setupNpmAuth } from './npmAuthSetup';
13
+ export * from './nxSetup';
@@ -0,0 +1,53 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import * as path from 'path';
3
+
4
+ export function updateJenkinsFile(tree: Tree, projectRoot: string, name: string) {
5
+ const filePath = path.join(projectRoot, 'Jenkinsfile');
6
+ const paramsToUpdate = {
7
+ BASE_NAMESPACE: name,
8
+ CONNECTION_ID: name,
9
+ WORKSPACE_ID: name,
10
+ UNIQUE_NAME: name,
11
+ };
12
+
13
+ if (tree.exists(filePath)) {
14
+ const jenkinsFileContent = tree.read(filePath).toString();
15
+ let labelExists = false;
16
+
17
+ const updatedContent = jenkinsFileContent.split('\n').map(line => {
18
+ // Check if the label is already defined and skip modifying it
19
+ if (line.includes('label') && line.includes('kubernetes')) {
20
+ labelExists = true;
21
+ }
22
+
23
+ // Update only the specified parameters
24
+ for (const param in paramsToUpdate) {
25
+ if (line.includes(`string(name: '${param}'`)) {
26
+ return line.replace(/defaultValue: '.*'/, `defaultValue: '${paramsToUpdate[param]}'`);
27
+ }
28
+ }
29
+ return line;
30
+ }).join('\n');
31
+
32
+ let finalContent = updatedContent;
33
+
34
+ // Add missing parameters if they don't exist
35
+ Object.keys(paramsToUpdate).forEach(param => {
36
+ if (!finalContent.includes(`string(name: '${param}'`)) {
37
+ finalContent = finalContent.concat(
38
+ `string(name: '${param}', defaultValue: '${paramsToUpdate[param]}', description: '${param.replace(/_/g, ' ').toLowerCase()}')\n`
39
+ );
40
+ }
41
+ });
42
+
43
+ // Only write back to the file if we have made changes
44
+ if (!labelExists || Object.keys(paramsToUpdate).some(param => !finalContent.includes(`string(name: '${param}'`))) {
45
+ tree.write(filePath, finalContent);
46
+ console.log(`Updated Jenkinsfile with parameters for: ${name}`);
47
+ } else {
48
+ console.log('No changes needed in Jenkinsfile');
49
+ }
50
+ } else {
51
+ console.log('Jenkinsfile not found, skipping update');
52
+ }
53
+ }
@@ -19,15 +19,14 @@ export function backupLernaJson(tree: Tree, projectRoot: string) {
19
19
  backup[param] = paramValue;
20
20
  exists = true;
21
21
  }
22
- } else {
23
- if (lernaJson[param]) {
24
- backup[param] = lernaJson[param];
25
- exists = true;
26
- }
22
+ } else if (lernaJson[param]) {
23
+ backup[param] = lernaJson[param];
24
+ exists = true;
27
25
  }
28
26
  }
29
27
 
30
28
  if (exists) {
29
+ console.log('Backed up important values from lerna.json');
31
30
  return backup;
32
31
  }
33
32
  }
@@ -39,7 +38,7 @@ export function restoreLernaJson(tree: Tree, projectRoot: string, backup: any) {
39
38
  const lernaJsonPath = path.join(projectRoot, 'lerna.json');
40
39
  if (backup && fs.existsSync(lernaJsonPath)) {
41
40
  updateJson(tree, lernaJsonPath, (lernaJson: any) => {
42
- Object.keys(backup).forEach(param => {
41
+ Object.keys(backup).forEach((param) => {
43
42
  if (param.includes(':')) {
44
43
  lernaJson = set(lernaJson, param.split(':'), backup[param]);
45
44
  } else {
@@ -50,4 +49,4 @@ export function restoreLernaJson(tree: Tree, projectRoot: string, backup: any) {
50
49
  });
51
50
  console.log('Restored old values in lerna.json');
52
51
  }
53
- }
52
+ }
@@ -5,11 +5,11 @@ export function updateLicense(tree: Tree, projectRoot: string) {
5
5
  const files = ['LICENSE-GNU', 'LICENSE-IST', 'LICENSE-MIT'];
6
6
  const packageJsonPath = path.join(projectRoot, 'package.json');
7
7
  const packageJson = readJson(tree, packageJsonPath);
8
-
8
+
9
9
  if (packageJson.license) {
10
10
  const fileName = `LICENSE-${packageJson.license.toUpperCase()}`;
11
-
12
- files.forEach(file => {
11
+
12
+ files.forEach((file) => {
13
13
  const filePath = path.join(projectRoot, file);
14
14
  if (file === fileName) {
15
15
  if (tree.exists(filePath)) {