@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,79 @@
1
+ /* eslint-disable @typescript-eslint/no-var-requires */
2
+ // require modules
3
+ const fs = require("fs");
4
+ const archiver = require("archiver");
5
+ const path = require("path");
6
+
7
+ const devkit = require("@nx/devkit");
8
+ const { readCachedProjectGraph } = devkit;
9
+
10
+ const [, , name] = process.argv;
11
+
12
+ const graph = readCachedProjectGraph();
13
+ const project = graph.nodes[name];
14
+
15
+
16
+ const buildPath = path.resolve(
17
+ project.data?.targets?.build?.options?.outputPath
18
+ );
19
+
20
+ const outputPath = path.resolve(
21
+ project.data?.targets?.zip?.options?.outputPath
22
+ );
23
+ const fileName = project.data?.targets?.zip?.options?.zipName;
24
+ const ZIP = path.resolve(outputPath, fileName);
25
+
26
+ console.log(ZIP);
27
+
28
+ if (!fs.existsSync(outputPath)) {
29
+ fs.mkdirSync(outputPath, { recursive: true });
30
+ }
31
+
32
+ const output = fs.createWriteStream(ZIP);
33
+ const archive = archiver("zip", {
34
+ zlib: { level: 9 }, // Sets the compression level.
35
+ });
36
+
37
+ // listen for all archive data to be written
38
+ // 'close' event is fired only when a file descriptor is involved
39
+ output.on("close", function () {
40
+ console.log(archive.pointer() + " total bytes");
41
+ console.log(
42
+ "archiver has been finalized and the output file descriptor has closed."
43
+ );
44
+ });
45
+
46
+ // This event is fired when the data source is drained no matter what was the data source.
47
+ // It is not part of this library but rather from the NodeJS Stream API.
48
+ // @see: https://nodejs.org/api/stream.html#stream_event_end
49
+ output.on("end", function () {
50
+ console.log("Data has been drained");
51
+ });
52
+
53
+ // good practice to catch warnings (ie stat failures and other non-blocking errors)
54
+ archive.on("warning", function (err) {
55
+ if (err.code === "ENOENT") {
56
+ // log warning
57
+ } else {
58
+ // throw error
59
+ throw err;
60
+ }
61
+ });
62
+
63
+ // good practice to catch this error explicitly
64
+ archive.on("error", function (err) {
65
+ throw err;
66
+ });
67
+
68
+ // pipe archive data to the file
69
+ archive.pipe(output);
70
+
71
+ // append a file from stream
72
+
73
+ console.log(`${buildPath}/`);
74
+ // append files from a sub-directory, putting its contents at the root of archive
75
+ archive.directory(`${buildPath}/`, false);
76
+
77
+ // finalize the archive (ie we are done appending files but streams have to finish yet)
78
+ // 'close', 'end' or 'finish' may be fired right after calling this method so register to them beforehand
79
+ archive.finalize();
@@ -0,0 +1,114 @@
1
+ import devkit from '@nx/devkit';
2
+ import { resolve } from 'path';
3
+ const { readCachedProjectGraph } = devkit;
4
+ const [, , name] = process.argv;
5
+
6
+ import {
7
+ existsSync,
8
+ mkdirSync,
9
+ readFileSync,
10
+ readdirSync,
11
+ writeFileSync,
12
+ } from 'fs';
13
+ import prettier from 'prettier';
14
+ const graph = readCachedProjectGraph();
15
+ const project = graph.nodes[name];
16
+
17
+ const dotKabFilePath = resolve(process.cwd(), project.data.root, '.kos.json');
18
+ const dotKabJson = JSON.parse(readFileSync(dotKabFilePath, 'utf8'));
19
+ if (dotKabJson) {
20
+ dotKabJson.kos = dotKabJson.kos || {};
21
+ dotKabJson.kos.localization = dotKabJson.kos.localization || {};
22
+ const localizations = dotKabJson?.kos?.localization?.namespaces || {};
23
+ if (dotKabJson?.kos?.localization) {
24
+ dotKabJson.kos.localization.defaultLocale =
25
+ dotKabJson.kos.localization.defaultLocale || 'en';
26
+ }
27
+ const locales = resolve(
28
+ process.cwd(),
29
+ project.data.root,
30
+ 'src',
31
+ 'assets',
32
+ 'locales'
33
+ );
34
+
35
+ mkdirSync(locales, { recursive: true });
36
+
37
+ const localesDirs = readdirSync(locales);
38
+ const mergedNamespaces = localesDirs.reduce(
39
+ (acc, locale) => {
40
+ const namespaces = readdirSync(resolve(locales, locale));
41
+
42
+ namespaces.forEach((namespaceFile) => {
43
+ const [namespace] = namespaceFile.split('.');
44
+ acc.namespaces = [...new Set([...acc.namespaces, namespace])];
45
+ acc.localizations[namespace] = acc.localizations[namespace] || {
46
+ locales: {},
47
+ };
48
+ acc.localizations[namespace].locales =
49
+ acc.localizations[namespace].locales || {};
50
+ acc.localizations[namespace].locales[
51
+ locale
52
+ ] = `/assets/locales/${locale}/${namespace}.json`;
53
+ });
54
+ return acc;
55
+ },
56
+ { localizations, namespaces: [] }
57
+ );
58
+
59
+ console.log(mergedNamespaces.namespaces);
60
+ const toRemove = Object.keys(localizations).filter(
61
+ (namespace) => !mergedNamespaces.namespaces.includes(namespace)
62
+ );
63
+
64
+ toRemove.forEach((namespace) => {
65
+ delete localizations[namespace];
66
+ });
67
+ dotKabJson.kos.localization.namespaces = mergedNamespaces.localizations;
68
+
69
+ const options = await prettier.resolveConfig(dotKabFilePath);
70
+
71
+ const configFile = await prettier.resolveConfigFile(dotKabFilePath);
72
+
73
+ const namespaceOverrides = Object.keys(
74
+ dotKabJson.kos.localization.namespaces
75
+ ).reduce((acc, namespace) => {
76
+ acc[namespace] = {};
77
+ if (dotKabJson.kos.localization.namespaces[namespace].fallbackLocales) {
78
+ acc[namespace].fallbackLocales =
79
+ dotKabJson.kos.localization.namespaces[namespace].fallbackLocales;
80
+ }
81
+ return acc;
82
+ }, {});
83
+
84
+ const modified = {
85
+ ...dotKabJson,
86
+ kos: {
87
+ ...dotKabJson.kos,
88
+ localization: {
89
+ ...dotKabJson.kos.localization,
90
+ namespaces: namespaceOverrides,
91
+ },
92
+ },
93
+ };
94
+ const output = await prettier.format(JSON.stringify(modified, null, 2), {
95
+ ...options,
96
+ parser: 'json',
97
+ });
98
+ writeFileSync(dotKabFilePath, output);
99
+ }
100
+
101
+ const buildPath = resolve(
102
+ project.data?.targets?.descriptor?.options?.outputPath
103
+ );
104
+
105
+ if (!existsSync(buildPath)) {
106
+ mkdirSync(buildPath, { recursive: true });
107
+ }
108
+
109
+ if (dotKabJson) {
110
+ writeFileSync(
111
+ resolve(buildPath, 'descriptor.json'),
112
+ JSON.stringify(dotKabJson, null, 2)
113
+ );
114
+ }
@@ -0,0 +1,25 @@
1
+ import devkit from "@nx/devkit";
2
+ import { mkdirSync, writeFileSync } from "fs";
3
+ import openapiTS, { astToString } from "openapi-typescript";
4
+ import { join } from "path";
5
+ const { readCachedProjectGraph } = devkit;
6
+ const [, , name] = process.argv;
7
+
8
+ const graph = readCachedProjectGraph();
9
+ const project = graph.nodes[name];
10
+ const host = project.data.targets.api?.options?.host || "http://127.0.0.1:8081";
11
+ const src = project.data.sourceRoot || project.data.root;
12
+
13
+ const outFile = join(src, "utils", "openapi.d.ts");
14
+
15
+ mkdirSync(join(src, "utils"), { recursive: true });
16
+
17
+ console.log(`Generating API types for ${name} at ${outFile} from ${host}`);
18
+
19
+ const ast = await openapiTS(
20
+ new URL(`${host}/api/kos/openapi/api`, import.meta.url)
21
+ );
22
+ const contents = astToString(ast);
23
+
24
+ // (optional) write to file
25
+ writeFileSync(outFile, contents);
@@ -0,0 +1,87 @@
1
+ #!/usr/bin/env node
2
+ import devkit from "@nx/devkit";
3
+ import { spawn } from "child_process";
4
+ import fs from "fs";
5
+ import path from "path";
6
+ const { readCachedProjectGraph } = devkit;
7
+
8
+ import chalk from "chalk";
9
+ import dotenv from "dotenv";
10
+ import dotenvExpand from "dotenv-expand";
11
+
12
+ const [, , buildType, projectName] = process.argv;
13
+ const graph = readCachedProjectGraph();
14
+ const project = graph.nodes[projectName];
15
+
16
+ const kabOptions = project.data?.targets?.kab?.options;
17
+ const config = dotenv.config({
18
+ path: path.resolve(process.cwd(), ".env.local"),
19
+ });
20
+ dotenvExpand.expand(config);
21
+
22
+ const dotKabFilePath = path.resolve(
23
+ process.cwd(),
24
+ project.data.root,
25
+ ".kos.json"
26
+ );
27
+
28
+ const dotKabJson = JSON.parse(fs.readFileSync(dotKabFilePath, "utf8"));
29
+ const version = dotKabJson.version;
30
+ const installPath = process.env.KOS_INSTALL_PATH;
31
+ const kabJarPath = process.env.KOS_KABTOOL_JAR;
32
+ const jarLocation =
33
+ process.platform === "darwin"
34
+ ? path.join("Contents", "MacOS", "lib", "jars", "kabtool.jar")
35
+ : path.join("release", "lib", "jars", "kabtool.jar");
36
+ const jarPath = kabJarPath ?? path.resolve(installPath, jarLocation);
37
+ const jar = path.resolve(jarPath);
38
+ const command = process.env.JAVA_CMD;
39
+
40
+ const name = dotKabJson.name;
41
+ const id = dotKabJson.id;
42
+ const type = dotKabJson.type;
43
+ const qualifier = dotKabJson.qualifier;
44
+ const inputFile = path.resolve(kabOptions.outputPath, kabOptions.zipName);
45
+ const outputFile = path.resolve(kabOptions.outputPath, kabOptions.kabName);
46
+
47
+ const baseBuildArgs = [
48
+ "-b",
49
+ "-t",
50
+ type,
51
+ "-n",
52
+ name,
53
+ "-v",
54
+ version,
55
+ "-z",
56
+ inputFile,
57
+ ];
58
+
59
+ const qualifierArgs = qualifier ? ["-q", qualifier] : [];
60
+ const idArgs = id ? ["-i", id] : [];
61
+
62
+ const buildArgs = [...baseBuildArgs, ...qualifierArgs, ...idArgs, outputFile];
63
+ const helpArgs = ["-h"];
64
+
65
+ const listArgs = ["-l", outputFile];
66
+ const cmdMap = {
67
+ build: buildArgs,
68
+ help: helpArgs,
69
+ list: listArgs,
70
+ };
71
+ const cmdArgs = cmdMap[buildType] || helpArgs;
72
+
73
+ const args = ["-Dfile.encoding=UTF-8", "-jar", jar, ...cmdArgs];
74
+
75
+ const ps = spawn(command, args);
76
+
77
+ ps.stdout.on("data", (data) => {
78
+ console.log(chalk.blue(`studio: ${data}`));
79
+ });
80
+
81
+ ps.stderr.on("data", (data) => {
82
+ console.error(chalk.red(`studio: ${data}`));
83
+ });
84
+
85
+ ps.on("close", (code) => {
86
+ console.log(`child process exited with code ${code}`);
87
+ });
@@ -0,0 +1,67 @@
1
+ import chalk from "chalk";
2
+ import { execSync } from "child_process";
3
+ const [, , sdk, ddk] = process.argv;
4
+ const kos = [
5
+
6
+ "@kosdev-code/kos-dispense-sdk",
7
+
8
+ "@kosdev-code/kos-ui-sdk",
9
+
10
+ ]
11
+ .map((dep) => `${dep}@${sdk}`)
12
+ .join(" ");
13
+
14
+ const freestyle = [
15
+ "@kosdev-code/kos-freestyle-sdk",
16
+ ]
17
+ .map((dep) => `${dep}@${sdk}`)
18
+ .join(" ");
19
+
20
+ const cms = [
21
+ "@kosdev-code/kos-cms-sdk",
22
+ ]
23
+ .map((dep) => `${dep}@${sdk}`)
24
+ .join(" ");
25
+
26
+ const ddkDeps = [
27
+ "@kosdev-code/kos-ddk",
28
+ "@kosdev-code/kos-ddk-components",
29
+ "@kosdev-code/kos-ddk-models",
30
+ "@kosdev-code/kos-ddk-model-components",
31
+ "@kosdev-code/kos-ddk-styles",
32
+ "@kosdev-code/kos-ui-plugin",
33
+ ]
34
+ .map((dep) => `${dep}@${ddk}`)
35
+ .join(" ");
36
+
37
+ const flags = [
38
+ "--loglevel error",
39
+ "--no-progress",
40
+ "--no-audit",
41
+ "--no-fund",
42
+ ].join(" ");
43
+ console.log(chalk.green("Updating dependencies..."));
44
+ console.log(chalk.green("Updating kos dependencies..."));
45
+ execSync(`npm i ${kos} --save ${flags}`, {
46
+ stdio: "inherit",
47
+ });
48
+
49
+ console.log(chalk.green("Updating freestyle dependencies..."));
50
+ execSync(`npm i ${freestyle} --save ${flags}`, {
51
+ stdio: "inherit",
52
+ });
53
+
54
+ console.log(chalk.green("Updating cms dependencies..."));
55
+ execSync(`npm i ${cms} --save ${flags}`, {
56
+ stdio: "inherit",
57
+ });
58
+
59
+ console.log(chalk.green("Updating ddk dependencies..."));
60
+ execSync(`npm i ${ddkDeps} --save ${flags}`, {
61
+ stdio: "inherit",
62
+ });
63
+
64
+ console.log(chalk.green("Updating kos-ui-cli..."));
65
+ execSync(`npm i -g @kosdev-code/kos-ui-cli@${sdk} ${flags}`, {
66
+ stdio: "inherit",
67
+ });
@@ -0,0 +1,12 @@
1
+ {
2
+ "extends": "../tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "outDir": "../dist/out-tsc/tools",
5
+ "rootDir": ".",
6
+ "module": "commonjs",
7
+ "target": "es5",
8
+ "types": ["node"],
9
+ "importHelpers": false
10
+ },
11
+ "include": ["**/*.ts"]
12
+ }
package/src/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/plugins/kos-nx-plugin/src/index.ts"],"names":[],"mappings":""}
package/src/index.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/plugins/kos-nx-plugin/src/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { Tree } from "@nx/devkit";
2
+ export default function update(host: Tree): void;
3
+ //# sourceMappingURL=add-overrides.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-overrides.d.ts","sourceRoot":"","sources":["../../../../../../../packages/plugins/kos-nx-plugin/src/migrations/add-overrides/add-overrides.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EAOL,MAAM,YAAY,CAAC;AAKpB,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,IAAI,EAAE,IAAI,QAuGxC"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const devkit_1 = require("@nx/devkit");
4
+ const java_home_1 = require("../../utils/java-home");
5
+ const path = require("path");
6
+ const os = require("os");
7
+ function update(host) {
8
+ (0, devkit_1.updateJson)(host, "package.json", (pkgJson) => {
9
+ const newOverrides = {
10
+ tslib: "^2.6.0",
11
+ };
12
+ delete pkgJson.overrides["esbuild"];
13
+ pkgJson.overrides = { ...pkgJson.overrides, ...newOverrides };
14
+ // return modified JSON object
15
+ return pkgJson;
16
+ });
17
+ (0, devkit_1.updateJson)(host, "tsconfig.base.json", (tsconfig) => {
18
+ if (tsconfig.compilerOptions?.paths) {
19
+ tsconfig.compilerOptions.paths["@kos-ui/kos-dispense-model"] = [
20
+ "node_modules/@kosdev-code/kos-dispense-sdk/kos-dispenser-model/index.d.ts",
21
+ ];
22
+ delete tsconfig.compilerOptions.paths["@kosdev-code/kos-dispense-sdk"];
23
+ }
24
+ return tsconfig;
25
+ });
26
+ const projectMap = (0, devkit_1.getProjects)(host);
27
+ Array.from(projectMap.values()).forEach((project) => {
28
+ if (project.projectType === "application") {
29
+ const projectName = project.name || "";
30
+ const newOverrides = {
31
+ kab: {
32
+ command: `node tools/scripts/kabtool.mjs build ${projectName} && node tools/scripts/kabtool.mjs list ${projectName}`,
33
+ options: {
34
+ outputPath: `dist/archives/packages/${projectName}/`,
35
+ zipName: "ui.zip",
36
+ kabName: `${projectName}.kab`,
37
+ },
38
+ dependsOn: ["zip"],
39
+ },
40
+ zip: {
41
+ command: `node tools/scripts/archiver.js ${projectName}`,
42
+ options: {
43
+ outputPath: `dist/archives/packages/${projectName}/`,
44
+ zipName: "ui.zip",
45
+ },
46
+ dependsOn: ["build"],
47
+ },
48
+ };
49
+ const targets = project.targets || {};
50
+ project.targets = { ...newOverrides, ...targets };
51
+ (0, devkit_1.updateProjectConfiguration)(host, projectName, project);
52
+ if (!host.exists(path.join(project.root, ".kos.json"))) {
53
+ (0, devkit_1.generateFiles)(host, path.join(__dirname, "projectFiles"), `${project.root}`, {
54
+ template: "",
55
+ name: projectName,
56
+ });
57
+ }
58
+ }
59
+ });
60
+ (0, devkit_1.removeDependenciesFromPackageJson)(host, ["tslib", "@kosdev-code/kos-dispenser-sdk"], []);
61
+ (0, devkit_1.addDependenciesToPackageJson)(host, {
62
+ "@kosdev-code/kos-ui-sdk": "next",
63
+ "@kosdev-code/kos-dispense-sdk": "next",
64
+ }, {
65
+ archiver: "^5.3.1",
66
+ "dotenv-expand": "^10.0.0",
67
+ "@kosdev-code/kos-test-utils": "next",
68
+ "@kosdev-code/kos-nx-plugin": "next",
69
+ });
70
+ const homeDir = os.homedir();
71
+ const installDir = os.platform() === "darwin"
72
+ ? path.join(homeDir, "Applications", "kosStudio.app")
73
+ : path.join(homeDir, "kosStudio");
74
+ const javaHome = (0, java_home_1.findJavaHome)();
75
+ const javaExecutable = os.platform() === "darwin"
76
+ ? path.join(javaHome || "", "bin", "java")
77
+ : path.join(javaHome || "", "bin", "java.exe");
78
+ (0, devkit_1.generateFiles)(host, path.join(__dirname, "files"), `/`, {
79
+ installDir: installDir,
80
+ javaHome: javaExecutable,
81
+ template: "",
82
+ });
83
+ }
84
+ exports.default = update;
85
+ //# sourceMappingURL=add-overrides.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-overrides.js","sourceRoot":"","sources":["../../../../../../../packages/plugins/kos-nx-plugin/src/migrations/add-overrides/add-overrides.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ # Path to the Java binary
2
+ JAVA_CMD='<%= javaHome %>'
3
+
4
+ # Path to the kos installation
5
+ KOS_INSTALL_PATH='<%= installDir %>'
@@ -0,0 +1,79 @@
1
+ /* eslint-disable @typescript-eslint/no-var-requires */
2
+ // require modules
3
+ const fs = require("fs");
4
+ const archiver = require("archiver");
5
+ const path = require("path");
6
+
7
+ const devkit = require("@nx/devkit");
8
+ const { readCachedProjectGraph } = devkit;
9
+
10
+ const [, , name] = process.argv;
11
+
12
+ const graph = readCachedProjectGraph();
13
+ const project = graph.nodes[name];
14
+
15
+
16
+ const buildPath = path.resolve(
17
+ project.data?.targets?.build?.options?.outputPath
18
+ );
19
+
20
+ const outputPath = path.resolve(
21
+ project.data?.targets?.zip?.options?.outputPath
22
+ );
23
+ const fileName = project.data?.targets?.zip?.options?.zipName;
24
+ const ZIP = path.resolve(outputPath, fileName);
25
+
26
+ console.log(ZIP);
27
+
28
+ if (!fs.existsSync(outputPath)) {
29
+ fs.mkdirSync(outputPath, { recursive: true });
30
+ }
31
+
32
+ const output = fs.createWriteStream(ZIP);
33
+ const archive = archiver("zip", {
34
+ zlib: { level: 9 }, // Sets the compression level.
35
+ });
36
+
37
+ // listen for all archive data to be written
38
+ // 'close' event is fired only when a file descriptor is involved
39
+ output.on("close", function () {
40
+ console.log(archive.pointer() + " total bytes");
41
+ console.log(
42
+ "archiver has been finalized and the output file descriptor has closed."
43
+ );
44
+ });
45
+
46
+ // This event is fired when the data source is drained no matter what was the data source.
47
+ // It is not part of this library but rather from the NodeJS Stream API.
48
+ // @see: https://nodejs.org/api/stream.html#stream_event_end
49
+ output.on("end", function () {
50
+ console.log("Data has been drained");
51
+ });
52
+
53
+ // good practice to catch warnings (ie stat failures and other non-blocking errors)
54
+ archive.on("warning", function (err) {
55
+ if (err.code === "ENOENT") {
56
+ // log warning
57
+ } else {
58
+ // throw error
59
+ throw err;
60
+ }
61
+ });
62
+
63
+ // good practice to catch this error explicitly
64
+ archive.on("error", function (err) {
65
+ throw err;
66
+ });
67
+
68
+ // pipe archive data to the file
69
+ archive.pipe(output);
70
+
71
+ // append a file from stream
72
+
73
+ console.log(`${buildPath}/`);
74
+ // append files from a sub-directory, putting its contents at the root of archive
75
+ archive.directory(`${buildPath}/`, false);
76
+
77
+ // finalize the archive (ie we are done appending files but streams have to finish yet)
78
+ // 'close', 'end' or 'finish' may be fired right after calling this method so register to them beforehand
79
+ archive.finalize();
@@ -0,0 +1,85 @@
1
+ #!/usr/bin/env node
2
+ import { spawn } from "child_process";
3
+ import path from "path";
4
+ import fs from "fs";
5
+ import devkit from "@nx/devkit";
6
+ const { readCachedProjectGraph } = devkit;
7
+
8
+ import chalk from "chalk";
9
+ import dotenv from "dotenv";
10
+ import dotenvExpand from "dotenv-expand";
11
+
12
+ const [, , buildType, projectName] = process.argv;
13
+ const graph = readCachedProjectGraph();
14
+ const project = graph.nodes[projectName];
15
+
16
+ const kabOptions = project.data?.targets?.kab?.options;
17
+ const config = dotenv.config({
18
+ path: path.resolve(process.cwd(), ".env"),
19
+ });
20
+ dotenvExpand.expand(config);
21
+
22
+ const dotKabFilePath = path.resolve(
23
+ process.cwd(),
24
+ project.data.root,
25
+ ".kos.json"
26
+ );
27
+
28
+ const dotKabJson = JSON.parse(fs.readFileSync(dotKabFilePath, "utf8"));
29
+ const version = dotKabJson.version;
30
+ const installPath = process.env.KOS_INSTALL_PATH;
31
+ const jarLocation =
32
+ process.platform === "darwin"
33
+ ? path.join("Contents", "MacOS", "lib", "jars", "kabtool.jar")
34
+ : path.join("release", "lib", "jars", "kabtool.jar");
35
+ const jar = path.resolve(installPath, jarLocation);
36
+ const command = process.env.JAVA_CMD;
37
+
38
+ const name = dotKabJson.name;
39
+ const id = dotKabJson.id;
40
+ const type = dotKabJson.type;
41
+ const qualifier = dotKabJson.qualifier;
42
+ const inputFile = path.resolve(kabOptions.outputPath, kabOptions.zipName);
43
+ const outputFile = path.resolve(kabOptions.outputPath, kabOptions.kabName);
44
+
45
+ const baseBuildArgs = [
46
+ "-b",
47
+ "-t",
48
+ type,
49
+ "-n",
50
+ name,
51
+ "-v",
52
+ version,
53
+ "-z",
54
+ inputFile,
55
+ ];
56
+
57
+ const qualifierArgs = qualifier ? ["-q", qualifier] : [];
58
+ const idArgs = id ? ["-i", id] : [];
59
+
60
+ const buildArgs = [...baseBuildArgs, ...qualifierArgs, ...idArgs, outputFile];
61
+ const helpArgs = ["-h"];
62
+
63
+ const listArgs = ["-l", outputFile];
64
+ const cmdMap = {
65
+ build: buildArgs,
66
+ help: helpArgs,
67
+ list: listArgs,
68
+ };
69
+ const cmdArgs = cmdMap[buildType] || helpArgs;
70
+
71
+ const args = ["-Dfile.encoding=UTF-8", "-jar", jar, ...cmdArgs];
72
+
73
+ const ps = spawn(command, args);
74
+
75
+ ps.stdout.on("data", (data) => {
76
+ console.log(chalk.blue(`studio: ${data}`));
77
+ });
78
+
79
+ ps.stderr.on("data", (data) => {
80
+ console.error(chalk.red(`studio: ${data}`));
81
+ });
82
+
83
+ ps.on("close", (code) => {
84
+ console.log(`child process exited with code ${code}`);
85
+ });
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "<%= name %>",
3
+ "type": "kos.ui",
4
+ "version": "0.1.0"
5
+ }