@simplysm/sd-cli 13.0.99 → 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,34 +0,0 @@
1
- .tmp
2
- .playwright-cli
3
- .coverage
4
- __pycache__
5
- .claude/worktrees
6
-
7
- .cache
8
- node_modules
9
- packages/*/.*
10
- packages/*/dist
11
- packages/sd-claude/claude
12
- *.~*
13
- ~*.*
14
-
15
- signCert.der
16
- signPri.key
17
-
18
- # TypeScript 컴파일 결과물 (소스 디렉토리에서 제외)
19
- packages/*/src/**/*.js
20
- packages/*/src/**/*.js.map
21
- packages/*/src/**/*.d.ts
22
- !packages/*/src/env.d.ts
23
- packages/*/src/**/*.d.ts.map
24
-
25
- packages/*/tests/**/*.js
26
- packages/*/tests/**/*.js.map
27
- packages/*/tests/**/*.d.ts
28
- !packages/*/tests/vitest-env.d.ts
29
- packages/*/tests/**/*.d.ts.map
30
-
31
- tests/**/*.js
32
- tests/**/*.js.map
33
- tests/**/*.d.ts
34
- tests/**/*.d.ts.map
@@ -1 +0,0 @@
1
- side-effects-cache=false
@@ -1 +0,0 @@
1
- *.md
@@ -1,12 +0,0 @@
1
- printWidth: 100
2
- tabWidth: 2
3
- useTabs: false
4
- semi: true
5
- quoteProps: consistent
6
- trailingComma: all
7
- bracketSpacing: true
8
- bracketSameLine: false
9
- arrowParens: always
10
- endOfLine: lf
11
- htmlWhitespaceSensitivity: ignore
12
- embeddedLanguageFormatting: auto
@@ -1,15 +0,0 @@
1
- import simplysmRecommended from "@simplysm/lint/eslint-recommended";
2
- import { globalIgnores } from "eslint/config";
3
-
4
- export default [
5
- globalIgnores([".legacy/**"]),
6
- ...simplysmRecommended,
7
- {
8
- files: ["**/*.{ts,tsx}"],
9
- settings: {
10
- tailwindcss: {
11
- config: "packages/client-admin/tailwind.config.ts",
12
- },
13
- },
14
- },
15
- ];
@@ -1,3 +0,0 @@
1
- [tools]
2
- node = "20"
3
- pnpm = "latest"
@@ -1,32 +0,0 @@
1
- {
2
- "name": "{{projectName}}",
3
- "version": "1.0.0",
4
- "description": "{{description}}",
5
- "type": "module",
6
- "private": true,
7
- "scripts": {
8
- "dev": "sd-cli dev",
9
- "build": "sd-cli build",
10
- "pub": "sd-cli publish",
11
- "pub:no-build": "sd-cli publish --no-build",
12
- "---": "",
13
- "typecheck": "sd-cli typecheck",
14
- "lint": "sd-cli lint",
15
- "lint:fix": "sd-cli lint --fix",
16
- "check": "sd-cli check",
17
- "test": "vitest run",
18
- "postinstall": "playwright-cli install --skills"
19
- },
20
- "devDependencies": {
21
- "@simplysm/lint": "~13.0.99",
22
- "@simplysm/sd-cli": "~13.0.99",
23
- "@simplysm/sd-claude": "~13.0.99",
24
- "@playwright/cli": "^0.1.1",
25
- "@types/node": "^20.19.37",
26
- "eslint": "^9.39.4",
27
- "prettier": "^3.8.1",
28
- "typescript": "^5.9.3",
29
- "vite-tsconfig-paths": "^6.1.1",
30
- "vitest": "^4.1.0"
31
- }
32
- }
@@ -1,144 +0,0 @@
1
- <!doctype html>
2
- <html lang="ko">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <link rel="icon" href="favicon.ico" />
7
- <title>{{projectName}}</title>
8
- <script>
9
- (function () {
10
- var theme = localStorage.getItem("client-admin.theme");
11
- if (theme === "dark") {
12
- document.documentElement.classList.add("dark");
13
- } else if (theme === "light") {
14
- document.documentElement.classList.remove("dark");
15
- }
16
- })();
17
- </script>
18
- <style>
19
- * {
20
- box-sizing: border-box;
21
- }
22
-
23
- html,
24
- body,
25
- #root {
26
- padding: 0;
27
- margin: 0;
28
- width: 100%;
29
- height: 100%;
30
- }
31
-
32
- .app-loading {
33
- display: flex;
34
- flex-direction: column;
35
- align-items: center;
36
- justify-content: center;
37
- height: 100%;
38
- width: 100%;
39
- gap: 24px;
40
- background: #f9fafb;
41
- padding-bottom: 128px;
42
- position: relative;
43
- overflow: hidden;
44
- }
45
-
46
- .dark .app-loading {
47
- background: #18181b;
48
- }
49
-
50
- @media (prefers-color-scheme: dark) {
51
- .app-loading {
52
- background: #18181b;
53
- }
54
-
55
- .app-loading-spinner::before {
56
- border-top-color: #3b82f6;
57
- border-right-color: #2563eb;
58
- }
59
-
60
- .app-loading-spinner::after {
61
- border-bottom-color: #60a5fa;
62
- border-left-color: #3b82f6;
63
- }
64
- }
65
-
66
- .app-loading img {
67
- width: auto;
68
- position: relative;
69
- z-index: 1;
70
- margin-bottom: 32px;
71
- }
72
-
73
- .app-loading-spinner {
74
- width: 48px;
75
- height: 48px;
76
- position: relative;
77
- z-index: 1;
78
- }
79
-
80
- .app-loading-spinner::before {
81
- content: "";
82
- position: absolute;
83
- inset: 0;
84
- border: 3px solid transparent;
85
- border-radius: 50%;
86
- border-top-color: #60a5fa;
87
- border-right-color: #3b82f6;
88
- animation: spinClockwise 1.2s cubic-bezier(0.68, -0.55, 0.265, 1.55) infinite;
89
- }
90
-
91
- .dark .app-loading-spinner::before {
92
- border-top-color: #3b82f6;
93
- border-right-color: #2563eb;
94
- }
95
-
96
- .app-loading-spinner::after {
97
- content: "";
98
- position: absolute;
99
- inset: 8px;
100
- border: 3px solid transparent;
101
- border-radius: 50%;
102
- border-bottom-color: #93c5fd;
103
- border-left-color: #60a5fa;
104
- animation: spinCounterClockwise 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55) infinite;
105
- }
106
-
107
- .dark .app-loading-spinner::after {
108
- border-bottom-color: #60a5fa;
109
- border-left-color: #3b82f6;
110
- }
111
-
112
- @keyframes spinClockwise {
113
- 0% {
114
- transform: rotate(0deg);
115
- opacity: 1;
116
- }
117
- 100% {
118
- transform: rotate(360deg);
119
- opacity: 1;
120
- }
121
- }
122
-
123
- @keyframes spinCounterClockwise {
124
- 0% {
125
- transform: rotate(0deg);
126
- opacity: 0.8;
127
- }
128
- 100% {
129
- transform: rotate(-360deg);
130
- opacity: 0.8;
131
- }
132
- }
133
- </style>
134
- </head>
135
- <body>
136
- <div id="root">
137
- <div class="app-loading">
138
- <img src="assets/logo-landscape.png" alt="logo" />
139
- <div class="app-loading-spinner"></div>
140
- </div>
141
- </div>
142
- <script type="module" src="src/main.tsx"></script>
143
- </body>
144
- </html>
@@ -1,27 +0,0 @@
1
- {
2
- "name": "@{{projectName}}/client-admin",
3
- "version": "1.0.0",
4
- "description": "{{description}}",
5
- "type": "module",
6
- "private": true,
7
- "dependencies": {
8
- "@{{projectName}}/db-main": "workspace:*",
9
- "@simplysm/core-browser": "~13.0.99",
10
- "@simplysm/core-common": "~13.0.99",
11
- "@simplysm/excel": "~13.0.99",
12
- "@simplysm/orm-common": "~13.0.99",
13
- "@simplysm/service-client": "~13.0.99",
14
- "@simplysm/service-common": "~13.0.99",
15
- "@simplysm/solid": "~13.0.99",
16
- "@solid-primitives/event-listener": "^2.4.5",
17
- "@solidjs/router": "^0.15.4",
18
- "@tabler/icons-solidjs": "^3.40.0",
19
- "clsx": "^2.1.1",
20
- "consola": "^3.4.2",
21
- "solid-js": "^1.9.11",
22
- "zod": "^4.3.6"
23
- },
24
- "devDependencies": {
25
- "tailwindcss": "^3.4.19"
26
- }
27
- }
@@ -1,42 +0,0 @@
1
- import type { RouteSectionProps } from "@solidjs/router";
2
- import { createEventListener } from "@solid-primitives/event-listener";
3
- import { useDialog } from "@simplysm/solid";
4
- import { env } from "@simplysm/core-common";
5
- import { DevDialog } from "./dev/DevDialog";
6
-
7
- export function App(props: RouteSectionProps) {
8
- const dialog = useDialog();
9
-
10
- if (env.DEV) {
11
- let preservedKeys: string[] = [];
12
-
13
- createEventListener(document, "keydown", async (event) => {
14
- if (
15
- event.ctrlKey &&
16
- event.altKey &&
17
- event.shiftKey &&
18
- (event.key === "F11" || event.key === "F12")
19
- ) {
20
- event.preventDefault();
21
- event.stopPropagation();
22
-
23
- preservedKeys.push(event.key);
24
- preservedKeys = preservedKeys.slice(-4);
25
-
26
- if (
27
- preservedKeys[0] === "F12" &&
28
- preservedKeys[1] === "F11" &&
29
- preservedKeys[2] === "F12" &&
30
- preservedKeys[3] === "F12"
31
- ) {
32
- preservedKeys = [];
33
- await dialog.show(() => <DevDialog />, {
34
- header: "DEV",
35
- });
36
- }
37
- }
38
- });
39
- }
40
-
41
- return <>{props.children}</>;
42
- }
@@ -1,34 +0,0 @@
1
- import { createSignal } from "solid-js";
2
- import { BusyContainer, Button, useNotification } from "@simplysm/solid";
3
- import { useAppService } from "../providers/AppServiceProvider";
4
- import { useAppStructure } from "../providers/AppStructureProvider";
5
-
6
- export function DevDialog() {
7
- const serv = useAppService();
8
- const noti = useNotification();
9
- const appStructure = useAppStructure();
10
- const [busyCount, setBusyCount] = createSignal(0);
11
-
12
- const handleInitDb = async () => {
13
- setBusyCount((c) => c + 1);
14
- try {
15
- const permCodes = appStructure.allFlatPerms.map((p) => p.code);
16
- await serv.dev.initDb(permCodes);
17
- noti.success("DB 초기화 완료");
18
- } catch (err) {
19
- noti.error(err, "오류");
20
- }
21
- setBusyCount((c) => c - 1);
22
- };
23
-
24
- return (
25
- <BusyContainer busy={busyCount() > 0}>
26
- <div class="inline-flex flex-row gap-2 p-2">
27
- <Button onClick={handleInitDb} theme="primary" variant="solid">
28
- DB 초기화
29
- </Button>
30
- <Button onClick={() => location.reload()}>새로고침</Button>
31
- </div>
32
- </BusyContainer>
33
- );
34
- }
@@ -1,3 +0,0 @@
1
- import { defineEvent } from "@simplysm/service-common";
2
-
3
- export const AuthChangeEvent = defineEvent<{ employeeId: number }, void>("AuthChangeEvent");
@@ -1,4 +0,0 @@
1
- @import "@simplysm/solid/tailwind.css";
2
-
3
- @tailwind components;
4
- @tailwind utilities;
@@ -1,146 +0,0 @@
1
- import { render } from "solid-js/web";
2
- import { HashRouter, Navigate, Route } from "@solidjs/router";
3
- import { For } from "solid-js";
4
- import {
5
- DialogProvider,
6
- PrintProvider,
7
- SystemProvider,
8
- useLogger,
9
- useSyncStorage,
10
- } from "@simplysm/solid";
11
- import { DateTime, env, json } from "@simplysm/core-common";
12
- import { expr } from "@{{projectName}}/db-main";
13
- import { App } from "./App";
14
-
15
- import { NotFoundView } from "./views/not-found/NotFoundView";
16
- import { AppStructureProvider, useAppStructure } from "./providers/AppStructureProvider";
17
- import { AppServiceProvider, useAppService } from "./providers/AppServiceProvider";
18
- import { AuthProvider, useAuth } from "./providers/AuthProvider";
19
- import { configureSharedData } from "./providers/configureSharedData";
20
- import "./main.css";
21
- import { LoginView } from "./views/auth/LoginView";
22
- import { HomeView } from "./views/home/HomeView";
23
-
24
- function AppRoot() {
25
- const appService = useAppService();
26
- const auth = useAuth();
27
- const appStructure = useAppStructure();
28
-
29
- // SyncStorage
30
- useSyncStorage()!.configure((origin) => ({
31
- async getItem(key) {
32
- const info = auth.authInfo();
33
- if (!info) return origin.getItem(key);
34
-
35
- return appService.orm.connectWithoutTransaction(async (db) => {
36
- const row = await db
37
- .employeeConfig()
38
- .where((c) => [expr.eq(c.employeeId, info.employeeId), expr.eq(c.code, key)])
39
- .first();
40
- return row?.valueJson ?? null;
41
- });
42
- },
43
-
44
- async setItem(key, value) {
45
- const info = auth.authInfo();
46
- if (!info) {
47
- await origin.setItem(key, value);
48
- return;
49
- }
50
-
51
- await appService.orm.connect(async (db) => {
52
- await db
53
- .employeeConfig()
54
- .where((c) => [expr.eq(c.employeeId, info.employeeId), expr.eq(c.code, key)])
55
- .upsert(() => ({
56
- employeeId: expr.val("number", info.employeeId),
57
- code: expr.val("string", key),
58
- valueJson: expr.val("string", value),
59
- }));
60
- });
61
- },
62
-
63
- async removeItem(key) {
64
- const info = auth.authInfo();
65
- if (!info) {
66
- await origin.removeItem(key);
67
- return;
68
- }
69
-
70
- await appService.orm.connect(async (db) => {
71
- await db
72
- .employeeConfig()
73
- .where((c) => [expr.eq(c.employeeId, info.employeeId), expr.eq(c.code, key)])
74
- .delete();
75
- });
76
- },
77
- }));
78
-
79
- // Logger
80
- useLogger().configure((origin) => ({
81
- async write(severity, ...data) {
82
- if (env.DEV) {
83
- await origin.write(severity, ...data);
84
- return;
85
- }
86
-
87
- try {
88
- const message = data.map((d) => (typeof d === "string" ? d : json.stringify(d))).join(" ");
89
-
90
- await appService.orm.connect(async (db) => {
91
- await db._log().insert([
92
- {
93
- clientName: "client-admin",
94
- dateTime: new DateTime(),
95
- severity,
96
- message,
97
- employeeId: auth.authInfo()?.employeeId,
98
- },
99
- ]);
100
- });
101
- } catch (err) {
102
- await origin.write(severity, ...data);
103
- await origin.write("error", "로그 저장 실패:", err);
104
- }
105
- },
106
- }));
107
-
108
- // SharedData
109
- configureSharedData();
110
-
111
- return (
112
- <HashRouter>
113
- <Route path="/" component={App}>
114
- <Route path="/" component={() => <Navigate href="/login" />} />
115
- <Route path="/login" component={LoginView} />
116
- <Route path="/home" component={HomeView}>
117
- <Route path="/" component={() => <Navigate href="/home/main" />} />
118
- <For each={appStructure.usableRoutes()}>
119
- {(r) => <Route path={r.path} component={r.component} />}
120
- </For>
121
- <Route path="*" component={NotFoundView} />
122
- </Route>
123
- <Route path="*" component={NotFoundView} />
124
- </Route>
125
- </HashRouter>
126
- );
127
- }
128
-
129
- render(
130
- () => (
131
- <SystemProvider clientName="client-admin">
132
- <AppServiceProvider>
133
- <AuthProvider>
134
- <AppStructureProvider>
135
- <PrintProvider>
136
- <DialogProvider>
137
- <AppRoot />
138
- </DialogProvider>
139
- </PrintProvider>
140
- </AppStructureProvider>
141
- </AuthProvider>
142
- </AppServiceProvider>
143
- </SystemProvider>
144
- ),
145
- document.getElementById("root")!,
146
- );
@@ -1,103 +0,0 @@
1
- import {
2
- createContext,
3
- createSignal,
4
- onMount,
5
- Show,
6
- useContext,
7
- type ParentComponent,
8
- } from "solid-js";
9
- import { useServiceClient } from "@simplysm/solid";
10
- import {
11
- createOrmClientConnector,
12
- type ServiceProxy,
13
- type ServiceClient,
14
- } from "@simplysm/service-client";
15
- import type {
16
- AuthServiceMethods,
17
- DevServiceMethods,
18
- EmployeeServiceMethods,
19
- } from "@{{projectName}}/server";
20
- import { MainDbContext, type MainDbContext as MainDbContextType } from "@{{projectName}}/db-main";
21
-
22
- export interface IAppServiceClient {
23
- auth: ServiceProxy<AuthServiceMethods>;
24
- dev: ServiceProxy<DevServiceMethods>;
25
- employee: ServiceProxy<EmployeeServiceMethods>;
26
- sc: ServiceClient;
27
- orm: {
28
- connect: <R>(
29
- fn: (db: MainDbContextType) => Promise<R> | R,
30
- connOpt?: { configName?: string },
31
- ) => Promise<R>;
32
- connectWithoutTransaction: <R>(
33
- fn: (db: MainDbContextType) => Promise<R> | R,
34
- connOpt?: { configName?: string },
35
- ) => Promise<R>;
36
- };
37
- }
38
-
39
- const AppServiceContext = createContext<IAppServiceClient>();
40
-
41
- export const AppServiceProvider: ParentComponent = (props) => {
42
- const sc = useServiceClient();
43
- const [ready, setReady] = createSignal(false);
44
-
45
- let value: IAppServiceClient;
46
-
47
- onMount(async () => {
48
- await sc.connect();
49
- document.querySelector(".app-loading")?.remove();
50
-
51
- const client = sc.get();
52
- const connector = createOrmClientConnector(client);
53
-
54
- const ormHelper = {
55
- connect: async <R,>(
56
- fn: (db: MainDbContextType) => Promise<R> | R,
57
- connOpt?: { configName?: string },
58
- ) => {
59
- return connector.connect(
60
- {
61
- dbContextDef: MainDbContext,
62
- connOpt: { configName: connOpt?.configName ?? "default" },
63
- },
64
- fn,
65
- );
66
- },
67
- connectWithoutTransaction: async <R,>(
68
- fn: (db: MainDbContextType) => Promise<R> | R,
69
- connOpt?: { configName?: string },
70
- ) => {
71
- return connector.connectWithoutTransaction(
72
- {
73
- dbContextDef: MainDbContext,
74
- connOpt: { configName: connOpt?.configName ?? "default" },
75
- },
76
- fn,
77
- );
78
- },
79
- };
80
-
81
- value = {
82
- auth: client.getService<AuthServiceMethods>("AuthService"),
83
- dev: client.getService<DevServiceMethods>("DevService"),
84
- employee: client.getService<EmployeeServiceMethods>("EmployeeService"),
85
- sc: client,
86
- orm: ormHelper,
87
- };
88
-
89
- setReady(true);
90
- });
91
-
92
- return (
93
- <Show when={ready()}>
94
- <AppServiceContext.Provider value={value!}>{props.children}</AppServiceContext.Provider>
95
- </Show>
96
- );
97
- };
98
-
99
- export function useAppService(): IAppServiceClient {
100
- const ctx = useContext(AppServiceContext);
101
- if (!ctx) throw new Error("AppServiceProvider is required.");
102
- return ctx;
103
- }