@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 @@
1
+ export * from "./<%= nameDashCase %>";
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Note: The plugin project Storybook configuration requires that the Studio
3
+ * Simulator is running in order to retrieve model data...
4
+ */
5
+ import { UtilityStoryContainer } from "@kosdev-code/kos-ui-plugin/dev";
6
+ import type { Meta, StoryObj } from "@storybook/react";
7
+ import { <%= namePascalCase %> } from "./<%= nameDashCase %>";
8
+
9
+ const meta: Meta<typeof <%= namePascalCase %>> = {
10
+ args: {},
11
+ component: <%= namePascalCase %>,
12
+ decorators: [
13
+ (Story, context) => (
14
+ <UtilityStoryContainer>
15
+ <Story args={{ ...context.args }} />
16
+ </UtilityStoryContainer>
17
+ ),
18
+ ],
19
+ tags: ["!autodocs"],
20
+ title: "utility/<%= namePascalCase %>",
21
+ };
22
+
23
+ export default meta;
24
+
25
+ type Story = StoryObj<typeof <%= namePascalCase %>>;
26
+
27
+ export const Default: Story = {
28
+ render: (props) => <<%= namePascalCase %> {...props} />,
29
+ };
30
+
@@ -0,0 +1,45 @@
1
+ import styled from '@emotion/styled';
2
+ import {
3
+ Button,
4
+ Footer,
5
+ type Experience,
6
+ } from '@kosdev-code/kos-ddk-components';
7
+ import {
8
+ KosLog,
9
+ kosComponent,
10
+ useKosTranslation,
11
+ } from '@kosdev-code/kos-ui-sdk';
12
+
13
+ const log = KosLog.createLogger({name: "<%= nameDashCase %>"})
14
+ log.debug("<%= nameDashCase %> component loaded");
15
+
16
+ const <%= namePascalCase %>Container = styled.div`
17
+ align-items: center;
18
+ background-color: white;
19
+ bottom: 0;
20
+ display: flex;
21
+ flex-direction: column;
22
+ font-size: 40px;
23
+ height: 100vh;
24
+ justify-content: center;
25
+ left: 0;
26
+ position: fixed;
27
+ right: 0;
28
+ top: 0;
29
+ width: 100vw;
30
+ z-index: 999;
31
+ `;
32
+
33
+ export const <%= namePascalCase %>: Experience = kosComponent(({ onComplete }) => {
34
+ const { t } = useKosTranslation('<%= appProject %>');
35
+ return (
36
+ <<%= namePascalCase %>Container onClick={onComplete}>
37
+ Hello from <%= namePascalCase %> Utility
38
+ <Footer>
39
+ <Button onClick={onComplete}>{t('proceed')}</Button>
40
+ </Footer>
41
+ </<%= namePascalCase %>Container>
42
+ );
43
+ });
44
+
45
+ export default <%= namePascalCase %>
@@ -0,0 +1 @@
1
+ export * from "./<%= nameDashCase %>";
@@ -0,0 +1,80 @@
1
+ <% if (internal) {%>import {
2
+ kosDependency,
3
+ kosModel,
4
+ kosTopicHandler,
5
+ } from "../../../core/core/decorators";
6
+ import {
7
+ KosModelContainer,
8
+ type IKosModelContainer,
9
+ } from "../../../core/core/kos-container-model";
10
+ import type {
11
+ IKosDataModel,
12
+ KosContextLogger,
13
+ KosCreationContext,
14
+ } from "../../../core/core/kosModel";
15
+ import type { IKosIdentifiable, IKosModelHolder } from "../../../core/core/types";
16
+ import type { PublicModelInterface } from "../../../core/types";
17
+ <% } else { %>import { kosModel, kosChild, KosModelContainer } from "@kosdev-code/kos-ui-sdk";
18
+ import type { KosContextLogger, KosCreationContext, IKosModelContainer, IKosDataModel, IKosModelHolder, IKosIdentifiable, PublicModelInterface } from "@kosdev-code/kos-ui-sdk";<% } %>
19
+
20
+
21
+ import type { <%= nameProperCase %>Options } from "./types";
22
+ import type { <%= modelNameProperCase %>Model } from "./<%= modelNameDashCase %>-model";
23
+
24
+
25
+ export const MODEL_TYPE = "<%= nameDashCase %>-model";
26
+
27
+ export type <%= nameProperCase %>Model = PublicModelInterface<<%= nameProperCase %>ModelImpl>;
28
+
29
+ @kosModel(MODEL_TYPE)
30
+ export class <%= nameProperCase %>ModelImpl implements IKosIdentifiable, IKosModelHolder<<%= modelNameProperCase %>Model>, IKosDataModel {
31
+ id: string;
32
+ private logger: KosContextLogger;
33
+ @kosChild private _models: IKosModelContainer<<%= modelNameProperCase %>Model>;
34
+ constructor(modelId: string, options: <%= nameProperCase %>Options, context: KosCreationContext) {
35
+ this.id = modelId;
36
+ this.logger = context.logger;
37
+ this._models = new KosModelContainer<<%= modelNameProperCase %>Model>({parentId: modelId});
38
+ if (options) {
39
+ // Assign options properties here.
40
+ }
41
+ }
42
+
43
+ getModel(id: string) {
44
+ return this._models.getModel(id);
45
+ }
46
+ get models () {
47
+ return this._models;
48
+ }
49
+ get data() {
50
+ return this._models.data;
51
+ }
52
+
53
+ updateModel(options: <%= nameProperCase %>Options): void {
54
+ // Update model properties here.
55
+ }
56
+
57
+ addModel(model: <%= modelNameProperCase %>Model) {
58
+ this._models.addModel(model);
59
+ };
60
+
61
+
62
+ removeModel(id: string){
63
+ this._models.removeModel(id);
64
+ };
65
+ // -------------------LIFECYCLE----------------------------
66
+
67
+
68
+ async init(): Promise<void> {
69
+ this.logger.debug(`initializing <%= nameLowerCase %> container ${this.id}` );
70
+ }
71
+
72
+
73
+ async load(): Promise<void> {
74
+ this.logger.debug(`loading <%= nameLowerCase %> container ${this.id}`);
75
+ }
76
+
77
+
78
+
79
+ }
80
+
@@ -0,0 +1,113 @@
1
+ import { <% if (singleton) { %>Singleton<% } %>KosModelRegistrationFactory } from "@kosdev-code/kos-ui-sdk";
2
+ import type { <%= nameProperCase %>Options } from "./types";
3
+ import { <%= modelNameProperCase %> } from "./<%= modelNameDashCase %>-registration";
4
+ import { <%= nameProperCase %>ModelImpl, MODEL_TYPE } from "./<%= nameDashCase %>-model";
5
+ import type { <%= nameProperCase %>Model } from "./<%= nameDashCase %>-model";
6
+
7
+
8
+ /**
9
+ * # <%= nameProperCase %>
10
+ *
11
+ * The registration bean includes convenience methods for creating and working with <%= nameProperCase %>Model instances.
12
+ *
13
+ * ## type
14
+ * The type property is a string that identifies the model type.
15
+ * 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
16
+ * used when declaring dependencies on models.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ *
21
+ * @kosDependency({modelType: <%= nameProperCase %>.type, id: "<%= nameCamelCase %>Id"})
22
+ * private <%= nameCamelCase %>Model: <%= nameProperCase %>Model;
23
+ * ```
24
+ *
25
+ *
26
+ * ## factory
27
+ *
28
+ * The factory method creates a factory function that can be used to create new <%= nameProperCase %>Model instances.
29
+ *
30
+ <% if (singleton) { %>
31
+ * As this is a singleton model, the factory function accepts the model options as its argument.
32
+ *
33
+ * If a model with the same model type already exists, the factory function will return the existing model. The options will be ignored
34
+ * in this case and the existing model will be returned in its current state.
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * const model = <%= nameProperCase %>.factory({
39
+ * // Add option data
40
+ * });
41
+ * ```
42
+ <% } else { %>
43
+ * The factory function is a curried function that takes the model id as the first argument and the options as the second argument.
44
+ *
45
+ * If a model with the specified id already exists, the factory function will return the existing model. The options will be ignored
46
+ * in this case and the existing model will be returned in its current state.
47
+ *
48
+ * @example
49
+ * ```typescript
50
+ * const model = <%= nameProperCase %>.factory("<%= nameCamelCase %>Id")({
51
+ * // Add option data
52
+ * });
53
+ * ```
54
+ <% } %>
55
+
56
+ *
57
+ * ## predicate
58
+ *
59
+ * [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.
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ *
64
+ * const model: IKosDataModel = ...; // some model
65
+ *
66
+ * if (<%= nameProperCase %>.predicate(model)) {
67
+ * // if the function evaluates to true, the model is narrowed down to <%= nameProperCase %>Model
68
+ * // and the compiler will know that the model has the <%= nameProperCase %>Model interface
69
+ * model.updateAvailability(false);
70
+ * }
71
+ * ```
72
+ *
73
+ * ## registration
74
+ *
75
+ * The registration property is an object that can be used to simplify registration of the model with the model registry. The registration object
76
+ * can be spread into the model registration and provides all of the required information to register the model implementation class against the model type.
77
+ *
78
+ *
79
+ * @example
80
+ *
81
+ * In an application registration file you can declare the model registration as follows:
82
+ *
83
+ * **registration.ts**
84
+ * ```typescript
85
+ * import { <%= nameProperCase %> } from "<%= importPath %>";
86
+ * ...
87
+ * import { ExtensionManager, IKosRegistry } from "@kosdev-code/kos-ui-sdk";
88
+ * export const kosModels: IKosRegistry["models"] = {
89
+ * ...<%= nameProperCase %>.registration,
90
+ * };
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
+ });
111
+
112
+
113
+ <%= nameProperCase %>.addRelatedModel(<%= modelNameProperCase %>);
@@ -0,0 +1,6 @@
1
+ export { <%= nameProperCase %> } from "./<%= nameDashCase %>-registration";
2
+ export { <%= modelNameProperCase %> } from "./<%= modelNameDashCase %>-registration";
3
+ export type * from "./types";
4
+ export type { <%= modelNameProperCase %>Model } from "./<%= modelNameDashCase %>-model";
5
+ export type { <%= nameProperCase %>Model } from "./<%= nameDashCase %>-model";
6
+ <% if (dataServices) { %>export * as <%= modelNameProperCase %>Services from "./services";<% } %>
@@ -0,0 +1,24 @@
1
+
2
+ <% if (parentAware) { %>import type {KosParentAware} from "@kosdev-code/kos-ui-sdk";<% } %>
3
+
4
+
5
+ // --------------- <%= modelNameProperCase %> ---------------
6
+
7
+ export interface <%= modelNameProperCase %>Options <% if (parentAware) { %>extends KosParentAware<% } %> {
8
+
9
+ }
10
+
11
+
12
+
13
+
14
+ // --------------- <%= nameProperCase %> ---------------
15
+ export interface <%= nameProperCase %>Options {
16
+
17
+ }
18
+
19
+
20
+
21
+
22
+
23
+
24
+
@@ -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<ElementType<<%= nameProperCase %>ClientResponse>>;
20
+
21
+ /**
22
+ * @category Service
23
+ * Retrieves the initial list of <%= name %> data.
24
+ */
25
+ export const get<%= nameProperCase %> = async (): Promise<ServiceResponse<<%= nameProperCase %>ClientResponse>> => {
26
+ log.debug('sending GET for <%= name %>');
27
+ return await API.get(SERVICE_PATH);
28
+ };
@@ -0,0 +1 @@
1
+ export * from "./<%= modelNameDashCase %>-services";
@@ -0,0 +1,5 @@
1
+ import { Tree } from "@nx/devkit";
2
+ import { KosModelGeneratorSchema } from "./schema";
3
+ export declare function kosContainerModelGenerator(tree: Tree, options: KosModelGeneratorSchema): Promise<void>;
4
+ export default kosContainerModelGenerator;
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-container-model/generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAA2C,MAAM,YAAY,CAAC;AAW3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEnD,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,uBAAuB,iBA4GjC;AAED,eAAe,0BAA0B,CAAC"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.kosContainerModelGenerator = 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 normalize_options_1 = require("./lib/normalize-options");
9
+ const ts_visitor_1 = require("./lib/utils/ts-visitor");
10
+ async function kosContainerModelGenerator(tree, options) {
11
+ logger_1.logger.info((0, project_utils_1.getCurrentDirectoryName)(process.cwd()) || "");
12
+ logger_1.logger.info(`generator exectued from ${process.cwd()}`);
13
+ const currentProject = await (0, project_utils_1.getProject)(tree, process.cwd());
14
+ const modelProjectName = options.modelProject || currentProject?.name;
15
+ if (!modelProjectName) {
16
+ 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.");
17
+ }
18
+ const modelName = options.modelName || (0, project_utils_1.getCurrentDirectoryName)(process.cwd());
19
+ if (!modelName) {
20
+ throw new Error("No model name found. Please specify a model name with --name or run this command in a directory with the model name as the last part of the path.");
21
+ }
22
+ options.modelName = modelName;
23
+ options.name = `${modelName}-container`;
24
+ const normalized = (0, normalize_options_1.normalizeOptions)(tree, options);
25
+ const projectConfiguration = (0, devkit_1.readProjectConfiguration)(tree, normalized.modelProject);
26
+ (0, project_utils_1.addKosModelConfiguration)({
27
+ tree,
28
+ modelName: normalized.nameDashCase,
29
+ projectName: projectConfiguration.name,
30
+ projectRoot: projectConfiguration.root,
31
+ singleton: !!options.singleton,
32
+ container: true,
33
+ });
34
+ const kosConfig = (0, project_utils_1.getKosProjectConfiguration)(tree, projectConfiguration.name);
35
+ const modelLocation = kosConfig?.generator?.defaults?.model?.folder || "";
36
+ const internal = !!kosConfig?.generator?.internal;
37
+ options.modelDirectory = options.modelDirectory || modelLocation;
38
+ const projectRoot = projectConfiguration.sourceRoot;
39
+ if (projectRoot) {
40
+ logger_1.logger.info(`Generating model ${normalized.nameDashCase} in ${projectRoot}`);
41
+ (0, devkit_1.generateFiles)(tree, path.join(__dirname, "files", "model"), path.join(projectRoot, options.modelDirectory || "", normalized.modelNameDashCase), { ...normalized, internal });
42
+ if (options.dataServices) {
43
+ logger_1.logger.info(`[Container] - Generating data services for ${normalized.modelNameDashCase}`);
44
+ (0, devkit_1.generateFiles)(tree, path.join(__dirname, "files", "services"), path.join(projectRoot, options.modelDirectory, normalized.modelNameDashCase, "services"), { ...normalized, internal });
45
+ }
46
+ const modelIndex = path.join(projectRoot, "index.ts");
47
+ const modelPath = normalized.modelDirectory
48
+ ? `${normalized.modelDirectory}/${normalized.modelNameDashCase}`
49
+ : normalized.modelNameDashCase;
50
+ (0, ts_visitor_1.updateModelIndex)(modelIndex, modelPath, tree);
51
+ // const pkgJsonPath = path.join(projectConfiguration.root, "package.json");
52
+ // const importPath = readJson(tree, pkgJsonPath).name;
53
+ // if (!normalized.skipRegistration) {
54
+ // const registrationProject = readProjectConfiguration(
55
+ // tree,
56
+ // normalized.registrationProject
57
+ // );
58
+ // const registrationPath = path.join(
59
+ // registrationProject.sourceRoot!,
60
+ // "registration.ts"
61
+ // );
62
+ // updateModelRegistration(
63
+ // registrationPath,
64
+ // normalized.nameProperCase,
65
+ // importPath,
66
+ // tree
67
+ // );
68
+ // }
69
+ // await formatFiles(tree);
70
+ }
71
+ }
72
+ exports.kosContainerModelGenerator = kosContainerModelGenerator;
73
+ exports.default = kosContainerModelGenerator;
74
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/kos-nx-plugin/src/generators/kos-container-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-container-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,CAyBrC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeOptions = void 0;
4
+ const devkit_1 = require("@nx/devkit");
5
+ const path = require("path");
6
+ const normalize_value_1 = require("./normalize-value");
7
+ function normalizeOptions(tree, options) {
8
+ const normalizedValues = (0, normalize_value_1.normalizeAllValues)({
9
+ name: options.name,
10
+ modelName: options.modelName,
11
+ });
12
+ const modelProject = options.modelProject;
13
+ const registrationProject = options.registrationProject || "";
14
+ const useModelProject = modelProject !== "__NONE__";
15
+ const modelProjectConfiguration = useModelProject
16
+ ? (0, devkit_1.readProjectConfiguration)(tree, options.modelProject)
17
+ : undefined;
18
+ const pkgJsonPath = modelProjectConfiguration
19
+ ? path.join(modelProjectConfiguration.root, "package.json")
20
+ : "";
21
+ const importPath = pkgJsonPath ? (0, devkit_1.readJson)(tree, pkgJsonPath).name : "";
22
+ return {
23
+ ...options,
24
+ ...normalizedValues,
25
+ modelProject,
26
+ importPath,
27
+ registrationProject,
28
+ template: "",
29
+ };
30
+ }
31
+ exports.normalizeOptions = normalizeOptions;
32
+ //# 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-container-model/lib/normalize-options.ts"],"names":[],"mappings":";;;AAAA,uCAAsE;AAMtE,6BAA8B;AAC9B,uDAAuD;AAEvD,SAAgB,gBAAgB,CAC9B,IAAU,EACV,OAAU;IAEV,MAAM,gBAAgB,GAAG,IAAA,oCAAkB,EAAC;QAC1C,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;IAEH,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;AA5BD,4CA4BC"}
@@ -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-container-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"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeAllValues = void 0;
4
+ const name_utils_1 = require("./utils/name-utils");
5
+ const normalizeValue = (optionsName, value) => ({
6
+ [`${(0, name_utils_1.camelCase)(optionsName)}CamelCase`]: (0, name_utils_1.camelCase)(value),
7
+ [`${(0, name_utils_1.camelCase)(optionsName)}ConstantCase`]: (0, name_utils_1.constantCase)(value),
8
+ [`${(0, name_utils_1.camelCase)(optionsName)}DashCase`]: (0, name_utils_1.dashCase)(value),
9
+ [`${(0, name_utils_1.camelCase)(optionsName)}PascalCase`]: (0, name_utils_1.pascalCase)(value),
10
+ [`${(0, name_utils_1.camelCase)(optionsName)}ProperCase`]: (0, name_utils_1.properCase)(value),
11
+ [`${(0, name_utils_1.camelCase)(optionsName)}LowerCase`]: value.toLowerCase(),
12
+ [`${optionsName}`]: value,
13
+ });
14
+ const normalizeAllValues = (options) => {
15
+ let normalizedValues = {};
16
+ for (const key in options) {
17
+ if (Object.prototype.hasOwnProperty.call(options, key)) {
18
+ const element = options[key];
19
+ normalizedValues = {
20
+ ...normalizedValues,
21
+ ...normalizeValue(key, element),
22
+ };
23
+ }
24
+ }
25
+ return normalizedValues;
26
+ };
27
+ exports.normalizeAllValues = normalizeAllValues;
28
+ //# sourceMappingURL=normalize-value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-value.js","sourceRoot":"","sources":["../../../../../../../../packages/plugins/kos-nx-plugin/src/generators/kos-container-model/lib/normalize-value.ts"],"names":[],"mappings":";;;AAAA,mDAM4B;AAkB5B,MAAM,cAAc,GAAG,CACrB,WAAc,EACd,KAAa,EACyB,EAAE,CACxC,CAAC;IACC,CAAC,GAAG,IAAA,sBAAS,EAAC,WAAW,CAAC,WAAW,CAAC,EAAE,IAAA,sBAAS,EAAC,KAAK,CAAC;IACxD,CAAC,GAAG,IAAA,sBAAS,EAAC,WAAW,CAAC,cAAc,CAAC,EAAE,IAAA,yBAAY,EAAC,KAAK,CAAC;IAC9D,CAAC,GAAG,IAAA,sBAAS,EAAC,WAAW,CAAC,UAAU,CAAC,EAAE,IAAA,qBAAQ,EAAC,KAAK,CAAC;IACtD,CAAC,GAAG,IAAA,sBAAS,EAAC,WAAW,CAAC,YAAY,CAAC,EAAE,IAAA,uBAAU,EAAC,KAAK,CAAC;IAC1D,CAAC,GAAG,IAAA,sBAAS,EAAC,WAAW,CAAC,YAAY,CAAC,EAAE,IAAA,uBAAU,EAAC,KAAK,CAAC;IAC1D,CAAC,GAAG,IAAA,sBAAS,EAAC,WAAW,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE;IAC3D,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,KAAK;CACe,CAAA,CAAC;AAEtC,MAAM,kBAAkB,GAAG,CAChC,OAAU,EACc,EAAE;IAC1B,IAAI,gBAAgB,GAAG,EAA4B,CAAC;IACpD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;YACvD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7B,gBAAgB,GAAG;gBACjB,GAAG,gBAAgB;gBACnB,GAAG,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC;aAChC,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AAdW,QAAA,kBAAkB,sBAc7B"}
@@ -0,0 +1,6 @@
1
+ export declare function dashCase(input: string): string;
2
+ export declare function properCase(input: string): string;
3
+ export declare function camelCase(str: string): string;
4
+ export declare function pascalCase(input: string): string;
5
+ export declare function constantCase(input: string): string;
6
+ //# sourceMappingURL=name-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"name-utils.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/plugins/kos-nx-plugin/src/generators/kos-container-model/lib/utils/name-utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK9C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMhD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAuB7C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGhD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIlD"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.constantCase = exports.pascalCase = exports.camelCase = exports.properCase = exports.dashCase = void 0;
4
+ function dashCase(input) {
5
+ return input
6
+ .replace(/\s+/g, "-") // Replace whitespace with dashes
7
+ .replace(/([a-z])([A-Z])/g, "$1-$2") // Convert camelCase to dash-case
8
+ .toLowerCase(); // Convert to lowercase
9
+ }
10
+ exports.dashCase = dashCase;
11
+ function properCase(input) {
12
+ const words = input.toLowerCase().replaceAll("-", " ").split(" ");
13
+ for (let i = 0; i < words.length; i++) {
14
+ words[i] = words[i][0].toUpperCase() + words[i].slice(1);
15
+ }
16
+ return words.join("");
17
+ }
18
+ exports.properCase = properCase;
19
+ function camelCase(str) {
20
+ let result = "";
21
+ let capitalizeNext = false;
22
+ for (let i = 0; i < str.length; i++) {
23
+ const char = str[i];
24
+ // Check if the character is alphanumeric (or an underscore)
25
+ if (/[\w]/.test(char)) {
26
+ if (capitalizeNext) {
27
+ result += char.toUpperCase();
28
+ capitalizeNext = false;
29
+ }
30
+ else {
31
+ // If the character is already uppercase, leave it as is
32
+ result += char === char.toUpperCase() ? char : char.toLowerCase();
33
+ }
34
+ }
35
+ else {
36
+ // If a non-alphanumeric character is encountered, set the flag to capitalize the next valid character
37
+ capitalizeNext = true;
38
+ }
39
+ }
40
+ return result;
41
+ }
42
+ exports.camelCase = camelCase;
43
+ function pascalCase(input) {
44
+ const camelCaseString = camelCase(input);
45
+ return camelCaseString[0].toUpperCase() + camelCaseString.slice(1);
46
+ }
47
+ exports.pascalCase = pascalCase;
48
+ function constantCase(input) {
49
+ const words = input.toUpperCase().split(" ");
50
+ return words.join("_");
51
+ }
52
+ exports.constantCase = constantCase;
53
+ //# sourceMappingURL=name-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"name-utils.js","sourceRoot":"","sources":["../../../../../../../../../packages/plugins/kos-nx-plugin/src/generators/kos-container-model/lib/utils/name-utils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,QAAQ,CAAC,KAAa;IACpC,OAAO,KAAK;SACT,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,iCAAiC;SACtD,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,iCAAiC;SACrE,WAAW,EAAE,CAAC,CAAC,uBAAuB;AAC3C,CAAC;AALD,4BAKC;AAED,SAAgB,UAAU,CAAC,KAAa;IACtC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAND,gCAMC;AAED,SAAgB,SAAS,CAAC,GAAW;IACnC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAEpB,4DAA4D;QAC5D,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC7B,cAAc,GAAG,KAAK,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,wDAAwD;gBACxD,MAAM,IAAI,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,sGAAsG;YACtG,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAvBD,8BAuBC;AAED,SAAgB,UAAU,CAAC,KAAa;IACtC,MAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AAHD,gCAGC;AAED,SAAgB,YAAY,CAAC,KAAa;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE7C,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAJD,oCAIC"}
@@ -0,0 +1,8 @@
1
+ import { Tree } from "@nx/devkit";
2
+ import * as ts from "typescript";
3
+ export declare function visitAllFiles(tree: Tree, path: string, callback: (filePath: string) => void): void;
4
+ export declare const updateRegistrationImport: (modelName: string, modelImportPath: string) => ts.TransformerFactory<ts.SourceFile>;
5
+ export declare const addKosModelRegistration: (modelName: string, modelImportPath: string) => ts.TransformerFactory<ts.SourceFile>;
6
+ export declare function updateModelRegistration(registrationPath: string, modelName: string, modelImportPath: string, tree: Tree): void;
7
+ export declare function updateModelIndex(modelIndex: string, modelPath: string, tree: Tree): void;
8
+ //# sourceMappingURL=ts-visitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ts-visitor.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/plugins/kos-nx-plugin/src/generators/kos-container-model/lib/utils/ts-visitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGjC,wBAGS,aAAa,CACpB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,QAUrC;AAkDD,eAAO,MAAM,wBAAwB,EAAE,CACrC,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,KACpB,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,UAAU,CAiBrC,CAAC;AAEJ,eAAO,MAAM,uBAAuB,EAAE,CACpC,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,KACpB,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,UAAU,CAoCrC,CAAC;AAEJ,wBAAgB,uBAAuB,CACrC,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,IAAI,QAcX;AACD,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,IAAI,QA4BX"}