@kosdev-code/kos-nx-plugin 2.0.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 (301) hide show
  1. package/README.md +11 -0
  2. package/generators.json +70 -0
  3. package/migrations.json +81 -0
  4. package/package.json +25 -0
  5. package/src/generators/kos-companion-model/files/types/index.d.ts.template +11 -0
  6. package/src/generators/kos-companion-model/generator.d.ts +5 -0
  7. package/src/generators/kos-companion-model/generator.d.ts.map +1 -0
  8. package/src/generators/kos-companion-model/generator.js +45 -0
  9. package/src/generators/kos-companion-model/generator.js.map +1 -0
  10. package/src/generators/kos-companion-model/schema.d.ts +6 -0
  11. package/src/generators/kos-companion-model/schema.json +36 -0
  12. package/src/generators/kos-component/cui/__nameDashCase__.stories.tsx__template__ +30 -0
  13. package/src/generators/kos-component/cui/__nameDashCase__.tsx__template__ +35 -0
  14. package/src/generators/kos-component/cui/index.ts__template__ +1 -0
  15. package/src/generators/kos-component/files/__nameDashCase__.css__template__ +2 -0
  16. package/src/generators/kos-component/files/__nameDashCase__.tsx__template__ +20 -0
  17. package/src/generators/kos-component/files/index.ts__template__ +1 -0
  18. package/src/generators/kos-component/generator.d.ts +5 -0
  19. package/src/generators/kos-component/generator.d.ts.map +1 -0
  20. package/src/generators/kos-component/generator.js +270 -0
  21. package/src/generators/kos-component/generator.js.map +1 -0
  22. package/src/generators/kos-component/nav/__nameDashCase__.stories.tsx__template__ +30 -0
  23. package/src/generators/kos-component/nav/__nameDashCase__.tsx__template__ +25 -0
  24. package/src/generators/kos-component/nav/index.ts__template__ +1 -0
  25. package/src/generators/kos-component/schema.d.ts +18 -0
  26. package/src/generators/kos-component/schema.json +88 -0
  27. package/src/generators/kos-component/setting/__nameDashCase__.stories.tsx__template__ +30 -0
  28. package/src/generators/kos-component/setting/__nameDashCase__.tsx__template__ +25 -0
  29. package/src/generators/kos-component/setting/index.ts__template__ +1 -0
  30. package/src/generators/kos-component/setup/__nameDashCase__.stories.tsx__template__ +30 -0
  31. package/src/generators/kos-component/setup/__nameDashCase__.tsx__template__ +32 -0
  32. package/src/generators/kos-component/setup/index.ts__template__ +1 -0
  33. package/src/generators/kos-component/trouble-action/__nameDashCase__.stories.tsx__template__ +30 -0
  34. package/src/generators/kos-component/trouble-action/__nameDashCase__.tsx__template__ +58 -0
  35. package/src/generators/kos-component/trouble-action/index.ts__template__ +1 -0
  36. package/src/generators/kos-component/utility/__nameDashCase__.stories.tsx__template__ +30 -0
  37. package/src/generators/kos-component/utility/__nameDashCase__.tsx__template__ +45 -0
  38. package/src/generators/kos-component/utility/index.ts__template__ +1 -0
  39. package/src/generators/kos-container-model/files/model/__nameDashCase__-model.ts.template +80 -0
  40. package/src/generators/kos-container-model/files/model/__nameDashCase__-registration.ts.template +113 -0
  41. package/src/generators/kos-container-model/files/model/index.ts.template +6 -0
  42. package/src/generators/kos-container-model/files/model/types/index.d.ts.template +24 -0
  43. package/src/generators/kos-container-model/files/services/__modelNameDashCase__-services.ts.template +28 -0
  44. package/src/generators/kos-container-model/files/services/index.ts.template +1 -0
  45. package/src/generators/kos-container-model/generator.d.ts +5 -0
  46. package/src/generators/kos-container-model/generator.d.ts.map +1 -0
  47. package/src/generators/kos-container-model/generator.js +74 -0
  48. package/src/generators/kos-container-model/generator.js.map +1 -0
  49. package/src/generators/kos-container-model/lib/normalize-options.d.ts +4 -0
  50. package/src/generators/kos-container-model/lib/normalize-options.d.ts.map +1 -0
  51. package/src/generators/kos-container-model/lib/normalize-options.js +32 -0
  52. package/src/generators/kos-container-model/lib/normalize-options.js.map +1 -0
  53. package/src/generators/kos-container-model/lib/normalize-value.d.ts +7 -0
  54. package/src/generators/kos-container-model/lib/normalize-value.d.ts.map +1 -0
  55. package/src/generators/kos-container-model/lib/normalize-value.js +28 -0
  56. package/src/generators/kos-container-model/lib/normalize-value.js.map +1 -0
  57. package/src/generators/kos-container-model/lib/utils/name-utils.d.ts +6 -0
  58. package/src/generators/kos-container-model/lib/utils/name-utils.d.ts.map +1 -0
  59. package/src/generators/kos-container-model/lib/utils/name-utils.js +53 -0
  60. package/src/generators/kos-container-model/lib/utils/name-utils.js.map +1 -0
  61. package/src/generators/kos-container-model/lib/utils/ts-visitor.d.ts +8 -0
  62. package/src/generators/kos-container-model/lib/utils/ts-visitor.d.ts.map +1 -0
  63. package/src/generators/kos-container-model/lib/utils/ts-visitor.js +122 -0
  64. package/src/generators/kos-container-model/lib/utils/ts-visitor.js.map +1 -0
  65. package/src/generators/kos-container-model/schema.d.ts +35 -0
  66. package/src/generators/kos-container-model/schema.json +50 -0
  67. package/src/generators/kos-context/files/__nameDashCase__-provider.tsx.template +40 -0
  68. package/src/generators/kos-context/files/index.ts.template +1 -0
  69. package/src/generators/kos-context/generator.d.ts +5 -0
  70. package/src/generators/kos-context/generator.d.ts.map +1 -0
  71. package/src/generators/kos-context/generator.js +56 -0
  72. package/src/generators/kos-context/generator.js.map +1 -0
  73. package/src/generators/kos-context/schema.d.ts +14 -0
  74. package/src/generators/kos-context/schema.json +36 -0
  75. package/src/generators/kos-hook/files/index.ts.template +2 -0
  76. package/src/generators/kos-hook/files/use-__nameDashCase__.ts.template +13 -0
  77. package/src/generators/kos-hook/files/with-__nameDashCase__.tsx.template +28 -0
  78. package/src/generators/kos-hook/generator.d.ts +5 -0
  79. package/src/generators/kos-hook/generator.d.ts.map +1 -0
  80. package/src/generators/kos-hook/generator.js +56 -0
  81. package/src/generators/kos-hook/generator.js.map +1 -0
  82. package/src/generators/kos-hook/schema.d.ts +21 -0
  83. package/src/generators/kos-hook/schema.json +36 -0
  84. package/src/generators/kos-i18n-project/files/.kos.json.template +5 -0
  85. package/src/generators/kos-i18n-project/files/src/assets/locales/en/__nameDashCase__.json.template +3 -0
  86. package/src/generators/kos-i18n-project/generator.d.ts +5 -0
  87. package/src/generators/kos-i18n-project/generator.d.ts.map +1 -0
  88. package/src/generators/kos-i18n-project/generator.js +82 -0
  89. package/src/generators/kos-i18n-project/generator.js.map +1 -0
  90. package/src/generators/kos-i18n-project/schema.d.ts +3 -0
  91. package/src/generators/kos-i18n-project/schema.json +18 -0
  92. package/src/generators/kos-init/generator.d.ts +5 -0
  93. package/src/generators/kos-init/generator.d.ts.map +1 -0
  94. package/src/generators/kos-init/generator.js +43 -0
  95. package/src/generators/kos-init/generator.js.map +1 -0
  96. package/src/generators/kos-init/schema.d.ts +5 -0
  97. package/src/generators/kos-init/schema.json +29 -0
  98. package/src/generators/kos-model/files/model/__nameDashCase__-model.ts.template +57 -0
  99. package/src/generators/kos-model/files/model/__nameDashCase__-registration.ts.template +110 -0
  100. package/src/generators/kos-model/files/model/index.ts__template__ +4 -0
  101. package/src/generators/kos-model/files/model/types/index.d.ts.template +7 -0
  102. package/src/generators/kos-model/files/services/__nameDashCase__-services.ts.template +28 -0
  103. package/src/generators/kos-model/files/services/index.ts.template +1 -0
  104. package/src/generators/kos-model/generator.d.ts +5 -0
  105. package/src/generators/kos-model/generator.d.ts.map +1 -0
  106. package/src/generators/kos-model/generator.js +115 -0
  107. package/src/generators/kos-model/generator.js.map +1 -0
  108. package/src/generators/kos-model/lib/normalize-options.d.ts +4 -0
  109. package/src/generators/kos-model/lib/normalize-options.d.ts.map +1 -0
  110. package/src/generators/kos-model/lib/normalize-options.js +35 -0
  111. package/src/generators/kos-model/lib/normalize-options.js.map +1 -0
  112. package/src/generators/kos-model/lib/normalize-value.d.ts +7 -0
  113. package/src/generators/kos-model/lib/normalize-value.d.ts.map +1 -0
  114. package/src/generators/kos-model/lib/normalize-value.js +28 -0
  115. package/src/generators/kos-model/lib/normalize-value.js.map +1 -0
  116. package/src/generators/kos-model/lib/utils/name-utils.d.ts +6 -0
  117. package/src/generators/kos-model/lib/utils/name-utils.d.ts.map +1 -0
  118. package/src/generators/kos-model/lib/utils/name-utils.js +42 -0
  119. package/src/generators/kos-model/lib/utils/name-utils.js.map +1 -0
  120. package/src/generators/kos-model/lib/utils/ts-visitor.d.ts +8 -0
  121. package/src/generators/kos-model/lib/utils/ts-visitor.d.ts.map +1 -0
  122. package/src/generators/kos-model/lib/utils/ts-visitor.js +126 -0
  123. package/src/generators/kos-model/lib/utils/ts-visitor.js.map +1 -0
  124. package/src/generators/kos-model/schema.d.ts +41 -0
  125. package/src/generators/kos-model/schema.json +91 -0
  126. package/src/generators/kos-plugin-project/files/.env.template +7 -0
  127. package/src/generators/kos-plugin-project/files/.kos.json.template +40 -0
  128. package/src/generators/kos-plugin-project/files/.storybook/main.ts.template +45 -0
  129. package/src/generators/kos-plugin-project/files/.storybook/preview.tsx.template +82 -0
  130. package/src/generators/kos-plugin-project/files/.storybook/registration.ts.template +40 -0
  131. package/src/generators/kos-plugin-project/files/index.html.template +15 -0
  132. package/src/generators/kos-plugin-project/files/module-federation.config.ts.template +1 -0
  133. package/src/generators/kos-plugin-project/files/src/app/app.css.template +2 -0
  134. package/src/generators/kos-plugin-project/files/src/app/app.tsx.template +54 -0
  135. package/src/generators/kos-plugin-project/files/src/app/components/main-view/index.ts.template +1 -0
  136. package/src/generators/kos-plugin-project/files/src/app/components/main-view/main-view.tsx.template +14 -0
  137. package/src/generators/kos-plugin-project/files/src/app/tools/experience-resolver.ts.template +10 -0
  138. package/src/generators/kos-plugin-project/files/src/app/tools/index.ts.template +2 -0
  139. package/src/generators/kos-plugin-project/files/src/app/tools/kOSJSON.ts.template +1 -0
  140. package/src/generators/kos-plugin-project/files/src/assets/kos-logo.svg.template +4 -0
  141. package/src/generators/kos-plugin-project/files/src/assets/locales/en/__nameDashCase__.json.template +3 -0
  142. package/src/generators/kos-plugin-project/files/src/registration.ts.template +13 -0
  143. package/src/generators/kos-plugin-project/files/webpack.config.prod.ts.template +24 -0
  144. package/src/generators/kos-plugin-project/files/webpack.config.ts.template +7 -0
  145. package/src/generators/kos-plugin-project/generator.d.ts +5 -0
  146. package/src/generators/kos-plugin-project/generator.d.ts.map +1 -0
  147. package/src/generators/kos-plugin-project/generator.js +108 -0
  148. package/src/generators/kos-plugin-project/generator.js.map +1 -0
  149. package/src/generators/kos-plugin-project/schema.d.ts +5 -0
  150. package/src/generators/kos-plugin-project/schema.json +33 -0
  151. package/src/generators/kos-splash-project/files/project/project.json.template +17 -0
  152. package/src/generators/kos-splash-project/files/project/src/start.html.template +13 -0
  153. package/src/generators/kos-splash-project/files/tools/splashtool.mjs.template +247 -0
  154. package/src/generators/kos-splash-project/generator.d.ts +5 -0
  155. package/src/generators/kos-splash-project/generator.d.ts.map +1 -0
  156. package/src/generators/kos-splash-project/generator.js +17 -0
  157. package/src/generators/kos-splash-project/generator.js.map +1 -0
  158. package/src/generators/kos-splash-project/schema.d.ts +3 -0
  159. package/src/generators/kos-splash-project/schema.json +18 -0
  160. package/src/generators/kos-theme-project/files/.kos.json.template +5 -0
  161. package/src/generators/kos-theme-project/files/theme/component.css.template +2 -0
  162. package/src/generators/kos-theme-project/files/theme/generic.css.template +2 -0
  163. package/src/generators/kos-theme-project/files/theme/semantic.css.template +2 -0
  164. package/src/generators/kos-theme-project/files/theme/theme-overlay.css.template +7 -0
  165. package/src/generators/kos-theme-project/files/vite.config.ts.template +48 -0
  166. package/src/generators/kos-theme-project/generator.d.ts +5 -0
  167. package/src/generators/kos-theme-project/generator.d.ts.map +1 -0
  168. package/src/generators/kos-theme-project/generator.js +54 -0
  169. package/src/generators/kos-theme-project/generator.js.map +1 -0
  170. package/src/generators/kos-theme-project/schema.d.ts +3 -0
  171. package/src/generators/kos-theme-project/schema.json +18 -0
  172. package/src/generators/kos-ui-project/files/.env.template +7 -0
  173. package/src/generators/kos-ui-project/files/.kos.json.template +5 -0
  174. package/src/generators/kos-ui-project/files/bootstrap.tsx.template +13 -0
  175. package/src/generators/kos-ui-project/files/main.ts.template +18 -0
  176. package/src/generators/kos-ui-project/files/src/app/app.css.template +38 -0
  177. package/src/generators/kos-ui-project/files/src/app/app.tsx.template +45 -0
  178. package/src/generators/kos-ui-project/files/src/app/components/main-view/index.ts.template +1 -0
  179. package/src/generators/kos-ui-project/files/src/app/components/main-view/main-view.tsx.template +31 -0
  180. package/src/generators/kos-ui-project/files/src/app/registration.ts.template +13 -0
  181. package/src/generators/kos-ui-project/files/src/assets/kos-logo.svg.template +4 -0
  182. package/src/generators/kos-ui-project/files/src/assets/locales/en/__nameDashCase__.json.template +4 -0
  183. package/src/generators/kos-ui-project/files/src/bootstrap.tsx.template +13 -0
  184. package/src/generators/kos-ui-project/files/src/index.html.template +14 -0
  185. package/src/generators/kos-ui-project/files/webpack.config.ts.template +45 -0
  186. package/src/generators/kos-ui-project/generator.d.ts +5 -0
  187. package/src/generators/kos-ui-project/generator.d.ts.map +1 -0
  188. package/src/generators/kos-ui-project/generator.js +135 -0
  189. package/src/generators/kos-ui-project/generator.js.map +1 -0
  190. package/src/generators/kos-ui-project/internal/vite.config.ts.template +49 -0
  191. package/src/generators/kos-ui-project/schema.d.ts +7 -0
  192. package/src/generators/kos-ui-project/schema.json +34 -0
  193. package/src/generators/preset/api/utils/service.ts.template +15 -0
  194. package/src/generators/preset/files/.env.template +7 -0
  195. package/src/generators/preset/files/.kos.json.template +5 -0
  196. package/src/generators/preset/files/src/app/app.css.template +38 -0
  197. package/src/generators/preset/files/src/app/app.tsx.template +38 -0
  198. package/src/generators/preset/files/src/app/components/main-view/index.ts.template +1 -0
  199. package/src/generators/preset/files/src/app/components/main-view/main-view.tsx.template +32 -0
  200. package/src/generators/preset/files/src/app/registration.ts.template +20 -0
  201. package/src/generators/preset/files/src/assets/kos-logo.svg.template +4 -0
  202. package/src/generators/preset/files/src/assets/locales/en/__nameDashCase__.json.template +4 -0
  203. package/src/generators/preset/files/src/bootstrap.tsx.template +13 -0
  204. package/src/generators/preset/files/src/index.html.template +15 -0
  205. package/src/generators/preset/files/src/main.ts.template +6 -0
  206. package/src/generators/preset/files/webpack.config.ts.template +45 -0
  207. package/src/generators/preset/generator.d.ts +5 -0
  208. package/src/generators/preset/generator.d.ts.map +1 -0
  209. package/src/generators/preset/generator.js +252 -0
  210. package/src/generators/preset/generator.js.map +1 -0
  211. package/src/generators/preset/local/.env.local.template +5 -0
  212. package/src/generators/preset/schema.d.ts +8 -0
  213. package/src/generators/preset/schema.json +14 -0
  214. package/src/generators/preset/tools/tools/scripts/archiver.js.template +79 -0
  215. package/src/generators/preset/tools/tools/scripts/descriptor.mjs.template +114 -0
  216. package/src/generators/preset/tools/tools/scripts/generate-api-types.mjs.template +25 -0
  217. package/src/generators/preset/tools/tools/scripts/kabtool.mjs.template +87 -0
  218. package/src/generators/preset/tools/tools/scripts/update.mjs.template +67 -0
  219. package/src/generators/preset/tools/tools/tsconfig.tools.json.template +12 -0
  220. package/src/index.d.ts +1 -0
  221. package/src/index.d.ts.map +1 -0
  222. package/src/index.js +2 -0
  223. package/src/index.js.map +1 -0
  224. package/src/migrations/add-overrides/add-overrides.d.ts +3 -0
  225. package/src/migrations/add-overrides/add-overrides.d.ts.map +1 -0
  226. package/src/migrations/add-overrides/add-overrides.js +85 -0
  227. package/src/migrations/add-overrides/add-overrides.js.map +1 -0
  228. package/src/migrations/add-overrides/files/.env.local__template__ +5 -0
  229. package/src/migrations/add-overrides/files/tools/scripts/archiver.js__template__ +79 -0
  230. package/src/migrations/add-overrides/files/tools/scripts/kabtool.mjs__template__ +85 -0
  231. package/src/migrations/add-overrides/projectFiles/.kos.json__template__ +5 -0
  232. package/src/migrations/add-update-tool/files/tools/scripts/update.mjs.template +67 -0
  233. package/src/migrations/add-update-tool/migrate.d.ts +3 -0
  234. package/src/migrations/add-update-tool/migrate.d.ts.map +1 -0
  235. package/src/migrations/add-update-tool/migrate.js +24 -0
  236. package/src/migrations/add-update-tool/migrate.js.map +1 -0
  237. package/src/migrations/cms-sdk/cms-sdk.d.ts +3 -0
  238. package/src/migrations/cms-sdk/cms-sdk.d.ts.map +1 -0
  239. package/src/migrations/cms-sdk/cms-sdk.js +22 -0
  240. package/src/migrations/cms-sdk/cms-sdk.js.map +1 -0
  241. package/src/migrations/consolidate-sdk/api/utils/service.ts.template +15 -0
  242. package/src/migrations/consolidate-sdk/consolidate-sdk.d.ts +3 -0
  243. package/src/migrations/consolidate-sdk/consolidate-sdk.d.ts.map +1 -0
  244. package/src/migrations/consolidate-sdk/consolidate-sdk.js +100 -0
  245. package/src/migrations/consolidate-sdk/consolidate-sdk.js.map +1 -0
  246. package/src/migrations/consolidate-sdk/files/tools/scripts/generate-api-types.mjs.template +25 -0
  247. package/src/migrations/default-projects/default-projects.d.ts +3 -0
  248. package/src/migrations/default-projects/default-projects.d.ts.map +1 -0
  249. package/src/migrations/default-projects/default-projects.js +45 -0
  250. package/src/migrations/default-projects/default-projects.js.map +1 -0
  251. package/src/migrations/default-projects/files/index.ts__template__ +2 -0
  252. package/src/migrations/freestyle-sdk/freestyle-sdk.d.ts +3 -0
  253. package/src/migrations/freestyle-sdk/freestyle-sdk.d.ts.map +1 -0
  254. package/src/migrations/freestyle-sdk/freestyle-sdk.js +18 -0
  255. package/src/migrations/freestyle-sdk/freestyle-sdk.js.map +1 -0
  256. package/src/migrations/kabtool-env/migrate.d.ts +3 -0
  257. package/src/migrations/kabtool-env/migrate.d.ts.map +1 -0
  258. package/src/migrations/kabtool-env/migrate.js +11 -0
  259. package/src/migrations/kabtool-env/migrate.js.map +1 -0
  260. package/src/migrations/migrate-extensions/migrate-extensions.d.ts +3 -0
  261. package/src/migrations/migrate-extensions/migrate-extensions.d.ts.map +1 -0
  262. package/src/migrations/migrate-extensions/migrate-extensions.js +77 -0
  263. package/src/migrations/migrate-extensions/migrate-extensions.js.map +1 -0
  264. package/src/migrations/translation-format/translation-format.d.ts +3 -0
  265. package/src/migrations/translation-format/translation-format.d.ts.map +1 -0
  266. package/src/migrations/translation-format/translation-format.js +56 -0
  267. package/src/migrations/translation-format/translation-format.js.map +1 -0
  268. package/src/migrations/translations/add-descriptor.d.ts +3 -0
  269. package/src/migrations/translations/add-descriptor.d.ts.map +1 -0
  270. package/src/migrations/translations/add-descriptor.js +48 -0
  271. package/src/migrations/translations/add-descriptor.js.map +1 -0
  272. package/src/migrations/translations/files/tools/scripts/descriptor.mjs.template +114 -0
  273. package/src/migrations/update-kabtool/files/tools/scripts/kabtool.mjs.template +87 -0
  274. package/src/migrations/update-kabtool/update-kabtool.d.ts +3 -0
  275. package/src/migrations/update-kabtool/update-kabtool.d.ts.map +1 -0
  276. package/src/migrations/update-kabtool/update-kabtool.js +11 -0
  277. package/src/migrations/update-kabtool/update-kabtool.js.map +1 -0
  278. package/src/migrations/update-sdk/update-sdk.d.ts +3 -0
  279. package/src/migrations/update-sdk/update-sdk.d.ts.map +1 -0
  280. package/src/migrations/update-sdk/update-sdk.js +17 -0
  281. package/src/migrations/update-sdk/update-sdk.js.map +1 -0
  282. package/src/utils/java-home.d.ts +2 -0
  283. package/src/utils/java-home.d.ts.map +1 -0
  284. package/src/utils/java-home.js +44 -0
  285. package/src/utils/java-home.js.map +1 -0
  286. package/src/utils/logger.d.ts +9 -0
  287. package/src/utils/logger.d.ts.map +1 -0
  288. package/src/utils/logger.js +46 -0
  289. package/src/utils/logger.js.map +1 -0
  290. package/src/utils/name-utils.d.ts +6 -0
  291. package/src/utils/name-utils.d.ts.map +1 -0
  292. package/src/utils/name-utils.js +60 -0
  293. package/src/utils/name-utils.js.map +1 -0
  294. package/src/utils/normalize-value.d.ts +7 -0
  295. package/src/utils/normalize-value.d.ts.map +1 -0
  296. package/src/utils/normalize-value.js +33 -0
  297. package/src/utils/normalize-value.js.map +1 -0
  298. package/src/utils/project-utils.d.ts +36 -0
  299. package/src/utils/project-utils.d.ts.map +1 -0
  300. package/src/utils/project-utils.js +102 -0
  301. package/src/utils/project-utils.js.map +1 -0
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.kosLocalizationProjectGenerator = void 0;
4
+ const devkit_1 = require("@nx/devkit");
5
+ const eslint_1 = require("@nx/eslint");
6
+ const js_1 = require("@nx/js");
7
+ const path = require("path");
8
+ const normalize_value_1 = require("../../utils/normalize-value");
9
+ async function kosLocalizationProjectGenerator(tree, options) {
10
+ const config = (0, devkit_1.readNxJson)(tree);
11
+ const normalized = (0, normalize_value_1.normalizeAllValues)(options);
12
+ const root = config?.workspaceLayout?.libsDir || "";
13
+ const projectRootDir = path.join(root, "translations", normalized.nameDashCase);
14
+ await (0, js_1.libraryGenerator)(tree, {
15
+ name: normalized.nameDashCase,
16
+ bundler: "esbuild",
17
+ directory: projectRootDir,
18
+ minimal: true,
19
+ projectNameAndRootFormat: "as-provided",
20
+ linter: eslint_1.Linter.None,
21
+ });
22
+ const projectConfiguration = (0, devkit_1.readProjectConfiguration)(tree, normalized.nameDashCase);
23
+ const externalJson = {
24
+ kab: {
25
+ command: `node tools/scripts/kabtool.mjs build ${normalized.nameDashCase} && node tools/scripts/kabtool.mjs list ${normalized.nameDashCase} `,
26
+ options: {
27
+ outputPath: `dist/archives/packages/${normalized.nameDashCase}/`,
28
+ zipName: "ui.zip",
29
+ kabName: `${normalized.nameDashCase}.kab`,
30
+ },
31
+ dependsOn: ["zip"],
32
+ },
33
+ zip: {
34
+ command: `node tools/scripts/archiver.js ${normalized.nameDashCase}`,
35
+ options: {
36
+ outputPath: `dist/archives/packages/${normalized.nameDashCase}/`,
37
+ zipName: "ui.zip",
38
+ },
39
+ dependsOn: ["build", "descriptor"],
40
+ },
41
+ descriptor: {
42
+ command: `node tools/scripts/descriptor.mjs ${normalized.nameDashCase}`,
43
+ options: {
44
+ outputPath: `dist/translations/${normalized.nameDashCase}`,
45
+ fileName: "descriptor.json",
46
+ },
47
+ dependsOn: ["build"],
48
+ },
49
+ };
50
+ if (projectConfiguration) {
51
+ const assets = [
52
+ ...(projectConfiguration.targets?.build?.options?.assets || []),
53
+ ];
54
+ (0, devkit_1.updateProjectConfiguration)(tree, normalized.nameDashCase, {
55
+ ...projectConfiguration,
56
+ targets: {
57
+ ...projectConfiguration.targets,
58
+ ...externalJson,
59
+ build: {
60
+ ...projectConfiguration.targets?.build,
61
+ options: {
62
+ ...projectConfiguration.targets?.build?.options,
63
+ assets: [
64
+ ...assets,
65
+ {
66
+ input: `translations/${normalized.nameDashCase}/src/assets`,
67
+ glob: "**/*",
68
+ output: "assets",
69
+ },
70
+ ],
71
+ },
72
+ },
73
+ },
74
+ });
75
+ }
76
+ (0, devkit_1.generateFiles)(tree, path.join(__dirname, "files"), projectRootDir, normalized);
77
+ (0, devkit_1.installPackagesTask)(tree, true);
78
+ await (0, devkit_1.formatFiles)(tree);
79
+ }
80
+ exports.kosLocalizationProjectGenerator = kosLocalizationProjectGenerator;
81
+ exports.default = kosLocalizationProjectGenerator;
82
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/kos-nx-plugin/src/generators/kos-i18n-project/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export interface KosLocalizationProjectGeneratorSchema {
2
+ name: string;
3
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "KosLocalizationProject",
4
+ "title": "",
5
+ "type": "object",
6
+ "properties": {
7
+ "name": {
8
+ "type": "string",
9
+ "description": "",
10
+ "$default": {
11
+ "$source": "argv",
12
+ "index": 0
13
+ },
14
+ "x-prompt": "What name would you like to use?"
15
+ }
16
+ },
17
+ "required": ["name"]
18
+ }
@@ -0,0 +1,5 @@
1
+ import { Tree } from "@nx/devkit";
2
+ import { KosInitGeneratorSchema } from "./schema";
3
+ export declare function kosInitGenerator(tree: Tree, options: KosInitGeneratorSchema): Promise<void>;
4
+ export default kosInitGenerator;
5
+ //# sourceMappingURL=generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../../../../../packages/plugins/kos-nx-plugin/src/generators/kos-init/generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,IAAI,EAAa,MAAM,YAAY,CAAC;AAEvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElD,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,sBAAsB,iBA8ChC;AAED,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.kosInitGenerator = void 0;
4
+ const devkit_1 = require("@nx/devkit");
5
+ async function kosInitGenerator(tree, options) {
6
+ const { appProject, modelProject, registrationProject } = options;
7
+ const nxConfig = (0, devkit_1.readJson)(tree, "nx.json");
8
+ if (!nxConfig) {
9
+ console.error(`Unable to find nx.json`);
10
+ return;
11
+ }
12
+ console.info(`Updating nx.json`);
13
+ const defaultProjectConfig = {
14
+ appProject,
15
+ modelProject,
16
+ registrationProject,
17
+ modelDirectory: "lib",
18
+ appDirectory: "app",
19
+ components: true,
20
+ dataServices: true,
21
+ internal: false,
22
+ singleton: false,
23
+ unitTests: true,
24
+ };
25
+ const generatorsConfig = nxConfig.generators || {};
26
+ const kosConfig = generatorsConfig["@kosdev-code/kos-nx-plugin"] || {};
27
+ const updateConfig = (configName) => {
28
+ const config = kosConfig[configName] || { ...defaultProjectConfig };
29
+ config.appProject = appProject;
30
+ config.modelProject = modelProject;
31
+ config.registrationProject = registrationProject;
32
+ kosConfig[configName] = config;
33
+ };
34
+ ["kos-model", "kos-component", "kos-context", "kos-hook"].forEach(updateConfig);
35
+ nxConfig.generators = {
36
+ ...generatorsConfig,
37
+ "@kosdev-code/kos-nx-plugin": kosConfig,
38
+ };
39
+ (0, devkit_1.writeJson)(tree, "nx.json", nxConfig);
40
+ }
41
+ exports.kosInitGenerator = kosInitGenerator;
42
+ exports.default = kosInitGenerator;
43
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/kos-nx-plugin/src/generators/kos-init/generator.ts"],"names":[],"mappings":";;;AAAA,uCAAuD;AAIhD,KAAK,UAAU,gBAAgB,CACpC,IAAU,EACV,OAA+B;IAE/B,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC;IAElE,MAAM,QAAQ,GAAG,IAAA,iBAAQ,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAEjC,MAAM,oBAAoB,GAAG;QAC3B,UAAU;QACV,YAAY;QACZ,mBAAmB;QACnB,cAAc,EAAE,KAAK;QACrB,YAAY,EAAE,KAAK;QACnB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,IAAI;KAChB,CAAC;IAEF,MAAM,gBAAgB,GAAG,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;IACnD,MAAM,SAAS,GAAG,gBAAgB,CAAC,4BAA4B,CAAC,IAAI,EAAE,CAAC;IAEvE,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,EAAE;QAClC,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,oBAAoB,EAAE,CAAC;QACpE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/B,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC;QACnC,MAAM,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QACjD,SAAS,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC;IACjC,CAAC,CAAC;IAEF,CAAC,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,OAAO,CAC/D,YAAY,CACb,CAAC;IAEF,QAAQ,CAAC,UAAU,GAAG;QACpB,GAAG,gBAAgB;QACnB,4BAA4B,EAAE,SAAS;KACxC,CAAC;IAEF,IAAA,kBAAS,EAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC;AAhDD,4CAgDC;AAED,kBAAe,gBAAgB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export interface KosInitGeneratorSchema {
2
+ modelProject: string;
3
+ appProject: string;
4
+ registrationProject?: string;
5
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "KosInit",
4
+ "title": "",
5
+ "type": "object",
6
+ "properties": {
7
+ "modelProject": {
8
+ "type": "string",
9
+ "description": "The project where the model will be located.",
10
+ "x-prompt": "Which project will this model be located in?",
11
+ "x-dropdown": "projects"
12
+ },
13
+ "appProject": {
14
+ "type": "string",
15
+ "description": "The project where the ui components will be located.",
16
+ "x-prompt": "Which project will this model put UI components?",
17
+ "x-dropdown": "projects",
18
+ "default": ""
19
+ },
20
+ "registrationProject": {
21
+ "type": "string",
22
+ "description": "The project where the model will be registered. Defaults to the appProject if not specified",
23
+ "x-prompt": "Which project will this model put UI components?",
24
+ "x-dropdown": "projects",
25
+ "default": ""
26
+ }
27
+ },
28
+ "required": ["modelProject", "appProject", "registrationProject"]
29
+ }
@@ -0,0 +1,57 @@
1
+ <% if (internal) { %>import { kosModel<% if (parentAware) { %>, kosParentAware<% } %> } from "../../../core/core/decorators";
2
+ import type {
3
+ IKosDataModel,
4
+ KosContextLogger,
5
+ KosCreationContext,
6
+ } from "../../../core/core/kosModel";
7
+ import type { IKosIdentifiable } from "../../../core/core/types";
8
+ import type { PublicModelInterface } from "../../../core/types";
9
+ <% } else { %>import type { KosContextLogger, KosCreationContext, IKosDataModel, IKosIdentifiable, PublicModelInterface<% if (parentAware) { %>, kosParentAware<% } %> } from "@kosdev-code/kos-ui-sdk";
10
+ import { kosModel } from "@kosdev-code/kos-ui-sdk";
11
+ <% } %>
12
+ import type { <%= nameProperCase %>Options} from "./types";
13
+
14
+ <% if (companion) {%>
15
+ import type { <%= companionModelProperCase %>Model } from "<%= companionModelProject %>";
16
+ <% } %>
17
+ export const MODEL_TYPE = "<%= nameDashCase %>-model";
18
+
19
+ export type <%= nameProperCase %>Model = PublicModelInterface<<%= nameProperCase %>ModelImpl>;
20
+
21
+ <% if (parentAware) { %>@kosParentAware()<% } %>
22
+ @kosModel(MODEL_TYPE)
23
+ export class <%= nameProperCase %>ModelImpl implements IKosDataModel, IKosIdentifiable {
24
+ id: string;
25
+ private logger: KosContextLogger;
26
+ <% if (companion) { %>private <%= companionModelCamelCase %>: <%= companionModelProperCase %>Model;<% } %>
27
+ constructor(modelId: string, options: <%= nameProperCase %>Options, context: KosCreationContext) {
28
+ this.id = modelId;
29
+ this.logger = context.logger;
30
+ <% if (companion) { %>
31
+ this.<%= companionModelCamelCase %> = options.companionParent;
32
+ <% } %>
33
+ if (options) {
34
+ // Assign options properties here.
35
+ }
36
+ }
37
+
38
+ updateModel(options: <%= nameProperCase %>Options): void {
39
+ // Update model properties here.
40
+ }
41
+
42
+ // -------------------LIFECYCLE----------------------------
43
+
44
+
45
+ async init(): Promise<void> {
46
+ this.logger.debug(`initializing <%= nameLowerCase %> ${this.id}` );
47
+ }
48
+
49
+
50
+ async load(): Promise<void> {
51
+ this.logger.debug(`loading <%= nameLowerCase %> ${this.id}`);
52
+ }
53
+
54
+
55
+
56
+ }
57
+
@@ -0,0 +1,110 @@
1
+ import { <% if (singleton) { %>Singleton<% } %>KosModelRegistrationFactory } from "<% if (internal) {%>../../../core/core/registration<% } else { %>@kosdev-code/kos-ui-sdk<% } %>";
2
+ import type { <%= nameProperCase %>Options } from "./types";
3
+ import { <%= nameProperCase %>ModelImpl, MODEL_TYPE } from "./<%= nameDashCase %>-model";
4
+ import type { <%= nameProperCase %>Model } from "./<%= nameDashCase %>-model";
5
+
6
+ /**
7
+ * # <%= nameProperCase %>
8
+ *
9
+ * The registration bean includes convenience methods for creating and working with <%= nameProperCase %>Model instances.
10
+ *
11
+ * ## type
12
+ * The type property is a string that identifies the model type.
13
+ * The type is used to identify the model type in the model registry and to narrow down the model type in type predicates. It's most frequently
14
+ * used when declaring dependencies on models.
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ *
19
+ * @kosDependency({modelType: <%= nameProperCase %>.type, id: "<%= nameCamelCase %>Id"})
20
+ * private <%= nameCamelCase %>Model: <%= nameProperCase %>Model;
21
+ * ```
22
+ *
23
+ *
24
+ * ## factory
25
+ *
26
+ * The factory method creates a factory function that can be used to create new <%= nameProperCase %>Model instances.
27
+ *
28
+ <% if (singleton) { %>
29
+ * As this is a singleton model, the factory function accepts the model options as its argument.
30
+ *
31
+ * If a model with the same model type already exists, the factory function will return the existing model. The options will be ignored
32
+ * in this case and the existing model will be returned in its current state.
33
+ *
34
+ * @example
35
+ * ```typescript
36
+ * const model = <%= nameProperCase %>.factory({
37
+ * // Add option data
38
+ * });
39
+ * ```
40
+ <% } else { %>
41
+ * The factory function is a curried function that takes the model id as the first argument and the options as the second argument.
42
+ *
43
+ * If a model with the specified id already exists, the factory function will return the existing model. The options will be ignored
44
+ * in this case and the existing model will be returned in its current state.
45
+ *
46
+ * @example
47
+ * ```typescript
48
+ * const model = <%= nameProperCase %>.factory("<%= nameCamelCase %>Id")({
49
+ * // Add option data
50
+ * });
51
+ * ```
52
+ <% } %>
53
+
54
+ *
55
+ * ## predicate
56
+ *
57
+ * [Typescript type predicate](https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates) function that will identify and narrow down a model to a <%= nameProperCase %>Model.
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ *
62
+ * const model: IKosDataModel = ...; // some model
63
+ *
64
+ * if (<%= nameProperCase %>.predicate(model)) {
65
+ * // if the function evaluates to true, the model is narrowed down to <%= nameProperCase %>Model
66
+ * // and the compiler will know that the model has the <%= nameProperCase %>Model interface
67
+ * model.updateAvailability(false);
68
+ * }
69
+ * ```
70
+ *
71
+ * ## registration
72
+ *
73
+ * The registration property is an object that can be used to simplify registration of the model with the model registry. The registration object
74
+ * can be spread into the model registration and provides all of the required information to register the model implementation class against the model type.
75
+ *
76
+ *
77
+ * @example
78
+ *
79
+ * In an application registration file you can declare the model registration as follows:
80
+ *
81
+ * **registration.ts**
82
+ * ```typescript
83
+ * import { <%= nameProperCase %> } from "@kos-ui/project-models";
84
+ * import { KosModelRegistry } from "@kosdev-code/kos-dispense-sdk";
85
+ *
86
+ * import { initKosProvider } from "@kosdev-code/kos-ui-sdk";
87
+ *
88
+ * KosModelRegistry.dispense
89
+ * .models()
90
+ * .model(<%= nameProperCase %>);
91
+ * ```
92
+ *
93
+ * ## registration.singleton
94
+ <% if (singleton) { %>
95
+ * The <%= nameCamelCase %> model is a singleton model. This means that each time the factory function is called , the same instance will be returned.
96
+ * If the model does not yet exist, it will be created passing in the provided options to initialize it.
97
+ *
98
+ * Singleton models don't require an ID as they will use the model type as their ID to guarantee uniqueness throughout the system.
99
+ <% } else { %>
100
+ * The <%= nameCamelCase %> model is NOT a singleton model. This means that each time the factory function is called with a unique ID, a new model instance will be created.
101
+ * If the factory function is called with an ID that already exists, the existing model will be returned.
102
+ <% } %>
103
+ * */
104
+ export const <%= nameProperCase %> = new <% if (singleton) { %>Singleton<% } %>KosModelRegistrationFactory<
105
+ <%= nameProperCase %>Model,
106
+ <%= nameProperCase %>Options
107
+ >({
108
+ class: <%= nameProperCase %>ModelImpl,
109
+ type: MODEL_TYPE,
110
+ });
@@ -0,0 +1,4 @@
1
+ export { <%= nameProperCase %> } from "./<%= nameDashCase %>-registration";
2
+ export type * from "./types";
3
+ export type { <%= nameProperCase %>Model } from "./<%= nameDashCase %>-model";
4
+ <% if (dataServices) { %>export * as <%= nameProperCase %>Services from "./services";<% } %>
@@ -0,0 +1,7 @@
1
+ <% if (parentAware) { %>import type {KosParentAware} from "@kosdev-code/kos-ui-sdk";<% } %>
2
+
3
+ export interface <%= nameProperCase %>Options <% if (parentAware) { %>extends KosParentAware<% } %> {
4
+
5
+ }
6
+
7
+
@@ -0,0 +1,28 @@
1
+ import {
2
+ KosLog,
3
+ type ClientResponse,
4
+ type DeepRequired,
5
+ type ElementType,
6
+ type ServiceResponse
7
+ } from '@kosdev-code/kos-ui-sdk';
8
+
9
+ import API, { type KosApi, type ApiPath } from '../../../utils/service';
10
+
11
+ const log = KosLog.createLogger({name: "<%= nameDashCase %>-service", group: "Services"});
12
+
13
+ const SERVICE_PATH: ApiPath = "ENTER_SERVICE_PATH"
14
+ export type <%= nameProperCase %>ClientResponse = ClientResponse<
15
+ KosApi,
16
+ typeof SERVICE_PATH,
17
+ 'get'
18
+ >;
19
+ export type <%= nameProperCase %>Response = DeepRequired<<%= nameProperCase %>ClientResponse>;
20
+
21
+ /**
22
+ * @category Service
23
+ * Retrieves the initial <%= name %> data.
24
+ */
25
+ export const get<%= nameProperCase %> = async (): Promise<ServiceResponse<<%= nameProperCase %>Response>> => {
26
+ log.debug('sending GET for <%= name %>');
27
+ return await API.get(SERVICE_PATH);
28
+ };
@@ -0,0 +1 @@
1
+ export * from "./<%= nameDashCase %>-services";
@@ -0,0 +1,5 @@
1
+ import { Tree } from "@nx/devkit";
2
+ import { KosModelGeneratorSchema } from "./schema";
3
+ export declare function kosModelGenerator(tree: Tree, options: KosModelGeneratorSchema): Promise<void>;
4
+ export default kosModelGenerator;
5
+ //# sourceMappingURL=generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../../../../../packages/plugins/kos-nx-plugin/src/generators/kos-model/generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EAKL,MAAM,YAAY,CAAC;AAWpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEnD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,uBAAuB,iBAwJjC;AAED,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.kosModelGenerator = void 0;
4
+ const devkit_1 = require("@nx/devkit");
5
+ const path = require("path");
6
+ const logger_1 = require("../../utils/logger");
7
+ const project_utils_1 = require("../../utils/project-utils");
8
+ const generator_1 = require("../kos-companion-model/generator");
9
+ const generator_2 = require("../kos-container-model/generator");
10
+ const normalize_options_1 = require("./lib/normalize-options");
11
+ const ts_visitor_1 = require("./lib/utils/ts-visitor");
12
+ async function kosModelGenerator(tree, options) {
13
+ const currentProject = await (0, project_utils_1.getProject)(tree, process.cwd());
14
+ logger_1.logger.info(`current project ${currentProject?.name} cli project ${options.modelProject}`);
15
+ const modelProjectName = options.modelProject || currentProject?.name;
16
+ if (!modelProjectName) {
17
+ throw new Error("No model project found. Please specify a model project with --modelProject or run this command in a directory with a model project.");
18
+ }
19
+ logger_1.logger.info(`model project ${modelProjectName}`);
20
+ options.modelProject = modelProjectName;
21
+ const normalized = (0, normalize_options_1.normalizeOptions)(tree, options);
22
+ const projectConfiguration = (0, devkit_1.readProjectConfiguration)(tree, normalized.modelProject);
23
+ const projectRoot = projectConfiguration.sourceRoot;
24
+ if (projectRoot) {
25
+ logger_1.logger.info(`Generating model ${normalized.nameDashCase} in ${projectRoot}`);
26
+ const kosConfigPath = path.join(projectConfiguration.root, ".kos.json");
27
+ const kosConfig = (0, project_utils_1.getKosProjectConfiguration)(tree, projectConfiguration.name);
28
+ const modelLocation = kosConfig?.generator?.defaults?.model?.folder || "";
29
+ const internal = !!kosConfig?.generator?.internal;
30
+ options.modelDirectory = options.modelDirectory || modelLocation;
31
+ logger_1.logger.info("Model Location " + options.modelDirectory);
32
+ (0, devkit_1.generateFiles)(tree, path.join(__dirname, "files", "model"), path.join(projectRoot, options.modelDirectory, normalized.nameDashCase), { ...normalized, internal });
33
+ if (normalized.dataServices) {
34
+ (0, devkit_1.generateFiles)(tree, path.join(__dirname, "files", "services"), path.join(projectRoot, options.modelDirectory, normalized.nameDashCase, "services"), { ...normalized, internal });
35
+ }
36
+ const modelIndex = path.join(projectRoot, "index.ts");
37
+ logger_1.logger.info(`Updating index in ${modelIndex}`);
38
+ const modelPath = options.modelDirectory
39
+ ? `${options.modelDirectory}/${normalized.nameDashCase}`
40
+ : normalized.nameDashCase;
41
+ logger_1.logger.info(`adding ${modelPath} to ${modelIndex}`);
42
+ (0, ts_visitor_1.updateModelIndex)(modelIndex, modelPath, tree);
43
+ // const pkgJsonPath = path.join(projectConfiguration.root, "package.json");
44
+ // const importPath = readJson(tree, pkgJsonPath).name;
45
+ // if (!normalized.skipRegistration) {
46
+ // const registrationProject = readProjectConfiguration(
47
+ // tree,
48
+ // normalized.registrationProject
49
+ // );
50
+ // const registrationPath = path.join(
51
+ // registrationProject.sourceRoot!,
52
+ // "registration.ts"
53
+ // );
54
+ // if (!tree.exists(registrationPath)) {
55
+ // logger.info(
56
+ // `registration doesn't exist. Creating registration in ${registrationPath}`
57
+ // );
58
+ // generateFiles(
59
+ // tree,
60
+ // path.join(__dirname, "files", "global"),
61
+ // path.join(registrationProject.sourceRoot!),
62
+ // { ...normalized, internal }
63
+ // );
64
+ // }
65
+ // logger.info(`updating registration in ${registrationPath}`);
66
+ // if (!normalized.container) {
67
+ // updateModelRegistration(
68
+ // registrationPath,
69
+ // normalized.nameProperCase,
70
+ // importPath,
71
+ // tree
72
+ // );
73
+ // }
74
+ // }
75
+ (0, devkit_1.updateJson)(tree, kosConfigPath, (json) => {
76
+ json.models = {
77
+ ...json.models,
78
+ [normalized.name]: {
79
+ name: normalized.name,
80
+ type: `${normalized.nameDashCase}-model`,
81
+ singleton: !!normalized.singleton,
82
+ },
83
+ };
84
+ return json;
85
+ });
86
+ if (normalized.container) {
87
+ logger_1.logger.info(`Generating container for ${normalized.name} with data services ${normalized.dataServices}`);
88
+ await (0, generator_2.default)(tree, {
89
+ ...options,
90
+ name: `${normalized.name}-container`,
91
+ modelName: `${normalized.name}`,
92
+ singleton: normalized.isContainerSingleton,
93
+ dataServices: normalized.dataServices,
94
+ });
95
+ }
96
+ if (normalized.companion &&
97
+ normalized.companionModel &&
98
+ normalized.companionModelProject) {
99
+ await (0, generator_1.default)(tree, {
100
+ // model name of companion model child
101
+ companionModelName: normalized.name,
102
+ // project name of companion model child
103
+ companionModelProject: normalized.modelProject,
104
+ // companion parent name - model that this is companion to
105
+ modelName: normalized.companionModel,
106
+ // companion parent project - model that this is companion to
107
+ modelProject: normalized.companionModelProject,
108
+ });
109
+ }
110
+ }
111
+ await (0, devkit_1.formatFiles)(tree);
112
+ }
113
+ exports.kosModelGenerator = kosModelGenerator;
114
+ exports.default = kosModelGenerator;
115
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/kos-nx-plugin/src/generators/kos-model/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Tree } from "@nx/devkit";
2
+ import { KosBaseGeneratorSchema, NormalizedKosBaseGeneratorSchema } from "../schema";
3
+ export declare function normalizeOptions<T extends KosBaseGeneratorSchema>(tree: Tree, options: T): NormalizedKosBaseGeneratorSchema<T>;
4
+ //# sourceMappingURL=normalize-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-options.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/plugins/kos-nx-plugin/src/generators/kos-model/lib/normalize-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAsC,MAAM,YAAY,CAAC;AACtE,OAAO,EACL,sBAAsB,EACtB,gCAAgC,EACjC,MAAM,WAAW,CAAC;AAKnB,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,sBAAsB,EAC/D,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,CAAC,GACT,gCAAgC,CAAC,CAAC,CAAC,CA4BrC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeOptions = void 0;
4
+ const devkit_1 = require("@nx/devkit");
5
+ const normalize_value_1 = require("./normalize-value");
6
+ const path = require("path");
7
+ function normalizeOptions(tree, options) {
8
+ const toNormalize = {
9
+ name: options.name,
10
+ };
11
+ if (options.companionModel) {
12
+ toNormalize.companionModel = options.companionModel;
13
+ }
14
+ const normalizedValues = (0, normalize_value_1.normalizeAllValues)(toNormalize);
15
+ const modelProject = options.modelProject;
16
+ const registrationProject = options.registrationProject || "";
17
+ const useModelProject = modelProject !== "__NONE__";
18
+ const modelProjectConfiguration = useModelProject
19
+ ? (0, devkit_1.readProjectConfiguration)(tree, options.modelProject)
20
+ : undefined;
21
+ const pkgJsonPath = modelProjectConfiguration
22
+ ? path.join(modelProjectConfiguration.root, "package.json")
23
+ : "";
24
+ const importPath = pkgJsonPath ? (0, devkit_1.readJson)(tree, pkgJsonPath).name : "";
25
+ return {
26
+ ...options,
27
+ ...normalizedValues,
28
+ modelProject,
29
+ importPath,
30
+ registrationProject,
31
+ template: "",
32
+ };
33
+ }
34
+ exports.normalizeOptions = normalizeOptions;
35
+ //# sourceMappingURL=normalize-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../../../../packages/plugins/kos-nx-plugin/src/generators/kos-model/lib/normalize-options.ts"],"names":[],"mappings":";;;AAAA,uCAAsE;AAKtE,uDAAuD;AAEvD,6BAA8B;AAE9B,SAAgB,gBAAgB,CAC9B,IAAU,EACV,OAAU;IAEV,MAAM,WAAW,GAAQ;QACvB,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC;IAEF,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,WAAW,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IACtD,CAAC;IACD,MAAM,gBAAgB,GAAG,IAAA,oCAAkB,EAAC,WAAW,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAE1C,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC;IAC9D,MAAM,eAAe,GAAG,YAAY,KAAK,UAAU,CAAC;IACpD,MAAM,yBAAyB,GAAG,eAAe;QAC/C,CAAC,CAAC,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC;QACtD,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,WAAW,GAAG,yBAAyB;QAC3C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,cAAc,CAAC;QAC3D,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,IAAA,iBAAQ,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,OAAO;QACL,GAAG,OAAO;QACV,GAAG,gBAAgB;QACnB,YAAY;QACZ,UAAU;QACV,mBAAmB;QACnB,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AA/BD,4CA+BC"}
@@ -0,0 +1,7 @@
1
+ type NormalizedFunctions = "CamelCase" | "ConstantCase" | "DashCase" | "PascalCase" | "ProperCase" | "LowerCase";
2
+ type NormalizedValue<Type extends Record<string, string>> = {
3
+ [k in Type as `${Extract<keyof Type, string>}${NormalizedFunctions}`]: string;
4
+ };
5
+ export declare const normalizeAllValues: <T extends Record<string, string>>(options: T) => NormalizedValue<T> & T;
6
+ export {};
7
+ //# sourceMappingURL=normalize-value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-value.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/plugins/kos-nx-plugin/src/generators/kos-model/lib/normalize-value.ts"],"names":[],"mappings":"AAQA,KAAK,mBAAmB,GACpB,WAAW,GACX,cAAc,GACd,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,WAAW,CAAC;AAEhB,KAAK,eAAe,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI;KACzD,CAAC,IAAI,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,MAAM,CAAC,GAAG,mBAAmB,EAAE,GAAG,MAAM;CAC9E,CAAC;AAoBF,eAAO,MAAM,kBAAkB,8CACpB,CAAC,KACT,gBAAgB,CAAC,CAAC,GAAG,CAYvB,CAAC"}