@simplysm/sd-cli 13.0.68 → 13.0.70

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 (201) hide show
  1. package/README.md +10 -957
  2. package/dist/builders/BaseBuilder.d.ts +23 -23
  3. package/dist/builders/BaseBuilder.d.ts.map +1 -1
  4. package/dist/builders/BaseBuilder.js +15 -15
  5. package/dist/builders/DtsBuilder.d.ts +4 -4
  6. package/dist/builders/DtsBuilder.js +1 -1
  7. package/dist/builders/LibraryBuilder.d.ts +3 -3
  8. package/dist/builders/types.d.ts +10 -10
  9. package/dist/capacitor/capacitor.d.ts +36 -36
  10. package/dist/capacitor/capacitor.js +63 -63
  11. package/dist/capacitor/capacitor.js.map +1 -1
  12. package/dist/commands/add-client.d.ts +8 -8
  13. package/dist/commands/add-client.js +15 -15
  14. package/dist/commands/add-client.js.map +1 -1
  15. package/dist/commands/add-server.d.ts +9 -9
  16. package/dist/commands/add-server.js +13 -13
  17. package/dist/commands/add-server.js.map +1 -1
  18. package/dist/commands/build.d.ts +9 -9
  19. package/dist/commands/check.js +3 -3
  20. package/dist/commands/check.js.map +1 -1
  21. package/dist/commands/dev.d.ts +9 -9
  22. package/dist/commands/device.d.ts +9 -9
  23. package/dist/commands/device.d.ts.map +1 -1
  24. package/dist/commands/device.js +17 -17
  25. package/dist/commands/device.js.map +1 -1
  26. package/dist/commands/init.d.ts +6 -6
  27. package/dist/commands/init.js +12 -12
  28. package/dist/commands/init.js.map +1 -1
  29. package/dist/commands/lint.d.ts +23 -23
  30. package/dist/commands/lint.d.ts.map +1 -1
  31. package/dist/commands/lint.js +25 -25
  32. package/dist/commands/lint.js.map +1 -1
  33. package/dist/commands/publish.d.ts +13 -13
  34. package/dist/commands/publish.d.ts.map +1 -1
  35. package/dist/commands/publish.js +61 -61
  36. package/dist/commands/publish.js.map +1 -1
  37. package/dist/commands/replace-deps.d.ts +3 -3
  38. package/dist/commands/replace-deps.d.ts.map +1 -1
  39. package/dist/commands/replace-deps.js +1 -1
  40. package/dist/commands/replace-deps.js.map +1 -1
  41. package/dist/commands/typecheck.d.ts +20 -20
  42. package/dist/commands/typecheck.d.ts.map +1 -1
  43. package/dist/commands/typecheck.js +20 -20
  44. package/dist/commands/typecheck.js.map +1 -1
  45. package/dist/commands/watch.d.ts +7 -7
  46. package/dist/electron/electron.d.ts +27 -27
  47. package/dist/electron/electron.js +32 -32
  48. package/dist/electron/electron.js.map +1 -1
  49. package/dist/infra/ResultCollector.d.ts +9 -9
  50. package/dist/infra/ResultCollector.js +5 -5
  51. package/dist/infra/SignalHandler.d.ts +7 -7
  52. package/dist/infra/SignalHandler.js +4 -4
  53. package/dist/infra/WorkerManager.d.ts +14 -14
  54. package/dist/infra/WorkerManager.js +11 -11
  55. package/dist/orchestrators/BuildOrchestrator.d.ts +19 -19
  56. package/dist/orchestrators/BuildOrchestrator.d.ts.map +1 -1
  57. package/dist/orchestrators/BuildOrchestrator.js +26 -26
  58. package/dist/orchestrators/BuildOrchestrator.js.map +1 -1
  59. package/dist/orchestrators/DevOrchestrator.d.ts +25 -25
  60. package/dist/orchestrators/DevOrchestrator.d.ts.map +1 -1
  61. package/dist/orchestrators/DevOrchestrator.js +30 -30
  62. package/dist/orchestrators/DevOrchestrator.js.map +1 -1
  63. package/dist/orchestrators/WatchOrchestrator.d.ts +13 -13
  64. package/dist/orchestrators/WatchOrchestrator.js +17 -17
  65. package/dist/orchestrators/WatchOrchestrator.js.map +1 -1
  66. package/dist/sd-cli-entry.d.ts +2 -2
  67. package/dist/sd-cli-entry.js +38 -38
  68. package/dist/sd-cli-entry.js.map +1 -1
  69. package/dist/sd-cli.d.ts +2 -2
  70. package/dist/sd-cli.js +1 -1
  71. package/dist/sd-cli.js.map +1 -1
  72. package/dist/sd-config.types.d.ts +84 -84
  73. package/dist/sd-config.types.d.ts.map +1 -1
  74. package/dist/utils/build-env.d.ts +1 -1
  75. package/dist/utils/config-editor.d.ts +5 -5
  76. package/dist/utils/config-editor.js +2 -2
  77. package/dist/utils/config-editor.js.map +1 -1
  78. package/dist/utils/copy-public.d.ts +9 -9
  79. package/dist/utils/copy-src.d.ts +9 -9
  80. package/dist/utils/esbuild-config.d.ts +30 -30
  81. package/dist/utils/esbuild-config.d.ts.map +1 -1
  82. package/dist/utils/output-utils.d.ts +6 -6
  83. package/dist/utils/package-utils.d.ts +6 -6
  84. package/dist/utils/package-utils.js +1 -1
  85. package/dist/utils/package-utils.js.map +1 -1
  86. package/dist/utils/rebuild-manager.js +3 -3
  87. package/dist/utils/rebuild-manager.js.map +1 -1
  88. package/dist/utils/replace-deps.d.ts +25 -25
  89. package/dist/utils/replace-deps.js +3 -3
  90. package/dist/utils/replace-deps.js.map +1 -1
  91. package/dist/utils/sd-config.d.ts +3 -3
  92. package/dist/utils/sd-config.js +3 -3
  93. package/dist/utils/sd-config.js.map +1 -1
  94. package/dist/utils/tailwind-config-deps.d.ts +3 -3
  95. package/dist/utils/template.d.ts +8 -8
  96. package/dist/utils/tsconfig.d.ts +16 -16
  97. package/dist/utils/tsconfig.js +2 -2
  98. package/dist/utils/tsconfig.js.map +1 -1
  99. package/dist/utils/typecheck-serialization.d.ts +8 -8
  100. package/dist/utils/vite-config.d.ts +8 -8
  101. package/dist/utils/vite-config.d.ts.map +1 -1
  102. package/dist/utils/vite-config.js +3 -3
  103. package/dist/utils/worker-events.d.ts +12 -12
  104. package/dist/utils/worker-events.d.ts.map +1 -1
  105. package/dist/utils/worker-utils.d.ts +3 -3
  106. package/dist/utils/worker-utils.js +2 -2
  107. package/dist/utils/worker-utils.js.map +1 -1
  108. package/dist/workers/client.worker.d.ts +14 -14
  109. package/dist/workers/client.worker.d.ts.map +1 -1
  110. package/dist/workers/client.worker.js +1 -1
  111. package/dist/workers/client.worker.js.map +1 -1
  112. package/dist/workers/dts.worker.d.ts +13 -13
  113. package/dist/workers/dts.worker.d.ts.map +1 -1
  114. package/dist/workers/dts.worker.js +3 -3
  115. package/dist/workers/dts.worker.js.map +1 -1
  116. package/dist/workers/library.worker.d.ts +12 -12
  117. package/dist/workers/library.worker.js +1 -1
  118. package/dist/workers/library.worker.js.map +1 -1
  119. package/dist/workers/lint.worker.d.ts +1 -1
  120. package/dist/workers/server-runtime.worker.d.ts +6 -6
  121. package/dist/workers/server-runtime.worker.js +6 -6
  122. package/dist/workers/server-runtime.worker.js.map +1 -1
  123. package/dist/workers/server.worker.d.ts +20 -20
  124. package/dist/workers/server.worker.d.ts.map +1 -1
  125. package/dist/workers/server.worker.js +6 -6
  126. package/dist/workers/server.worker.js.map +1 -1
  127. package/package.json +8 -7
  128. package/src/builders/BaseBuilder.ts +33 -33
  129. package/src/builders/DtsBuilder.ts +5 -5
  130. package/src/builders/LibraryBuilder.ts +9 -9
  131. package/src/builders/types.ts +10 -10
  132. package/src/capacitor/capacitor.ts +119 -119
  133. package/src/commands/add-client.ts +31 -31
  134. package/src/commands/add-server.ts +34 -34
  135. package/src/commands/build.ts +9 -9
  136. package/src/commands/check.ts +5 -5
  137. package/src/commands/dev.ts +9 -9
  138. package/src/commands/device.ts +30 -30
  139. package/src/commands/init.ts +25 -25
  140. package/src/commands/lint.ts +64 -64
  141. package/src/commands/publish.ts +139 -139
  142. package/src/commands/replace-deps.ts +4 -4
  143. package/src/commands/typecheck.ts +74 -74
  144. package/src/commands/watch.ts +7 -7
  145. package/src/electron/electron.ts +51 -51
  146. package/src/infra/ResultCollector.ts +9 -9
  147. package/src/infra/SignalHandler.ts +7 -7
  148. package/src/infra/WorkerManager.ts +14 -14
  149. package/src/orchestrators/BuildOrchestrator.ts +76 -76
  150. package/src/orchestrators/DevOrchestrator.ts +88 -88
  151. package/src/orchestrators/WatchOrchestrator.ts +39 -39
  152. package/src/sd-cli-entry.ts +43 -43
  153. package/src/sd-cli.ts +15 -15
  154. package/src/sd-config.types.ts +85 -85
  155. package/src/utils/build-env.ts +1 -1
  156. package/src/utils/config-editor.ts +19 -19
  157. package/src/utils/copy-public.ts +17 -17
  158. package/src/utils/copy-src.ts +11 -11
  159. package/src/utils/esbuild-config.ts +33 -33
  160. package/src/utils/output-utils.ts +11 -11
  161. package/src/utils/package-utils.ts +12 -12
  162. package/src/utils/rebuild-manager.ts +3 -3
  163. package/src/utils/replace-deps.ts +361 -361
  164. package/src/utils/sd-config.ts +44 -44
  165. package/src/utils/tailwind-config-deps.ts +98 -98
  166. package/src/utils/template.ts +56 -56
  167. package/src/utils/tsconfig.ts +127 -127
  168. package/src/utils/typecheck-serialization.ts +86 -86
  169. package/src/utils/vite-config.ts +341 -341
  170. package/src/utils/worker-events.ts +16 -16
  171. package/src/utils/worker-utils.ts +45 -45
  172. package/src/workers/client.worker.ts +34 -34
  173. package/src/workers/dts.worker.ts +467 -467
  174. package/src/workers/library.worker.ts +314 -314
  175. package/src/workers/lint.worker.ts +16 -16
  176. package/src/workers/server-runtime.worker.ts +157 -157
  177. package/src/workers/server.worker.ts +572 -572
  178. package/templates/add-client/__CLIENT__/package.json.hbs +1 -1
  179. package/templates/add-server/__SERVER__/package.json.hbs +2 -2
  180. package/templates/init/package.json.hbs +3 -3
  181. package/tests/config-editor.spec.ts +160 -0
  182. package/tests/copy-src.spec.ts +50 -0
  183. package/tests/get-compiler-options-for-package.spec.ts +139 -0
  184. package/tests/get-package-source-files.spec.ts +181 -0
  185. package/tests/get-types-from-package-json.spec.ts +107 -0
  186. package/tests/infra/ResultCollector.spec.ts +39 -0
  187. package/tests/infra/SignalHandler.spec.ts +38 -0
  188. package/tests/infra/WorkerManager.spec.ts +97 -0
  189. package/tests/load-ignore-patterns.spec.ts +188 -0
  190. package/tests/load-sd-config.spec.ts +137 -0
  191. package/tests/package-utils.spec.ts +188 -0
  192. package/tests/parse-root-tsconfig.spec.ts +89 -0
  193. package/tests/replace-deps.spec.ts +308 -0
  194. package/tests/run-lint.spec.ts +415 -0
  195. package/tests/run-typecheck.spec.ts +653 -0
  196. package/tests/run-watch.spec.ts +75 -0
  197. package/tests/sd-cli.spec.ts +330 -0
  198. package/tests/tailwind-config-deps.spec.ts +30 -0
  199. package/tests/template.spec.ts +70 -0
  200. package/tests/utils/rebuild-manager.spec.ts +43 -0
  201. package/tests/write-changed-output-files.spec.ts +97 -0
@@ -1,27 +1,27 @@
1
1
  /**
2
- * 빌드 타겟 유형 (esbuild로 빌드)
3
- * - node: Node.js 전용 패키지
4
- * - browser: 브라우저 전용 패키지
5
- * - neutral: Node/브라우저 공용 패키지
2
+ * Build target type (built with esbuild)
3
+ * - node: Node.js only package
4
+ * - browser: browser only package
5
+ * - neutral: Node/browser shared package
6
6
  */
7
7
  export type BuildTarget = "node" | "browser" | "neutral";
8
8
  /**
9
- * 패키지 publish 설정
10
- * - "npm": npm 레지스트리에 배포
11
- * - SdLocalDirectoryPublishConfig: 로컬 디렉토리에 복사
12
- * - SdStoragePublishConfig: FTP/FTPS/SFTP 서버에 업로드
9
+ * Package publish configuration
10
+ * - "npm": deploy to npm registry
11
+ * - SdLocalDirectoryPublishConfig: copy to local directory
12
+ * - SdStoragePublishConfig: upload to FTP/FTPS/SFTP server
13
13
  */
14
14
  export type SdPublishConfig = "npm" | SdLocalDirectoryPublishConfig | SdStoragePublishConfig;
15
15
  /**
16
- * 로컬 디렉토리 publish 설정
16
+ * Local directory publish configuration
17
17
  */
18
18
  export interface SdLocalDirectoryPublishConfig {
19
19
  type: "local-directory";
20
- /** 배포 대상 경로 (환경변수 치환 지원: %VER%, %PROJECT%) */
20
+ /** deployment target path (supports environment variable substitution: %VER%, %PROJECT%) */
21
21
  path: string;
22
22
  }
23
23
  /**
24
- * 스토리지 (FTP/FTPS/SFTP) publish 설정
24
+ * Storage (FTP/FTPS/SFTP) publish configuration
25
25
  */
26
26
  export interface SdStoragePublishConfig {
27
27
  type: "ftp" | "ftps" | "sftp";
@@ -32,202 +32,202 @@ export interface SdStoragePublishConfig {
32
32
  pass?: string;
33
33
  }
34
34
  /**
35
- * postPublish 스크립트 설정
35
+ * postPublish script configuration
36
36
  */
37
37
  export interface SdPostPublishScriptConfig {
38
38
  type: "script";
39
39
  cmd: string;
40
- /** 스크립트 인자 (환경변수 치환 지원: %VER%, %PROJECT%) */
40
+ /** script arguments (supports environment variable substitution: %VER%, %PROJECT%) */
41
41
  args: string[];
42
42
  }
43
43
  /**
44
- * 패키지 설정 (node/browser/neutral)
44
+ * Package configuration (node/browser/neutral)
45
45
  */
46
46
  export interface SdBuildPackageConfig {
47
- /** 빌드 타겟 */
47
+ /** build target */
48
48
  target: BuildTarget;
49
- /** publish 설정 */
49
+ /** publish configuration */
50
50
  publish?: SdPublishConfig;
51
- /** src/에서 dist/로 복사할 파일 glob 패턴 (src/ 기준 상대 경로) */
51
+ /** glob patterns for files to copy from src/ to dist/ (relative path based on src/) */
52
52
  copySrc?: string[];
53
53
  }
54
54
  /**
55
- * Capacitor Android 서명 설정
55
+ * Capacitor Android sign configuration
56
56
  */
57
57
  export interface SdCapacitorSignConfig {
58
- /** keystore 파일 경로 (패키지 디렉토리 기준 상대경로) */
58
+ /** keystore file path (relative path based on package directory) */
59
59
  keystore: string;
60
- /** keystore 비밀번호 */
60
+ /** keystore password */
61
61
  storePassword: string;
62
- /** 별칭 */
62
+ /** key alias */
63
63
  alias: string;
64
- /** 비밀번호 */
64
+ /** key password */
65
65
  password: string;
66
- /** keystore 타입 (기본값: "jks") */
66
+ /** keystore type (default: "jks") */
67
67
  keystoreType?: string;
68
68
  }
69
69
  /**
70
- * Capacitor Android 권한 설정
70
+ * Capacitor Android permission configuration
71
71
  */
72
72
  export interface SdCapacitorPermission {
73
- /** 권한 이름 (예: "CAMERA", "WRITE_EXTERNAL_STORAGE") */
73
+ /** permission name (e.g., "CAMERA", "WRITE_EXTERNAL_STORAGE") */
74
74
  name: string;
75
- /** 최대 SDK 버전 */
75
+ /** maximum SDK version */
76
76
  maxSdkVersion?: number;
77
- /** tools:ignore 속성 */
77
+ /** tools:ignore attribute value */
78
78
  ignore?: string;
79
79
  }
80
80
  /**
81
- * Capacitor Android Intent Filter 설정
81
+ * Capacitor Android Intent Filter configuration
82
82
  */
83
83
  export interface SdCapacitorIntentFilter {
84
- /** intent action (예: "android.intent.action.VIEW") */
84
+ /** intent action (e.g., "android.intent.action.VIEW") */
85
85
  action?: string;
86
- /** intent category (예: "android.intent.category.DEFAULT") */
86
+ /** intent category (e.g., "android.intent.category.DEFAULT") */
87
87
  category?: string;
88
88
  }
89
89
  /**
90
- * Capacitor Android 플랫폼 설정
90
+ * Capacitor Android platform configuration
91
91
  */
92
92
  export interface SdCapacitorAndroidConfig {
93
- /** AndroidManifest.xml application 태그 속성 (예: { requestLegacyExternalStorage: "true" }) */
93
+ /** AndroidManifest.xml application tag attributes (e.g., { requestLegacyExternalStorage: "true" }) */
94
94
  config?: Record<string, string>;
95
- /** AAB 번들 빌드 여부 (false APK) */
95
+ /** AAB bundle build flag (false for APK) */
96
96
  bundle?: boolean;
97
- /** Intent Filter 설정 */
97
+ /** Intent Filter configuration */
98
98
  intentFilters?: SdCapacitorIntentFilter[];
99
- /** APK/AAB 서명 설정 */
99
+ /** APK/AAB signing configuration */
100
100
  sign?: SdCapacitorSignConfig;
101
- /** Android SDK 버전 (minSdk, targetSdk) */
101
+ /** Android SDK version (minSdk, targetSdk) */
102
102
  sdkVersion?: number;
103
- /** 추가 권한 설정 */
103
+ /** additional permission configuration */
104
104
  permissions?: SdCapacitorPermission[];
105
105
  }
106
106
  /**
107
- * Capacitor 설정
107
+ * Capacitor configuration
108
108
  */
109
109
  export interface SdCapacitorConfig {
110
- /** ID (예: "com.example.app") */
110
+ /** app ID (e.g., "com.example.app") */
111
111
  appId: string;
112
- /** 이름 */
112
+ /** app name */
113
113
  appName: string;
114
- /** Capacitor 플러그인 설정 (키: 패키지명, 값: true 또는 플러그인 옵션) */
114
+ /** Capacitor plugin configuration (key: package name, value: true or plugin options) */
115
115
  plugins?: Record<string, Record<string, unknown> | true>;
116
- /** 아이콘 경로 (패키지 디렉토리 기준 상대경로) */
116
+ /** app icon path (relative path based on package directory) */
117
117
  icon?: string;
118
- /** 디버그 빌드 여부 */
118
+ /** debug build flag */
119
119
  debug?: boolean;
120
- /** 플랫폼별 설정 */
120
+ /** per-platform configuration */
121
121
  platform?: {
122
122
  android?: SdCapacitorAndroidConfig;
123
123
  };
124
124
  }
125
125
  /**
126
- * Electron 설정
126
+ * Electron configuration
127
127
  */
128
128
  export interface SdElectronConfig {
129
- /** Electron ID (예: "com.example.myapp") */
129
+ /** Electron app ID (e.g., "com.example.myapp") */
130
130
  appId: string;
131
- /** portable .exe (true) 또는 NSIS 인스톨러 (false/미지정) */
131
+ /** portable .exe (true) or NSIS installer (false/unspecified) */
132
132
  portable?: boolean;
133
- /** 인스톨러 아이콘 경로 (.ico, 패키지 디렉토리 기준 상대경로) */
133
+ /** installer icon path (.ico, relative path based on package directory) */
134
134
  installerIcon?: string;
135
- /** Electron에 포함할 npm 패키지 (native 모듈 ) */
135
+ /** npm packages to include in Electron (native modules, etc.) */
136
136
  reinstallDependencies?: string[];
137
- /** npm postinstall 스크립트 */
137
+ /** npm postinstall script */
138
138
  postInstallScript?: string;
139
- /** NSIS 옵션 (portable 아닌 경우) */
139
+ /** NSIS options (when portable is false) */
140
140
  nsisOptions?: Record<string, unknown>;
141
- /** 환경변수 (electron-main.ts에서 process.env로 접근) */
141
+ /** environment variables (accessible via process.env in electron-main.ts) */
142
142
  env?: Record<string, string>;
143
143
  }
144
144
  /**
145
- * 클라이언트 패키지 설정 (Vite 개발 서버)
145
+ * Client package configuration (Vite development server)
146
146
  */
147
147
  export interface SdClientPackageConfig {
148
- /** 빌드 타겟 */
148
+ /** build target */
149
149
  target: "client";
150
150
  /**
151
- * 서버 설정
152
- * - string: 연결할 서버 패키지명 (예: "solid-demo-server")
153
- * - number: Vite 직접 포트 사용 (하위 호환성)
151
+ * server configuration
152
+ * - string: server package name to connect to (e.g., "solid-demo-server")
153
+ * - number: use Vite port directly (backward compatibility)
154
154
  */
155
155
  server: string | number;
156
- /** 빌드 치환할 환경변수 (process.env 객체로 치환) */
156
+ /** environment variables to substitute during build (replace process.env with object) */
157
157
  env?: Record<string, string>;
158
- /** publish 설정 */
158
+ /** publish configuration */
159
159
  publish?: SdPublishConfig;
160
- /** Capacitor 설정 */
160
+ /** Capacitor configuration */
161
161
  capacitor?: SdCapacitorConfig;
162
- /** Electron 설정 */
162
+ /** Electron configuration */
163
163
  electron?: SdElectronConfig;
164
164
  /** runtime config (written to dist/.config.json during build) */
165
165
  configs?: Record<string, unknown>;
166
166
  }
167
167
  /**
168
- * 서버 패키지 설정 (Fastify 서버)
168
+ * Server package configuration (Fastify server)
169
169
  */
170
170
  export interface SdServerPackageConfig {
171
- /** 빌드 타겟 */
171
+ /** build target */
172
172
  target: "server";
173
- /** 빌드 치환할 환경변수 (process.env.KEY 상수로 치환) */
173
+ /** environment variables to substitute during build (replace process.env.KEY with constant) */
174
174
  env?: Record<string, string>;
175
- /** publish 설정 */
175
+ /** publish configuration */
176
176
  publish?: SdPublishConfig;
177
177
  /** runtime config (written to dist/.config.json during build) */
178
178
  configs?: Record<string, unknown>;
179
- /** esbuild에서 번들에 포함하지 않을 외부 모듈 (binding.gyp 자동 감지에 더해 수동 지정) */
179
+ /** external modules not to include in esbuild bundle (in addition to automatic binding.gyp detection) */
180
180
  externals?: string[];
181
- /** PM2 설정 (지정 dist/pm2.config.cjs 생성) */
181
+ /** PM2 configuration (generates dist/pm2.config.cjs when specified) */
182
182
  pm2?: {
183
- /** PM2 프로세스 이름 (미지정 package.json name에서 생성) */
183
+ /** PM2 process name (generated from package.json name if unspecified) */
184
184
  name?: string;
185
- /** PM2 watch에서 제외할 경로 */
185
+ /** paths to exclude from PM2 watch */
186
186
  ignoreWatchPaths?: string[];
187
187
  };
188
188
  /** Package manager to use (affects mise.toml or volta settings generation) */
189
189
  packageManager?: "volta" | "mise";
190
190
  }
191
191
  /**
192
- * 스크립트 전용 패키지 설정 (watch/typecheck 제외)
192
+ * Scripts-only package configuration (excluded from watch/typecheck)
193
193
  */
194
194
  export interface SdScriptsPackageConfig {
195
- /** 빌드 타겟 */
195
+ /** build target */
196
196
  target: "scripts";
197
197
  }
198
198
  /**
199
- * 패키지 설정
199
+ * Package configuration
200
200
  */
201
201
  export type SdPackageConfig = SdBuildPackageConfig | SdClientPackageConfig | SdServerPackageConfig | SdScriptsPackageConfig;
202
202
  /**
203
- * sd.config.ts 설정 타입
203
+ * sd.config.ts configuration type
204
204
  */
205
205
  export interface SdConfig {
206
- /** 패키지별 설정 (키: packages/ 하위 디렉토리 이름, 예: "core-common") */
206
+ /** per-package configuration (key: subdirectory name under packages/, e.g., "core-common") */
207
207
  packages: Record<string, SdPackageConfig | undefined>;
208
208
  /**
209
- * 의존성 교체 설정 (node_modules 패키지를 로컬 소스로 symlink 교체)
210
- * - 키: node_modules에서 찾을 패키지 glob 패턴 (예: "@simplysm/*")
211
- * - 값: 소스 디렉토리 경로 (키의 * 캡처값이 값의 *에 치환됨)
212
- * - 예: { "@simplysm/*": "../simplysm/packages/*" }
209
+ * dependency replacement configuration (replace node_modules packages with local sources via symlink)
210
+ * - key: package glob pattern to find in node_modules (e.g., "@simplysm/*")
211
+ * - value: source directory path (captured values from key's * are substituted into value's *)
212
+ * - example: { "@simplysm/*": "../simplysm/packages/*" }
213
213
  */
214
214
  replaceDeps?: Record<string, string>;
215
- /** 배포 완료 실행할 스크립트 */
215
+ /** script to execute after deployment completes */
216
216
  postPublish?: SdPostPublishScriptConfig[];
217
217
  }
218
218
  /**
219
- * sd.config.ts 함수에 전달되는 파라미터
219
+ * parameters passed to sd.config.ts function
220
220
  */
221
221
  export interface SdConfigParams {
222
- /** 현재 작업 디렉토리 */
222
+ /** current working directory */
223
223
  cwd: string;
224
- /** 개발 모드 여부 */
224
+ /** development mode flag */
225
225
  dev: boolean;
226
- /** 추가 옵션 (CLI -o 플래그) */
226
+ /** additional options (from CLI's -o flag) */
227
227
  opt: string[];
228
228
  }
229
229
  /**
230
- * sd.config.ts 다음과 같은 형태의 함수를 default export해야 한다:
230
+ * sd.config.ts must default export a function of the following form:
231
231
  *
232
232
  * ```typescript
233
233
  * import type { SdConfig, SdConfigFn, SdConfigParams } from "@simplysm/sd-cli";
@@ -1 +1 @@
1
- {"version":3,"file":"sd-config.types.d.ts","sourceRoot":"","sources":["..\\src\\sd-config.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sd-config.types.d.ts","sourceRoot":"","sources":["..\\src\\sd-config.types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 루트 package.json에서 version 가져오기
2
+ * Get version from root package.json
3
3
  */
4
4
  export declare function getVersion(cwd: string): Promise<string>;
5
5
  //# sourceMappingURL=build-env.d.ts.map
@@ -1,17 +1,17 @@
1
1
  /**
2
- * sd.config.ts의 packages 객체에 패키지 항목을 추가한다.
2
+ * Add new package entry to packages object in sd.config.ts
3
3
  *
4
- * @returns true: 성공, false: 이미 존재
4
+ * @returns true: success, false: already exists
5
5
  */
6
6
  export declare function addPackageToSdConfig(configPath: string, packageName: string, config: Record<string, unknown>): boolean;
7
7
  /**
8
- * sd.config.ts에서 특정 클라이언트의 server 필드를 설정한다.
8
+ * Set server field for specific client in sd.config.ts
9
9
  */
10
10
  export declare function setClientServerInSdConfig(configPath: string, clientName: string, serverName: string): void;
11
11
  /**
12
- * eslint.config.ts에 tailwindcss 설정 블록을 추가한다.
12
+ * Add tailwindcss config block to eslint.config.ts
13
13
  *
14
- * @returns true: 추가됨, false: 이미 존재
14
+ * @returns true: added, false: already exists
15
15
  */
16
16
  export declare function addTailwindToEslintConfig(configPath: string, clientName: string): boolean;
17
17
  //# sourceMappingURL=config-editor.d.ts.map
@@ -12,7 +12,7 @@ function findPackagesObject(configPath) {
12
12
  const returnStmt = body.getFirstDescendantByKindOrThrow(SyntaxKind.ReturnStatement);
13
13
  returnObj = returnStmt.getExpressionIfKindOrThrow(SyntaxKind.ObjectLiteralExpression);
14
14
  } else {
15
- throw new Error("sd.config.ts\uC758 \uAD6C\uC870\uB97C \uC778\uC2DD\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");
15
+ throw new Error("Unable to recognize structure of sd.config.ts");
16
16
  }
17
17
  const packagesProp = returnObj.getPropertyOrThrow("packages").asKindOrThrow(SyntaxKind.PropertyAssignment);
18
18
  const packagesObj = packagesProp.getInitializerIfKindOrThrow(SyntaxKind.ObjectLiteralExpression);
@@ -36,7 +36,7 @@ function setClientServerInSdConfig(configPath, clientName, serverName) {
36
36
  const { project, packagesObj } = findPackagesObject(configPath);
37
37
  const clientPropNode = packagesObj.getProperty(`"${clientName}"`) ?? packagesObj.getProperty(clientName);
38
38
  if (clientPropNode == null) {
39
- throw new Error(`\uD074\uB77C\uC774\uC5B8\uD2B8 "${clientName}"\uC744(\uB97C) sd.config.ts\uC5D0\uC11C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.`);
39
+ throw new Error(`Client "${clientName}" not found in sd.config.ts`);
40
40
  }
41
41
  const clientProp = clientPropNode.asKindOrThrow(SyntaxKind.PropertyAssignment);
42
42
  const clientObj = clientProp.getInitializerIfKindOrThrow(SyntaxKind.ObjectLiteralExpression);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/config-editor.ts"],
4
- "mappings": "AAAA,SAAS,SAAS,kBAAgD;AAQlE,SAAS,mBAAmB,YAG1B;AACA,QAAM,UAAU,IAAI,QAAQ;AAC5B,QAAM,aAAa,QAAQ,oBAAoB,UAAU;AAGzD,QAAM,YAAY,WAAW,8BAA8B,QAAQ;AACnE,QAAM,UAAU,UAAU,4BAA4B,WAAW,aAAa;AAG9E,QAAM,OAAO,QAAQ,QAAQ;AAC7B,MAAI;AAEJ,MAAI,KAAK,OAAO,WAAW,uBAAuB,GAAG;AACnD,gBAAY,KAAK,2BAA2B,WAAW,uBAAuB;AAAA,EAChF,WAAW,KAAK,OAAO,WAAW,KAAK,GAAG;AACxC,UAAM,aAAa,KAAK,gCAAgC,WAAW,eAAe;AAClF,gBAAY,WAAW,2BAA2B,WAAW,uBAAuB;AAAA,EACtF,OAAO;AACL,UAAM,IAAI,MAAM,2FAA+B;AAAA,EACjD;AAGA,QAAM,eAAe,UAClB,mBAAmB,UAAU,EAC7B,cAAc,WAAW,kBAAkB;AAC9C,QAAM,cAAc,aAAa,4BAA4B,WAAW,uBAAuB;AAE/F,SAAO,EAAE,SAAS,YAAY;AAChC;AAOO,SAAS,qBACd,YACA,aACA,QACS;AACT,QAAM,EAAE,SAAS,YAAY,IAAI,mBAAmB,UAAU;AAG9D,QAAM,WACJ,YAAY,YAAY,IAAI,WAAW,GAAG,KAAK,YAAY,YAAY,WAAW;AACpF,MAAI,UAAU;AACZ,WAAO;AAAA,EACT;AAGA,QAAM,YAAY,KAAK,UAAU,MAAM,EACpC,QAAQ,eAAe,MAAM,EAC7B,QAAQ,MAAM,GAAG;AAEpB,cAAY,sBAAsB;AAAA,IAChC,MAAM,IAAI,WAAW;AAAA,IACrB,aAAa;AAAA,EACf,CAAC;AAED,UAAQ,SAAS;AACjB,SAAO;AACT;AAKO,SAAS,0BACd,YACA,YACA,YACM;AACN,QAAM,EAAE,SAAS,YAAY,IAAI,mBAAmB,UAAU;AAE9D,QAAM,iBACJ,YAAY,YAAY,IAAI,UAAU,GAAG,KAAK,YAAY,YAAY,UAAU;AAClF,MAAI,kBAAkB,MAAM;AAC1B,UAAM,IAAI,MAAM,mCAAU,UAAU,wFAAiC;AAAA,EACvE;AAEA,QAAM,aAAa,eAAe,cAAc,WAAW,kBAAkB;AAC7E,QAAM,YAAY,WAAW,4BAA4B,WAAW,uBAAuB;AAG3F,QAAM,aAAa,UAAU,YAAY,QAAQ;AACjD,MAAI,YAAY;AACd,eAAW,OAAO;AAAA,EACpB;AAGA,YAAU,sBAAsB;AAAA,IAC9B,MAAM;AAAA,IACN,aAAa,IAAI,UAAU;AAAA,EAC7B,CAAC;AAED,UAAQ,SAAS;AACnB;AAOO,SAAS,0BAA0B,YAAoB,YAA6B;AACzF,QAAM,UAAU,IAAI,QAAQ;AAC5B,QAAM,aAAa,QAAQ,oBAAoB,UAAU;AAGzD,QAAM,gBAAgB,WAAW;AAAA,IAC/B,WAAW;AAAA,EACb;AAGA,QAAM,OAAO,cAAc,QAAQ;AACnC,MAAI,KAAK,SAAS,aAAa,GAAG;AAChC,WAAO;AAAA,EACT;AAGA,gBAAc,WAAW;AAAA;AAAA;AAAA;AAAA,4BAIC,UAAU;AAAA;AAAA;AAAA,IAGlC;AAEF,UAAQ,SAAS;AACjB,SAAO;AACT;",
4
+ "mappings": "AAAA,SAAS,SAAS,kBAAgD;AAQlE,SAAS,mBAAmB,YAG1B;AACA,QAAM,UAAU,IAAI,QAAQ;AAC5B,QAAM,aAAa,QAAQ,oBAAoB,UAAU;AAGzD,QAAM,YAAY,WAAW,8BAA8B,QAAQ;AACnE,QAAM,UAAU,UAAU,4BAA4B,WAAW,aAAa;AAG9E,QAAM,OAAO,QAAQ,QAAQ;AAC7B,MAAI;AAEJ,MAAI,KAAK,OAAO,WAAW,uBAAuB,GAAG;AACnD,gBAAY,KAAK,2BAA2B,WAAW,uBAAuB;AAAA,EAChF,WAAW,KAAK,OAAO,WAAW,KAAK,GAAG;AACxC,UAAM,aAAa,KAAK,gCAAgC,WAAW,eAAe;AAClF,gBAAY,WAAW,2BAA2B,WAAW,uBAAuB;AAAA,EACtF,OAAO;AACL,UAAM,IAAI,MAAM,+CAA+C;AAAA,EACjE;AAGA,QAAM,eAAe,UAClB,mBAAmB,UAAU,EAC7B,cAAc,WAAW,kBAAkB;AAC9C,QAAM,cAAc,aAAa,4BAA4B,WAAW,uBAAuB;AAE/F,SAAO,EAAE,SAAS,YAAY;AAChC;AAOO,SAAS,qBACd,YACA,aACA,QACS;AACT,QAAM,EAAE,SAAS,YAAY,IAAI,mBAAmB,UAAU;AAG9D,QAAM,WACJ,YAAY,YAAY,IAAI,WAAW,GAAG,KAAK,YAAY,YAAY,WAAW;AACpF,MAAI,UAAU;AACZ,WAAO;AAAA,EACT;AAGA,QAAM,YAAY,KAAK,UAAU,MAAM,EACpC,QAAQ,eAAe,MAAM,EAC7B,QAAQ,MAAM,GAAG;AAEpB,cAAY,sBAAsB;AAAA,IAChC,MAAM,IAAI,WAAW;AAAA,IACrB,aAAa;AAAA,EACf,CAAC;AAED,UAAQ,SAAS;AACjB,SAAO;AACT;AAKO,SAAS,0BACd,YACA,YACA,YACM;AACN,QAAM,EAAE,SAAS,YAAY,IAAI,mBAAmB,UAAU;AAE9D,QAAM,iBACJ,YAAY,YAAY,IAAI,UAAU,GAAG,KAAK,YAAY,YAAY,UAAU;AAClF,MAAI,kBAAkB,MAAM;AAC1B,UAAM,IAAI,MAAM,WAAW,UAAU,6BAA6B;AAAA,EACpE;AAEA,QAAM,aAAa,eAAe,cAAc,WAAW,kBAAkB;AAC7E,QAAM,YAAY,WAAW,4BAA4B,WAAW,uBAAuB;AAG3F,QAAM,aAAa,UAAU,YAAY,QAAQ;AACjD,MAAI,YAAY;AACd,eAAW,OAAO;AAAA,EACpB;AAGA,YAAU,sBAAsB;AAAA,IAC9B,MAAM;AAAA,IACN,aAAa,IAAI,UAAU;AAAA,EAC7B,CAAC;AAED,UAAQ,SAAS;AACnB;AAOO,SAAS,0BAA0B,YAAoB,YAA6B;AACzF,QAAM,UAAU,IAAI,QAAQ;AAC5B,QAAM,aAAa,QAAQ,oBAAoB,UAAU;AAGzD,QAAM,gBAAgB,WAAW;AAAA,IAC/B,WAAW;AAAA,EACb;AAGA,QAAM,OAAO,cAAc,QAAQ;AACnC,MAAI,KAAK,SAAS,aAAa,GAAG;AAChC,WAAO;AAAA,EACT;AAGA,gBAAc,WAAW;AAAA;AAAA;AAAA;AAAA,4BAIC,UAAU;AAAA;AAAA;AAAA,IAGlC;AAEF,UAAQ,SAAS;AACjB,SAAO;AACT;",
5
5
  "names": []
6
6
  }
@@ -1,19 +1,19 @@
1
1
  import { FsWatcher } from "@simplysm/core-node";
2
2
  /**
3
- * public/ public-dev/ 디렉토리의 파일을 dist/로 복사한다.
4
- * public-dev/가 public/보다 우선한다 (overlay).
3
+ * Copy files from public/ and public-dev/ directories to dist/.
4
+ * public-dev/ takes priority over public/ (overlay).
5
5
  *
6
- * @param pkgDir 패키지 루트 디렉토리
7
- * @param includeDev public-dev/ 포함 여부 (dev 모드에서만 true)
6
+ * @param pkgDir Package root directory
7
+ * @param includeDev Whether to include public-dev/ (true only in dev mode)
8
8
  */
9
9
  export declare function copyPublicFiles(pkgDir: string, includeDev: boolean): Promise<void>;
10
10
  /**
11
- * public/ public-dev/ 디렉토리를 감시하여 dist/로 실시간 복사한다.
12
- * 초기 복사 변경/추가/삭제를 자동 반영한다.
11
+ * Watch public/ and public-dev/ directories and copy files to dist/ in real-time.
12
+ * Automatically reflects changes/additions/deletions after initial copy.
13
13
  *
14
- * @param pkgDir 패키지 루트 디렉토리
15
- * @param includeDev public-dev/ 포함 여부 (dev 모드에서만 true)
16
- * @returns FsWatcher 인스턴스 (shutdown close() 호출 필요) 또는 watch할 대상이 없으면 undefined
14
+ * @param pkgDir Package root directory
15
+ * @param includeDev Whether to include public-dev/ (true only in dev mode)
16
+ * @returns FsWatcher instance (must call close() on shutdown) or undefined if no watch targets
17
17
  */
18
18
  export declare function watchPublicFiles(pkgDir: string, includeDev: boolean): Promise<FsWatcher | undefined>;
19
19
  //# sourceMappingURL=copy-public.d.ts.map
@@ -1,19 +1,19 @@
1
1
  import { FsWatcher } from "@simplysm/core-node";
2
2
  /**
3
- * src/에서 glob 패턴에 매칭되는 파일을 dist/로 복사한다.
4
- * 상대 경로가 유지된다: src/a/b.css → dist/a/b.css
3
+ * Copy files matching glob patterns from src/ to dist/
4
+ * Relative paths are preserved: src/a/b.css → dist/a/b.css
5
5
  *
6
- * @param pkgDir 패키지 루트 디렉토리
7
- * @param patterns glob 패턴 배열 (src/ 기준 상대 경로)
6
+ * @param pkgDir Package root directory
7
+ * @param patterns Array of glob patterns (relative to src/)
8
8
  */
9
9
  export declare function copySrcFiles(pkgDir: string, patterns: string[]): Promise<void>;
10
10
  /**
11
- * src/에서 glob 패턴에 매칭되는 파일을 감시하여 dist/로 복사한다.
12
- * 초기 복사 변경/추가/삭제를 자동 반영한다.
11
+ * Watch and copy files matching glob patterns from src/ to dist/
12
+ * Automatically reflects changes, additions, and deletions after initial copy.
13
13
  *
14
- * @param pkgDir 패키지 루트 디렉토리
15
- * @param patterns glob 패턴 배열 (src/ 기준 상대 경로)
16
- * @returns FsWatcher 인스턴스 (shutdown close() 호출 필요)
14
+ * @param pkgDir Package root directory
15
+ * @param patterns Array of glob patterns (relative to src/)
16
+ * @returns FsWatcher instance (call close() on shutdown)
17
17
  */
18
18
  export declare function watchCopySrcFiles(pkgDir: string, patterns: string[]): Promise<FsWatcher>;
19
19
  //# sourceMappingURL=copy-src.d.ts.map
@@ -1,17 +1,17 @@
1
1
  import type esbuild from "esbuild";
2
2
  import type { TypecheckEnv } from "./tsconfig";
3
3
  /**
4
- * esbuild outputFiles 실제로 변경된 파일만 디스크에 쓴다.
4
+ * Write only changed files from esbuild outputFiles to disk
5
5
  *
6
- * - .js 파일: ESM 상대 import 경로에 .js 확장자를 추가한 비교
7
- * - 파일(.js.map ): 원본 그대로 비교
8
- * - 기존 파일과 내용이 동일하면 쓰기를 건너뛰어 타임스탬프를 유지한다.
6
+ * - .js files: Add .js extension to ESM relative import paths before comparing
7
+ * - Other files (.js.map etc): Compare original content as-is
8
+ * - Skip writing if content matches existing file to preserve timestamps
9
9
  */
10
10
  export declare function writeChangedOutputFiles(outputFiles: esbuild.OutputFile[]): Promise<boolean>;
11
11
  /**
12
- * Library 빌드용 esbuild 옵션
13
- * - bundle: false (개별 파일 트랜스파일)
14
- * - platform: target에 따라 node 또는 browser
12
+ * esbuild options for Library build
13
+ * - bundle: false (transpile individual files)
14
+ * - platform: node or browser depending on target
15
15
  */
16
16
  export interface LibraryEsbuildOptions {
17
17
  pkgDir: string;
@@ -20,55 +20,55 @@ export interface LibraryEsbuildOptions {
20
20
  compilerOptions: Record<string, unknown>;
21
21
  }
22
22
  /**
23
- * Server 빌드용 esbuild 옵션
24
- * - bundle: true (모든 의존성 포함한 단일 번들)
23
+ * esbuild options for Server build
24
+ * - bundle: true (single bundle with all dependencies)
25
25
  */
26
26
  export interface ServerEsbuildOptions {
27
27
  pkgDir: string;
28
28
  entryPoints: string[];
29
29
  compilerOptions: Record<string, unknown>;
30
30
  env?: Record<string, string>;
31
- /** 번들에서 제외할 외부 모듈 */
31
+ /** External modules to exclude from bundle */
32
32
  external?: string[];
33
33
  }
34
34
  /**
35
- * Library용 esbuild 설정 생성
35
+ * Create esbuild config for Library build
36
36
  *
37
- * node/browser/neutral 타겟의 라이브러리 패키지 빌드에 사용합니다.
38
- * - bundle: false (개별 파일을 각각 트랜스파일)
39
- * - platform: target node면 node, 외는 browser
40
- * - target: node면 node20, 외는 chrome84
37
+ * Used to build library packages with node/browser/neutral targets
38
+ * - bundle: false (transpile each file individually)
39
+ * - platform: node if target is node, otherwise browser
40
+ * - target: node20 if target is node, otherwise chrome84
41
41
  */
42
42
  export declare function createLibraryEsbuildOptions(options: LibraryEsbuildOptions): esbuild.BuildOptions;
43
43
  /**
44
- * Server용 esbuild 설정 생성
44
+ * Create esbuild config for Server build
45
45
  *
46
- * 서버 패키지 빌드에 사용합니다.
47
- * - bundle: true (모든 의존성 포함한 단일 번들)
48
- * - minify: true (코드 보호를 위한 압축)
49
- * - banner: CJS 패키지의 require() 지원을 위한 createRequire shim
50
- * - env define 옵션으로 치환 (process.env.KEY 형태)
46
+ * Used for server package builds
47
+ * - bundle: true (single bundle with all dependencies)
48
+ * - minify: true (minify for code protection)
49
+ * - banner: createRequire shim for CJS package require() support
50
+ * - Replace env with define option (process.env.KEY format)
51
51
  */
52
52
  export declare function createServerEsbuildOptions(options: ServerEsbuildOptions): esbuild.BuildOptions;
53
53
  /**
54
- * 빌드 타겟에서 TypecheckEnv 추출
54
+ * Extract TypecheckEnv from build target
55
55
  *
56
- * 빌드용이므로 neutral은 browser 처리합니다.
57
- * (neutral 패키지는 Node/브라우저 공용이지만, 빌드 시에는 browser 환경 기준으로 처리)
56
+ * Neutral is treated as browser for builds.
57
+ * (neutral packages are Node/browser universal, but we treat as browser for build)
58
58
  */
59
59
  export declare function getTypecheckEnvFromTarget(target: "node" | "browser" | "neutral"): TypecheckEnv;
60
60
  /**
61
- * 의존성 트리에서 미설치 optional peer dep 수집
61
+ * Collect uninstalled optional peer deps from dependency tree
62
62
  *
63
- * 서버 빌드(bundle: true) 설치되지 않은 optional peer dependency를
64
- * esbuild external로 지정하여 빌드 실패를 방지한다.
63
+ * For server builds (bundle: true), specify uninstalled optional peer dependencies
64
+ * as esbuild externals to prevent build failures
65
65
  */
66
66
  export declare function collectUninstalledOptionalPeerDeps(pkgDir: string): string[];
67
67
  /**
68
- * 의존성 binding.gyp 있는 네이티브 모듈 수집
68
+ * Collect native modules with binding.gyp from dependencies
69
69
  *
70
- * node-gyp 빌드되는 네이티브 모듈은 esbuild가 번들링할 수 없으므로
71
- * external로 지정해야 한다.
70
+ * Native modules built with node-gyp cannot be bundled by esbuild,
71
+ * so they must be specified as externals.
72
72
  */
73
73
  export declare function collectNativeModuleExternals(pkgDir: string): string[];
74
74
  //# sourceMappingURL=esbuild-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"esbuild-config.d.ts","sourceRoot":"","sources":["..\\..\\src\\utils\\esbuild-config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CA2BjG;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACvC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAWD;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAuBhG;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,YAAY,CA0B9F;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,CAE9F;AAUD;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAU3E;AA8CD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAUrE"}
1
+ {"version":3,"file":"esbuild-config.d.ts","sourceRoot":"","sources":["..\\..\\src\\utils\\esbuild-config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CA2BjG;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACvC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAWD;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAuBhG;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,YAAY,CA0B9F;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,CAE9F;AAUD;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAU3E;AA8CD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAUrE"}
@@ -1,17 +1,17 @@
1
1
  import type { BuildResult } from "../infra/ResultCollector";
2
2
  /**
3
- * 빌드 경고/에러 메시지를 포맷팅한다.
3
+ * Format build warning/error messages
4
4
  */
5
5
  export declare function formatBuildMessages(name: string, label: string, messages: string[]): string;
6
6
  /**
7
- * 에러만 출력한다.
8
- * @param results 패키지별 빌드 결과 상태
7
+ * Print only errors
8
+ * @param results Build result status per package
9
9
  */
10
10
  export declare function printErrors(results: Map<string, BuildResult>): void;
11
11
  /**
12
- * 서버 URL만 출력한다.
13
- * @param results 패키지별 빌드 결과 상태
14
- * @param serverClientsMap 서버별 연결된 클라이언트 목록
12
+ * Print server URLs only
13
+ * @param results Build result status per package
14
+ * @param serverClientsMap List of connected clients per server
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