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

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 (333) 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/generator.cjs +51 -20
  36. package/lib/generators/add-fullstack/generator.cjs.map +1 -1
  37. package/lib/generators/add-fullstack/generator.d.ts +1 -1
  38. package/lib/generators/add-fullstack/generator.mjs +45 -14
  39. package/lib/generators/add-fullstack/generator.mjs.map +1 -1
  40. package/lib/generators/add-fullstack/updates/{ignoreUpdate.cjs → fileBackup.cjs} +1 -1
  41. package/lib/generators/add-fullstack/updates/fileBackup.cjs.map +1 -0
  42. package/lib/generators/add-fullstack/updates/{ignoreUpdate.mjs → fileBackup.mjs} +1 -1
  43. package/lib/generators/add-fullstack/updates/fileBackup.mjs.map +1 -0
  44. package/lib/generators/add-fullstack/updates/gitAttributesSetup.cjs +17 -0
  45. package/lib/generators/add-fullstack/updates/gitAttributesSetup.cjs.map +1 -0
  46. package/lib/generators/add-fullstack/updates/gitAttributesSetup.d.ts +9 -0
  47. package/lib/generators/add-fullstack/updates/gitAttributesSetup.mjs +17 -0
  48. package/lib/generators/add-fullstack/updates/gitAttributesSetup.mjs.map +1 -0
  49. package/lib/generators/add-fullstack/updates/gitCryptSetup.cjs +70 -0
  50. package/lib/generators/add-fullstack/updates/gitCryptSetup.cjs.map +1 -0
  51. package/lib/generators/add-fullstack/updates/gitCryptSetup.d.ts +5 -0
  52. package/lib/generators/add-fullstack/updates/gitCryptSetup.mjs +70 -0
  53. package/lib/generators/add-fullstack/updates/gitCryptSetup.mjs.map +1 -0
  54. package/lib/generators/add-fullstack/updates/gitSetup.cjs +55 -0
  55. package/lib/generators/add-fullstack/updates/gitSetup.cjs.map +1 -0
  56. package/lib/generators/add-fullstack/updates/gitSetup.d.ts +9 -0
  57. package/lib/generators/add-fullstack/updates/gitSetup.mjs +55 -0
  58. package/lib/generators/add-fullstack/updates/gitSetup.mjs.map +1 -0
  59. package/lib/generators/add-fullstack/updates/htmlPluginUpdate.cjs +28 -1
  60. package/lib/generators/add-fullstack/updates/htmlPluginUpdate.cjs.map +1 -1
  61. package/lib/generators/add-fullstack/updates/htmlPluginUpdate.d.ts +1 -0
  62. package/lib/generators/add-fullstack/updates/htmlPluginUpdate.mjs +28 -1
  63. package/lib/generators/add-fullstack/updates/htmlPluginUpdate.mjs.map +1 -1
  64. package/lib/generators/add-fullstack/updates/huskySetup.cjs +71 -0
  65. package/lib/generators/add-fullstack/updates/huskySetup.cjs.map +1 -0
  66. package/lib/generators/add-fullstack/updates/huskySetup.d.ts +2 -0
  67. package/lib/generators/add-fullstack/updates/huskySetup.mjs +71 -0
  68. package/lib/generators/add-fullstack/updates/huskySetup.mjs.map +1 -0
  69. package/lib/generators/add-fullstack/updates/index.d.ts +13 -6
  70. package/lib/generators/add-fullstack/updates/jenkinsUpdate.cjs +44 -0
  71. package/lib/generators/add-fullstack/updates/jenkinsUpdate.cjs.map +1 -0
  72. package/lib/generators/add-fullstack/updates/jenkinsUpdate.mjs +44 -0
  73. package/lib/generators/add-fullstack/updates/jenkinsUpdate.mjs.map +1 -0
  74. package/lib/generators/add-fullstack/updates/{lernaJsonUpdate.cjs → lernaUpdate.cjs} +6 -7
  75. package/lib/generators/add-fullstack/updates/lernaUpdate.cjs.map +1 -0
  76. package/lib/generators/add-fullstack/updates/{lernaJsonUpdate.mjs → lernaUpdate.mjs} +6 -7
  77. package/lib/generators/add-fullstack/updates/lernaUpdate.mjs.map +1 -0
  78. package/lib/generators/add-fullstack/updates/licenseUpdate.cjs +1 -1
  79. package/lib/generators/add-fullstack/updates/licenseUpdate.cjs.map +1 -1
  80. package/lib/generators/add-fullstack/updates/licenseUpdate.mjs +1 -1
  81. package/lib/generators/add-fullstack/updates/licenseUpdate.mjs.map +1 -1
  82. package/lib/generators/add-fullstack/updates/npmAuthSetup.cjs +60 -0
  83. package/lib/generators/add-fullstack/updates/npmAuthSetup.cjs.map +1 -0
  84. package/lib/generators/add-fullstack/updates/npmAuthSetup.d.ts +5 -0
  85. package/lib/generators/add-fullstack/updates/npmAuthSetup.mjs +60 -0
  86. package/lib/generators/add-fullstack/updates/npmAuthSetup.mjs.map +1 -0
  87. package/lib/generators/add-fullstack/updates/nxSetup.cjs +81 -0
  88. package/lib/generators/add-fullstack/updates/nxSetup.cjs.map +1 -0
  89. package/lib/generators/add-fullstack/updates/nxSetup.d.ts +5 -0
  90. package/lib/generators/add-fullstack/updates/nxSetup.mjs +81 -0
  91. package/lib/generators/add-fullstack/updates/nxSetup.mjs.map +1 -0
  92. package/lib/generators/add-fullstack/updates/packageJsonUpdate.cjs +2 -34
  93. package/lib/generators/add-fullstack/updates/packageJsonUpdate.cjs.map +1 -1
  94. package/lib/generators/add-fullstack/updates/packageJsonUpdate.d.ts +0 -1
  95. package/lib/generators/add-fullstack/updates/packageJsonUpdate.mjs +2 -34
  96. package/lib/generators/add-fullstack/updates/packageJsonUpdate.mjs.map +1 -1
  97. package/lib/generators/add-fullstack/updates/repositoryUpdate.cjs +35 -0
  98. package/lib/generators/add-fullstack/updates/repositoryUpdate.cjs.map +1 -0
  99. package/lib/generators/add-fullstack/updates/repositoryUpdate.d.ts +2 -0
  100. package/lib/generators/add-fullstack/updates/repositoryUpdate.mjs +35 -0
  101. package/lib/generators/add-fullstack/updates/repositoryUpdate.mjs.map +1 -0
  102. package/lib/generators/add-moleculer/files/_gitignore +2 -0
  103. package/lib/generators/add-moleculer/files/package.json +5 -5
  104. package/lib/generators/add-moleculer/generator.cjs +30 -18
  105. package/lib/generators/add-moleculer/generator.cjs.map +1 -1
  106. package/lib/generators/add-moleculer/generator.d.ts +0 -1
  107. package/lib/generators/add-moleculer/generator.mjs +30 -18
  108. package/lib/generators/add-moleculer/generator.mjs.map +1 -1
  109. package/lib/generators/add-moleculer/schema.d.ts +6 -0
  110. package/lib/generators/add-package/files/browser/LICENSE +674 -0
  111. package/lib/generators/add-package/files/browser/_npmignore +2 -0
  112. package/lib/generators/add-package/files/browser/jest.config.js +8 -0
  113. package/lib/generators/add-package/files/browser/package.json +49 -0
  114. package/lib/generators/add-package/files/browser/rollup.config.mjs +29 -0
  115. package/lib/generators/add-package/files/browser/src/config/env-config.ts.template +9 -0
  116. package/lib/generators/add-package/files/browser/src/index.ts.template +4 -0
  117. package/lib/generators/add-package/files/browser/src/interfaces/index.ts.template +1 -0
  118. package/lib/generators/add-package/files/browser/src/interfaces/interfaces.ts.template +1 -0
  119. package/lib/generators/add-package/files/browser/src/module.tsx.template +7 -0
  120. package/lib/generators/add-package/files/browser/tsconfig.json +28 -0
  121. package/lib/generators/add-package/files/browser/webpack.config.js +71 -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 +29 -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 +27 -0
  131. package/lib/generators/add-package/files/client/webpack.config.js +72 -0
  132. package/lib/generators/add-package/files/core/LICENSE +39 -0
  133. package/lib/generators/add-package/files/core/_npmignore +3 -0
  134. package/lib/generators/add-package/files/core/jest.config.js +3 -0
  135. package/lib/generators/add-package/files/core/package.json +30 -0
  136. package/lib/generators/add-package/files/core/rollup.config.mjs +65 -0
  137. package/lib/generators/add-package/files/core/src/cdm-locales/en/main.json +2 -0
  138. package/lib/generators/add-package/files/core/src/cdm-locales/es/common.json +2 -0
  139. package/lib/generators/add-package/files/core/src/cdm-locales/es/main.json +1 -0
  140. package/lib/generators/add-package/files/core/src/config/env-config.ts.template +9 -0
  141. package/lib/generators/add-package/files/core/src/constants/index.ts.template +1 -0
  142. package/lib/generators/add-package/files/core/src/constants/types.ts.template +3 -0
  143. package/lib/generators/add-package/files/core/src/index.ts.template +2 -0
  144. package/lib/generators/add-package/files/core/src/types/index.ts.template +1 -0
  145. package/lib/generators/add-package/files/core/src/types/types.ts.template +17 -0
  146. package/lib/generators/add-package/files/core/tsconfig.json +22 -0
  147. package/lib/generators/add-package/files/core/webpack.config.js +53 -0
  148. package/lib/generators/add-package/files/server/LICENSE +674 -0
  149. package/lib/generators/add-package/files/server/_npmignore +2 -0
  150. package/lib/generators/add-package/files/server/jest.config.js +32 -0
  151. package/lib/generators/add-package/files/server/package.json +78 -0
  152. package/lib/generators/add-package/files/server/rollup.config.mjs +30 -0
  153. package/lib/generators/add-package/files/server/src/config/env-config.ts.template +9 -0
  154. package/lib/generators/add-package/files/server/src/constants/constants.ts.template +62 -0
  155. package/lib/generators/add-package/files/server/src/constants/index.ts.template +1 -0
  156. package/lib/generators/add-package/files/server/src/constants/types.ts.template +21 -0
  157. package/lib/generators/add-package/files/server/src/index.ts.template +6 -0
  158. package/lib/generators/add-package/files/server/src/module.ts.template +6 -0
  159. package/lib/generators/add-package/files/server/tsconfig.json +27 -0
  160. package/lib/index.cjs +1 -1
  161. package/lib/index.d.ts +5 -5
  162. package/lib/index.mjs +1 -1
  163. package/lib/utils/copyDotfiles.cjs +86 -0
  164. package/lib/utils/copyDotfiles.cjs.map +1 -0
  165. package/lib/utils/copyDotfiles.d.ts +14 -0
  166. package/lib/utils/copyDotfiles.mjs +86 -0
  167. package/lib/utils/copyDotfiles.mjs.map +1 -0
  168. package/package.json +3 -3
  169. package/src/generators/add-backend/files/Dockerfile +28 -0
  170. package/src/generators/add-backend/files/LICENSE +661 -0
  171. package/src/generators/add-backend/files/README.md +133 -0
  172. package/src/generators/add-backend/files/__tests__/test.ts.template +96 -0
  173. package/src/generators/add-backend/files/_dockerignore +9 -0
  174. package/src/generators/add-backend/files/_gitignore +13 -0
  175. package/src/generators/add-backend/files/_npmignore +2 -0
  176. package/src/generators/add-backend/files/_yarnrc +1 -0
  177. package/src/generators/add-backend/files/babel.config.js +45 -0
  178. package/src/generators/add-backend/files/build.config.js +14 -0
  179. package/src/generators/add-backend/files/build.config.mjs +27 -0
  180. package/src/generators/add-backend/files/config.json +10 -0
  181. package/src/generators/add-backend/files/jest.config.js +27 -0
  182. package/src/generators/add-backend/files/package.json +82 -0
  183. package/src/generators/add-backend/files/src/api/root-schema.graphqls +109 -0
  184. package/src/generators/add-backend/files/src/config/env-config.ts.template +12 -0
  185. package/src/generators/add-backend/files/src/config/index.ts.template +1 -0
  186. package/src/generators/add-backend/files/src/env.ts.template +5 -0
  187. package/src/generators/add-backend/files/src/index.ts.template +56 -0
  188. package/src/generators/add-backend/files/src/modules/index.ts.template +17 -0
  189. package/src/generators/add-backend/files/src/service.ts.template +35 -0
  190. package/src/generators/add-backend/files/tsconfig.base.json +30 -0
  191. package/src/generators/add-backend/files/tsconfig.json +13 -0
  192. package/src/generators/add-backend/files/webpack.config.js +200 -0
  193. package/src/generators/add-backend/files/webpack.config.mjs +216 -0
  194. package/src/generators/add-backend/generator.ts +13 -4
  195. package/src/generators/add-frontend/generator.ts +8 -0
  196. package/src/generators/add-frontend/templates/CHANGELOG.md +72 -0
  197. package/src/generators/add-frontend/templates/Dockerfile +31 -0
  198. package/src/generators/add-frontend/templates/_browserslistrc +3 -0
  199. package/src/generators/add-frontend/templates/_dockerignore +13 -0
  200. package/src/generators/add-frontend/templates/_gitignore +4 -0
  201. package/src/generators/add-frontend/templates/_npmignore +2 -0
  202. package/src/generators/add-frontend/templates/codecept.json +28 -0
  203. package/src/generators/add-frontend/templates/config.json +5 -0
  204. package/src/generators/add-frontend/templates/env.d.ts.template +9 -0
  205. package/src/generators/add-frontend/templates/env.js +5 -0
  206. package/src/generators/add-frontend/templates/favicon.ico +0 -0
  207. package/src/generators/add-frontend/templates/jest.config.js +33 -0
  208. package/src/generators/add-frontend/templates/package.json +102 -0
  209. package/src/generators/add-frontend/templates/public/favicon.ico +0 -0
  210. package/src/generators/add-frontend/templates/server.js +78 -0
  211. package/src/generators/add-frontend/templates/src/config/public-config.ts.template +88 -0
  212. package/src/generators/add-frontend/templates/tools/checkQueryUsage.mjs +192 -0
  213. package/src/generators/add-frontend/templates/tools/mergeConfig.js +35 -0
  214. package/src/generators/add-frontend/templates/tsconfig.base.json +38 -0
  215. package/src/generators/add-frontend/templates/tsconfig.json +32 -0
  216. package/src/generators/add-frontend/templates/tsconfig.node.json +10 -0
  217. package/src/generators/add-frontend/templates/vite.config.ts.template +115 -0
  218. package/src/generators/add-fullstack/files/_browserslistrc +3 -0
  219. package/src/generators/add-fullstack/files/_eslintignore +3 -0
  220. package/src/generators/add-fullstack/files/_eslintrc.js +89 -0
  221. package/src/generators/add-fullstack/files/_git-crypt/.gitattributes +4 -0
  222. package/src/generators/add-fullstack/files/_git-crypt/keys/default/0/147885163DF27F4877B0BC14DE8C27DDE38F1E61.gpg +0 -0
  223. package/src/generators/add-fullstack/files/_git-crypt/keys/default/0/49AB3942E38DB928ACF3905EC2DB4383B4A6E5EA.gpg +1 -0
  224. package/src/generators/add-fullstack/files/_git-crypt/keys/default/0/49F363DC4362D3C17B2FE0091871B202236FD41B.gpg +0 -0
  225. package/src/generators/add-fullstack/files/_git-crypt/keys/default/0/54EBB791640A664510494E416177B1BAA1083A88.gpg +0 -0
  226. package/src/generators/add-fullstack/files/_git-crypt/keys/default/0/70961F6ECD8220394FD8AB555E94AC25CBCBA1A3.gpg +0 -0
  227. package/src/generators/add-fullstack/files/_git-crypt/keys/default/0/EBA4B7A860BD152BF5F9F727F12B84D048062B79.gpg +0 -0
  228. package/src/generators/add-fullstack/files/_gitattributes +5 -0
  229. package/src/generators/add-fullstack/files/_gitignore +62 -0
  230. package/src/generators/add-fullstack/files/_husky/pre-commit +4 -0
  231. package/src/generators/add-fullstack/files/_husky/prepare-commit-msg +4 -0
  232. package/src/generators/add-fullstack/files/_markdownlint.json +6 -0
  233. package/src/generators/add-fullstack/files/_markdownlintignore +5 -0
  234. package/src/generators/add-fullstack/files/_npmrc +2 -0
  235. package/src/generators/add-fullstack/files/_nxignore +8 -0
  236. package/src/generators/add-fullstack/files/lint-staged.config.js +2 -2
  237. package/src/generators/add-fullstack/files/package.json +3 -9
  238. package/src/generators/add-fullstack/generator.spec.ts +2 -0
  239. package/src/generators/add-fullstack/generator.ts +74 -20
  240. package/src/generators/add-fullstack/schema.d.ts +2 -2
  241. package/src/generators/add-fullstack/updates/gitAttributesSetup.ts +60 -0
  242. package/src/generators/add-fullstack/updates/gitCryptSetup.ts +77 -0
  243. package/src/generators/add-fullstack/updates/gitSetup.ts +63 -0
  244. package/src/generators/add-fullstack/updates/htmlPluginUpdate.ts +31 -0
  245. package/src/generators/add-fullstack/updates/huskySetup.ts +84 -0
  246. package/src/generators/add-fullstack/updates/index.ts +13 -6
  247. package/src/generators/add-fullstack/updates/jenkinsUpdate.ts +53 -0
  248. package/src/generators/add-fullstack/updates/{lernaJsonUpdate.ts → lernaUpdate.ts} +6 -7
  249. package/src/generators/add-fullstack/updates/licenseUpdate.ts +3 -3
  250. package/src/generators/add-fullstack/updates/npmAuthSetup.ts +76 -0
  251. package/src/generators/add-fullstack/updates/nxSetup.ts +95 -0
  252. package/src/generators/add-fullstack/updates/packageJsonUpdate.ts +4 -42
  253. package/src/generators/add-fullstack/updates/repositoryUpdate.ts +45 -0
  254. package/src/generators/add-moleculer/files/_dockerignore +6 -0
  255. package/src/generators/add-moleculer/files/_draftignore +4 -0
  256. package/src/generators/add-moleculer/files/_gitignore +2 -0
  257. package/src/generators/add-moleculer/files/package.json +5 -5
  258. package/src/generators/add-moleculer/generator.ts +42 -18
  259. package/src/generators/add-moleculer/schema.ts +6 -0
  260. package/src/generators/add-package/files/browser/LICENSE +674 -0
  261. package/src/generators/add-package/files/browser/_npmignore +2 -0
  262. package/src/generators/add-package/files/browser/jest.config.js +8 -0
  263. package/src/generators/add-package/files/browser/package.json +49 -0
  264. package/src/generators/add-package/files/browser/rollup.config.mjs +29 -0
  265. package/src/generators/add-package/files/browser/src/config/env-config.ts.template +9 -0
  266. package/src/generators/add-package/files/browser/src/index.ts.template +4 -0
  267. package/src/generators/add-package/files/browser/src/interfaces/index.ts.template +1 -0
  268. package/src/generators/add-package/files/browser/src/interfaces/interfaces.ts.template +1 -0
  269. package/src/generators/add-package/files/browser/src/module.tsx.template +7 -0
  270. package/src/generators/add-package/files/browser/tsconfig.json +28 -0
  271. package/src/generators/add-package/files/browser/webpack.config.js +71 -0
  272. package/src/generators/add-package/files/client/LICENSE +674 -0
  273. package/src/generators/add-package/files/client/_npmignore +2 -0
  274. package/src/generators/add-package/files/client/jest.config.js +13 -0
  275. package/src/generators/add-package/files/client/package.json +30 -0
  276. package/src/generators/add-package/files/client/rollup.config.mjs +29 -0
  277. package/src/generators/add-package/files/client/src/components/index.tsx.template +1 -0
  278. package/src/generators/add-package/files/client/src/config/env-config.ts.template +9 -0
  279. package/src/generators/add-package/files/client/src/index.ts.template +1 -0
  280. package/src/generators/add-package/files/client/tsconfig.json +27 -0
  281. package/src/generators/add-package/files/client/webpack.config.js +72 -0
  282. package/src/generators/add-package/files/core/LICENSE +39 -0
  283. package/src/generators/add-package/files/core/_npmignore +3 -0
  284. package/src/generators/add-package/files/core/jest.config.js +3 -0
  285. package/src/generators/add-package/files/core/package.json +30 -0
  286. package/src/generators/add-package/files/core/rollup.config.mjs +65 -0
  287. package/src/generators/add-package/files/core/src/cdm-locales/en/main.json +2 -0
  288. package/src/generators/add-package/files/core/src/cdm-locales/es/common.json +2 -0
  289. package/src/generators/add-package/files/core/src/cdm-locales/es/main.json +1 -0
  290. package/src/generators/add-package/files/core/src/config/env-config.ts.template +9 -0
  291. package/src/generators/add-package/files/core/src/constants/index.ts.template +1 -0
  292. package/src/generators/add-package/files/core/src/constants/types.ts.template +3 -0
  293. package/src/generators/add-package/files/core/src/index.ts.template +2 -0
  294. package/src/generators/add-package/files/core/src/types/index.ts.template +1 -0
  295. package/src/generators/add-package/files/core/src/types/types.ts.template +17 -0
  296. package/src/generators/add-package/files/core/tsconfig.json +22 -0
  297. package/src/generators/add-package/files/core/webpack.config.js +53 -0
  298. package/src/generators/add-package/files/server/LICENSE +674 -0
  299. package/src/generators/add-package/files/server/_npmignore +2 -0
  300. package/src/generators/add-package/files/server/jest.config.js +32 -0
  301. package/src/generators/add-package/files/server/package.json +78 -0
  302. package/src/generators/add-package/files/server/rollup.config.mjs +30 -0
  303. package/src/generators/add-package/files/server/src/config/env-config.ts.template +9 -0
  304. package/src/generators/add-package/files/server/src/constants/constants.ts.template +62 -0
  305. package/src/generators/add-package/files/server/src/constants/index.ts.template +1 -0
  306. package/src/generators/add-package/files/server/src/constants/types.ts.template +21 -0
  307. package/src/generators/add-package/files/server/src/index.ts.template +6 -0
  308. package/src/generators/add-package/files/server/src/module.ts.template +6 -0
  309. package/src/generators/add-package/files/server/tsconfig.json +27 -0
  310. package/src/index.ts +7 -6
  311. package/src/utils/copyDotfiles.ts +96 -0
  312. package/lib/generators/add-fullstack/updates/ignoreUpdate.cjs.map +0 -1
  313. package/lib/generators/add-fullstack/updates/ignoreUpdate.mjs.map +0 -1
  314. package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.cjs +0 -37
  315. package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.cjs.map +0 -1
  316. package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.mjs +0 -37
  317. package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.mjs.map +0 -1
  318. package/lib/generators/add-fullstack/updates/lernaJsonUpdate.cjs.map +0 -1
  319. package/lib/generators/add-fullstack/updates/lernaJsonUpdate.mjs.map +0 -1
  320. package/src/generators/add-fullstack/files/.husky/pre-commit +0 -1
  321. package/src/generators/add-fullstack/files/.travis.yml +0 -18
  322. package/src/generators/add-fullstack/updates/jenkinsfileUpdate.ts +0 -49
  323. /package/{src/generators/add-fullstack/files/.browserslistrc → lib/generators/add-frontend/templates/_browserslistrc} +0 -0
  324. /package/{src/generators/add-fullstack/files/.eslintignore → lib/generators/add-fullstack/files/_eslintignore} +0 -0
  325. /package/{src/generators/add-fullstack/files/.gitattributes → lib/generators/add-fullstack/files/_gitattributes} +0 -0
  326. /package/{src/generators/add-fullstack/files/.markdownlintignore → lib/generators/add-fullstack/files/_markdownlintignore} +0 -0
  327. /package/{src/generators/add-fullstack/.nxignore → lib/generators/add-fullstack/files/_nxignore} +0 -0
  328. /package/lib/generators/add-fullstack/updates/{ignoreUpdate.d.ts → fileBackup.d.ts} +0 -0
  329. /package/lib/generators/add-fullstack/updates/{jenkinsfileUpdate.d.ts → jenkinsUpdate.d.ts} +0 -0
  330. /package/lib/generators/add-fullstack/updates/{lernaJsonUpdate.d.ts → lernaUpdate.d.ts} +0 -0
  331. /package/{src/generators/add-moleculer/files/.dockerignore → lib/generators/add-moleculer/files/_dockerignore} +0 -0
  332. /package/{src/generators/add-moleculer/files/.draftignore → lib/generators/add-moleculer/files/_draftignore} +0 -0
  333. /package/src/generators/add-fullstack/updates/{ignoreUpdate.ts → fileBackup.ts} +0 -0
@@ -0,0 +1,133 @@
1
+ # webpack-apollo-server
2
+ Starter kit for apollo server using webpack and typescript
3
+
4
+ What does it include:
5
+ ----
6
+ 1. exported schema as example for GraphQL Schema
7
+ 2. Working Apollo Server (webpack + tslint + tsloader)
8
+ 3. Typescript 2.0.0 => ES6
9
+ 4. Dockerfile to make the apollo-server a container.
10
+ 5. unit testing (mocha-webpack+chai) + coverage report (mocha-istanbul-spec+istanbul).
11
+ 6. working with graphql-tools
12
+ 7. standard-version for auto SemVer.
13
+
14
+ Notes
15
+ ----
16
+ Please note that you will need to rename the library name in some files:
17
+
18
+ 1. package.json (ofcourse ;))
19
+
20
+ Useful commands:
21
+ ----
22
+ yarn build - build the library files (Required for start:watch)
23
+ yarn build:watch - build the library files in watchmode (Useful for development)
24
+ npm test - run tests once
25
+ yarn test:watch - run tests in watchmode (Useful for development)
26
+ yarn test:growl - run tests in watchmode with growl notification (even more useful for development)
27
+
28
+ How to run it:
29
+ ----
30
+ ```bash
31
+ npm start
32
+ ```
33
+
34
+ Files explained:
35
+ ----
36
+ 1. src - directory is used for typescript code that is part of the project
37
+ 1a. main.ts - Main server file. (Starting Apollo server)
38
+ 1b. main.spec.ts - Tests file for main
39
+ 1c. schema - Module used to build schema
40
+ - index.ts - simple logic to merge all modules into a schema using graphql-tools
41
+ - modules/ - directory for modules to be used with graphql-tools
42
+ 1c. schema.spec.ts - Basic test for schema.
43
+ 1c. main.test.ts - Main for tests runner.
44
+ 3. package.json - file is used to describe the library
45
+ 4. tsconfig.json - configuration file for the library compilation
46
+ 6. tslint.json - configuration file for the linter
47
+ 7. typings.json - typings needed for the server
48
+ 8. webpack.config.js - configuration file of the compilation automation process for the library
49
+ 9. webpack.config.test.js - configuration file of the compilation when testing
50
+ 10. Dockerfile - Dockerfile used to describe how to make a container out of apollo server
51
+ 11. mocha-webpack.opts - Options file for mocha-webpack
52
+
53
+ Output files explained:
54
+ ----
55
+ 1. node_modules - directory npm creates with all the dependencies of the module (result of yarn install)
56
+ 2. dist - directory contains the compiled server (javascript)
57
+ 3. html-report - output of npm test, code coverage html report.
58
+
59
+
60
+ Database
61
+ ----
62
+ Connects to memory database through Knex
63
+
64
+ Database configuration is set in `db-config.json`
65
+
66
+ Setup
67
+ ----
68
+ Create a database and fill the data
69
+ ```
70
+ yarn db:seed
71
+ ```
72
+ What files to be customized?
73
+ ----
74
+ Customizable files for a specific project would be the following
75
+ ```
76
+ src/container
77
+ src/middleware/graphql.ts
78
+ ```
79
+
80
+ The Person type - dynamic/parametrized query and drill down:
81
+ ----
82
+ The person type was added to demonstrate a database like access, parametrized queries, resolvers and drill down.
83
+ The data is currently hard coded but simulates a storage. Each person has an id, name and sex. It also has a dynamic
84
+ field called matches. For demonstration purposes, this field will retrieve all members of the other sex by using a
85
+ resolver.
86
+
87
+ Since this is a computed field the query can be infinitely nested, for example, try in the graphiql editor this query:
88
+
89
+ {
90
+ getPerson(id: "1") {
91
+ id,
92
+ name
93
+ sex
94
+ matches {
95
+ id
96
+ name
97
+ sex
98
+ matches {
99
+ id
100
+ name
101
+ sex
102
+ matches {
103
+ id
104
+ name
105
+ sex
106
+ }
107
+ }
108
+ }
109
+ }
110
+ }
111
+
112
+ It will return a nested, alternating male/femal results.
113
+
114
+ To list all persons, use the `persons` query:
115
+
116
+ {
117
+ persons {
118
+ id
119
+ name
120
+ }
121
+ }
122
+
123
+ There is also an example of a mutation - `addPerson(name: String, sex: String)`, to use it:
124
+
125
+ mutation {
126
+ addPerson(name: "kuku", sex: "male"){
127
+ id
128
+ name
129
+ }
130
+ }
131
+
132
+ Note that the query generates a random id and that the added persons are transient,
133
+ i.e. not persisted and will be gone once you shut down the server.
@@ -0,0 +1,96 @@
1
+ import { createServer } from "http";
2
+ import express from "express";
3
+ import { gql } from 'graphql';
4
+ import { ApolloServer } from '@apollo/server';
5
+ import { ApolloServerPluginDrainHttpServer, } from '@apollo/server/plugin/drainHttpServer';
6
+ import { PubSub } from "graphql-subscriptions";
7
+ import { makeExecutableSchema } from "@graphql-tools/schema";
8
+ import { WebSocketServer } from "ws";
9
+ import { useServer } from "graphql-ws/lib/use/ws";
10
+
11
+ const PORT = 8080;
12
+ const pubsub = new PubSub();
13
+
14
+ // Schema definition
15
+ const typeDefs = gql`
16
+ type Query {
17
+ currentNumber: Int
18
+ }
19
+
20
+ type Subscription {
21
+ numberIncremented: Int
22
+ }
23
+ `;
24
+
25
+ // Resolver map
26
+ const resolvers = {
27
+ Query: {
28
+ currentNumber() {
29
+ return currentNumber;
30
+ },
31
+ },
32
+ Subscription: {
33
+ numberIncremented: {
34
+ subscribe: () => pubsub.asyncIterator(["NUMBER_INCREMENTED"]),
35
+ },
36
+ },
37
+ };
38
+
39
+ // Create schema, which will be used separately by ApolloServer and
40
+ // the WebSocket server.
41
+ const schema = makeExecutableSchema({ typeDefs, resolvers });
42
+ console.log('--schema--', schema)
43
+ // Create an Express app and HTTP server; we will attach the WebSocket
44
+ // server and the ApolloServer to this HTTP server.
45
+ const app = express();
46
+ const httpServer = createServer(app);
47
+
48
+ // Set up WebSocket server.
49
+ const wsServer = new WebSocketServer({
50
+ server: httpServer,
51
+ path: "/graphql",
52
+ });
53
+ const serverCleanup = useServer({ schema }, wsServer);
54
+
55
+ // Set up ApolloServer.
56
+ const server = new ApolloServer({
57
+ schema,
58
+ plugins: [
59
+ // Proper shutdown for the HTTP server.
60
+ ApolloServerPluginDrainHttpServer({ httpServer }),
61
+
62
+ // Proper shutdown for the WebSocket server.
63
+ {
64
+ async serverWillStart() {
65
+ return {
66
+ async drainServer() {
67
+ await serverCleanup.dispose();
68
+ },
69
+ };
70
+ },
71
+ },
72
+ ],
73
+ });
74
+ await server.start();
75
+ server.applyMiddleware({ app });
76
+
77
+ // Now that our HTTP server is fully set up, actually listen.
78
+ httpServer.listen(PORT, () => {
79
+ console.log(
80
+ `🚀 Query endpoint ready at http://localhost:${PORT}${server.graphqlPath}`
81
+ );
82
+ console.log(
83
+ `🚀 Subscription endpoint ready at ws://localhost:${PORT}${server.graphqlPath}`
84
+ );
85
+ });
86
+
87
+ // In the background, increment a number every second and notify subscribers when
88
+ // it changes.
89
+ let currentNumber = 0;
90
+ function incrementNumber() {
91
+ currentNumber++;
92
+ pubsub.publish("NUMBER_INCREMENTED", { numberIncremented: currentNumber });
93
+ setTimeout(incrementNumber, 10000);
94
+ }
95
+ // Start incrementing
96
+ incrementNumber();
@@ -0,0 +1,9 @@
1
+ *
2
+ !dist/
3
+ !*.js
4
+ !.zenrc.json
5
+ !package.json
6
+ !knexfile.ts
7
+ !.npmrc
8
+ !.yarnrc
9
+ !common/
@@ -0,0 +1,13 @@
1
+ node_modules/
2
+ coverage/
3
+ dist/
4
+ lib/
5
+ .tmp/
6
+ *.d.ts
7
+ *.log
8
+ *.tgz
9
+ *.yaml
10
+ yarn.lock
11
+ .idea/
12
+ ./uploads/
13
+ common/
@@ -0,0 +1,2 @@
1
+ *
2
+ !lib/**
@@ -0,0 +1 @@
1
+ registry "https://registry.npmjs.org/"
@@ -0,0 +1,45 @@
1
+ process.env.ENV_FILE !== null && require('dotenv').config({ path: process.env.ENV_FILE });
2
+
3
+ module.exports = (api) => {
4
+ const isBabelRegister = api.caller((caller) => caller && caller.name === '@babel/register');
5
+ const isTest = api.env('test');
6
+ api.cache(true);
7
+ if (isTest || isBabelRegister) {
8
+ return {
9
+ presets: [
10
+ '@babel/preset-typescript',
11
+ '@babel/preset-react',
12
+ ['@babel/preset-env', { targets: { node: true }, modules: 'commonjs' }],
13
+ ],
14
+ plugins: [
15
+ 'babel-plugin-dynamic-import-node',
16
+ '@babel/plugin-proposal-class-properties',
17
+ '@babel/plugin-proposal-optional-chaining',
18
+ 'babel-plugin-import-graphql',
19
+ ],
20
+ };
21
+ }
22
+ return {
23
+ compact: false,
24
+ presets: [
25
+ '@babel/preset-typescript',
26
+ '@babel/preset-react',
27
+ ['@babel/preset-env', { targets: { node: true }, modules: false }],
28
+ ],
29
+ plugins: [
30
+ 'babel-plugin-dynamic-import-node',
31
+ '@loadable/babel-plugin',
32
+ '@babel/plugin-transform-destructuring',
33
+ '@babel/plugin-transform-runtime',
34
+ ['@babel/plugin-proposal-decorators', { legacy: true }],
35
+ '@babel/plugin-proposal-class-properties',
36
+ '@babel/plugin-proposal-object-rest-spread',
37
+ '@babel/plugin-proposal-optional-chaining',
38
+ ],
39
+ env: {
40
+ production: {
41
+ compact: true,
42
+ },
43
+ },
44
+ };
45
+ };
@@ -0,0 +1,14 @@
1
+ process.env.ENV_FILE !== null && require('dotenv').config({ path: process.env.ENV_FILE });
2
+ const config = {
3
+ ...require('../../build.config'),
4
+ __CLIENT__: false,
5
+ __SERVER__: true,
6
+ __DEV__: process.env.NODE_ENV !== 'production',
7
+ __TEST__: false,
8
+ 'process.env.NODE_ENV': process.env.NODE_ENV || 'development',
9
+ __GRAPHQL_URL__: process.env.GRAPHQL_URL || '/graphql',
10
+ __CDN_URL__: process.env.CDN_URL || '',
11
+ __FRONTEND_BUILD_DIR__: process.env.FRONTEND_BUILD_DIR || '../frontend-server/dist/web',
12
+ };
13
+
14
+ module.exports = config;
@@ -0,0 +1,27 @@
1
+ if (process.env.ENV_FILE !== null) {
2
+ import('dotenv').then(({ config }) =>
3
+ config({ path: process.env.ENV_FILE })
4
+ );
5
+ }
6
+
7
+ const __API_SERVER_PORT__ = process.env.GRAPHQL_URL ? new URL(process.env.GRAPHQL_URL).port : 8080;
8
+ const __SERVER_PROTOCOL__ = 'http';
9
+ const __LOCAL_SERVER_HOST__ = 'localhost';
10
+ const __GRAPHQL_ENDPOINT__ = process.env.GRAPHQL_URL ? new URL(process.env.GRAPHQL_URL).pathname : '/graphql';
11
+
12
+ const config = {
13
+ __CLIENT__: false,
14
+ __SERVER__: true,
15
+ __DEV__: process.env.NODE_ENV !== 'production',
16
+ __TEST__: false,
17
+ 'process.env.NODE_ENV': process.env.NODE_ENV || 'development',
18
+ __GRAPHQL_URL__: process.env.GRAPHQL_URL || '/graphql',
19
+ __CDN_URL__: process.env.CDN_URL || '',
20
+ __FRONTEND_BUILD_DIR__: process.env.FRONTEND_BUILD_DIR || '../frontend-server/dist/web',
21
+ __API_SERVER_PORT__,
22
+ __GRAPHQL_ENDPOINT__,
23
+ __LOCAL_SERVER_HOST__,
24
+ __API_URL__: process.env.API_URL || `${__SERVER_PROTOCOL__}://${__LOCAL_SERVER_HOST__}:${__API_SERVER_PORT__}${__GRAPHQL_ENDPOINT__}`,
25
+ };
26
+
27
+ export default config;
@@ -0,0 +1,10 @@
1
+ {
2
+ "modules": [
3
+ ],
4
+ "devModules": [
5
+ "@container-stack/mailing-api-server"
6
+ ],
7
+ "externalModules": [
8
+ "@container-stack/territory"
9
+ ]
10
+ }
@@ -0,0 +1,27 @@
1
+ module.exports = {
2
+ testMatch: [
3
+ '<rootDir>/modules/**/server-ts/**/*.test.[jt]s?(x)',
4
+ '<rootDir>/modules/**/common-react/**/*.test.[jt]s?(x)',
5
+ ],
6
+ globalSetup: '<rootDir>/packages/server/src/__tests__/jestSetup.js',
7
+ rootDir: '../..',
8
+ resolver: './packages/server/jest.resolver',
9
+ transform: {
10
+ '\\.(gql|graphql)$': 'jest-transform-graphql',
11
+ 'locales[\\/]index.[jt]s': '<rootDir>/jest-transform-i18next',
12
+ '.*': 'babel-jest',
13
+ },
14
+ moduleNameMapper: {
15
+ '^.+\\.(css|less|scss)$': 'babel-jest',
16
+ },
17
+ globals: {
18
+ __CLIENT__: false,
19
+ __SERVER__: true,
20
+ __DEV__: true,
21
+ __TEST__: true,
22
+ __SSR__: false,
23
+ __FRONTEND_BUILD_DIR__: `${__dirname}/../client/build`,
24
+ __API_URL__: '/graphql',
25
+ },
26
+ testEnvironment: 'node',
27
+ };
@@ -0,0 +1,82 @@
1
+ {
2
+ "name": "sample-stack-backend-server",
3
+ "version": "0.0.1",
4
+ "private": true,
5
+ "description": "Starter kit for apollo server using webpack and typescript",
6
+ "keywords": [
7
+ "apollo",
8
+ "apollo-server",
9
+ "backend",
10
+ "express",
11
+ "graphiql",
12
+ "graphql",
13
+ "typescript",
14
+ "webpack"
15
+ ],
16
+ "homepage": "https://github.com/cdmbase/fullstack-pro#readme",
17
+ "bugs": {
18
+ "url": "https://github.com/cdmbase/fullstack-pro/issues"
19
+ },
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "git+https://github.com/cdmbase/fullstack-pro.git"
23
+ },
24
+ "license": "MIT",
25
+ "author": "CDMBase LLC",
26
+ "main": "dist/index.js",
27
+ "typings": "dist/main.d.ts",
28
+ "scripts": {
29
+ "build": "cross-env NODE_ENV=production webpack --config webpack.config.js",
30
+ "build:clean": "rimraf dist .awcache",
31
+ "build:dev": "cross-env NODE_ENV=development ENV_FILE=../../config/development/dev.env webpack --config webpack.config.js",
32
+ "copycommon": "cp -r ../../packages/common .",
33
+ "db:migrate": "knex -- migrate:latest --cwd . --knexfile ./knexfile.js",
34
+ "db:migrate:rollback": "knex -- migrate:rollback --cwd . --knexfile ./knexfile.js",
35
+ "db:seed": "yarn db:migrate && knex -- seed:run --cwd . --knexfile ./knexfile.js",
36
+ "docker:build": "yarn copycommon && yarn build && docker build . -t $npm_package_name:$npm_package_version",
37
+ "docker:build:debug": "yarn build:debug && docker build . -t $npm_package_name:$npm_package_version",
38
+ "docker:run": "docker run --env-file ../../config/staging/docker-staging.env -p 8080:8080 -it $npm_package_name:$npm_package_version",
39
+ "docker:run:debug": "cross-env NODE_ENV=development docker run --env-file ../../config/staging/docker-staging.env -p 8080:8080 -it $npm_package_name:$npm_package_version",
40
+ "proddb:migrate": "NODE_ENV=production yarn db:migrate",
41
+ "proddb:migrate:rollback": "NODE_ENV=production yarn db:migrate:rollback",
42
+ "proddb:seed": "NODE_ENV=production yarn db:seed",
43
+ "prepublish": "yarn build:clean",
44
+ "stagedb:migrate": "cross-env ENV_FILE=../../config/test/test.env NODE_ENV=test yarn db:migrate",
45
+ "stagedb:migrate:rollback": "cross-env ENV_FILE=../../config/test/test.env NODE_ENV=test yarn db:migrate:rollback",
46
+ "stagedb:seed": "cross-env ENV_FILE=../../config/test/test.env NODE_ENV=test yarn db:seed",
47
+ "start": "cross-env NODE_ENV=production tsx dist/index.js",
48
+ "start:dev": "cross-env NODE_ENV=development ENV_FILE=../../config/development/dev.env tsx watch dist/index.js",
49
+ "start:staging": "cross-env NODE_ENV=staging ENV_FILE=../../config/staging/staging.env tsx dist/index.js",
50
+ "start:test": "cross-env NODE_ENV=test ENV_FILE=../../config/test/test.env tsx dist/index.js",
51
+ "test": "jest",
52
+ "test:notify": "yarn test:watch -- --notify",
53
+ "test:watch": "npm test -- --watch",
54
+ "preupver": "npm test",
55
+ "upver": "standard-version",
56
+ "watch": "cross-env NODE_ENV=development ENV_FILE=../../config/development/dev.env yarn build:dev && yarn start:dev",
57
+ "watch:staging": "cross-env NODE_ENV=test ENV_FILE=../../config/staging/staging.env yarn build && yarn start:stage",
58
+ "watch:test": "cross-env NODE_ENV=test ENV_FILE=../../config/test/test.env yarn build:test && yarn start:test"
59
+ },
60
+ "resolutions": {
61
+ "common": "link:./common",
62
+ "html-to-text": "^8.0.0"
63
+ },
64
+ "dependencies": {
65
+ "@apollo/client": "^3.9.0",
66
+ "@babel/runtime": "^7.20.1",
67
+ "@common-stack/server-stack": "7.0.4-alpha.0",
68
+ "@remix-run/node": "~2.10.1",
69
+ "lodash": "^4.17.15",
70
+ "react": "18.2.0"
71
+ },
72
+ "devDependencies": {
73
+ "cross-env": "^7.0.3",
74
+ "esbuild-loader": "^4.2.2",
75
+ "pm2": "^5.2.2",
76
+ "rimraf": "^3.0.2",
77
+ "tsx": "^4.7.0"
78
+ },
79
+ "typescript": {
80
+ "definition": "dist/main.d.ts"
81
+ }
82
+ }
@@ -0,0 +1,109 @@
1
+ scalar AnyObject
2
+ scalar Date
3
+ scalar Time
4
+ scalar DateTime
5
+ scalar Timestamp
6
+ scalar URI
7
+ scalar URIInput
8
+ scalar Observable
9
+
10
+ scalar JSON
11
+ scalar JSONObject
12
+
13
+ """
14
+ An object with an ID.
15
+ """
16
+ interface Node {
17
+ """
18
+ The ID of the node.
19
+ """
20
+ id: ID!
21
+ }
22
+
23
+ # Pagination information. See https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo.
24
+ type PageInfo {
25
+ # Whether there is a next page of nodes in the connection.
26
+ hasNextPage: Boolean!
27
+ }
28
+
29
+ """
30
+ Represents a null return value.
31
+ """
32
+ type EmptyResponse {
33
+ # A dummy null value.
34
+ alwaysNil: String
35
+ }
36
+
37
+ type FieldError {
38
+ field: String!
39
+ message: String!
40
+ }
41
+
42
+ input Sort{
43
+ key: String!,
44
+ value: SortEnum!,
45
+ }
46
+
47
+ enum SortEnum{
48
+ ASC,
49
+ DESC
50
+ }
51
+
52
+ type Query {
53
+ """
54
+ Looks up a node by ID.
55
+ """
56
+ node(id: ID!): Node
57
+ }
58
+
59
+ type Mutation {
60
+ dummy: Int
61
+ }
62
+
63
+ type Subscription {
64
+ dummy: Int
65
+ }
66
+
67
+ type AdminIdeSettings {
68
+ dummy: Int
69
+ }
70
+
71
+ """ All Moleculer Topic names are extended from this."""
72
+ enum MoleculerServiceName {
73
+ dummy
74
+ }
75
+
76
+ interface IResourceUtilizationSettings {
77
+ subTopic: String
78
+ adminApiNamespace: String
79
+ }
80
+
81
+ """
82
+ Input geometry of the location.
83
+ List the `longitude` first and then `latitude`
84
+ - Validate longitude values are between `-180` and `180`
85
+ - Validate latitude values are between `-90` and `90`
86
+ """
87
+ input GeoLocation_Input {
88
+ type: String = "Point"
89
+ coordinates: [Float]
90
+ }
91
+
92
+ type GeoLocation {
93
+ coordinates: [Float]
94
+ }
95
+
96
+ enum MailTemplateId {
97
+ dummy
98
+ }
99
+
100
+ enum MoleculerCronServiceName {
101
+ dummy
102
+ }
103
+
104
+ schema {
105
+ query: Query
106
+ mutation: Mutation
107
+ subscription: Subscription
108
+ }
109
+
@@ -0,0 +1,12 @@
1
+ /// <reference path='../../../../typings/index.d.ts' />
2
+ import { str, cleanEnv } from 'envalid';
3
+
4
+ export const config = cleanEnv(process.env, {
5
+ NODE_ENV: str({ default: 'production', choices: ['production', 'staging', 'development', 'test'] }),
6
+ CONNECTION_ID: str({ devDefault: 'CONNECTION_ID' }),
7
+ NAMESPACE: str({ default: 'default' }),
8
+ ACTIVITY_NAMESPACE: str({ devDefault: 'default' }),
9
+ API_NAMESPACE: str({ devDefault: 'default' }),
10
+ ADMIN_API_NAMESPACE: str({ devDefault: 'default' }),
11
+ BACKEND_URL: str({ devDefault: __BACKEND_URL__ }),
12
+ });
@@ -0,0 +1 @@
1
+ export * from './env-config';
@@ -0,0 +1,5 @@
1
+ /* eslint-disable jest/require-hook */
2
+ import * as dotenv from 'dotenv';
3
+ if (process.env.ENV_FILE) {
4
+ dotenv.config({ path: process.env.ENV_FILE });
5
+ }
@@ -0,0 +1,56 @@
1
+ /// <reference types="webpack-env" />
2
+ import './env';
3
+ import 'reflect-metadata';
4
+ import { logger } from '@cdm-logger/server';
5
+ import { Service } from './service';
6
+
7
+ declare let module: __WebpackModuleApi.Module;
8
+
9
+ process.on('uncaughtException', (ex) => {
10
+ logger.error(ex);
11
+ process.exit(1);
12
+ });
13
+
14
+ process.on('unhandledRejection', (reason) => {
15
+ logger.error(reason);
16
+ });
17
+ const service = new Service();
18
+
19
+ async function start() {
20
+ try {
21
+ await service.initialize();
22
+ await service.start();
23
+ } catch(err) {
24
+ console.error('START FAILED', err)
25
+ }
26
+
27
+ }
28
+ // if (module.hot) {
29
+ // module.hot.status((event) => {
30
+ // if (event === 'abort' || event === 'fail') {
31
+ // logger.error(`HMR error status: ${event}`);
32
+ // // Signal webpack.run.js to do full-reload of the back-end
33
+ // service.gracefulShutdown(event);
34
+ // }
35
+ // // adddintionally when event is idle due to external modules
36
+ // if (event === 'idle') {
37
+ // service.gracefulShutdown(event);
38
+ // }
39
+ // });
40
+ // module.hot.accept();
41
+ // }
42
+ if (module.hot) {
43
+ module.hot.dispose((data) => {
44
+ // Shutdown server if changes to this module code are made
45
+ // So that it was started afresh
46
+ console.log('--data---', data);
47
+ try {
48
+ // if (service) {
49
+ // service.gracefulShutdown(null);
50
+ // }
51
+ } catch (error) {
52
+ logger.error(error.stack);
53
+ }
54
+ });
55
+ }
56
+ start();
@@ -0,0 +1,17 @@
1
+ import modules, { settings } from './module';
2
+
3
+ export default modules;
4
+ export { settings };
5
+
6
+ // export const updateContainers = (options) => {
7
+ // if (process.env.NODE_ENV !== 'development') {
8
+ // options.forEach(el => {
9
+ // hemera.act({
10
+ // topic: `UPDATE_CONTAINER_${el.toUpperCase()}`,
11
+ // cmd: `UPDATE_CONTAINER_${el.toUpperCase()}`,
12
+ // });
13
+ // });'
14
+ // } else {
15
+ // modules.createServiceContext(settings, options);
16
+ // }
17
+ // };