@simplysm/sd-cli 14.0.41 → 14.0.43

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 (321) hide show
  1. package/dist/angular/angular-compiler.d.ts +0 -35
  2. package/dist/angular/angular-compiler.d.ts.map +1 -1
  3. package/dist/angular/angular-compiler.js +0 -374
  4. package/dist/angular/angular-compiler.js.map +1 -1
  5. package/dist/angular/hmr-candidates.d.ts +13 -0
  6. package/dist/angular/hmr-candidates.d.ts.map +1 -0
  7. package/dist/angular/hmr-candidates.js +230 -0
  8. package/dist/angular/hmr-candidates.js.map +1 -0
  9. package/dist/angular/ngtsc-build-core.d.ts +29 -34
  10. package/dist/angular/ngtsc-build-core.d.ts.map +1 -1
  11. package/dist/angular/ngtsc-build-core.js +90 -51
  12. package/dist/angular/ngtsc-build-core.js.map +1 -1
  13. package/dist/angular/vite-angular-plugin.d.ts +1 -1
  14. package/dist/angular/vite-angular-plugin.d.ts.map +1 -1
  15. package/dist/angular/vite-angular-plugin.js +63 -56
  16. package/dist/angular/vite-angular-plugin.js.map +1 -1
  17. package/dist/angular/web-worker-transformer.d.ts +9 -0
  18. package/dist/angular/web-worker-transformer.d.ts.map +1 -0
  19. package/dist/angular/web-worker-transformer.js +73 -0
  20. package/dist/angular/web-worker-transformer.js.map +1 -0
  21. package/dist/capacitor/capacitor.d.ts.map +1 -1
  22. package/dist/capacitor/capacitor.js +6 -4
  23. package/dist/capacitor/capacitor.js.map +1 -1
  24. package/dist/commands/check.d.ts +1 -1
  25. package/dist/commands/check.d.ts.map +1 -1
  26. package/dist/commands/check.js +15 -65
  27. package/dist/commands/check.js.map +1 -1
  28. package/dist/commands/publish/deployment-phase.d.ts.map +1 -1
  29. package/dist/commands/publish/deployment-phase.js +13 -5
  30. package/dist/commands/publish/deployment-phase.js.map +1 -1
  31. package/dist/commands/publish/npm-publisher.js +1 -1
  32. package/dist/commands/publish/npm-publisher.js.map +1 -1
  33. package/dist/commands/publish/publish-command.js +1 -1
  34. package/dist/commands/publish/publish-command.js.map +1 -1
  35. package/dist/commands/publish/version-upgrade.js +1 -1
  36. package/dist/commands/publish/version-upgrade.js.map +1 -1
  37. package/dist/commands/replace-deps.d.ts.map +1 -1
  38. package/dist/commands/replace-deps.js +2 -1
  39. package/dist/commands/replace-deps.js.map +1 -1
  40. package/dist/deps/replace-deps/collect-deps.d.ts.map +1 -1
  41. package/dist/deps/replace-deps/collect-deps.js +5 -2
  42. package/dist/deps/replace-deps/collect-deps.js.map +1 -1
  43. package/dist/deps/replace-deps/replace-deps.d.ts +21 -3
  44. package/dist/deps/replace-deps/replace-deps.d.ts.map +1 -1
  45. package/dist/deps/replace-deps/replace-deps.js +107 -62
  46. package/dist/deps/replace-deps/replace-deps.js.map +1 -1
  47. package/dist/electron/electron.js +7 -7
  48. package/dist/electron/electron.js.map +1 -1
  49. package/dist/engines/BaseEngine.d.ts.map +1 -1
  50. package/dist/engines/BaseEngine.js +2 -5
  51. package/dist/engines/BaseEngine.js.map +1 -1
  52. package/dist/engines/EsbuildClientEngine.d.ts.map +1 -1
  53. package/dist/engines/EsbuildClientEngine.js +16 -9
  54. package/dist/engines/EsbuildClientEngine.js.map +1 -1
  55. package/dist/engines/NgtscEngine.d.ts +4 -4
  56. package/dist/engines/NgtscEngine.d.ts.map +1 -1
  57. package/dist/engines/NgtscEngine.js +5 -5
  58. package/dist/engines/NgtscEngine.js.map +1 -1
  59. package/dist/engines/TscEngine.d.ts.map +1 -1
  60. package/dist/engines/TscEngine.js +0 -2
  61. package/dist/engines/TscEngine.js.map +1 -1
  62. package/dist/engines/types.d.ts +2 -0
  63. package/dist/engines/types.d.ts.map +1 -1
  64. package/dist/esbuild/esbuild-angular-compiler-plugin.d.ts +36 -0
  65. package/dist/esbuild/esbuild-angular-compiler-plugin.d.ts.map +1 -0
  66. package/dist/esbuild/esbuild-angular-compiler-plugin.js +464 -0
  67. package/dist/esbuild/esbuild-angular-compiler-plugin.js.map +1 -0
  68. package/dist/esbuild/esbuild-client-config.d.ts +8 -2
  69. package/dist/esbuild/esbuild-client-config.d.ts.map +1 -1
  70. package/dist/esbuild/esbuild-client-config.js +48 -33
  71. package/dist/esbuild/esbuild-client-config.js.map +1 -1
  72. package/dist/esbuild/esbuild-tsc-plugin.d.ts +4 -1
  73. package/dist/esbuild/esbuild-tsc-plugin.d.ts.map +1 -1
  74. package/dist/esbuild/esbuild-tsc-plugin.js +27 -23
  75. package/dist/esbuild/esbuild-tsc-plugin.js.map +1 -1
  76. package/dist/esbuild/file-reference-tracker.d.ts +24 -0
  77. package/dist/esbuild/file-reference-tracker.d.ts.map +1 -0
  78. package/dist/esbuild/file-reference-tracker.js +57 -0
  79. package/dist/esbuild/file-reference-tracker.js.map +1 -0
  80. package/dist/esbuild/lmdb-cache-store.d.ts +18 -0
  81. package/dist/esbuild/lmdb-cache-store.d.ts.map +1 -0
  82. package/dist/esbuild/lmdb-cache-store.js +41 -0
  83. package/dist/esbuild/lmdb-cache-store.js.map +1 -0
  84. package/dist/esbuild/load-result-cache.d.ts +17 -0
  85. package/dist/esbuild/load-result-cache.d.ts.map +1 -0
  86. package/dist/esbuild/load-result-cache.js +61 -0
  87. package/dist/esbuild/load-result-cache.js.map +1 -0
  88. package/dist/index.d.ts +3 -0
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/index.js +2 -0
  91. package/dist/index.js.map +1 -1
  92. package/dist/lint/lint-core.js +7 -7
  93. package/dist/lint/lint-core.js.map +1 -1
  94. package/dist/orchestrators/BaseOrchestrator.js +2 -2
  95. package/dist/orchestrators/BaseOrchestrator.js.map +1 -1
  96. package/dist/orchestrators/BuildOrchestrator.d.ts.map +1 -1
  97. package/dist/orchestrators/BuildOrchestrator.js +5 -19
  98. package/dist/orchestrators/BuildOrchestrator.js.map +1 -1
  99. package/dist/orchestrators/DevOrchestrator.js +5 -5
  100. package/dist/orchestrators/DevOrchestrator.js.map +1 -1
  101. package/dist/orchestrators/WatchOrchestrator.js +6 -6
  102. package/dist/orchestrators/WatchOrchestrator.js.map +1 -1
  103. package/dist/runtime/ResultCollector.d.ts +1 -0
  104. package/dist/runtime/ResultCollector.d.ts.map +1 -1
  105. package/dist/runtime/ResultCollector.js.map +1 -1
  106. package/dist/runtime/engine-watch-events.d.ts.map +1 -1
  107. package/dist/runtime/engine-watch-events.js +3 -0
  108. package/dist/runtime/engine-watch-events.js.map +1 -1
  109. package/dist/runtime/rebuild-manager.js +1 -1
  110. package/dist/runtime/rebuild-manager.js.map +1 -1
  111. package/dist/runtime/worker-utils.js +1 -1
  112. package/dist/runtime/worker-utils.js.map +1 -1
  113. package/dist/sd-cli-entry.d.ts.map +1 -1
  114. package/dist/sd-cli-entry.js +4 -3
  115. package/dist/sd-cli-entry.js.map +1 -1
  116. package/dist/sd-cli.js +3 -3
  117. package/dist/sd-cli.js.map +1 -1
  118. package/dist/ts-compiler/SdTsCompiler.d.ts +39 -0
  119. package/dist/ts-compiler/SdTsCompiler.d.ts.map +1 -0
  120. package/dist/ts-compiler/SdTsCompiler.js +593 -0
  121. package/dist/ts-compiler/SdTsCompiler.js.map +1 -0
  122. package/dist/ts-compiler/sd-ts-compiler-options.d.ts +40 -0
  123. package/dist/ts-compiler/sd-ts-compiler-options.d.ts.map +1 -0
  124. package/dist/ts-compiler/sd-ts-compiler-options.js +2 -0
  125. package/dist/ts-compiler/sd-ts-compiler-options.js.map +1 -0
  126. package/dist/ts-compiler/sd-ts-compiler-result.d.ts +34 -0
  127. package/dist/ts-compiler/sd-ts-compiler-result.d.ts.map +1 -0
  128. package/dist/ts-compiler/sd-ts-compiler-result.js +2 -0
  129. package/dist/ts-compiler/sd-ts-compiler-result.js.map +1 -0
  130. package/dist/utils/copy-public.d.ts +6 -4
  131. package/dist/utils/copy-public.d.ts.map +1 -1
  132. package/dist/utils/copy-public.js +9 -7
  133. package/dist/utils/copy-public.js.map +1 -1
  134. package/dist/utils/diagnostic-utils.d.ts +2 -3
  135. package/dist/utils/diagnostic-utils.d.ts.map +1 -1
  136. package/dist/utils/diagnostic-utils.js +8 -9
  137. package/dist/utils/diagnostic-utils.js.map +1 -1
  138. package/dist/utils/output-utils.d.ts +8 -2
  139. package/dist/utils/output-utils.d.ts.map +1 -1
  140. package/dist/utils/output-utils.js +32 -8
  141. package/dist/utils/output-utils.js.map +1 -1
  142. package/dist/workers/client.worker.d.ts +1 -1
  143. package/dist/workers/client.worker.d.ts.map +1 -1
  144. package/dist/workers/client.worker.js +136 -110
  145. package/dist/workers/client.worker.js.map +1 -1
  146. package/dist/workers/library-build.worker.d.ts +0 -2
  147. package/dist/workers/library-build.worker.d.ts.map +1 -1
  148. package/dist/workers/library-build.worker.js +147 -70
  149. package/dist/workers/library-build.worker.js.map +1 -1
  150. package/dist/workers/server-build.worker.d.ts.map +1 -1
  151. package/dist/workers/server-build.worker.js +30 -57
  152. package/dist/workers/server-build.worker.js.map +1 -1
  153. package/dist/workers/server-esbuild-context.d.ts +7 -0
  154. package/dist/workers/server-esbuild-context.d.ts.map +1 -1
  155. package/dist/workers/server-esbuild-context.js +11 -2
  156. package/dist/workers/server-esbuild-context.js.map +1 -1
  157. package/package.json +7 -6
  158. package/src/angular/angular-compiler.ts +0 -502
  159. package/src/angular/hmr-candidates.ts +295 -0
  160. package/src/angular/ngtsc-build-core.ts +125 -92
  161. package/src/angular/vite-angular-plugin.ts +71 -65
  162. package/src/angular/web-worker-transformer.ts +117 -0
  163. package/src/capacitor/capacitor.ts +6 -4
  164. package/src/commands/check.ts +17 -76
  165. package/src/commands/publish/deployment-phase.ts +11 -7
  166. package/src/commands/publish/npm-publisher.ts +1 -1
  167. package/src/commands/publish/publish-command.ts +1 -1
  168. package/src/commands/publish/version-upgrade.ts +1 -1
  169. package/src/commands/replace-deps.ts +3 -1
  170. package/src/deps/replace-deps/collect-deps.ts +4 -2
  171. package/src/deps/replace-deps/replace-deps.ts +114 -66
  172. package/src/electron/electron.ts +7 -7
  173. package/src/engines/BaseEngine.ts +2 -6
  174. package/src/engines/EsbuildClientEngine.ts +16 -10
  175. package/src/engines/NgtscEngine.ts +7 -7
  176. package/src/engines/TscEngine.ts +0 -2
  177. package/src/engines/types.ts +2 -0
  178. package/src/esbuild/esbuild-angular-compiler-plugin.ts +647 -0
  179. package/src/esbuild/esbuild-client-config.ts +57 -41
  180. package/src/esbuild/esbuild-tsc-plugin.ts +33 -23
  181. package/src/esbuild/file-reference-tracker.ts +61 -0
  182. package/src/esbuild/lmdb-cache-store.ts +46 -0
  183. package/src/esbuild/load-result-cache.ts +85 -0
  184. package/src/index.ts +5 -0
  185. package/src/lint/lint-core.ts +7 -7
  186. package/src/orchestrators/BaseOrchestrator.ts +2 -2
  187. package/src/orchestrators/BuildOrchestrator.ts +5 -24
  188. package/src/orchestrators/DevOrchestrator.ts +5 -5
  189. package/src/orchestrators/WatchOrchestrator.ts +6 -6
  190. package/src/runtime/ResultCollector.ts +1 -0
  191. package/src/runtime/engine-watch-events.ts +3 -0
  192. package/src/runtime/rebuild-manager.ts +1 -1
  193. package/src/runtime/worker-utils.ts +1 -1
  194. package/src/sd-cli-entry.ts +5 -3
  195. package/src/sd-cli.ts +4 -4
  196. package/src/ts-compiler/SdTsCompiler.ts +815 -0
  197. package/src/ts-compiler/sd-ts-compiler-options.ts +46 -0
  198. package/src/ts-compiler/sd-ts-compiler-result.ts +34 -0
  199. package/src/utils/copy-public.ts +9 -6
  200. package/src/utils/diagnostic-utils.ts +8 -9
  201. package/src/utils/output-utils.ts +38 -8
  202. package/src/workers/client.worker.ts +160 -126
  203. package/src/workers/library-build.worker.ts +187 -75
  204. package/src/workers/server-build.worker.ts +31 -61
  205. package/src/workers/server-esbuild-context.ts +14 -2
  206. package/tests/angular/fixtures/packages/basic-app/dist/styles.css +3 -0
  207. package/tests/angular/fixtures/packages/basic-app/scss/styles.scss +5 -0
  208. package/tests/angular/vite-angular-plugin-sdtscompiler.verify.md +13 -0
  209. package/tests/angular/web-worker-transformer.spec.ts +154 -0
  210. package/tests/capacitor/capacitor-build.spec.ts +1 -1
  211. package/tests/capacitor/capacitor-icon.spec.ts +1 -1
  212. package/tests/capacitor/capacitor-init.spec.ts +1 -1
  213. package/tests/commands/check.spec.ts +90 -104
  214. package/tests/commands/publish.spec.ts +12 -4
  215. package/tests/commands/slice3-severity-cleanup.verify.md +12 -0
  216. package/tests/deps/replace-deps/collect-deps.acc.spec.ts +62 -0
  217. package/tests/deps/replace-deps/collect-deps.spec.ts +49 -0
  218. package/tests/deps/replace-deps/replace-deps-filter.spec.ts +103 -0
  219. package/tests/deps/replace-deps/replace-deps-setup.acc.spec.ts +156 -0
  220. package/tests/electron/electron.spec.ts +4 -1
  221. package/tests/engines/engine-adapter-isolation.spec.ts +5 -6
  222. package/tests/engines/engine-duplicate-output-removal.verify.md +10 -0
  223. package/tests/engines/esbuild-client-engine.acc.spec.ts +79 -0
  224. package/tests/engines/esbuild-client-engine.spec.ts +73 -3
  225. package/tests/esbuild/esbuild-angular-compiler-plugin-hmr.verify.md +23 -0
  226. package/tests/esbuild/esbuild-angular-compiler-plugin-onload.verify.md +21 -0
  227. package/tests/esbuild/esbuild-angular-compiler-plugin-onstart-extraction.verify.md +16 -0
  228. package/tests/esbuild/esbuild-angular-compiler-plugin-sdtscompiler.verify.md +15 -0
  229. package/tests/esbuild/esbuild-angular-compiler-plugin-stylesheet.verify.md +31 -0
  230. package/tests/esbuild/esbuild-angular-compiler-plugin-worker.verify.md +31 -0
  231. package/tests/esbuild/esbuild-angular-compiler-plugin.spec.ts +397 -0
  232. package/tests/esbuild/esbuild-angular-compiler-plugin.verify.md +21 -0
  233. package/tests/esbuild/esbuild-tsc-plugin-imports.verify.md +13 -0
  234. package/tests/esbuild/esbuild-tsc-plugin.acc.spec.ts +56 -111
  235. package/tests/esbuild/esbuild-tsc-plugin.spec.ts +116 -52
  236. package/tests/esbuild/file-reference-tracker.spec.ts +99 -0
  237. package/tests/esbuild/lmdb-cache-store.spec.ts +58 -0
  238. package/tests/esbuild/load-result-cache.acc.spec.ts +55 -0
  239. package/tests/esbuild/load-result-cache.spec.ts +133 -0
  240. package/tests/orchestrators/build-orchestrator.spec.ts +4 -3
  241. package/tests/orchestrators/dev-orchestrator.spec.ts +5 -5
  242. package/tests/orchestrators/slice1-stdout-to-consola.verify.md +10 -0
  243. package/tests/orchestrators/typecheck-orchestrator.spec.ts +1 -1
  244. package/tests/orchestrators/watch-orchestrator.spec.ts +7 -7
  245. package/tests/runtime/result-collector.spec.ts +64 -0
  246. package/tests/sd-cli-entry.spec.ts +3 -4
  247. package/tests/sd-cli-log-tag.verify.md +11 -0
  248. package/tests/ts-compiler/SdTsCompiler-affected-files.verify.md +8 -0
  249. package/tests/ts-compiler/SdTsCompiler-diagnostics.verify.md +12 -0
  250. package/tests/ts-compiler/SdTsCompiler-emit.verify.md +9 -0
  251. package/tests/ts-compiler/SdTsCompiler.acc.spec.ts +603 -0
  252. package/tests/ts-compiler/SdTsCompiler.spec.ts +265 -0
  253. package/tests/ts-compiler/SdTsCompiler.verify.md +41 -0
  254. package/tests/ts-compiler/fixtures/non-angular-pkg/.cache/typecheck-browser.tsbuildinfo +1 -0
  255. package/tests/ts-compiler/fixtures/non-angular-pkg/.cache/typecheck-node.tsbuildinfo +1 -0
  256. package/tests/ts-compiler/fixtures/non-angular-pkg/.cache/typecheck.tsbuildinfo +1 -0
  257. package/tests/ts-compiler/fixtures/non-angular-pkg/dist/index.d.ts +2 -0
  258. package/tests/ts-compiler/fixtures/non-angular-pkg/dist/index.d.ts.map +1 -0
  259. package/tests/ts-compiler/fixtures/non-angular-pkg/dist/index.js +4 -0
  260. package/tests/ts-compiler/fixtures/non-angular-pkg/dist/index.js.map +1 -0
  261. package/tests/ts-compiler/fixtures/non-angular-pkg/dist/util.d.ts +2 -0
  262. package/tests/ts-compiler/fixtures/non-angular-pkg/dist/util.d.ts.map +1 -0
  263. package/tests/ts-compiler/fixtures/non-angular-pkg/dist/util.js +4 -0
  264. package/tests/ts-compiler/fixtures/non-angular-pkg/dist/util.js.map +1 -0
  265. package/tests/ts-compiler/fixtures/non-angular-pkg/src/index.ts +3 -0
  266. package/tests/ts-compiler/fixtures/non-angular-pkg/src/util.ts +3 -0
  267. package/tests/ts-compiler/fixtures/non-angular-pkg/tests/sample.test-file.ts +3 -0
  268. package/tests/ts-compiler/fixtures/non-angular-pkg/tsconfig.json +12 -0
  269. package/tests/ts-compiler/scss-lint-integration.verify.md +14 -0
  270. package/tests/utils/angular-build.spec.ts +1 -1
  271. package/tests/utils/copy-public-outdir.verify.md +8 -0
  272. package/tests/utils/copy-public.acc.spec.ts +52 -0
  273. package/tests/utils/copy-public.spec.ts +56 -0
  274. package/tests/utils/diagnostic-utils.spec.ts +24 -15
  275. package/tests/utils/engine-watch-events.acc.spec.ts +59 -0
  276. package/tests/utils/engine-watch-events.spec.ts +58 -0
  277. package/tests/utils/esbuild-client-config-integration.verify.md +9 -0
  278. package/tests/utils/esbuild-client-config.acc.spec.ts +45 -61
  279. package/tests/utils/esbuild-client-config.spec.ts +70 -52
  280. package/tests/utils/ngtsc-build-core-write-emit.spec.ts +12 -12
  281. package/tests/utils/ngtsc-build-core.spec.ts +1 -44
  282. package/tests/utils/output-utils.spec.ts +133 -13
  283. package/tests/utils/replace-deps-watch.acc.spec.ts +7 -1
  284. package/tests/utils/replace-deps-watch.spec.ts +57 -1
  285. package/tests/utils/worker-utils.spec.ts +8 -2
  286. package/tests/workers/client-worker-initial-build-error.verify.md +2 -3
  287. package/tests/workers/client-worker-initial-build-warnings.verify.md +7 -0
  288. package/tests/workers/client-worker-refactor.verify.md +22 -0
  289. package/tests/workers/client-worker-ts-cache-invalidation.verify.md +12 -0
  290. package/tests/workers/client-worker.acc.spec.ts +6 -3
  291. package/tests/workers/library-build-lint.spec.ts +40 -45
  292. package/tests/workers/library-build-worker.spec.ts +294 -40
  293. package/tests/workers/server-build-lint.spec.ts +59 -45
  294. package/tests/workers/server-build-worker.spec.ts +63 -24
  295. package/tests/workers/server-esbuild-context.acc.spec.ts +2 -0
  296. package/tests/workers/server-esbuild-context.spec.ts +2 -0
  297. package/tests/workers/server-runtime-worker.spec.ts +1 -1
  298. package/tests/workers/shared-worker-lifecycle.acc.spec.ts +1 -1
  299. package/dist/angular/angular-build-pipeline.d.ts +0 -97
  300. package/dist/angular/angular-build-pipeline.d.ts.map +0 -1
  301. package/dist/angular/angular-build-pipeline.js +0 -285
  302. package/dist/angular/angular-build-pipeline.js.map +0 -1
  303. package/dist/utils/tsc-build.d.ts +0 -51
  304. package/dist/utils/tsc-build.d.ts.map +0 -1
  305. package/dist/utils/tsc-build.js +0 -156
  306. package/dist/utils/tsc-build.js.map +0 -1
  307. package/dist/workers/ngtsc-build.worker.d.ts +0 -23
  308. package/dist/workers/ngtsc-build.worker.d.ts.map +0 -1
  309. package/dist/workers/ngtsc-build.worker.js +0 -267
  310. package/dist/workers/ngtsc-build.worker.js.map +0 -1
  311. package/src/angular/angular-build-pipeline.ts +0 -406
  312. package/src/utils/tsc-build.ts +0 -226
  313. package/src/workers/ngtsc-build.worker.ts +0 -351
  314. package/tests/angular/angular-build-pipeline.spec.ts +0 -247
  315. package/tests/angular/angular-compiler-aot.acc.spec.ts +0 -68
  316. package/tests/angular/angular-compiler-aot.spec.ts +0 -80
  317. package/tests/utils/angular-compiler-emit.spec.ts +0 -666
  318. package/tests/utils/angular-compiler.spec.ts +0 -707
  319. package/tests/utils/tsc-build.spec.ts +0 -527
  320. package/tests/workers/ngtsc-build-lint.spec.ts +0 -141
  321. package/tests/workers/ngtsc-build-worker.spec.ts +0 -199
@@ -0,0 +1,40 @@
1
+ import type ts from "typescript";
2
+ import type { AngularSourceFileCache } from "../angular/angular-compiler";
3
+ import type { TypecheckEnv } from "../utils/tsconfig";
4
+ export interface ISdTsCompilerEmitOptions {
5
+ /** emit 대상 소스 필터 (Angular only, 지정 시 해당 파일만 EmitResult에 포함) */
6
+ sourceFilter?: (fileName: string) => boolean;
7
+ /** Angular transformers 외 추가 transformers (Angular only) */
8
+ additionalTransformers?: {
9
+ before?: ts.TransformerFactory<ts.SourceFile>[];
10
+ after?: ts.TransformerFactory<ts.SourceFile>[];
11
+ };
12
+ }
13
+ export interface ISdTsCompilerOptions {
14
+ /** 패키지 디렉토리 */
15
+ pkgDir: string;
16
+ /** workspace 루트 (diagnostics 필터링 등에 사용) */
17
+ cwd: string;
18
+ /** 출력 제어 플래그 */
19
+ output: {
20
+ js: boolean;
21
+ dts: boolean;
22
+ };
23
+ /** tests/ 파일을 rootNames에 포함할지 여부. 기본값 false */
24
+ includeTests?: boolean;
25
+ /** 타입체크 환경. 설정 시 getCompilerOptionsForEnv()를 적용 */
26
+ env?: TypecheckEnv;
27
+ /** SourceFile 캐시 (Angular 증분 빌드용). 미제공 시 내부 생성 */
28
+ sourceFileCache?: AngularSourceFileCache;
29
+ /** 스타일시트 변환 콜백 (Feature 1.3에서 활용) */
30
+ transformStylesheet?: (data: string, containingFile: string, stylesheetFile?: string) => Promise<string | null>;
31
+ /** 외부 스타일시트 맵 (클라이언트 빌드용, resourceNameToFileName에서 사용) */
32
+ externalStylesheets?: Map<string, string>;
33
+ /** compilerOptions 후처리 (클라이언트의 target/module 강제 등) */
34
+ compilerOptionsTransformer?: (options: ts.CompilerOptions) => ts.CompilerOptions;
35
+ /** lint 실행 여부. true이면 compileAsync 결과에 lint 결과 포함 */
36
+ lint?: boolean;
37
+ /** 글로벌 SCSS 컴파일 여부. true이면 scss/styles.scss → dist/styles.css 생성 */
38
+ globalScss?: boolean;
39
+ }
40
+ //# sourceMappingURL=sd-ts-compiler-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sd-ts-compiler-options.d.ts","sourceRoot":"","sources":["../../src/ts-compiler/sd-ts-compiler-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,WAAW,wBAAwB;IACvC,+DAA+D;IAC/D,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7C,4DAA4D;IAC5D,sBAAsB,CAAC,EAAE;QACvB,MAAM,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;QAChD,KAAK,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;KAChD,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,eAAe;IACf,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB;IAChB,MAAM,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,OAAO,CAAA;KAAE,CAAC;IACtC,+CAA+C;IAC/C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mDAAmD;IACnD,GAAG,CAAC,EAAE,YAAY,CAAC;IAGnB,kDAAkD;IAClD,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,qCAAqC;IACrC,mBAAmB,CAAC,EAAE,CACpB,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,cAAc,CAAC,EAAE,MAAM,KACpB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5B,0DAA0D;IAC1D,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,sDAAsD;IACtD,0BAA0B,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,KAAK,EAAE,CAAC,eAAe,CAAC;IAGjF,qDAAqD;IACrD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oEAAoE;IACpE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sd-ts-compiler-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sd-ts-compiler-options.js","sourceRoot":"","sources":["../../src/ts-compiler/sd-ts-compiler-options.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ import type ts from "typescript";
2
+ import type { SerializedDiagnostic } from "../typecheck/typecheck-serialization";
3
+ import type { EmitResult } from "../angular/angular-compiler";
4
+ import type { LintWithProgramResult } from "../lint/lint-with-program";
5
+ import type { NgtscProgram } from "../angular/angular-build";
6
+ export interface ISdTsCompilerResult {
7
+ /** TypeScript Program 참조 (lint, 외부 도구용) */
8
+ program: ts.Program;
9
+ /** Builder Program 참조 */
10
+ builderProgram: ts.EmitAndSemanticDiagnosticsBuilderProgram;
11
+ /** Angular 패키지 여부 */
12
+ isForAngular: boolean;
13
+ /** 이 빌드에서 영향받은 파일 (posix 경로). undefined = 전역 변경 (전체 리빌드) */
14
+ affectedFiles: ReadonlySet<string> | undefined;
15
+ /** 직렬화된 진단 정보 (Worker 경계 통과용) */
16
+ diagnostics: SerializedDiagnostic[];
17
+ /** Error 카테고리 진단 수 */
18
+ errorCount: number;
19
+ /** Warning 카테고리 진단 수 */
20
+ warningCount: number;
21
+ /** Error 카테고리 진단을 "파일:줄:열: TS코드: 메시지" 형식으로 포맷한 배열 */
22
+ errors?: string[];
23
+ /** NgtscProgram 참조 (Angular only, HMR용). Non-Angular이면 undefined */
24
+ ngtscProgram?: NgtscProgram;
25
+ /** Angular emit 결과 (Non-Angular이면 undefined — writeFile 훅으로 디스크 직접 쓰기) */
26
+ emitResults?: EmitResult[];
27
+ /** lint 결과 (lint 옵션 활성 시) */
28
+ lint?: LintWithProgramResult;
29
+ /** SCSS 에러 목록 */
30
+ scssErrors: string[];
31
+ /** SCSS 의존성 맵 (소유자 파일 → 의존 SCSS 경로 집합). watch 역방향 탐색용 */
32
+ scssDependencies: ReadonlyMap<string, ReadonlySet<string>>;
33
+ }
34
+ //# sourceMappingURL=sd-ts-compiler-result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sd-ts-compiler-result.d.ts","sourceRoot":"","sources":["../../src/ts-compiler/sd-ts-compiler-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,WAAW,mBAAmB;IAClC,2CAA2C;IAC3C,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;IACpB,yBAAyB;IACzB,cAAc,EAAE,EAAE,CAAC,wCAAwC,CAAC;IAC5D,qBAAqB;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,4DAA4D;IAC5D,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IAC/C,iCAAiC;IACjC,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC,sBAAsB;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,oEAAoE;IACpE,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,0EAA0E;IAC1E,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,6BAA6B;IAC7B,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAC7B,iBAAiB;IACjB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,yDAAyD;IACzD,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;CAC5D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sd-ts-compiler-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sd-ts-compiler-result.js","sourceRoot":"","sources":["../../src/ts-compiler/sd-ts-compiler-result.ts"],"names":[],"mappings":""}
@@ -1,19 +1,21 @@
1
1
  import { FsWatcher } from "@simplysm/core-node";
2
2
  /**
3
- * public/ 및 public-dev/ 디렉토리의 파일을 dist/로 복사한다.
3
+ * public/ 및 public-dev/ 디렉토리의 파일을 출력 디렉토리로 복사한다.
4
4
  * public-dev/가 public/보다 우선한다 (오버레이).
5
5
  *
6
6
  * @param pkgDir 패키지 루트 디렉토리
7
7
  * @param includeDev public-dev/ 포함 여부 (dev 모드에서만 true)
8
+ * @param outDir 출력 디렉토리 (미지정 시 pkgDir/dist)
8
9
  */
9
- export declare function copyPublicFiles(pkgDir: string, includeDev: boolean): Promise<void>;
10
+ export declare function copyPublicFiles(pkgDir: string, includeDev: boolean, outDir?: string): Promise<void>;
10
11
  /**
11
- * public/ 및 public-dev/ 디렉토리를 감시하고 변경사항을 실시간으로 dist/에 복사한다.
12
+ * public/ 및 public-dev/ 디렉토리를 감시하고 변경사항을 실시간으로 출력 디렉토리에 복사한다.
12
13
  * 초기 복사 후 변경/추가/삭제를 자동으로 반영한다.
13
14
  *
14
15
  * @param pkgDir 패키지 루트 디렉토리
15
16
  * @param includeDev public-dev/ 포함 여부 (dev 모드에서만 true)
17
+ * @param outDir 출력 디렉토리 (미지정 시 pkgDir/dist)
16
18
  * @returns FsWatcher 인스턴스 (종료 시 close() 호출 필요) 또는 감시 대상이 없으면 undefined
17
19
  */
18
- export declare function watchPublicFiles(pkgDir: string, includeDev: boolean): Promise<FsWatcher | undefined>;
20
+ export declare function watchPublicFiles(pkgDir: string, includeDev: boolean, outDir?: string): Promise<FsWatcher | undefined>;
19
21
  //# sourceMappingURL=copy-public.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"copy-public.d.ts","sourceRoot":"","sources":["../../src/utils/copy-public.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,SAAS,EACV,MAAM,qBAAqB,CAAC;AAE7B;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCxF;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAqEhC"}
1
+ {"version":3,"file":"copy-public.d.ts","sourceRoot":"","sources":["../../src/utils/copy-public.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,SAAS,EACV,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCzG;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,OAAO,EACnB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAqEhC"}
@@ -1,14 +1,15 @@
1
1
  import path from "path";
2
2
  import { fsx, pathx, FsWatcher, } from "@simplysm/core-node";
3
3
  /**
4
- * public/ 및 public-dev/ 디렉토리의 파일을 dist/로 복사한다.
4
+ * public/ 및 public-dev/ 디렉토리의 파일을 출력 디렉토리로 복사한다.
5
5
  * public-dev/가 public/보다 우선한다 (오버레이).
6
6
  *
7
7
  * @param pkgDir 패키지 루트 디렉토리
8
8
  * @param includeDev public-dev/ 포함 여부 (dev 모드에서만 true)
9
+ * @param outDir 출력 디렉토리 (미지정 시 pkgDir/dist)
9
10
  */
10
- export async function copyPublicFiles(pkgDir, includeDev) {
11
- const distDir = pathx.posix(path.join(pkgDir, "dist"));
11
+ export async function copyPublicFiles(pkgDir, includeDev, outDir) {
12
+ const distDir = pathx.posix(outDir ?? path.join(pkgDir, "dist"));
12
13
  await fsx.mkdir(distDir);
13
14
  // public/ 복사
14
15
  const publicDir = pathx.posix(path.join(pkgDir, "public"));
@@ -36,19 +37,20 @@ export async function copyPublicFiles(pkgDir, includeDev) {
36
37
  }
37
38
  }
38
39
  /**
39
- * public/ 및 public-dev/ 디렉토리를 감시하고 변경사항을 실시간으로 dist/에 복사한다.
40
+ * public/ 및 public-dev/ 디렉토리를 감시하고 변경사항을 실시간으로 출력 디렉토리에 복사한다.
40
41
  * 초기 복사 후 변경/추가/삭제를 자동으로 반영한다.
41
42
  *
42
43
  * @param pkgDir 패키지 루트 디렉토리
43
44
  * @param includeDev public-dev/ 포함 여부 (dev 모드에서만 true)
45
+ * @param outDir 출력 디렉토리 (미지정 시 pkgDir/dist)
44
46
  * @returns FsWatcher 인스턴스 (종료 시 close() 호출 필요) 또는 감시 대상이 없으면 undefined
45
47
  */
46
- export async function watchPublicFiles(pkgDir, includeDev) {
47
- const distDir = pathx.posix(path.join(pkgDir, "dist"));
48
+ export async function watchPublicFiles(pkgDir, includeDev, outDir) {
49
+ const distDir = pathx.posix(outDir ?? path.join(pkgDir, "dist"));
48
50
  const publicDir = pathx.posix(path.join(pkgDir, "public"));
49
51
  const publicDevDir = pathx.posix(path.join(pkgDir, "public-dev"));
50
52
  // 초기 복사
51
- await copyPublicFiles(pkgDir, includeDev);
53
+ await copyPublicFiles(pkgDir, includeDev, outDir);
52
54
  // 감시 대상 경로 수집
53
55
  const watchPaths = [];
54
56
  if (await fsx.exists(publicDir)) {
@@ -1 +1 @@
1
- {"version":3,"file":"copy-public.js","sourceRoot":"","sources":["../../src/utils/copy-public.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copy-public.js","sourceRoot":"","sources":["../../src/utils/copy-public.ts"],"names":[],"mappings":"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"}
@@ -11,8 +11,7 @@ export declare function isWorkspaceDiagnostic(diagnostic: ts.Diagnostic, cwd: st
11
11
  */
12
12
  export declare function formatDiagnosticsOutput(diagnostics: ts.Diagnostic[], cwd: string): string;
13
13
  /**
14
- * 진단 에러를 "파일:줄:열: TS코드: 메시지" 형식으로 포맷한다.
15
- * 파일 정보가 없는 경우 "TS코드: 메시지" 형식으로 반환한다.
14
+ * 진단 에러를 TypeScript 네이티브 컬러+코드 컨텍스트 포맷으로 변환한다.
16
15
  */
17
- export declare function formatDiagnosticError(diagnostic: ts.Diagnostic): string;
16
+ export declare function formatDiagnosticError(diagnostic: ts.Diagnostic, cwd: string): string;
18
17
  //# sourceMappingURL=diagnostic-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostic-utils.d.ts","sourceRoot":"","sources":["../../src/utils/diagnostic-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAG5B;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAMrF;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CASzF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAOvE"}
1
+ {"version":3,"file":"diagnostic-utils.d.ts","sourceRoot":"","sources":["../../src/utils/diagnostic-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAG5B;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAMrF;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CASzF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAOpF"}
@@ -28,15 +28,14 @@ export function formatDiagnosticsOutput(diagnostics, cwd) {
28
28
  return ts.formatDiagnosticsWithColorAndContext(uniqueDiagnostics, formatHost);
29
29
  }
30
30
  /**
31
- * 진단 에러를 "파일:줄:열: TS코드: 메시지" 형식으로 포맷한다.
32
- * 파일 정보가 없는 경우 "TS코드: 메시지" 형식으로 반환한다.
31
+ * 진단 에러를 TypeScript 네이티브 컬러+코드 컨텍스트 포맷으로 변환한다.
33
32
  */
34
- export function formatDiagnosticError(diagnostic) {
35
- const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n");
36
- if (diagnostic.file != null && diagnostic.start != null) {
37
- const { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);
38
- return `${diagnostic.file.fileName}:${line + 1}:${character + 1}: TS${diagnostic.code}: ${message}`;
39
- }
40
- return `TS${diagnostic.code}: ${message}`;
33
+ export function formatDiagnosticError(diagnostic, cwd) {
34
+ const formatHost = {
35
+ getCanonicalFileName: (f) => f,
36
+ getCurrentDirectory: () => cwd,
37
+ getNewLine: () => ts.sys.newLine,
38
+ };
39
+ return ts.formatDiagnosticsWithColorAndContext([diagnostic], formatHost).trimEnd();
41
40
  }
42
41
  //# sourceMappingURL=diagnostic-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostic-utils.js","sourceRoot":"","sources":["../../src/utils/diagnostic-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5C;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAyB,EAAE,GAAW;IAC1E,IAAI,UAAU,CAAC,IAAI,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAEzC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1D,OAAO,UAAU,CAAC,UAAU,CAAC,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AAC9F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,WAA4B,EAAE,GAAW;IAC/E,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACxC,MAAM,UAAU,GAA6B;QAC3C,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9B,mBAAmB,EAAE,GAAG,EAAE,CAAC,GAAG;QAC9B,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO;KACjC,CAAC;IACF,MAAM,iBAAiB,GAAG,EAAE,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC;IACxE,OAAO,EAAE,CAAC,oCAAoC,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;AAChF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAyB;IAC7D,MAAM,OAAO,GAAG,EAAE,CAAC,4BAA4B,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC9E,IAAI,UAAU,CAAC,IAAI,IAAI,IAAI,IAAI,UAAU,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;QACxD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,6BAA6B,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC5F,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;IACtG,CAAC;IACD,OAAO,KAAK,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"diagnostic-utils.js","sourceRoot":"","sources":["../../src/utils/diagnostic-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5C;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAyB,EAAE,GAAW;IAC1E,IAAI,UAAU,CAAC,IAAI,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAEzC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1D,OAAO,UAAU,CAAC,UAAU,CAAC,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AAC9F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,WAA4B,EAAE,GAAW;IAC/E,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACxC,MAAM,UAAU,GAA6B;QAC3C,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9B,mBAAmB,EAAE,GAAG,EAAE,CAAC,GAAG;QAC9B,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO;KACjC,CAAC;IACF,MAAM,iBAAiB,GAAG,EAAE,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC;IACxE,OAAO,EAAE,CAAC,oCAAoC,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;AAChF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAyB,EAAE,GAAW;IAC1E,MAAM,UAAU,GAA6B;QAC3C,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9B,mBAAmB,EAAE,GAAG,EAAE,CAAC,GAAG;QAC9B,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO;KACjC,CAAC;IACF,OAAO,EAAE,CAAC,oCAAoC,CAAC,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;AACrF,CAAC"}
@@ -1,13 +1,19 @@
1
+ import { type PartialMessage } from "esbuild";
1
2
  import type { BuildResult } from "../runtime/ResultCollector";
3
+ /**
4
+ * esbuild Message 배열을 포맷된 문자열 배열로 변환한다.
5
+ * esbuild 네이티브 포맷(코드 컨텍스트, 위치 정보, 밑줄)을 유지한다.
6
+ */
7
+ export declare function formatEsbuildMessages(messages: PartialMessage[], kind: "error" | "warning"): string[];
2
8
  /**
3
9
  * 빌드 경고/에러 메시지를 포맷팅한다.
4
10
  */
5
11
  export declare function formatBuildMessages(name: string, label: string, messages: string[]): string;
6
12
  /**
7
- * 에러만 출력한다.
13
+ * 에러와 경고를 출력한다. 에러를 먼저, 경고를 나중에 출력한다.
8
14
  * @param results 패키지별 빌드 결과 상태
9
15
  */
10
- export declare function printErrors(results: ReadonlyMap<string, BuildResult>): void;
16
+ export declare function printDiagnostics(results: ReadonlyMap<string, BuildResult>): void;
11
17
  /**
12
18
  * 서버 URL만 출력한다.
13
19
  * @param results 패키지별 빌드 결과 상태
@@ -1 +1 @@
1
- {"version":3,"file":"output-utils.d.ts","sourceRoot":"","sources":["../../src/utils/output-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAQ3F;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAI,CAW3E;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,EACzC,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAC/C,IAAI,CA0BN"}
1
+ {"version":3,"file":"output-utils.d.ts","sourceRoot":"","sources":["../../src/utils/output-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AAElE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAI9D;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,cAAc,EAAE,EAC1B,IAAI,EAAE,OAAO,GAAG,SAAS,GACxB,MAAM,EAAE,CAKV;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAY3F;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAI,CAoBhF;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,EACzC,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAC/C,IAAI,CA0BN"}
@@ -1,4 +1,15 @@
1
+ import { formatMessagesSync } from "esbuild";
1
2
  import { consola } from "consola";
3
+ const logger = consola.withTag("sd:cli:output");
4
+ /**
5
+ * esbuild Message 배열을 포맷된 문자열 배열로 변환한다.
6
+ * esbuild 네이티브 포맷(코드 컨텍스트, 위치 정보, 밑줄)을 유지한다.
7
+ */
8
+ export function formatEsbuildMessages(messages, kind) {
9
+ if (messages.length === 0)
10
+ return [];
11
+ return formatMessagesSync(messages, { kind, color: true }).map((msg) => msg.replace(/^.*?\x1b\[0m |^X \[ERROR] |^▲ \[WARNING] /, "").trimEnd());
12
+ }
2
13
  /**
3
14
  * 빌드 경고/에러 메시지를 포맷팅한다.
4
15
  */
@@ -6,27 +17,40 @@ export function formatBuildMessages(name, label, messages) {
6
17
  const lines = [`${name} (${label})`];
7
18
  for (const msg of messages) {
8
19
  for (const line of msg.split("\n")) {
9
- lines.push(` → ${line}`);
20
+ if (line === "") {
21
+ lines.push("");
22
+ }
23
+ else {
24
+ lines.push(` ${line}`);
25
+ }
10
26
  }
11
27
  }
12
28
  return lines.join("\n");
13
29
  }
14
30
  /**
15
- * 에러만 출력한다.
31
+ * 에러와 경고를 출력한다. 에러를 먼저, 경고를 나중에 출력한다.
16
32
  * @param results 패키지별 빌드 결과 상태
17
33
  */
18
- export function printErrors(results) {
34
+ export function printDiagnostics(results) {
35
+ // 에러 출력
19
36
  for (const result of results.values()) {
20
37
  if (result.status === "error") {
21
38
  const typeLabel = result.type === "lint" ? "lint" : result.target;
22
39
  if (result.message != null && result.message !== "") {
23
- consola.error(formatBuildMessages(result.name, typeLabel, [result.message]));
40
+ logger.error(formatBuildMessages(result.name, typeLabel, [result.message]));
24
41
  }
25
42
  else {
26
- consola.error(`[${result.name}] (${typeLabel}) 실패`);
43
+ logger.error(`[${result.name}] (${typeLabel}) 실패`);
27
44
  }
28
45
  }
29
46
  }
47
+ // 경고 출력
48
+ for (const result of results.values()) {
49
+ if (result.warnings != null && result.warnings !== "") {
50
+ const typeLabel = result.type === "lint" ? "lint" : result.target;
51
+ logger.warn(formatBuildMessages(result.name, typeLabel, [result.warnings]));
52
+ }
53
+ }
30
54
  }
31
55
  /**
32
56
  * 서버 URL만 출력한다.
@@ -46,17 +70,17 @@ export function printServers(results, serverClientsMap) {
46
70
  const activeClients = clients.filter((c) => results.get(`${c}:build`)?.status !== "error");
47
71
  if (activeClients.length > 0) {
48
72
  for (const clientName of activeClients) {
49
- consola.info(`[server] http://localhost:${server.port}/${clientName}/`);
73
+ logger.info(`[server] http://localhost:${server.port}/${clientName}/`);
50
74
  }
51
75
  }
52
76
  else {
53
77
  // 연결된 클라이언트가 없으면 서버 루트 URL 출력
54
- consola.info(`[server] http://localhost:${server.port}/`);
78
+ logger.info(`[server] http://localhost:${server.port}/`);
55
79
  }
56
80
  }
57
81
  else {
58
82
  // 독립형 클라이언트: 이름 포함하여 출력
59
- consola.info(`[server] http://localhost:${server.port}/${server.name}/`);
83
+ logger.info(`[server] http://localhost:${server.port}/${server.name}/`);
60
84
  }
61
85
  }
62
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"output-utils.js","sourceRoot":"","sources":["../../src/utils/output-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output-utils.js","sourceRoot":"","sources":["../../src/utils/output-utils.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { SdBrowserSupportConfig, SdPwaConfig } from "../sd-config.types.js";
1
+ import type { SdBrowserSupportConfig, SdPwaConfig } from "../sd-config.types";
2
2
  /** Client 빌드 입력 정보 */
3
3
  export interface ClientBuildInfo {
4
4
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"client.worker.d.ts","sourceRoot":"","sources":["../../src/workers/client.worker.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAKjF,sBAAsB;AACtB,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,2CAA2C;IAC3C,GAAG,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC;IAC1B,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,cAAc,CAAC,EAAE,sBAAsB,CAAC;CACzC;AAED,mBAAmB;AACnB,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,oBAAoB;AACpB,MAAM,WAAW,kBAAmB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACjE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClC,KAAK,EAAE,iBAAiB,CAAC;IACzB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5B;AAkCD;;GAEG;AACH,iBAAe,KAAK,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA2FtE;AAED;;GAEG;AACH,iBAAe,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAyN3E;AAED;;GAEG;AACH,iBAAe,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAkCxC;AAcD,QAAA,MAAM,MAAM;;;eAED,OAAO,KAAK;oBACP,OAAO,UAAU;mBAClB,OAAO,SAAS;;;CAGI,CAAC;AAEpC,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"client.worker.d.ts","sourceRoot":"","sources":["../../src/workers/client.worker.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAM9E,sBAAsB;AACtB,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,2CAA2C;IAC3C,GAAG,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC;IAC1B,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,cAAc,CAAC,EAAE,sBAAsB,CAAC;CACzC;AAED,mBAAmB;AACnB,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,oBAAoB;AACpB,MAAM,WAAW,kBAAmB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACjE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClC,KAAK,EAAE,iBAAiB,CAAC;IACzB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5B;AAqCD;;GAEG;AACH,iBAAe,KAAK,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA2FtE;AAwID;;GAEG;AACH,iBAAe,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA2G3E;AAED;;GAEG;AACH,iBAAe,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAuCxC;AAcD,QAAA,MAAM,MAAM;;;eAED,OAAO,KAAK;oBACP,OAAO,UAAU;mBAClB,OAAO,SAAS;;;CAGI,CAAC;AAEpC,eAAe,MAAM,CAAC"}