@simplysm/sd-cli 14.0.10 → 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 (266) 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 +13 -0
  25. package/dist/commands/device.d.ts.map +1 -0
  26. package/dist/commands/device.js +53 -0
  27. package/dist/commands/device.js.map +1 -0
  28. package/dist/commands/publish.d.ts +1 -1
  29. package/dist/commands/publish.d.ts.map +1 -1
  30. package/dist/commands/publish.js +18 -26
  31. package/dist/commands/publish.js.map +1 -1
  32. package/dist/commands/replace-deps.d.ts +3 -3
  33. package/dist/commands/replace-deps.d.ts.map +1 -1
  34. package/dist/commands/replace-deps.js +1 -1
  35. package/dist/commands/typecheck.d.ts +4 -3
  36. package/dist/commands/typecheck.d.ts.map +1 -1
  37. package/dist/commands/typecheck.js +5 -11
  38. package/dist/commands/typecheck.js.map +1 -1
  39. package/dist/commands/watch.d.ts +9 -9
  40. package/dist/commands/watch.js +9 -9
  41. package/dist/electron/electron.d.ts.map +1 -1
  42. package/dist/electron/electron.js +42 -3
  43. package/dist/electron/electron.js.map +1 -1
  44. package/dist/engines/BaseEngine.d.ts +1 -1
  45. package/dist/engines/BaseEngine.d.ts.map +1 -1
  46. package/dist/engines/BaseEngine.js +3 -1
  47. package/dist/engines/BaseEngine.js.map +1 -1
  48. package/dist/engines/NgtscEngine.d.ts +7 -7
  49. package/dist/engines/NgtscEngine.d.ts.map +1 -1
  50. package/dist/engines/NgtscEngine.js +3 -3
  51. package/dist/engines/ServerEsbuildEngine.d.ts +7 -7
  52. package/dist/engines/ServerEsbuildEngine.d.ts.map +1 -1
  53. package/dist/engines/ServerEsbuildEngine.js +3 -3
  54. package/dist/engines/TscEngine.d.ts +7 -7
  55. package/dist/engines/TscEngine.d.ts.map +1 -1
  56. package/dist/engines/TscEngine.js +3 -3
  57. package/dist/engines/ViteEngine.d.ts +1 -1
  58. package/dist/engines/ViteEngine.d.ts.map +1 -1
  59. package/dist/engines/ViteEngine.js +7 -12
  60. package/dist/engines/ViteEngine.js.map +1 -1
  61. package/dist/engines/index.d.ts +5 -5
  62. package/dist/engines/index.js +5 -5
  63. package/dist/engines/types.d.ts +20 -20
  64. package/dist/engines/types.d.ts.map +1 -1
  65. package/dist/infra/ResultCollector.d.ts +9 -9
  66. package/dist/infra/ResultCollector.js +8 -8
  67. package/dist/infra/SignalHandler.d.ts +7 -7
  68. package/dist/infra/SignalHandler.js +7 -7
  69. package/dist/infra/WorkerManager.d.ts +14 -14
  70. package/dist/infra/WorkerManager.js +14 -14
  71. package/dist/orchestrators/BuildOrchestrator.d.ts +25 -25
  72. package/dist/orchestrators/BuildOrchestrator.d.ts.map +1 -1
  73. package/dist/orchestrators/BuildOrchestrator.js +29 -29
  74. package/dist/orchestrators/BuildOrchestrator.js.map +1 -1
  75. package/dist/orchestrators/DevWatchOrchestrator.d.ts +7 -7
  76. package/dist/orchestrators/DevWatchOrchestrator.d.ts.map +1 -1
  77. package/dist/orchestrators/DevWatchOrchestrator.js +35 -57
  78. package/dist/orchestrators/DevWatchOrchestrator.js.map +1 -1
  79. package/dist/sd-cli-entry.d.ts +2 -2
  80. package/dist/sd-cli-entry.d.ts.map +1 -1
  81. package/dist/sd-cli-entry.js +45 -9
  82. package/dist/sd-cli-entry.js.map +1 -1
  83. package/dist/sd-cli.d.ts +3 -3
  84. package/dist/sd-cli.js +16 -16
  85. package/dist/sd-cli.js.map +1 -1
  86. package/dist/sd-config.types.d.ts +105 -105
  87. package/dist/sd-config.types.d.ts.map +1 -1
  88. package/dist/utils/angular-compiler.js +5 -5
  89. package/dist/utils/angular-compiler.js.map +1 -1
  90. package/dist/utils/build-env.d.ts +1 -1
  91. package/dist/utils/build-env.js +1 -1
  92. package/dist/utils/concurrency.d.ts +7 -7
  93. package/dist/utils/concurrency.js +7 -7
  94. package/dist/utils/copy-public.d.ts +9 -9
  95. package/dist/utils/copy-public.js +17 -17
  96. package/dist/utils/copy-public.js.map +1 -1
  97. package/dist/utils/copy-src.d.ts +9 -9
  98. package/dist/utils/copy-src.js +11 -11
  99. package/dist/utils/copy-src.js.map +1 -1
  100. package/dist/utils/engine-stop.d.ts +8 -9
  101. package/dist/utils/engine-stop.d.ts.map +1 -1
  102. package/dist/utils/engine-stop.js +9 -10
  103. package/dist/utils/engine-stop.js.map +1 -1
  104. package/dist/utils/esbuild-config.d.ts +23 -23
  105. package/dist/utils/esbuild-config.d.ts.map +1 -1
  106. package/dist/utils/esbuild-config.js +25 -25
  107. package/dist/utils/esbuild-config.js.map +1 -1
  108. package/dist/utils/lint-with-program.d.ts +15 -15
  109. package/dist/utils/lint-with-program.d.ts.map +1 -1
  110. package/dist/utils/lint-with-program.js +29 -29
  111. package/dist/utils/lint-with-program.js.map +1 -1
  112. package/dist/utils/ngtsc-build-core.d.ts +8 -8
  113. package/dist/utils/ngtsc-build-core.d.ts.map +1 -1
  114. package/dist/utils/ngtsc-build-core.js +14 -14
  115. package/dist/utils/ngtsc-build-core.js.map +1 -1
  116. package/dist/utils/output-path-rewriter.d.ts +14 -14
  117. package/dist/utils/output-path-rewriter.js +18 -18
  118. package/dist/utils/output-path-rewriter.js.map +1 -1
  119. package/dist/utils/output-utils.d.ts +6 -6
  120. package/dist/utils/output-utils.js +11 -11
  121. package/dist/utils/output-utils.js.map +1 -1
  122. package/dist/utils/package-utils.d.ts +21 -21
  123. package/dist/utils/package-utils.d.ts.map +1 -1
  124. package/dist/utils/package-utils.js +56 -45
  125. package/dist/utils/package-utils.js.map +1 -1
  126. package/dist/utils/replace-deps.d.ts +25 -25
  127. package/dist/utils/replace-deps.d.ts.map +1 -1
  128. package/dist/utils/replace-deps.js +84 -65
  129. package/dist/utils/replace-deps.js.map +1 -1
  130. package/dist/utils/sd-config.d.ts +3 -3
  131. package/dist/utils/sd-config.js +3 -3
  132. package/dist/utils/tsc-build.d.ts +13 -13
  133. package/dist/utils/tsc-build.d.ts.map +1 -1
  134. package/dist/utils/tsc-build.js +9 -9
  135. package/dist/utils/tsc-build.js.map +1 -1
  136. package/dist/utils/tsconfig.d.ts +11 -9
  137. package/dist/utils/tsconfig.d.ts.map +1 -1
  138. package/dist/utils/tsconfig.js +11 -9
  139. package/dist/utils/tsconfig.js.map +1 -1
  140. package/dist/utils/typecheck-non-package.d.ts +5 -6
  141. package/dist/utils/typecheck-non-package.d.ts.map +1 -1
  142. package/dist/utils/typecheck-non-package.js +7 -8
  143. package/dist/utils/typecheck-non-package.js.map +1 -1
  144. package/dist/utils/typecheck-serialization.d.ts +8 -8
  145. package/dist/utils/typecheck-serialization.d.ts.map +1 -1
  146. package/dist/utils/typecheck-serialization.js +12 -16
  147. package/dist/utils/typecheck-serialization.js.map +1 -1
  148. package/dist/utils/vite-config.d.ts +8 -5
  149. package/dist/utils/vite-config.d.ts.map +1 -1
  150. package/dist/utils/vite-config.js +36 -29
  151. package/dist/utils/vite-config.js.map +1 -1
  152. package/dist/utils/vite-scope-watch-plugin.d.ts.map +1 -1
  153. package/dist/utils/vite-scope-watch-plugin.js +1 -1
  154. package/dist/utils/vite-scope-watch-plugin.js.map +1 -1
  155. package/dist/utils/worker-events.d.ts +12 -12
  156. package/dist/utils/worker-events.d.ts.map +1 -1
  157. package/dist/utils/worker-events.js +10 -10
  158. package/dist/utils/worker-events.js.map +1 -1
  159. package/dist/utils/worker-utils.d.ts +12 -13
  160. package/dist/utils/worker-utils.d.ts.map +1 -1
  161. package/dist/utils/worker-utils.js +12 -13
  162. package/dist/utils/worker-utils.js.map +1 -1
  163. package/dist/vitest-plugin.d.ts.map +1 -1
  164. package/dist/vitest-plugin.js +5 -7
  165. package/dist/vitest-plugin.js.map +1 -1
  166. package/dist/workers/client.worker.d.ts +4 -2
  167. package/dist/workers/client.worker.d.ts.map +1 -1
  168. package/dist/workers/client.worker.js +209 -1
  169. package/dist/workers/client.worker.js.map +1 -1
  170. package/dist/workers/library-build.worker.d.ts +1 -1
  171. package/dist/workers/library-build.worker.d.ts.map +1 -1
  172. package/dist/workers/library-build.worker.js +7 -7
  173. package/dist/workers/library-build.worker.js.map +1 -1
  174. package/dist/workers/lint.worker.d.ts +2 -2
  175. package/dist/workers/lint.worker.js +2 -2
  176. package/dist/workers/ngtsc-build.worker.js +30 -30
  177. package/dist/workers/ngtsc-build.worker.js.map +1 -1
  178. package/dist/workers/server-build.worker.d.ts +17 -17
  179. package/dist/workers/server-build.worker.d.ts.map +1 -1
  180. package/dist/workers/server-build.worker.js +46 -46
  181. package/dist/workers/server-build.worker.js.map +1 -1
  182. package/dist/workers/server-runtime.worker.d.ts +7 -7
  183. package/dist/workers/server-runtime.worker.d.ts.map +1 -1
  184. package/dist/workers/server-runtime.worker.js +17 -17
  185. package/dist/workers/server-runtime.worker.js.map +1 -1
  186. package/docs/config.md +340 -0
  187. package/docs/publish-configuration-types.md +87 -0
  188. package/docs/pwa-configuration-types.md +55 -0
  189. package/docs/vitest-plugin.md +47 -0
  190. package/package.json +9 -7
  191. package/src/angular/client-transform-stylesheet.ts +1 -1
  192. package/src/angular/vite-angular-plugin.ts +70 -37
  193. package/src/angular/vite-postcss-inline-plugin.ts +1 -1
  194. package/src/capacitor/capacitor.ts +159 -23
  195. package/src/commands/build.ts +3 -10
  196. package/src/commands/check.ts +3 -3
  197. package/src/commands/dev.ts +3 -9
  198. package/src/commands/device.ts +65 -0
  199. package/src/commands/publish.ts +30 -26
  200. package/src/commands/replace-deps.ts +3 -3
  201. package/src/commands/typecheck.ts +7 -13
  202. package/src/commands/watch.ts +9 -9
  203. package/src/electron/electron.ts +49 -4
  204. package/src/engines/BaseEngine.ts +4 -1
  205. package/src/engines/NgtscEngine.ts +7 -7
  206. package/src/engines/ServerEsbuildEngine.ts +7 -7
  207. package/src/engines/TscEngine.ts +7 -7
  208. package/src/engines/ViteEngine.ts +8 -13
  209. package/src/engines/index.ts +5 -5
  210. package/src/engines/types.ts +20 -20
  211. package/src/infra/ResultCollector.ts +9 -9
  212. package/src/infra/SignalHandler.ts +7 -7
  213. package/src/infra/WorkerManager.ts +14 -14
  214. package/src/orchestrators/BuildOrchestrator.ts +37 -37
  215. package/src/orchestrators/DevWatchOrchestrator.ts +37 -61
  216. package/src/sd-cli-entry.ts +51 -9
  217. package/src/sd-cli.ts +16 -16
  218. package/src/sd-config.types.ts +107 -107
  219. package/src/utils/angular-compiler.ts +5 -5
  220. package/src/utils/build-env.ts +1 -1
  221. package/src/utils/concurrency.ts +7 -7
  222. package/src/utils/copy-public.ts +17 -17
  223. package/src/utils/copy-src.ts +11 -11
  224. package/src/utils/engine-stop.ts +9 -10
  225. package/src/utils/esbuild-config.ts +29 -29
  226. package/src/utils/lint-with-program.ts +34 -34
  227. package/src/utils/ngtsc-build-core.ts +17 -17
  228. package/src/utils/output-path-rewriter.ts +18 -18
  229. package/src/utils/output-utils.ts +11 -11
  230. package/src/utils/package-utils.ts +57 -45
  231. package/src/utils/replace-deps.ts +92 -67
  232. package/src/utils/sd-config.ts +3 -3
  233. package/src/utils/tsc-build.ts +18 -18
  234. package/src/utils/tsconfig.ts +11 -9
  235. package/src/utils/typecheck-non-package.ts +7 -8
  236. package/src/utils/typecheck-serialization.ts +13 -15
  237. package/src/utils/vite-config.ts +45 -35
  238. package/src/utils/vite-scope-watch-plugin.ts +6 -1
  239. package/src/utils/worker-events.ts +16 -16
  240. package/src/utils/worker-utils.ts +12 -13
  241. package/src/vitest-plugin.ts +5 -8
  242. package/src/workers/client.worker.ts +236 -2
  243. package/src/workers/library-build.worker.ts +8 -8
  244. package/src/workers/lint.worker.ts +2 -2
  245. package/src/workers/ngtsc-build.worker.ts +31 -31
  246. package/src/workers/server-build.worker.ts +60 -60
  247. package/src/workers/server-runtime.worker.ts +22 -22
  248. package/tests/angular/vite-angular-plugin-hmr-fallback.spec.ts +1 -0
  249. package/tests/angular/vite-angular-plugin-hmr.spec.ts +78 -0
  250. package/tests/angular/vite-angular-plugin.spec.ts +67 -0
  251. package/tests/capacitor/capacitor-build.spec.ts +6 -4
  252. package/tests/capacitor/capacitor-icon.spec.ts +7 -5
  253. package/tests/capacitor/capacitor-init.spec.ts +120 -10
  254. package/tests/capacitor/capacitor-run.spec.ts +14 -17
  255. package/tests/capacitor/capacitor-workspace.spec.ts +5 -3
  256. package/tests/commands/check.spec.ts +2 -2
  257. package/tests/commands/device.spec.ts +147 -0
  258. package/tests/commands/publish.spec.ts +2 -2
  259. package/tests/commands/typecheck.spec.ts +8 -0
  260. package/tests/electron/electron.spec.ts +12 -10
  261. package/tests/engines/base-engine.spec.ts +37 -0
  262. package/tests/engines/vite-engine.spec.ts +115 -3
  263. package/tests/orchestrators/dev-watch-orchestrator.spec.ts +21 -93
  264. package/tests/utils/vite-config.spec.ts +144 -90
  265. package/tests/workers/client-worker.spec.ts +690 -0
  266. package/tests/workers/server-build-worker.spec.ts +3 -3
package/README.md CHANGED
@@ -25,272 +25,66 @@ All commands are run via `pnpm sd-cli <command>`. The `--debug` flag is availabl
25
25
 
26
26
  ## API Overview
27
27
 
28
- The package exports configuration types for `sd.config.ts`.
29
-
30
- ### BuildTarget
31
-
32
- ```typescript
33
- type BuildTarget = "node" | "browser" | "neutral";
34
- ```
35
-
36
- Build target platform. Built with esbuild.
37
-
38
- | Value | Description |
39
- |---|---|
40
- | `"node"` | Node.js only package |
41
- | `"browser"` | Browser only package |
42
- | `"neutral"` | Node/browser shared package |
28
+ The package exports configuration types for `sd.config.ts` and a Vitest plugin for Angular AOT compilation.
29
+
30
+ ### Config
31
+
32
+ | API | Type | Description |
33
+ |-----|------|-------------|
34
+ | `BuildTarget` | type | Build target platform: `"node"`, `"browser"`, or `"neutral"` |
35
+ | `SdBuildPackageConfig` | interface | Configuration for buildable packages (node/browser/neutral) |
36
+ | `SdClientPackageConfig` | interface | Configuration for client (Angular/Vite) packages |
37
+ | `SdServerPackageConfig` | interface | Configuration for server (Fastify) packages |
38
+ | `SdScriptsPackageConfig` | interface | Configuration for scripts-only packages (no build output) |
39
+ | `SdWatchHookConfig` | interface | Watch hook for running commands on file changes |
40
+ | `SdPackageConfig` | type | Union of all package configuration types |
41
+ | `SdConfig` | interface | Main configuration object for `sd.config.ts` |
42
+ | `SdConfigParams` | interface | Parameters passed to the `sd.config.ts` function |
43
+ | `SdConfigFn` | type | Type for the default export of `sd.config.ts` |
44
+ | `SdBrowserSupportConfig` | interface | Browser compatibility settings for client packages |
45
+ | `SdCapacitorConfig` | interface | Capacitor mobile build configuration |
46
+ | `SdCapacitorAndroidConfig` | interface | Capacitor Android platform configuration |
47
+ | `SdCapacitorSignConfig` | interface | APK/AAB signing configuration |
48
+ | `SdCapacitorPermission` | interface | Android permission configuration |
49
+ | `SdCapacitorIntentFilter` | interface | Android Intent Filter configuration |
50
+ | `SdElectronConfig` | interface | Electron desktop build configuration |
51
+
52
+ -> See [docs/config.md](./docs/config.md) for details.
43
53
 
44
54
  ### Publish Configuration Types
45
55
 
46
- #### SdNpmPublishConfig
47
-
48
- npm registry publish configuration.
49
-
50
- | Field | Type | Description |
51
- |---|---|---|
52
- | `type` | `"npm"` | Publish type discriminator |
53
-
54
- #### SdPublishConfig
55
-
56
- ```typescript
57
- type SdPublishConfig = SdNpmPublishConfig | SdLocalDirectoryPublishConfig | SdStoragePublishConfig;
58
- ```
59
-
60
- #### SdLocalDirectoryPublishConfig
61
-
62
- Copy build output to a local directory.
63
-
64
- | Field | Type | Description |
65
- |---|---|---|
66
- | `type` | `"local-directory"` | Publish type discriminator |
67
- | `path` | `string` | Target path (supports `%VER%`, `%PROJECT%` substitution) |
68
-
69
- #### SdStoragePublishConfig
70
-
71
- Upload build output to FTP/FTPS/SFTP server.
72
-
73
- | Field | Type | Description |
74
- |---|---|---|
75
- | `type` | `"ftp" \| "ftps" \| "sftp"` | Protocol |
76
- | `host` | `string` | Server hostname |
77
- | `port?` | `number` | Server port |
78
- | `path?` | `string` | Remote path |
79
- | `user?` | `string` | Username |
80
- | `password?` | `string` | Password |
81
-
82
- #### SdPostPublishScriptConfig
56
+ | API | Type | Description |
57
+ |-----|------|-------------|
58
+ | `SdPublishConfig` | type | Union of all publish configuration types |
59
+ | `SdNpmPublishConfig` | interface | npm registry publish configuration |
60
+ | `SdLocalDirectoryPublishConfig` | interface | Copy build output to a local directory |
61
+ | `SdStoragePublishConfig` | interface | Upload build output to FTP/FTPS/SFTP server |
62
+ | `SdPostPublishScriptConfig` | interface | Script to run after publish completes |
83
63
 
84
- Script to run after publish completes.
85
-
86
- | Field | Type | Description |
87
- |---|---|---|
88
- | `type` | `"script"` | Config type discriminator |
89
- | `cmd` | `string` | Command to execute |
90
- | `args` | `string[]` | Command arguments (supports `%VER%`, `%PROJECT%` substitution) |
91
-
92
- ### Package Configuration Types
93
-
94
- #### SdBuildPackageConfig
95
-
96
- Configuration for buildable packages (node/browser/neutral).
97
-
98
- | Field | Type | Description |
99
- |---|---|---|
100
- | `target` | `BuildTarget` | Build target |
101
- | `publish?` | `SdPublishConfig` | Publish configuration |
102
- | `copySrc?` | `string[]` | Glob patterns for files to copy from `src/` to `dist/` |
103
- | `watch?` | `SdWatchHookConfig` | Watch hook (runs alongside build engine in watch mode) |
104
-
105
- #### SdClientPackageConfig
106
-
107
- Configuration for client (Angular/Vite) packages.
108
-
109
- | Field | Type | Description |
110
- |---|---|---|
111
- | `target` | `"client"` | Fixed value |
112
- | `server` | `string \| number` | Server package name to connect to, or Vite port number |
113
- | `env?` | `Record<string, string>` | Environment variables (replaces `process.env` at build time) |
114
- | `publish?` | `SdPublishConfig` | Publish configuration |
115
- | `capacitor?` | `SdCapacitorConfig` | Capacitor mobile build configuration |
116
- | `electron?` | `SdElectronConfig` | Electron desktop build configuration |
117
- | `configs?` | `Record<string, unknown>` | Runtime config (written to `dist/.config.json`) |
118
- | `exclude?` | `string[]` | Packages to exclude from Vite optimizeDeps |
119
- | `browserSupport?` | `SdBrowserSupportConfig` | Browser compatibility settings |
120
- | `pwa?` | `false \| SdPwaConfig` | PWA configuration (`false` to disable, omit for defaults) |
121
-
122
- #### SdServerPackageConfig
123
-
124
- Configuration for server (Fastify) packages.
125
-
126
- | Field | Type | Description |
127
- |---|---|---|
128
- | `target` | `"server"` | Fixed value |
129
- | `env?` | `Record<string, string>` | Environment variables (replaces `process.env.KEY` with constants) |
130
- | `publish?` | `SdPublishConfig` | Publish configuration |
131
- | `configs?` | `Record<string, unknown>` | Runtime config (written to `dist/.config.json`) |
132
- | `externals?` | `string[]` | Modules excluded from esbuild bundle (in addition to auto-detected native modules) |
133
- | `pm2?` | `{ name?: string; ignoreWatchPaths?: string[] }` | PM2 config (generates `dist/pm2.config.cjs`) |
134
- | `packageManager?` | `"volta" \| "mise"` | Package manager (affects mise.toml/volta settings) |
135
-
136
- #### SdScriptsPackageConfig
137
-
138
- Configuration for scripts-only packages (no build output).
139
-
140
- | Field | Type | Description |
141
- |---|---|---|
142
- | `target` | `"scripts"` | Fixed value |
143
- | `publish?` | `SdPublishConfig` | Publish configuration |
144
- | `watch?` | `SdWatchHookConfig` | Watch hook (when set, package is included in watch mode) |
145
-
146
- #### SdWatchHookConfig
147
-
148
- Watch hook configuration for running commands on file changes.
149
-
150
- | Field | Type | Description |
151
- |---|---|---|
152
- | `target` | `string[]` | Glob patterns to watch (relative to package directory) |
153
- | `cmd` | `string` | Command to execute on change |
154
- | `args?` | `string[]` | Command arguments |
155
-
156
- #### SdPackageConfig
157
-
158
- ```typescript
159
- type SdPackageConfig = SdBuildPackageConfig | SdClientPackageConfig | SdServerPackageConfig | SdScriptsPackageConfig;
160
- ```
161
-
162
- ### Capacitor Configuration Types
163
-
164
- #### SdCapacitorConfig
165
-
166
- | Field | Type | Description |
167
- |---|---|---|
168
- | `appId` | `string` | App ID (e.g., `"com.example.app"`) |
169
- | `appName` | `string` | App display name |
170
- | `plugins?` | `Record<string, Record<string, unknown> \| true>` | Capacitor plugin config (key: package name) |
171
- | `icon?` | `string` | App icon path (relative to package directory) |
172
- | `debug?` | `boolean` | Debug build flag |
173
- | `platform?` | `{ android?: SdCapacitorAndroidConfig }` | Per-platform configuration |
174
-
175
- #### SdCapacitorAndroidConfig
176
-
177
- | Field | Type | Description |
178
- |---|---|---|
179
- | `config?` | `Record<string, string>` | AndroidManifest.xml application tag attributes |
180
- | `bundle?` | `boolean` | Build AAB bundle (`true`) or APK (`false`) |
181
- | `intentFilters?` | `SdCapacitorIntentFilter[]` | Intent filter configuration |
182
- | `sign?` | `SdCapacitorSignConfig` | APK/AAB signing configuration |
183
- | `sdkVersion?` | `number` | Android SDK version (minSdk, targetSdk) |
184
- | `permissions?` | `SdCapacitorPermission[]` | Additional Android permissions |
185
-
186
- #### SdCapacitorSignConfig
187
-
188
- | Field | Type | Description |
189
- |---|---|---|
190
- | `keystore` | `string` | Keystore file path (relative to package directory) |
191
- | `storePassword` | `string` | Keystore password |
192
- | `alias` | `string` | Key alias |
193
- | `password` | `string` | Key password |
194
- | `keystoreType?` | `string` | Keystore type (default: `"jks"`) |
195
-
196
- #### SdCapacitorPermission
197
-
198
- | Field | Type | Description |
199
- |---|---|---|
200
- | `name` | `string` | Permission name (e.g., `"CAMERA"`) |
201
- | `maxSdkVersion?` | `number` | Maximum SDK version |
202
- | `ignore?` | `string` | `tools:ignore` attribute value |
203
-
204
- #### SdCapacitorIntentFilter
205
-
206
- | Field | Type | Description |
207
- |---|---|---|
208
- | `action?` | `string` | Intent action (e.g., `"android.intent.action.VIEW"`) |
209
- | `category?` | `string` | Intent category (e.g., `"android.intent.category.DEFAULT"`) |
210
-
211
- ### Electron Configuration Types
212
-
213
- #### SdElectronConfig
214
-
215
- | Field | Type | Description |
216
- |---|---|---|
217
- | `appId` | `string` | Electron app ID (e.g., `"com.example.myapp"`) |
218
- | `portable?` | `boolean` | `true` for portable .exe, `false`/unspecified for NSIS installer |
219
- | `installerIcon?` | `string` | Installer icon path (.ico, relative to package directory) |
220
- | `reinstallDependencies?` | `string[]` | npm packages to include (native modules, etc.) |
221
- | `postInstallScript?` | `string` | npm postinstall script |
222
- | `nsisOptions?` | `Record<string, unknown>` | NSIS installer options |
223
- | `env?` | `Record<string, string>` | Environment variables for electron-main.ts |
64
+ -> See [docs/publish-configuration-types.md](./docs/publish-configuration-types.md) for details.
224
65
 
225
66
  ### PWA Configuration Types
226
67
 
227
- #### SdPwaConfig
228
-
229
- | Field | Type | Description |
230
- |---|---|---|
231
- | `manifest?` | `SdPwaManifestConfig` | PWA manifest options |
232
- | `workbox?` | `SdPwaWorkboxConfig` | Workbox service worker options |
233
-
234
- #### SdPwaManifestConfig
235
-
236
- | Field | Type | Description |
237
- |---|---|---|
238
- | `name?` | `string` | App name |
239
- | `short_name?` | `string` | Short app name |
240
- | `display?` | `"standalone" \| "fullscreen" \| "minimal-ui" \| "browser"` | Display mode |
241
- | `theme_color?` | `string` | Theme color |
242
- | `background_color?` | `string` | Background color |
243
- | `icons?` | `Array<{ src: string; sizes: string; type?: string }>` | App icons |
68
+ | API | Type | Description |
69
+ |-----|------|-------------|
70
+ | `SdPwaConfig` | interface | PWA configuration |
71
+ | `SdPwaManifestConfig` | interface | PWA manifest options (subset of VitePWA manifest) |
72
+ | `SdPwaWorkboxConfig` | interface | PWA workbox service worker options |
244
73
 
245
- #### SdPwaWorkboxConfig
74
+ -> See [docs/pwa-configuration-types.md](./docs/pwa-configuration-types.md) for details.
246
75
 
247
- | Field | Type | Description |
248
- |---|---|---|
249
- | `globPatterns?` | `string[]` | Glob patterns for precaching |
76
+ ### Vitest Plugin
250
77
 
251
- ### Browser Support Configuration
78
+ | API | Type | Description |
79
+ |-----|------|-------------|
80
+ | `angularVitestPlugin` | function | Vite plugin for Angular AOT compilation in Vitest |
81
+ | `AngularVitestPluginOptions` | interface | Options for `angularVitestPlugin` |
252
82
 
253
- #### SdBrowserSupportConfig
83
+ -> See [docs/vitest-plugin.md](./docs/vitest-plugin.md) for details.
254
84
 
255
- | Field | Type | Description |
256
- |---|---|---|
257
- | `browserslist?` | `string \| string[]` | Browserslist query (e.g., `"last 2 Chrome versions"`) |
258
- | `postCss?` | `{ plugins: unknown[] }` | PostCSS plugins configuration |
259
- | `legacyModule?` | `boolean` | Legacy module support (disables code splitting + replaces `import.meta`) |
85
+ ## Usage Examples
260
86
 
261
- ### Root Configuration Types
262
-
263
- #### SdConfig
264
-
265
- The main configuration object for `sd.config.ts`.
266
-
267
- | Field | Type | Description |
268
- |---|---|---|
269
- | `packages` | `Record<string, SdPackageConfig \| undefined>` | Per-package configuration (key: subdirectory name under `packages/`) |
270
- | `replaceDeps?` | `Record<string, string>` | Dependency replacement via symlink (key: package glob, value: source path. `*` wildcards are supported) |
271
- | `postPublish?` | `SdPostPublishScriptConfig[]` | Scripts to run after deployment |
272
-
273
- #### SdConfigParams
274
-
275
- Parameters passed to the `sd.config.ts` function.
276
-
277
- | Field | Type | Description |
278
- |---|---|---|
279
- | `cwd` | `string` | Current working directory |
280
- | `dev` | `boolean` | Development mode flag |
281
- | `options` | `string[]` | Additional options from CLI `-o` flag |
282
-
283
- #### SdConfigFn
284
-
285
- ```typescript
286
- type SdConfigFn = (params: SdConfigParams) => SdConfig | Promise<SdConfig>;
287
- ```
288
-
289
- The type for the default export of `sd.config.ts`.
290
-
291
- ## Usage
292
-
293
- ### sd.config.ts Example
87
+ ### sd.config.ts
294
88
 
295
89
  ```typescript
296
90
  import type { SdConfigFn, SdConfigParams } from "@simplysm/sd-cli";
@@ -320,3 +114,14 @@ const config: SdConfigFn = (params: SdConfigParams) => ({
320
114
 
321
115
  export default config;
322
116
  ```
117
+
118
+ ### Vitest with Angular
119
+
120
+ ```typescript
121
+ import { angularVitestPlugin } from "@simplysm/sd-cli/vitest-plugin";
122
+ import { defineConfig } from "vitest/config";
123
+
124
+ export default defineConfig({
125
+ plugins: [angularVitestPlugin({ tsconfig: "./tsconfig.json" })],
126
+ });
127
+ ```
@@ -34,7 +34,7 @@ export function createClientTransformStylesheet(options) {
34
34
  return "/* SCSS compilation error */";
35
35
  }
36
36
  }
37
- // .css → readResource가 처리
37
+ // .css → externalStylesheets의 SHA256 ID 매핑으로 처리
38
38
  return null;
39
39
  }
40
40
  // 인라인 SCSS
@@ -1 +1 @@
1
- {"version":3,"file":"client-transform-stylesheet.js","sourceRoot":"","sources":["../../src/angular/client-transform-stylesheet.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AASzF;;;;;;;GAOG;AACH,MAAM,UAAU,+BAA+B,CAC7C,OAAyC;IAEzC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IAE5E,MAAM,gBAAgB,GACpB,cAAc,IAAI,IAAI,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;QACjD,CAAC,CAAC,OAAO,CAAC,cAA0C,CAAC;QACrD,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO,KAAK,EACV,IAAY,EACZ,cAAsB,EACtB,cAAuB,EACC,EAAE;QAC1B,cAAc;QACd,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;oBAErE,SAAS;oBACT,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACnC,gBAAgB,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;oBACrE,CAAC;oBAED,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;oBACrB,IAAI,gBAAgB,IAAI,IAAI,EAAE,CAAC;wBAC7B,GAAG,GAAG,CAAC,MAAM,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;oBAC5E,CAAC;oBACD,OAAO,GAAG,CAAC;gBACb,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,UAAU,CAAC,IAAI,CAAC,iBAAiB,cAAc,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACxG,OAAO,8BAA8B,CAAC;gBACxC,CAAC;YACH,CAAC;YACD,0BAA0B;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,WAAW;QACX,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;YAE7E,SAAS;YACT,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,gBAAgB,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;YACrE,CAAC;YAED,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;YACrB,IAAI,gBAAgB,IAAI,IAAI,EAAE,CAAC;gBAC7B,GAAG,GAAG,CAAC,MAAM,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAC5E,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,UAAU,CAAC,IAAI,CAAC,iBAAiB,cAAc,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxG,OAAO,8BAA8B,CAAC;QACxC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"client-transform-stylesheet.js","sourceRoot":"","sources":["../../src/angular/client-transform-stylesheet.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AASzF;;;;;;;GAOG;AACH,MAAM,UAAU,+BAA+B,CAC7C,OAAyC;IAEzC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IAE5E,MAAM,gBAAgB,GACpB,cAAc,IAAI,IAAI,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;QACjD,CAAC,CAAC,OAAO,CAAC,cAA0C,CAAC;QACrD,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO,KAAK,EACV,IAAY,EACZ,cAAsB,EACtB,cAAuB,EACC,EAAE;QAC1B,cAAc;QACd,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;oBAErE,SAAS;oBACT,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACnC,gBAAgB,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;oBACrE,CAAC;oBAED,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;oBACrB,IAAI,gBAAgB,IAAI,IAAI,EAAE,CAAC;wBAC7B,GAAG,GAAG,CAAC,MAAM,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;oBAC5E,CAAC;oBACD,OAAO,GAAG,CAAC;gBACb,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,UAAU,CAAC,IAAI,CAAC,iBAAiB,cAAc,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACxG,OAAO,8BAA8B,CAAC;gBACxC,CAAC;YACH,CAAC;YACD,gDAAgD;YAChD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,WAAW;QACX,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;YAE7E,SAAS;YACT,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,gBAAgB,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;YACrE,CAAC;YAED,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;YACrB,IAAI,gBAAgB,IAAI,IAAI,EAAE,CAAC;gBAC7B,GAAG,GAAG,CAAC,MAAM,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAC5E,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,UAAU,CAAC,IAAI,CAAC,iBAAiB,cAAc,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxG,OAAO,8BAA8B,CAAC;QACxC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -15,7 +15,7 @@ export interface SdAngularPluginOptions {
15
15
  warnings?: string[];
16
16
  lint?: LintWithProgramResult;
17
17
  }) => void;
18
- /** Enable lint using ts.Program from compilation */
18
+ /** 컴파일의 ts.Program 사용하여 lint 실행 */
19
19
  enableLint?: boolean;
20
20
  /** browserslist 타겟 (정규화된 배열) */
21
21
  browserslist?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"vite-angular-plugin.d.ts","sourceRoot":"","sources":["../../src/angular/vite-angular-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAA6B,MAAM,MAAM,CAAC;AAa9D,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,+BAA+B,CAAC;AAKvC,yBAAyB;AACzB,MAAM,WAAW,sBAAsB;IACrC,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY;IACZ,GAAG,EAAE,OAAO,CAAC;IACb,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,iCAAiC;IACjC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE;QACjB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,EAAE,qBAAqB,CAAC;KAC9B,KAAK,IAAI,CAAC;IACX,oDAAoD;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gCAAgC;IAChC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,sBAAsB;IACtB,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAmTvE"}
1
+ {"version":3,"file":"vite-angular-plugin.d.ts","sourceRoot":"","sources":["../../src/angular/vite-angular-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAA6B,MAAM,MAAM,CAAC;AAa9D,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,+BAA+B,CAAC;AAKvC,yBAAyB;AACzB,MAAM,WAAW,sBAAsB;IACrC,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY;IACZ,GAAG,EAAE,OAAO,CAAC;IACb,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,iCAAiC;IACjC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE;QACjB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,EAAE,qBAAqB,CAAC;KAC9B,KAAK,IAAI,CAAC;IACX,oCAAoC;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gCAAgC;IAChC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,sBAAsB;IACtB,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CA6UvE"}
@@ -33,7 +33,7 @@ export function sdAngularPlugin(options) {
33
33
  pkgName = pkgJson.name ?? "unknown";
34
34
  }
35
35
  catch {
36
- // ignore
36
+ // 무시
37
37
  }
38
38
  lintRunner = new LintWithProgramRunner({
39
39
  cwd: process.cwd(),
@@ -46,6 +46,8 @@ export function sdAngularPlugin(options) {
46
46
  const templateUpdates = new Map();
47
47
  let hmrLock = Promise.resolve();
48
48
  const scssDependencies = new Map();
49
+ // Pre-bundle transformer: optimizeDeps의 esbuild 단계에서 Angular Linker 실행
50
+ const prebundleTransformer = new JavaScriptTransformer({ sourcemap: options.dev, jit: false, thirdPartySourcemaps: options.dev }, 1);
49
51
  function createJsTransformer() {
50
52
  const maxThreads = Math.max(1, Math.floor((os.cpus().length * 2) / 3));
51
53
  return new JavaScriptTransformer({
@@ -65,6 +67,21 @@ export function sdAngularPlugin(options) {
65
67
  ngJitMode: "false",
66
68
  ngHmrMode: options.dev ? undefined : "false",
67
69
  },
70
+ optimizeDeps: {
71
+ esbuildOptions: {
72
+ plugins: [
73
+ {
74
+ name: "angular-vite-optimize-deps",
75
+ setup(build) {
76
+ build.onLoad({ filter: /\.[cm]?js$/ }, async (args) => ({
77
+ contents: await prebundleTransformer.transformFile(args.path),
78
+ loader: "js",
79
+ }));
80
+ },
81
+ },
82
+ ],
83
+ },
84
+ },
68
85
  };
69
86
  },
70
87
  async buildStart() {
@@ -133,14 +150,14 @@ export function sdAngularPlugin(options) {
133
150
  for (const err of scssErrors) {
134
151
  logger.error(err);
135
152
  }
136
- // Lint execution (if enabled)
153
+ // lint 실행 (활성화된 경우)
137
154
  let initialLintResult;
138
155
  if (options.enableLint === true) {
139
156
  initialLintResult = await getOrCreateLintRunner().lint({
140
157
  program: compiler.getTsProgram(),
141
158
  });
142
159
  }
143
- // Report initial build results (both dev and prod)
160
+ // 초기 빌드 결과 보고 (dev, prod 공통)
144
161
  options.onBuild?.({
145
162
  success: diagnosticResult.errors.length === 0,
146
163
  errors: diagnosticResult.errors.map((e) => e.message),
@@ -152,12 +169,11 @@ export function sdAngularPlugin(options) {
152
169
  if (compiler == null || !options.dev)
153
170
  return;
154
171
  if (!file.endsWith(".ts") &&
155
- !file.endsWith(".tsx") &&
156
172
  !file.endsWith(".html") &&
157
173
  !file.endsWith(".scss")) {
158
174
  return;
159
175
  }
160
- // Dependency filter: skip if file is not in the TypeScript program
176
+ // 의존성 필터: TypeScript program에 포함되지 않은 파일은 건너뜀
161
177
  const normalizedFile = pathx.posix(file);
162
178
  const programFiles = compiler.getTsProgram().getSourceFiles();
163
179
  const isInProgram = programFiles.some((sf) => pathx.posix(sf.fileName) === normalizedFile);
@@ -191,12 +207,12 @@ export function sdAngularPlugin(options) {
191
207
  }
192
208
  const diagnosticResult = collectAndFormatDiagnostics(compiler, process.cwd());
193
209
  reportDiagnostics(diagnosticResult);
194
- // Convert affected ts.SourceFile set to file name strings for incremental lint
210
+ // 영향받은 ts.SourceFile 집합을 파일명 문자열로 변환 (incremental lint용)
195
211
  const affectedFileNames = new Set();
196
212
  for (const sf of updateResult.affectedFiles) {
197
213
  affectedFileNames.add(pathx.posix(sf.fileName));
198
214
  }
199
- // Lint execution (if enabled)
215
+ // lint 실행 (활성화된 경우)
200
216
  let lintResult;
201
217
  if (options.enableLint === true) {
202
218
  lintResult = await getOrCreateLintRunner().lint({
@@ -224,19 +240,23 @@ export function sdAngularPlugin(options) {
224
240
  }
225
241
  },
226
242
  async transform(_code, id) {
227
- if (!id.endsWith(".ts") && !id.endsWith(".tsx"))
243
+ if (jsTransformer == null)
228
244
  return;
229
- const normalizedId = pathx.posix(id);
230
- const emittedContent = emittedFiles.get(normalizedId);
231
- if (emittedContent == null)
245
+ let code = _code;
246
+ // Phase 1: TS 컴파일 — .ts 파일은 AngularCompiler가 emit한 JS로 교체
247
+ if (id.endsWith(".ts")) {
248
+ const normalizedId = pathx.posix(id);
249
+ const emittedContent = emittedFiles.get(normalizedId);
250
+ if (emittedContent == null)
251
+ return;
252
+ code = emittedContent;
253
+ }
254
+ else if (!id.endsWith(".mjs") && !id.endsWith(".js")) {
232
255
  return;
233
- if (jsTransformer == null) {
234
- throw new Error("JavaScriptTransformer가 초기화되지 않았습니다");
235
256
  }
236
- // AOT 메타데이터 제거 + 최적화
237
- const transformed = await jsTransformer.transformData(normalizedId, emittedContent, false);
238
- const code = new TextDecoder().decode(transformed);
239
- return { code };
257
+ // Phase 2: JS 변환 — Angular Linker로 partial → full AOT 링킹 + 최적화
258
+ const transformed = await jsTransformer.transformData(pathx.posix(id), code, false);
259
+ return { code: new TextDecoder().decode(transformed) };
240
260
  },
241
261
  async buildEnd() {
242
262
  // dev 모드에서는 compiler/jsTransformer를 유지 (HMR용 incremental compilation)
@@ -245,27 +265,28 @@ export function sdAngularPlugin(options) {
245
265
  await jsTransformer.close();
246
266
  jsTransformer = undefined;
247
267
  }
268
+ await prebundleTransformer.close();
248
269
  compiler = undefined;
249
270
  emittedFiles.clear();
250
271
  }
251
272
  },
252
273
  configureServer(server) {
253
274
  // component-middleware 등록 (HMR template updates 서빙)
254
- server.middlewares.use(angularComponentMiddleware(templateUpdates));
275
+ server.middlewares.use(angularComponentMiddleware(templateUpdates, server.config.base));
255
276
  // dev server 종료 시 리소스 정리
256
277
  server.httpServer?.on("close", () => {
257
- if (jsTransformer != null) {
258
- void jsTransformer
259
- .close()
260
- .then(() => {
261
- jsTransformer = undefined;
262
- compiler = undefined;
263
- emittedFiles.clear();
264
- })
265
- .catch((err) => {
266
- logger.error(`Resource dispose failed: ${err instanceof Error ? err.message : String(err)}`);
267
- });
268
- }
278
+ void Promise.all([
279
+ jsTransformer?.close(),
280
+ prebundleTransformer.close(),
281
+ ])
282
+ .catch((err) => {
283
+ logger.error(`Resource dispose failed: ${err instanceof Error ? err.message : String(err)}`);
284
+ })
285
+ .finally(() => {
286
+ jsTransformer = undefined;
287
+ compiler = undefined;
288
+ emittedFiles.clear();
289
+ });
269
290
  });
270
291
  },
271
292
  };
@@ -294,14 +315,19 @@ function collectAndFormatDiagnostics(compiler, cwd) {
294
315
  }
295
316
  return { errors, warnings };
296
317
  }
297
- function angularComponentMiddleware(templateUpdates) {
318
+ function angularComponentMiddleware(templateUpdates, basePath) {
298
319
  return (req, res, next) => {
299
- if (req.url == null || !req.url.startsWith("/@ng/component")) {
320
+ const rawUrl = req.url ?? "";
321
+ const parsedUrl = new URL(rawUrl, "http://localhost");
322
+ const pathname = decodeURIComponent(parsedUrl.pathname);
323
+ const strippedPathname = basePath !== "/" && pathname.startsWith(basePath)
324
+ ? pathname.slice(basePath.length - 1)
325
+ : pathname;
326
+ if (!strippedPathname.includes("/@ng/component")) {
300
327
  next();
301
328
  return;
302
329
  }
303
- const url = new URL(req.url, "http://localhost");
304
- const componentId = url.searchParams.get("c") ?? "";
330
+ const componentId = parsedUrl.searchParams.get("c") ?? "";
305
331
  const body = templateUpdates.get(encodeURIComponent(componentId)) ?? "";
306
332
  res.writeHead(200, {
307
333
  "Content-Type": "text/javascript",
@@ -1 +1 @@
1
- {"version":3,"file":"vite-angular-plugin.js","sourceRoot":"","sources":["../../src/angular/vite-angular-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vite-angular-plugin.js","sourceRoot":"","sources":["../../src/angular/vite-angular-plugin.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ export interface SdPostCssInlinePluginOptions {
5
5
  postCssPlugins: unknown[];
6
6
  }
7
7
  /**
8
- * 라이브러리 JS 파일의 Angular @Component 인라인 CSS에 PostCSS를 적용하는 Vite 플러그인.
8
+ * JS 파일 Angular @Component 인라인 스타일에 PostCSS를 적용하는 Vite 플러그인.
9
9
  *
10
10
  * TS AST로 @Component decorator의 `styles` 배열에서 CSS 문자열을 추출하고,
11
11
  * PostCSS를 적용한 후 교체한다.
@@ -1,7 +1,7 @@
1
1
  import ts from "typescript";
2
2
  import postcss from "postcss";
3
3
  /**
4
- * 라이브러리 JS 파일의 Angular @Component 인라인 CSS에 PostCSS를 적용하는 Vite 플러그인.
4
+ * JS 파일 Angular @Component 인라인 스타일에 PostCSS를 적용하는 Vite 플러그인.
5
5
  *
6
6
  * TS AST로 @Component decorator의 `styles` 배열에서 CSS 문자열을 추출하고,
7
7
  * PostCSS를 적용한 후 교체한다.