@simplysm/sd-cli 14.0.11 → 14.0.12

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 (263) hide show
  1. package/README.md +58 -253
  2. package/dist/angular/client-transform-stylesheet.js +1 -1
  3. package/dist/angular/client-transform-stylesheet.js.map +1 -1
  4. package/dist/angular/vite-angular-plugin.d.ts +1 -1
  5. package/dist/angular/vite-angular-plugin.d.ts.map +1 -1
  6. package/dist/angular/vite-angular-plugin.js +60 -34
  7. package/dist/angular/vite-angular-plugin.js.map +1 -1
  8. package/dist/angular/vite-postcss-inline-plugin.d.ts +1 -1
  9. package/dist/angular/vite-postcss-inline-plugin.js +1 -1
  10. package/dist/capacitor/capacitor.d.ts +14 -2
  11. package/dist/capacitor/capacitor.d.ts.map +1 -1
  12. package/dist/capacitor/capacitor.js +131 -17
  13. package/dist/capacitor/capacitor.js.map +1 -1
  14. package/dist/commands/build.d.ts +3 -10
  15. package/dist/commands/build.d.ts.map +1 -1
  16. package/dist/commands/build.js +3 -10
  17. package/dist/commands/build.js.map +1 -1
  18. package/dist/commands/check.js +3 -3
  19. package/dist/commands/check.js.map +1 -1
  20. package/dist/commands/dev.d.ts +3 -9
  21. package/dist/commands/dev.d.ts.map +1 -1
  22. package/dist/commands/dev.js +3 -9
  23. package/dist/commands/dev.js.map +1 -1
  24. package/dist/commands/device.d.ts +3 -3
  25. package/dist/commands/device.js +5 -5
  26. package/dist/commands/device.js.map +1 -1
  27. package/dist/commands/publish.d.ts +1 -1
  28. package/dist/commands/publish.d.ts.map +1 -1
  29. package/dist/commands/publish.js +18 -26
  30. package/dist/commands/publish.js.map +1 -1
  31. package/dist/commands/replace-deps.d.ts +3 -3
  32. package/dist/commands/replace-deps.d.ts.map +1 -1
  33. package/dist/commands/replace-deps.js +1 -1
  34. package/dist/commands/typecheck.d.ts +4 -3
  35. package/dist/commands/typecheck.d.ts.map +1 -1
  36. package/dist/commands/typecheck.js +5 -11
  37. package/dist/commands/typecheck.js.map +1 -1
  38. package/dist/commands/watch.d.ts +9 -9
  39. package/dist/commands/watch.js +9 -9
  40. package/dist/electron/electron.d.ts.map +1 -1
  41. package/dist/electron/electron.js +42 -3
  42. package/dist/electron/electron.js.map +1 -1
  43. package/dist/engines/BaseEngine.d.ts +1 -1
  44. package/dist/engines/BaseEngine.d.ts.map +1 -1
  45. package/dist/engines/BaseEngine.js +3 -1
  46. package/dist/engines/BaseEngine.js.map +1 -1
  47. package/dist/engines/NgtscEngine.d.ts +7 -7
  48. package/dist/engines/NgtscEngine.d.ts.map +1 -1
  49. package/dist/engines/NgtscEngine.js +3 -3
  50. package/dist/engines/ServerEsbuildEngine.d.ts +7 -7
  51. package/dist/engines/ServerEsbuildEngine.d.ts.map +1 -1
  52. package/dist/engines/ServerEsbuildEngine.js +3 -3
  53. package/dist/engines/TscEngine.d.ts +7 -7
  54. package/dist/engines/TscEngine.d.ts.map +1 -1
  55. package/dist/engines/TscEngine.js +3 -3
  56. package/dist/engines/ViteEngine.d.ts +1 -1
  57. package/dist/engines/ViteEngine.d.ts.map +1 -1
  58. package/dist/engines/ViteEngine.js +7 -12
  59. package/dist/engines/ViteEngine.js.map +1 -1
  60. package/dist/engines/index.d.ts +5 -5
  61. package/dist/engines/index.js +5 -5
  62. package/dist/engines/types.d.ts +20 -20
  63. package/dist/engines/types.d.ts.map +1 -1
  64. package/dist/infra/ResultCollector.d.ts +9 -9
  65. package/dist/infra/ResultCollector.js +8 -8
  66. package/dist/infra/SignalHandler.d.ts +7 -7
  67. package/dist/infra/SignalHandler.js +7 -7
  68. package/dist/infra/WorkerManager.d.ts +14 -14
  69. package/dist/infra/WorkerManager.js +14 -14
  70. package/dist/orchestrators/BuildOrchestrator.d.ts +25 -25
  71. package/dist/orchestrators/BuildOrchestrator.d.ts.map +1 -1
  72. package/dist/orchestrators/BuildOrchestrator.js +29 -29
  73. package/dist/orchestrators/BuildOrchestrator.js.map +1 -1
  74. package/dist/orchestrators/DevWatchOrchestrator.d.ts +7 -7
  75. package/dist/orchestrators/DevWatchOrchestrator.d.ts.map +1 -1
  76. package/dist/orchestrators/DevWatchOrchestrator.js +34 -34
  77. package/dist/orchestrators/DevWatchOrchestrator.js.map +1 -1
  78. package/dist/sd-cli-entry.d.ts +2 -2
  79. package/dist/sd-cli-entry.d.ts.map +1 -1
  80. package/dist/sd-cli-entry.js +15 -8
  81. package/dist/sd-cli-entry.js.map +1 -1
  82. package/dist/sd-cli.d.ts +3 -3
  83. package/dist/sd-cli.js +16 -16
  84. package/dist/sd-cli.js.map +1 -1
  85. package/dist/sd-config.types.d.ts +105 -105
  86. package/dist/sd-config.types.d.ts.map +1 -1
  87. package/dist/utils/angular-compiler.js +5 -5
  88. package/dist/utils/angular-compiler.js.map +1 -1
  89. package/dist/utils/build-env.d.ts +1 -1
  90. package/dist/utils/build-env.js +1 -1
  91. package/dist/utils/concurrency.d.ts +7 -7
  92. package/dist/utils/concurrency.js +7 -7
  93. package/dist/utils/copy-public.d.ts +9 -9
  94. package/dist/utils/copy-public.js +17 -17
  95. package/dist/utils/copy-public.js.map +1 -1
  96. package/dist/utils/copy-src.d.ts +9 -9
  97. package/dist/utils/copy-src.js +11 -11
  98. package/dist/utils/copy-src.js.map +1 -1
  99. package/dist/utils/engine-stop.d.ts +8 -9
  100. package/dist/utils/engine-stop.d.ts.map +1 -1
  101. package/dist/utils/engine-stop.js +9 -10
  102. package/dist/utils/engine-stop.js.map +1 -1
  103. package/dist/utils/esbuild-config.d.ts +23 -23
  104. package/dist/utils/esbuild-config.d.ts.map +1 -1
  105. package/dist/utils/esbuild-config.js +25 -25
  106. package/dist/utils/esbuild-config.js.map +1 -1
  107. package/dist/utils/lint-with-program.d.ts +15 -15
  108. package/dist/utils/lint-with-program.d.ts.map +1 -1
  109. package/dist/utils/lint-with-program.js +29 -29
  110. package/dist/utils/lint-with-program.js.map +1 -1
  111. package/dist/utils/ngtsc-build-core.d.ts +8 -8
  112. package/dist/utils/ngtsc-build-core.d.ts.map +1 -1
  113. package/dist/utils/ngtsc-build-core.js +14 -14
  114. package/dist/utils/ngtsc-build-core.js.map +1 -1
  115. package/dist/utils/output-path-rewriter.d.ts +14 -14
  116. package/dist/utils/output-path-rewriter.js +18 -18
  117. package/dist/utils/output-path-rewriter.js.map +1 -1
  118. package/dist/utils/output-utils.d.ts +6 -6
  119. package/dist/utils/output-utils.js +11 -11
  120. package/dist/utils/output-utils.js.map +1 -1
  121. package/dist/utils/package-utils.d.ts +21 -21
  122. package/dist/utils/package-utils.d.ts.map +1 -1
  123. package/dist/utils/package-utils.js +56 -45
  124. package/dist/utils/package-utils.js.map +1 -1
  125. package/dist/utils/replace-deps.d.ts +25 -25
  126. package/dist/utils/replace-deps.d.ts.map +1 -1
  127. package/dist/utils/replace-deps.js +84 -65
  128. package/dist/utils/replace-deps.js.map +1 -1
  129. package/dist/utils/sd-config.d.ts +3 -3
  130. package/dist/utils/sd-config.js +3 -3
  131. package/dist/utils/tsc-build.d.ts +13 -13
  132. package/dist/utils/tsc-build.d.ts.map +1 -1
  133. package/dist/utils/tsc-build.js +9 -9
  134. package/dist/utils/tsc-build.js.map +1 -1
  135. package/dist/utils/tsconfig.d.ts +11 -9
  136. package/dist/utils/tsconfig.d.ts.map +1 -1
  137. package/dist/utils/tsconfig.js +11 -9
  138. package/dist/utils/tsconfig.js.map +1 -1
  139. package/dist/utils/typecheck-non-package.d.ts +5 -6
  140. package/dist/utils/typecheck-non-package.d.ts.map +1 -1
  141. package/dist/utils/typecheck-non-package.js +7 -8
  142. package/dist/utils/typecheck-non-package.js.map +1 -1
  143. package/dist/utils/typecheck-serialization.d.ts +8 -8
  144. package/dist/utils/typecheck-serialization.d.ts.map +1 -1
  145. package/dist/utils/typecheck-serialization.js +12 -16
  146. package/dist/utils/typecheck-serialization.js.map +1 -1
  147. package/dist/utils/vite-config.d.ts +8 -5
  148. package/dist/utils/vite-config.d.ts.map +1 -1
  149. package/dist/utils/vite-config.js +36 -29
  150. package/dist/utils/vite-config.js.map +1 -1
  151. package/dist/utils/vite-scope-watch-plugin.d.ts.map +1 -1
  152. package/dist/utils/vite-scope-watch-plugin.js +1 -1
  153. package/dist/utils/vite-scope-watch-plugin.js.map +1 -1
  154. package/dist/utils/worker-events.d.ts +12 -12
  155. package/dist/utils/worker-events.d.ts.map +1 -1
  156. package/dist/utils/worker-events.js +10 -10
  157. package/dist/utils/worker-events.js.map +1 -1
  158. package/dist/utils/worker-utils.d.ts +12 -13
  159. package/dist/utils/worker-utils.d.ts.map +1 -1
  160. package/dist/utils/worker-utils.js +12 -13
  161. package/dist/utils/worker-utils.js.map +1 -1
  162. package/dist/vitest-plugin.d.ts.map +1 -1
  163. package/dist/vitest-plugin.js +5 -7
  164. package/dist/vitest-plugin.js.map +1 -1
  165. package/dist/workers/client.worker.d.ts +4 -2
  166. package/dist/workers/client.worker.d.ts.map +1 -1
  167. package/dist/workers/client.worker.js +209 -1
  168. package/dist/workers/client.worker.js.map +1 -1
  169. package/dist/workers/library-build.worker.d.ts +1 -1
  170. package/dist/workers/library-build.worker.d.ts.map +1 -1
  171. package/dist/workers/library-build.worker.js +7 -7
  172. package/dist/workers/library-build.worker.js.map +1 -1
  173. package/dist/workers/lint.worker.d.ts +2 -2
  174. package/dist/workers/lint.worker.js +2 -2
  175. package/dist/workers/ngtsc-build.worker.js +30 -30
  176. package/dist/workers/ngtsc-build.worker.js.map +1 -1
  177. package/dist/workers/server-build.worker.d.ts +17 -17
  178. package/dist/workers/server-build.worker.d.ts.map +1 -1
  179. package/dist/workers/server-build.worker.js +46 -46
  180. package/dist/workers/server-build.worker.js.map +1 -1
  181. package/dist/workers/server-runtime.worker.d.ts +7 -7
  182. package/dist/workers/server-runtime.worker.d.ts.map +1 -1
  183. package/dist/workers/server-runtime.worker.js +17 -17
  184. package/dist/workers/server-runtime.worker.js.map +1 -1
  185. package/docs/config.md +340 -0
  186. package/docs/publish-configuration-types.md +87 -0
  187. package/docs/pwa-configuration-types.md +55 -0
  188. package/docs/vitest-plugin.md +47 -0
  189. package/package.json +9 -7
  190. package/src/angular/client-transform-stylesheet.ts +1 -1
  191. package/src/angular/vite-angular-plugin.ts +70 -37
  192. package/src/angular/vite-postcss-inline-plugin.ts +1 -1
  193. package/src/capacitor/capacitor.ts +159 -23
  194. package/src/commands/build.ts +3 -10
  195. package/src/commands/check.ts +3 -3
  196. package/src/commands/dev.ts +3 -9
  197. package/src/commands/device.ts +5 -5
  198. package/src/commands/publish.ts +30 -26
  199. package/src/commands/replace-deps.ts +3 -3
  200. package/src/commands/typecheck.ts +7 -13
  201. package/src/commands/watch.ts +9 -9
  202. package/src/electron/electron.ts +49 -4
  203. package/src/engines/BaseEngine.ts +4 -1
  204. package/src/engines/NgtscEngine.ts +7 -7
  205. package/src/engines/ServerEsbuildEngine.ts +7 -7
  206. package/src/engines/TscEngine.ts +7 -7
  207. package/src/engines/ViteEngine.ts +8 -13
  208. package/src/engines/index.ts +5 -5
  209. package/src/engines/types.ts +20 -20
  210. package/src/infra/ResultCollector.ts +9 -9
  211. package/src/infra/SignalHandler.ts +7 -7
  212. package/src/infra/WorkerManager.ts +14 -14
  213. package/src/orchestrators/BuildOrchestrator.ts +37 -37
  214. package/src/orchestrators/DevWatchOrchestrator.ts +36 -36
  215. package/src/sd-cli-entry.ts +15 -8
  216. package/src/sd-cli.ts +16 -16
  217. package/src/sd-config.types.ts +107 -107
  218. package/src/utils/angular-compiler.ts +5 -5
  219. package/src/utils/build-env.ts +1 -1
  220. package/src/utils/concurrency.ts +7 -7
  221. package/src/utils/copy-public.ts +17 -17
  222. package/src/utils/copy-src.ts +11 -11
  223. package/src/utils/engine-stop.ts +9 -10
  224. package/src/utils/esbuild-config.ts +29 -29
  225. package/src/utils/lint-with-program.ts +34 -34
  226. package/src/utils/ngtsc-build-core.ts +17 -17
  227. package/src/utils/output-path-rewriter.ts +18 -18
  228. package/src/utils/output-utils.ts +11 -11
  229. package/src/utils/package-utils.ts +57 -45
  230. package/src/utils/replace-deps.ts +92 -67
  231. package/src/utils/sd-config.ts +3 -3
  232. package/src/utils/tsc-build.ts +18 -18
  233. package/src/utils/tsconfig.ts +11 -9
  234. package/src/utils/typecheck-non-package.ts +7 -8
  235. package/src/utils/typecheck-serialization.ts +13 -15
  236. package/src/utils/vite-config.ts +45 -35
  237. package/src/utils/vite-scope-watch-plugin.ts +6 -1
  238. package/src/utils/worker-events.ts +16 -16
  239. package/src/utils/worker-utils.ts +12 -13
  240. package/src/vitest-plugin.ts +5 -8
  241. package/src/workers/client.worker.ts +236 -2
  242. package/src/workers/library-build.worker.ts +8 -8
  243. package/src/workers/lint.worker.ts +2 -2
  244. package/src/workers/ngtsc-build.worker.ts +31 -31
  245. package/src/workers/server-build.worker.ts +60 -60
  246. package/src/workers/server-runtime.worker.ts +22 -22
  247. package/tests/angular/vite-angular-plugin-hmr-fallback.spec.ts +1 -0
  248. package/tests/angular/vite-angular-plugin-hmr.spec.ts +78 -0
  249. package/tests/angular/vite-angular-plugin.spec.ts +67 -0
  250. package/tests/capacitor/capacitor-build.spec.ts +6 -4
  251. package/tests/capacitor/capacitor-icon.spec.ts +7 -5
  252. package/tests/capacitor/capacitor-init.spec.ts +120 -10
  253. package/tests/capacitor/capacitor-run.spec.ts +14 -17
  254. package/tests/capacitor/capacitor-workspace.spec.ts +5 -3
  255. package/tests/commands/check.spec.ts +2 -2
  256. package/tests/commands/publish.spec.ts +2 -2
  257. package/tests/commands/typecheck.spec.ts +8 -0
  258. package/tests/electron/electron.spec.ts +12 -10
  259. package/tests/engines/base-engine.spec.ts +37 -0
  260. package/tests/engines/vite-engine.spec.ts +115 -3
  261. package/tests/utils/vite-config.spec.ts +144 -90
  262. package/tests/workers/client-worker.spec.ts +690 -0
  263. package/tests/workers/server-build-worker.spec.ts +3 -3
@@ -3,7 +3,7 @@ import type { SerializedDiagnostic } from "../utils/typecheck-serialization";
3
3
  import type { TypecheckEnv } from "../utils/tsconfig";
4
4
  import type { LintWithProgramResult } from "../utils/lint-with-program";
5
5
  /**
6
- * Package information
6
+ * 패키지 정보
7
7
  */
8
8
  export interface PackageInfo {
9
9
  name: string;
@@ -11,38 +11,38 @@ export interface PackageInfo {
11
11
  config: SdPackageConfig;
12
12
  }
13
13
  /**
14
- * PackageInfo narrowed for build packages (node/browser/neutral)
14
+ * 빌드 패키지(node/browser/neutral)로 좁혀진 PackageInfo
15
15
  */
16
16
  export type BuildPackageInfo = PackageInfo & {
17
17
  config: SdBuildPackageConfig;
18
18
  };
19
19
  /**
20
- * PackageInfo narrowed for server packages
20
+ * 서버 패키지로 좁혀진 PackageInfo
21
21
  */
22
22
  export type ServerPackageInfo = PackageInfo & {
23
23
  config: SdServerPackageConfig;
24
24
  };
25
25
  /**
26
- * PackageInfo narrowed for client packages
26
+ * 클라이언트 패키지로 좁혀진 PackageInfo
27
27
  */
28
28
  export type ClientPackageInfo = PackageInfo & {
29
29
  config: SdClientPackageConfig;
30
30
  };
31
31
  /**
32
- * Build output control flags
32
+ * 빌드 출력 제어 플래그
33
33
  */
34
34
  export interface BuildOutput {
35
35
  js: boolean;
36
36
  dts: boolean;
37
- /** When true, run ESLint using the ts.Program created during typecheck. */
37
+ /** true 때, 타입체크 생성된 ts.Program으로 ESLint를 실행한다. */
38
38
  lint?: boolean;
39
- /** Typecheck environment. When set, adjusts compilerOptions via getCompilerOptionsForEnv(). */
39
+ /** 타입체크 환경. 설정 getCompilerOptionsForEnv()를 통해 compilerOptions 조정한다. */
40
40
  env?: TypecheckEnv;
41
- /** Include tests/ files in typecheck scope. Only used by check command. */
41
+ /** 타입체크 범위에 tests/ 파일을 포함한다. check 커맨드에서만 사용된다. */
42
42
  includeTests?: boolean;
43
43
  }
44
44
  /**
45
- * BuildEngine.run() return value
45
+ * BuildEngine.run() 반환값
46
46
  */
47
47
  export interface EngineResult {
48
48
  success: boolean;
@@ -52,30 +52,30 @@ export interface EngineResult {
52
52
  warnings: string[];
53
53
  diagnostics: SerializedDiagnostic[];
54
54
  };
55
- /** Lint result (present when BuildOutput.lint is true) */
55
+ /** 린트 결과 (BuildOutput.lint true일 때 존재) */
56
56
  lint?: LintWithProgramResult;
57
57
  }
58
58
  /**
59
- * Build engine interface
59
+ * 빌드 엔진 인터페이스
60
60
  *
61
- * Common contract for all build engines.
62
- * typecheck (diagnostics) is always included — not optional.
61
+ * 모든 빌드 엔진의 공통 계약.
62
+ * 타입체크(diagnostics) 항상 포함되며 선택사항이 아니다.
63
63
  */
64
64
  export interface BuildEngine {
65
65
  /**
66
- * One-time build (for production builds)
67
- * Creates workers, runs build, returns combined result.
68
- * Call stop() after to clean up resources.
66
+ * 일회성 빌드 (프로덕션)
67
+ * Worker를 생성하고, 빌드를 실행하고, 결합된 결과를 반환한다.
68
+ * 호출 stop()으로 리소스를 정리한다.
69
69
  */
70
70
  run(output: BuildOutput): Promise<EngineResult>;
71
71
  /**
72
- * Start watch mode
73
- * Promise resolves when initial build is complete.
74
- * Subsequent rebuilds are reported via injected ResultCollector.
72
+ * 워치 모드 시작
73
+ * 초기 빌드가 완료되면 Promise가 resolve된다.
74
+ * 이후 리빌드는 주입된 ResultCollector를 통해 보고된다.
75
75
  */
76
76
  startWatch(output: BuildOutput): Promise<void>;
77
77
  /**
78
- * Stop engine and clean up resources (workers, esbuild contexts)
78
+ * 엔진을 중지하고 리소스(Worker, esbuild context 등)를 정리한다
79
79
  */
80
80
  stop(): Promise<void>;
81
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/engines/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC9H,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,eAAe,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG;IAAE,MAAM,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAE9E;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG;IAAE,MAAM,EAAE,qBAAqB,CAAA;CAAE,CAAC;AAEhF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG;IAAE,MAAM,EAAE,qBAAqB,CAAA;CAAE,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,GAAG,EAAE,OAAO,CAAC;IACb,2EAA2E;IAC3E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,+FAA+F;IAC/F,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE;QACL,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,WAAW,EAAE,oBAAoB,EAAE,CAAC;KACrC,CAAC;IACF,0DAA0D;IAC1D,IAAI,CAAC,EAAE,qBAAqB,CAAC;CAC9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEhD;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/engines/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC9H,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,eAAe,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG;IAAE,MAAM,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAE9E;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG;IAAE,MAAM,EAAE,qBAAqB,CAAA;CAAE,CAAC;AAEhF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG;IAAE,MAAM,EAAE,qBAAqB,CAAA;CAAE,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,GAAG,EAAE,OAAO,CAAC;IACb,qDAAqD;IACrD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0EAA0E;IAC1E,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,mDAAmD;IACnD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE;QACL,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,WAAW,EAAE,oBAAoB,EAAE,CAAC;KACrC,CAAC;IACF,2CAA2C;IAC3C,IAAI,CAAC,EAAE,qBAAqB,CAAC;CAC9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEhD;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Build result status
2
+ * 빌드 결과 상태
3
3
  */
4
4
  export interface BuildResult {
5
5
  name: string;
@@ -10,25 +10,25 @@ export interface BuildResult {
10
10
  port?: number;
11
11
  }
12
12
  /**
13
- * Class that collects and manages build results
13
+ * 빌드 결과를 수집·관리하는 클래스
14
14
  *
15
- * Manages build results from multiple Builders at a central location and
16
- * provides filtering and output functionality by status.
15
+ * 여러 Builder의 빌드 결과를 중앙에서 관리하며,
16
+ * 상태별 필터링 출력 기능을 제공한다.
17
17
  */
18
18
  export declare class ResultCollector {
19
19
  private readonly _results;
20
20
  /**
21
- * Add result
22
- * @param result build result
21
+ * 결과를 추가한다
22
+ * @param result 빌드 결과
23
23
  */
24
24
  add(result: BuildResult): void;
25
25
  /**
26
- * Get result by key
27
- * @param key result key (e.g., "core-common:build")
26
+ * 키로 결과를 조회한다
27
+ * @param key 결과 (예: "core-common:build")
28
28
  */
29
29
  get(key: string): BuildResult | undefined;
30
30
  /**
31
- * Return internal Map (for backward compatibility)
31
+ * 내부 Map 반환한다 (외부 접근용)
32
32
  */
33
33
  toMap(): Map<string, BuildResult>;
34
34
  }
@@ -1,28 +1,28 @@
1
1
  /**
2
- * Class that collects and manages build results
2
+ * 빌드 결과를 수집·관리하는 클래스
3
3
  *
4
- * Manages build results from multiple Builders at a central location and
5
- * provides filtering and output functionality by status.
4
+ * 여러 Builder의 빌드 결과를 중앙에서 관리하며,
5
+ * 상태별 필터링 출력 기능을 제공한다.
6
6
  */
7
7
  export class ResultCollector {
8
8
  _results = new Map();
9
9
  /**
10
- * Add result
11
- * @param result build result
10
+ * 결과를 추가한다
11
+ * @param result 빌드 결과
12
12
  */
13
13
  add(result) {
14
14
  const key = `${result.name}:${result.type}`;
15
15
  this._results.set(key, result);
16
16
  }
17
17
  /**
18
- * Get result by key
19
- * @param key result key (e.g., "core-common:build")
18
+ * 키로 결과를 조회한다
19
+ * @param key 결과 (예: "core-common:build")
20
20
  */
21
21
  get(key) {
22
22
  return this._results.get(key);
23
23
  }
24
24
  /**
25
- * Return internal Map (for backward compatibility)
25
+ * 내부 Map 반환한다 (외부 접근용)
26
26
  */
27
27
  toMap() {
28
28
  return this._results;
@@ -1,8 +1,8 @@
1
1
  /**
2
- * Class that handles process termination signals
2
+ * 프로세스 종료 시그널을 처리하는 클래스
3
3
  *
4
- * Detects SIGINT (Ctrl+C) and SIGTERM signals and
5
- * provides a Promise that waits until termination.
4
+ * SIGINT(Ctrl+C) SIGTERM 시그널을 감지하고,
5
+ * 종료까지 대기하는 Promise 제공한다.
6
6
  */
7
7
  export declare class SignalHandler {
8
8
  private _terminateResolver;
@@ -10,16 +10,16 @@ export declare class SignalHandler {
10
10
  private _terminated;
11
11
  constructor();
12
12
  /**
13
- * Wait until termination signal is received
13
+ * 종료 시그널이 수신될 때까지 대기한다
14
14
  */
15
15
  waitForTermination(): Promise<void>;
16
16
  /**
17
- * Check if terminated
17
+ * 종료 여부를 확인한다
18
18
  */
19
19
  isTerminated(): boolean;
20
20
  /**
21
- * Request termination programmatically
22
- * (used when triggering termination from tests or externally)
21
+ * 프로그래밍 방식으로 종료를 요청한다
22
+ * (테스트나 외부에서 종료를 트리거할 사용)
23
23
  */
24
24
  requestTermination(): void;
25
25
  }
@@ -1,8 +1,8 @@
1
1
  /**
2
- * Class that handles process termination signals
2
+ * 프로세스 종료 시그널을 처리하는 클래스
3
3
  *
4
- * Detects SIGINT (Ctrl+C) and SIGTERM signals and
5
- * provides a Promise that waits until termination.
4
+ * SIGINT(Ctrl+C) SIGTERM 시그널을 감지하고,
5
+ * 종료까지 대기하는 Promise 제공한다.
6
6
  */
7
7
  export class SignalHandler {
8
8
  _terminateResolver = null;
@@ -22,20 +22,20 @@ export class SignalHandler {
22
22
  process.on("SIGTERM", handler);
23
23
  }
24
24
  /**
25
- * Wait until termination signal is received
25
+ * 종료 시그널이 수신될 때까지 대기한다
26
26
  */
27
27
  waitForTermination() {
28
28
  return this._terminatePromise;
29
29
  }
30
30
  /**
31
- * Check if terminated
31
+ * 종료 여부를 확인한다
32
32
  */
33
33
  isTerminated() {
34
34
  return this._terminated;
35
35
  }
36
36
  /**
37
- * Request termination programmatically
38
- * (used when triggering termination from tests or externally)
37
+ * 프로그래밍 방식으로 종료를 요청한다
38
+ * (테스트나 외부에서 종료를 트리거할 사용)
39
39
  */
40
40
  requestTermination() {
41
41
  if (!this._terminated) {
@@ -1,39 +1,39 @@
1
1
  import { type WorkerProxy, type WorkerModule } from "@simplysm/core-node";
2
2
  /**
3
- * Class that manages Worker lifecycle
3
+ * Worker 생명주기를 관리하는 클래스
4
4
  *
5
- * Centrally manages Worker creation, lookup, and termination
6
- * to prevent resource leaks and provide consistent Worker management.
5
+ * Worker 생성, 조회, 종료를 중앙에서 관리하여
6
+ * 리소스 누수를 방지하고 일관된 Worker 관리를 제공한다.
7
7
  */
8
8
  export declare class WorkerManager {
9
9
  private readonly _workers;
10
10
  /**
11
- * Create a new Worker
12
- * @param id Worker identifier (e.g., "core-common:build")
13
- * @param workerPath Worker file path
14
- * @returns Created WorkerProxy
11
+ * Worker를 생성한다
12
+ * @param id Worker 식별자 (예: "core-common:build")
13
+ * @param workerPath Worker 파일 경로
14
+ * @returns 생성된 WorkerProxy
15
15
  */
16
16
  create<TModule extends WorkerModule>(id: string, workerPath: string): WorkerProxy<TModule>;
17
17
  /**
18
- * Lookup Worker by ID
19
- * @param id Worker identifier
18
+ * ID로 Worker 조회한다
19
+ * @param id Worker 식별자
20
20
  */
21
21
  get<TModule extends WorkerModule>(id: string): WorkerProxy<TModule> | undefined;
22
22
  /**
23
- * Terminate and remove a specific Worker
24
- * @param id Worker identifier
23
+ * 특정 Worker를 종료하고 제거한다
24
+ * @param id Worker 식별자
25
25
  */
26
26
  terminate(id: string): Promise<void>;
27
27
  /**
28
- * Terminate all Workers
28
+ * 모든 Worker를 종료한다
29
29
  */
30
30
  terminateAll(): Promise<void>;
31
31
  /**
32
- * Number of managed Workers
32
+ * 관리 중인 Worker
33
33
  */
34
34
  get size(): number;
35
35
  /**
36
- * List of all Worker IDs
36
+ * 모든 Worker ID 목록
37
37
  */
38
38
  get ids(): string[];
39
39
  }
@@ -1,17 +1,17 @@
1
1
  import { Worker } from "@simplysm/core-node";
2
2
  /**
3
- * Class that manages Worker lifecycle
3
+ * Worker 생명주기를 관리하는 클래스
4
4
  *
5
- * Centrally manages Worker creation, lookup, and termination
6
- * to prevent resource leaks and provide consistent Worker management.
5
+ * Worker 생성, 조회, 종료를 중앙에서 관리하여
6
+ * 리소스 누수를 방지하고 일관된 Worker 관리를 제공한다.
7
7
  */
8
8
  export class WorkerManager {
9
9
  _workers = new Map();
10
10
  /**
11
- * Create a new Worker
12
- * @param id Worker identifier (e.g., "core-common:build")
13
- * @param workerPath Worker file path
14
- * @returns Created WorkerProxy
11
+ * Worker를 생성한다
12
+ * @param id Worker 식별자 (예: "core-common:build")
13
+ * @param workerPath Worker 파일 경로
14
+ * @returns 생성된 WorkerProxy
15
15
  */
16
16
  create(id, workerPath) {
17
17
  const worker = Worker.create(workerPath);
@@ -19,15 +19,15 @@ export class WorkerManager {
19
19
  return worker;
20
20
  }
21
21
  /**
22
- * Lookup Worker by ID
23
- * @param id Worker identifier
22
+ * ID로 Worker 조회한다
23
+ * @param id Worker 식별자
24
24
  */
25
25
  get(id) {
26
26
  return this._workers.get(id);
27
27
  }
28
28
  /**
29
- * Terminate and remove a specific Worker
30
- * @param id Worker identifier
29
+ * 특정 Worker를 종료하고 제거한다
30
+ * @param id Worker 식별자
31
31
  */
32
32
  async terminate(id) {
33
33
  const worker = this._workers.get(id);
@@ -37,20 +37,20 @@ export class WorkerManager {
37
37
  }
38
38
  }
39
39
  /**
40
- * Terminate all Workers
40
+ * 모든 Worker를 종료한다
41
41
  */
42
42
  async terminateAll() {
43
43
  await Promise.all([...this._workers.values()].map((w) => w.terminate()));
44
44
  this._workers.clear();
45
45
  }
46
46
  /**
47
- * Number of managed Workers
47
+ * 관리 중인 Worker
48
48
  */
49
49
  get size() {
50
50
  return this._workers.size;
51
51
  }
52
52
  /**
53
- * List of all Worker IDs
53
+ * 모든 Worker ID 목록
54
54
  */
55
55
  get ids() {
56
56
  return [...this._workers.keys()];
@@ -1,52 +1,52 @@
1
1
  import type { SdBuildPackageConfig, SdClientPackageConfig, SdServerPackageConfig } from "../sd-config.types";
2
2
  /**
3
- * Build Orchestrator options
3
+ * BuildOrchestrator 옵션
4
4
  */
5
5
  export interface BuildOrchestratorOptions {
6
- /** Package filter for build (empty array includes all packages) */
6
+ /** 빌드 대상 패키지 필터 ( 배열이면 전체) */
7
7
  targets: string[];
8
- /** Additional options to pass to sd.config.ts */
8
+ /** sd.config.ts 전달할 추가 옵션 */
9
9
  options: string[];
10
10
  }
11
11
  /**
12
- * Package classification result
12
+ * 패키지 분류 결과
13
13
  */
14
14
  interface ClassifiedPackages {
15
- /** node/browser/neutral target (JS + dts) */
15
+ /** node/browser/neutral 대상 (JS + DTS) */
16
16
  buildPackages: Array<{
17
17
  name: string;
18
18
  config: SdBuildPackageConfig;
19
19
  }>;
20
- /** server target (JS build, no dts) */
20
+ /** server 대상 (JS 빌드, DTS 없음) */
21
21
  serverPackages: Array<{
22
22
  name: string;
23
23
  config: SdServerPackageConfig;
24
24
  }>;
25
- /** client target (Vite production build, no dts) */
25
+ /** client 대상 (Vite 프로덕션 빌드, DTS 없음) */
26
26
  clientPackages: Array<{
27
27
  name: string;
28
28
  config: SdClientPackageConfig;
29
29
  }>;
30
30
  }
31
31
  /**
32
- * Classify packages by target
33
- * - node/browser/neutral: buildPackages (JS + dts)
34
- * - server: serverPackages (JS build, no dts)
35
- * - client: clientPackages (Vite production build, no dts)
36
- * - scripts: excluded
32
+ * 패키지를 target별로 분류
33
+ * - node/browser/neutral: buildPackages (JS + DTS)
34
+ * - server: serverPackages (JS 빌드, DTS 없음)
35
+ * - client: clientPackages (Vite 프로덕션 빌드, DTS 없음)
36
+ * - scripts: 제외
37
37
  */
38
38
  export declare function classifyPackages(packages: Record<string, SdBuildPackageConfig | SdClientPackageConfig | SdServerPackageConfig | {
39
39
  target: "scripts";
40
40
  } | undefined>, targets: string[]): ClassifiedPackages;
41
41
  /**
42
- * Orchestrator for coordinating production builds
42
+ * 프로덕션 빌드를 조율하는 Orchestrator
43
43
  *
44
- * Classifies packages based on sd.config.ts and executes builds.
45
- * - Clean dist folders (clean build)
46
- * - Run lint + build concurrently
47
- * - node/browser/neutral targets: esbuild JS build + dts generation
48
- * - server targets: esbuild JS build
49
- * - client targets: Vite production build
44
+ * sd.config.ts 기반으로 패키지를 분류하고 빌드를 실행한다.
45
+ * - dist 폴더 정리 (클린 빌드)
46
+ * - lint + 빌드 동시 실행
47
+ * - 라이브러리 패키지: TscEngine/NgtscEngine으로 JS + DTS 빌드
48
+ * - 서버 패키지: BuildEngine으로 JS 빌드
49
+ * - 클라이언트 패키지: ViteEngine으로 Vite 프로덕션 빌드
50
50
  */
51
51
  export declare class BuildOrchestrator {
52
52
  private readonly _cwd;
@@ -66,16 +66,16 @@ export declare class BuildOrchestrator {
66
66
  */
67
67
  initialize(): Promise<void>;
68
68
  /**
69
- * Execute build
70
- * - Clean
71
- * - Lint + Build (concurrent)
72
- * - Output results
69
+ * 빌드 실행
70
+ * - 클린
71
+ * - lint + 빌드 (동시 실행)
72
+ * - 결과 출력
73
73
  *
74
- * @returns whether errors occurred (true: errors present)
74
+ * @returns 에러 발생 여부 (true: 에러 있음)
75
75
  */
76
76
  start(): Promise<boolean>;
77
77
  /**
78
- * Shutdown Orchestrator (no resources to clean up currently)
78
+ * Orchestrator 종료 (현재 정리할 리소스 없음)
79
79
  */
80
80
  shutdown(): Promise<void>;
81
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BuildOrchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrators/BuildOrchestrator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAc5B;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,mEAAmE;IACnE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,iDAAiD;IACjD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAeD;;GAEG;AACH,UAAU,kBAAkB;IAC1B,6CAA6C;IAC7C,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,oBAAoB,CAAA;KAAE,CAAC,CAAC;IACrE,uCAAuC;IACvC,cAAc,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,qBAAqB,CAAA;KAAE,CAAC,CAAC;IACvE,oDAAoD;IACpD,cAAc,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,qBAAqB,CAAA;KAAE,CAAC,CAAC;CACxE;AAMD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,CACd,MAAM,EACJ,oBAAoB,GACpB,qBAAqB,GACrB,qBAAqB,GACrB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB,SAAS,CACZ,EACD,OAAO,EAAE,MAAM,EAAE,GAChB,kBAAkB,CAkBpB;AAaD;;;;;;;;;GASG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAE3D,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAA2C;gBAE/C,OAAO,EAAE,wBAAwB;IAK7C;;;;;;OAMG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA2CjC;;;;;;;OAOG;IACG,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAwR/B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAKhC"}
1
+ {"version":3,"file":"BuildOrchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrators/BuildOrchestrator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAc5B;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,+BAA+B;IAC/B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAeD;;GAEG;AACH,UAAU,kBAAkB;IAC1B,yCAAyC;IACzC,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,oBAAoB,CAAA;KAAE,CAAC,CAAC;IACrE,gCAAgC;IAChC,cAAc,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,qBAAqB,CAAA;KAAE,CAAC,CAAC;IACvE,uCAAuC;IACvC,cAAc,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,qBAAqB,CAAA;KAAE,CAAC,CAAC;CACxE;AAMD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,CACd,MAAM,EACJ,oBAAoB,GACpB,qBAAqB,GACrB,qBAAqB,GACrB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB,SAAS,CACZ,EACD,OAAO,EAAE,MAAM,EAAE,GAChB,kBAAkB,CAkBpB;AAaD;;;;;;;;;GASG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAE3D,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAA2C;gBAE/C,OAAO,EAAE,wBAAwB;IAK7C;;;;;;OAMG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA2CjC;;;;;;;OAOG;IACG,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAwR/B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAKhC"}
@@ -14,11 +14,11 @@ import { Electron } from "../electron/electron.js";
14
14
  //#endregion
15
15
  //#region Utilities
16
16
  /**
17
- * Classify packages by target
18
- * - node/browser/neutral: buildPackages (JS + dts)
19
- * - server: serverPackages (JS build, no dts)
20
- * - client: clientPackages (Vite production build, no dts)
21
- * - scripts: excluded
17
+ * 패키지를 target별로 분류
18
+ * - node/browser/neutral: buildPackages (JS + DTS)
19
+ * - server: serverPackages (JS 빌드, DTS 없음)
20
+ * - client: clientPackages (Vite 프로덕션 빌드, DTS 없음)
21
+ * - scripts: 제외
22
22
  */
23
23
  export function classifyPackages(packages, targets) {
24
24
  const buildPackages = [];
@@ -40,7 +40,7 @@ export function classifyPackages(packages, targets) {
40
40
  return { buildPackages, serverPackages, clientPackages };
41
41
  }
42
42
  /**
43
- * Delete dist folders
43
+ * dist 폴더 삭제
44
44
  */
45
45
  async function cleanDistFolders(cwd, packageNames) {
46
46
  await Promise.all(packageNames.map((name) => fsx.rm(pathx.posixResolve(cwd, "packages", name, "dist"))));
@@ -48,14 +48,14 @@ async function cleanDistFolders(cwd, packageNames) {
48
48
  //#endregion
49
49
  //#region BuildOrchestrator
50
50
  /**
51
- * Orchestrator for coordinating production builds
51
+ * 프로덕션 빌드를 조율하는 Orchestrator
52
52
  *
53
- * Classifies packages based on sd.config.ts and executes builds.
54
- * - Clean dist folders (clean build)
55
- * - Run lint + build concurrently
56
- * - node/browser/neutral targets: esbuild JS build + dts generation
57
- * - server targets: esbuild JS build
58
- * - client targets: Vite production build
53
+ * sd.config.ts 기반으로 패키지를 분류하고 빌드를 실행한다.
54
+ * - dist 폴더 정리 (클린 빌드)
55
+ * - lint + 빌드 동시 실행
56
+ * - 라이브러리 패키지: TscEngine/NgtscEngine으로 JS + DTS 빌드
57
+ * - 서버 패키지: BuildEngine으로 JS 빌드
58
+ * - 클라이언트 패키지: ViteEngine으로 Vite 프로덕션 빌드
59
59
  */
60
60
  export class BuildOrchestrator {
61
61
  _cwd;
@@ -115,12 +115,12 @@ export class BuildOrchestrator {
115
115
  });
116
116
  }
117
117
  /**
118
- * Execute build
119
- * - Clean
120
- * - Lint + Build (concurrent)
121
- * - Output results
118
+ * 빌드 실행
119
+ * - 클린
120
+ * - lint + 빌드 (동시 실행)
121
+ * - 결과 출력
122
122
  *
123
- * @returns whether errors occurred (true: errors present)
123
+ * @returns 에러 발생 여부 (true: 에러 있음)
124
124
  */
125
125
  async start() {
126
126
  if (this._allPackageNames.length === 0) {
@@ -128,13 +128,13 @@ export class BuildOrchestrator {
128
128
  }
129
129
  const classified = this._classified;
130
130
  const baseEnv = this._baseEnv;
131
- // Collect results
131
+ // 결과 수집
132
132
  const results = [];
133
- // Track errors (wrapped in object to allow mutation tracking in callbacks)
133
+ // 에러 추적 (콜백에서 변경 추적을 위해 객체로 래핑)
134
134
  const state = { hasError: false };
135
- // File cache (for diagnostics output)
135
+ // 파일 캐시 (진단 출력용)
136
136
  const fileCache = new Map();
137
- // formatHost (for diagnostics output)
137
+ // formatHost (진단 출력용)
138
138
  const formatHost = {
139
139
  getCanonicalFileName: (f) => f,
140
140
  getCurrentDirectory: () => this._cwd,
@@ -146,9 +146,9 @@ export class BuildOrchestrator {
146
146
  this._logger.success("dist 폴더 정리 완료");
147
147
  // Phase 2: 빌드
148
148
  const concurrency = getMaxConcurrency();
149
- // Create list of build tasks
149
+ // 빌드 태스크 목록 생성
150
150
  const buildTasks = [];
151
- // buildPackages: JS build + dts generation via BuildEngine
151
+ // 라이브러리 패키지: BuildEngine으로 JS + DTS 빌드
152
152
  for (const { name, config } of classified.buildPackages) {
153
153
  const pkgDir = pathx.posixResolve(this._cwd, "packages", name);
154
154
  buildTasks.push(async () => {
@@ -193,7 +193,7 @@ export class BuildOrchestrator {
193
193
  this._logger.debug(`[${name}] (${config.target}) 빌드 완료`);
194
194
  });
195
195
  }
196
- // serverPackages: JS build + typecheck via BuildEngine
196
+ // 서버 패키지: BuildEngine으로 JS 빌드 + 타입체크
197
197
  for (const { name, config } of classified.serverPackages) {
198
198
  const pkgDir = pathx.posixResolve(this._cwd, "packages", name);
199
199
  buildTasks.push(async () => {
@@ -233,7 +233,7 @@ export class BuildOrchestrator {
233
233
  this._logger.debug(`[${name}] (server) 빌드 완료`);
234
234
  });
235
235
  }
236
- // clientPackages: Vite production build via ViteEngine (no dts)
236
+ // 클라이언트 패키지: ViteEngine으로 Vite 프로덕션 빌드 (DTS 없음)
237
237
  for (const { name, config } of classified.clientPackages) {
238
238
  const pkgDir = pathx.posixResolve(this._cwd, "packages", name);
239
239
  buildTasks.push(async () => {
@@ -362,11 +362,11 @@ export class BuildOrchestrator {
362
362
  return state.hasError;
363
363
  }
364
364
  /**
365
- * Shutdown Orchestrator (no resources to clean up currently)
365
+ * Orchestrator 종료 (현재 정리할 리소스 없음)
366
366
  */
367
367
  async shutdown() {
368
- // Production builds are one-time operations, so there are no resources to clean up at shutdown
369
- // Workers are cleaned up with terminate() within each build task
368
+ // 프로덕션 빌드는 일회성 작업이므로 종료 정리할 리소스가 없음
369
+ // Worker는 빌드 태스크 내에서 terminate() 정리됨
370
370
  await Promise.resolve();
371
371
  }
372
372
  }