@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,270 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.kosComponentGenerator = void 0;
4
+ const devkit_1 = require("@nx/devkit");
5
+ const path = require("path");
6
+ const project_utils_1 = require("../../utils/project-utils");
7
+ const normalize_options_1 = require("../kos-model/lib/normalize-options");
8
+ const PLUGIN_CUI = "cui";
9
+ const PLUGIN_UTILITY = "utility";
10
+ const PLUGIN_TROUBLE_ACTION = "troubleAction";
11
+ const PLUGIN_SETUP = "setup";
12
+ const PLUGIN_SETTING = "setting";
13
+ const PLUGIN_NAV = "nav";
14
+ const contributionMap = {
15
+ [PLUGIN_SETUP]: "setup",
16
+ [PLUGIN_CUI]: "cui",
17
+ [PLUGIN_UTILITY]: "utility",
18
+ [PLUGIN_SETTING]: "setting",
19
+ [PLUGIN_NAV]: "nav",
20
+ [PLUGIN_TROUBLE_ACTION]: "trouble-action",
21
+ };
22
+ async function kosComponentGenerator(tree, options) {
23
+ const normalized = (0, normalize_options_1.normalizeOptions)(tree, {
24
+ ...options,
25
+ modelProject: "__NONE__",
26
+ });
27
+ const projectConfiguration = (0, devkit_1.readProjectConfiguration)(tree, normalized.appProject);
28
+ const kosConfig = (0, project_utils_1.getKosProjectConfiguration)(tree, projectConfiguration.name);
29
+ const componentLocation = kosConfig?.generator?.defaults?.component?.folder || "";
30
+ options.appDirectory = options.appDirectory || componentLocation;
31
+ options.type = contributionMap[options.pluginType || ""] || options.type;
32
+ const projectRoot = projectConfiguration.sourceRoot;
33
+ const isCuiConfig = options.pluginType === "cui";
34
+ const isUtilityConfig = options.pluginType === "utility";
35
+ const isSetupConfig = options.pluginType === "setup";
36
+ const isSettingConfig = options.pluginType === "setting";
37
+ const isTroubleActionConfig = options.pluginType === "troubleAction";
38
+ const isNav = options.pluginType === "nav";
39
+ const requiresLocalization = isCuiConfig ||
40
+ isUtilityConfig ||
41
+ isSetupConfig ||
42
+ isSettingConfig ||
43
+ isNav ||
44
+ isTroubleActionConfig;
45
+ const sourcePath = contributionMap[options.pluginType || ""] ?? "files";
46
+ if (projectRoot) {
47
+ (0, devkit_1.generateFiles)(tree, path.join(__dirname, sourcePath), path.join(projectRoot, options.appDirectory, options.type, normalized.nameDashCase), normalized);
48
+ if (options.useEmotionCss) {
49
+ const cssPath = path.join(projectRoot, options.appDirectory, options.type, normalized.nameDashCase, `${normalized.nameDashCase}.css`);
50
+ tree.delete(cssPath);
51
+ }
52
+ if (options.pluginType) {
53
+ const kosConfigPath = path.join(projectConfiguration.root, ".kos.json");
54
+ const kosConfig = {
55
+ cui: [],
56
+ };
57
+ const tabViewConfig = [];
58
+ const utilityViewConfig = {
59
+ utilities: [],
60
+ };
61
+ const troubleActionConfig = {
62
+ troubleActions: [],
63
+ };
64
+ const setupViewConfig = {
65
+ setupStep: [],
66
+ };
67
+ const settingViewConfig = {
68
+ settings: [],
69
+ };
70
+ const navViewConfig = {
71
+ navViews: [],
72
+ };
73
+ const experiences = {};
74
+ const compPath = path.join(options.appDirectory, options.type, normalized.nameDashCase, `${normalized.nameDashCase}.tsx`);
75
+ if (isCuiConfig) {
76
+ const configPrefix = `${normalized.appProject}.${normalized.nameCamelCase}`;
77
+ const experienceId = `${configPrefix}.cui.experience`;
78
+ kosConfig.cui = [
79
+ {
80
+ id: `${configPrefix}`,
81
+ title: `${configPrefix}.cui.title`,
82
+ namespace: normalized.appProject,
83
+ experienceId,
84
+ },
85
+ ];
86
+ experiences[experienceId] = {
87
+ id: experienceId,
88
+ component: normalized.namePascalCase,
89
+ location: `./src/${compPath}`,
90
+ };
91
+ }
92
+ else if (isUtilityConfig) {
93
+ const configPrefix = `${normalized.appProject}.${normalized.nameCamelCase}`;
94
+ const experienceId = `${configPrefix}.util.experience`;
95
+ utilityViewConfig.utilities = [
96
+ {
97
+ id: `${configPrefix}.util`,
98
+ title: `${configPrefix}.utility.title`,
99
+ namespace: normalized.appProject,
100
+ utilDescriptor: normalized.nameCamelCase,
101
+ experienceId,
102
+ },
103
+ ];
104
+ experiences[experienceId] = {
105
+ id: experienceId,
106
+ component: normalized.namePascalCase,
107
+ location: `./src/${compPath}`,
108
+ };
109
+ }
110
+ else if (isTroubleActionConfig) {
111
+ const configPrefix = `${normalized.appProject}.${normalized.nameCamelCase}`;
112
+ const experienceId = `${configPrefix}.troubleAction.experience`;
113
+ troubleActionConfig.troubleActions = [
114
+ {
115
+ id: `${configPrefix}.troubleAction`,
116
+ title: `${configPrefix}.troubleAction.title`,
117
+ namespace: normalized.appProject,
118
+ troubleType: normalized.nameCamelCase,
119
+ experienceId,
120
+ },
121
+ ];
122
+ experiences[experienceId] = {
123
+ id: experienceId,
124
+ component: normalized.namePascalCase,
125
+ location: `./src/${compPath}`,
126
+ };
127
+ }
128
+ else if (isSetupConfig) {
129
+ const configPrefix = `${normalized.appProject}.${normalized.nameCamelCase}`;
130
+ const experienceId = `${configPrefix}.setup.experience`;
131
+ setupViewConfig.setupStep = [
132
+ {
133
+ id: `${configPrefix}.setup`,
134
+ title: `${configPrefix}.setup.title`,
135
+ namespace: normalized.appProject,
136
+ setupDescriptor: normalized.nameCamelCase,
137
+ experienceId,
138
+ },
139
+ ];
140
+ experiences[experienceId] = {
141
+ id: experienceId,
142
+ component: normalized.namePascalCase,
143
+ location: `./src/${compPath}`,
144
+ };
145
+ }
146
+ else if (isSettingConfig) {
147
+ const configPrefix = `${normalized.appProject}.${normalized.nameCamelCase}`;
148
+ const experienceId = `${configPrefix}.settings.experience`;
149
+ settingViewConfig.settings = [
150
+ {
151
+ id: `${configPrefix}.setting`,
152
+ title: `${configPrefix}.setting.title`,
153
+ namespace: normalized.appProject,
154
+ settingsGroup: normalized.group,
155
+ experienceId,
156
+ },
157
+ ];
158
+ experiences[experienceId] = {
159
+ id: experienceId,
160
+ component: normalized.namePascalCase,
161
+ location: `./src/${compPath}`,
162
+ };
163
+ }
164
+ else if (isNav) {
165
+ const configPrefix = `${normalized.appProject}.${normalized.nameCamelCase}`;
166
+ const experienceId = `${configPrefix}.nav.experience`;
167
+ navViewConfig.navViews = [
168
+ {
169
+ id: `${configPrefix}.nav`,
170
+ title: `${configPrefix}.nav.title`,
171
+ namespace: normalized.appProject,
172
+ navDescriptor: normalized.nameLowerCase,
173
+ experienceId,
174
+ },
175
+ ];
176
+ experiences[experienceId] = {
177
+ id: experienceId,
178
+ component: normalized.namePascalCase,
179
+ location: `./src/${compPath}`,
180
+ };
181
+ }
182
+ else {
183
+ tabViewConfig.push({
184
+ id: `${normalized.appProject}.${normalized.nameCamelCase}`,
185
+ title: "ddk.ncui.config.title",
186
+ namespace: normalized.appProject,
187
+ component: normalized.namePascalCase,
188
+ location: `./src/${compPath}`,
189
+ });
190
+ }
191
+ const localePath = path.join(projectRoot, "assets", "locales", "en", `${normalized.appProject}.json`);
192
+ (0, devkit_1.updateJson)(tree, localePath, (json) => {
193
+ if (requiresLocalization) {
194
+ json[normalized.appProject] = json[normalized.appProject] || {};
195
+ json[normalized.appProject][normalized.nameCamelCase] =
196
+ json[normalized.appProject][normalized.nameCamelCase] || {};
197
+ json[normalized.appProject][normalized.nameCamelCase][sourcePath] = {
198
+ ...json[normalized.appProject][normalized.nameCamelCase][sourcePath],
199
+ title: `${normalized.nameCamelCase}`,
200
+ };
201
+ }
202
+ return json;
203
+ });
204
+ (0, devkit_1.updateJson)(tree, kosConfigPath, (json) => {
205
+ json.kosdev = {
206
+ ...json?.kosdev,
207
+ ddk: {
208
+ ...json?.kosdev?.ddk,
209
+ ncui: {
210
+ ...json?.kosdev?.ddk?.ncui,
211
+ plugin: {
212
+ ...json?.kosdev?.ddk?.ncui?.plugin,
213
+ contributes: {
214
+ ...json?.kosdev?.ddk?.ncui?.plugin?.contributes,
215
+ setupStep: [
216
+ ...(json?.kosdev?.ddk?.ncui?.plugin?.contributes
217
+ ?.setupStep || []),
218
+ ...setupViewConfig.setupStep,
219
+ ],
220
+ cui: [
221
+ ...(json?.kosdev?.ddk?.ncui?.plugin?.contributes?.cui ||
222
+ []),
223
+ ...kosConfig.cui,
224
+ ],
225
+ utilities: [
226
+ ...(json?.kosdev?.ddk?.ncui?.plugin?.contributes
227
+ ?.utilities || []),
228
+ ...utilityViewConfig.utilities,
229
+ ],
230
+ troubleActions: [
231
+ ...(json?.kosdev?.ddk?.ncui?.plugin?.contributes
232
+ ?.troubleActions || []),
233
+ ...troubleActionConfig.troubleActions,
234
+ ],
235
+ settings: [
236
+ ...(json?.kosdev?.ddk?.ncui?.plugin?.contributes
237
+ ?.settings || []),
238
+ ...settingViewConfig.settings,
239
+ ],
240
+ navViews: [
241
+ ...(json?.kosdev?.ddk?.ncui?.plugin?.contributes
242
+ ?.navViews || []),
243
+ ...navViewConfig.navViews,
244
+ ],
245
+ experiences: {
246
+ ...json?.kosdev?.ddk?.ncui?.plugin?.contributes
247
+ ?.experiences,
248
+ ...experiences,
249
+ },
250
+ views: {
251
+ ...json?.kosdev?.ddk?.ncui?.plugin?.contributes?.views,
252
+ "ddk.ncui.settings.tabView": [
253
+ ...(json?.kosdev?.ddk?.ncui?.plugin?.contributes?.views["ddk.ncui.settings.tabView"] || []),
254
+ ...tabViewConfig,
255
+ ],
256
+ },
257
+ },
258
+ },
259
+ },
260
+ },
261
+ };
262
+ return json;
263
+ });
264
+ }
265
+ await (0, devkit_1.formatFiles)(tree);
266
+ }
267
+ }
268
+ exports.kosComponentGenerator = kosComponentGenerator;
269
+ exports.default = kosComponentGenerator;
270
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/kos-nx-plugin/src/generators/kos-component/generator.ts"],"names":[],"mappings":"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"}
@@ -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 { NavStoryContainer } 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
+ <NavStoryContainer>
15
+ <Story args={{ ...context.args }} />
16
+ </NavStoryContainer>
17
+ ),
18
+ ],
19
+ tags: ["!autodocs"],
20
+ title: "nav/<%= 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,25 @@
1
+ import styled from '@emotion/styled';
2
+ import { type Experience } from '@kosdev-code/kos-ddk-components';
3
+ import {
4
+ KosLog,
5
+ kosComponent,
6
+ useKosTranslation,
7
+ } from '@kosdev-code/kos-ui-sdk';
8
+
9
+ const log = KosLog.createLogger({name: "<%= nameDashCase %>"})
10
+ log.debug("<%= nameDashCase %> component loaded");
11
+
12
+ const <%= namePascalCase %>Container = styled.div`
13
+ display: flex;
14
+ flex-direction: column;
15
+ width: 100%;
16
+ `;
17
+
18
+ export const <%= namePascalCase %>: Experience = kosComponent(({}) => {
19
+ const { t } = useKosTranslation('<%= appProject %>');
20
+ return (
21
+ <<%= namePascalCase %>Container>Hello from <%= namePascalCase %> Navigation View</<%= namePascalCase %>Container>
22
+ );
23
+ });
24
+
25
+ export default <%= namePascalCase %>
@@ -0,0 +1 @@
1
+ export * from "./<%= nameDashCase %>";
@@ -0,0 +1,18 @@
1
+ import { KosBaseGeneratorSchema } from "../kos-model/schema";
2
+
3
+ export interface KosComponentGeneratorSchema
4
+ extends Omit<KosBaseGeneratorSchema, "modelProject"> {
5
+ type: "components" | "features";
6
+ useEmotionCss: boolean;
7
+ appProject: string;
8
+ appDirectory: string;
9
+ group?: string;
10
+ pluginType?:
11
+ | "cui"
12
+ | "settings"
13
+ | "utility"
14
+ | "setup"
15
+ | "setting"
16
+ | "nav"
17
+ | "troubleAction";
18
+ }
@@ -0,0 +1,88 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "KosComponent",
4
+ "title": "",
5
+ "type": "object",
6
+ "properties": {
7
+ "name": {
8
+ "type": "string",
9
+ "description": "Component name",
10
+ "$default": {
11
+ "$source": "argv",
12
+ "index": 0
13
+ },
14
+ "x-prompt": "What name would you like to use?"
15
+ },
16
+ "type": {
17
+ "type": "string",
18
+ "description": "Provide the component type",
19
+ "x-prompt": {
20
+ "message": "Which type of component would you like to generate?",
21
+ "type": "list",
22
+ "items": [
23
+ {
24
+ "value": "components",
25
+ "label": "Component"
26
+ },
27
+ {
28
+ "value": "features",
29
+ "label": "Feature"
30
+ }
31
+ ]
32
+ }
33
+ },
34
+ "appProject": {
35
+ "type": "string",
36
+ "description": "The project where the ui components will be located.",
37
+ "x-prompt": "Which project will this model put UI components?",
38
+ "x-dropdown": "projects",
39
+ "default": ""
40
+ },
41
+ "appDirectory": {
42
+ "type": "string",
43
+ "description": "The directory where the ui components will be located.",
44
+ "default": ""
45
+ },
46
+ "useEmotionCss": {
47
+ "type": "boolean",
48
+ "description": "Use emotion css",
49
+ "default": true
50
+ },
51
+ "pluginType": {
52
+ "type": "string",
53
+ "description": "The plugin type",
54
+ "x-prompt": {
55
+ "message": "Choose the plugin type.",
56
+ "type": "list",
57
+ "items": [
58
+ {
59
+ "value": "setup",
60
+ "label": "Setup"
61
+ },
62
+ {
63
+ "value": "cui",
64
+ "label": "CUI"
65
+ },
66
+ {
67
+ "value": "utility",
68
+ "label": "Utility"
69
+ },
70
+ {
71
+ "value": "setting",
72
+ "label": "Setting"
73
+ },
74
+ {
75
+ "value": "nav",
76
+ "label": "NAV"
77
+ }
78
+ ]
79
+ }
80
+ },
81
+ "group": {
82
+ "type": "string",
83
+ "description": "The settings group",
84
+ "default": ""
85
+ }
86
+ },
87
+ "required": ["name", "appProject"]
88
+ }
@@ -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 { SettingStoryContainer } 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
+ <SettingStoryContainer>
15
+ <Story args={{ ...context.args }} />
16
+ </SettingStoryContainer>
17
+ ),
18
+ ],
19
+ tags: ["!autodocs"],
20
+ title: "setting/<%= 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,25 @@
1
+ import styled from '@emotion/styled';
2
+ import { type Experience } from '@kosdev-code/kos-ddk-components';
3
+ import {
4
+ KosLog,
5
+ kosComponent,
6
+ useKosTranslation,
7
+ } from '@kosdev-code/kos-ui-sdk';
8
+
9
+ const log = KosLog.createLogger({name: "<%= nameDashCase %>"})
10
+ log.debug("<%= nameDashCase %> component loaded");
11
+
12
+ const <%= namePascalCase %>Container = styled.div`
13
+ display: flex;
14
+ flex-direction: column;
15
+ width: 100%;
16
+ `;
17
+
18
+ export const <%= namePascalCase %>: Experience = kosComponent(({}) => {
19
+ const { t } = useKosTranslation('<%= appProject %>');
20
+ return (
21
+ <<%= namePascalCase %>Container>Hello from <%= namePascalCase %> Setting</<%= namePascalCase %>Container>
22
+ );
23
+ });
24
+
25
+ export default <%= namePascalCase %>
@@ -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 { SetupStepStoryContainer } 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
+ <SetupStepStoryContainer>
15
+ <Story args={{ ...context.args }} />
16
+ </SetupStepStoryContainer>
17
+ ),
18
+ ],
19
+ tags: ["!autodocs"],
20
+ title: "setup/<%= 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,32 @@
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
+ height: 100%;
18
+ `;
19
+
20
+ export const <%= namePascalCase %>: Experience = kosComponent(({ onComplete }) => {
21
+ const { t } = useKosTranslation('<%= appProject %>');
22
+ return (
23
+ <<%= namePascalCase %>Container onClick={onComplete}>
24
+ Hello from <%= namePascalCase %> Setup Step
25
+ <Footer>
26
+ <Button onClick={onComplete}>{t('proceed')}</Button>
27
+ </Footer>
28
+ </<%= namePascalCase %>Container>
29
+ );
30
+ });
31
+
32
+ export default <%= namePascalCase %>
@@ -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: "troubleAction/<%= 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,58 @@
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
+ type TroubleModel,
12
+ } from '@kosdev-code/kos-ui-sdk';
13
+ import { useCallback } from "react";
14
+
15
+ const log = KosLog.createLogger({name: "<%= nameDashCase %>"})
16
+ log.debug("<%= nameDashCase %> component loaded");
17
+
18
+ const <%= namePascalCase %>Container = styled.div`
19
+ align-items: center;
20
+ background-color: white;
21
+ bottom: 0;
22
+ display: flex;
23
+ flex-direction: column;
24
+ font-size: 40px;
25
+ height: 100vh;
26
+ justify-content: center;
27
+ left: 0;
28
+ position: fixed;
29
+ right: 0;
30
+ top: 0;
31
+ width: 100vw;
32
+ z-index: 999;
33
+ `;
34
+
35
+ interface Props {
36
+ trouble: TroubleModel;
37
+ onComplete: () => void;
38
+ onSkip?: () => void;
39
+ }
40
+
41
+ export const <%= namePascalCase %> = kosComponent(({ onComplete, trouble }: Props) => {
42
+ const { t } = useKosTranslation('<%= appProject %>');
43
+ const handleComplete = useCallback(() => {
44
+ trouble?.resolve();
45
+ onComplete();
46
+ }, [trouble]);
47
+
48
+ return (
49
+ <<%= namePascalCase %>Container onClick={onComplete}>
50
+ Hello from <%= namePascalCase %> Utility
51
+ <Footer>
52
+ <Button onClick={onComplete}>{t('proceed')}</Button>
53
+ </Footer>
54
+ </<%= namePascalCase %>Container>
55
+ );
56
+ });
57
+
58
+ export default <%= namePascalCase %>