@simplysm/sd-cli 13.0.100 → 14.0.1

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 (409) hide show
  1. package/dist/commands/build.js +29 -19
  2. package/dist/commands/build.js.map +1 -6
  3. package/dist/commands/check.d.ts +1 -0
  4. package/dist/commands/check.d.ts.map +1 -1
  5. package/dist/commands/check.js +130 -115
  6. package/dist/commands/check.js.map +1 -6
  7. package/dist/commands/dev.d.ts +6 -7
  8. package/dist/commands/dev.d.ts.map +1 -1
  9. package/dist/commands/dev.js +24 -14
  10. package/dist/commands/dev.js.map +1 -6
  11. package/dist/commands/lint.d.ts +1 -1
  12. package/dist/commands/lint.js +158 -116
  13. package/dist/commands/lint.js.map +1 -6
  14. package/dist/commands/publish.d.ts.map +1 -1
  15. package/dist/commands/publish.js +637 -510
  16. package/dist/commands/publish.js.map +1 -6
  17. package/dist/commands/replace-deps.js +12 -12
  18. package/dist/commands/replace-deps.js.map +1 -6
  19. package/dist/commands/typecheck.d.ts +5 -30
  20. package/dist/commands/typecheck.d.ts.map +1 -1
  21. package/dist/commands/typecheck.js +144 -207
  22. package/dist/commands/typecheck.js.map +1 -6
  23. package/dist/commands/watch.d.ts +6 -4
  24. package/dist/commands/watch.d.ts.map +1 -1
  25. package/dist/commands/watch.js +25 -16
  26. package/dist/commands/watch.js.map +1 -6
  27. package/dist/engines/NgtscEngine.d.ts +47 -0
  28. package/dist/engines/NgtscEngine.d.ts.map +1 -0
  29. package/dist/engines/NgtscEngine.js +151 -0
  30. package/dist/engines/NgtscEngine.js.map +1 -0
  31. package/dist/engines/ServerEsbuildEngine.d.ts +47 -0
  32. package/dist/engines/ServerEsbuildEngine.d.ts.map +1 -0
  33. package/dist/engines/ServerEsbuildEngine.js +159 -0
  34. package/dist/engines/ServerEsbuildEngine.js.map +1 -0
  35. package/dist/engines/TscEngine.d.ts +47 -0
  36. package/dist/engines/TscEngine.d.ts.map +1 -0
  37. package/dist/engines/TscEngine.js +153 -0
  38. package/dist/engines/TscEngine.js.map +1 -0
  39. package/dist/engines/ViteEngine.d.ts +49 -0
  40. package/dist/engines/ViteEngine.d.ts.map +1 -0
  41. package/dist/engines/ViteEngine.js +161 -0
  42. package/dist/engines/ViteEngine.js.map +1 -0
  43. package/dist/engines/index.d.ts +26 -0
  44. package/dist/engines/index.d.ts.map +1 -0
  45. package/dist/engines/index.js +30 -0
  46. package/dist/engines/index.js.map +1 -0
  47. package/dist/engines/types.d.ts +77 -0
  48. package/dist/engines/types.d.ts.map +1 -0
  49. package/dist/engines/types.js +2 -0
  50. package/dist/engines/types.js.map +1 -0
  51. package/dist/index.d.ts +0 -1
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +2 -2
  54. package/dist/index.js.map +1 -6
  55. package/dist/infra/ResultCollector.d.ts +1 -1
  56. package/dist/infra/ResultCollector.d.ts.map +1 -1
  57. package/dist/infra/ResultCollector.js +30 -27
  58. package/dist/infra/ResultCollector.js.map +1 -6
  59. package/dist/infra/SignalHandler.js +45 -42
  60. package/dist/infra/SignalHandler.js.map +1 -6
  61. package/dist/infra/WorkerManager.js +56 -53
  62. package/dist/infra/WorkerManager.js.map +1 -6
  63. package/dist/orchestrators/BuildOrchestrator.d.ts +33 -1
  64. package/dist/orchestrators/BuildOrchestrator.d.ts.map +1 -1
  65. package/dist/orchestrators/BuildOrchestrator.js +314 -309
  66. package/dist/orchestrators/BuildOrchestrator.js.map +1 -6
  67. package/dist/orchestrators/DevWatchOrchestrator.d.ts +60 -0
  68. package/dist/orchestrators/DevWatchOrchestrator.d.ts.map +1 -0
  69. package/dist/orchestrators/DevWatchOrchestrator.js +465 -0
  70. package/dist/orchestrators/DevWatchOrchestrator.js.map +1 -0
  71. package/dist/sd-cli-entry.d.ts.map +1 -1
  72. package/dist/sd-cli-entry.js +190 -266
  73. package/dist/sd-cli-entry.js.map +1 -6
  74. package/dist/sd-cli.js +77 -49
  75. package/dist/sd-cli.js.map +1 -6
  76. package/dist/sd-config.types.d.ts +2 -0
  77. package/dist/sd-config.types.d.ts.map +1 -1
  78. package/dist/sd-config.types.js +2 -1
  79. package/dist/sd-config.types.js.map +1 -6
  80. package/dist/utils/angular-build.d.ts +77 -0
  81. package/dist/utils/angular-build.d.ts.map +1 -0
  82. package/dist/utils/angular-build.js +84 -0
  83. package/dist/utils/angular-build.js.map +1 -0
  84. package/dist/utils/build-env.js +9 -9
  85. package/dist/utils/build-env.js.map +1 -6
  86. package/dist/utils/concurrency.d.ts +15 -0
  87. package/dist/utils/concurrency.d.ts.map +1 -0
  88. package/dist/utils/concurrency.js +38 -0
  89. package/dist/utils/concurrency.js.map +1 -0
  90. package/dist/utils/copy-public.js +104 -87
  91. package/dist/utils/copy-public.js.map +1 -6
  92. package/dist/utils/copy-src.js +49 -35
  93. package/dist/utils/copy-src.js.map +1 -6
  94. package/dist/utils/esbuild-config.d.ts +0 -29
  95. package/dist/utils/esbuild-config.d.ts.map +1 -1
  96. package/dist/utils/esbuild-config.js +151 -218
  97. package/dist/utils/esbuild-config.js.map +1 -6
  98. package/dist/utils/ngtsc-build-core.d.ts +49 -0
  99. package/dist/utils/ngtsc-build-core.d.ts.map +1 -0
  100. package/dist/utils/ngtsc-build-core.js +250 -0
  101. package/dist/utils/ngtsc-build-core.js.map +1 -0
  102. package/dist/utils/output-path-rewriter.d.ts +23 -0
  103. package/dist/utils/output-path-rewriter.d.ts.map +1 -0
  104. package/dist/utils/output-path-rewriter.js +74 -0
  105. package/dist/utils/output-path-rewriter.js.map +1 -0
  106. package/dist/utils/output-utils.js +55 -40
  107. package/dist/utils/output-utils.js.map +1 -6
  108. package/dist/utils/package-utils.d.ts +8 -0
  109. package/dist/utils/package-utils.d.ts.map +1 -1
  110. package/dist/utils/package-utils.js +103 -73
  111. package/dist/utils/package-utils.js.map +1 -6
  112. package/dist/utils/rebuild-manager.js +41 -44
  113. package/dist/utils/rebuild-manager.js.map +1 -6
  114. package/dist/utils/replace-deps.js +283 -184
  115. package/dist/utils/replace-deps.js.map +1 -6
  116. package/dist/utils/scss-compiler.d.ts +10 -0
  117. package/dist/utils/scss-compiler.d.ts.map +1 -0
  118. package/dist/utils/scss-compiler.js +36 -0
  119. package/dist/utils/scss-compiler.js.map +1 -0
  120. package/dist/utils/sd-config.js +29 -19
  121. package/dist/utils/sd-config.js.map +1 -6
  122. package/dist/utils/tsc-build.d.ts +36 -0
  123. package/dist/utils/tsc-build.d.ts.map +1 -0
  124. package/dist/utils/tsc-build.js +130 -0
  125. package/dist/utils/tsc-build.js.map +1 -0
  126. package/dist/utils/tsconfig.d.ts +7 -26
  127. package/dist/utils/tsconfig.d.ts.map +1 -1
  128. package/dist/utils/tsconfig.js +39 -64
  129. package/dist/utils/tsconfig.js.map +1 -6
  130. package/dist/utils/typecheck-non-package.d.ts +18 -0
  131. package/dist/utils/typecheck-non-package.d.ts.map +1 -0
  132. package/dist/utils/typecheck-non-package.js +64 -0
  133. package/dist/utils/typecheck-non-package.js.map +1 -0
  134. package/dist/utils/typecheck-serialization.js +58 -40
  135. package/dist/utils/typecheck-serialization.js.map +1 -6
  136. package/dist/utils/worker-events.js +48 -40
  137. package/dist/utils/worker-events.js.map +1 -6
  138. package/dist/utils/worker-utils.js +48 -28
  139. package/dist/utils/worker-utils.js.map +1 -6
  140. package/dist/vitest-plugin.d.ts +9 -0
  141. package/dist/vitest-plugin.d.ts.map +1 -0
  142. package/dist/vitest-plugin.js +85 -0
  143. package/dist/vitest-plugin.js.map +1 -0
  144. package/dist/workers/library-build.worker.d.ts +54 -0
  145. package/dist/workers/library-build.worker.d.ts.map +1 -0
  146. package/dist/workers/library-build.worker.js +97 -0
  147. package/dist/workers/library-build.worker.js.map +1 -0
  148. package/dist/workers/lint.worker.js +9 -6
  149. package/dist/workers/lint.worker.js.map +1 -6
  150. package/dist/workers/ngtsc-build.worker.d.ts +23 -0
  151. package/dist/workers/ngtsc-build.worker.d.ts.map +1 -0
  152. package/dist/workers/ngtsc-build.worker.js +98 -0
  153. package/dist/workers/ngtsc-build.worker.js.map +1 -0
  154. package/dist/workers/{server.worker.d.ts → server-build.worker.d.ts} +39 -29
  155. package/dist/workers/server-build.worker.d.ts.map +1 -0
  156. package/dist/workers/server-build.worker.js +399 -0
  157. package/dist/workers/server-build.worker.js.map +1 -0
  158. package/dist/workers/server-runtime.worker.d.ts +3 -2
  159. package/dist/workers/server-runtime.worker.d.ts.map +1 -1
  160. package/dist/workers/server-runtime.worker.js +100 -95
  161. package/dist/workers/server-runtime.worker.js.map +1 -6
  162. package/dist/workers/vite-build.worker.d.ts +56 -0
  163. package/dist/workers/vite-build.worker.d.ts.map +1 -0
  164. package/dist/workers/vite-build.worker.js +167 -0
  165. package/dist/workers/vite-build.worker.js.map +1 -0
  166. package/package.json +10 -16
  167. package/src/commands/check.ts +21 -3
  168. package/src/commands/dev.ts +10 -8
  169. package/src/commands/lint.ts +1 -1
  170. package/src/commands/publish.ts +4 -0
  171. package/src/commands/typecheck.ts +89 -256
  172. package/src/commands/watch.ts +9 -8
  173. package/src/engines/NgtscEngine.ts +190 -0
  174. package/src/engines/ServerEsbuildEngine.ts +195 -0
  175. package/src/engines/TscEngine.ts +189 -0
  176. package/src/engines/ViteEngine.ts +203 -0
  177. package/src/engines/index.ts +49 -0
  178. package/src/engines/types.ts +79 -0
  179. package/src/index.ts +0 -3
  180. package/src/infra/ResultCollector.ts +1 -1
  181. package/src/orchestrators/BuildOrchestrator.ts +87 -157
  182. package/src/orchestrators/DevWatchOrchestrator.ts +573 -0
  183. package/src/sd-cli-entry.ts +13 -116
  184. package/src/sd-config.types.ts +2 -0
  185. package/src/utils/angular-build.ts +157 -0
  186. package/src/utils/concurrency.ts +43 -0
  187. package/src/utils/esbuild-config.ts +1 -122
  188. package/src/utils/ngtsc-build-core.ts +379 -0
  189. package/src/utils/output-path-rewriter.ts +82 -0
  190. package/src/utils/package-utils.ts +20 -0
  191. package/src/utils/scss-compiler.ts +58 -0
  192. package/src/utils/tsc-build.ts +175 -0
  193. package/src/utils/tsconfig.ts +27 -95
  194. package/src/utils/typecheck-non-package.ts +87 -0
  195. package/src/vitest-plugin.ts +118 -0
  196. package/src/workers/library-build.worker.ts +153 -0
  197. package/src/workers/ngtsc-build.worker.ts +146 -0
  198. package/src/workers/server-build.worker.ts +565 -0
  199. package/src/workers/server-runtime.worker.ts +17 -26
  200. package/src/workers/vite-build.worker.ts +252 -0
  201. package/tests/commands/check.spec.ts +276 -0
  202. package/tests/commands/dev.spec.ts +53 -0
  203. package/tests/commands/lint.spec.ts +243 -0
  204. package/tests/commands/publish.spec.ts +1159 -0
  205. package/tests/commands/typecheck.spec.ts +294 -0
  206. package/tests/commands/watch.spec.ts +53 -0
  207. package/tests/engines/engine-selection.spec.ts +247 -0
  208. package/tests/engines/ngtsc-engine.spec.ts +274 -0
  209. package/tests/engines/server-esbuild-engine.spec.ts +256 -0
  210. package/tests/engines/tsc-engine.spec.ts +213 -0
  211. package/tests/engines/vite-engine.spec.ts +358 -0
  212. package/tests/infra/result-collector.spec.ts +46 -0
  213. package/tests/infra/signal-handler.spec.ts +32 -0
  214. package/tests/infra/worker-manager.spec.ts +63 -0
  215. package/tests/orchestrators/build-orchestrator.spec.ts +772 -0
  216. package/tests/orchestrators/dev-watch-orchestrator.spec.ts +1173 -0
  217. package/tests/sd-cli-entry.spec.ts +49 -0
  218. package/tests/utils/angular-build.spec.ts +251 -0
  219. package/tests/utils/build-env.spec.ts +33 -0
  220. package/tests/utils/concurrency.spec.ts +65 -0
  221. package/tests/utils/copy-src.spec.ts +144 -0
  222. package/tests/utils/esbuild-config.spec.ts +186 -0
  223. package/tests/utils/external-modules.spec.ts +161 -0
  224. package/tests/utils/ngtsc-scss-refactor.spec.ts +66 -0
  225. package/tests/utils/output-path-rewriter.spec.ts +165 -0
  226. package/tests/utils/output-utils.spec.ts +104 -0
  227. package/tests/utils/package-utils.spec.ts +52 -0
  228. package/tests/utils/rebuild-manager.spec.ts +30 -27
  229. package/tests/utils/replace-deps.spec.ts +69 -0
  230. package/tests/utils/scss-compiler.spec.ts +131 -0
  231. package/tests/utils/sd-config.spec.ts +77 -0
  232. package/tests/utils/tsc-build.spec.ts +358 -0
  233. package/tests/utils/tsconfig-angular.spec.ts +71 -0
  234. package/tests/utils/typecheck-non-package.spec.ts +120 -0
  235. package/tests/utils/worker-events.spec.ts +155 -0
  236. package/tests/utils/worker-utils.spec.ts +43 -0
  237. package/tests/vitest-plugin-cwd.spec.ts +68 -0
  238. package/tests/vitest-plugin.spec.ts +103 -0
  239. package/tests/workers/library-build-worker.spec.ts +258 -0
  240. package/tests/workers/ngtsc-build-worker.spec.ts +187 -0
  241. package/tests/workers/server-build-worker.spec.ts +566 -0
  242. package/tests/workers/server-runtime-worker.spec.ts +251 -0
  243. package/README.md +0 -295
  244. package/dist/builders/BaseBuilder.d.ts +0 -88
  245. package/dist/builders/BaseBuilder.d.ts.map +0 -1
  246. package/dist/builders/BaseBuilder.js +0 -142
  247. package/dist/builders/BaseBuilder.js.map +0 -6
  248. package/dist/builders/DtsBuilder.d.ts +0 -22
  249. package/dist/builders/DtsBuilder.d.ts.map +0 -1
  250. package/dist/builders/DtsBuilder.js +0 -72
  251. package/dist/builders/DtsBuilder.js.map +0 -6
  252. package/dist/builders/LibraryBuilder.d.ts +0 -22
  253. package/dist/builders/LibraryBuilder.d.ts.map +0 -1
  254. package/dist/builders/LibraryBuilder.js +0 -85
  255. package/dist/builders/LibraryBuilder.js.map +0 -6
  256. package/dist/builders/types.d.ts +0 -55
  257. package/dist/builders/types.d.ts.map +0 -1
  258. package/dist/builders/types.js +0 -1
  259. package/dist/builders/types.js.map +0 -6
  260. package/dist/capacitor/capacitor.d.ts +0 -151
  261. package/dist/capacitor/capacitor.d.ts.map +0 -1
  262. package/dist/capacitor/capacitor.js +0 -694
  263. package/dist/capacitor/capacitor.js.map +0 -6
  264. package/dist/commands/device.d.ts +0 -22
  265. package/dist/commands/device.d.ts.map +0 -1
  266. package/dist/commands/device.js +0 -98
  267. package/dist/commands/device.js.map +0 -6
  268. package/dist/commands/init.d.ts +0 -14
  269. package/dist/commands/init.d.ts.map +0 -1
  270. package/dist/commands/init.js +0 -72
  271. package/dist/commands/init.js.map +0 -6
  272. package/dist/electron/electron.d.ts +0 -84
  273. package/dist/electron/electron.d.ts.map +0 -1
  274. package/dist/electron/electron.js +0 -263
  275. package/dist/electron/electron.js.map +0 -6
  276. package/dist/orchestrators/DevOrchestrator.d.ts +0 -83
  277. package/dist/orchestrators/DevOrchestrator.d.ts.map +0 -1
  278. package/dist/orchestrators/DevOrchestrator.js +0 -540
  279. package/dist/orchestrators/DevOrchestrator.js.map +0 -6
  280. package/dist/orchestrators/WatchOrchestrator.d.ts +0 -57
  281. package/dist/orchestrators/WatchOrchestrator.d.ts.map +0 -1
  282. package/dist/orchestrators/WatchOrchestrator.js +0 -199
  283. package/dist/orchestrators/WatchOrchestrator.js.map +0 -6
  284. package/dist/utils/tailwind-config-deps.d.ts +0 -8
  285. package/dist/utils/tailwind-config-deps.d.ts.map +0 -1
  286. package/dist/utils/tailwind-config-deps.js +0 -82
  287. package/dist/utils/tailwind-config-deps.js.map +0 -6
  288. package/dist/utils/template.d.ts +0 -14
  289. package/dist/utils/template.d.ts.map +0 -1
  290. package/dist/utils/template.js +0 -33
  291. package/dist/utils/template.js.map +0 -6
  292. package/dist/utils/vite-config.d.ts +0 -35
  293. package/dist/utils/vite-config.d.ts.map +0 -1
  294. package/dist/utils/vite-config.js +0 -259
  295. package/dist/utils/vite-config.js.map +0 -6
  296. package/dist/workers/client.worker.d.ts +0 -83
  297. package/dist/workers/client.worker.d.ts.map +0 -1
  298. package/dist/workers/client.worker.js +0 -111
  299. package/dist/workers/client.worker.js.map +0 -6
  300. package/dist/workers/dts.worker.d.ts +0 -75
  301. package/dist/workers/dts.worker.d.ts.map +0 -1
  302. package/dist/workers/dts.worker.js +0 -270
  303. package/dist/workers/dts.worker.js.map +0 -6
  304. package/dist/workers/library.worker.d.ts +0 -75
  305. package/dist/workers/library.worker.d.ts.map +0 -1
  306. package/dist/workers/library.worker.js +0 -166
  307. package/dist/workers/library.worker.js.map +0 -6
  308. package/dist/workers/server.worker.d.ts.map +0 -1
  309. package/dist/workers/server.worker.js +0 -482
  310. package/dist/workers/server.worker.js.map +0 -6
  311. package/src/builders/BaseBuilder.ts +0 -218
  312. package/src/builders/DtsBuilder.ts +0 -92
  313. package/src/builders/LibraryBuilder.ts +0 -110
  314. package/src/builders/types.ts +0 -60
  315. package/src/capacitor/capacitor.ts +0 -931
  316. package/src/commands/device.ts +0 -140
  317. package/src/commands/init.ts +0 -113
  318. package/src/electron/electron.ts +0 -362
  319. package/src/orchestrators/DevOrchestrator.ts +0 -744
  320. package/src/orchestrators/WatchOrchestrator.ts +0 -277
  321. package/src/utils/tailwind-config-deps.ts +0 -98
  322. package/src/utils/template.ts +0 -56
  323. package/src/utils/vite-config.ts +0 -390
  324. package/src/workers/client.worker.ts +0 -250
  325. package/src/workers/dts.worker.ts +0 -453
  326. package/src/workers/library.worker.ts +0 -316
  327. package/src/workers/server.worker.ts +0 -734
  328. package/templates/init/.gitignore.hbs +0 -34
  329. package/templates/init/.npmrc.hbs +0 -1
  330. package/templates/init/.prettierignore +0 -1
  331. package/templates/init/.prettierrc.yaml +0 -12
  332. package/templates/init/eslint.config.ts +0 -15
  333. package/templates/init/mise.toml +0 -3
  334. package/templates/init/package.json.hbs +0 -32
  335. package/templates/init/packages/client-admin/index.html.hbs +0 -144
  336. package/templates/init/packages/client-admin/package.json.hbs +0 -27
  337. package/templates/init/packages/client-admin/public/assets/logo-landscape.png +0 -0
  338. package/templates/init/packages/client-admin/public/assets/logo.png +0 -0
  339. package/templates/init/packages/client-admin/public/favicon.ico +0 -0
  340. package/templates/init/packages/client-admin/src/App.tsx +0 -42
  341. package/templates/init/packages/client-admin/src/dev/DevDialog.tsx +0 -34
  342. package/templates/init/packages/client-admin/src/events/AuthChangeEvent.ts +0 -3
  343. package/templates/init/packages/client-admin/src/main.css +0 -4
  344. package/templates/init/packages/client-admin/src/main.tsx.hbs +0 -146
  345. package/templates/init/packages/client-admin/src/providers/AppServiceProvider.tsx.hbs +0 -103
  346. package/templates/init/packages/client-admin/src/providers/AppStructureProvider.tsx +0 -84
  347. package/templates/init/packages/client-admin/src/providers/AuthProvider.tsx.hbs +0 -96
  348. package/templates/init/packages/client-admin/src/providers/configureSharedData.ts.hbs +0 -67
  349. package/templates/init/packages/client-admin/src/views/auth/LoginView.tsx +0 -132
  350. package/templates/init/packages/client-admin/src/views/home/HomeView.tsx +0 -108
  351. package/templates/init/packages/client-admin/src/views/home/base/employee/EmployeeDetail.tsx.hbs +0 -243
  352. package/templates/init/packages/client-admin/src/views/home/base/employee/EmployeeSheet.tsx.hbs +0 -271
  353. package/templates/init/packages/client-admin/src/views/home/base/role-permission/RoleDetail.tsx.hbs +0 -146
  354. package/templates/init/packages/client-admin/src/views/home/base/role-permission/RolePermissionDetail.tsx.hbs +0 -121
  355. package/templates/init/packages/client-admin/src/views/home/base/role-permission/RolePermissionView.tsx +0 -52
  356. package/templates/init/packages/client-admin/src/views/home/base/role-permission/RoleSheet.tsx.hbs +0 -125
  357. package/templates/init/packages/client-admin/src/views/home/main/MainView.tsx.hbs +0 -13
  358. package/templates/init/packages/client-admin/src/views/home/my-info/MyInfoDetail.tsx.hbs +0 -241
  359. package/templates/init/packages/client-admin/src/views/home/system/system-log/SystemLogSheet.tsx.hbs +0 -169
  360. package/templates/init/packages/client-admin/src/views/not-found/NotFoundView.tsx +0 -15
  361. package/templates/init/packages/client-admin/tailwind.config.ts +0 -10
  362. package/templates/init/packages/db-main/package.json.hbs +0 -13
  363. package/templates/init/packages/db-main/src/MainDbContext.ts +0 -22
  364. package/templates/init/packages/db-main/src/dataLogExt.ts +0 -127
  365. package/templates/init/packages/db-main/src/index.ts +0 -14
  366. package/templates/init/packages/db-main/src/tables/base/Employee.ts +0 -24
  367. package/templates/init/packages/db-main/src/tables/base/EmployeeConfig.ts +0 -13
  368. package/templates/init/packages/db-main/src/tables/base/Role.ts +0 -9
  369. package/templates/init/packages/db-main/src/tables/base/RolePermission.ts +0 -13
  370. package/templates/init/packages/db-main/src/tables/system/_DataLog.ts +0 -19
  371. package/templates/init/packages/db-main/src/tables/system/_Log.ts +0 -16
  372. package/templates/init/packages/server/package.json.hbs +0 -20
  373. package/templates/init/packages/server/public-dev/dev//354/264/210/352/270/260/355/231/224.xlsx +0 -0
  374. package/templates/init/packages/server/src/index.ts +0 -4
  375. package/templates/init/packages/server/src/main.ts.hbs +0 -34
  376. package/templates/init/packages/server/src/services/AuthService.ts.hbs +0 -171
  377. package/templates/init/packages/server/src/services/DevService.ts.hbs +0 -94
  378. package/templates/init/packages/server/src/services/EmployeeService.ts.hbs +0 -122
  379. package/templates/init/packages/server/src/services/RoleService.ts.hbs +0 -59
  380. package/templates/init/pnpm-workspace.yaml +0 -15
  381. package/templates/init/sd.config.ts.hbs +0 -48
  382. package/templates/init/tsconfig.json.hbs +0 -39
  383. package/templates/init/vitest.config.ts +0 -36
  384. package/tests/capacitor-exclude.spec.ts +0 -78
  385. package/tests/capacitor.spec.ts +0 -49
  386. package/tests/copy-src.spec.ts +0 -50
  387. package/tests/electron-exclude.spec.ts +0 -61
  388. package/tests/get-compiler-options-for-package.spec.ts +0 -80
  389. package/tests/get-package-source-files.spec.ts +0 -139
  390. package/tests/get-types-from-package-json.spec.ts +0 -92
  391. package/tests/infra/ResultCollector.spec.ts +0 -30
  392. package/tests/infra/SignalHandler.spec.ts +0 -38
  393. package/tests/infra/WorkerManager.spec.ts +0 -63
  394. package/tests/load-ignore-patterns.spec.ts +0 -163
  395. package/tests/load-sd-config.spec.ts +0 -100
  396. package/tests/package-utils.spec.ts +0 -188
  397. package/tests/parse-root-tsconfig.spec.ts +0 -89
  398. package/tests/publish-config-narrowing.spec.ts +0 -20
  399. package/tests/replace-deps.spec.ts +0 -308
  400. package/tests/run-lint.spec.ts +0 -366
  401. package/tests/run-typecheck.spec.ts +0 -544
  402. package/tests/run-watch.spec.ts +0 -76
  403. package/tests/sd-cli.spec.ts +0 -265
  404. package/tests/sd-public-dev-plugin-mime.spec.ts +0 -19
  405. package/tests/tailwind-config-deps.spec.ts +0 -30
  406. package/tests/template.spec.ts +0 -70
  407. package/tests/vite-config-exclude.spec.ts +0 -35
  408. package/tests/vite-config-outdir.spec.ts +0 -38
  409. package/tests/write-changed-output-files.spec.ts +0 -97
@@ -0,0 +1,250 @@
1
+ import path from "path";
2
+ import fs from "fs";
3
+ import ts from "typescript";
4
+ import { err as errNs } from "@simplysm/core-common";
5
+ import { serializeDiagnostic } from "./typecheck-serialization.js";
6
+ import { parseTsconfig, getPackageSourceFiles, } from "./tsconfig.js";
7
+ import { NgtscProgram, OptimizeFor, } from "./angular-build.js";
8
+ import { createOutputPathRewriter } from "./output-path-rewriter.js";
9
+ import { compileScssString, compileScssFile } from "./scss-compiler.js";
10
+ //#endregion
11
+ //#region CompilerOptions helpers
12
+ export function buildCompilerOptions(baseOptions, pkgDir, output) {
13
+ const options = {
14
+ ...baseOptions,
15
+ sourceMap: false,
16
+ outDir: path.join(pkgDir, "dist"),
17
+ };
18
+ if (output.js && output.dts) {
19
+ options.noEmit = false;
20
+ options.declaration = true;
21
+ options.declarationMap = true;
22
+ options.emitDeclarationOnly = false;
23
+ options.declarationDir = path.join(pkgDir, "dist");
24
+ }
25
+ else if (output.js && !output.dts) {
26
+ options.noEmit = false;
27
+ options.declaration = false;
28
+ options.declarationMap = false;
29
+ options.emitDeclarationOnly = false;
30
+ }
31
+ else if (!output.js && output.dts) {
32
+ options.noEmit = false;
33
+ options.declaration = true;
34
+ options.declarationMap = true;
35
+ options.emitDeclarationOnly = true;
36
+ options.declarationDir = path.join(pkgDir, "dist");
37
+ }
38
+ else {
39
+ // both false — typecheck only
40
+ options.noEmit = true;
41
+ options.declaration = false;
42
+ options.declarationMap = false;
43
+ options.emitDeclarationOnly = false;
44
+ }
45
+ return options;
46
+ }
47
+ //#endregion
48
+ //#region SCSS loadPaths helper
49
+ export function buildScssLoadPaths(info) {
50
+ return [
51
+ path.join(info.pkgDir, "scss"),
52
+ path.join(info.cwd, "node_modules"),
53
+ ];
54
+ }
55
+ function createNgtscProgramWithHost(rootNames, compilerOptions, info, output, oldProgram, modifiedResourceFiles) {
56
+ const pkgDir = info.pkgDir;
57
+ const host = ts.createCompilerHost(compilerOptions);
58
+ const scssErrors = [];
59
+ const scssDependencies = new Map();
60
+ const loadPaths = buildScssLoadPaths(info);
61
+ // AngularLibraryHostExtensions duck-typing
62
+ const hostExt = host;
63
+ hostExt.readResource = (fileName) => ts.sys.readFile(fileName) ?? "";
64
+ hostExt.transformResource = (data, context) => {
65
+ if (context.type !== "style")
66
+ return Promise.resolve(null);
67
+ try {
68
+ if (context.resourceFile != null && context.resourceFile.endsWith(".scss")) {
69
+ const result = compileScssFile(context.resourceFile, loadPaths);
70
+ trackDeps(scssDependencies, context.containingFile, result.dependencies);
71
+ return Promise.resolve({ content: result.css });
72
+ }
73
+ if (context.resourceFile != null) {
74
+ // .css 등 비-SCSS 파일 -> null 반환 (readResource가 처리)
75
+ return Promise.resolve(null);
76
+ }
77
+ // 인라인 스타일 -- SCSS로 시도, 순수 CSS면 그대로 통과
78
+ const result = compileScssString(data, context.containingFile, loadPaths);
79
+ trackDeps(scssDependencies, context.containingFile, result.dependencies);
80
+ return Promise.resolve({ content: result.css });
81
+ }
82
+ catch (err) {
83
+ scssErrors.push(formatScssError(err, context.containingFile));
84
+ return Promise.resolve({ content: "/* SCSS compilation error */" });
85
+ }
86
+ };
87
+ if (modifiedResourceFiles != null) {
88
+ hostExt.getModifiedResourceFiles = () => modifiedResourceFiles;
89
+ }
90
+ // Output path rewriting
91
+ if (output.js || output.dts) {
92
+ const rewritePath = createOutputPathRewriter(pkgDir);
93
+ const originalWriteFile = host.writeFile;
94
+ host.writeFile = (fileName, content, writeByteOrderMark, onError, sourceFiles, data) => {
95
+ const result = rewritePath(fileName, content);
96
+ if (result != null) {
97
+ originalWriteFile(result[0], result[1], writeByteOrderMark, onError, sourceFiles, data);
98
+ }
99
+ };
100
+ }
101
+ const program = new NgtscProgram(rootNames, compilerOptions, hostExt, oldProgram);
102
+ return { program, host, scssErrors, scssDependencies };
103
+ }
104
+ function trackDeps(depsMap, containingFile, dependencies) {
105
+ let deps = depsMap.get(containingFile);
106
+ if (deps == null) {
107
+ deps = new Set();
108
+ depsMap.set(containingFile, deps);
109
+ }
110
+ for (const dep of dependencies) {
111
+ deps.add(dep);
112
+ }
113
+ }
114
+ function formatScssError(err, containingFile) {
115
+ const message = errNs.message(err);
116
+ return `SCSS error in ${containingFile}: ${message}`;
117
+ }
118
+ //#region Global SCSS
119
+ export function compileGlobalScss(pkgDir, loadPaths) {
120
+ const stylesPath = path.join(pkgDir, "scss", "styles.scss");
121
+ if (!fs.existsSync(stylesPath))
122
+ return [];
123
+ const errors = [];
124
+ try {
125
+ const result = compileScssFile(stylesPath, loadPaths);
126
+ const distDir = path.join(pkgDir, "dist");
127
+ fs.mkdirSync(distDir, { recursive: true });
128
+ fs.writeFileSync(path.join(distDir, "styles.css"), result.css, "utf-8");
129
+ }
130
+ catch (err) {
131
+ errors.push(`Global SCSS error: ${errNs.message(err)}`);
132
+ }
133
+ return errors;
134
+ }
135
+ //#endregion
136
+ function collectDiagnostics(program, tsProgram, pkgSrcDir) {
137
+ const allDiagnostics = [
138
+ ...tsProgram.getSyntacticDiagnostics(),
139
+ ...tsProgram.getOptionsDiagnostics(),
140
+ ...tsProgram.getGlobalDiagnostics(),
141
+ ...tsProgram.getSemanticDiagnostics(),
142
+ ];
143
+ // Angular-specific diagnostics
144
+ for (const sf of tsProgram.getSourceFiles()) {
145
+ const ngDiags = program.compiler.getDiagnosticsForFile(sf, OptimizeFor.WholeProgram);
146
+ allDiagnostics.push(...ngDiags);
147
+ }
148
+ // Filter diagnostics to package source files
149
+ const normalizedSrcDir = pkgSrcDir.replace(/\\/g, "/");
150
+ const filteredDiagnostics = allDiagnostics.filter((d) => d.file == null || d.file.fileName.includes(normalizedSrcDir));
151
+ const serialized = filteredDiagnostics.map(serializeDiagnostic);
152
+ const errorCount = filteredDiagnostics.filter((d) => d.category === ts.DiagnosticCategory.Error).length;
153
+ const errors = filteredDiagnostics
154
+ .filter((d) => d.category === ts.DiagnosticCategory.Error)
155
+ .map((d) => {
156
+ const message = ts.flattenDiagnosticMessageText(d.messageText, "\n");
157
+ if (d.file != null && d.start != null) {
158
+ const { line, character } = d.file.getLineAndCharacterOfPosition(d.start);
159
+ return `${d.file.fileName}:${line + 1}:${character + 1}: TS${d.code}: ${message}`;
160
+ }
161
+ return `TS${d.code}: ${message}`;
162
+ });
163
+ return { serialized, errorCount, errors };
164
+ }
165
+ function emitFiles(program, tsProgram, pkgSrcDir, output) {
166
+ const { transformers } = program.compiler.prepareEmit();
167
+ const normalizedSrcDir = pkgSrcDir.replace(/\\/g, "/");
168
+ for (const sf of tsProgram.getSourceFiles()) {
169
+ if (program.compiler.ignoreForEmit.has(sf))
170
+ continue;
171
+ // Only emit files from this package's src directory
172
+ if (!sf.fileName.includes(normalizedSrcDir))
173
+ continue;
174
+ tsProgram.emit(sf, undefined, undefined, output.dts && !output.js, transformers);
175
+ }
176
+ }
177
+ /**
178
+ * Run a full NgtscProgram build (parse, analyze, diagnostics, emit)
179
+ */
180
+ export async function runNgtscBuild(info) {
181
+ try {
182
+ const parsedConfig = parseTsconfig(info.pkgDir);
183
+ const sourceFiles = getPackageSourceFiles(info.pkgDir, parsedConfig);
184
+ const compilerOptions = buildCompilerOptions(parsedConfig.options, info.pkgDir, info.output);
185
+ const pkgSrcDir = path.join(info.pkgDir, "src");
186
+ const { program, scssErrors } = createNgtscProgramWithHost(sourceFiles, compilerOptions, info, info.output);
187
+ // AOT analysis
188
+ await program.compiler.analyzeAsync();
189
+ // Collect diagnostics
190
+ const tsProgram = program.getTsProgram();
191
+ const { serialized, errorCount, errors } = collectDiagnostics(program, tsProgram, pkgSrcDir);
192
+ // Emit if needed
193
+ if (info.output.js || info.output.dts) {
194
+ emitFiles(program, tsProgram, pkgSrcDir, info.output);
195
+ }
196
+ // Global SCSS compilation
197
+ const globalScssErrors = compileGlobalScss(info.pkgDir, buildScssLoadPaths(info));
198
+ const allErrors = [...errors, ...scssErrors, ...globalScssErrors];
199
+ return {
200
+ js: {
201
+ success: true,
202
+ errors: undefined,
203
+ warnings: undefined,
204
+ },
205
+ dts: {
206
+ success: errorCount === 0 && scssErrors.length === 0 && globalScssErrors.length === 0,
207
+ errors: allErrors.length > 0 ? allErrors : undefined,
208
+ diagnostics: serialized,
209
+ },
210
+ };
211
+ }
212
+ catch (err) {
213
+ const message = errNs.message(err);
214
+ return {
215
+ js: { success: false, errors: [message] },
216
+ dts: { success: false, errors: [message], diagnostics: [] },
217
+ };
218
+ }
219
+ }
220
+ /**
221
+ * Run NgtscProgram incremental rebuild (for watch mode)
222
+ */
223
+ export async function runNgtscRebuild(info, oldProg, modifiedResourceFiles) {
224
+ const parsedConfig = parseTsconfig(info.pkgDir);
225
+ const sourceFiles = getPackageSourceFiles(info.pkgDir, parsedConfig);
226
+ const compilerOptions = buildCompilerOptions(parsedConfig.options, info.pkgDir, info.output);
227
+ const pkgSrcDir = path.join(info.pkgDir, "src");
228
+ const { program, scssErrors, scssDependencies } = createNgtscProgramWithHost(sourceFiles, compilerOptions, info, info.output, oldProg, modifiedResourceFiles);
229
+ await program.compiler.analyzeAsync();
230
+ const tsProgram = program.getTsProgram();
231
+ const { errorCount, errors } = collectDiagnostics(program, tsProgram, pkgSrcDir);
232
+ if (info.output.js || info.output.dts) {
233
+ emitFiles(program, tsProgram, pkgSrcDir, info.output);
234
+ }
235
+ // Global SCSS compilation
236
+ const globalScssErrors = compileGlobalScss(info.pkgDir, buildScssLoadPaths(info));
237
+ const allErrors = [...errors, ...scssErrors, ...globalScssErrors];
238
+ return {
239
+ result: {
240
+ js: { success: true },
241
+ dts: {
242
+ success: errorCount === 0 && scssErrors.length === 0 && globalScssErrors.length === 0,
243
+ errors: allErrors.length > 0 ? allErrors : undefined,
244
+ },
245
+ },
246
+ program,
247
+ scssDependencies,
248
+ };
249
+ }
250
+ //# sourceMappingURL=ngtsc-build-core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngtsc-build-core.js","sourceRoot":"","sources":["..\\..\\src\\utils\\ngtsc-build-core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Add .js extension to extensionless relative import/export paths in ESM output.
3
+ *
4
+ * Matches: from "./foo", import("./bar"), from "../baz"
5
+ * Skips: bare specifiers ("lodash"), paths already ending with known extensions (.js, .json, .css, etc.)
6
+ */
7
+ export declare function addJsExtensionToImports(text: string): string;
8
+ /**
9
+ * Adjust sources path in .d.ts.map file to new location
10
+ */
11
+ export declare function adjustMapSources(content: string, originalDir: string, newDir: string): string;
12
+ /**
13
+ * Create path rewriter function for NgtscProgram output files (.js, .d.ts, .d.ts.map)
14
+ *
15
+ * TypeScript/NgtscProgram includes other package sources referenced via path alias (@simplysm/*)
16
+ * in rootDir calculation, so output is generated as nested structure dist/{pkgName}/src/...
17
+ * The returned function rewrites only this package's output to flat structure (dist/...)
18
+ * and ignores output from other packages.
19
+ *
20
+ * @returns (fileName, content) => [newPath, newContent] | null (null to skip writing)
21
+ */
22
+ export declare function createOutputPathRewriter(pkgDir: string): (fileName: string, content: string) => [string, string] | null;
23
+ //# sourceMappingURL=output-path-rewriter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-path-rewriter.d.ts","sourceRoot":"","sources":["..\\..\\src\\utils\\output-path-rewriter.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAc7F;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,GACb,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CA+BhE"}
@@ -0,0 +1,74 @@
1
+ import path from "path";
2
+ import { pathx } from "@simplysm/core-node";
3
+ /**
4
+ * Add .js extension to extensionless relative import/export paths in ESM output.
5
+ *
6
+ * Matches: from "./foo.js", import("./bar.js"), from "../baz.js"
7
+ * Skips: bare specifiers ("lodash"), paths already ending with known extensions (.js, .json, .css, etc.)
8
+ */
9
+ export function addJsExtensionToImports(text) {
10
+ return text.replace(/((?:from|import)\s*(?:\(\s*)?["'])(\.\.?\/[^"']*?)(["'](?:\s*\))?)/g, (_match, prefix, importPath, suffix) => {
11
+ if (/\.(js|mjs|cjs|json|css|wasm|node)$/i.test(importPath))
12
+ return _match;
13
+ return `${prefix}${importPath}.js${suffix}`;
14
+ });
15
+ }
16
+ /**
17
+ * Adjust sources path in .d.ts.map file to new location
18
+ */
19
+ export function adjustMapSources(content, originalDir, newDir) {
20
+ if (originalDir === newDir)
21
+ return content;
22
+ try {
23
+ const map = JSON.parse(content);
24
+ if (Array.isArray(map.sources)) {
25
+ map.sources = map.sources.map((source) => {
26
+ const absoluteSource = path.resolve(originalDir, source);
27
+ return path.relative(newDir, absoluteSource);
28
+ });
29
+ }
30
+ return JSON.stringify(map);
31
+ }
32
+ catch {
33
+ return content;
34
+ }
35
+ }
36
+ /**
37
+ * Create path rewriter function for NgtscProgram output files (.js, .d.ts, .d.ts.map)
38
+ *
39
+ * TypeScript/NgtscProgram includes other package sources referenced via path alias (@simplysm/*)
40
+ * in rootDir calculation, so output is generated as nested structure dist/{pkgName}/src/...
41
+ * The returned function rewrites only this package's output to flat structure (dist/...)
42
+ * and ignores output from other packages.
43
+ *
44
+ * @returns (fileName, content) => [newPath, newContent] | null (null to skip writing)
45
+ */
46
+ export function createOutputPathRewriter(pkgDir) {
47
+ const pkgName = path.basename(pkgDir);
48
+ const distDir = pathx.norm(path.join(pkgDir, "dist"));
49
+ const distPrefix = distDir + path.sep;
50
+ // Nested structure prefix for this package: dist/{pkgName}/src/
51
+ const ownNestedPrefix = pathx.norm(path.join(distDir, pkgName, "src")) + path.sep;
52
+ return (fileName, content) => {
53
+ fileName = pathx.norm(fileName);
54
+ if (!fileName.startsWith(distPrefix))
55
+ return null;
56
+ if (fileName.startsWith(ownNestedPrefix)) {
57
+ // Rewrite nested path to flat: dist/{pkgName}/src/... → dist/...
58
+ const flatPath = path.join(distDir, fileName.slice(ownNestedPrefix.length));
59
+ if (fileName.endsWith(".d.ts.map") || fileName.endsWith(".js.map")) {
60
+ content = adjustMapSources(content, path.dirname(fileName), path.dirname(flatPath));
61
+ }
62
+ return [flatPath, content];
63
+ }
64
+ // Nested output from other packages (dist/{otherPkg}/src/...) → ignore
65
+ const relFromDist = fileName.slice(distPrefix.length);
66
+ const segments = relFromDist.split(path.sep);
67
+ if (segments.length >= 3 && segments[1] === "src") {
68
+ return null;
69
+ }
70
+ // Already flat structure (package with no dependencies) → output as is
71
+ return [fileName, content];
72
+ };
73
+ }
74
+ //# sourceMappingURL=output-path-rewriter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-path-rewriter.js","sourceRoot":"","sources":["..\\..\\src\\utils\\output-path-rewriter.ts"],"names":[],"mappings":"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"}
@@ -1,48 +1,63 @@
1
1
  import { consola } from "consola";
2
- function formatBuildMessages(name, label, messages) {
3
- const lines = [`${name} (${label})`];
4
- for (const msg of messages) {
5
- for (const line of msg.split("\n")) {
6
- lines.push(` \u2192 ${line}`);
2
+ /**
3
+ * Format build warning/error messages
4
+ */
5
+ export function formatBuildMessages(name, label, messages) {
6
+ const lines = [`${name} (${label})`];
7
+ for (const msg of messages) {
8
+ for (const line of msg.split("\n")) {
9
+ lines.push(` → ${line}`);
10
+ }
7
11
  }
8
- }
9
- return lines.join("\n");
12
+ return lines.join("\n");
10
13
  }
11
- function printErrors(results) {
12
- for (const result of results.values()) {
13
- if (result.status === "error") {
14
- const typeLabel = result.type === "dts" ? "dts" : result.target;
15
- if (result.message != null && result.message !== "") {
16
- consola.error(formatBuildMessages(result.name, typeLabel, [result.message]));
17
- } else {
18
- consola.error(`${result.name} (${typeLabel})`);
19
- }
14
+ /**
15
+ * Print only errors
16
+ * @param results Build result status per package
17
+ */
18
+ export function printErrors(results) {
19
+ for (const result of results.values()) {
20
+ if (result.status === "error") {
21
+ const typeLabel = result.type === "dts" ? "dts" : result.target;
22
+ if (result.message != null && result.message !== "") {
23
+ consola.error(formatBuildMessages(result.name, typeLabel, [result.message]));
24
+ }
25
+ else {
26
+ consola.error(`${result.name} (${typeLabel})`);
27
+ }
28
+ }
20
29
  }
21
- }
22
30
  }
23
- function printServers(results, serverClientsMap) {
24
- const servers = [...results.values()].filter((r) => r.status === "running" && r.port != null);
25
- if (servers.length > 0) {
26
- process.stdout.write("\n");
27
- for (const server of servers) {
28
- if (server.target === "server") {
29
- const clients = serverClientsMap?.get(server.name) ?? [];
30
- if (clients.length > 0) {
31
- for (const clientName of clients) {
32
- consola.info(`[server] http://localhost:${server.port}/${clientName}/`);
33
- }
34
- } else {
35
- consola.info(`[server] http://localhost:${server.port}/`);
31
+ /**
32
+ * Print server URLs only
33
+ * @param results Build result status per package
34
+ * @param serverClientsMap List of connected clients per server
35
+ */
36
+ export function printServers(results, serverClientsMap) {
37
+ // Collect server info
38
+ const servers = [...results.values()].filter((r) => r.status === "running" && r.port != null);
39
+ // Print server info (add blank line before if present)
40
+ if (servers.length > 0) {
41
+ process.stdout.write("\n");
42
+ for (const server of servers) {
43
+ if (server.target === "server") {
44
+ // If server has connected clients, print only client URLs
45
+ const clients = serverClientsMap?.get(server.name) ?? [];
46
+ if (clients.length > 0) {
47
+ for (const clientName of clients) {
48
+ consola.info(`[server] http://localhost:${server.port}/${clientName}/`);
49
+ }
50
+ }
51
+ else {
52
+ // If no connected clients, print server root URL
53
+ consola.info(`[server] http://localhost:${server.port}/`);
54
+ }
55
+ }
56
+ else {
57
+ // Standalone client: print with name included
58
+ consola.info(`[server] http://localhost:${server.port}/${server.name}/`);
59
+ }
36
60
  }
37
- } else {
38
- consola.info(`[server] http://localhost:${server.port}/${server.name}/`);
39
- }
40
61
  }
41
- }
42
62
  }
43
- export {
44
- formatBuildMessages,
45
- printErrors,
46
- printServers
47
- };
48
- //# sourceMappingURL=output-utils.js.map
63
+ //# sourceMappingURL=output-utils.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/utils/output-utils.ts"],
4
- "mappings": "AAAA,SAAS,eAAe;AAMjB,SAAS,oBAAoB,MAAc,OAAe,UAA4B;AAC3F,QAAM,QAAkB,CAAC,GAAG,IAAI,KAAK,KAAK,GAAG;AAC7C,aAAW,OAAO,UAAU;AAC1B,eAAW,QAAQ,IAAI,MAAM,IAAI,GAAG;AAClC,YAAM,KAAK,YAAO,IAAI,EAAE;AAAA,IAC1B;AAAA,EACF;AACA,SAAO,MAAM,KAAK,IAAI;AACxB;AAMO,SAAS,YAAY,SAAyC;AACnE,aAAW,UAAU,QAAQ,OAAO,GAAG;AACrC,QAAI,OAAO,WAAW,SAAS;AAC7B,YAAM,YAAY,OAAO,SAAS,QAAQ,QAAQ,OAAO;AACzD,UAAI,OAAO,WAAW,QAAQ,OAAO,YAAY,IAAI;AACnD,gBAAQ,MAAM,oBAAoB,OAAO,MAAM,WAAW,CAAC,OAAO,OAAO,CAAC,CAAC;AAAA,MAC7E,OAAO;AACL,gBAAQ,MAAM,GAAG,OAAO,IAAI,KAAK,SAAS,GAAG;AAAA,MAC/C;AAAA,IACF;AAAA,EACF;AACF;AAOO,SAAS,aACd,SACA,kBACM;AAEN,QAAM,UAAU,CAAC,GAAG,QAAQ,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,aAAa,EAAE,QAAQ,IAAI;AAG5F,MAAI,QAAQ,SAAS,GAAG;AACtB,YAAQ,OAAO,MAAM,IAAI;AACzB,eAAW,UAAU,SAAS;AAC5B,UAAI,OAAO,WAAW,UAAU;AAE9B,cAAM,UAAU,kBAAkB,IAAI,OAAO,IAAI,KAAK,CAAC;AACvD,YAAI,QAAQ,SAAS,GAAG;AACtB,qBAAW,cAAc,SAAS;AAChC,oBAAQ,KAAK,6BAA6B,OAAO,IAAI,IAAI,UAAU,GAAG;AAAA,UACxE;AAAA,QACF,OAAO;AAEL,kBAAQ,KAAK,6BAA6B,OAAO,IAAI,GAAG;AAAA,QAC1D;AAAA,MACF,OAAO;AAEL,gBAAQ,KAAK,6BAA6B,OAAO,IAAI,IAAI,OAAO,IAAI,GAAG;AAAA,MACzE;AAAA,IACF;AAAA,EACF;AACF;",
5
- "names": []
6
- }
1
+ {"version":3,"file":"output-utils.js","sourceRoot":"","sources":["..\\..\\src\\utils\\output-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,KAAa,EAAE,QAAkB;IACjF,MAAM,KAAK,GAAa,CAAC,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC,CAAC;IAC/C,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAAiC;IAC3D,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACtC,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;YAChE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;gBACpD,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/E,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,KAAK,SAAS,GAAG,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAiC,EACjC,gBAAwC;IAExC,sBAAsB;IACtB,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;IAE9F,uDAAuD;IACvD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,0DAA0D;gBAC1D,MAAM,OAAO,GAAG,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACzD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE,CAAC;wBACjC,OAAO,CAAC,IAAI,CAAC,6BAA6B,MAAM,CAAC,IAAI,IAAI,UAAU,GAAG,CAAC,CAAC;oBAC1E,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,iDAAiD;oBACjD,OAAO,CAAC,IAAI,CAAC,6BAA6B,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,8CAA8C;gBAC9C,OAAO,CAAC,IAAI,CAAC,6BAA6B,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -8,6 +8,14 @@ export interface DepsResult {
8
8
  replaceDeps: string[];
9
9
  }
10
10
  export declare function collectDeps(pkgDir: string, cwd: string, replaceDepsConfig?: Record<string, string>): DepsResult;
11
+ /**
12
+ * Validate that all target names exist in the sdConfig packages.
13
+ * Throws SdError if any unknown targets are found.
14
+ * Does nothing when targets is empty.
15
+ * @param targets - package name list to validate
16
+ * @param packages - sdConfig.packages object
17
+ */
18
+ export declare function validateTargets(targets: string[], packages: Record<string, unknown>): void;
11
19
  /**
12
20
  * Filter packages config by targets (excluding scripts target)
13
21
  * @param packages Package config map
@@ -1 +1 @@
1
- {"version":3,"file":"package-utils.d.ts","sourceRoot":"","sources":["..\\..\\src\\utils\\package-utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAI1D;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQxD;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACzC,UAAU,CA8DZ;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC,EACrD,OAAO,EAAE,MAAM,EAAE,GAChB,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAsBjC"}
1
+ {"version":3,"file":"package-utils.d.ts","sourceRoot":"","sources":["..\\..\\src\\utils\\package-utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAI1D;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQxD;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACzC,UAAU,CA8DZ;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI,CAON;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC,EACrD,OAAO,EAAE,MAAM,EAAE,GAChB,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAsBjC"}