@simplysm/sd-cli 14.0.29 → 14.0.32

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 (626) hide show
  1. package/dist/{utils → angular}/angular-build-pipeline.d.ts +0 -2
  2. package/dist/angular/angular-build-pipeline.d.ts.map +1 -0
  3. package/dist/{utils → angular}/angular-build-pipeline.js +3 -6
  4. package/dist/angular/angular-build-pipeline.js.map +1 -0
  5. package/dist/{utils → angular}/angular-build.d.ts +1 -1
  6. package/dist/angular/angular-build.d.ts.map +1 -0
  7. package/dist/{utils → angular}/angular-build.js +1 -1
  8. package/dist/angular/angular-build.js.map +1 -0
  9. package/dist/{utils → angular}/angular-compiler.d.ts +0 -3
  10. package/dist/angular/angular-compiler.d.ts.map +1 -0
  11. package/dist/{utils → angular}/angular-compiler.js +1 -45
  12. package/dist/angular/angular-compiler.js.map +1 -0
  13. package/dist/angular/client-transform-stylesheet.js +1 -1
  14. package/dist/angular/client-transform-stylesheet.js.map +1 -1
  15. package/dist/{utils → angular}/ngtsc-build-core.d.ts +3 -3
  16. package/dist/angular/ngtsc-build-core.d.ts.map +1 -0
  17. package/dist/angular/ngtsc-build-core.js.map +1 -0
  18. package/dist/angular/scss-compiler.d.ts.map +1 -0
  19. package/dist/angular/scss-compiler.js.map +1 -0
  20. package/dist/angular/vite-angular-plugin.d.ts +2 -10
  21. package/dist/angular/vite-angular-plugin.d.ts.map +1 -1
  22. package/dist/angular/vite-angular-plugin.js +20 -286
  23. package/dist/angular/vite-angular-plugin.js.map +1 -1
  24. package/dist/capacitor/capacitor-build.d.ts +14 -0
  25. package/dist/capacitor/capacitor-build.d.ts.map +1 -0
  26. package/dist/capacitor/capacitor-build.js +105 -0
  27. package/dist/capacitor/capacitor-build.js.map +1 -0
  28. package/dist/capacitor/capacitor-config-writer.d.ts +11 -0
  29. package/dist/capacitor/capacitor-config-writer.d.ts.map +1 -0
  30. package/dist/capacitor/capacitor-config-writer.js +54 -0
  31. package/dist/capacitor/capacitor-config-writer.js.map +1 -0
  32. package/dist/capacitor/capacitor-icon.d.ts +5 -0
  33. package/dist/capacitor/capacitor-icon.d.ts.map +1 -0
  34. package/dist/capacitor/capacitor-icon.js +58 -0
  35. package/dist/capacitor/capacitor-icon.js.map +1 -0
  36. package/dist/capacitor/capacitor-npm-config.d.ts +11 -0
  37. package/dist/capacitor/capacitor-npm-config.d.ts.map +1 -0
  38. package/dist/capacitor/capacitor-npm-config.js +145 -0
  39. package/dist/capacitor/capacitor-npm-config.js.map +1 -0
  40. package/dist/capacitor/capacitor.d.ts +0 -45
  41. package/dist/capacitor/capacitor.d.ts.map +1 -1
  42. package/dist/capacitor/capacitor.js +15 -354
  43. package/dist/capacitor/capacitor.js.map +1 -1
  44. package/dist/commands/check.js +2 -2
  45. package/dist/commands/check.js.map +1 -1
  46. package/dist/commands/dev.d.ts +3 -3
  47. package/dist/commands/dev.d.ts.map +1 -1
  48. package/dist/commands/dev.js +3 -3
  49. package/dist/commands/dev.js.map +1 -1
  50. package/dist/commands/lint.d.ts +1 -1
  51. package/dist/commands/lint.d.ts.map +1 -1
  52. package/dist/commands/lint.js +1 -1
  53. package/dist/commands/lint.js.map +1 -1
  54. package/dist/commands/publish/deployment-phase.d.ts +12 -0
  55. package/dist/commands/publish/deployment-phase.d.ts.map +1 -0
  56. package/dist/commands/publish/deployment-phase.js +94 -0
  57. package/dist/commands/publish/deployment-phase.js.map +1 -0
  58. package/dist/commands/publish/env-utils.d.ts +10 -0
  59. package/dist/commands/publish/env-utils.d.ts.map +1 -0
  60. package/dist/commands/publish/env-utils.js +41 -0
  61. package/dist/commands/publish/env-utils.js.map +1 -0
  62. package/dist/commands/publish/git-phase.d.ts +12 -0
  63. package/dist/commands/publish/git-phase.d.ts.map +1 -0
  64. package/dist/commands/publish/git-phase.js +79 -0
  65. package/dist/commands/publish/git-phase.js.map +1 -0
  66. package/dist/commands/{publish.d.ts → publish/index.d.ts} +1 -1
  67. package/dist/commands/publish/index.d.ts.map +1 -0
  68. package/dist/commands/publish/index.js +211 -0
  69. package/dist/commands/publish/index.js.map +1 -0
  70. package/dist/commands/publish/local-publisher.d.ts +6 -0
  71. package/dist/commands/publish/local-publisher.d.ts.map +1 -0
  72. package/dist/commands/publish/local-publisher.js +16 -0
  73. package/dist/commands/publish/local-publisher.js.map +1 -0
  74. package/dist/commands/publish/npm-publisher.d.ts +6 -0
  75. package/dist/commands/publish/npm-publisher.d.ts.map +1 -0
  76. package/dist/commands/publish/npm-publisher.js +21 -0
  77. package/dist/commands/publish/npm-publisher.js.map +1 -0
  78. package/dist/commands/publish/post-publish-phase.d.ts +8 -0
  79. package/dist/commands/publish/post-publish-phase.d.ts.map +1 -0
  80. package/dist/commands/publish/post-publish-phase.js +34 -0
  81. package/dist/commands/publish/post-publish-phase.js.map +1 -0
  82. package/dist/commands/publish/storage-publisher.d.ts +18 -0
  83. package/dist/commands/publish/storage-publisher.d.ts.map +1 -0
  84. package/dist/commands/publish/storage-publisher.js +173 -0
  85. package/dist/commands/publish/storage-publisher.js.map +1 -0
  86. package/dist/commands/publish/version-upgrade.d.ts +28 -0
  87. package/dist/commands/publish/version-upgrade.d.ts.map +1 -0
  88. package/dist/commands/publish/version-upgrade.js +96 -0
  89. package/dist/commands/publish/version-upgrade.js.map +1 -0
  90. package/dist/commands/replace-deps.js +1 -1
  91. package/dist/commands/replace-deps.js.map +1 -1
  92. package/dist/commands/watch.d.ts +3 -4
  93. package/dist/commands/watch.d.ts.map +1 -1
  94. package/dist/commands/watch.js +3 -4
  95. package/dist/commands/watch.js.map +1 -1
  96. package/dist/deps/replace-deps/collect-deps.d.ts +6 -0
  97. package/dist/deps/replace-deps/collect-deps.d.ts.map +1 -0
  98. package/dist/deps/replace-deps/collect-deps.js +71 -0
  99. package/dist/deps/replace-deps/collect-deps.js.map +1 -0
  100. package/dist/{utils/replace-deps.d.ts → deps/replace-deps/replace-deps-resolve.d.ts} +7 -24
  101. package/dist/deps/replace-deps/replace-deps-resolve.d.ts.map +1 -0
  102. package/dist/{utils/replace-deps.js → deps/replace-deps/replace-deps-resolve.js} +4 -152
  103. package/dist/deps/replace-deps/replace-deps-resolve.js.map +1 -0
  104. package/dist/deps/replace-deps/replace-deps.d.ts +36 -0
  105. package/dist/deps/replace-deps/replace-deps.d.ts.map +1 -0
  106. package/dist/deps/replace-deps/replace-deps.js +155 -0
  107. package/dist/deps/replace-deps/replace-deps.js.map +1 -0
  108. package/dist/{utils → deps/server-externals}/server-production-files.d.ts +1 -1
  109. package/dist/deps/server-externals/server-production-files.d.ts.map +1 -0
  110. package/dist/{utils → deps/server-externals}/server-production-files.js +1 -1
  111. package/dist/deps/server-externals/server-production-files.js.map +1 -0
  112. package/dist/dev-server/dev-http-server.d.ts +23 -0
  113. package/dist/dev-server/dev-http-server.d.ts.map +1 -0
  114. package/dist/dev-server/dev-http-server.js +116 -0
  115. package/dist/dev-server/dev-http-server.js.map +1 -0
  116. package/dist/dev-server/hmr-client-script.d.ts +13 -0
  117. package/dist/dev-server/hmr-client-script.d.ts.map +1 -0
  118. package/dist/dev-server/hmr-client-script.js +73 -0
  119. package/dist/dev-server/hmr-client-script.js.map +1 -0
  120. package/dist/dev-server/hmr-service.d.ts +23 -0
  121. package/dist/dev-server/hmr-service.d.ts.map +1 -0
  122. package/dist/dev-server/hmr-service.js +139 -0
  123. package/dist/dev-server/hmr-service.js.map +1 -0
  124. package/dist/electron/electron.d.ts +5 -0
  125. package/dist/electron/electron.d.ts.map +1 -1
  126. package/dist/electron/electron.js +17 -24
  127. package/dist/electron/electron.js.map +1 -1
  128. package/dist/engines/BaseEngine.d.ts +18 -4
  129. package/dist/engines/BaseEngine.d.ts.map +1 -1
  130. package/dist/engines/BaseEngine.js +45 -66
  131. package/dist/engines/BaseEngine.js.map +1 -1
  132. package/dist/engines/{ViteEngine.d.ts → EsbuildClientEngine.d.ts} +11 -18
  133. package/dist/engines/EsbuildClientEngine.d.ts.map +1 -0
  134. package/dist/engines/{ViteEngine.js → EsbuildClientEngine.js} +28 -55
  135. package/dist/engines/EsbuildClientEngine.js.map +1 -0
  136. package/dist/engines/NgtscEngine.d.ts +2 -2
  137. package/dist/engines/NgtscEngine.d.ts.map +1 -1
  138. package/dist/engines/NgtscEngine.js +1 -9
  139. package/dist/engines/NgtscEngine.js.map +1 -1
  140. package/dist/engines/ServerEsbuildEngine.d.ts +2 -2
  141. package/dist/engines/ServerEsbuildEngine.d.ts.map +1 -1
  142. package/dist/engines/ServerEsbuildEngine.js +1 -9
  143. package/dist/engines/ServerEsbuildEngine.js.map +1 -1
  144. package/dist/engines/TscEngine.d.ts +2 -2
  145. package/dist/engines/TscEngine.d.ts.map +1 -1
  146. package/dist/engines/TscEngine.js +1 -9
  147. package/dist/engines/TscEngine.js.map +1 -1
  148. package/dist/engines/index.d.ts +15 -5
  149. package/dist/engines/index.d.ts.map +1 -1
  150. package/dist/engines/index.js +21 -5
  151. package/dist/engines/index.js.map +1 -1
  152. package/dist/engines/types.d.ts +3 -3
  153. package/dist/engines/types.d.ts.map +1 -1
  154. package/dist/esbuild/esbuild-client-config.d.ts +38 -0
  155. package/dist/esbuild/esbuild-client-config.d.ts.map +1 -0
  156. package/dist/esbuild/esbuild-client-config.js +171 -0
  157. package/dist/esbuild/esbuild-client-config.js.map +1 -0
  158. package/dist/esbuild/esbuild-config.d.ts.map +1 -0
  159. package/dist/{utils → esbuild}/esbuild-config.js +1 -0
  160. package/dist/esbuild/esbuild-config.js.map +1 -0
  161. package/dist/esbuild/esbuild-index-html.d.ts +39 -0
  162. package/dist/esbuild/esbuild-index-html.d.ts.map +1 -0
  163. package/dist/esbuild/esbuild-index-html.js +68 -0
  164. package/dist/esbuild/esbuild-index-html.js.map +1 -0
  165. package/dist/esbuild/esbuild-pwa.d.ts +21 -0
  166. package/dist/esbuild/esbuild-pwa.d.ts.map +1 -0
  167. package/dist/esbuild/esbuild-pwa.js +105 -0
  168. package/dist/esbuild/esbuild-pwa.js.map +1 -0
  169. package/dist/esbuild/esbuild-scss-plugin.d.ts +6 -0
  170. package/dist/esbuild/esbuild-scss-plugin.d.ts.map +1 -0
  171. package/dist/esbuild/esbuild-scss-plugin.js +41 -0
  172. package/dist/esbuild/esbuild-scss-plugin.js.map +1 -0
  173. package/dist/lint/lint-core.d.ts.map +1 -0
  174. package/dist/lint/lint-core.js.map +1 -0
  175. package/dist/lint/lint-utils.d.ts.map +1 -0
  176. package/dist/lint/lint-utils.js.map +1 -0
  177. package/dist/lint/lint-with-program.d.ts.map +1 -0
  178. package/dist/lint/lint-with-program.js.map +1 -0
  179. package/dist/orchestrators/BaseOrchestrator.d.ts +44 -0
  180. package/dist/orchestrators/BaseOrchestrator.d.ts.map +1 -0
  181. package/dist/orchestrators/BaseOrchestrator.js +92 -0
  182. package/dist/orchestrators/BaseOrchestrator.js.map +1 -0
  183. package/dist/orchestrators/BuildOrchestrator.d.ts +45 -3
  184. package/dist/orchestrators/BuildOrchestrator.d.ts.map +1 -1
  185. package/dist/orchestrators/BuildOrchestrator.js +170 -143
  186. package/dist/orchestrators/BuildOrchestrator.js.map +1 -1
  187. package/dist/orchestrators/DevOrchestrator.d.ts +39 -0
  188. package/dist/orchestrators/DevOrchestrator.d.ts.map +1 -0
  189. package/dist/orchestrators/DevOrchestrator.js +249 -0
  190. package/dist/orchestrators/DevOrchestrator.js.map +1 -0
  191. package/dist/orchestrators/ServerRuntimeManager.d.ts +22 -0
  192. package/dist/orchestrators/ServerRuntimeManager.d.ts.map +1 -0
  193. package/dist/orchestrators/ServerRuntimeManager.js +66 -0
  194. package/dist/orchestrators/ServerRuntimeManager.js.map +1 -0
  195. package/dist/orchestrators/TypecheckOrchestrator.d.ts +17 -2
  196. package/dist/orchestrators/TypecheckOrchestrator.d.ts.map +1 -1
  197. package/dist/orchestrators/TypecheckOrchestrator.js +122 -108
  198. package/dist/orchestrators/TypecheckOrchestrator.js.map +1 -1
  199. package/dist/orchestrators/WatchOrchestrator.d.ts +33 -0
  200. package/dist/orchestrators/WatchOrchestrator.d.ts.map +1 -0
  201. package/dist/orchestrators/WatchOrchestrator.js +158 -0
  202. package/dist/orchestrators/WatchOrchestrator.js.map +1 -0
  203. package/dist/orchestrators/types.d.ts +17 -0
  204. package/dist/orchestrators/types.d.ts.map +1 -0
  205. package/dist/orchestrators/types.js +2 -0
  206. package/dist/orchestrators/types.js.map +1 -0
  207. package/dist/runtime/ResultCollector.d.ts.map +1 -0
  208. package/dist/runtime/ResultCollector.js.map +1 -0
  209. package/dist/runtime/SignalHandler.d.ts.map +1 -0
  210. package/dist/runtime/SignalHandler.js.map +1 -0
  211. package/dist/{utils → runtime}/engine-stop.d.ts +1 -1
  212. package/dist/runtime/engine-stop.d.ts.map +1 -0
  213. package/dist/{utils → runtime}/engine-stop.js +1 -1
  214. package/dist/runtime/engine-stop.js.map +1 -0
  215. package/dist/runtime/engine-watch-events.d.ts +43 -0
  216. package/dist/runtime/engine-watch-events.d.ts.map +1 -0
  217. package/dist/runtime/engine-watch-events.js +72 -0
  218. package/dist/runtime/engine-watch-events.js.map +1 -0
  219. package/dist/{utils → runtime}/rebuild-manager.d.ts +1 -0
  220. package/dist/runtime/rebuild-manager.d.ts.map +1 -0
  221. package/dist/{utils → runtime}/rebuild-manager.js +8 -1
  222. package/dist/runtime/rebuild-manager.js.map +1 -0
  223. package/dist/runtime/worker-events.d.ts +22 -0
  224. package/dist/runtime/worker-events.d.ts.map +1 -0
  225. package/dist/runtime/worker-events.js +2 -0
  226. package/dist/runtime/worker-events.js.map +1 -0
  227. package/dist/runtime/worker-utils.d.ts.map +1 -0
  228. package/dist/runtime/worker-utils.js.map +1 -0
  229. package/dist/sd-cli-entry.d.ts.map +1 -1
  230. package/dist/sd-cli-entry.js +61 -54
  231. package/dist/sd-cli-entry.js.map +1 -1
  232. package/dist/sd-cli.js +1 -1
  233. package/dist/sd-cli.js.map +1 -1
  234. package/dist/sd-config.types.d.ts +6 -15
  235. package/dist/sd-config.types.d.ts.map +1 -1
  236. package/dist/typecheck/typecheck-non-package.d.ts.map +1 -0
  237. package/dist/{utils → typecheck}/typecheck-non-package.js +1 -1
  238. package/dist/typecheck/typecheck-non-package.js.map +1 -0
  239. package/dist/typecheck/typecheck-serialization.d.ts.map +1 -0
  240. package/dist/typecheck/typecheck-serialization.js.map +1 -0
  241. package/dist/utils/diagnostic-utils.d.ts +5 -0
  242. package/dist/utils/diagnostic-utils.d.ts.map +1 -1
  243. package/dist/utils/diagnostic-utils.js +15 -0
  244. package/dist/utils/diagnostic-utils.js.map +1 -1
  245. package/dist/utils/orchestrator-utils.d.ts +1 -5
  246. package/dist/utils/orchestrator-utils.d.ts.map +1 -1
  247. package/dist/utils/orchestrator-utils.js +2 -5
  248. package/dist/utils/orchestrator-utils.js.map +1 -1
  249. package/dist/utils/output-utils.d.ts +1 -1
  250. package/dist/utils/output-utils.d.ts.map +1 -1
  251. package/dist/utils/package-classify.d.ts +54 -0
  252. package/dist/utils/package-classify.d.ts.map +1 -0
  253. package/dist/utils/package-classify.js +134 -0
  254. package/dist/utils/package-classify.js.map +1 -0
  255. package/dist/utils/package-utils.d.ts +1 -58
  256. package/dist/utils/package-utils.d.ts.map +1 -1
  257. package/dist/utils/package-utils.js +0 -193
  258. package/dist/utils/package-utils.js.map +1 -1
  259. package/dist/utils/tsc-build.d.ts +1 -1
  260. package/dist/utils/tsc-build.d.ts.map +1 -1
  261. package/dist/utils/tsc-build.js +1 -1
  262. package/dist/utils/tsc-build.js.map +1 -1
  263. package/dist/workers/build-change-filter.d.ts +8 -0
  264. package/dist/workers/build-change-filter.d.ts.map +1 -0
  265. package/dist/workers/build-change-filter.js +16 -0
  266. package/dist/workers/build-change-filter.js.map +1 -0
  267. package/dist/workers/build-watch-paths.d.ts +20 -0
  268. package/dist/workers/build-watch-paths.d.ts.map +1 -0
  269. package/dist/workers/build-watch-paths.js +29 -0
  270. package/dist/workers/build-watch-paths.js.map +1 -0
  271. package/dist/workers/client.worker.d.ts +11 -18
  272. package/dist/workers/client.worker.d.ts.map +1 -1
  273. package/dist/workers/client.worker.js +218 -289
  274. package/dist/workers/client.worker.js.map +1 -1
  275. package/dist/workers/library-build.worker.d.ts +2 -2
  276. package/dist/workers/library-build.worker.d.ts.map +1 -1
  277. package/dist/workers/library-build.worker.js +13 -24
  278. package/dist/workers/library-build.worker.js.map +1 -1
  279. package/dist/workers/lint.worker.d.ts +1 -1
  280. package/dist/workers/lint.worker.d.ts.map +1 -1
  281. package/dist/workers/lint.worker.js +1 -1
  282. package/dist/workers/lint.worker.js.map +1 -1
  283. package/dist/workers/ngtsc-build.worker.d.ts +1 -1
  284. package/dist/workers/ngtsc-build.worker.d.ts.map +1 -1
  285. package/dist/workers/ngtsc-build.worker.js +19 -35
  286. package/dist/workers/ngtsc-build.worker.js.map +1 -1
  287. package/dist/workers/server-build.worker.d.ts +2 -2
  288. package/dist/workers/server-build.worker.d.ts.map +1 -1
  289. package/dist/workers/server-build.worker.js +36 -137
  290. package/dist/workers/server-build.worker.js.map +1 -1
  291. package/dist/workers/server-esbuild-context.d.ts +47 -0
  292. package/dist/workers/server-esbuild-context.d.ts.map +1 -0
  293. package/dist/workers/server-esbuild-context.js +92 -0
  294. package/dist/workers/server-esbuild-context.js.map +1 -0
  295. package/dist/workers/server-runtime.worker.d.ts.map +1 -1
  296. package/dist/workers/server-runtime.worker.js +3 -1
  297. package/dist/workers/server-runtime.worker.js.map +1 -1
  298. package/dist/workers/server-watch-manager.d.ts +44 -0
  299. package/dist/workers/server-watch-manager.d.ts.map +1 -0
  300. package/dist/workers/server-watch-manager.js +87 -0
  301. package/dist/workers/server-watch-manager.js.map +1 -0
  302. package/dist/workers/shared-worker-lifecycle.d.ts +14 -0
  303. package/dist/workers/shared-worker-lifecycle.d.ts.map +1 -0
  304. package/dist/workers/shared-worker-lifecycle.js +17 -0
  305. package/dist/workers/shared-worker-lifecycle.js.map +1 -0
  306. package/package.json +9 -9
  307. package/src/{utils → angular}/angular-build-pipeline.ts +3 -8
  308. package/src/{utils → angular}/angular-build.ts +1 -1
  309. package/src/{utils → angular}/angular-compiler.ts +1 -64
  310. package/src/angular/client-transform-stylesheet.ts +1 -1
  311. package/src/{utils → angular}/ngtsc-build-core.ts +3 -3
  312. package/src/angular/vite-angular-plugin.ts +22 -355
  313. package/src/capacitor/capacitor-build.ts +142 -0
  314. package/src/capacitor/capacitor-config-writer.ts +66 -0
  315. package/src/capacitor/capacitor-icon.ts +75 -0
  316. package/src/capacitor/capacitor-npm-config.ts +192 -0
  317. package/src/capacitor/capacitor.ts +32 -441
  318. package/src/commands/check.ts +2 -2
  319. package/src/commands/dev.ts +6 -6
  320. package/src/commands/lint.ts +1 -1
  321. package/src/commands/publish/deployment-phase.ts +125 -0
  322. package/src/commands/publish/env-utils.ts +44 -0
  323. package/src/commands/publish/git-phase.ts +99 -0
  324. package/src/commands/publish/index.ts +266 -0
  325. package/src/commands/publish/local-publisher.ts +23 -0
  326. package/src/commands/publish/npm-publisher.ts +30 -0
  327. package/src/commands/publish/post-publish-phase.ts +43 -0
  328. package/src/commands/publish/storage-publisher.ts +208 -0
  329. package/src/commands/publish/version-upgrade.ts +132 -0
  330. package/src/commands/replace-deps.ts +1 -1
  331. package/src/commands/watch.ts +6 -7
  332. package/src/deps/replace-deps/collect-deps.ts +92 -0
  333. package/src/{utils/replace-deps.ts → deps/replace-deps/replace-deps-resolve.ts} +4 -188
  334. package/src/deps/replace-deps/replace-deps.ts +193 -0
  335. package/src/{utils → deps/server-externals}/server-production-files.ts +2 -2
  336. package/src/dev-server/dev-http-server.ts +149 -0
  337. package/src/dev-server/hmr-client-script.ts +74 -0
  338. package/src/dev-server/hmr-service.ts +178 -0
  339. package/src/electron/electron.ts +21 -28
  340. package/src/engines/BaseEngine.ts +64 -83
  341. package/src/engines/{ViteEngine.ts → EsbuildClientEngine.ts} +33 -72
  342. package/src/engines/NgtscEngine.ts +3 -11
  343. package/src/engines/ServerEsbuildEngine.ts +3 -11
  344. package/src/engines/TscEngine.ts +3 -11
  345. package/src/engines/index.ts +29 -9
  346. package/src/engines/types.ts +3 -3
  347. package/src/esbuild/esbuild-client-config.ts +230 -0
  348. package/src/{utils → esbuild}/esbuild-config.ts +1 -0
  349. package/src/esbuild/esbuild-index-html.ts +119 -0
  350. package/src/esbuild/esbuild-pwa.ts +139 -0
  351. package/src/esbuild/esbuild-scss-plugin.ts +48 -0
  352. package/src/orchestrators/BaseOrchestrator.ts +118 -0
  353. package/src/orchestrators/BuildOrchestrator.ts +234 -171
  354. package/src/orchestrators/DevOrchestrator.ts +315 -0
  355. package/src/orchestrators/ServerRuntimeManager.ts +85 -0
  356. package/src/orchestrators/TypecheckOrchestrator.ts +166 -117
  357. package/src/orchestrators/WatchOrchestrator.ts +203 -0
  358. package/src/orchestrators/types.ts +18 -0
  359. package/src/{utils → runtime}/engine-stop.ts +1 -1
  360. package/src/runtime/engine-watch-events.ts +121 -0
  361. package/src/{utils → runtime}/rebuild-manager.ts +8 -1
  362. package/src/runtime/worker-events.ts +25 -0
  363. package/src/sd-cli-entry.ts +69 -54
  364. package/src/sd-cli.ts +1 -1
  365. package/src/sd-config.types.ts +6 -16
  366. package/src/{utils → typecheck}/typecheck-non-package.ts +1 -1
  367. package/src/utils/diagnostic-utils.ts +15 -0
  368. package/src/utils/orchestrator-utils.ts +2 -6
  369. package/src/utils/output-utils.ts +1 -1
  370. package/src/utils/package-classify.ts +182 -0
  371. package/src/utils/package-utils.ts +0 -257
  372. package/src/utils/tsc-build.ts +1 -1
  373. package/src/workers/build-change-filter.ts +27 -0
  374. package/src/workers/build-watch-paths.ts +54 -0
  375. package/src/workers/client.worker.ts +258 -328
  376. package/src/workers/library-build.worker.ts +15 -34
  377. package/src/workers/lint.worker.ts +1 -1
  378. package/src/workers/ngtsc-build.worker.ts +19 -46
  379. package/src/workers/server-build.worker.ts +38 -168
  380. package/src/workers/server-esbuild-context.ts +122 -0
  381. package/src/workers/server-runtime.worker.ts +4 -1
  382. package/src/workers/server-watch-manager.ts +124 -0
  383. package/src/workers/shared-worker-lifecycle.ts +24 -0
  384. package/tests/angular/angular-build-pipeline.spec.ts +2 -2
  385. package/tests/angular/angular-compiler-aot.acc.spec.ts +68 -0
  386. package/tests/angular/angular-compiler-aot.spec.ts +80 -0
  387. package/tests/angular/angular-compiler-hmr-removal.verify.md +16 -0
  388. package/tests/angular/vite-angular-plugin-legacy-watch.spec.ts +0 -17
  389. package/tests/angular/vite-angular-plugin-vitest.spec.ts +1 -6
  390. package/tests/angular/vite-angular-plugin-vitest.verify.md +20 -0
  391. package/tests/angular/vite-angular-plugin.spec.ts +4 -178
  392. package/tests/capacitor/capacitor-android.spec.ts +1 -0
  393. package/tests/capacitor/capacitor-build.spec.ts +1 -0
  394. package/tests/capacitor/capacitor-config-writer.acc.spec.ts +108 -0
  395. package/tests/capacitor/capacitor-config-writer.spec.ts +95 -0
  396. package/tests/capacitor/capacitor-icon.spec.ts +1 -0
  397. package/tests/capacitor/capacitor-init.spec.ts +1 -0
  398. package/tests/capacitor/capacitor-npm-config.acc.spec.ts +236 -0
  399. package/tests/capacitor/capacitor-npm-config.spec.ts +132 -0
  400. package/tests/capacitor/capacitor-run.spec.ts +1 -0
  401. package/tests/capacitor/capacitor-workspace.spec.ts +1 -0
  402. package/tests/commands/check.spec.ts +2 -2
  403. package/tests/commands/deployment-phase.acc.spec.ts +142 -0
  404. package/tests/commands/git-phase.acc.spec.ts +158 -0
  405. package/tests/commands/lint.spec.ts +1 -1
  406. package/tests/commands/post-publish-phase.acc.spec.ts +82 -0
  407. package/tests/commands/publish-npm-local-split.verify.md +9 -0
  408. package/tests/commands/publish-responsibility-split.verify.md +13 -0
  409. package/tests/commands/publish-storage-split.verify.md +8 -0
  410. package/tests/commands/publish.spec.ts +1 -1
  411. package/tests/commands/typecheck.spec.ts +18 -18
  412. package/tests/deps/deps-directory-separation.verify.md +15 -0
  413. package/tests/engines/base-engine.spec.ts +65 -6
  414. package/tests/engines/engine-adapter-isolation.spec.ts +11 -18
  415. package/tests/engines/engine-selection.spec.ts +38 -5
  416. package/tests/engines/engine-typecheck-selection.acc.spec.ts +85 -0
  417. package/tests/engines/engine-typecheck-selection.verify.md +8 -0
  418. package/tests/engines/esbuild-client-engine.acc.spec.ts +161 -0
  419. package/tests/engines/esbuild-client-engine.spec.ts +320 -0
  420. package/tests/engines/esbuild-client-engine.verify.md +15 -0
  421. package/tests/engines/normalize-result.verify.md +9 -0
  422. package/tests/engines/vite-dependency-cleanup.verify.md +24 -0
  423. package/tests/orchestrators/build-orchestrator.spec.ts +3 -3
  424. package/tests/orchestrators/dev-orchestrator.spec.ts +799 -0
  425. package/tests/orchestrators/orchestrator-baseenv.verify.md +10 -0
  426. package/tests/orchestrators/orchestrator-diagnostic-formatting.verify.md +10 -0
  427. package/tests/orchestrators/orchestrator-initializemode-signature.verify.md +9 -0
  428. package/tests/orchestrators/typecheck-orchestrator.spec.ts +11 -11
  429. package/tests/orchestrators/watch-orchestrator.spec.ts +511 -0
  430. package/tests/{infra → runtime}/result-collector.spec.ts +1 -1
  431. package/tests/{infra → runtime}/signal-handler.spec.ts +1 -1
  432. package/tests/sd-cli-entry.spec.ts +9 -0
  433. package/tests/utils/angular-build.spec.ts +15 -20
  434. package/tests/utils/angular-compiler-emit.spec.ts +2 -2
  435. package/tests/utils/angular-compiler.spec.ts +2 -2
  436. package/tests/utils/angular-source-file-cache.spec.ts +2 -2
  437. package/tests/utils/concurrency.spec.ts +2 -10
  438. package/tests/utils/dev-http-server.acc.spec.ts +206 -0
  439. package/tests/utils/dev-http-server.spec.ts +181 -0
  440. package/tests/utils/dev-http-server.verify.md +8 -0
  441. package/tests/utils/diagnostic-utils.spec.ts +42 -1
  442. package/tests/utils/engine-stop.spec.ts +1 -1
  443. package/tests/utils/engine-watch-events.acc.spec.ts +217 -0
  444. package/tests/utils/engine-watch-events.spec.ts +141 -0
  445. package/tests/utils/engine-watch-events.verify.md +17 -0
  446. package/tests/utils/esbuild-client-config.acc.spec.ts +443 -0
  447. package/tests/utils/esbuild-client-config.spec.ts +590 -0
  448. package/tests/utils/esbuild-client-config.verify.md +26 -0
  449. package/tests/utils/esbuild-config.spec.ts +11 -1
  450. package/tests/utils/esbuild-index-html.acc.spec.ts +166 -0
  451. package/tests/utils/esbuild-index-html.spec.ts +194 -0
  452. package/tests/utils/esbuild-index-html.verify.md +10 -0
  453. package/tests/utils/esbuild-pwa.acc.spec.ts +203 -0
  454. package/tests/utils/esbuild-pwa.spec.ts +189 -0
  455. package/tests/utils/esbuild-pwa.verify.md +9 -0
  456. package/tests/utils/esbuild-scss-plugin.acc.spec.ts +111 -0
  457. package/tests/utils/esbuild-scss-plugin.spec.ts +150 -0
  458. package/tests/utils/esbuild-scss-plugin.verify.md +8 -0
  459. package/tests/utils/external-modules.spec.ts +1 -1
  460. package/tests/utils/hmr-client-script.acc.spec.ts +128 -0
  461. package/tests/utils/hmr-client-script.spec.ts +44 -0
  462. package/tests/utils/hmr-service-dispatcher.acc.spec.ts +217 -0
  463. package/tests/utils/hmr-service-dispatcher.spec.ts +143 -0
  464. package/tests/utils/hmr-service.acc.spec.ts +139 -0
  465. package/tests/utils/hmr-service.spec.ts +131 -0
  466. package/tests/utils/hmr-service.verify.md +17 -0
  467. package/tests/utils/lint-core.spec.ts +2 -1
  468. package/tests/utils/lint-utils.spec.ts +1 -1
  469. package/tests/utils/lint-with-program.spec.ts +1 -1
  470. package/tests/utils/ngtsc-build-core-write-emit.spec.ts +19 -19
  471. package/tests/utils/ngtsc-build-core.spec.ts +4 -4
  472. package/tests/utils/orchestrator-utils.spec.ts +2 -2
  473. package/tests/utils/output-utils.spec.ts +1 -1
  474. package/tests/utils/package-utils.spec.ts +1 -1
  475. package/tests/utils/rebuild-manager.spec.ts +20 -7
  476. package/tests/utils/replace-deps-split.verify.md +15 -0
  477. package/tests/utils/replace-deps-watch.acc.spec.ts +131 -0
  478. package/tests/utils/replace-deps-watch.spec.ts +91 -0
  479. package/tests/utils/replace-deps-watch.verify.md +9 -0
  480. package/tests/utils/replace-deps.spec.ts +1 -1
  481. package/tests/utils/scss-compiler.spec.ts +1 -1
  482. package/tests/utils/tsc-build.spec.ts +1 -1
  483. package/tests/utils/typecheck-non-package.spec.ts +2 -2
  484. package/tests/utils/worker-utils.spec.ts +2 -1
  485. package/tests/workers/build-change-filter.acc.spec.ts +78 -0
  486. package/tests/workers/build-change-filter.spec.ts +39 -0
  487. package/tests/workers/build-watch-paths-library.verify.md +10 -0
  488. package/tests/workers/build-watch-paths-ngtsc-server.verify.md +12 -0
  489. package/tests/workers/build-watch-paths.acc.spec.ts +101 -0
  490. package/tests/workers/build-watch-paths.spec.ts +121 -0
  491. package/tests/workers/client-worker-browser-support.verify.md +7 -0
  492. package/tests/workers/client-worker-onend-sync.verify.md +7 -0
  493. package/tests/workers/client-worker.acc.spec.ts +185 -0
  494. package/tests/workers/client-worker.spec.ts +91 -178
  495. package/tests/workers/library-build-lint.spec.ts +3 -3
  496. package/tests/workers/library-build-worker.spec.ts +10 -11
  497. package/tests/workers/ngtsc-build-lint.spec.ts +4 -4
  498. package/tests/workers/ngtsc-build-worker.spec.ts +2 -2
  499. package/tests/workers/server-build-lint.spec.ts +4 -4
  500. package/tests/workers/server-build-worker.spec.ts +14 -15
  501. package/tests/workers/server-esbuild-context-integration.verify.md +10 -0
  502. package/tests/workers/server-esbuild-context.acc.spec.ts +98 -0
  503. package/tests/workers/server-esbuild-context.spec.ts +198 -0
  504. package/tests/workers/server-runtime-worker.spec.ts +4 -3
  505. package/tests/workers/server-watch-manager.acc.spec.ts +162 -0
  506. package/tests/workers/server-watch-manager.spec.ts +199 -0
  507. package/tests/workers/shared-worker-lifecycle.acc.spec.ts +27 -0
  508. package/tests/workers/shared-worker-lifecycle.spec.ts +47 -0
  509. package/dist/angular/vite-postcss-inline-plugin.d.ts +0 -18
  510. package/dist/angular/vite-postcss-inline-plugin.d.ts.map +0 -1
  511. package/dist/angular/vite-postcss-inline-plugin.js +0 -108
  512. package/dist/angular/vite-postcss-inline-plugin.js.map +0 -1
  513. package/dist/commands/publish.d.ts.map +0 -1
  514. package/dist/commands/publish.js +0 -689
  515. package/dist/commands/publish.js.map +0 -1
  516. package/dist/engines/ViteEngine.d.ts.map +0 -1
  517. package/dist/engines/ViteEngine.js.map +0 -1
  518. package/dist/infra/ResultCollector.d.ts.map +0 -1
  519. package/dist/infra/ResultCollector.js.map +0 -1
  520. package/dist/infra/SignalHandler.d.ts.map +0 -1
  521. package/dist/infra/SignalHandler.js.map +0 -1
  522. package/dist/orchestrators/DevWatchOrchestrator.d.ts +0 -63
  523. package/dist/orchestrators/DevWatchOrchestrator.d.ts.map +0 -1
  524. package/dist/orchestrators/DevWatchOrchestrator.js +0 -478
  525. package/dist/orchestrators/DevWatchOrchestrator.js.map +0 -1
  526. package/dist/utils/angular-build-pipeline.d.ts.map +0 -1
  527. package/dist/utils/angular-build-pipeline.js.map +0 -1
  528. package/dist/utils/angular-build.d.ts.map +0 -1
  529. package/dist/utils/angular-build.js.map +0 -1
  530. package/dist/utils/angular-compiler.d.ts.map +0 -1
  531. package/dist/utils/angular-compiler.js.map +0 -1
  532. package/dist/utils/engine-stop.d.ts.map +0 -1
  533. package/dist/utils/engine-stop.js.map +0 -1
  534. package/dist/utils/esbuild-config.d.ts.map +0 -1
  535. package/dist/utils/esbuild-config.js.map +0 -1
  536. package/dist/utils/hmr-candidates.d.ts +0 -15
  537. package/dist/utils/hmr-candidates.d.ts.map +0 -1
  538. package/dist/utils/hmr-candidates.js +0 -234
  539. package/dist/utils/hmr-candidates.js.map +0 -1
  540. package/dist/utils/lint-core.d.ts.map +0 -1
  541. package/dist/utils/lint-core.js.map +0 -1
  542. package/dist/utils/lint-utils.d.ts.map +0 -1
  543. package/dist/utils/lint-utils.js.map +0 -1
  544. package/dist/utils/lint-with-program.d.ts.map +0 -1
  545. package/dist/utils/lint-with-program.js.map +0 -1
  546. package/dist/utils/ngtsc-build-core.d.ts.map +0 -1
  547. package/dist/utils/ngtsc-build-core.js.map +0 -1
  548. package/dist/utils/rebuild-manager.d.ts.map +0 -1
  549. package/dist/utils/rebuild-manager.js.map +0 -1
  550. package/dist/utils/replace-deps.d.ts.map +0 -1
  551. package/dist/utils/replace-deps.js.map +0 -1
  552. package/dist/utils/scss-compiler.d.ts.map +0 -1
  553. package/dist/utils/scss-compiler.js.map +0 -1
  554. package/dist/utils/server-production-files.d.ts.map +0 -1
  555. package/dist/utils/server-production-files.js.map +0 -1
  556. package/dist/utils/typecheck-non-package.d.ts.map +0 -1
  557. package/dist/utils/typecheck-non-package.js.map +0 -1
  558. package/dist/utils/typecheck-serialization.d.ts.map +0 -1
  559. package/dist/utils/typecheck-serialization.js.map +0 -1
  560. package/dist/utils/vite-config.d.ts +0 -50
  561. package/dist/utils/vite-config.d.ts.map +0 -1
  562. package/dist/utils/vite-config.js +0 -242
  563. package/dist/utils/vite-config.js.map +0 -1
  564. package/dist/utils/vite-pwa-plugin.d.ts +0 -9
  565. package/dist/utils/vite-pwa-plugin.d.ts.map +0 -1
  566. package/dist/utils/vite-pwa-plugin.js +0 -139
  567. package/dist/utils/vite-pwa-plugin.js.map +0 -1
  568. package/dist/utils/vite-scope-watch-plugin.d.ts +0 -24
  569. package/dist/utils/vite-scope-watch-plugin.d.ts.map +0 -1
  570. package/dist/utils/vite-scope-watch-plugin.js +0 -51
  571. package/dist/utils/vite-scope-watch-plugin.js.map +0 -1
  572. package/dist/utils/worker-events.d.ts +0 -66
  573. package/dist/utils/worker-events.d.ts.map +0 -1
  574. package/dist/utils/worker-events.js +0 -55
  575. package/dist/utils/worker-events.js.map +0 -1
  576. package/dist/utils/worker-utils.d.ts.map +0 -1
  577. package/dist/utils/worker-utils.js.map +0 -1
  578. package/src/angular/vite-postcss-inline-plugin.ts +0 -139
  579. package/src/commands/publish.ts +0 -850
  580. package/src/orchestrators/DevWatchOrchestrator.ts +0 -594
  581. package/src/utils/hmr-candidates.ts +0 -327
  582. package/src/utils/vite-config.ts +0 -318
  583. package/src/utils/vite-pwa-plugin.ts +0 -168
  584. package/src/utils/vite-scope-watch-plugin.ts +0 -77
  585. package/src/utils/worker-events.ts +0 -128
  586. package/tests/angular/angular-compiler-hmr.spec.ts +0 -152
  587. package/tests/angular/hmr-candidates.spec.ts +0 -158
  588. package/tests/angular/linker-disk-cache.spec.ts +0 -171
  589. package/tests/angular/vite-angular-plugin-hmr-fallback.spec.ts +0 -333
  590. package/tests/angular/vite-angular-plugin-hmr.spec.ts +0 -320
  591. package/tests/angular/vite-angular-plugin-scss-hmr.spec.ts +0 -95
  592. package/tests/angular/vite-postcss-inline-plugin.spec.ts +0 -60
  593. package/tests/engines/vite-engine.spec.ts +0 -409
  594. package/tests/orchestrators/dev-watch-orchestrator.spec.ts +0 -1542
  595. package/tests/utils/vite-config.spec.ts +0 -780
  596. package/tests/utils/vite-pwa-plugin.spec.ts +0 -401
  597. package/tests/utils/vite-scope-watch-plugin.spec.ts +0 -218
  598. package/tests/utils/worker-events.spec.ts +0 -147
  599. package/tests/workers/client-worker-legacy.spec.ts +0 -659
  600. /package/dist/{utils → angular}/ngtsc-build-core.js +0 -0
  601. /package/dist/{utils → angular}/scss-compiler.d.ts +0 -0
  602. /package/dist/{utils → angular}/scss-compiler.js +0 -0
  603. /package/dist/{utils → esbuild}/esbuild-config.d.ts +0 -0
  604. /package/dist/{utils → lint}/lint-core.d.ts +0 -0
  605. /package/dist/{utils → lint}/lint-core.js +0 -0
  606. /package/dist/{utils → lint}/lint-utils.d.ts +0 -0
  607. /package/dist/{utils → lint}/lint-utils.js +0 -0
  608. /package/dist/{utils → lint}/lint-with-program.d.ts +0 -0
  609. /package/dist/{utils → lint}/lint-with-program.js +0 -0
  610. /package/dist/{infra → runtime}/ResultCollector.d.ts +0 -0
  611. /package/dist/{infra → runtime}/ResultCollector.js +0 -0
  612. /package/dist/{infra → runtime}/SignalHandler.d.ts +0 -0
  613. /package/dist/{infra → runtime}/SignalHandler.js +0 -0
  614. /package/dist/{utils → runtime}/worker-utils.d.ts +0 -0
  615. /package/dist/{utils → runtime}/worker-utils.js +0 -0
  616. /package/dist/{utils → typecheck}/typecheck-non-package.d.ts +0 -0
  617. /package/dist/{utils → typecheck}/typecheck-serialization.d.ts +0 -0
  618. /package/dist/{utils → typecheck}/typecheck-serialization.js +0 -0
  619. /package/src/{utils → angular}/scss-compiler.ts +0 -0
  620. /package/src/{utils → lint}/lint-core.ts +0 -0
  621. /package/src/{utils → lint}/lint-utils.ts +0 -0
  622. /package/src/{utils → lint}/lint-with-program.ts +0 -0
  623. /package/src/{infra → runtime}/ResultCollector.ts +0 -0
  624. /package/src/{infra → runtime}/SignalHandler.ts +0 -0
  625. /package/src/{utils → runtime}/worker-utils.ts +0 -0
  626. /package/src/{utils → typecheck}/typecheck-serialization.ts +0 -0
@@ -0,0 +1,171 @@
1
+ import path from "path";
2
+ import fs from "fs";
3
+ import esbuild from "esbuild";
4
+ import browserslistToEsbuild from "browserslist-to-esbuild";
5
+ import { createCompilerPlugin, SourceFileCache, } from "@angular/build/private";
6
+ import { createScssPlugin } from "./esbuild-scss-plugin.js";
7
+ export async function createClientEsbuildContext(options) {
8
+ const isDev = options.mode === "dev";
9
+ // browserslist → esbuild target 변환
10
+ let esbuildTarget = ["es2022"];
11
+ if (options.browserslist != null) {
12
+ const queries = Array.isArray(options.browserslist)
13
+ ? options.browserslist
14
+ : [options.browserslist];
15
+ esbuildTarget = browserslistToEsbuild(queries);
16
+ }
17
+ // SourceFileCache 생성 (LMDB 디스크 캐시)
18
+ const cachePath = path.join(options.pkgDir, ".angular", "cache");
19
+ const sourceFileCache = new SourceFileCache(cachePath);
20
+ // CompilerPluginOptions
21
+ const pluginOptions = {
22
+ tsconfig: options.tsconfig ?? path.join(options.pkgDir, "tsconfig.json"),
23
+ sourcemap: isDev,
24
+ advancedOptimizations: !isDev,
25
+ thirdPartySourcemaps: isDev,
26
+ incremental: true,
27
+ sourceFileCache,
28
+ loadResultCache: sourceFileCache.loadResultCache,
29
+ templateUpdates: options.templateUpdates,
30
+ browserOnlyBuild: true,
31
+ };
32
+ // BundleStylesheetOptions
33
+ const styleOptions = {
34
+ workspaceRoot: options.cwd,
35
+ optimization: !isDev,
36
+ inlineFonts: false,
37
+ sourcemap: isDev ? "linked" : false,
38
+ outputNames: { bundles: "[name]", media: "media/[name]" },
39
+ includePaths: [],
40
+ target: esbuildTarget,
41
+ cacheOptions: {
42
+ enabled: true,
43
+ path: cachePath,
44
+ basePath: cachePath,
45
+ },
46
+ postcssConfiguration: options.postcssPlugins != null
47
+ ? {
48
+ config: { plugins: options.postcssPlugins },
49
+ configPath: options.postcssConfigPath ?? options.pkgDir,
50
+ }
51
+ : undefined,
52
+ inlineStyleLanguage: "scss",
53
+ };
54
+ const angularPlugin = createCompilerPlugin(pluginOptions, styleOptions);
55
+ // SCSS side-effect import 처리 플러그인
56
+ const scssPlugin = createScssPlugin({
57
+ loadPaths: [
58
+ path.join(options.pkgDir, "scss"),
59
+ path.join(options.cwd, "node_modules"),
60
+ ],
61
+ });
62
+ // define 주입
63
+ const define = {};
64
+ // Angular 플래그
65
+ if (!isDev) {
66
+ define["ngDevMode"] = "false";
67
+ }
68
+ define["ngJitMode"] = "false";
69
+ if (isDev && options.templateUpdates != null && options.legacyModule !== true) {
70
+ define["ngHmrMode"] = "true";
71
+ }
72
+ else if (!isDev) {
73
+ define["ngHmrMode"] = "false";
74
+ }
75
+ // 커스텀 env
76
+ if (options.env != null) {
77
+ for (const [key, value] of Object.entries(options.env)) {
78
+ define[`import.meta.env.${key}`] = JSON.stringify(value);
79
+ }
80
+ }
81
+ // import.meta.hot 폴리필 banner (Angular HMR 런타임용)
82
+ // Angular의 compileHmrInitializer가 import.meta.hot.on('angular:component-update', ...)을 사용.
83
+ // Vite 없이 동작하도록 import.meta.hot을 폴리필하고, globalThis.__hmr_dispatch로 외부 트리거 제공.
84
+ const hmrBanner = options.templateUpdates != null && options.legacyModule !== true
85
+ ? [
86
+ 'if(typeof ngHmrMode!=="undefined"&&ngHmrMode){(function(){',
87
+ "var _l={};",
88
+ "import.meta.hot={on:function(e,c){if(!_l[e])_l[e]=[];_l[e].push(c);},off:function(e,c){var a=_l[e];if(a){var i=a.indexOf(c);if(i!==-1)a.splice(i,1);}}};",
89
+ "globalThis.__hmr_dispatch=function(e,d){var a=_l[e];if(a)for(var i=0;i<a.length;i++)a[i](d);};",
90
+ "})()}",
91
+ ].join("")
92
+ : undefined;
93
+ // esbuild context 생성
94
+ const context = await esbuild.context({
95
+ entryPoints: [
96
+ path.join(options.pkgDir, "src", "main.ts"),
97
+ ...(options.polyfills != null
98
+ ? options.polyfills.map((p) => path.join(options.pkgDir, p))
99
+ : []),
100
+ ],
101
+ target: esbuildTarget,
102
+ entryNames: isDev ? "[name]" : "[name]-[hash]",
103
+ chunkNames: isDev ? "[name]" : "[name]-[hash]",
104
+ assetNames: isDev ? "[name]" : "[name]-[hash]",
105
+ bundle: true,
106
+ splitting: options.legacyModule !== true,
107
+ format: "esm",
108
+ platform: "browser",
109
+ outdir: options.outdir ?? path.join(options.pkgDir, "dist"),
110
+ metafile: true,
111
+ write: true,
112
+ sourcemap: isDev ? "linked" : false,
113
+ logLevel: "silent",
114
+ tsconfig: options.tsconfig ?? path.join(options.pkgDir, "tsconfig.json"),
115
+ define,
116
+ banner: hmrBanner != null ? { js: hmrBanner } : undefined,
117
+ ...(options.legacyModule === true ? { supported: { "import-meta": false } } : {}),
118
+ plugins: [
119
+ ...(options.templateUpdates != null
120
+ ? [
121
+ {
122
+ name: "sd-hmr-reset",
123
+ setup(build) {
124
+ build.onStart(() => {
125
+ options.templateUpdates.clear();
126
+ });
127
+ },
128
+ },
129
+ ]
130
+ : []),
131
+ angularPlugin,
132
+ scssPlugin,
133
+ ...(options.plugins ?? []),
134
+ ...(options.legacyModule === true
135
+ ? [
136
+ {
137
+ name: "sd-legacy-strip-dynamic-import",
138
+ setup(build) {
139
+ build.onEnd(async (result) => {
140
+ if (result.metafile == null)
141
+ return;
142
+ const jsFiles = Object.keys(result.metafile.outputs).filter((f) => f.endsWith(".js"));
143
+ for (const file of jsFiles) {
144
+ const code = await fs.promises.readFile(file, "utf-8");
145
+ if (!code.includes("import("))
146
+ continue;
147
+ const replaced = code.replace(/\bimport\s*\(/g, '(function(){return Promise.reject(new Error("Dynamic import not supported"))})(');
148
+ await fs.promises.writeFile(file, replaced);
149
+ }
150
+ });
151
+ },
152
+ },
153
+ ]
154
+ : []),
155
+ ...(options.onEnd != null
156
+ ? [
157
+ {
158
+ name: "sd-on-end",
159
+ setup(build) {
160
+ build.onEnd((result) => {
161
+ return options.onEnd(result);
162
+ });
163
+ },
164
+ },
165
+ ]
166
+ : []),
167
+ ],
168
+ });
169
+ return { context, sourceFileCache };
170
+ }
171
+ //# sourceMappingURL=esbuild-client-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esbuild-client-config.js","sourceRoot":"","sources":["../../src/esbuild/esbuild-client-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esbuild-config.d.ts","sourceRoot":"","sources":["../../src/esbuild/esbuild-config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAKnC;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B9F;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,wCAAwC;IACxC,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAGpE;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,YAAY,CAoB9F;AAsDD;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG;IAC7D,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,CAwDA;AAED;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAE3E;AAMD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAErE"}
@@ -61,6 +61,7 @@ export function createServerEsbuildOptions(options) {
61
61
  outdir: path.join(options.pkgDir, "dist"),
62
62
  format: "esm",
63
63
  minify: options.dev !== true,
64
+ sourcemap: options.dev === true ? "linked" : undefined,
64
65
  platform: "node",
65
66
  target: "node20",
66
67
  bundle: true,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esbuild-config.js","sourceRoot":"","sources":["../../src/esbuild/esbuild-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import type esbuild from "esbuild";
2
+ import { type IndexHtmlTransform } from "@angular/build/private";
3
+ /** metafile.outputs에서 추출된 파일 정보 (IndexHtmlGenerator.FileInfo 호환) */
4
+ export interface FileInfo {
5
+ file: string;
6
+ name?: string;
7
+ extension: string;
8
+ }
9
+ export interface GenerateIndexHtmlOptions {
10
+ /** src/index.html 경로 */
11
+ indexPath: string;
12
+ /** esbuild 빌드 결과 metafile */
13
+ metafile: esbuild.Metafile;
14
+ /** 출력 디렉토리 (dist/) */
15
+ outdir: string;
16
+ /** <base href> (기본: "/") */
17
+ baseHref?: string;
18
+ /** 빌드 모드 */
19
+ mode: "dev" | "build";
20
+ /** entryPoints의 이름 목록 (main, polyfills 등) */
21
+ entryNames: string[];
22
+ /** HTML 후처리 훅 (HMR 스크립트 주입용) */
23
+ postTransform?: IndexHtmlTransform;
24
+ }
25
+ export interface GenerateIndexHtmlResult {
26
+ content: string;
27
+ warnings: string[];
28
+ errors: string[];
29
+ }
30
+ /**
31
+ * esbuild metafile.outputs에서 JS/CSS 파일을 추출하여 FileInfo[] 로 변환한다.
32
+ */
33
+ export declare function extractFilesFromMetafile(metafile: esbuild.Metafile, outdir: string): FileInfo[];
34
+ /**
35
+ * esbuild 빌드 결과를 기반으로 index.html을 생성한다.
36
+ * IndexHtmlGenerator(@angular/build/private)를 활용하여 script/link 태그를 자동 주입한다.
37
+ */
38
+ export declare function generateIndexHtml(options: GenerateIndexHtmlOptions): Promise<GenerateIndexHtmlResult>;
39
+ //# sourceMappingURL=esbuild-index-html.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esbuild-index-html.d.ts","sourceRoot":"","sources":["../../src/esbuild/esbuild-index-html.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,wBAAwB,CAAC;AAGhC,oEAAoE;AACpE,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;IAC3B,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY;IACZ,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACtB,6CAA6C;IAC7C,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,gCAAgC;IAChC,aAAa,CAAC,EAAE,kBAAkB,CAAC;CACpC;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAC1B,MAAM,EAAE,MAAM,GACb,QAAQ,EAAE,CA2CZ;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,uBAAuB,CAAC,CAwBlC"}
@@ -0,0 +1,68 @@
1
+ import { IndexHtmlGenerator, } from "@angular/build/private";
2
+ import path from "path";
3
+ /**
4
+ * esbuild metafile.outputs에서 JS/CSS 파일을 추출하여 FileInfo[] 로 변환한다.
5
+ */
6
+ export function extractFilesFromMetafile(metafile, outdir) {
7
+ const files = [];
8
+ const normalizedOutdir = outdir.replace(/\\/g, "/");
9
+ // cssBundle → entry name 매핑 (JS entry의 cssBundle로 CSS에 name 전파)
10
+ const cssBundleToName = new Map();
11
+ for (const output of Object.values(metafile.outputs)) {
12
+ if (output.entryPoint != null && output.cssBundle != null) {
13
+ const name = path.basename(output.entryPoint, path.extname(output.entryPoint));
14
+ cssBundleToName.set(output.cssBundle.replace(/\\/g, "/"), name);
15
+ }
16
+ }
17
+ for (const [outputPath, output] of Object.entries(metafile.outputs)) {
18
+ const normalizedPath = outputPath.replace(/\\/g, "/");
19
+ const ext = path.extname(normalizedPath);
20
+ if (ext !== ".js" && ext !== ".css") {
21
+ continue;
22
+ }
23
+ const relativePath = normalizedPath.startsWith(normalizedOutdir)
24
+ ? normalizedPath.slice(normalizedOutdir.length).replace(/^\//, "")
25
+ : path.relative(normalizedOutdir, normalizedPath).replace(/\\/g, "/");
26
+ const fileInfo = {
27
+ file: relativePath,
28
+ extension: ext,
29
+ };
30
+ if (output.entryPoint != null) {
31
+ fileInfo.name = path.basename(output.entryPoint, path.extname(output.entryPoint));
32
+ }
33
+ else if (ext === ".css") {
34
+ const cssName = cssBundleToName.get(normalizedPath);
35
+ if (cssName != null) {
36
+ fileInfo.name = cssName;
37
+ }
38
+ }
39
+ files.push(fileInfo);
40
+ }
41
+ return files;
42
+ }
43
+ /**
44
+ * esbuild 빌드 결과를 기반으로 index.html을 생성한다.
45
+ * IndexHtmlGenerator(@angular/build/private)를 활용하여 script/link 태그를 자동 주입한다.
46
+ */
47
+ export async function generateIndexHtml(options) {
48
+ const files = extractFilesFromMetafile(options.metafile, options.outdir);
49
+ const entrypoints = options.entryNames.map((name) => [name, true]);
50
+ const generator = new IndexHtmlGenerator({
51
+ indexPath: options.indexPath,
52
+ entrypoints,
53
+ sri: options.mode === "build",
54
+ postTransform: options.postTransform,
55
+ });
56
+ const result = await generator.process({
57
+ lang: undefined,
58
+ baseHref: options.baseHref,
59
+ outputPath: options.outdir,
60
+ files,
61
+ });
62
+ return {
63
+ content: result.csrContent,
64
+ warnings: result.warnings,
65
+ errors: result.errors,
66
+ };
67
+ }
68
+ //# sourceMappingURL=esbuild-index-html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esbuild-index-html.js","sourceRoot":"","sources":["../../src/esbuild/esbuild-index-html.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { IndexHtmlTransform } from "@angular/build/private";
2
+ import type { SdPwaConfig } from "../sd-config.types.js";
3
+ export interface ApplyPwaOptions {
4
+ /** 패키지 디렉토리 경로 */
5
+ pkgDir: string;
6
+ /** 패키지 표시명 */
7
+ pkgName: string;
8
+ /** 모노레포 루트 (workspaceRoot) */
9
+ cwd: string;
10
+ /** 빌드 출력 디렉토리 (dist/) */
11
+ outdir: string;
12
+ /** base href (기본: "/") */
13
+ baseHref: string;
14
+ /** 빌드 모드 */
15
+ mode: "dev" | "build";
16
+ /** PWA 설정. false이면 비활성화 */
17
+ pwa?: false | SdPwaConfig;
18
+ }
19
+ export declare function createPwaHtmlTransform(): IndexHtmlTransform;
20
+ export declare function applyPwa(options: ApplyPwaOptions): Promise<void>;
21
+ //# sourceMappingURL=esbuild-pwa.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esbuild-pwa.d.ts","sourceRoot":"","sources":["../../src/esbuild/esbuild-pwa.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAMzD,MAAM,WAAW,eAAe;IAC9B,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY;IACZ,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACtB,2BAA2B;IAC3B,GAAG,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC;CAC3B;AAED,wBAAgB,sBAAsB,IAAI,kBAAkB,CAU3D;AAED,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA6EtE"}
@@ -0,0 +1,105 @@
1
+ import { augmentAppWithServiceWorker } from "@angular/build/private";
2
+ import { generatePwaIcons } from "../utils/generate-pwa-icons.js";
3
+ import fs from "node:fs";
4
+ import path from "path";
5
+ export function createPwaHtmlTransform() {
6
+ return (content) => {
7
+ const manifestLink = '<link rel="manifest" href="manifest.webmanifest">';
8
+ const registrationScript = `<script>${generateRegistrationScript()}</script>`;
9
+ content = content.replace("</head>", `${manifestLink}\n</head>`);
10
+ content = content.replace("</body>", `${registrationScript}\n</body>`);
11
+ return Promise.resolve(content);
12
+ };
13
+ }
14
+ export async function applyPwa(options) {
15
+ if (options.mode !== "build")
16
+ return;
17
+ if (options.pwa === false)
18
+ return;
19
+ const pwaConfig = options.pwa ?? {};
20
+ // 1. Icons
21
+ let iconsField = {};
22
+ if (pwaConfig.manifest?.icons != null) {
23
+ iconsField = { icons: pwaConfig.manifest.icons };
24
+ }
25
+ else {
26
+ const generated = await generatePwaIcons(options.pkgDir);
27
+ if (generated.length > 0) {
28
+ // Copy generated icons from public/icons/ to dist/icons/
29
+ const srcIconsDir = path.join(options.pkgDir, "public", "icons");
30
+ const dstIconsDir = path.join(options.outdir, "icons");
31
+ fs.mkdirSync(dstIconsDir, { recursive: true });
32
+ for (const icon of generated) {
33
+ const srcPath = path.join(srcIconsDir, path.basename(icon.src));
34
+ const dstPath = path.join(dstIconsDir, path.basename(icon.src));
35
+ fs.copyFileSync(srcPath, dstPath);
36
+ }
37
+ iconsField = { icons: generated };
38
+ }
39
+ }
40
+ // 2. Manifest
41
+ const manifest = {
42
+ name: pwaConfig.manifest?.name ?? options.pkgName,
43
+ short_name: pwaConfig.manifest?.short_name ?? options.pkgName,
44
+ display: pwaConfig.manifest?.display ?? "standalone",
45
+ theme_color: pwaConfig.manifest?.theme_color ?? "#ffffff",
46
+ background_color: pwaConfig.manifest?.background_color ?? "#ffffff",
47
+ start_url: ".",
48
+ scope: ".",
49
+ ...iconsField,
50
+ };
51
+ fs.writeFileSync(path.join(options.outdir, "manifest.webmanifest"), JSON.stringify(manifest, null, 2));
52
+ // 3. Ensure ngsw-config.json exists
53
+ const ngswConfigPath = path.join(options.pkgDir, "ngsw-config.json");
54
+ if (!fs.existsSync(ngswConfigPath)) {
55
+ const defaultConfig = {
56
+ $schema: "./node_modules/@angular/service-worker/config/schema.json",
57
+ index: "/index.html",
58
+ assetGroups: [
59
+ {
60
+ name: "app",
61
+ installMode: "prefetch",
62
+ resources: {
63
+ files: ["/*.html", "/*.css", "/*.js"],
64
+ },
65
+ },
66
+ {
67
+ name: "assets",
68
+ installMode: "lazy",
69
+ updateMode: "prefetch",
70
+ resources: {
71
+ files: ["/**/*.{png,jpg,svg,ico,woff2,webmanifest}"],
72
+ },
73
+ },
74
+ ],
75
+ };
76
+ fs.writeFileSync(ngswConfigPath, JSON.stringify(defaultConfig, null, 2) + "\n");
77
+ }
78
+ // 4. augmentAppWithServiceWorker
79
+ await augmentAppWithServiceWorker(options.pkgDir, options.cwd, options.outdir, options.baseHref);
80
+ }
81
+ function generateRegistrationScript() {
82
+ return `(function(){
83
+ if(!("serviceWorker" in navigator))return;
84
+ navigator.serviceWorker.register("ngsw-worker.js").then(function(reg){
85
+ if(reg.waiting){d(reg.waiting);return}
86
+ reg.addEventListener("updatefound",function(){
87
+ var w=reg.installing;
88
+ if(!w)return;
89
+ w.addEventListener("statechange",function(){
90
+ if(w.state==="installed"&&navigator.serviceWorker.controller)d(w);
91
+ });
92
+ });
93
+ });
94
+ var r=false;
95
+ navigator.serviceWorker.addEventListener("controllerchange",function(){
96
+ if(!r){r=true;window.location.reload()}
97
+ });
98
+ function d(w){
99
+ window.dispatchEvent(new CustomEvent("sd-pwa-update-ready",{
100
+ detail:{update:function(){w.postMessage({type:"SKIP_WAITING"})}}
101
+ }));
102
+ }
103
+ })();`;
104
+ }
105
+ //# sourceMappingURL=esbuild-pwa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esbuild-pwa.js","sourceRoot":"","sources":["../../src/esbuild/esbuild-pwa.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,MAAM,CAAC;AAmBxB,MAAM,UAAU,sBAAsB;IACpC,OAAO,CAAC,OAAe,EAAE,EAAE;QACzB,MAAM,YAAY,GAAG,mDAAmD,CAAC;QACzE,MAAM,kBAAkB,GAAG,WAAW,0BAA0B,EAAE,WAAW,CAAC;QAE9E,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,YAAY,WAAW,CAAC,CAAC;QACjE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,kBAAkB,WAAW,CAAC,CAAC;QAEvE,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAwB;IACrD,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO;IACrC,IAAI,OAAO,CAAC,GAAG,KAAK,KAAK;QAAE,OAAO;IAElC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC;IAEpC,WAAW;IACX,IAAI,UAAU,GAA4B,EAAE,CAAC;IAC7C,IAAI,SAAS,CAAC,QAAQ,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC;QACtC,UAAU,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,yDAAyD;YACzD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACjE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACvD,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACpC,CAAC;YACD,UAAU,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAED,cAAc;IACd,MAAM,QAAQ,GAAG;QACf,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,IAAI,IAAI,OAAO,CAAC,OAAO;QACjD,UAAU,EAAE,SAAS,CAAC,QAAQ,EAAE,UAAU,IAAI,OAAO,CAAC,OAAO;QAC7D,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,IAAI,YAAY;QACpD,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,WAAW,IAAI,SAAS;QACzD,gBAAgB,EAAE,SAAS,CAAC,QAAQ,EAAE,gBAAgB,IAAI,SAAS;QACnE,SAAS,EAAE,GAAG;QACd,KAAK,EAAE,GAAG;QACV,GAAG,UAAU;KACd,CAAC;IAEF,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,sBAAsB,CAAC,EACjD,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAClC,CAAC;IAEF,oCAAoC;IACpC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACrE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACnC,MAAM,aAAa,GAAG;YACpB,OAAO,EAAE,2DAA2D;YACpE,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE;gBACX;oBACE,IAAI,EAAE,KAAK;oBACX,WAAW,EAAE,UAAU;oBACvB,SAAS,EAAE;wBACT,KAAK,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC;qBACtC;iBACF;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,MAAM;oBACnB,UAAU,EAAE,UAAU;oBACtB,SAAS,EAAE;wBACT,KAAK,EAAE,CAAC,2CAA2C,CAAC;qBACrD;iBACF;aACF;SACF,CAAC;QACF,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAClF,CAAC;IAED,iCAAiC;IACjC,MAAM,2BAA2B,CAC/B,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,GAAG,EACX,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,QAAQ,CACjB,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B;IACjC,OAAO;;;;;;;;;;;;;;;;;;;;;MAqBH,CAAC;AACP,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type esbuild from "esbuild";
2
+ export interface CreateScssPluginOptions {
3
+ loadPaths: string[];
4
+ }
5
+ export declare function createScssPlugin(options: CreateScssPluginOptions): esbuild.Plugin;
6
+ //# sourceMappingURL=esbuild-scss-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esbuild-scss-plugin.d.ts","sourceRoot":"","sources":["../../src/esbuild/esbuild-scss-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAInC,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAuCjF"}
@@ -0,0 +1,41 @@
1
+ import { fileURLToPath } from "url";
2
+ import { compileScssFileAsync } from "../angular/scss-compiler.js";
3
+ export function createScssPlugin(options) {
4
+ return {
5
+ name: "sd-scss",
6
+ setup(build) {
7
+ build.onLoad({ filter: /\.scss$/ }, async (args) => {
8
+ try {
9
+ const result = await compileScssFileAsync(args.path, options.loadPaths);
10
+ return {
11
+ contents: result.css,
12
+ loader: "css",
13
+ watchFiles: result.dependencies,
14
+ };
15
+ }
16
+ catch (e) {
17
+ // sass.Exception은 span 프로퍼티로 위치 정보를 제공한다
18
+ const sassSpan = e?.span;
19
+ const location = sassSpan != null
20
+ ? {
21
+ file: sassSpan.url != null
22
+ ? fileURLToPath(sassSpan.url)
23
+ : args.path,
24
+ line: sassSpan.start.line + 1, // sass: 0-based → esbuild: 1-based
25
+ column: sassSpan.start.column,
26
+ }
27
+ : undefined;
28
+ return {
29
+ errors: [
30
+ {
31
+ text: e?.sassMessage ?? (e instanceof Error ? e.message : String(e)),
32
+ location,
33
+ },
34
+ ],
35
+ };
36
+ }
37
+ });
38
+ },
39
+ };
40
+ }
41
+ //# sourceMappingURL=esbuild-scss-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esbuild-scss-plugin.js","sourceRoot":"","sources":["../../src/esbuild/esbuild-scss-plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAMhE,MAAM,UAAU,gBAAgB,CAAC,OAAgC;IAC/D,OAAO;QACL,IAAI,EAAE,SAAS;QACf,KAAK,CAAC,KAAK;YACT,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACjD,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;oBACxE,OAAO;wBACL,QAAQ,EAAE,MAAM,CAAC,GAAG;wBACpB,MAAM,EAAE,KAAc;wBACtB,UAAU,EAAE,MAAM,CAAC,YAAY;qBAChC,CAAC;gBACJ,CAAC;gBAAC,OAAO,CAAU,EAAE,CAAC;oBACpB,yCAAyC;oBACzC,MAAM,QAAQ,GAAI,CAAS,EAAE,IAAI,CAAC;oBAClC,MAAM,QAAQ,GACZ,QAAQ,IAAI,IAAI;wBACd,CAAC,CAAC;4BACE,IAAI,EACF,QAAQ,CAAC,GAAG,IAAI,IAAI;gCAClB,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC;gCAC7B,CAAC,CAAC,IAAI,CAAC,IAAI;4BACf,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,mCAAmC;4BAClE,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;yBAC9B;wBACH,CAAC,CAAC,SAAS,CAAC;oBAEhB,OAAO;wBACL,MAAM,EAAE;4BACN;gCACE,IAAI,EAAG,CAAS,EAAE,WAAW,IAAI,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gCAC7E,QAAQ;6BACT;yBACF;qBACF,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint-core.d.ts","sourceRoot":"","sources":["../../src/lint/lint-core.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,4DAA4D;IAC5D,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,+CAA+C;IAC/C,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,sBAAsB;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,qBAAqB;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,eAAe,EAAE,MAAM,CAAC;CACzB;AA0BD;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAuCvE;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAkF3E"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint-core.js","sourceRoot":"","sources":["../../src/lint/lint-core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint-utils.d.ts","sourceRoot":"","sources":["../../src/lint/lint-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG3D;;;GAGG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAQ/E"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint-utils.js","sourceRoot":"","sources":["../../src/lint/lint-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAI7C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAoB;IACxD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAA0B,UAAU,CAAC,CAAC;IAClE,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;IAC3B,CAAC;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint-with-program.d.ts","sourceRoot":"","sources":["../../src/lint/lint-with-program.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAOjC;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;IACpB;oDACgD;IAChD,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACrC;AAED;;;;;;;GAOG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;gBAErC,OAAO,EAAE,4BAA4B;IAKjD;;;OAGG;IACH,OAAO,CAAC,aAAa;IAmCrB;;;;OAIG;IACG,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAoFpE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint-with-program.js","sourceRoot":"","sources":["../../src/lint/lint-with-program.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { type ConsolaInstance } from "consola";
2
+ import type { SdConfig } from "../sd-config.types";
3
+ import { type WatchReplaceDepResult } from "../deps/replace-deps/replace-deps";
4
+ import { RebuildManager } from "../runtime/rebuild-manager";
5
+ import { ResultCollector } from "../runtime/ResultCollector";
6
+ import { SignalHandler } from "../runtime/SignalHandler";
7
+ /**
8
+ * Orchestrator 공통 기반 클래스
9
+ *
10
+ * sd.config.ts 로드, pathMap 구축, 대상 검증, replaceDeps 감시,
11
+ * 런타임(SignalHandler, ResultCollector, RebuildManager) 초기화를 수행한다.
12
+ *
13
+ * 서브클래스(WatchOrchestrator, DevOrchestrator)가 OrchestratorLifecycle을 implements한다.
14
+ * BaseOrchestrator.initialize()는 params를 받으므로 인터페이스와 직접 호환되지 않으며,
15
+ * 서브클래스가 parameterless override를 제공한다.
16
+ */
17
+ export declare abstract class BaseOrchestrator {
18
+ protected readonly _cwd: string;
19
+ protected readonly _logger: ConsolaInstance;
20
+ protected _resultCollector: ResultCollector;
21
+ protected _signalHandler: SignalHandler;
22
+ protected _rebuildManager: RebuildManager;
23
+ protected _pathMap: Map<string, string>;
24
+ protected _baseEnv: {
25
+ VER: string;
26
+ DEV: string;
27
+ };
28
+ protected _replaceDeps: Record<string, string> | undefined;
29
+ protected _replaceDepWatcher: WatchReplaceDepResult | undefined;
30
+ protected _hasPackages: boolean;
31
+ constructor(logTag: string);
32
+ initialize(params: {
33
+ targets: string[];
34
+ options: string[];
35
+ dev: boolean;
36
+ }): Promise<void>;
37
+ abstract start(): Promise<void>;
38
+ awaitTermination(): Promise<void>;
39
+ shutdown(): Promise<void>;
40
+ protected abstract _initializeMode(config: SdConfig, targets: string[]): Promise<void> | void;
41
+ protected abstract _initializeEngines(config: SdConfig): Promise<void> | void;
42
+ protected abstract _shutdownMode(): Promise<void>;
43
+ }
44
+ //# sourceMappingURL=BaseOrchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseOrchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrators/BaseOrchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAInD,OAAO,EAAoB,KAAK,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD;;;;;;;;;GASG;AACH,8BAAsB,gBAAgB;IACpC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAG5C,SAAS,CAAC,gBAAgB,EAAG,eAAe,CAAC;IAC7C,SAAS,CAAC,cAAc,EAAG,aAAa,CAAC;IACzC,SAAS,CAAC,eAAe,EAAG,cAAc,CAAC;IAG3C,SAAS,CAAC,QAAQ,sBAA6B;IAC/C,SAAS,CAAC,QAAQ,EAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAC3D,SAAS,CAAC,kBAAkB,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAChE,SAAS,CAAC,YAAY,UAAS;gBAEnB,MAAM,EAAE,MAAM;IAKpB,UAAU,CAAC,MAAM,EAAE;QACvB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,GAAG,EAAE,OAAO,CAAC;KACd,GAAG,OAAO,CAAC,IAAI,CAAC;IA+CjB,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAEzB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAW/B,SAAS,CAAC,QAAQ,CAAC,eAAe,CAChC,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAEvB,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAE7E,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CAClD"}