@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
@@ -1,34 +1,34 @@
1
1
  /**
2
- * Add .js extension to extensionless relative import/export paths in ESM output.
2
+ * ESM 출력에서 확장자가 없는 상대 import/export 경로에 .js 확장자를 추가한다.
3
3
  *
4
- * Matches: from "./foo", import("./bar"), from "../baz"
5
- * Skips: bare specifiers ("lodash"), paths already ending with known extensions (.js, .json, .css, etc.)
4
+ * 매칭: from "./foo", import("./bar"), from "../baz"
5
+ * 스킵: bare 지정자("lodash"), 이미 알려진 확장자로 끝나는 경로 (.js, .json, .css )
6
6
  */
7
7
  export declare function addJsExtensionToImports(text: string): string;
8
8
  /**
9
- * Rewrite relative .scss imports to .css in emitted JS text.
10
- * Returns the transformed text and the list of original .scss import paths.
9
+ * emit된 JS 텍스트에서 상대 .scss import를 .css 변환한다.
10
+ * 변환된 텍스트와 원본 .scss import 경로 목록을 반환한다.
11
11
  *
12
- * Matches: import "./foo.scss", import("./bar.scss"), from "../baz.scss"
13
- * Only processes relative imports (starting with ./ or ../).
12
+ * 매칭: import "./foo.scss", import("./bar.scss"), from "../baz.scss"
13
+ * 상대 import(./ 또는 ../ 시작)만 처리한다.
14
14
  */
15
15
  export declare function rewriteScssImports(text: string): {
16
16
  text: string;
17
17
  scssImports: string[];
18
18
  };
19
19
  /**
20
- * Adjust sources path in .d.ts.map file to new location
20
+ * .d.ts.map 파일의 sources 경로를 새 위치에 맞게 조정한다.
21
21
  */
22
22
  export declare function adjustMapSources(content: string, originalDir: string, newDir: string): string;
23
23
  /**
24
- * Create path rewriter function for NgtscProgram output files (.js, .d.ts, .d.ts.map)
24
+ * NgtscProgram 출력 파일(.js, .d.ts, .d.ts.map)용 경로 재작성 함수를 생성한다.
25
25
  *
26
- * TypeScript/NgtscProgram includes other package sources referenced via path alias (@simplysm/*)
27
- * in rootDir calculation, so output is generated as nested structure dist/{pkgName}/src/...
28
- * The returned function rewrites only this package's output to flat structure (dist/...)
29
- * and ignores output from other packages.
26
+ * TypeScript/NgtscProgram path alias(@simplysm/*)로 참조되는 다른 패키지 소스를
27
+ * rootDir 계산에 포함하므로 출력이 dist/{pkgName}/src/... 중첩 구조로 생성된다.
28
+ * 반환된 함수는 패키지의 출력만 평면 구조(dist/...)로 재작성하고
29
+ * 다른 패키지의 출력은 무시한다.
30
30
  *
31
- * @returns (fileName, content) => [newPath, newContent] | null (null to skip writing)
31
+ * @returns (fileName, content) => [newPath, newContent] | null (null이면 쓰기 스킵)
32
32
  */
33
33
  export declare function createOutputPathRewriter(pkgDir: string): (fileName: string, content: string) => [string, string] | null;
34
34
  //# sourceMappingURL=output-path-rewriter.d.ts.map
@@ -1,10 +1,10 @@
1
1
  import path from "path";
2
2
  import { pathx } from "@simplysm/core-node";
3
3
  /**
4
- * Add .js extension to extensionless relative import/export paths in ESM output.
4
+ * ESM 출력에서 확장자가 없는 상대 import/export 경로에 .js 확장자를 추가한다.
5
5
  *
6
- * Matches: from "./foo.js", import("./bar.js"), from "../baz.js"
7
- * Skips: bare specifiers ("lodash"), paths already ending with known extensions (.js, .json, .css, etc.)
6
+ * 매칭: from "./foo.js", import("./bar.js"), from "../baz.js"
7
+ * 스킵: bare 지정자("lodash"), 이미 알려진 확장자로 끝나는 경로 (.js, .json, .css )
8
8
  */
9
9
  export function addJsExtensionToImports(text) {
10
10
  return text.replace(/((?:from|import)\s*(?:\(\s*)?["'])(\.\.?\/[^"']*?)(["'](?:\s*\))?)/g, (_match, prefix, importPath, suffix) => {
@@ -14,11 +14,11 @@ export function addJsExtensionToImports(text) {
14
14
  });
15
15
  }
16
16
  /**
17
- * Rewrite relative .scss imports to .css in emitted JS text.
18
- * Returns the transformed text and the list of original .scss import paths.
17
+ * emit된 JS 텍스트에서 상대 .scss import를 .css 변환한다.
18
+ * 변환된 텍스트와 원본 .scss import 경로 목록을 반환한다.
19
19
  *
20
- * Matches: import "./foo.scss", import("./bar.scss"), from "../baz.scss"
21
- * Only processes relative imports (starting with ./ or ../).
20
+ * 매칭: import "./foo.scss", import("./bar.scss"), from "../baz.scss"
21
+ * 상대 import(./ 또는 ../ 시작)만 처리한다.
22
22
  */
23
23
  export function rewriteScssImports(text) {
24
24
  const scssImports = [];
@@ -29,7 +29,7 @@ export function rewriteScssImports(text) {
29
29
  return { text: rewritten, scssImports };
30
30
  }
31
31
  /**
32
- * Adjust sources path in .d.ts.map file to new location
32
+ * .d.ts.map 파일의 sources 경로를 새 위치에 맞게 조정한다.
33
33
  */
34
34
  export function adjustMapSources(content, originalDir, newDir) {
35
35
  if (originalDir === newDir)
@@ -49,40 +49,40 @@ export function adjustMapSources(content, originalDir, newDir) {
49
49
  }
50
50
  }
51
51
  /**
52
- * Create path rewriter function for NgtscProgram output files (.js, .d.ts, .d.ts.map)
52
+ * NgtscProgram 출력 파일(.js, .d.ts, .d.ts.map)용 경로 재작성 함수를 생성한다.
53
53
  *
54
- * TypeScript/NgtscProgram includes other package sources referenced via path alias (@simplysm/*)
55
- * in rootDir calculation, so output is generated as nested structure dist/{pkgName}/src/...
56
- * The returned function rewrites only this package's output to flat structure (dist/...)
57
- * and ignores output from other packages.
54
+ * TypeScript/NgtscProgram path alias(@simplysm/*)로 참조되는 다른 패키지 소스를
55
+ * rootDir 계산에 포함하므로 출력이 dist/{pkgName}/src/... 중첩 구조로 생성된다.
56
+ * 반환된 함수는 패키지의 출력만 평면 구조(dist/...)로 재작성하고
57
+ * 다른 패키지의 출력은 무시한다.
58
58
  *
59
- * @returns (fileName, content) => [newPath, newContent] | null (null to skip writing)
59
+ * @returns (fileName, content) => [newPath, newContent] | null (null이면 쓰기 스킵)
60
60
  */
61
61
  export function createOutputPathRewriter(pkgDir) {
62
62
  const pkgName = path.basename(pkgDir);
63
63
  const distDir = pathx.posixResolve(pkgDir, "dist");
64
64
  const distPrefix = distDir + "/";
65
- // Nested structure prefix for this package: dist/{pkgName}/src/
65
+ // 패키지의 중첩 구조 접두사: dist/{pkgName}/src/
66
66
  const ownNestedPrefix = pathx.posixResolve(distDir, pkgName, "src") + "/";
67
67
  return (fileName, content) => {
68
68
  fileName = pathx.posixResolve(fileName);
69
69
  if (!fileName.startsWith(distPrefix))
70
70
  return null;
71
71
  if (fileName.startsWith(ownNestedPrefix)) {
72
- // Rewrite nested path to flat: dist/{pkgName}/src/... → dist/...
72
+ // 중첩 경로를 평면으로 재작성: dist/{pkgName}/src/... → dist/...
73
73
  const flatPath = pathx.posixResolve(distDir, fileName.slice(ownNestedPrefix.length));
74
74
  if (fileName.endsWith(".d.ts.map") || fileName.endsWith(".js.map")) {
75
75
  content = adjustMapSources(content, path.dirname(fileName), path.dirname(flatPath));
76
76
  }
77
77
  return [flatPath, content];
78
78
  }
79
- // Nested output from other packages (dist/{otherPkg}/src/...) → ignore
79
+ // 다른 패키지의 중첩 출력 (dist/{otherPkg}/src/...) → 무시
80
80
  const relFromDist = fileName.slice(distPrefix.length);
81
81
  const segments = relFromDist.split("/");
82
82
  if (segments.length >= 3 && segments[1] === "src") {
83
83
  return null;
84
84
  }
85
- // Already flat structure (package with no dependencies) → output as is
85
+ // 이미 평면 구조 (src/ 하위가 아닌 경로) → 그대로 출력
86
86
  return [fileName, content];
87
87
  };
88
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"output-path-rewriter.js","sourceRoot":"","sources":["../../src/utils/output-path-rewriter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output-path-rewriter.js","sourceRoot":"","sources":["../../src/utils/output-path-rewriter.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,17 @@
1
1
  import type { BuildResult } from "../infra/ResultCollector";
2
2
  /**
3
- * Format build warning/error messages
3
+ * 빌드 경고/에러 메시지를 포맷팅한다.
4
4
  */
5
5
  export declare function formatBuildMessages(name: string, label: string, messages: string[]): string;
6
6
  /**
7
- * Print only errors
8
- * @param results Build result status per package
7
+ * 에러만 출력한다.
8
+ * @param results 패키지별 빌드 결과 상태
9
9
  */
10
10
  export declare function printErrors(results: Map<string, BuildResult>): void;
11
11
  /**
12
- * Print server URLs only
13
- * @param results Build result status per package
14
- * @param serverClientsMap List of connected clients per server
12
+ * 서버 URL만 출력한다.
13
+ * @param results 패키지별 빌드 결과 상태
14
+ * @param serverClientsMap 서버별 연결된 클라이언트 목록
15
15
  */
16
16
  export declare function printServers(results: Map<string, BuildResult>, serverClientsMap?: Map<string, string[]>): void;
17
17
  //# sourceMappingURL=output-utils.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import { consola } from "consola";
2
2
  /**
3
- * Format build warning/error messages
3
+ * 빌드 경고/에러 메시지를 포맷팅한다.
4
4
  */
5
5
  export function formatBuildMessages(name, label, messages) {
6
6
  const lines = [`${name} (${label})`];
@@ -12,8 +12,8 @@ export function formatBuildMessages(name, label, messages) {
12
12
  return lines.join("\n");
13
13
  }
14
14
  /**
15
- * Print only errors
16
- * @param results Build result status per package
15
+ * 에러만 출력한다.
16
+ * @param results 패키지별 빌드 결과 상태
17
17
  */
18
18
  export function printErrors(results) {
19
19
  for (const result of results.values()) {
@@ -29,19 +29,19 @@ export function printErrors(results) {
29
29
  }
30
30
  }
31
31
  /**
32
- * Print server URLs only
33
- * @param results Build result status per package
34
- * @param serverClientsMap List of connected clients per server
32
+ * 서버 URL만 출력한다.
33
+ * @param results 패키지별 빌드 결과 상태
34
+ * @param serverClientsMap 서버별 연결된 클라이언트 목록
35
35
  */
36
36
  export function printServers(results, serverClientsMap) {
37
- // Collect server info
37
+ // 서버 정보 수집
38
38
  const servers = [...results.values()].filter((r) => r.status === "running" && r.port != null);
39
- // Print server info (add blank line before if present)
39
+ // 서버 정보 출력 (있으면 앞에 추가)
40
40
  if (servers.length > 0) {
41
41
  process.stdout.write("\n");
42
42
  for (const server of servers) {
43
43
  if (server.target === "server") {
44
- // If server has connected clients, print only client URLs
44
+ // 서버에 연결된 클라이언트가 있으면 클라이언트 URL만 출력
45
45
  const clients = serverClientsMap?.get(server.name) ?? [];
46
46
  if (clients.length > 0) {
47
47
  for (const clientName of clients) {
@@ -49,12 +49,12 @@ export function printServers(results, serverClientsMap) {
49
49
  }
50
50
  }
51
51
  else {
52
- // If no connected clients, print server root URL
52
+ // 연결된 클라이언트가 없으면 서버 루트 URL 출력
53
53
  consola.info(`[server] http://localhost:${server.port}/`);
54
54
  }
55
55
  }
56
56
  else {
57
- // Standalone client: print with name included
57
+ // 독립형 클라이언트: 이름 포함하여 출력
58
58
  consola.info(`[server] http://localhost:${server.port}/${server.name}/`);
59
59
  }
60
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"output-utils.js","sourceRoot":"","sources":["../../src/utils/output-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,KAAa,EAAE,QAAkB;IACjF,MAAM,KAAK,GAAa,CAAC,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC,CAAC;IAC/C,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAAiC;IAC3D,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACtC,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;YAClE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;gBACpD,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/E,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,SAAS,MAAM,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAiC,EACjC,gBAAwC;IAExC,sBAAsB;IACtB,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;IAE9F,uDAAuD;IACvD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,0DAA0D;gBAC1D,MAAM,OAAO,GAAG,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACzD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE,CAAC;wBACjC,OAAO,CAAC,IAAI,CAAC,6BAA6B,MAAM,CAAC,IAAI,IAAI,UAAU,GAAG,CAAC,CAAC;oBAC1E,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,iDAAiD;oBACjD,OAAO,CAAC,IAAI,CAAC,6BAA6B,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,8CAA8C;gBAC9C,OAAO,CAAC,IAAI,CAAC,6BAA6B,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"output-utils.js","sourceRoot":"","sources":["../../src/utils/output-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,KAAa,EAAE,QAAkB;IACjF,MAAM,KAAK,GAAa,CAAC,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC,CAAC;IAC/C,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAAiC;IAC3D,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACtC,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;YAClE,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;gBACpD,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/E,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,SAAS,MAAM,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAiC,EACjC,gBAAwC;IAExC,WAAW;IACX,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;IAE9F,2BAA2B;IAC3B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,mCAAmC;gBACnC,MAAM,OAAO,GAAG,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACzD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE,CAAC;wBACjC,OAAO,CAAC,IAAI,CAAC,6BAA6B,MAAM,CAAC,IAAI,IAAI,UAAU,GAAG,CAAC,CAAC;oBAC1E,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,8BAA8B;oBAC9B,OAAO,CAAC,IAAI,CAAC,6BAA6B,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,wBAAwB;gBACxB,OAAO,CAAC,IAAI,CAAC,6BAA6B,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -9,24 +9,24 @@ export declare function iteratePackages(packages: Record<string, SdPackageConfig
9
9
  config: SdPackageConfig;
10
10
  }>;
11
11
  /**
12
- * Walk up from import.meta.dirname to find package.json and return package root
12
+ * import.meta.dirname에서 위로 탐색하여 package.json 찾고 패키지 루트를 반환한다.
13
13
  */
14
14
  export declare function findPackageRoot(startDir: string): string;
15
15
  /**
16
- * Discover all workspace packages from packages/ and tests/ directories.
17
- * Returns a map of directory name → relative path (e.g., "orm" → "tests/orm").
16
+ * packages/ tests/ 디렉토리에서 모든 워크스페이스 패키지를 탐색한다.
17
+ * 디렉토리명 상대 경로의 맵을 반환한다 (예: "orm" → "tests/orm").
18
18
  */
19
19
  export declare function discoverWorkspacePackages(cwd: string): Map<string, string>;
20
20
  /**
21
- * Merge tests/ packages discovered from workspace into sd.config.ts packages.
22
- * Tests packages are assigned `{ target: "node" }` by default.
23
- * Also builds a pathMap (name → relative path) for all packages.
24
- * Throws SdError if a tests package name collides with an sd.config.ts package name.
21
+ * sd.config.ts 패키지만으로 pathMap을 구성한다 (tests 패키지 제외).
25
22
  */
23
+ export declare function buildPathMapFromConfig(configPackages: Record<string, SdPackageConfig | undefined>): Map<string, string>;
26
24
  /**
27
- * Build pathMap from sd.config.ts packages only (without tests packages).
25
+ * workspace에서 발견된 tests/ 패키지를 sd.config.ts 패키지에 병합한다.
26
+ * tests 패키지는 기본적으로 `{ target: "node" }`가 할당된다.
27
+ * 모든 패키지의 pathMap(name → 상대 경로)도 함께 구성한다.
28
+ * tests 패키지명이 sd.config.ts 패키지명과 충돌하면 SdError를 던진다.
28
29
  */
29
- export declare function buildPathMapFromConfig(configPackages: Record<string, SdPackageConfig | undefined>): Map<string, string>;
30
30
  export declare function mergeTestsPackagesIntoConfig(configPackages: Record<string, SdPackageConfig | undefined>, workspacePackages: Map<string, string>): {
31
31
  merged: Record<string, SdPackageConfig | undefined>;
32
32
  pathMap: Map<string, string>;
@@ -37,24 +37,24 @@ export interface DepsResult {
37
37
  }
38
38
  export declare function collectDeps(pkgDir: string, cwd: string, replaceDepsConfig?: Record<string, string>): DepsResult;
39
39
  /**
40
- * Check if package.json in the given directory has @angular/core
41
- * in dependencies or peerDependencies.
40
+ * 지정된 디렉토리의 package.json @angular/core
41
+ * dependencies 또는 peerDependencies에 있는지 확인한다.
42
42
  */
43
43
  export declare function hasAngularCoreDependency(pkgDir: string): boolean;
44
44
  /**
45
- * Validate that all target names exist in the sdConfig packages.
46
- * Throws SdError if any unknown targets are found.
47
- * Does nothing when targets is empty.
48
- * @param targets - package name list to validate
49
- * @param packages - sdConfig.packages object
45
+ * 모든 target 이름이 sdConfig 패키지에 존재하는지 검증한다.
46
+ * 없는 target이 발견되면 SdError를 던진다.
47
+ * targets가 비어있으면 아무 동작도 하지 않는다.
48
+ * @param targets - 검증할 패키지명 목록
49
+ * @param packages - sdConfig.packages 객체
50
50
  */
51
51
  export declare function validateTargets(targets: string[], packages: Record<string, unknown>): void;
52
52
  /**
53
- * Filter packages config by targets (excluding scripts target)
54
- * @param packages Package config map
55
- * @param targets List of package names to filter. If empty array, return all packages except scripts
56
- * @returns Filtered package config map
57
- * @internal exported for testing
53
+ * targets로 패키지 설정을 필터링한다 (scripts target 제외)
54
+ * @param packages 패키지 설정
55
+ * @param targets 필터링할 패키지명 목록. 배열이면 scripts를 제외한 모든 패키지 반환
56
+ * @returns 필터링된 패키지 설정
57
+ * @internal 테스트용으로 export
58
58
  */
59
59
  export declare function filterPackagesByTargets(packages: Record<string, SdPackageConfig | undefined>, targets: string[]): Record<string, SdPackageConfig>;
60
60
  export interface WatchClassifiedPackages {
@@ -1 +1 @@
1
- {"version":3,"file":"package-utils.d.ts","sourceRoot":"","sources":["../../src/utils/package-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package-utils.d.ts","sourceRoot":"","sources":["../../src/utils/package-utils.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export function iteratePackages(packages, targets) {
21
21
  return result;
22
22
  }
23
23
  /**
24
- * Walk up from import.meta.dirname to find package.json and return package root
24
+ * import.meta.dirname에서 위로 탐색하여 package.json 찾고 패키지 루트를 반환한다.
25
25
  */
26
26
  export function findPackageRoot(startDir) {
27
27
  let dir = startDir;
@@ -34,8 +34,8 @@ export function findPackageRoot(startDir) {
34
34
  return dir;
35
35
  }
36
36
  /**
37
- * Discover all workspace packages from packages/ and tests/ directories.
38
- * Returns a map of directory name → relative path (e.g., "orm" → "tests/orm").
37
+ * packages/ tests/ 디렉토리에서 모든 워크스페이스 패키지를 탐색한다.
38
+ * 디렉토리명 상대 경로의 맵을 반환한다 (예: "orm" → "tests/orm").
39
39
  */
40
40
  export function discoverWorkspacePackages(cwd) {
41
41
  logger.debug("워크스페이스 패키지 탐색 시작");
@@ -59,13 +59,7 @@ export function discoverWorkspacePackages(cwd) {
59
59
  return map;
60
60
  }
61
61
  /**
62
- * Merge tests/ packages discovered from workspace into sd.config.ts packages.
63
- * Tests packages are assigned `{ target: "node" }` by default.
64
- * Also builds a pathMap (name → relative path) for all packages.
65
- * Throws SdError if a tests package name collides with an sd.config.ts package name.
66
- */
67
- /**
68
- * Build pathMap from sd.config.ts packages only (without tests packages).
62
+ * sd.config.ts 패키지만으로 pathMap을 구성한다 (tests 패키지 제외).
69
63
  */
70
64
  export function buildPathMapFromConfig(configPackages) {
71
65
  const pathMap = new Map();
@@ -74,15 +68,21 @@ export function buildPathMapFromConfig(configPackages) {
74
68
  }
75
69
  return pathMap;
76
70
  }
71
+ /**
72
+ * workspace에서 발견된 tests/ 패키지를 sd.config.ts 패키지에 병합한다.
73
+ * tests 패키지는 기본적으로 `{ target: "node" }`가 할당된다.
74
+ * 모든 패키지의 pathMap(name → 상대 경로)도 함께 구성한다.
75
+ * tests 패키지명이 sd.config.ts 패키지명과 충돌하면 SdError를 던진다.
76
+ */
77
77
  export function mergeTestsPackagesIntoConfig(configPackages, workspacePackages) {
78
78
  logger.debug("tests 패키지 병합 시작");
79
79
  const pathMap = new Map();
80
80
  const merged = { ...configPackages };
81
- // Set default paths for config packages
81
+ // config 패키지의 기본 경로 설정
82
82
  for (const name of Object.keys(configPackages)) {
83
83
  pathMap.set(name, `packages/${name}`);
84
84
  }
85
- // Add tests packages
85
+ // tests 패키지 추가
86
86
  for (const [name, relPath] of workspacePackages) {
87
87
  if (!relPath.startsWith("tests/"))
88
88
  continue;
@@ -95,13 +95,27 @@ export function mergeTestsPackagesIntoConfig(configPackages, workspacePackages)
95
95
  logger.debug(`tests 패키지 병합 완료 (총 ${Object.keys(merged).length}개)`);
96
96
  return { merged, pathMap };
97
97
  }
98
+ /**
99
+ * pnpm-workspace.yaml 기반으로 workspace 패키지의 name → 상대 디렉토리 맵을 구성한다.
100
+ * 예: "@simplysm/core-node" → "packages/core-node"
101
+ */
102
+ function buildWorkspacePkgMap(cwd) {
103
+ const map = new Map();
104
+ const wsPkgs = discoverWorkspacePackages(cwd);
105
+ for (const [, relDir] of wsPkgs) {
106
+ const pkgJsonPath = pathx.posix(path.join(cwd, relDir, "package.json"));
107
+ if (!fs.existsSync(pkgJsonPath))
108
+ continue;
109
+ const pkgJson = JSON.parse(fs.readFileSync(pkgJsonPath, "utf-8"));
110
+ map.set(pkgJson.name, relDir);
111
+ }
112
+ return map;
113
+ }
98
114
  export function collectDeps(pkgDir, cwd, replaceDepsConfig) {
99
115
  const startTime = performance.now();
100
116
  logger.debug("의존성 수집 시작");
101
- const rootPkgJsonPath = pathx.posix(path.join(cwd, "package.json"));
102
- const rootPkgJson = JSON.parse(fs.readFileSync(rootPkgJsonPath, "utf-8"));
103
- const scopeMatch = rootPkgJson.name.match(/^(@[^/]+)\//);
104
- const workspaceScope = scopeMatch != null ? scopeMatch[1] : undefined;
117
+ // pnpm-workspace.yaml에서 workspace 패키지 디렉토리 패턴을 읽어 실제 패키지 맵 구성
118
+ const workspacePkgMap = buildWorkspacePkgMap(cwd);
105
119
  const replaceDepsPatterns = [];
106
120
  if (replaceDepsConfig != null) {
107
121
  for (const pattern of Object.keys(replaceDepsConfig)) {
@@ -122,17 +136,14 @@ export function collectDeps(pkgDir, cwd, replaceDepsConfig) {
122
136
  if (visited.has(dep))
123
137
  continue;
124
138
  visited.add(dep);
125
- // Check for workspace package
126
- if (workspaceScope != null && dep.startsWith(workspaceScope + "/")) {
127
- const dirName = dep.slice(workspaceScope.length + 1);
128
- const depDir = pathx.posix(path.join(cwd, "packages", dirName));
129
- if (fs.existsSync(pathx.posix(path.join(depDir, "package.json")))) {
130
- workspaceDeps.push(dirName);
131
- traverse(depDir);
132
- continue;
133
- }
139
+ // 워크스페이스 패키지 확인
140
+ const wsDir = workspacePkgMap.get(dep);
141
+ if (wsDir != null) {
142
+ workspaceDeps.push(path.basename(wsDir));
143
+ traverse(pathx.posix(path.join(cwd, wsDir)));
144
+ continue;
134
145
  }
135
- // Check replaceDeps pattern
146
+ // replaceDeps 패턴 확인
136
147
  const matched = replaceDepsPatterns.find((p) => p.regex.test(dep));
137
148
  if (matched != null) {
138
149
  replaceDeps.push(dep);
@@ -149,8 +160,8 @@ export function collectDeps(pkgDir, cwd, replaceDepsConfig) {
149
160
  return { workspaceDeps, replaceDeps };
150
161
  }
151
162
  /**
152
- * Check if package.json in the given directory has @angular/core
153
- * in dependencies or peerDependencies.
163
+ * 지정된 디렉토리의 package.json @angular/core
164
+ * dependencies 또는 peerDependencies에 있는지 확인한다.
154
165
  */
155
166
  export function hasAngularCoreDependency(pkgDir) {
156
167
  const pkgJsonPath = pathx.posix(path.join(pkgDir, "package.json"));
@@ -168,11 +179,11 @@ export function hasAngularCoreDependency(pkgDir) {
168
179
  }
169
180
  }
170
181
  /**
171
- * Validate that all target names exist in the sdConfig packages.
172
- * Throws SdError if any unknown targets are found.
173
- * Does nothing when targets is empty.
174
- * @param targets - package name list to validate
175
- * @param packages - sdConfig.packages object
182
+ * 모든 target 이름이 sdConfig 패키지에 존재하는지 검증한다.
183
+ * 없는 target이 발견되면 SdError를 던진다.
184
+ * targets가 비어있으면 아무 동작도 하지 않는다.
185
+ * @param targets - 검증할 패키지명 목록
186
+ * @param packages - sdConfig.packages 객체
176
187
  */
177
188
  export function validateTargets(targets, packages) {
178
189
  if (targets.length === 0)
@@ -184,11 +195,11 @@ export function validateTargets(targets, packages) {
184
195
  }
185
196
  }
186
197
  /**
187
- * Filter packages config by targets (excluding scripts target)
188
- * @param packages Package config map
189
- * @param targets List of package names to filter. If empty array, return all packages except scripts
190
- * @returns Filtered package config map
191
- * @internal exported for testing
198
+ * targets로 패키지 설정을 필터링한다 (scripts target 제외)
199
+ * @param packages 패키지 설정
200
+ * @param targets 필터링할 패키지명 목록. 배열이면 scripts를 제외한 모든 패키지 반환
201
+ * @returns 필터링된 패키지 설정
202
+ * @internal 테스트용으로 export
192
203
  */
193
204
  export function filterPackagesByTargets(packages, targets) {
194
205
  logger.debug(`패키지 필터링 시작 (targets: ${targets.length > 0 ? targets.join(", ") : "전체"})`);
@@ -196,15 +207,15 @@ export function filterPackagesByTargets(packages, targets) {
196
207
  for (const [name, config] of Object.entries(packages)) {
197
208
  if (config == null)
198
209
  continue;
199
- // Exclude scripts target unless watch hook is configured
210
+ // watch hook이 설정되지 않은 scripts target 제외
200
211
  if (config.target === "scripts" && config.watch == null)
201
212
  continue;
202
- // If targets is empty, include all packages
213
+ // targets 비어있으면 모든 패키지 포함
203
214
  if (targets.length === 0) {
204
215
  result[name] = config;
205
216
  continue;
206
217
  }
207
- // Filter only packages included in targets
218
+ // targets에 포함된 패키지만 필터링
208
219
  if (targets.includes(name)) {
209
220
  result[name] = config;
210
221
  }
@@ -253,14 +264,14 @@ export function classifyDevPackages(allPackages, cwd, pathMap) {
253
264
  const clientPackages = [];
254
265
  const serverClientsMap = new Map();
255
266
  const entries = iteratePackages(allPackages, []);
256
- // First pass: collect server names
267
+ // 1차 패스: 서버 이름 수집
257
268
  const serverNames = new Set();
258
269
  for (const { name, config } of entries) {
259
270
  if (config.target === "server") {
260
271
  serverNames.add(name);
261
272
  }
262
273
  }
263
- // Second pass: classify all packages
274
+ // 2차 패스: 모든 패키지 분류
264
275
  for (const { name, config } of entries) {
265
276
  const relPath = pathMap.get(name) ?? `packages/${name}`;
266
277
  const pkgDir = pathx.posix(path.join(cwd, relPath));
@@ -277,7 +288,7 @@ export function classifyDevPackages(allPackages, cwd, pathMap) {
277
288
  dir: pkgDir,
278
289
  config: config,
279
290
  });
280
- // Build server-client mapping
291
+ // 서버-클라이언트 매핑 구성
281
292
  const clientConfig = config;
282
293
  if (typeof clientConfig.server === "string") {
283
294
  if (serverNames.has(clientConfig.server)) {
@@ -290,7 +301,7 @@ export function classifyDevPackages(allPackages, cwd, pathMap) {
290
301
  }
291
302
  }
292
303
  }
293
- // Library and scripts packages are excluded from dev mode
304
+ // 라이브러리 scripts 패키지는 dev 모드에서 제외
294
305
  }
295
306
  logger.debug(`dev 패키지 분류 완료 (server: ${serverPackages.length}, client: ${clientPackages.length})`);
296
307
  return { serverPackages, clientPackages, serverClientsMap };
@@ -1 +1 @@
1
- {"version":3,"file":"package-utils.js","sourceRoot":"","sources":["../../src/utils/package-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package-utils.js","sourceRoot":"","sources":["../../src/utils/package-utils.ts"],"names":[],"mappings":"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"}