@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,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-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(input: 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-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,KAAK,EAAE,MAAM,GAAG,MAAM,CAc/C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGhD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIlD"}
@@ -0,0 +1,42 @@
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(input) {
20
+ const words = input.split(/-|\s+/);
21
+ // Lowercase the first character of the first word
22
+ if (words.length > 0 && words[0].length > 0) {
23
+ words[0] = words[0].charAt(0).toLowerCase() + words[0].slice(1);
24
+ }
25
+ // Uppercase the first character of the subsequent words
26
+ for (let i = 1; i < words.length; i++) {
27
+ words[i] = words[i].charAt(0).toUpperCase() + words[i].slice(1);
28
+ }
29
+ return words.join("");
30
+ }
31
+ exports.camelCase = camelCase;
32
+ function pascalCase(input) {
33
+ const camelCaseString = camelCase(input);
34
+ return camelCaseString[0].toUpperCase() + camelCaseString.slice(1);
35
+ }
36
+ exports.pascalCase = pascalCase;
37
+ function constantCase(input) {
38
+ const words = input.toUpperCase().split(" ");
39
+ return words.join("_");
40
+ }
41
+ exports.constantCase = constantCase;
42
+ //# 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-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,KAAa;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEnC,kDAAkD;IAClD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,wDAAwD;IACxD,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,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAdD,8BAcC;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-model/lib/utils/ts-visitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAiB,MAAM,YAAY,CAAC;AAEjD,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,QAeX;AACD,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,IAAI,QA6BX"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateModelIndex = exports.updateModelRegistration = exports.addKosModelRegistration = exports.updateRegistrationImport = exports.visitAllFiles = void 0;
4
+ const devkit_1 = require("@nx/devkit");
5
+ const path = require("path");
6
+ const ts = require("typescript");
7
+ const logger_1 = require("../../../../utils/logger");
8
+ function visitAllFiles(tree, path, callback) {
9
+ tree.children(path).forEach((fileName) => {
10
+ const filePath = `${path}/${fileName}`;
11
+ if (!tree.isFile(filePath)) {
12
+ visitAllFiles(tree, filePath, callback);
13
+ }
14
+ else {
15
+ callback(filePath);
16
+ }
17
+ });
18
+ }
19
+ exports.visitAllFiles = visitAllFiles;
20
+ function findByName(node, name, parent) {
21
+ let result = undefined;
22
+ if (ts.isIdentifier(node) && node.text === name) {
23
+ result = parent;
24
+ }
25
+ else {
26
+ node.forEachChild((child) => {
27
+ if (!result) {
28
+ result = findByName(child, name, node);
29
+ }
30
+ });
31
+ }
32
+ return result;
33
+ }
34
+ function findByType(node, type) {
35
+ let result = undefined;
36
+ if (node.kind === type) {
37
+ result = node;
38
+ }
39
+ else {
40
+ node.forEachChild((child) => {
41
+ if (!result) {
42
+ result = findByType(child, type);
43
+ }
44
+ });
45
+ }
46
+ return result;
47
+ }
48
+ const createImportStatement = (modelName, modelImportPath) => {
49
+ const importStatement = ts.factory.createImportDeclaration(undefined, ts.factory.createImportClause(false, undefined, ts.factory.createNamedImports([
50
+ ts.factory.createImportSpecifier(false, undefined, ts.factory.createIdentifier(modelName)),
51
+ ])), ts.factory.createStringLiteral(modelImportPath));
52
+ return importStatement;
53
+ };
54
+ const updateRegistrationImport = (modelName, modelImportPath) => (context) => (rootNode) => {
55
+ function visit(node) {
56
+ const { factory } = context;
57
+ node = ts.visitEachChild(node, visit, context);
58
+ if (node === rootNode) {
59
+ const updated = factory.updateSourceFile(node, [
60
+ createImportStatement(modelName, modelImportPath),
61
+ ...node.statements,
62
+ ]);
63
+ return updated;
64
+ }
65
+ return node;
66
+ }
67
+ return ts.visitNode(rootNode, visit);
68
+ };
69
+ exports.updateRegistrationImport = updateRegistrationImport;
70
+ const addKosModelRegistration = (modelName) => (context) => (rootNode) => {
71
+ const spreadAssignment = context.factory.createSpreadAssignment(context.factory.createPropertyAccessExpression(context.factory.createIdentifier(modelName), context.factory.createIdentifier("registration")));
72
+ const coreModelsVariable = findByName(rootNode, "kosModels");
73
+ if (!coreModelsVariable) {
74
+ logger_1.logger.log("coreModelsVariable not found");
75
+ return rootNode;
76
+ }
77
+ const coreModelsObjectLiteral = findByType(coreModelsVariable, ts.SyntaxKind.ObjectLiteralExpression);
78
+ function visit(node) {
79
+ const { factory } = context;
80
+ node = ts.visitEachChild(node, visit, context);
81
+ if (node === coreModelsObjectLiteral) {
82
+ const updated = factory.updateObjectLiteralExpression(coreModelsObjectLiteral, [...coreModelsObjectLiteral.properties, spreadAssignment]);
83
+ return updated;
84
+ }
85
+ return node;
86
+ }
87
+ return ts.visitNode(rootNode, visit);
88
+ };
89
+ exports.addKosModelRegistration = addKosModelRegistration;
90
+ function updateModelRegistration(registrationPath, modelName, modelImportPath, tree) {
91
+ logger_1.logger.log(`Updating registration: ${registrationPath}`);
92
+ const fullPath = path.join(devkit_1.workspaceRoot, registrationPath);
93
+ const program = ts.createProgram([fullPath], {});
94
+ const sourceFile = program.getSourceFile(fullPath);
95
+ const result = ts.transform(sourceFile, [
96
+ (0, exports.updateRegistrationImport)(modelName, modelImportPath),
97
+ (0, exports.addKosModelRegistration)(modelName, modelImportPath),
98
+ ]);
99
+ const tsPrinter = ts.createPrinter({ newLine: ts.NewLineKind.LineFeed });
100
+ const newContents = tsPrinter.printFile(result.transformed[0]); // Prints the
101
+ tree.write(registrationPath, newContents);
102
+ }
103
+ exports.updateModelRegistration = updateModelRegistration;
104
+ function updateModelIndex(modelIndex, modelPath, tree) {
105
+ if (modelIndex) {
106
+ logger_1.logger.info(`Updating ${modelIndex}`);
107
+ logger_1.logger.info(`Adding export for ${modelPath}`);
108
+ const fullPath = path.join(devkit_1.workspaceRoot, modelIndex);
109
+ const program = ts.createProgram([fullPath], {});
110
+ const sourceFile = program.getSourceFile(fullPath);
111
+ const exportDeclaration = ts.factory.createExportDeclaration(
112
+ /* decorators */ undefined,
113
+ /* modifiers */ false, undefined, ts.factory.createStringLiteral(`./${modelPath}`) // Module specifier
114
+ );
115
+ // Update the source file with the export declaration
116
+ const updatedSourceFile = ts.factory.updateSourceFile(sourceFile, [
117
+ ...sourceFile.statements,
118
+ exportDeclaration,
119
+ ]);
120
+ const tsPrinter = ts.createPrinter({ newLine: ts.NewLineKind.LineFeed });
121
+ const newContents = tsPrinter.printFile(updatedSourceFile); // Prints the
122
+ tree.write(modelIndex, newContents);
123
+ }
124
+ }
125
+ exports.updateModelIndex = updateModelIndex;
126
+ //# sourceMappingURL=ts-visitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ts-visitor.js","sourceRoot":"","sources":["../../../../../../../../../packages/plugins/kos-nx-plugin/src/generators/kos-model/lib/utils/ts-visitor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ export interface KosBaseGeneratorSchema {
2
+ name: string;
3
+ modelProject: string;
4
+ registrationProject?: string;
5
+ skipRegistration?: boolean;
6
+ modelDirectory: string;
7
+ companion?: boolean;
8
+ companionModel?: string;
9
+ companionModelProject?: string;
10
+ }
11
+
12
+ export interface KosModelGeneratorSchema extends KosBaseGeneratorSchema {
13
+ singleton?: boolean;
14
+ isContainerSingleton?: boolean;
15
+ unitTests?: boolean;
16
+ dataServices?: boolean;
17
+ container?: boolean;
18
+ parentAware?: boolean;
19
+ }
20
+
21
+ export interface NormalizedKosBaseGeneratorSchema<
22
+ T extends KosBaseGeneratorSchema
23
+ > extends T {
24
+ nameDashCase: string;
25
+ nameProperCase: string;
26
+ nameCamelCase: string;
27
+ namePascalCase: string;
28
+ nameConstantCase: string;
29
+ nameLowerCase: string;
30
+ companionModelDashCase: string;
31
+ companionModelProperCase: string;
32
+ companionModelCamelCase: string;
33
+ companionModelPascalCase: string;
34
+ companionModelConstantCase: string;
35
+ companionModelLowerCase: string;
36
+ registrationProject: string;
37
+ importPath: string;
38
+ template: string;
39
+ }
40
+ export type NormalizedKosModelGeneratorSchema =
41
+ NormalizedKosBaseGeneratorSchema<KosModelGeneratorSchema>;
@@ -0,0 +1,91 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "KosModel",
4
+ "title": "",
5
+ "type": "object",
6
+ "properties": {
7
+ "name": {
8
+ "type": "string",
9
+ "description": "model name",
10
+ "$default": {
11
+ "$source": "argv",
12
+ "index": 0
13
+ },
14
+ "x-prompt": "What name would you like to use?"
15
+ },
16
+ "modelProject": {
17
+ "type": "string",
18
+ "description": "The project where the model will be located.",
19
+ "x-prompt": "Which project will this model be located in?",
20
+ "x-dropdown": "projects"
21
+ },
22
+ "registrationProject": {
23
+ "type": "string",
24
+ "description": "The project where the model will be registered. Defaults to the appProject if not specified",
25
+ "x-prompt": "Which project will this model put UI components?",
26
+ "x-dropdown": "projects"
27
+ },
28
+ "container": {
29
+ "type": "boolean",
30
+ "description": "Should a container model be created for this model?",
31
+ "x-prompt": "Should a container model be created for this model?",
32
+ "default": false
33
+ },
34
+ "parentAware": {
35
+ "type": "boolean",
36
+ "description": "Should the model be aware of its parent container?",
37
+ "x-prompt": "Should the model be aware of its parent container?",
38
+ "default": false
39
+ },
40
+ "isContainerSingleton": {
41
+ "type": "boolean",
42
+ "description": "Should a container model be created as a singleton?",
43
+ "x-prompt": "Should a container model be created as a singleton?",
44
+ "default": true
45
+ },
46
+ "modelDirectory": {
47
+ "type": "string",
48
+ "description": "the directory withing the model project to create the model",
49
+ "default": ""
50
+ },
51
+ "singleton": {
52
+ "type": "boolean",
53
+ "default": false,
54
+ "description": "Is there a need for more than one instance of this model type"
55
+ },
56
+ "unitTests": {
57
+ "type": "boolean",
58
+ "default": false,
59
+ "description": "Generate unit tests for this model?"
60
+ },
61
+ "dataServices": {
62
+ "type": "boolean",
63
+ "default": false,
64
+ "description": "Generate data services for this model?"
65
+ },
66
+ "skipRegistration": {
67
+ "type": "boolean",
68
+ "default": false,
69
+ "description": "skip automated registration of the model?"
70
+ },
71
+ "companion": {
72
+ "type": "boolean",
73
+ "required": false,
74
+ "default": false,
75
+ "description": "skip automated registration of the model?"
76
+ },
77
+ "companionParentModel": {
78
+ "type": "string",
79
+ "required": false,
80
+ "description": "the name of the model that this model will be a companion to"
81
+ },
82
+ "companionModelProject": {
83
+ "type": "string",
84
+ "required": false,
85
+ "description": "The project where the companion parent is currently located",
86
+ "x-prompt": "Which project contains the companion parent?",
87
+ "x-dropdown": "projects"
88
+ }
89
+ },
90
+ "required": ["name"]
91
+ }
@@ -0,0 +1,7 @@
1
+ KOS_ALLOW_ANONYMOUS=true
2
+ KOS_MOCK_WS=true
3
+ KOS_LOG_WS=false
4
+ KOS_USE_FOS=false
5
+ KOS_FOS_PORT=9854
6
+ KOS_PORT=8081
7
+ KOS_USE_MOCK=false
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "<%= name %>",
3
+ "type": "ddk.ncui.plugin",
4
+ "version": "0.1.0",
5
+ "kosdev": {
6
+ "ddk": {
7
+ "ncui": {
8
+ "plugin": {
9
+ "id": "<%= namePascalCase %>",
10
+ "contributes": {
11
+ "cui": [],
12
+ "cuiView": [],
13
+ "utilities": [],
14
+ "utilityView": [],
15
+ "views": {
16
+ "ddk.ncui.settings.config": [
17
+
18
+ ],
19
+ "ddk.ncui.settings.tabView": []
20
+ }
21
+ },
22
+ "extensions": []
23
+ }
24
+ }
25
+ }
26
+ },
27
+ "kos": {
28
+ "localization": {
29
+ "defaultLocale": "en",
30
+ "namespaces": {}
31
+ }
32
+ },
33
+ "generator": {
34
+ "defaults": {
35
+ "component": {
36
+ "folder": "app"
37
+ }
38
+ }
39
+ }
40
+ }
@@ -0,0 +1,45 @@
1
+ import type { StorybookConfig } from "@storybook/react-webpack5";
2
+ import webpack from "webpack";
3
+
4
+ import * as dotenv from "dotenv";
5
+
6
+ dotenv.config({
7
+ path: ".env",
8
+ });
9
+
10
+ function getKosEnv() {
11
+ const kosKeys = Object.keys(process.env).filter((key) =>
12
+ key.startsWith("KOS_")
13
+ );
14
+ return kosKeys;
15
+ }
16
+
17
+ const config: StorybookConfig = {
18
+ stories: ["../src/app/**/*.stories.@(js|jsx|ts|tsx|mdx)"],
19
+ addons: ["@storybook/addon-essentials", "@nx/react/plugins/storybook"],
20
+ docs: {
21
+ autodocs: true,
22
+ defaultName: "Documentation",
23
+ },
24
+ framework: {
25
+ name: "@storybook/react-webpack5",
26
+ options: {},
27
+ },
28
+ webpackFinal: async (config: any) => {
29
+ const finalConfig = {
30
+ ...config,
31
+ plugins: [
32
+ ...config.plugins,
33
+ new webpack.EnvironmentPlugin(["NODE_ENV", ...getKosEnv()]),
34
+ ],
35
+ };
36
+
37
+ return finalConfig;
38
+ },
39
+ };
40
+
41
+ export default config;
42
+
43
+ // To customize your webpack configuration you can use the webpackFinal field.
44
+ // Check https://storybook.js.org/docs/react/builders/webpack#extending-storybooks-webpack-config
45
+ // and https://nx.dev/recipes/storybook/custom-builder-configs
@@ -0,0 +1,82 @@
1
+ import "reflect-metadata";
2
+ import { Global } from "@emotion/react";
3
+ import { Preview, Meta } from "@storybook/react";
4
+ import { getStyles } from "@kosdev-code/kos-ddk-styles";
5
+ import {
6
+ ErrorBoundaryWithFallback,
7
+ KosTranslationProvider,
8
+ LoadingMessage,
9
+ } from "@kosdev-code/kos-ui-sdk";
10
+ import { DispenserComponents } from "@kosdev-code/kos-dispense-sdk";
11
+ import { ElementType, Suspense } from "react";
12
+ import { MemoryRouter } from "react-router";
13
+ import { KosCoreContextProvider } from "./registration";
14
+ import {
15
+ ApplicationProvider,
16
+ ApplicationComponentConfigurationProvider,
17
+ } from "@kosdev-code/kos-ddk-model-components";
18
+
19
+ const { AssemblyProvider } = DispenserComponents;
20
+
21
+ export const globalTypes = {
22
+ mode: {
23
+ description: "DDK Render Mode",
24
+ defaultValue: "standard",
25
+ toolbar: {
26
+ title: "Render Mode",
27
+ icon: "circlehollow",
28
+ items: ["standard", "compact"],
29
+ dynamicTitle: true,
30
+ },
31
+ },
32
+ };
33
+
34
+ export const decorators = [
35
+ (Story: ElementType, context: Meta) => (
36
+ <MemoryRouter initialEntries={["/"]}>
37
+ <Global styles={getStyles(context.globals.mode)} />
38
+ <ErrorBoundaryWithFallback>
39
+ <Suspense fallback={<LoadingMessage />}>
40
+ <KosCoreContextProvider>
41
+ <KosTranslationProvider
42
+ appContext={["app/system", "app/kosdev.ddk"]}
43
+ locale="en"
44
+ >
45
+ <AssemblyProvider>
46
+ <ApplicationProvider>
47
+ <ApplicationComponentConfigurationProvider
48
+ modalModeOverride={
49
+ context.globals.mode === "compact"
50
+ ? "fullscreen"
51
+ : undefined
52
+ }
53
+ componentModeOverride={context.globals.mode}
54
+ >
55
+ <Suspense>
56
+ <Story />
57
+ </Suspense>
58
+ </ApplicationComponentConfigurationProvider>
59
+ </ApplicationProvider>
60
+ </AssemblyProvider>
61
+ </KosTranslationProvider>
62
+ </KosCoreContextProvider>
63
+ </Suspense>
64
+ </ErrorBoundaryWithFallback>
65
+ </MemoryRouter>
66
+ ),
67
+ ];
68
+
69
+ const preview: Preview = {
70
+ parameters: {
71
+ backgrounds: {
72
+ values: [
73
+ {
74
+ name: "dark",
75
+ value: "var(--ncui-generic-color-grey-70)",
76
+ },
77
+ ],
78
+ },
79
+ },
80
+ };
81
+
82
+ export default preview;
@@ -0,0 +1,40 @@
1
+ import { pumpTypeFactory } from "@kosdev-code/kos-ddk-app-common";
2
+ import {
3
+ Application,
4
+ assemblyDataMapper,
5
+ DDKModels,
6
+ holderDataMapper,
7
+ ingredientDataMapper,
8
+ ingredientIndexExtension,
9
+ FcmPump,
10
+ LfcvPump,
11
+ } from "@kosdev-code/kos-ddk-models";
12
+ import {
13
+ KosExtensionManager,
14
+ KosModelRegistry,
15
+ Pump,
16
+ } from "@kosdev-code/kos-dispense-sdk";
17
+ import { initKosProvider, registerLegacyModel } from "@kosdev-code/kos-ui-sdk";
18
+
19
+ KosModelRegistry.dispense
20
+ .models()
21
+ .model(FcmPump)
22
+ .model(LfcvPump)
23
+ .companion(Pump.type, pumpTypeFactory)
24
+ .preload(Application.type);
25
+
26
+ Object.keys(DDKModels).forEach((key) => {
27
+ const model = DDKModels[key];
28
+ registerLegacyModel(KosModelRegistry)(key, model);
29
+ });
30
+
31
+ const ext = new KosExtensionManager();
32
+ ext.dispense
33
+ .registerIngredientIndex(ingredientIndexExtension)
34
+ .registerAssemblyDataMapper(assemblyDataMapper)
35
+ .registerHolderDataMapper(holderDataMapper)
36
+ .registerIngredientDataMapper(ingredientDataMapper);
37
+
38
+ const { KosCoreContextProvider } = initKosProvider();
39
+
40
+ export { KosCoreContextProvider };
@@ -0,0 +1,15 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title><%= name %></title>
6
+ <base href="./" />
7
+
8
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
9
+ <link rel="icon" type="image/x-icon" href="/favicon.ico" />
10
+ </head>
11
+ <body>
12
+ <div id="root"></div>
13
+ <script type="module" src="/src/main.tsx"></script>
14
+ </body>
15
+ </html>