@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
@@ -1,265 +0,0 @@
1
- import { describe, expect, it, vi, beforeEach, afterEach } from "vitest";
2
- import { consola, LogLevels } from "consola";
3
-
4
- // Mock runLint, runTypecheck, runWatch, runCheck
5
- vi.mock("../src/commands/lint", () => ({
6
- runLint: vi.fn(),
7
- }));
8
-
9
- vi.mock("../src/commands/typecheck", () => ({
10
- runTypecheck: vi.fn(),
11
- }));
12
-
13
- vi.mock("../src/commands/check", () => ({
14
- runCheck: vi.fn(),
15
- }));
16
-
17
- vi.mock("../src/commands/watch", () => ({
18
- runWatch: vi.fn(),
19
- }));
20
-
21
- vi.mock("../src/commands/build", () => ({
22
- runBuild: vi.fn(),
23
- }));
24
-
25
- vi.mock("../src/commands/publish", () => ({
26
- runPublish: vi.fn(),
27
- }));
28
-
29
- import { createCliParser } from "../src/sd-cli-entry";
30
- import { runLint } from "../src/commands/lint";
31
- import { runTypecheck } from "../src/commands/typecheck";
32
- import { runCheck } from "../src/commands/check";
33
- import { runWatch } from "../src/commands/watch";
34
- import { runBuild } from "../src/commands/build";
35
- import { runPublish } from "../src/commands/publish";
36
-
37
- describe("sd-cli", () => {
38
- let originalConsolaLevel: number;
39
-
40
- beforeEach(() => {
41
- vi.clearAllMocks();
42
- vi.mocked(runLint).mockResolvedValue(undefined);
43
- vi.mocked(runTypecheck).mockResolvedValue(undefined);
44
- vi.mocked(runCheck).mockResolvedValue(undefined);
45
- vi.mocked(runWatch).mockResolvedValue(undefined);
46
- vi.mocked(runBuild).mockResolvedValue(undefined);
47
- vi.mocked(runPublish).mockResolvedValue(undefined);
48
- originalConsolaLevel = consola.level;
49
- });
50
-
51
- afterEach(() => {
52
- vi.restoreAllMocks();
53
- consola.level = originalConsolaLevel;
54
- });
55
-
56
- describe("lint command", () => {
57
- it("calls runLint with correct options", async () => {
58
- await createCliParser(["lint", "packages/core-common", "--fix"]).parse();
59
-
60
- expect(runLint).toHaveBeenCalledWith({
61
- targets: ["packages/core-common"],
62
- fix: true,
63
- timing: false,
64
- });
65
- });
66
-
67
- it("passes --timing option correctly", async () => {
68
- await createCliParser(["lint", "--timing"]).parse();
69
-
70
- expect(runLint).toHaveBeenCalledWith({
71
- targets: [],
72
- fix: false,
73
- timing: true,
74
- });
75
- });
76
-
77
- });
78
-
79
- describe("typecheck command", () => {
80
- it("calls runTypecheck with correct options", async () => {
81
- await createCliParser(["typecheck", "packages/cli"]).parse();
82
-
83
- expect(runTypecheck).toHaveBeenCalledWith({
84
- targets: ["packages/cli"],
85
- options: [],
86
- });
87
- });
88
-
89
- it("passes multiple targets to typecheck command", async () => {
90
- await createCliParser(["typecheck", "packages/core-common", "packages/core-node"]).parse();
91
-
92
- expect(runTypecheck).toHaveBeenCalledWith({
93
- targets: ["packages/core-common", "packages/core-node"],
94
- options: [],
95
- });
96
- });
97
-
98
- it("passes --options option correctly", async () => {
99
- await createCliParser(["typecheck", "-o", "dev", "-o", "test"]).parse();
100
-
101
- expect(runTypecheck).toHaveBeenCalledWith({
102
- targets: [],
103
- options: ["dev", "test"],
104
- });
105
- });
106
- });
107
-
108
- describe("check command", () => {
109
- it("calls runCheck with correct options", async () => {
110
- await createCliParser(["check", "packages/core-common", "--type", "typecheck,lint"]).parse();
111
-
112
- expect(runCheck).toHaveBeenCalledWith({
113
- targets: ["packages/core-common"],
114
- types: ["typecheck", "lint"],
115
- });
116
- });
117
-
118
- it("specifies single type using --type option", async () => {
119
- await createCliParser(["check", "--type", "test"]).parse();
120
-
121
- expect(runCheck).toHaveBeenCalledWith({
122
- targets: [],
123
- types: ["test"],
124
- });
125
- });
126
- });
127
-
128
- describe("watch command", () => {
129
- it("calls runWatch with correct options", async () => {
130
- await createCliParser(["watch", "solid"]).parse();
131
-
132
- expect(runWatch).toHaveBeenCalledWith({
133
- targets: ["solid"],
134
- options: [],
135
- });
136
- });
137
-
138
- });
139
-
140
- describe("build command", () => {
141
- it("calls runBuild with correct options", async () => {
142
- await createCliParser(["build", "solid", "core-common"]).parse();
143
-
144
- expect(runBuild).toHaveBeenCalledWith({
145
- targets: ["solid", "core-common"],
146
- options: [],
147
- });
148
- });
149
-
150
- });
151
-
152
- describe("publish command", () => {
153
- it("calls runPublish with correct options", async () => {
154
- await createCliParser(["publish", "solid", "core-common"]).parse();
155
-
156
- expect(runPublish).toHaveBeenCalledWith({
157
- targets: ["solid", "core-common"],
158
- noBuild: false,
159
- dryRun: false,
160
- options: [],
161
- });
162
- });
163
-
164
- it("passes --no-build option correctly", async () => {
165
- await createCliParser(["publish", "--no-build"]).parse();
166
-
167
- expect(runPublish).toHaveBeenCalledWith({
168
- targets: [],
169
- noBuild: true,
170
- dryRun: false,
171
- options: [],
172
- });
173
- });
174
-
175
- it("passes --options option correctly", async () => {
176
- await createCliParser(["publish", "-o", "prod", "-o", "test"]).parse();
177
-
178
- expect(runPublish).toHaveBeenCalledWith({
179
- targets: [],
180
- noBuild: false,
181
- dryRun: false,
182
- options: ["prod", "test"],
183
- });
184
- });
185
-
186
- it("passes all options together", async () => {
187
- await createCliParser(["publish", "solid", "--no-build", "-o", "prod"]).parse();
188
-
189
- expect(runPublish).toHaveBeenCalledWith({
190
- targets: ["solid"],
191
- noBuild: true,
192
- dryRun: false,
193
- options: ["prod"],
194
- });
195
- });
196
-
197
- it("passes --dry-run option correctly", async () => {
198
- await createCliParser(["publish", "--dry-run"]).parse();
199
-
200
- expect(runPublish).toHaveBeenCalledWith({
201
- targets: [],
202
- noBuild: false,
203
- dryRun: true,
204
- options: [],
205
- });
206
- });
207
-
208
- });
209
-
210
- describe("global --debug option", () => {
211
- it("sets consola.level to debug with --debug option", async () => {
212
- await createCliParser(["--debug", "lint"]).parse();
213
-
214
- expect(consola.level).toBe(LogLevels.debug);
215
- });
216
-
217
- });
218
-
219
- describe("--help shows all commands", () => {
220
- it("shows help for all commands", async () => {
221
- const logSpy = vi.spyOn(console, "log").mockImplementation(() => {});
222
-
223
- await createCliParser(["--help"]).parse();
224
-
225
- const output = logSpy.mock.calls.map((c) => c.join(" ")).join("\n");
226
-
227
- // All command names are included in the output
228
- for (const cmd of ["lint", "typecheck", "check", "watch", "dev", "build", "device", "init", "publish", "replace-deps"]) {
229
- expect(output).toContain(cmd);
230
- }
231
-
232
- // Each command's unique options are included in the output
233
- expect(output).toContain("--fix");
234
- expect(output).toContain("--timing");
235
- expect(output).toContain("--no-build");
236
- expect(output).toContain("--dry-run");
237
-
238
- logSpy.mockRestore();
239
- });
240
- });
241
-
242
- describe("error handling", () => {
243
- it("throws error on unknown command", async () => {
244
- let errorMessage: string | undefined;
245
- const parser = createCliParser(["unknown"]).fail((msg) => {
246
- errorMessage = msg;
247
- });
248
-
249
- await parser.parse();
250
-
251
- expect(errorMessage).toMatch(/Unknown argument|알 수 없는 인수/);
252
- });
253
-
254
- it("throws error when no command specified", async () => {
255
- let errorMessage: string | undefined;
256
- const parser = createCliParser([]).fail((msg) => {
257
- errorMessage = msg;
258
- });
259
-
260
- await parser.parse();
261
-
262
- expect(errorMessage).toMatch(/Please specify a command/);
263
- });
264
- });
265
- });
@@ -1,19 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { getMimeType } from "../src/utils/vite-config";
3
-
4
- describe("getMimeType", () => {
5
- it("returns correct MIME for common web types", () => {
6
- expect(getMimeType(".html")).toBe("text/html");
7
- expect(getMimeType(".css")).toBe("text/css");
8
- expect(getMimeType(".js")).toBe("text/javascript");
9
- expect(getMimeType(".json")).toBe("application/json");
10
- expect(getMimeType(".png")).toBe("image/png");
11
- expect(getMimeType(".svg")).toBe("image/svg+xml");
12
- expect(getMimeType(".woff2")).toBe("font/woff2");
13
- });
14
-
15
- it("returns application/octet-stream for unknown extensions", () => {
16
- expect(getMimeType(".xyz")).toBe("application/octet-stream");
17
- expect(getMimeType("")).toBe("application/octet-stream");
18
- });
19
- });
@@ -1,30 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import path from "path";
3
- import { getTailwindConfigDeps } from "../src/utils/tailwind-config-deps";
4
-
5
- const packagesDir = path.resolve(import.meta.dirname, "../..");
6
-
7
- describe("getTailwindConfigDeps", () => {
8
- it("includes solid tailwind config in dependencies of solid-demo tailwind config", () => {
9
- const configPath = path.join(packagesDir, "solid-demo/tailwind.config.ts");
10
- const deps = getTailwindConfigDeps(configPath, ["@simplysm"]);
11
-
12
- const solidConfig = path.join(packagesDir, "solid/tailwind.config.ts");
13
- expect(deps).toContain(solidConfig);
14
- });
15
-
16
- it("includes the config itself in dependencies", () => {
17
- const configPath = path.join(packagesDir, "solid-demo/tailwind.config.ts");
18
- const deps = getTailwindConfigDeps(configPath, ["@simplysm"]);
19
-
20
- expect(deps).toContain(path.resolve(configPath));
21
- });
22
-
23
- it("excludes packages outside @simplysm/ (like tailwindcss/colors)", () => {
24
- const configPath = path.join(packagesDir, "solid/tailwind.config.ts");
25
- const deps = getTailwindConfigDeps(configPath, ["@simplysm"]);
26
-
27
- // solid/tailwind.config.ts imports tailwindcss/colors but does not track it
28
- expect(deps).toHaveLength(1); // only itself
29
- });
30
- });
@@ -1,70 +0,0 @@
1
- import { describe, test, expect, beforeEach, afterEach } from "vitest";
2
- import path from "path";
3
- import os from "os";
4
- import fs from "fs";
5
- import { renderTemplateDir } from "../src/utils/template";
6
-
7
- describe("renderTemplateDir", () => {
8
- let tmpDir: string;
9
- let srcDir: string;
10
- let destDir: string;
11
-
12
- beforeEach(() => {
13
- tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "sd-template-test-"));
14
- srcDir = path.join(tmpDir, "src");
15
- destDir = path.join(tmpDir, "dest");
16
- fs.mkdirSync(srcDir, { recursive: true });
17
- });
18
-
19
- afterEach(() => {
20
- fs.rmSync(tmpDir, { recursive: true });
21
- });
22
-
23
- test("renders .hbs files with context and removes .hbs extension", async () => {
24
- fs.writeFileSync(path.join(srcDir, "hello.txt.hbs"), "Hello, {{name}}!");
25
- await renderTemplateDir(srcDir, destDir, { name: "World" });
26
- expect(fs.readFileSync(path.join(destDir, "hello.txt"), "utf-8")).toBe("Hello, World!");
27
- });
28
-
29
- test("copies non-.hbs files as-is (binary safe)", async () => {
30
- const binaryData = Uint8Array.from([0x00, 0x01, 0xff, 0xfe]);
31
- fs.writeFileSync(path.join(srcDir, "icon.bin"), binaryData);
32
- await renderTemplateDir(srcDir, destDir, {});
33
- const copied = fs.readFileSync(path.join(destDir, "icon.bin"));
34
- expect(new Uint8Array(copied)).toEqual(binaryData);
35
- });
36
-
37
- test("replaces directory name placeholders", async () => {
38
- const subDir = path.join(srcDir, "__CLIENT__");
39
- fs.mkdirSync(subDir, { recursive: true });
40
- fs.writeFileSync(path.join(subDir, "file.txt.hbs"), "pkg: {{clientName}}");
41
- await renderTemplateDir(
42
- srcDir,
43
- destDir,
44
- { clientName: "client-admin" },
45
- { __CLIENT__: "client-admin" },
46
- );
47
- expect(fs.readFileSync(path.join(destDir, "client-admin", "file.txt"), "utf-8")).toBe(
48
- "pkg: client-admin",
49
- );
50
- });
51
-
52
- test("skips file when .hbs renders to empty/whitespace", async () => {
53
- fs.writeFileSync(path.join(srcDir, "optional.ts.hbs"), "{{#if enabled}}content{{/if}}");
54
- await renderTemplateDir(srcDir, destDir, { enabled: false });
55
- expect(fs.existsSync(path.join(destDir, "optional.ts"))).toBe(false);
56
- });
57
-
58
- test("handles nested directories", async () => {
59
- fs.mkdirSync(path.join(srcDir, "a", "b"), { recursive: true });
60
- fs.writeFileSync(path.join(srcDir, "a", "b", "deep.txt.hbs"), "{{value}}");
61
- await renderTemplateDir(srcDir, destDir, { value: "nested" });
62
- expect(fs.readFileSync(path.join(destDir, "a", "b", "deep.txt"), "utf-8")).toBe("nested");
63
- });
64
-
65
- test("preserves Handlebars {{#if}} conditional blocks", async () => {
66
- fs.writeFileSync(path.join(srcDir, "test.txt.hbs"), "start\n{{#if flag}}included\n{{/if}}end");
67
- await renderTemplateDir(srcDir, destDir, { flag: true });
68
- expect(fs.readFileSync(path.join(destDir, "test.txt"), "utf-8")).toBe("start\nincluded\nend");
69
- });
70
- });
@@ -1,35 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { createViteConfig } from "../src/utils/vite-config";
3
- import path from "path";
4
-
5
- describe("createViteConfig exclude option", () => {
6
- const baseOptions = {
7
- pkgDir: path.resolve(__dirname, ".."),
8
- name: "test-app",
9
- tsconfigPath: path.resolve(__dirname, "../../..", "tsconfig.json"),
10
- compilerOptions: {},
11
- mode: "build" as const,
12
- };
13
-
14
- it("should set optimizeDeps.exclude when exclude option is provided", () => {
15
- const config = createViteConfig({ ...baseOptions, exclude: ["jeep-sqlite"] });
16
-
17
- expect(config.optimizeDeps?.exclude).toContain("jeep-sqlite");
18
- });
19
-
20
- it("should not set optimizeDeps.exclude when exclude option is not provided", () => {
21
- const config = createViteConfig(baseOptions);
22
-
23
- expect(config.optimizeDeps?.exclude).toBeUndefined();
24
- });
25
-
26
- it("should handle multiple exclude packages", () => {
27
- const config = createViteConfig({
28
- ...baseOptions,
29
- exclude: ["jeep-sqlite", "electron"],
30
- });
31
-
32
- expect(config.optimizeDeps?.exclude).toContain("jeep-sqlite");
33
- expect(config.optimizeDeps?.exclude).toContain("electron");
34
- });
35
- });
@@ -1,38 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { createViteConfig } from "../src/utils/vite-config";
3
- import path from "path";
4
-
5
- describe("createViteConfig capacitor overrides", () => {
6
- const baseOptions = {
7
- pkgDir: path.resolve(__dirname, ".."),
8
- name: "test-app",
9
- tsconfigPath: path.resolve(__dirname, "../../..", "tsconfig.json"),
10
- compilerOptions: {},
11
- mode: "build" as const,
12
- };
13
-
14
- it("should set build.outDir when outDir option is provided", () => {
15
- const outDir = path.join(baseOptions.pkgDir, ".capacitor", "www");
16
- const config = createViteConfig({ ...baseOptions, outDir });
17
-
18
- expect(config.build?.outDir).toBe(outDir);
19
- });
20
-
21
- it("should not set build.outDir when outDir option is not provided", () => {
22
- const config = createViteConfig(baseOptions);
23
-
24
- expect(config.build?.outDir).toBeUndefined();
25
- });
26
-
27
- it("should override base when base option is provided", () => {
28
- const config = createViteConfig({ ...baseOptions, base: "./" });
29
-
30
- expect(config.base).toBe("./");
31
- });
32
-
33
- it("should use /{name}/ as base when base option is not provided", () => {
34
- const config = createViteConfig(baseOptions);
35
-
36
- expect(config.base).toBe("/test-app/");
37
- });
38
- });
@@ -1,97 +0,0 @@
1
- import { describe, it, expect, beforeEach, afterEach } from "vitest";
2
- import path from "path";
3
- import os from "os";
4
- import fs from "fs/promises";
5
- import type esbuild from "esbuild";
6
- import { writeChangedOutputFiles } from "../src/utils/esbuild-config";
7
-
8
- function makeOutputFile(filePath: string, text: string): esbuild.OutputFile {
9
- const contents = new TextEncoder().encode(text);
10
- return { path: filePath, contents, text, hash: "" };
11
- }
12
-
13
- describe("writeChangedOutputFiles", () => {
14
- let tmpDir: string;
15
-
16
- beforeEach(async () => {
17
- tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), "esbuild-write-"));
18
- });
19
-
20
- afterEach(async () => {
21
- await fs.rm(tmpDir, { recursive: true, force: true });
22
- });
23
-
24
- it("writes new files that don't exist on disk", async () => {
25
- const outFile = makeOutputFile(path.join(tmpDir, "index.js"), "const x = 1;\n");
26
- await writeChangedOutputFiles([outFile]);
27
-
28
- const result = await fs.readFile(path.join(tmpDir, "index.js"), "utf-8");
29
- expect(result).toBe("const x = 1;\n");
30
- });
31
-
32
- it("skips writing when content is identical", async () => {
33
- const filePath = path.join(tmpDir, "index.js");
34
- await fs.writeFile(filePath, "const x = 1;\n");
35
- const statBefore = await fs.stat(filePath);
36
-
37
- // Small delay to ensure mtime would differ if file were rewritten
38
- await new Promise((r) => setTimeout(r, 50));
39
-
40
- const outFile = makeOutputFile(filePath, "const x = 1;\n");
41
- await writeChangedOutputFiles([outFile]);
42
-
43
- const statAfter = await fs.stat(filePath);
44
- expect(statAfter.mtimeMs).toBe(statBefore.mtimeMs);
45
- });
46
-
47
- it("writes when content differs", async () => {
48
- const filePath = path.join(tmpDir, "index.js");
49
- await fs.writeFile(filePath, "const x = 1;\n");
50
-
51
- const outFile = makeOutputFile(filePath, "const x = 2;\n");
52
- await writeChangedOutputFiles([outFile]);
53
-
54
- const result = await fs.readFile(filePath, "utf-8");
55
- expect(result).toBe("const x = 2;\n");
56
- });
57
-
58
- it("adds .js extension to relative imports in .js files", async () => {
59
- const filePath = path.join(tmpDir, "index.js");
60
- const outFile = makeOutputFile(filePath, 'import { foo } from "./utils";\nexport { foo };\n');
61
- await writeChangedOutputFiles([outFile]);
62
-
63
- const result = await fs.readFile(filePath, "utf-8");
64
- expect(result).toBe('import { foo } from "./utils.js";\nexport { foo };\n');
65
- });
66
-
67
- it("does not add .js extension to imports that already have known extensions", async () => {
68
- const filePath = path.join(tmpDir, "index.js");
69
- const outFile = makeOutputFile(
70
- filePath,
71
- 'import "./styles.css";\nimport data from "./data.json";\n',
72
- );
73
- await writeChangedOutputFiles([outFile]);
74
-
75
- const result = await fs.readFile(filePath, "utf-8");
76
- expect(result).toBe('import "./styles.css";\nimport data from "./data.json";\n');
77
- });
78
-
79
- it("does not rewrite imports in .js.map files", async () => {
80
- const filePath = path.join(tmpDir, "index.js.map");
81
- const content = '{"sources":["./utils"]}';
82
- const outFile = makeOutputFile(filePath, content);
83
- await writeChangedOutputFiles([outFile]);
84
-
85
- const result = await fs.readFile(filePath, "utf-8");
86
- expect(result).toBe(content);
87
- });
88
-
89
- it("creates parent directories if needed", async () => {
90
- const filePath = path.join(tmpDir, "sub", "deep", "index.js");
91
- const outFile = makeOutputFile(filePath, "export {};\n");
92
- await writeChangedOutputFiles([outFile]);
93
-
94
- const result = await fs.readFile(filePath, "utf-8");
95
- expect(result).toBe("export {};\n");
96
- });
97
- });