@simplysm/sd-cli 14.0.29 → 14.0.32
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.
- package/dist/{utils → angular}/angular-build-pipeline.d.ts +0 -2
- package/dist/angular/angular-build-pipeline.d.ts.map +1 -0
- package/dist/{utils → angular}/angular-build-pipeline.js +3 -6
- package/dist/angular/angular-build-pipeline.js.map +1 -0
- package/dist/{utils → angular}/angular-build.d.ts +1 -1
- package/dist/angular/angular-build.d.ts.map +1 -0
- package/dist/{utils → angular}/angular-build.js +1 -1
- package/dist/angular/angular-build.js.map +1 -0
- package/dist/{utils → angular}/angular-compiler.d.ts +0 -3
- package/dist/angular/angular-compiler.d.ts.map +1 -0
- package/dist/{utils → angular}/angular-compiler.js +1 -45
- package/dist/angular/angular-compiler.js.map +1 -0
- package/dist/angular/client-transform-stylesheet.js +1 -1
- package/dist/angular/client-transform-stylesheet.js.map +1 -1
- package/dist/{utils → angular}/ngtsc-build-core.d.ts +3 -3
- package/dist/angular/ngtsc-build-core.d.ts.map +1 -0
- package/dist/angular/ngtsc-build-core.js.map +1 -0
- package/dist/angular/scss-compiler.d.ts.map +1 -0
- package/dist/angular/scss-compiler.js.map +1 -0
- package/dist/angular/vite-angular-plugin.d.ts +2 -10
- package/dist/angular/vite-angular-plugin.d.ts.map +1 -1
- package/dist/angular/vite-angular-plugin.js +20 -286
- package/dist/angular/vite-angular-plugin.js.map +1 -1
- package/dist/capacitor/capacitor-build.d.ts +14 -0
- package/dist/capacitor/capacitor-build.d.ts.map +1 -0
- package/dist/capacitor/capacitor-build.js +105 -0
- package/dist/capacitor/capacitor-build.js.map +1 -0
- package/dist/capacitor/capacitor-config-writer.d.ts +11 -0
- package/dist/capacitor/capacitor-config-writer.d.ts.map +1 -0
- package/dist/capacitor/capacitor-config-writer.js +54 -0
- package/dist/capacitor/capacitor-config-writer.js.map +1 -0
- package/dist/capacitor/capacitor-icon.d.ts +5 -0
- package/dist/capacitor/capacitor-icon.d.ts.map +1 -0
- package/dist/capacitor/capacitor-icon.js +58 -0
- package/dist/capacitor/capacitor-icon.js.map +1 -0
- package/dist/capacitor/capacitor-npm-config.d.ts +11 -0
- package/dist/capacitor/capacitor-npm-config.d.ts.map +1 -0
- package/dist/capacitor/capacitor-npm-config.js +145 -0
- package/dist/capacitor/capacitor-npm-config.js.map +1 -0
- package/dist/capacitor/capacitor.d.ts +0 -45
- package/dist/capacitor/capacitor.d.ts.map +1 -1
- package/dist/capacitor/capacitor.js +15 -354
- package/dist/capacitor/capacitor.js.map +1 -1
- package/dist/commands/check.js +2 -2
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/dev.d.ts +3 -3
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +3 -3
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/lint.d.ts +1 -1
- package/dist/commands/lint.d.ts.map +1 -1
- package/dist/commands/lint.js +1 -1
- package/dist/commands/lint.js.map +1 -1
- package/dist/commands/publish/deployment-phase.d.ts +12 -0
- package/dist/commands/publish/deployment-phase.d.ts.map +1 -0
- package/dist/commands/publish/deployment-phase.js +94 -0
- package/dist/commands/publish/deployment-phase.js.map +1 -0
- package/dist/commands/publish/env-utils.d.ts +10 -0
- package/dist/commands/publish/env-utils.d.ts.map +1 -0
- package/dist/commands/publish/env-utils.js +41 -0
- package/dist/commands/publish/env-utils.js.map +1 -0
- package/dist/commands/publish/git-phase.d.ts +12 -0
- package/dist/commands/publish/git-phase.d.ts.map +1 -0
- package/dist/commands/publish/git-phase.js +79 -0
- package/dist/commands/publish/git-phase.js.map +1 -0
- package/dist/commands/{publish.d.ts → publish/index.d.ts} +1 -1
- package/dist/commands/publish/index.d.ts.map +1 -0
- package/dist/commands/publish/index.js +211 -0
- package/dist/commands/publish/index.js.map +1 -0
- package/dist/commands/publish/local-publisher.d.ts +6 -0
- package/dist/commands/publish/local-publisher.d.ts.map +1 -0
- package/dist/commands/publish/local-publisher.js +16 -0
- package/dist/commands/publish/local-publisher.js.map +1 -0
- package/dist/commands/publish/npm-publisher.d.ts +6 -0
- package/dist/commands/publish/npm-publisher.d.ts.map +1 -0
- package/dist/commands/publish/npm-publisher.js +21 -0
- package/dist/commands/publish/npm-publisher.js.map +1 -0
- package/dist/commands/publish/post-publish-phase.d.ts +8 -0
- package/dist/commands/publish/post-publish-phase.d.ts.map +1 -0
- package/dist/commands/publish/post-publish-phase.js +34 -0
- package/dist/commands/publish/post-publish-phase.js.map +1 -0
- package/dist/commands/publish/storage-publisher.d.ts +18 -0
- package/dist/commands/publish/storage-publisher.d.ts.map +1 -0
- package/dist/commands/publish/storage-publisher.js +173 -0
- package/dist/commands/publish/storage-publisher.js.map +1 -0
- package/dist/commands/publish/version-upgrade.d.ts +28 -0
- package/dist/commands/publish/version-upgrade.d.ts.map +1 -0
- package/dist/commands/publish/version-upgrade.js +96 -0
- package/dist/commands/publish/version-upgrade.js.map +1 -0
- package/dist/commands/replace-deps.js +1 -1
- package/dist/commands/replace-deps.js.map +1 -1
- package/dist/commands/watch.d.ts +3 -4
- package/dist/commands/watch.d.ts.map +1 -1
- package/dist/commands/watch.js +3 -4
- package/dist/commands/watch.js.map +1 -1
- package/dist/deps/replace-deps/collect-deps.d.ts +6 -0
- package/dist/deps/replace-deps/collect-deps.d.ts.map +1 -0
- package/dist/deps/replace-deps/collect-deps.js +71 -0
- package/dist/deps/replace-deps/collect-deps.js.map +1 -0
- package/dist/{utils/replace-deps.d.ts → deps/replace-deps/replace-deps-resolve.d.ts} +7 -24
- package/dist/deps/replace-deps/replace-deps-resolve.d.ts.map +1 -0
- package/dist/{utils/replace-deps.js → deps/replace-deps/replace-deps-resolve.js} +4 -152
- package/dist/deps/replace-deps/replace-deps-resolve.js.map +1 -0
- package/dist/deps/replace-deps/replace-deps.d.ts +36 -0
- package/dist/deps/replace-deps/replace-deps.d.ts.map +1 -0
- package/dist/deps/replace-deps/replace-deps.js +155 -0
- package/dist/deps/replace-deps/replace-deps.js.map +1 -0
- package/dist/{utils → deps/server-externals}/server-production-files.d.ts +1 -1
- package/dist/deps/server-externals/server-production-files.d.ts.map +1 -0
- package/dist/{utils → deps/server-externals}/server-production-files.js +1 -1
- package/dist/deps/server-externals/server-production-files.js.map +1 -0
- package/dist/dev-server/dev-http-server.d.ts +23 -0
- package/dist/dev-server/dev-http-server.d.ts.map +1 -0
- package/dist/dev-server/dev-http-server.js +116 -0
- package/dist/dev-server/dev-http-server.js.map +1 -0
- package/dist/dev-server/hmr-client-script.d.ts +13 -0
- package/dist/dev-server/hmr-client-script.d.ts.map +1 -0
- package/dist/dev-server/hmr-client-script.js +73 -0
- package/dist/dev-server/hmr-client-script.js.map +1 -0
- package/dist/dev-server/hmr-service.d.ts +23 -0
- package/dist/dev-server/hmr-service.d.ts.map +1 -0
- package/dist/dev-server/hmr-service.js +139 -0
- package/dist/dev-server/hmr-service.js.map +1 -0
- package/dist/electron/electron.d.ts +5 -0
- package/dist/electron/electron.d.ts.map +1 -1
- package/dist/electron/electron.js +17 -24
- package/dist/electron/electron.js.map +1 -1
- package/dist/engines/BaseEngine.d.ts +18 -4
- package/dist/engines/BaseEngine.d.ts.map +1 -1
- package/dist/engines/BaseEngine.js +45 -66
- package/dist/engines/BaseEngine.js.map +1 -1
- package/dist/engines/{ViteEngine.d.ts → EsbuildClientEngine.d.ts} +11 -18
- package/dist/engines/EsbuildClientEngine.d.ts.map +1 -0
- package/dist/engines/{ViteEngine.js → EsbuildClientEngine.js} +28 -55
- package/dist/engines/EsbuildClientEngine.js.map +1 -0
- package/dist/engines/NgtscEngine.d.ts +2 -2
- package/dist/engines/NgtscEngine.d.ts.map +1 -1
- package/dist/engines/NgtscEngine.js +1 -9
- package/dist/engines/NgtscEngine.js.map +1 -1
- package/dist/engines/ServerEsbuildEngine.d.ts +2 -2
- package/dist/engines/ServerEsbuildEngine.d.ts.map +1 -1
- package/dist/engines/ServerEsbuildEngine.js +1 -9
- package/dist/engines/ServerEsbuildEngine.js.map +1 -1
- package/dist/engines/TscEngine.d.ts +2 -2
- package/dist/engines/TscEngine.d.ts.map +1 -1
- package/dist/engines/TscEngine.js +1 -9
- package/dist/engines/TscEngine.js.map +1 -1
- package/dist/engines/index.d.ts +15 -5
- package/dist/engines/index.d.ts.map +1 -1
- package/dist/engines/index.js +21 -5
- package/dist/engines/index.js.map +1 -1
- package/dist/engines/types.d.ts +3 -3
- package/dist/engines/types.d.ts.map +1 -1
- package/dist/esbuild/esbuild-client-config.d.ts +38 -0
- package/dist/esbuild/esbuild-client-config.d.ts.map +1 -0
- package/dist/esbuild/esbuild-client-config.js +171 -0
- package/dist/esbuild/esbuild-client-config.js.map +1 -0
- package/dist/esbuild/esbuild-config.d.ts.map +1 -0
- package/dist/{utils → esbuild}/esbuild-config.js +1 -0
- package/dist/esbuild/esbuild-config.js.map +1 -0
- package/dist/esbuild/esbuild-index-html.d.ts +39 -0
- package/dist/esbuild/esbuild-index-html.d.ts.map +1 -0
- package/dist/esbuild/esbuild-index-html.js +68 -0
- package/dist/esbuild/esbuild-index-html.js.map +1 -0
- package/dist/esbuild/esbuild-pwa.d.ts +21 -0
- package/dist/esbuild/esbuild-pwa.d.ts.map +1 -0
- package/dist/esbuild/esbuild-pwa.js +105 -0
- package/dist/esbuild/esbuild-pwa.js.map +1 -0
- package/dist/esbuild/esbuild-scss-plugin.d.ts +6 -0
- package/dist/esbuild/esbuild-scss-plugin.d.ts.map +1 -0
- package/dist/esbuild/esbuild-scss-plugin.js +41 -0
- package/dist/esbuild/esbuild-scss-plugin.js.map +1 -0
- package/dist/lint/lint-core.d.ts.map +1 -0
- package/dist/lint/lint-core.js.map +1 -0
- package/dist/lint/lint-utils.d.ts.map +1 -0
- package/dist/lint/lint-utils.js.map +1 -0
- package/dist/lint/lint-with-program.d.ts.map +1 -0
- package/dist/lint/lint-with-program.js.map +1 -0
- package/dist/orchestrators/BaseOrchestrator.d.ts +44 -0
- package/dist/orchestrators/BaseOrchestrator.d.ts.map +1 -0
- package/dist/orchestrators/BaseOrchestrator.js +92 -0
- package/dist/orchestrators/BaseOrchestrator.js.map +1 -0
- package/dist/orchestrators/BuildOrchestrator.d.ts +45 -3
- package/dist/orchestrators/BuildOrchestrator.d.ts.map +1 -1
- package/dist/orchestrators/BuildOrchestrator.js +170 -143
- package/dist/orchestrators/BuildOrchestrator.js.map +1 -1
- package/dist/orchestrators/DevOrchestrator.d.ts +39 -0
- package/dist/orchestrators/DevOrchestrator.d.ts.map +1 -0
- package/dist/orchestrators/DevOrchestrator.js +249 -0
- package/dist/orchestrators/DevOrchestrator.js.map +1 -0
- package/dist/orchestrators/ServerRuntimeManager.d.ts +22 -0
- package/dist/orchestrators/ServerRuntimeManager.d.ts.map +1 -0
- package/dist/orchestrators/ServerRuntimeManager.js +66 -0
- package/dist/orchestrators/ServerRuntimeManager.js.map +1 -0
- package/dist/orchestrators/TypecheckOrchestrator.d.ts +17 -2
- package/dist/orchestrators/TypecheckOrchestrator.d.ts.map +1 -1
- package/dist/orchestrators/TypecheckOrchestrator.js +122 -108
- package/dist/orchestrators/TypecheckOrchestrator.js.map +1 -1
- package/dist/orchestrators/WatchOrchestrator.d.ts +33 -0
- package/dist/orchestrators/WatchOrchestrator.d.ts.map +1 -0
- package/dist/orchestrators/WatchOrchestrator.js +158 -0
- package/dist/orchestrators/WatchOrchestrator.js.map +1 -0
- package/dist/orchestrators/types.d.ts +17 -0
- package/dist/orchestrators/types.d.ts.map +1 -0
- package/dist/orchestrators/types.js +2 -0
- package/dist/orchestrators/types.js.map +1 -0
- package/dist/runtime/ResultCollector.d.ts.map +1 -0
- package/dist/runtime/ResultCollector.js.map +1 -0
- package/dist/runtime/SignalHandler.d.ts.map +1 -0
- package/dist/runtime/SignalHandler.js.map +1 -0
- package/dist/{utils → runtime}/engine-stop.d.ts +1 -1
- package/dist/runtime/engine-stop.d.ts.map +1 -0
- package/dist/{utils → runtime}/engine-stop.js +1 -1
- package/dist/runtime/engine-stop.js.map +1 -0
- package/dist/runtime/engine-watch-events.d.ts +43 -0
- package/dist/runtime/engine-watch-events.d.ts.map +1 -0
- package/dist/runtime/engine-watch-events.js +72 -0
- package/dist/runtime/engine-watch-events.js.map +1 -0
- package/dist/{utils → runtime}/rebuild-manager.d.ts +1 -0
- package/dist/runtime/rebuild-manager.d.ts.map +1 -0
- package/dist/{utils → runtime}/rebuild-manager.js +8 -1
- package/dist/runtime/rebuild-manager.js.map +1 -0
- package/dist/runtime/worker-events.d.ts +22 -0
- package/dist/runtime/worker-events.d.ts.map +1 -0
- package/dist/runtime/worker-events.js +2 -0
- package/dist/runtime/worker-events.js.map +1 -0
- package/dist/runtime/worker-utils.d.ts.map +1 -0
- package/dist/runtime/worker-utils.js.map +1 -0
- package/dist/sd-cli-entry.d.ts.map +1 -1
- package/dist/sd-cli-entry.js +61 -54
- package/dist/sd-cli-entry.js.map +1 -1
- package/dist/sd-cli.js +1 -1
- package/dist/sd-cli.js.map +1 -1
- package/dist/sd-config.types.d.ts +6 -15
- package/dist/sd-config.types.d.ts.map +1 -1
- package/dist/typecheck/typecheck-non-package.d.ts.map +1 -0
- package/dist/{utils → typecheck}/typecheck-non-package.js +1 -1
- package/dist/typecheck/typecheck-non-package.js.map +1 -0
- package/dist/typecheck/typecheck-serialization.d.ts.map +1 -0
- package/dist/typecheck/typecheck-serialization.js.map +1 -0
- package/dist/utils/diagnostic-utils.d.ts +5 -0
- package/dist/utils/diagnostic-utils.d.ts.map +1 -1
- package/dist/utils/diagnostic-utils.js +15 -0
- package/dist/utils/diagnostic-utils.js.map +1 -1
- package/dist/utils/orchestrator-utils.d.ts +1 -5
- package/dist/utils/orchestrator-utils.d.ts.map +1 -1
- package/dist/utils/orchestrator-utils.js +2 -5
- package/dist/utils/orchestrator-utils.js.map +1 -1
- package/dist/utils/output-utils.d.ts +1 -1
- package/dist/utils/output-utils.d.ts.map +1 -1
- package/dist/utils/package-classify.d.ts +54 -0
- package/dist/utils/package-classify.d.ts.map +1 -0
- package/dist/utils/package-classify.js +134 -0
- package/dist/utils/package-classify.js.map +1 -0
- package/dist/utils/package-utils.d.ts +1 -58
- package/dist/utils/package-utils.d.ts.map +1 -1
- package/dist/utils/package-utils.js +0 -193
- package/dist/utils/package-utils.js.map +1 -1
- package/dist/utils/tsc-build.d.ts +1 -1
- package/dist/utils/tsc-build.d.ts.map +1 -1
- package/dist/utils/tsc-build.js +1 -1
- package/dist/utils/tsc-build.js.map +1 -1
- package/dist/workers/build-change-filter.d.ts +8 -0
- package/dist/workers/build-change-filter.d.ts.map +1 -0
- package/dist/workers/build-change-filter.js +16 -0
- package/dist/workers/build-change-filter.js.map +1 -0
- package/dist/workers/build-watch-paths.d.ts +20 -0
- package/dist/workers/build-watch-paths.d.ts.map +1 -0
- package/dist/workers/build-watch-paths.js +29 -0
- package/dist/workers/build-watch-paths.js.map +1 -0
- package/dist/workers/client.worker.d.ts +11 -18
- package/dist/workers/client.worker.d.ts.map +1 -1
- package/dist/workers/client.worker.js +218 -289
- package/dist/workers/client.worker.js.map +1 -1
- package/dist/workers/library-build.worker.d.ts +2 -2
- package/dist/workers/library-build.worker.d.ts.map +1 -1
- package/dist/workers/library-build.worker.js +13 -24
- package/dist/workers/library-build.worker.js.map +1 -1
- package/dist/workers/lint.worker.d.ts +1 -1
- package/dist/workers/lint.worker.d.ts.map +1 -1
- package/dist/workers/lint.worker.js +1 -1
- package/dist/workers/lint.worker.js.map +1 -1
- package/dist/workers/ngtsc-build.worker.d.ts +1 -1
- package/dist/workers/ngtsc-build.worker.d.ts.map +1 -1
- package/dist/workers/ngtsc-build.worker.js +19 -35
- package/dist/workers/ngtsc-build.worker.js.map +1 -1
- package/dist/workers/server-build.worker.d.ts +2 -2
- package/dist/workers/server-build.worker.d.ts.map +1 -1
- package/dist/workers/server-build.worker.js +36 -137
- package/dist/workers/server-build.worker.js.map +1 -1
- package/dist/workers/server-esbuild-context.d.ts +47 -0
- package/dist/workers/server-esbuild-context.d.ts.map +1 -0
- package/dist/workers/server-esbuild-context.js +92 -0
- package/dist/workers/server-esbuild-context.js.map +1 -0
- package/dist/workers/server-runtime.worker.d.ts.map +1 -1
- package/dist/workers/server-runtime.worker.js +3 -1
- package/dist/workers/server-runtime.worker.js.map +1 -1
- package/dist/workers/server-watch-manager.d.ts +44 -0
- package/dist/workers/server-watch-manager.d.ts.map +1 -0
- package/dist/workers/server-watch-manager.js +87 -0
- package/dist/workers/server-watch-manager.js.map +1 -0
- package/dist/workers/shared-worker-lifecycle.d.ts +14 -0
- package/dist/workers/shared-worker-lifecycle.d.ts.map +1 -0
- package/dist/workers/shared-worker-lifecycle.js +17 -0
- package/dist/workers/shared-worker-lifecycle.js.map +1 -0
- package/package.json +9 -9
- package/src/{utils → angular}/angular-build-pipeline.ts +3 -8
- package/src/{utils → angular}/angular-build.ts +1 -1
- package/src/{utils → angular}/angular-compiler.ts +1 -64
- package/src/angular/client-transform-stylesheet.ts +1 -1
- package/src/{utils → angular}/ngtsc-build-core.ts +3 -3
- package/src/angular/vite-angular-plugin.ts +22 -355
- package/src/capacitor/capacitor-build.ts +142 -0
- package/src/capacitor/capacitor-config-writer.ts +66 -0
- package/src/capacitor/capacitor-icon.ts +75 -0
- package/src/capacitor/capacitor-npm-config.ts +192 -0
- package/src/capacitor/capacitor.ts +32 -441
- package/src/commands/check.ts +2 -2
- package/src/commands/dev.ts +6 -6
- package/src/commands/lint.ts +1 -1
- package/src/commands/publish/deployment-phase.ts +125 -0
- package/src/commands/publish/env-utils.ts +44 -0
- package/src/commands/publish/git-phase.ts +99 -0
- package/src/commands/publish/index.ts +266 -0
- package/src/commands/publish/local-publisher.ts +23 -0
- package/src/commands/publish/npm-publisher.ts +30 -0
- package/src/commands/publish/post-publish-phase.ts +43 -0
- package/src/commands/publish/storage-publisher.ts +208 -0
- package/src/commands/publish/version-upgrade.ts +132 -0
- package/src/commands/replace-deps.ts +1 -1
- package/src/commands/watch.ts +6 -7
- package/src/deps/replace-deps/collect-deps.ts +92 -0
- package/src/{utils/replace-deps.ts → deps/replace-deps/replace-deps-resolve.ts} +4 -188
- package/src/deps/replace-deps/replace-deps.ts +193 -0
- package/src/{utils → deps/server-externals}/server-production-files.ts +2 -2
- package/src/dev-server/dev-http-server.ts +149 -0
- package/src/dev-server/hmr-client-script.ts +74 -0
- package/src/dev-server/hmr-service.ts +178 -0
- package/src/electron/electron.ts +21 -28
- package/src/engines/BaseEngine.ts +64 -83
- package/src/engines/{ViteEngine.ts → EsbuildClientEngine.ts} +33 -72
- package/src/engines/NgtscEngine.ts +3 -11
- package/src/engines/ServerEsbuildEngine.ts +3 -11
- package/src/engines/TscEngine.ts +3 -11
- package/src/engines/index.ts +29 -9
- package/src/engines/types.ts +3 -3
- package/src/esbuild/esbuild-client-config.ts +230 -0
- package/src/{utils → esbuild}/esbuild-config.ts +1 -0
- package/src/esbuild/esbuild-index-html.ts +119 -0
- package/src/esbuild/esbuild-pwa.ts +139 -0
- package/src/esbuild/esbuild-scss-plugin.ts +48 -0
- package/src/orchestrators/BaseOrchestrator.ts +118 -0
- package/src/orchestrators/BuildOrchestrator.ts +234 -171
- package/src/orchestrators/DevOrchestrator.ts +315 -0
- package/src/orchestrators/ServerRuntimeManager.ts +85 -0
- package/src/orchestrators/TypecheckOrchestrator.ts +166 -117
- package/src/orchestrators/WatchOrchestrator.ts +203 -0
- package/src/orchestrators/types.ts +18 -0
- package/src/{utils → runtime}/engine-stop.ts +1 -1
- package/src/runtime/engine-watch-events.ts +121 -0
- package/src/{utils → runtime}/rebuild-manager.ts +8 -1
- package/src/runtime/worker-events.ts +25 -0
- package/src/sd-cli-entry.ts +69 -54
- package/src/sd-cli.ts +1 -1
- package/src/sd-config.types.ts +6 -16
- package/src/{utils → typecheck}/typecheck-non-package.ts +1 -1
- package/src/utils/diagnostic-utils.ts +15 -0
- package/src/utils/orchestrator-utils.ts +2 -6
- package/src/utils/output-utils.ts +1 -1
- package/src/utils/package-classify.ts +182 -0
- package/src/utils/package-utils.ts +0 -257
- package/src/utils/tsc-build.ts +1 -1
- package/src/workers/build-change-filter.ts +27 -0
- package/src/workers/build-watch-paths.ts +54 -0
- package/src/workers/client.worker.ts +258 -328
- package/src/workers/library-build.worker.ts +15 -34
- package/src/workers/lint.worker.ts +1 -1
- package/src/workers/ngtsc-build.worker.ts +19 -46
- package/src/workers/server-build.worker.ts +38 -168
- package/src/workers/server-esbuild-context.ts +122 -0
- package/src/workers/server-runtime.worker.ts +4 -1
- package/src/workers/server-watch-manager.ts +124 -0
- package/src/workers/shared-worker-lifecycle.ts +24 -0
- package/tests/angular/angular-build-pipeline.spec.ts +2 -2
- package/tests/angular/angular-compiler-aot.acc.spec.ts +68 -0
- package/tests/angular/angular-compiler-aot.spec.ts +80 -0
- package/tests/angular/angular-compiler-hmr-removal.verify.md +16 -0
- package/tests/angular/vite-angular-plugin-legacy-watch.spec.ts +0 -17
- package/tests/angular/vite-angular-plugin-vitest.spec.ts +1 -6
- package/tests/angular/vite-angular-plugin-vitest.verify.md +20 -0
- package/tests/angular/vite-angular-plugin.spec.ts +4 -178
- package/tests/capacitor/capacitor-android.spec.ts +1 -0
- package/tests/capacitor/capacitor-build.spec.ts +1 -0
- package/tests/capacitor/capacitor-config-writer.acc.spec.ts +108 -0
- package/tests/capacitor/capacitor-config-writer.spec.ts +95 -0
- package/tests/capacitor/capacitor-icon.spec.ts +1 -0
- package/tests/capacitor/capacitor-init.spec.ts +1 -0
- package/tests/capacitor/capacitor-npm-config.acc.spec.ts +236 -0
- package/tests/capacitor/capacitor-npm-config.spec.ts +132 -0
- package/tests/capacitor/capacitor-run.spec.ts +1 -0
- package/tests/capacitor/capacitor-workspace.spec.ts +1 -0
- package/tests/commands/check.spec.ts +2 -2
- package/tests/commands/deployment-phase.acc.spec.ts +142 -0
- package/tests/commands/git-phase.acc.spec.ts +158 -0
- package/tests/commands/lint.spec.ts +1 -1
- package/tests/commands/post-publish-phase.acc.spec.ts +82 -0
- package/tests/commands/publish-npm-local-split.verify.md +9 -0
- package/tests/commands/publish-responsibility-split.verify.md +13 -0
- package/tests/commands/publish-storage-split.verify.md +8 -0
- package/tests/commands/publish.spec.ts +1 -1
- package/tests/commands/typecheck.spec.ts +18 -18
- package/tests/deps/deps-directory-separation.verify.md +15 -0
- package/tests/engines/base-engine.spec.ts +65 -6
- package/tests/engines/engine-adapter-isolation.spec.ts +11 -18
- package/tests/engines/engine-selection.spec.ts +38 -5
- package/tests/engines/engine-typecheck-selection.acc.spec.ts +85 -0
- package/tests/engines/engine-typecheck-selection.verify.md +8 -0
- package/tests/engines/esbuild-client-engine.acc.spec.ts +161 -0
- package/tests/engines/esbuild-client-engine.spec.ts +320 -0
- package/tests/engines/esbuild-client-engine.verify.md +15 -0
- package/tests/engines/normalize-result.verify.md +9 -0
- package/tests/engines/vite-dependency-cleanup.verify.md +24 -0
- package/tests/orchestrators/build-orchestrator.spec.ts +3 -3
- package/tests/orchestrators/dev-orchestrator.spec.ts +799 -0
- package/tests/orchestrators/orchestrator-baseenv.verify.md +10 -0
- package/tests/orchestrators/orchestrator-diagnostic-formatting.verify.md +10 -0
- package/tests/orchestrators/orchestrator-initializemode-signature.verify.md +9 -0
- package/tests/orchestrators/typecheck-orchestrator.spec.ts +11 -11
- package/tests/orchestrators/watch-orchestrator.spec.ts +511 -0
- package/tests/{infra → runtime}/result-collector.spec.ts +1 -1
- package/tests/{infra → runtime}/signal-handler.spec.ts +1 -1
- package/tests/sd-cli-entry.spec.ts +9 -0
- package/tests/utils/angular-build.spec.ts +15 -20
- package/tests/utils/angular-compiler-emit.spec.ts +2 -2
- package/tests/utils/angular-compiler.spec.ts +2 -2
- package/tests/utils/angular-source-file-cache.spec.ts +2 -2
- package/tests/utils/concurrency.spec.ts +2 -10
- package/tests/utils/dev-http-server.acc.spec.ts +206 -0
- package/tests/utils/dev-http-server.spec.ts +181 -0
- package/tests/utils/dev-http-server.verify.md +8 -0
- package/tests/utils/diagnostic-utils.spec.ts +42 -1
- package/tests/utils/engine-stop.spec.ts +1 -1
- package/tests/utils/engine-watch-events.acc.spec.ts +217 -0
- package/tests/utils/engine-watch-events.spec.ts +141 -0
- package/tests/utils/engine-watch-events.verify.md +17 -0
- package/tests/utils/esbuild-client-config.acc.spec.ts +443 -0
- package/tests/utils/esbuild-client-config.spec.ts +590 -0
- package/tests/utils/esbuild-client-config.verify.md +26 -0
- package/tests/utils/esbuild-config.spec.ts +11 -1
- package/tests/utils/esbuild-index-html.acc.spec.ts +166 -0
- package/tests/utils/esbuild-index-html.spec.ts +194 -0
- package/tests/utils/esbuild-index-html.verify.md +10 -0
- package/tests/utils/esbuild-pwa.acc.spec.ts +203 -0
- package/tests/utils/esbuild-pwa.spec.ts +189 -0
- package/tests/utils/esbuild-pwa.verify.md +9 -0
- package/tests/utils/esbuild-scss-plugin.acc.spec.ts +111 -0
- package/tests/utils/esbuild-scss-plugin.spec.ts +150 -0
- package/tests/utils/esbuild-scss-plugin.verify.md +8 -0
- package/tests/utils/external-modules.spec.ts +1 -1
- package/tests/utils/hmr-client-script.acc.spec.ts +128 -0
- package/tests/utils/hmr-client-script.spec.ts +44 -0
- package/tests/utils/hmr-service-dispatcher.acc.spec.ts +217 -0
- package/tests/utils/hmr-service-dispatcher.spec.ts +143 -0
- package/tests/utils/hmr-service.acc.spec.ts +139 -0
- package/tests/utils/hmr-service.spec.ts +131 -0
- package/tests/utils/hmr-service.verify.md +17 -0
- package/tests/utils/lint-core.spec.ts +2 -1
- package/tests/utils/lint-utils.spec.ts +1 -1
- package/tests/utils/lint-with-program.spec.ts +1 -1
- package/tests/utils/ngtsc-build-core-write-emit.spec.ts +19 -19
- package/tests/utils/ngtsc-build-core.spec.ts +4 -4
- package/tests/utils/orchestrator-utils.spec.ts +2 -2
- package/tests/utils/output-utils.spec.ts +1 -1
- package/tests/utils/package-utils.spec.ts +1 -1
- package/tests/utils/rebuild-manager.spec.ts +20 -7
- package/tests/utils/replace-deps-split.verify.md +15 -0
- package/tests/utils/replace-deps-watch.acc.spec.ts +131 -0
- package/tests/utils/replace-deps-watch.spec.ts +91 -0
- package/tests/utils/replace-deps-watch.verify.md +9 -0
- package/tests/utils/replace-deps.spec.ts +1 -1
- package/tests/utils/scss-compiler.spec.ts +1 -1
- package/tests/utils/tsc-build.spec.ts +1 -1
- package/tests/utils/typecheck-non-package.spec.ts +2 -2
- package/tests/utils/worker-utils.spec.ts +2 -1
- package/tests/workers/build-change-filter.acc.spec.ts +78 -0
- package/tests/workers/build-change-filter.spec.ts +39 -0
- package/tests/workers/build-watch-paths-library.verify.md +10 -0
- package/tests/workers/build-watch-paths-ngtsc-server.verify.md +12 -0
- package/tests/workers/build-watch-paths.acc.spec.ts +101 -0
- package/tests/workers/build-watch-paths.spec.ts +121 -0
- package/tests/workers/client-worker-browser-support.verify.md +7 -0
- package/tests/workers/client-worker-onend-sync.verify.md +7 -0
- package/tests/workers/client-worker.acc.spec.ts +185 -0
- package/tests/workers/client-worker.spec.ts +91 -178
- package/tests/workers/library-build-lint.spec.ts +3 -3
- package/tests/workers/library-build-worker.spec.ts +10 -11
- package/tests/workers/ngtsc-build-lint.spec.ts +4 -4
- package/tests/workers/ngtsc-build-worker.spec.ts +2 -2
- package/tests/workers/server-build-lint.spec.ts +4 -4
- package/tests/workers/server-build-worker.spec.ts +14 -15
- package/tests/workers/server-esbuild-context-integration.verify.md +10 -0
- package/tests/workers/server-esbuild-context.acc.spec.ts +98 -0
- package/tests/workers/server-esbuild-context.spec.ts +198 -0
- package/tests/workers/server-runtime-worker.spec.ts +4 -3
- package/tests/workers/server-watch-manager.acc.spec.ts +162 -0
- package/tests/workers/server-watch-manager.spec.ts +199 -0
- package/tests/workers/shared-worker-lifecycle.acc.spec.ts +27 -0
- package/tests/workers/shared-worker-lifecycle.spec.ts +47 -0
- package/dist/angular/vite-postcss-inline-plugin.d.ts +0 -18
- package/dist/angular/vite-postcss-inline-plugin.d.ts.map +0 -1
- package/dist/angular/vite-postcss-inline-plugin.js +0 -108
- package/dist/angular/vite-postcss-inline-plugin.js.map +0 -1
- package/dist/commands/publish.d.ts.map +0 -1
- package/dist/commands/publish.js +0 -689
- package/dist/commands/publish.js.map +0 -1
- package/dist/engines/ViteEngine.d.ts.map +0 -1
- package/dist/engines/ViteEngine.js.map +0 -1
- package/dist/infra/ResultCollector.d.ts.map +0 -1
- package/dist/infra/ResultCollector.js.map +0 -1
- package/dist/infra/SignalHandler.d.ts.map +0 -1
- package/dist/infra/SignalHandler.js.map +0 -1
- package/dist/orchestrators/DevWatchOrchestrator.d.ts +0 -63
- package/dist/orchestrators/DevWatchOrchestrator.d.ts.map +0 -1
- package/dist/orchestrators/DevWatchOrchestrator.js +0 -478
- package/dist/orchestrators/DevWatchOrchestrator.js.map +0 -1
- package/dist/utils/angular-build-pipeline.d.ts.map +0 -1
- package/dist/utils/angular-build-pipeline.js.map +0 -1
- package/dist/utils/angular-build.d.ts.map +0 -1
- package/dist/utils/angular-build.js.map +0 -1
- package/dist/utils/angular-compiler.d.ts.map +0 -1
- package/dist/utils/angular-compiler.js.map +0 -1
- package/dist/utils/engine-stop.d.ts.map +0 -1
- package/dist/utils/engine-stop.js.map +0 -1
- package/dist/utils/esbuild-config.d.ts.map +0 -1
- package/dist/utils/esbuild-config.js.map +0 -1
- package/dist/utils/hmr-candidates.d.ts +0 -15
- package/dist/utils/hmr-candidates.d.ts.map +0 -1
- package/dist/utils/hmr-candidates.js +0 -234
- package/dist/utils/hmr-candidates.js.map +0 -1
- package/dist/utils/lint-core.d.ts.map +0 -1
- package/dist/utils/lint-core.js.map +0 -1
- package/dist/utils/lint-utils.d.ts.map +0 -1
- package/dist/utils/lint-utils.js.map +0 -1
- package/dist/utils/lint-with-program.d.ts.map +0 -1
- package/dist/utils/lint-with-program.js.map +0 -1
- package/dist/utils/ngtsc-build-core.d.ts.map +0 -1
- package/dist/utils/ngtsc-build-core.js.map +0 -1
- package/dist/utils/rebuild-manager.d.ts.map +0 -1
- package/dist/utils/rebuild-manager.js.map +0 -1
- package/dist/utils/replace-deps.d.ts.map +0 -1
- package/dist/utils/replace-deps.js.map +0 -1
- package/dist/utils/scss-compiler.d.ts.map +0 -1
- package/dist/utils/scss-compiler.js.map +0 -1
- package/dist/utils/server-production-files.d.ts.map +0 -1
- package/dist/utils/server-production-files.js.map +0 -1
- package/dist/utils/typecheck-non-package.d.ts.map +0 -1
- package/dist/utils/typecheck-non-package.js.map +0 -1
- package/dist/utils/typecheck-serialization.d.ts.map +0 -1
- package/dist/utils/typecheck-serialization.js.map +0 -1
- package/dist/utils/vite-config.d.ts +0 -50
- package/dist/utils/vite-config.d.ts.map +0 -1
- package/dist/utils/vite-config.js +0 -242
- package/dist/utils/vite-config.js.map +0 -1
- package/dist/utils/vite-pwa-plugin.d.ts +0 -9
- package/dist/utils/vite-pwa-plugin.d.ts.map +0 -1
- package/dist/utils/vite-pwa-plugin.js +0 -139
- package/dist/utils/vite-pwa-plugin.js.map +0 -1
- package/dist/utils/vite-scope-watch-plugin.d.ts +0 -24
- package/dist/utils/vite-scope-watch-plugin.d.ts.map +0 -1
- package/dist/utils/vite-scope-watch-plugin.js +0 -51
- package/dist/utils/vite-scope-watch-plugin.js.map +0 -1
- package/dist/utils/worker-events.d.ts +0 -66
- package/dist/utils/worker-events.d.ts.map +0 -1
- package/dist/utils/worker-events.js +0 -55
- package/dist/utils/worker-events.js.map +0 -1
- package/dist/utils/worker-utils.d.ts.map +0 -1
- package/dist/utils/worker-utils.js.map +0 -1
- package/src/angular/vite-postcss-inline-plugin.ts +0 -139
- package/src/commands/publish.ts +0 -850
- package/src/orchestrators/DevWatchOrchestrator.ts +0 -594
- package/src/utils/hmr-candidates.ts +0 -327
- package/src/utils/vite-config.ts +0 -318
- package/src/utils/vite-pwa-plugin.ts +0 -168
- package/src/utils/vite-scope-watch-plugin.ts +0 -77
- package/src/utils/worker-events.ts +0 -128
- package/tests/angular/angular-compiler-hmr.spec.ts +0 -152
- package/tests/angular/hmr-candidates.spec.ts +0 -158
- package/tests/angular/linker-disk-cache.spec.ts +0 -171
- package/tests/angular/vite-angular-plugin-hmr-fallback.spec.ts +0 -333
- package/tests/angular/vite-angular-plugin-hmr.spec.ts +0 -320
- package/tests/angular/vite-angular-plugin-scss-hmr.spec.ts +0 -95
- package/tests/angular/vite-postcss-inline-plugin.spec.ts +0 -60
- package/tests/engines/vite-engine.spec.ts +0 -409
- package/tests/orchestrators/dev-watch-orchestrator.spec.ts +0 -1542
- package/tests/utils/vite-config.spec.ts +0 -780
- package/tests/utils/vite-pwa-plugin.spec.ts +0 -401
- package/tests/utils/vite-scope-watch-plugin.spec.ts +0 -218
- package/tests/utils/worker-events.spec.ts +0 -147
- package/tests/workers/client-worker-legacy.spec.ts +0 -659
- /package/dist/{utils → angular}/ngtsc-build-core.js +0 -0
- /package/dist/{utils → angular}/scss-compiler.d.ts +0 -0
- /package/dist/{utils → angular}/scss-compiler.js +0 -0
- /package/dist/{utils → esbuild}/esbuild-config.d.ts +0 -0
- /package/dist/{utils → lint}/lint-core.d.ts +0 -0
- /package/dist/{utils → lint}/lint-core.js +0 -0
- /package/dist/{utils → lint}/lint-utils.d.ts +0 -0
- /package/dist/{utils → lint}/lint-utils.js +0 -0
- /package/dist/{utils → lint}/lint-with-program.d.ts +0 -0
- /package/dist/{utils → lint}/lint-with-program.js +0 -0
- /package/dist/{infra → runtime}/ResultCollector.d.ts +0 -0
- /package/dist/{infra → runtime}/ResultCollector.js +0 -0
- /package/dist/{infra → runtime}/SignalHandler.d.ts +0 -0
- /package/dist/{infra → runtime}/SignalHandler.js +0 -0
- /package/dist/{utils → runtime}/worker-utils.d.ts +0 -0
- /package/dist/{utils → runtime}/worker-utils.js +0 -0
- /package/dist/{utils → typecheck}/typecheck-non-package.d.ts +0 -0
- /package/dist/{utils → typecheck}/typecheck-serialization.d.ts +0 -0
- /package/dist/{utils → typecheck}/typecheck-serialization.js +0 -0
- /package/src/{utils → angular}/scss-compiler.ts +0 -0
- /package/src/{utils → lint}/lint-core.ts +0 -0
- /package/src/{utils → lint}/lint-utils.ts +0 -0
- /package/src/{utils → lint}/lint-with-program.ts +0 -0
- /package/src/{infra → runtime}/ResultCollector.ts +0 -0
- /package/src/{infra → runtime}/SignalHandler.ts +0 -0
- /package/src/{utils → runtime}/worker-utils.ts +0 -0
- /package/src/{utils → typecheck}/typecheck-serialization.ts +0 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HMR 클라이언트 스크립트를 생성한다.
|
|
3
|
+
* Chrome 61+ 호환 문법으로 작성 (optional chaining, nullish coalescing 미사용).
|
|
4
|
+
* @param basePath basePath (예: "/app/")
|
|
5
|
+
*/
|
|
6
|
+
export function getHmrClientScript(_basePath) {
|
|
7
|
+
return [
|
|
8
|
+
"(function() {",
|
|
9
|
+
" var ws = null;",
|
|
10
|
+
" var reconnectDelay = 1000;",
|
|
11
|
+
"",
|
|
12
|
+
" function connect() {",
|
|
13
|
+
' ws = new WebSocket("ws://" + location.hostname + ":" + location.port);',
|
|
14
|
+
"",
|
|
15
|
+
" ws.onmessage = function(e) {",
|
|
16
|
+
" var msg = JSON.parse(e.data);",
|
|
17
|
+
"",
|
|
18
|
+
' if (msg.type === "component-update") {',
|
|
19
|
+
' if (typeof globalThis.__hmr_dispatch === "function") {',
|
|
20
|
+
" var ids = msg.ids;",
|
|
21
|
+
" for (var i = 0; i < ids.length; i++) {",
|
|
22
|
+
' globalThis.__hmr_dispatch("angular:component-update", {',
|
|
23
|
+
" id: ids[i],",
|
|
24
|
+
" timestamp: msg.timestamp",
|
|
25
|
+
" });",
|
|
26
|
+
" }",
|
|
27
|
+
" }",
|
|
28
|
+
"",
|
|
29
|
+
' } else if (msg.type === "css-update") {',
|
|
30
|
+
' var links = document.querySelectorAll(\'link[rel="stylesheet"]\');',
|
|
31
|
+
" var files = msg.files;",
|
|
32
|
+
" for (var j = 0; j < links.length; j++) {",
|
|
33
|
+
' var href = links[j].getAttribute("href");',
|
|
34
|
+
" if (href) {",
|
|
35
|
+
' var base = href.split("?")[0];',
|
|
36
|
+
' var fileName = base.substring(base.lastIndexOf("/") + 1);',
|
|
37
|
+
" if (files && files.indexOf(fileName) !== -1) {",
|
|
38
|
+
' links[j].setAttribute("href", base + "?t=" + msg.timestamp);',
|
|
39
|
+
" }",
|
|
40
|
+
" }",
|
|
41
|
+
" }",
|
|
42
|
+
"",
|
|
43
|
+
' } else if (msg.type === "full-reload") {',
|
|
44
|
+
" location.reload();",
|
|
45
|
+
" }",
|
|
46
|
+
" };",
|
|
47
|
+
"",
|
|
48
|
+
" ws.onclose = function() {",
|
|
49
|
+
" setTimeout(connect, reconnectDelay);",
|
|
50
|
+
" };",
|
|
51
|
+
" }",
|
|
52
|
+
"",
|
|
53
|
+
" connect();",
|
|
54
|
+
"})();",
|
|
55
|
+
].join("\n");
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* index.html에 HMR 클라이언트 스크립트를 주입하는 postTransform을 생성한다.
|
|
59
|
+
* Feature 1.2의 GenerateIndexHtmlOptions.postTransform에 전달하여 사용.
|
|
60
|
+
* @param basePath basePath (예: "/app/")
|
|
61
|
+
*/
|
|
62
|
+
export function createHmrPostTransform(basePath) {
|
|
63
|
+
const script = getHmrClientScript(basePath);
|
|
64
|
+
const scriptTag = `<script>${script}</script>`;
|
|
65
|
+
return (html) => {
|
|
66
|
+
const bodyCloseIdx = html.lastIndexOf("</body>");
|
|
67
|
+
if (bodyCloseIdx !== -1) {
|
|
68
|
+
return Promise.resolve(html.slice(0, bodyCloseIdx) + scriptTag + html.slice(bodyCloseIdx));
|
|
69
|
+
}
|
|
70
|
+
return Promise.resolve(html + scriptTag);
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=hmr-client-script.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hmr-client-script.js","sourceRoot":"","sources":["../../src/dev-server/hmr-client-script.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,OAAO;QACL,eAAe;QACf,kBAAkB;QAClB,8BAA8B;QAC9B,EAAE;QACF,wBAAwB;QACxB,4EAA4E;QAC5E,EAAE;QACF,kCAAkC;QAClC,qCAAqC;QACrC,EAAE;QACF,8CAA8C;QAC9C,gEAAgE;QAChE,8BAA8B;QAC9B,kDAAkD;QAClD,qEAAqE;QACrE,2BAA2B;QAC3B,wCAAwC;QACxC,iBAAiB;QACjB,aAAa;QACb,WAAW;QACX,EAAE;QACF,+CAA+C;QAC/C,4EAA4E;QAC5E,gCAAgC;QAChC,kDAAkD;QAClD,qDAAqD;QACrD,uBAAuB;QACvB,4CAA4C;QAC5C,uEAAuE;QACvE,4DAA4D;QAC5D,4EAA4E;QAC5E,eAAe;QACf,aAAa;QACb,WAAW;QACX,EAAE;QACF,gDAAgD;QAChD,4BAA4B;QAC5B,SAAS;QACT,QAAQ;QACR,EAAE;QACF,+BAA+B;QAC/B,4CAA4C;QAC5C,QAAQ;QACR,KAAK;QACL,EAAE;QACF,cAAc;QACd,OAAO;KACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAgB;IACrD,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,WAAW,MAAM,WAAW,CAAC;IAE/C,OAAO,CAAC,IAAY,EAAmB,EAAE;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QAC7F,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type http from "node:http";
|
|
2
|
+
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
3
|
+
import type esbuild from "esbuild";
|
|
4
|
+
export interface HmrServiceOptions {
|
|
5
|
+
/** HTTP 서버 (WebSocket upgrade 연결용) */
|
|
6
|
+
httpServer: http.Server;
|
|
7
|
+
/** basePath (예: "/my-app/") — 항상 /로 시작하고 /로 끝남 */
|
|
8
|
+
basePath: string;
|
|
9
|
+
/** templateUpdates Map (createCompilerPlugin과 공유) */
|
|
10
|
+
templateUpdates: Map<string, string>;
|
|
11
|
+
}
|
|
12
|
+
export interface HmrService {
|
|
13
|
+
/** 모든 연결된 WebSocket 클라이언트에 메시지를 전송한다 */
|
|
14
|
+
broadcast(message: Record<string, unknown>): void;
|
|
15
|
+
/** esbuild onEnd에서 호출: 변경 판별 + WS 메시지 디스패치 (100ms 디바운스) */
|
|
16
|
+
onBuildEnd(metafile: esbuild.Metafile): void;
|
|
17
|
+
/** HTTP 요청 핸들러 (/@ng/component 엔드포인트). true 반환 시 처리 완료 */
|
|
18
|
+
handleRequest(req: IncomingMessage, res: ServerResponse): boolean;
|
|
19
|
+
/** 리소스 정리 (WebSocket 서버 종료) */
|
|
20
|
+
close(): void;
|
|
21
|
+
}
|
|
22
|
+
export declare function createHmrService(options: HmrServiceOptions): HmrService;
|
|
23
|
+
//# sourceMappingURL=hmr-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hmr-service.d.ts","sourceRoot":"","sources":["../../src/dev-server/hmr-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,MAAM,WAAW,iBAAiB;IAChC,sCAAsC;IACtC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;IACxB,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,UAAU;IACzB,wCAAwC;IACxC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAClD,2DAA2D;IAC3D,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC7C,0DAA0D;IAC1D,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC;IAClE,+BAA+B;IAC/B,KAAK,IAAI,IAAI,CAAC;CACf;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CAwJvE"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { WebSocketServer } from "ws";
|
|
2
|
+
export function createHmrService(options) {
|
|
3
|
+
const { httpServer, basePath, templateUpdates } = options;
|
|
4
|
+
const clients = new Set();
|
|
5
|
+
const wss = new WebSocketServer({ server: httpServer });
|
|
6
|
+
wss.on("connection", (ws) => {
|
|
7
|
+
clients.add(ws);
|
|
8
|
+
ws.on("close", () => {
|
|
9
|
+
clients.delete(ws);
|
|
10
|
+
});
|
|
11
|
+
});
|
|
12
|
+
let prevOutputs;
|
|
13
|
+
let debounceTimer;
|
|
14
|
+
let pendingMetafile;
|
|
15
|
+
function onBuildEnd(metafile) {
|
|
16
|
+
pendingMetafile = metafile;
|
|
17
|
+
if (debounceTimer != null)
|
|
18
|
+
clearTimeout(debounceTimer);
|
|
19
|
+
debounceTimer = setTimeout(() => {
|
|
20
|
+
debounceTimer = undefined;
|
|
21
|
+
dispatchHmrMessage();
|
|
22
|
+
}, 100);
|
|
23
|
+
}
|
|
24
|
+
function collectOutputs(metafile) {
|
|
25
|
+
const outputs = new Map();
|
|
26
|
+
for (const [outputPath, output] of Object.entries(metafile.outputs)) {
|
|
27
|
+
const normalizedPath = outputPath.replace(/\\/g, "/");
|
|
28
|
+
if (normalizedPath.endsWith(".js") || normalizedPath.endsWith(".css")) {
|
|
29
|
+
outputs.set(normalizedPath, output.bytes);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return outputs;
|
|
33
|
+
}
|
|
34
|
+
function dispatchHmrMessage() {
|
|
35
|
+
if (pendingMetafile == null)
|
|
36
|
+
return;
|
|
37
|
+
const metafile = pendingMetafile;
|
|
38
|
+
pendingMetafile = undefined;
|
|
39
|
+
const timestamp = Date.now();
|
|
40
|
+
const currentOutputs = collectOutputs(metafile);
|
|
41
|
+
// 1. templateUpdates에 entry가 있으면 component-update
|
|
42
|
+
if (templateUpdates.size > 0) {
|
|
43
|
+
broadcast({
|
|
44
|
+
type: "component-update",
|
|
45
|
+
ids: [...templateUpdates.keys()],
|
|
46
|
+
timestamp,
|
|
47
|
+
});
|
|
48
|
+
prevOutputs = currentOutputs;
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
// 2. 이전 빌드와 비교하여 JS/CSS 변경 판별
|
|
52
|
+
if (prevOutputs == null) {
|
|
53
|
+
// 첫 번째 빌드 → full-reload
|
|
54
|
+
prevOutputs = currentOutputs;
|
|
55
|
+
broadcast({ type: "full-reload" });
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
let jsChanged = false;
|
|
59
|
+
let cssChanged = false;
|
|
60
|
+
const changedCssFiles = [];
|
|
61
|
+
for (const [path, bytes] of currentOutputs) {
|
|
62
|
+
const prevBytes = prevOutputs.get(path);
|
|
63
|
+
if (prevBytes !== bytes) {
|
|
64
|
+
if (path.endsWith(".css")) {
|
|
65
|
+
cssChanged = true;
|
|
66
|
+
changedCssFiles.push(path.split("/").pop() ?? path);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
jsChanged = true;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// 삭제된 파일 체크
|
|
74
|
+
for (const [path] of prevOutputs) {
|
|
75
|
+
if (!currentOutputs.has(path)) {
|
|
76
|
+
if (path.endsWith(".css")) {
|
|
77
|
+
cssChanged = true;
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
jsChanged = true;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
prevOutputs = currentOutputs;
|
|
85
|
+
// 3. JS 변경 없고 CSS만 변경 → css-update
|
|
86
|
+
if (!jsChanged && cssChanged && changedCssFiles.length > 0) {
|
|
87
|
+
broadcast({ type: "css-update", files: changedCssFiles, timestamp });
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
// 4. JS 변경 또는 기타 → full-reload
|
|
91
|
+
broadcast({ type: "full-reload" });
|
|
92
|
+
}
|
|
93
|
+
function broadcast(message) {
|
|
94
|
+
const data = JSON.stringify(message);
|
|
95
|
+
for (const ws of clients) {
|
|
96
|
+
if (ws.readyState === ws.OPEN) {
|
|
97
|
+
ws.send(data);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
function handleRequest(req, res) {
|
|
102
|
+
const rawUrl = req.url ?? "";
|
|
103
|
+
const parsedUrl = new URL(rawUrl, "http://localhost");
|
|
104
|
+
const pathname = decodeURIComponent(parsedUrl.pathname);
|
|
105
|
+
// basePath 제거 후 /@ng/component 확인
|
|
106
|
+
let strippedPathname;
|
|
107
|
+
if (basePath !== "/" && pathname.startsWith(basePath)) {
|
|
108
|
+
strippedPathname = pathname.slice(basePath.length - 1);
|
|
109
|
+
}
|
|
110
|
+
else if (basePath === "/") {
|
|
111
|
+
strippedPathname = pathname;
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
if (!strippedPathname.startsWith("/@ng/component")) {
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
const componentId = parsedUrl.searchParams.get("c") ?? "";
|
|
120
|
+
const body = templateUpdates.get(componentId) ?? "";
|
|
121
|
+
res.writeHead(200, {
|
|
122
|
+
"Content-Type": "text/javascript",
|
|
123
|
+
"Cache-Control": "no-cache",
|
|
124
|
+
});
|
|
125
|
+
res.end(body);
|
|
126
|
+
return true;
|
|
127
|
+
}
|
|
128
|
+
function close() {
|
|
129
|
+
if (debounceTimer != null)
|
|
130
|
+
clearTimeout(debounceTimer);
|
|
131
|
+
for (const ws of clients) {
|
|
132
|
+
ws.close();
|
|
133
|
+
}
|
|
134
|
+
clients.clear();
|
|
135
|
+
wss.close();
|
|
136
|
+
}
|
|
137
|
+
return { broadcast, onBuildEnd, handleRequest, close };
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=hmr-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hmr-service.js","sourceRoot":"","sources":["../../src/dev-server/hmr-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,11 @@ export declare class Electron {
|
|
|
15
15
|
run(url: string): Promise<void>;
|
|
16
16
|
build(outPath: string): Promise<void>;
|
|
17
17
|
private _setupNpmConf;
|
|
18
|
+
/**
|
|
19
|
+
* run()과 _bundleMainProcess()가 공유하는 esbuild 옵션을 생성한다.
|
|
20
|
+
* extraEnv가 주어지면 config.env에 병합한다 (run 모드의 ELECTRON_DEV_URL 등).
|
|
21
|
+
*/
|
|
22
|
+
private _createBaseEsbuildOptions;
|
|
18
23
|
private _bundleMainProcess;
|
|
19
24
|
private _copyPublicAssets;
|
|
20
25
|
private _copyWebAssets;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron.d.ts","sourceRoot":"","sources":["../../src/electron/electron.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAa,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzE,qBAAa,QAAQ;IAOjB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAT3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAsC;IAErE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAElC,OAAO;WAUM,MAAM,CACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,QAAQ,CAAC;IAOpB,OAAO,CAAC,MAAM,CAAC,eAAe;YAMhB,KAAK;IAoBb,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B3B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"electron.d.ts","sourceRoot":"","sources":["../../src/electron/electron.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAa,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzE,qBAAa,QAAQ;IAOjB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAT3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAsC;IAErE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAElC,OAAO;WAUM,MAAM,CACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,QAAQ,CAAC;IAOpB,OAAO,CAAC,MAAM,CAAC,eAAe;YAMhB,KAAK;IAoBb,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B3B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkG/B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YA4B7B,aAAa;IAqD3B;;;OAGG;YACW,yBAAyB;YA6BzB,kBAAkB;YAUlB,iBAAiB;YAcjB,cAAc;IAW5B,OAAO,CAAC,MAAM,CAAC,iBAAiB;YAiBlB,mBAAmB;YAyCnB,gBAAgB;CA+B/B"}
|
|
@@ -3,7 +3,7 @@ import fs from "fs";
|
|
|
3
3
|
import module from "module";
|
|
4
4
|
import { cpx, fsx, pathx } from "@simplysm/core-node";
|
|
5
5
|
import { consola, LogLevels } from "consola";
|
|
6
|
-
import { createEnvBanner } from "../
|
|
6
|
+
import { createEnvBanner } from "../esbuild/esbuild-config.js";
|
|
7
7
|
export class Electron {
|
|
8
8
|
_pkgPath;
|
|
9
9
|
_config;
|
|
@@ -70,12 +70,7 @@ export class Electron {
|
|
|
70
70
|
await this.initialize();
|
|
71
71
|
await this._copyPublicAssets();
|
|
72
72
|
const esbuild = await import("esbuild");
|
|
73
|
-
const
|
|
74
|
-
if (!(await fsx.exists(entryPoint))) {
|
|
75
|
-
throw new Error(`electron-main.ts 파일을 찾을 수 없습니다: ${entryPoint}`);
|
|
76
|
-
}
|
|
77
|
-
const builtinModules = module.builtinModules.flatMap((m) => [m, `node:${m}`]);
|
|
78
|
-
const reinstallDeps = this._config.reinstallDependencies ?? [];
|
|
73
|
+
const baseOptions = await this._createBaseEsbuildOptions({ ELECTRON_DEV_URL: url });
|
|
79
74
|
let currentElectron = null;
|
|
80
75
|
let isRestarting = false;
|
|
81
76
|
let resolveTermination = null;
|
|
@@ -95,19 +90,9 @@ export class Electron {
|
|
|
95
90
|
}
|
|
96
91
|
});
|
|
97
92
|
};
|
|
98
|
-
const envBanner = createEnvBanner({ ELECTRON_DEV_URL: url, ...this._config.env });
|
|
99
|
-
const bannerJs = "import { createRequire } from 'module'; const require = createRequire(import.meta.url);" +
|
|
100
|
-
envBanner;
|
|
101
93
|
Electron._logger.debug("esbuild context 생성 시작");
|
|
102
94
|
const ctx = await esbuild.context({
|
|
103
|
-
|
|
104
|
-
outfile: pathx.posixResolve(this._srcPath, "electron-main.js"),
|
|
105
|
-
platform: "node",
|
|
106
|
-
target: "node20",
|
|
107
|
-
format: "esm",
|
|
108
|
-
bundle: true,
|
|
109
|
-
external: ["electron", ...builtinModules, ...reinstallDeps, ...this._exclude],
|
|
110
|
-
banner: { js: bannerJs },
|
|
95
|
+
...baseOptions,
|
|
111
96
|
plugins: [
|
|
112
97
|
{
|
|
113
98
|
name: "electron-restart",
|
|
@@ -226,19 +211,21 @@ export class Electron {
|
|
|
226
211
|
}
|
|
227
212
|
//#endregion
|
|
228
213
|
//#region Private - Bundling
|
|
229
|
-
|
|
230
|
-
|
|
214
|
+
/**
|
|
215
|
+
* run()과 _bundleMainProcess()가 공유하는 esbuild 옵션을 생성한다.
|
|
216
|
+
* extraEnv가 주어지면 config.env에 병합한다 (run 모드의 ELECTRON_DEV_URL 등).
|
|
217
|
+
*/
|
|
218
|
+
async _createBaseEsbuildOptions(extraEnv) {
|
|
231
219
|
const entryPoint = pathx.posixResolve(this._pkgPath, "src/electron-main.ts");
|
|
232
220
|
if (!(await fsx.exists(entryPoint))) {
|
|
233
221
|
throw new Error(`electron-main.ts 파일을 찾을 수 없습니다: ${entryPoint}`);
|
|
234
222
|
}
|
|
235
223
|
const builtinModules = module.builtinModules.flatMap((m) => [m, `node:${m}`]);
|
|
236
224
|
const reinstallDeps = this._config.reinstallDependencies ?? [];
|
|
237
|
-
const envBanner = createEnvBanner(this._config.env);
|
|
225
|
+
const envBanner = createEnvBanner({ ...this._config.env, ...extraEnv });
|
|
238
226
|
const bannerJs = "import { createRequire } from 'module'; const require = createRequire(import.meta.url);" +
|
|
239
227
|
envBanner;
|
|
240
|
-
|
|
241
|
-
await esbuild.build({
|
|
228
|
+
return {
|
|
242
229
|
entryPoints: [entryPoint],
|
|
243
230
|
outfile: pathx.posixResolve(this._srcPath, "electron-main.js"),
|
|
244
231
|
platform: "node",
|
|
@@ -247,7 +234,13 @@ export class Electron {
|
|
|
247
234
|
bundle: true,
|
|
248
235
|
external: ["electron", ...builtinModules, ...reinstallDeps, ...this._exclude],
|
|
249
236
|
banner: { js: bannerJs },
|
|
250
|
-
}
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
async _bundleMainProcess() {
|
|
240
|
+
const esbuild = await import("esbuild");
|
|
241
|
+
const options = await this._createBaseEsbuildOptions();
|
|
242
|
+
Electron._logger.debug(`esbuild 번들링: ${options.entryPoints[0]}`);
|
|
243
|
+
await esbuild.build(options);
|
|
251
244
|
}
|
|
252
245
|
//#endregion
|
|
253
246
|
async _copyPublicAssets() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron.js","sourceRoot":"","sources":["../../src/electron/electron.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"electron.js","sourceRoot":"","sources":["../../src/electron/electron.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { type WorkerProxy } from "@simplysm/core-node";
|
|
2
|
-
import type { ResultCollector } from "../
|
|
3
|
-
import type { LintWithProgramResult } from "../
|
|
4
|
-
import type { RebuildManager } from "../
|
|
2
|
+
import type { ResultCollector } from "../runtime/ResultCollector";
|
|
3
|
+
import type { LintWithProgramResult } from "../lint/lint-with-program";
|
|
4
|
+
import type { RebuildManager } from "../runtime/rebuild-manager";
|
|
5
|
+
import type { SerializedDiagnostic } from "../typecheck/typecheck-serialization";
|
|
5
6
|
import type { BuildEngine, BuildOutput, EngineResult, PackageInfo } from "./types";
|
|
6
7
|
/**
|
|
7
8
|
* 모든 빌드 워커가 공유하는 공통 빌드 워커 이벤트
|
|
@@ -51,7 +52,7 @@ export interface BaseEngineOptions<TPkg extends PackageInfo> {
|
|
|
51
52
|
* 이벤트 처리)이 여기에 위치하며, 서브클래스는 추상 메서드를 통해
|
|
52
53
|
* 워커 경로, 빌드/워치 호출 파라미터, 타겟 결정을 제공한다.
|
|
53
54
|
*
|
|
54
|
-
*
|
|
55
|
+
* EsbuildClientEngine은 이 계층에 포함되지 않음 — serverReady 이벤트, port 관리 등 생명주기가 다름.
|
|
55
56
|
*/
|
|
56
57
|
export declare abstract class BaseEngine<TPkg extends PackageInfo, TWorkerModule extends CommonBuildWorkerModule> implements BuildEngine {
|
|
57
58
|
protected readonly _cwd: string;
|
|
@@ -78,6 +79,19 @@ export declare abstract class BaseEngine<TPkg extends PackageInfo, TWorkerModule
|
|
|
78
79
|
* 워커를 통해 워치 모드를 시작한다. 서브클래스가 엔진별 인자로 worker.startWatch()를 호출한다.
|
|
79
80
|
*/
|
|
80
81
|
protected abstract _callStartWatch(output: BuildOutput): Promise<void>;
|
|
82
|
+
/**
|
|
83
|
+
* Worker 빌드 결과를 EngineResult로 정규화한다.
|
|
84
|
+
* errors/warnings가 undefined이면 빈 배열로 변환한다.
|
|
85
|
+
*/
|
|
86
|
+
protected _normalizeResult(result: {
|
|
87
|
+
build: {
|
|
88
|
+
success: boolean;
|
|
89
|
+
errors?: string[];
|
|
90
|
+
warnings?: string[];
|
|
91
|
+
diagnostics: SerializedDiagnostic[];
|
|
92
|
+
};
|
|
93
|
+
lint?: LintWithProgramResult;
|
|
94
|
+
}): EngineResult;
|
|
81
95
|
/**
|
|
82
96
|
* 서브클래스가 제공하는 워커 경로로 워커 인스턴스를 생성한다.
|
|
83
97
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseEngine.d.ts","sourceRoot":"","sources":["../../src/engines/BaseEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,KAAK,EAAe,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"BaseEngine.d.ts","sourceRoot":"","sources":["../../src/engines/BaseEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,KAAK,EAAe,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAInF;;;GAGG;AACH,MAAM,WAAW,uBAAwB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACtE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClC,KAAK,EAAE;QACL,KAAK,EAAE;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;QACpE,IAAI,CAAC,EAAE,qBAAqB,CAAC;KAC9B,CAAC;IACF,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE;QACP,SAAS,EAAE;YACT,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,CAAC;SAC9C,CAAC;QACF,QAAQ,EAAE,uBAAuB,CAAC;KACnC,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,IAAI,SAAS,WAAW;IACzD,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,IAAI,CAAC;IACV,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;;;;;;;GAQG;AACH,8BAAsB,UAAU,CAC9B,IAAI,SAAS,WAAW,EACxB,aAAa,SAAS,uBAAuB,CAC7C,YAAW,WAAW;IAEtB,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAC9B,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACpE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,eAAe,GAAG,SAAS,CAAC;IACjE,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,cAAc,GAAG,SAAS,CAAC;IAE/D,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;IAC1D,OAAO,CAAC,YAAY,CAAS;gBAEjB,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC;IAQ5C;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,IAAI,MAAM;IAE3C;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,MAAM;IAEvC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAEzE;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAEtE;;;OAGG;IACH,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE;QACjC,KAAK,EAAE;YACL,OAAO,EAAE,OAAO,CAAC;YACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;YAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;YACpB,WAAW,EAAE,oBAAoB,EAAE,CAAC;SACrC,CAAC;QACF,IAAI,CAAC,EAAE,qBAAqB,CAAC;KAC9B,GAAG,YAAY;IAYhB;;OAEG;IACH,SAAS,CAAC,aAAa,IAAI,IAAI;IAO/B;;OAEG;IACG,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAQrD;;;OAGG;IACG,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAyCpD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAK5B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Worker } from "@simplysm/core-node";
|
|
2
2
|
import { consola } from "consola";
|
|
3
|
-
import { stopEngineWorker } from "../
|
|
3
|
+
import { stopEngineWorker } from "../runtime/engine-stop.js";
|
|
4
|
+
import { setupWatchEvents } from "../runtime/engine-watch-events.js";
|
|
4
5
|
const logger = consola.withTag("sd:cli:engine");
|
|
5
6
|
/**
|
|
6
7
|
* 빌드 엔진의 추상 기본 클래스 (TscEngine, NgtscEngine, ServerEsbuildEngine).
|
|
@@ -9,7 +10,7 @@ const logger = consola.withTag("sd:cli:engine");
|
|
|
9
10
|
* 이벤트 처리)이 여기에 위치하며, 서브클래스는 추상 메서드를 통해
|
|
10
11
|
* 워커 경로, 빌드/워치 호출 파라미터, 타겟 결정을 제공한다.
|
|
11
12
|
*
|
|
12
|
-
*
|
|
13
|
+
* EsbuildClientEngine은 이 계층에 포함되지 않음 — serverReady 이벤트, port 관리 등 생명주기가 다름.
|
|
13
14
|
*/
|
|
14
15
|
export class BaseEngine {
|
|
15
16
|
_cwd;
|
|
@@ -26,12 +27,29 @@ export class BaseEngine {
|
|
|
26
27
|
this._resultCollector = options.resultCollector;
|
|
27
28
|
this._rebuildManager = options.rebuildManager;
|
|
28
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Worker 빌드 결과를 EngineResult로 정규화한다.
|
|
32
|
+
* errors/warnings가 undefined이면 빈 배열로 변환한다.
|
|
33
|
+
*/
|
|
34
|
+
_normalizeResult(result) {
|
|
35
|
+
return {
|
|
36
|
+
build: {
|
|
37
|
+
success: result.build.success,
|
|
38
|
+
errors: result.build.errors ?? [],
|
|
39
|
+
warnings: result.build.warnings ?? [],
|
|
40
|
+
diagnostics: result.build.diagnostics,
|
|
41
|
+
},
|
|
42
|
+
lint: result.lint,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
29
45
|
/**
|
|
30
46
|
* 서브클래스가 제공하는 워커 경로로 워커 인스턴스를 생성한다.
|
|
31
47
|
*/
|
|
32
48
|
_createWorker() {
|
|
33
49
|
const workerPath = this._getWorkerPath();
|
|
34
|
-
this._worker = Worker.create(workerPath
|
|
50
|
+
this._worker = Worker.create(workerPath, {
|
|
51
|
+
resourceLimits: { maxOldGenerationSizeMb: 8192 },
|
|
52
|
+
});
|
|
35
53
|
}
|
|
36
54
|
/**
|
|
37
55
|
* 일회성 빌드 (프로덕션)
|
|
@@ -51,73 +69,34 @@ export class BaseEngine {
|
|
|
51
69
|
logger.debug(`[${this._pkg.name}] startWatch 시작`);
|
|
52
70
|
this._isWatchMode = true;
|
|
53
71
|
this._createWorker();
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
this.
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
const buildResult = {
|
|
70
|
-
name: this._pkg.name,
|
|
71
|
-
target: this._getTarget(),
|
|
72
|
-
type: "build",
|
|
73
|
-
status: event.build.success ? "success" : "error",
|
|
74
|
-
message: event.build.errors?.join("\n"),
|
|
75
|
-
};
|
|
76
|
-
this._resultCollector?.add(buildResult);
|
|
77
|
-
// 린트 결과 보고 (있는 경우)
|
|
78
|
-
if (event.lint != null) {
|
|
79
|
-
const lintResult = {
|
|
80
|
-
name: this._pkg.name,
|
|
81
|
-
target: this._getTarget(),
|
|
82
|
-
type: "lint",
|
|
83
|
-
status: event.lint.success ? "success" : "error",
|
|
84
|
-
message: event.lint.formattedOutput !== "" ? event.lint.formattedOutput : undefined,
|
|
85
|
-
};
|
|
86
|
-
this._resultCollector?.add(lintResult);
|
|
87
|
-
}
|
|
88
|
-
resolver?.();
|
|
89
|
-
resolver = undefined;
|
|
90
|
-
if (isInitialBuild) {
|
|
91
|
-
isInitialBuild = false;
|
|
92
|
-
logger.debug(`[${this._pkg.name}] 초기 빌드 완료 (success: ${event.build.success})`);
|
|
93
|
-
resolve();
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
this._worker.on("error", (data) => {
|
|
97
|
-
const event = data;
|
|
98
|
-
const result = {
|
|
72
|
+
const { waitForInitialBuild, resolveInitialBuild } = setupWatchEvents(this._worker, {
|
|
73
|
+
name: this._pkg.name,
|
|
74
|
+
target: this._getTarget(),
|
|
75
|
+
resultCollector: this._resultCollector,
|
|
76
|
+
rebuildManager: this._rebuildManager,
|
|
77
|
+
normalizeBuild: (data) => data.build,
|
|
78
|
+
});
|
|
79
|
+
// BaseEngine 전용: 경고 로깅 + 린트 결과 보고
|
|
80
|
+
this._worker.on("build", (data) => {
|
|
81
|
+
const event = data;
|
|
82
|
+
if (event.build.warnings != null && event.build.warnings.length > 0) {
|
|
83
|
+
logger.warn(`${this._pkg.name}: ${event.build.warnings.join(", ")}`);
|
|
84
|
+
}
|
|
85
|
+
if (event.lint != null) {
|
|
86
|
+
const lintResult = {
|
|
99
87
|
name: this._pkg.name,
|
|
100
88
|
target: this._getTarget(),
|
|
101
|
-
type: "
|
|
102
|
-
status: "error",
|
|
103
|
-
message: event.
|
|
89
|
+
type: "lint",
|
|
90
|
+
status: event.lint.success ? "success" : "error",
|
|
91
|
+
message: event.lint.formattedOutput !== "" ? event.lint.formattedOutput : undefined,
|
|
104
92
|
};
|
|
105
|
-
this._resultCollector?.add(
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
isInitialBuild = false;
|
|
111
|
-
resolve();
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
this._callStartWatch(output).catch(() => {
|
|
115
|
-
if (isInitialBuild) {
|
|
116
|
-
isInitialBuild = false;
|
|
117
|
-
resolve();
|
|
118
|
-
}
|
|
119
|
-
});
|
|
93
|
+
this._resultCollector?.add(lintResult);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
this._callStartWatch(output).catch(() => {
|
|
97
|
+
resolveInitialBuild();
|
|
120
98
|
});
|
|
99
|
+
return waitForInitialBuild();
|
|
121
100
|
}
|
|
122
101
|
/**
|
|
123
102
|
* 엔진을 중지하고 리소스를 정리한다
|