@nativescript/vite 8.0.0-alpha.3 → 8.0.0-alpha.31
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/README.md +51 -11
- package/configuration/angular.d.ts +34 -1
- package/configuration/angular.js +373 -163
- package/configuration/angular.js.map +1 -1
- package/configuration/base.js +184 -14
- package/configuration/base.js.map +1 -1
- package/configuration/javascript.js +5 -72
- package/configuration/javascript.js.map +1 -1
- package/configuration/solid.js +27 -1
- package/configuration/solid.js.map +1 -1
- package/configuration/typescript.js +5 -75
- package/configuration/typescript.js.map +1 -1
- package/helpers/app-components.d.ts +2 -1
- package/helpers/app-components.js.map +1 -1
- package/helpers/app-css-state.d.ts +8 -0
- package/helpers/app-css-state.js +8 -0
- package/helpers/app-css-state.js.map +1 -0
- package/helpers/bundler-context.d.ts +11 -0
- package/helpers/bundler-context.js +71 -0
- package/helpers/bundler-context.js.map +1 -0
- package/helpers/config-as-json.js +10 -0
- package/helpers/config-as-json.js.map +1 -1
- package/helpers/dev-host.d.ts +341 -0
- package/helpers/dev-host.js +617 -0
- package/helpers/dev-host.js.map +1 -0
- package/helpers/esbuild-platform-resolver.js +4 -1
- package/helpers/esbuild-platform-resolver.js.map +1 -1
- package/helpers/global-defines.d.ts +51 -0
- package/helpers/global-defines.js +77 -0
- package/helpers/global-defines.js.map +1 -1
- package/helpers/hmr-scope.d.ts +26 -0
- package/helpers/hmr-scope.js +67 -0
- package/helpers/hmr-scope.js.map +1 -0
- package/helpers/init.js +0 -18
- package/helpers/init.js.map +1 -1
- package/helpers/logging.d.ts +1 -0
- package/helpers/logging.js +63 -3
- package/helpers/logging.js.map +1 -1
- package/helpers/main-entry.d.ts +2 -1
- package/helpers/main-entry.js +430 -47
- package/helpers/main-entry.js.map +1 -1
- package/helpers/nativeclass-esbuild-plugin.d.ts +2 -1
- package/helpers/nativeclass-esbuild-plugin.js.map +1 -1
- package/helpers/nativeclass-transform.js.map +1 -1
- package/helpers/nativeclass-transformer-plugin.d.ts +9 -2
- package/helpers/nativeclass-transformer-plugin.js +157 -14
- package/helpers/nativeclass-transformer-plugin.js.map +1 -1
- package/helpers/nativescript-package-resolver.js +8 -3
- package/helpers/nativescript-package-resolver.js.map +1 -1
- package/helpers/normalize-id.d.ts +42 -0
- package/helpers/normalize-id.js +60 -0
- package/helpers/normalize-id.js.map +1 -0
- package/helpers/ns-core-url.d.ts +88 -0
- package/helpers/ns-core-url.js +191 -0
- package/helpers/ns-core-url.js.map +1 -0
- package/helpers/package-platform-aliases.js +4 -3
- package/helpers/package-platform-aliases.js.map +1 -1
- package/helpers/platform-types.d.ts +2 -0
- package/helpers/platform-types.js +2 -0
- package/helpers/platform-types.js.map +1 -0
- package/helpers/project.d.ts +35 -0
- package/helpers/project.js +120 -2
- package/helpers/project.js.map +1 -1
- package/helpers/resolver.js +17 -2
- package/helpers/resolver.js.map +1 -1
- package/helpers/ts-config-paths.d.ts +14 -0
- package/helpers/ts-config-paths.js +89 -8
- package/helpers/ts-config-paths.js.map +1 -1
- package/helpers/typescript-check.d.ts +2 -1
- package/helpers/typescript-check.js.map +1 -1
- package/helpers/workers.d.ts +20 -19
- package/helpers/workers.js +624 -4
- package/helpers/workers.js.map +1 -1
- package/hmr/client/css-handler.d.ts +1 -0
- package/hmr/client/css-handler.js +33 -20
- package/hmr/client/css-handler.js.map +1 -1
- package/hmr/client/css-update-overlay.d.ts +18 -0
- package/hmr/client/css-update-overlay.js +27 -0
- package/hmr/client/css-update-overlay.js.map +1 -0
- package/hmr/client/framework-client-strategy.d.ts +73 -0
- package/hmr/client/framework-client-strategy.js +19 -0
- package/hmr/client/framework-client-strategy.js.map +1 -0
- package/hmr/client/hmr-pending-overlay.d.ts +27 -0
- package/hmr/client/hmr-pending-overlay.js +50 -0
- package/hmr/client/hmr-pending-overlay.js.map +1 -0
- package/hmr/client/index.js +459 -164
- package/hmr/client/index.js.map +1 -1
- package/hmr/client/utils.d.ts +6 -1
- package/hmr/client/utils.js +184 -8
- package/hmr/client/utils.js.map +1 -1
- package/hmr/entry-runtime.d.ts +2 -1
- package/hmr/entry-runtime.js +252 -65
- package/hmr/entry-runtime.js.map +1 -1
- package/hmr/frameworks/angular/build/angular-linker.d.ts +12 -0
- package/hmr/frameworks/angular/build/angular-linker.js +109 -0
- package/hmr/frameworks/angular/build/angular-linker.js.map +1 -0
- package/hmr/frameworks/angular/build/inject-component-hmr-registration.d.ts +112 -0
- package/hmr/frameworks/angular/build/inject-component-hmr-registration.js +291 -0
- package/hmr/frameworks/angular/build/inject-component-hmr-registration.js.map +1 -0
- package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.d.ts +75 -0
- package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js +221 -0
- package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js.map +1 -0
- package/{helpers/angular → hmr/frameworks/angular/build}/inline-decorator-component-templates.js +1 -170
- package/hmr/frameworks/angular/build/inline-decorator-component-templates.js.map +1 -0
- package/hmr/frameworks/angular/build/js-lexer.d.ts +4 -0
- package/{helpers/angular/synthesize-decorator-ctor-parameters.js → hmr/frameworks/angular/build/js-lexer.js} +22 -96
- package/hmr/frameworks/angular/build/js-lexer.js.map +1 -0
- package/hmr/frameworks/angular/build/shared-linker.d.ts +39 -0
- package/hmr/frameworks/angular/build/shared-linker.js +128 -0
- package/hmr/frameworks/angular/build/shared-linker.js.map +1 -0
- package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js +88 -0
- package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js.map +1 -0
- package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-injectable-factories.js +1 -174
- package/hmr/frameworks/angular/build/synthesize-injectable-factories.js.map +1 -0
- package/{helpers/angular → hmr/frameworks/angular/build}/util.d.ts +1 -0
- package/hmr/frameworks/angular/build/util.js +155 -0
- package/hmr/frameworks/angular/build/util.js.map +1 -0
- package/hmr/frameworks/angular/client/index.d.ts +1 -0
- package/hmr/frameworks/angular/client/index.js +778 -20
- package/hmr/frameworks/angular/client/index.js.map +1 -1
- package/hmr/frameworks/angular/client/strategy.d.ts +9 -0
- package/hmr/frameworks/angular/client/strategy.js +19 -0
- package/hmr/frameworks/angular/client/strategy.js.map +1 -0
- package/hmr/frameworks/angular/server/angular-root-component.d.ts +79 -0
- package/hmr/frameworks/angular/server/angular-root-component.js +149 -0
- package/hmr/frameworks/angular/server/angular-root-component.js.map +1 -0
- package/hmr/frameworks/angular/server/linker.js +1 -4
- package/hmr/frameworks/angular/server/linker.js.map +1 -1
- package/hmr/frameworks/angular/server/strategy.js +448 -12
- package/hmr/frameworks/angular/server/strategy.js.map +1 -1
- package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.js +2 -2
- package/hmr/frameworks/angular/server/websocket-angular-entry.js.map +1 -0
- package/hmr/{server → frameworks/angular/server}/websocket-angular-hot-update.d.ts +17 -11
- package/hmr/frameworks/angular/server/websocket-angular-hot-update.js +336 -0
- package/hmr/frameworks/angular/server/websocket-angular-hot-update.js.map +1 -0
- package/hmr/frameworks/solid/build/solid-jsx-deps.d.ts +15 -0
- package/hmr/frameworks/solid/build/solid-jsx-deps.js +178 -0
- package/hmr/frameworks/solid/build/solid-jsx-deps.js.map +1 -0
- package/hmr/frameworks/solid/server/strategy.js +360 -16
- package/hmr/frameworks/solid/server/strategy.js.map +1 -1
- package/hmr/frameworks/typescript/server/strategy.js +28 -14
- package/hmr/frameworks/typescript/server/strategy.js.map +1 -1
- package/hmr/frameworks/vue/client/index.js +30 -199
- package/hmr/frameworks/vue/client/index.js.map +1 -1
- package/hmr/frameworks/vue/client/strategy.d.ts +7 -0
- package/hmr/frameworks/vue/client/strategy.js +83 -0
- package/hmr/frameworks/vue/client/strategy.js.map +1 -0
- package/hmr/frameworks/vue/client/vue-sfc-update-overlay.d.ts +82 -0
- package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js +133 -0
- package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js.map +1 -0
- package/hmr/frameworks/vue/server/sfc-route-assemble.d.ts +7 -0
- package/hmr/frameworks/vue/server/sfc-route-assemble.js +706 -0
- package/hmr/frameworks/vue/server/sfc-route-assemble.js.map +1 -0
- package/hmr/frameworks/vue/server/sfc-route-meta.d.ts +7 -0
- package/hmr/frameworks/vue/server/sfc-route-meta.js +80 -0
- package/hmr/frameworks/vue/server/sfc-route-meta.js.map +1 -0
- package/hmr/frameworks/vue/server/sfc-route-serve.d.ts +8 -0
- package/hmr/frameworks/vue/server/sfc-route-serve.js +457 -0
- package/hmr/frameworks/vue/server/sfc-route-serve.js.map +1 -0
- package/hmr/frameworks/vue/server/sfc-route-shared.d.ts +19 -0
- package/hmr/frameworks/vue/server/sfc-route-shared.js +14 -0
- package/hmr/frameworks/vue/server/sfc-route-shared.js.map +1 -0
- package/hmr/frameworks/vue/server/strategy.js +244 -0
- package/hmr/frameworks/vue/server/strategy.js.map +1 -1
- package/hmr/frameworks/vue/server/websocket-sfc.d.ts +15 -0
- package/hmr/frameworks/vue/server/websocket-sfc.js +20 -0
- package/hmr/frameworks/vue/server/websocket-sfc.js.map +1 -0
- package/hmr/helpers/ast-normalizer.js +52 -5
- package/hmr/helpers/ast-normalizer.js.map +1 -1
- package/hmr/helpers/cjs-named-exports.d.ts +23 -0
- package/hmr/helpers/cjs-named-exports.js +152 -0
- package/hmr/helpers/cjs-named-exports.js.map +1 -0
- package/hmr/helpers/package-exports.d.ts +16 -0
- package/hmr/helpers/package-exports.js +396 -0
- package/hmr/helpers/package-exports.js.map +1 -0
- package/hmr/server/constants.js +13 -4
- package/hmr/server/constants.js.map +1 -1
- package/hmr/server/core-sanitize.d.ts +90 -7
- package/hmr/server/core-sanitize.js +211 -56
- package/hmr/server/core-sanitize.js.map +1 -1
- package/hmr/server/device-transform-helpers.d.ts +24 -0
- package/hmr/server/device-transform-helpers.js +327 -0
- package/hmr/server/device-transform-helpers.js.map +1 -0
- package/hmr/server/framework-strategy.d.ts +95 -11
- package/hmr/server/hmr-module-graph.d.ts +37 -0
- package/hmr/server/hmr-module-graph.js +214 -0
- package/hmr/server/hmr-module-graph.js.map +1 -0
- package/hmr/server/import-map.d.ts +11 -2
- package/hmr/server/import-map.js +59 -40
- package/hmr/server/import-map.js.map +1 -1
- package/hmr/server/index.js +7 -16
- package/hmr/server/index.js.map +1 -1
- package/hmr/server/ns-core-cjs-shape.d.ts +204 -0
- package/hmr/server/ns-core-cjs-shape.js +271 -0
- package/hmr/server/ns-core-cjs-shape.js.map +1 -0
- package/hmr/server/ns-rt-bridge.d.ts +51 -0
- package/hmr/server/ns-rt-bridge.js +131 -0
- package/hmr/server/ns-rt-bridge.js.map +1 -0
- package/hmr/server/ns-rt-route.d.ts +5 -0
- package/hmr/server/ns-rt-route.js +35 -0
- package/hmr/server/ns-rt-route.js.map +1 -0
- package/hmr/server/perf-instrumentation.d.ts +114 -0
- package/hmr/server/perf-instrumentation.js +195 -0
- package/hmr/server/perf-instrumentation.js.map +1 -0
- package/hmr/server/process-code-for-device.d.ts +15 -0
- package/hmr/server/process-code-for-device.js +654 -0
- package/hmr/server/process-code-for-device.js.map +1 -0
- package/hmr/server/require-guard.d.ts +1 -0
- package/hmr/server/require-guard.js +12 -0
- package/hmr/server/require-guard.js.map +1 -0
- package/hmr/server/rewrite-imports.d.ts +2 -0
- package/hmr/server/rewrite-imports.js +604 -0
- package/hmr/server/rewrite-imports.js.map +1 -0
- package/hmr/server/route-helpers.d.ts +7 -0
- package/hmr/server/route-helpers.js +13 -0
- package/hmr/server/route-helpers.js.map +1 -0
- package/hmr/server/server-origin.d.ts +12 -0
- package/hmr/server/server-origin.js +66 -0
- package/hmr/server/server-origin.js.map +1 -0
- package/hmr/server/shared-transform-request.js +12 -5
- package/hmr/server/shared-transform-request.js.map +1 -1
- package/hmr/server/transform-cache-invalidation.d.ts +11 -0
- package/hmr/server/transform-cache-invalidation.js +84 -0
- package/hmr/server/transform-cache-invalidation.js.map +1 -0
- package/hmr/server/vendor-bare-module-shims.d.ts +4 -0
- package/hmr/server/vendor-bare-module-shims.js +80 -0
- package/hmr/server/vendor-bare-module-shims.js.map +1 -0
- package/hmr/server/vite-plugin.js +60 -42
- package/hmr/server/vite-plugin.js.map +1 -1
- package/hmr/server/websocket-core-bridge.d.ts +41 -6
- package/hmr/server/websocket-core-bridge.js +72 -75
- package/hmr/server/websocket-core-bridge.js.map +1 -1
- package/hmr/server/websocket-css-hot-update.d.ts +33 -0
- package/hmr/server/websocket-css-hot-update.js +65 -0
- package/hmr/server/websocket-css-hot-update.js.map +1 -0
- package/hmr/server/websocket-device-transform.d.ts +3 -0
- package/hmr/server/websocket-device-transform.js +7 -0
- package/hmr/server/websocket-device-transform.js.map +1 -0
- package/hmr/server/websocket-graph-upsert.d.ts +15 -0
- package/hmr/server/websocket-graph-upsert.js +20 -0
- package/hmr/server/websocket-graph-upsert.js.map +1 -1
- package/hmr/server/websocket-hmr-pending.d.ts +37 -0
- package/hmr/server/websocket-hmr-pending.js +55 -0
- package/hmr/server/websocket-hmr-pending.js.map +1 -0
- package/hmr/server/websocket-hot-update.d.ts +77 -0
- package/hmr/server/websocket-hot-update.js +330 -0
- package/hmr/server/websocket-hot-update.js.map +1 -0
- package/hmr/server/websocket-import-map-route.d.ts +15 -0
- package/hmr/server/websocket-import-map-route.js +46 -0
- package/hmr/server/websocket-import-map-route.js.map +1 -0
- package/hmr/server/websocket-module-bindings.js +3 -3
- package/hmr/server/websocket-module-bindings.js.map +1 -1
- package/hmr/server/websocket-module-specifiers.d.ts +66 -2
- package/hmr/server/websocket-module-specifiers.js +202 -19
- package/hmr/server/websocket-module-specifiers.js.map +1 -1
- package/hmr/server/websocket-ns-core.d.ts +21 -0
- package/hmr/server/websocket-ns-core.js +306 -0
- package/hmr/server/websocket-ns-core.js.map +1 -0
- package/hmr/server/websocket-ns-entry.d.ts +21 -0
- package/hmr/server/websocket-ns-entry.js +150 -0
- package/hmr/server/websocket-ns-entry.js.map +1 -0
- package/hmr/server/websocket-ns-m-paths.d.ts +3 -0
- package/hmr/server/websocket-ns-m-paths.js +92 -0
- package/hmr/server/websocket-ns-m-paths.js.map +1 -0
- package/hmr/server/websocket-ns-m-request.d.ts +45 -0
- package/hmr/server/websocket-ns-m-request.js +196 -0
- package/hmr/server/websocket-ns-m-request.js.map +1 -0
- package/hmr/server/websocket-ns-m.d.ts +33 -0
- package/hmr/server/websocket-ns-m.js +748 -0
- package/hmr/server/websocket-ns-m.js.map +1 -0
- package/hmr/server/websocket-served-module-helpers.d.ts +39 -0
- package/hmr/server/websocket-served-module-helpers.js +654 -0
- package/hmr/server/websocket-served-module-helpers.js.map +1 -0
- package/hmr/server/websocket-txn.d.ts +6 -0
- package/hmr/server/websocket-txn.js +39 -0
- package/hmr/server/websocket-txn.js.map +1 -0
- package/hmr/server/websocket-vendor-unifier.d.ts +9 -0
- package/hmr/server/websocket-vendor-unifier.js +46 -0
- package/hmr/server/websocket-vendor-unifier.js.map +1 -0
- package/hmr/server/websocket.d.ts +8 -39
- package/hmr/server/websocket.js +602 -6049
- package/hmr/server/websocket.js.map +1 -1
- package/hmr/shared/ns-globals.d.ts +118 -0
- package/hmr/shared/ns-globals.js +27 -0
- package/hmr/shared/ns-globals.js.map +1 -0
- package/hmr/shared/protocol.d.ts +136 -0
- package/hmr/shared/protocol.js +28 -0
- package/hmr/shared/protocol.js.map +1 -0
- package/hmr/shared/runtime/boot-placeholder-ui.d.ts +69 -0
- package/hmr/shared/runtime/boot-placeholder-ui.js +101 -0
- package/hmr/shared/runtime/boot-placeholder-ui.js.map +1 -0
- package/hmr/shared/runtime/boot-progress.d.ts +40 -0
- package/hmr/shared/runtime/boot-progress.js +128 -0
- package/hmr/shared/runtime/boot-progress.js.map +1 -0
- package/hmr/shared/runtime/boot-timeline.d.ts +18 -0
- package/hmr/shared/runtime/boot-timeline.js +52 -0
- package/hmr/shared/runtime/boot-timeline.js.map +1 -0
- package/hmr/shared/runtime/dev-overlay-snapshots.d.ts +31 -0
- package/hmr/shared/runtime/dev-overlay-snapshots.js +324 -0
- package/hmr/shared/runtime/dev-overlay-snapshots.js.map +1 -0
- package/hmr/shared/runtime/dev-overlay.d.ts +75 -26
- package/hmr/shared/runtime/dev-overlay.js +990 -260
- package/hmr/shared/runtime/dev-overlay.js.map +1 -1
- package/hmr/shared/runtime/module-provenance.js +1 -4
- package/hmr/shared/runtime/module-provenance.js.map +1 -1
- package/hmr/shared/runtime/root-placeholder-view.d.ts +19 -0
- package/hmr/shared/runtime/root-placeholder-view.js +310 -0
- package/hmr/shared/runtime/root-placeholder-view.js.map +1 -0
- package/hmr/shared/runtime/root-placeholder.js +352 -194
- package/hmr/shared/runtime/root-placeholder.js.map +1 -1
- package/hmr/shared/runtime/session-bootstrap.js +164 -1
- package/hmr/shared/runtime/session-bootstrap.js.map +1 -1
- package/hmr/shared/runtime/vendor-bootstrap.js +1 -9
- package/hmr/shared/runtime/vendor-bootstrap.js.map +1 -1
- package/hmr/shared/vendor/manifest-collect.d.ts +4 -0
- package/hmr/shared/vendor/manifest-collect.js +512 -0
- package/hmr/shared/vendor/manifest-collect.js.map +1 -0
- package/hmr/shared/vendor/manifest-loader.d.ts +2 -1
- package/hmr/shared/vendor/manifest-loader.js +3 -2
- package/hmr/shared/vendor/manifest-loader.js.map +1 -1
- package/hmr/shared/vendor/manifest.d.ts +1 -7
- package/hmr/shared/vendor/manifest.js +102 -741
- package/hmr/shared/vendor/manifest.js.map +1 -1
- package/hmr/shared/vendor/vendor-device-shim.d.ts +1 -0
- package/hmr/shared/vendor/vendor-device-shim.js +208 -0
- package/hmr/shared/vendor/vendor-device-shim.js.map +1 -0
- package/hmr/shared/vendor/vendor-esbuild-plugins.d.ts +16 -0
- package/hmr/shared/vendor/vendor-esbuild-plugins.js +203 -0
- package/hmr/shared/vendor/vendor-esbuild-plugins.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +5 -0
- package/index.js.map +1 -1
- package/package.json +55 -11
- package/runtime/core-aliases-early.js +17 -41
- package/runtime/core-aliases-early.js.map +1 -1
- package/helpers/angular/angular-linker.d.ts +0 -13
- package/helpers/angular/angular-linker.js +0 -194
- package/helpers/angular/angular-linker.js.map +0 -1
- package/helpers/angular/inline-decorator-component-templates.js.map +0 -1
- package/helpers/angular/shared-linker.d.ts +0 -11
- package/helpers/angular/shared-linker.js +0 -75
- package/helpers/angular/shared-linker.js.map +0 -1
- package/helpers/angular/synthesize-decorator-ctor-parameters.js.map +0 -1
- package/helpers/angular/synthesize-injectable-factories.js.map +0 -1
- package/helpers/angular/util.js +0 -67
- package/helpers/angular/util.js.map +0 -1
- package/helpers/prelink-angular.d.ts +0 -2
- package/helpers/prelink-angular.js +0 -117
- package/helpers/prelink-angular.js.map +0 -1
- package/hmr/server/websocket-angular-entry.js.map +0 -1
- package/hmr/server/websocket-angular-hot-update.js +0 -239
- package/hmr/server/websocket-angular-hot-update.js.map +0 -1
- /package/{helpers/angular → hmr/frameworks/angular/build}/inline-decorator-component-templates.d.ts +0 -0
- /package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-decorator-ctor-parameters.d.ts +0 -0
- /package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-injectable-factories.d.ts +0 -0
- /package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.d.ts +0 -0
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import * as path from 'path';
|
|
2
2
|
import { readFileSync, readdirSync, statSync } from 'fs';
|
|
3
|
-
import * as PAT from '../../../server/constants.js';
|
|
4
3
|
import { linkAngularPartialsIfNeeded } from './linker.js';
|
|
4
|
+
import { prepareAngularEntryForDevice } from '../../../server/rewrite-imports.js';
|
|
5
5
|
import { getProjectAppPath, getProjectAppVirtualPath } from '../../../../helpers/utils.js';
|
|
6
6
|
import { isRuntimeGraphExcludedPath, matchesRuntimeGraphModuleId, shouldIncludeRuntimeGraphFile, shouldSkipRuntimeGraphDirectoryName } from '../../../server/runtime-graph-filter.js';
|
|
7
|
+
import { stripJsComments } from '../build/util.js';
|
|
8
|
+
import { runHotUpdatePrologue } from '../../../server/websocket-hot-update.js';
|
|
9
|
+
import { collectAngularEvictionUrls, collectAngularHotUpdateRoots, collectAngularTransformCacheInvalidationUrls, shouldInvalidateAngularTransitiveImporters, shouldSuppressDefaultViteHotUpdate } from './websocket-angular-hot-update.js';
|
|
10
|
+
import { collectTransitiveImportersForInvalidation } from '../../../server/transform-cache-invalidation.js';
|
|
11
|
+
import { getServerOrigin } from '../../../server/server-origin.js';
|
|
12
|
+
import { isSameAngularModuleRel } from './angular-root-component.js';
|
|
7
13
|
// Angular server strategy for NativeScript HMR.
|
|
8
14
|
//
|
|
9
15
|
// Responsibilities:
|
|
@@ -63,19 +69,441 @@ export const angularServerStrategy = {
|
|
|
63
69
|
// Treat only application TS/JS as candidates for ordering/graph purposes
|
|
64
70
|
return matchesRuntimeGraphModuleId(id, ANGULAR_APP_VIRTUAL_WITH_SLASH, ANGULAR_RUNTIME_FILE_PATTERN);
|
|
65
71
|
},
|
|
66
|
-
|
|
67
|
-
|
|
72
|
+
// Defer the prologue's common-block delta broadcast: the Angular HMR client
|
|
73
|
+
// re-fetches the changed module, so the broadcast must come AFTER this
|
|
74
|
+
// strategy's hot-update tail purges its transform caches — otherwise the
|
|
75
|
+
// client's re-import races the server's invalidation and serves stale code.
|
|
76
|
+
deferDeltaBroadcast: true,
|
|
77
|
+
// Angular HTML templates skip the prologue's default module-graph delta
|
|
78
|
+
// upsert: the tail below re-queries the graph and drives Analog's in-place
|
|
79
|
+
// swap (or the NS reboot path) itself.
|
|
80
|
+
skipDefaultGraphUpdate(file) {
|
|
81
|
+
return /\.(html|htm)$/i.test(file);
|
|
68
82
|
},
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
83
|
+
// Full Angular hot-update handler: shared prologue, then the Angular tail
|
|
84
|
+
// (TS/HTML + root-component detection, hot-update-root + transitive-importer
|
|
85
|
+
// invalidation, shared transform-cache purge, and the `ns:angular-update`
|
|
86
|
+
// reboot broadcast). Reached directly from the WebSocket plugin's
|
|
87
|
+
// handleHotUpdate hook.
|
|
88
|
+
async handleHotUpdate(ctx, deps) {
|
|
89
|
+
const state = await runHotUpdatePrologue(ctx, deps);
|
|
90
|
+
if (!state)
|
|
91
|
+
return;
|
|
92
|
+
const { root, updateRel, metrics: updateMetrics, emitSummary: emitHmrUpdateSummary } = state;
|
|
93
|
+
const { strategy, verbose, wss, moduleGraph, sharedTransformRequest, getBootstrapEntryRelPath, isSocketClientOpen, getHmrSocketRole, rememberAngularReloadSuppression, getRootComponentIdentity } = deps;
|
|
94
|
+
const { file, server } = ctx;
|
|
95
|
+
// For Angular, react to component TS or external template HTML changes under /src
|
|
96
|
+
const isHtml = file.endsWith('.html');
|
|
97
|
+
const isTs = file.endsWith('.ts');
|
|
98
|
+
// Web-style template HMR opt-in: when the user enables Angular's
|
|
99
|
+
// `liveReload` (Analog's flag, mirrored from `--hmr` in
|
|
100
|
+
// `configuration/angular.ts`), `.html` edits are owned by
|
|
101
|
+
// Analog's `handleHotUpdate` which sends
|
|
102
|
+
// `server.ws.send('angular:component-update', { id, timestamp })`.
|
|
103
|
+
// The runtime listener registered in each compiled component
|
|
104
|
+
// `.mjs` then dynamic-imports `/@ng/component?c=<id>&t=<ts>` and
|
|
105
|
+
// calls `ɵɵreplaceMetadata` on the live class — swapping the
|
|
106
|
+
// template definition AND walking live `LView`s to recreate
|
|
107
|
+
// matching views in-place. NO Angular reboot, NO route navigation.
|
|
108
|
+
//
|
|
109
|
+
// The NS reboot path (`ns:angular-update` → `__reboot_ng_modules__`)
|
|
110
|
+
// must be SKIPPED for HTML edits when this is on; otherwise both
|
|
111
|
+
// fire, the reboot wins, and we lose the in-place swap. The
|
|
112
|
+
// reboot path stays intact for `.ts` edits — those genuinely
|
|
113
|
+
// change module-level code (services, route configs, NgModule
|
|
114
|
+
// providers) that Angular's `ɵɵreplaceMetadata` can't reach.
|
|
115
|
+
//
|
|
116
|
+
// We detect "live reload mode is on" by checking that the
|
|
117
|
+
// `analogjs-live-reload-plugin` registered itself with the
|
|
118
|
+
// dev server. That plugin only exists when `liveReload: true`
|
|
119
|
+
// was passed to `angular()` in `configuration/angular.ts`,
|
|
120
|
+
// which gates on `hmrActive`. So this check is a clean
|
|
121
|
+
// boolean: true iff the in-place pipeline is wired up.
|
|
122
|
+
const angularLiveReloadActive = (server.config?.plugins ?? []).some((plugin) => plugin?.name === 'analogjs-live-reload-plugin');
|
|
123
|
+
// Root-component edits must NOT take Analog's in-place
|
|
124
|
+
// `ɵɵreplaceMetadata` path: the root component hosts the
|
|
125
|
+
// navigation `Frame` via `<page-router-outlet>`, and replacing
|
|
126
|
+
// its metadata recreates the root view without re-navigating,
|
|
127
|
+
// leaving a permanent white screen. We route the edit to the
|
|
128
|
+
// reboot broadcast below instead (which re-bootstraps and
|
|
129
|
+
// replays route state). The companion guard in the websocket
|
|
130
|
+
// bridge drops the in-place `angular:component-update` event for
|
|
131
|
+
// the root so the two paths don't race. `.ts` root edits already
|
|
132
|
+
// fall through to the reboot path; this only re-routes `.html`.
|
|
133
|
+
const rootComponent = getRootComponentIdentity();
|
|
134
|
+
// `isSameAngularModuleRel` normalizes separators + leading slash internally,
|
|
135
|
+
// so the raw project-relative path can be passed straight through.
|
|
136
|
+
const isRootComponentEdit = !!rootComponent && isSameAngularModuleRel(rootComponent.moduleRel, path.relative(root, file));
|
|
137
|
+
if (isHtml && angularLiveReloadActive && !isRootComponentEdit) {
|
|
138
|
+
updateMetrics.tAfterFramework = Date.now();
|
|
139
|
+
if (verbose) {
|
|
140
|
+
const rel = '/' + path.relative(root, file).split(path.sep).join('/');
|
|
141
|
+
console.info(`[ns-hmr][server] HTML edit handed off to Analog component-update path; skipping ns:angular-update broadcast (file=${rel})`);
|
|
142
|
+
}
|
|
143
|
+
// Re-query the moduleGraph for this file AFTER awaiting
|
|
144
|
+
// `graphInitialPopulationPromise` (done at the top of
|
|
145
|
+
// `handleHotUpdate`) and return the freshly-discovered
|
|
146
|
+
// modules so they propagate to Analog's `handleHotUpdate`
|
|
147
|
+
// in the same chain.
|
|
148
|
+
//
|
|
149
|
+
// Vite v8 builds the initial `mixedHmrContext.modules`
|
|
150
|
+
// from `mixedModuleGraph.getModulesByFile(file)` BEFORE
|
|
151
|
+
// any plugin runs. On the very first save after a cold
|
|
152
|
+
// dev-server start, the moduleGraph for the changed
|
|
153
|
+
// `.html` template has not yet been populated — that
|
|
154
|
+
// population happens lazily via `populateInitialGraph`
|
|
155
|
+
// → `transformRequest` → Analog's `transform` hook →
|
|
156
|
+
// `addWatchFile(htmlFile)` → `vite:import-analysis`
|
|
157
|
+
// consumes `_addedImports` and finally calls
|
|
158
|
+
// `moduleGraph.updateModuleInfo` which registers the
|
|
159
|
+
// `html → component.ts` importer relationship in
|
|
160
|
+
// `fileToModulesMap`. All of that work races against the
|
|
161
|
+
// file-watcher event for the `.html` edit, and the
|
|
162
|
+
// watcher event almost always wins — so `ctx.modules`
|
|
163
|
+
// arrives as `[]` even though the component is fully
|
|
164
|
+
// compiled and ready to receive an in-place template
|
|
165
|
+
// swap.
|
|
166
|
+
//
|
|
167
|
+
// Returning `undefined` here would propagate that empty
|
|
168
|
+
// `ctx.modules` to the next plugin (Analog's handler),
|
|
169
|
+
// which iterates with `ctx.modules.forEach(mod => mod
|
|
170
|
+
// .importers.forEach(imp => …))` — a no-op when
|
|
171
|
+
// `ctx.modules` is empty. Analog never broadcasts
|
|
172
|
+
// `angular:component-update`, never marks anything
|
|
173
|
+
// self-accepting, and Vite falls back to a `full-reload`
|
|
174
|
+
// payload that the device runtime cannot honor (NS apps
|
|
175
|
+
// don't have a browser-style page reload). The
|
|
176
|
+
// user-visible symptom is exactly the "first save logs
|
|
177
|
+
// `(client) page reload` and the simulator gets stuck
|
|
178
|
+
// on the HMR-applying overlay forever" failure we hit
|
|
179
|
+
// before this re-query was added.
|
|
180
|
+
//
|
|
181
|
+
// Since we already `await graphInitialPopulationPromise`
|
|
182
|
+
// at the top of this function, by this point the
|
|
183
|
+
// moduleGraph IS populated (every component file in
|
|
184
|
+
// `src/` has been transformed and `addWatchFile` has
|
|
185
|
+
// been consumed by `import-analysis`). A fresh
|
|
186
|
+
// `getModulesByFile(file)` call now returns the template
|
|
187
|
+
// module with the importing component's module in
|
|
188
|
+
// `.importers`. Returning that array overwrites
|
|
189
|
+
// `mixedHmrContext.modules` so Analog's handler — which
|
|
190
|
+
// runs RIGHT AFTER us in the same chain — sees the
|
|
191
|
+
// populated importer graph, identifies the component
|
|
192
|
+
// class via `classNames.get(imp.id)`, and broadcasts
|
|
193
|
+
// `angular:component-update` for `ɵɵreplaceMetadata`.
|
|
194
|
+
//
|
|
195
|
+
// We still skip the reboot path (`ns:angular-update`)
|
|
196
|
+
// for HTML edits — control never reaches the
|
|
197
|
+
// reboot-broadcast block below because of the `return`
|
|
198
|
+
// here. The default-Vite-full-reload suppression is now
|
|
199
|
+
// Analog's responsibility: it marks the changed module
|
|
200
|
+
// self-accepting, which tells Vite the update is
|
|
201
|
+
// handled and prevents the fallback.
|
|
202
|
+
let resolvedModules = ctx.modules;
|
|
203
|
+
try {
|
|
204
|
+
const fresh = server.moduleGraph?.getModulesByFile?.(file);
|
|
205
|
+
if (fresh && fresh.size > 0) {
|
|
206
|
+
resolvedModules = [...fresh];
|
|
207
|
+
if (verbose) {
|
|
208
|
+
console.info(`[ns-hmr][server] re-queried modules after graph population: count=${resolvedModules.length} (was ${ctx.modules?.length ?? 0})`);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
catch (refetchErr) {
|
|
213
|
+
if (verbose) {
|
|
214
|
+
console.warn('[ns-hmr][server] failed to re-query moduleGraph for html update', refetchErr);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
emitHmrUpdateSummary();
|
|
218
|
+
return resolvedModules;
|
|
219
|
+
}
|
|
220
|
+
const angularHotUpdateRoots = collectAngularHotUpdateRoots({
|
|
221
|
+
file,
|
|
222
|
+
modules: ctx.modules,
|
|
223
|
+
getModuleById: (id) => server.moduleGraph.getModuleById(id),
|
|
224
|
+
getModulesByFile: (targetFile) => server.moduleGraph.getModulesByFile?.(targetFile),
|
|
225
|
+
});
|
|
226
|
+
if (verbose) {
|
|
227
|
+
console.info(`[ns-hmr][server] hot-update file=${file} isHtml=${isHtml} isTs=${isTs} ctxModules=${Array.from(ctx.modules || []).length} hotUpdateRoots=${angularHotUpdateRoots.length} (${angularHotUpdateRoots
|
|
228
|
+
.map((m) => m?.id ?? '(none)')
|
|
229
|
+
.slice(0, 8)
|
|
230
|
+
.join(', ')}${angularHotUpdateRoots.length > 8 ? ', …' : ''})`);
|
|
231
|
+
}
|
|
232
|
+
if (!(isHtml || isTs))
|
|
233
|
+
return;
|
|
234
|
+
updateMetrics.invalidated += angularHotUpdateRoots.length;
|
|
235
|
+
if (angularHotUpdateRoots.length) {
|
|
236
|
+
for (const mod of angularHotUpdateRoots) {
|
|
237
|
+
try {
|
|
238
|
+
server.moduleGraph.invalidateModule(mod);
|
|
239
|
+
}
|
|
240
|
+
catch (invalidationError) {
|
|
241
|
+
if (verbose) {
|
|
242
|
+
console.warn('[hmr-ws][angular] hot-update root invalidation failed', mod?.id, invalidationError);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
if (verbose) {
|
|
247
|
+
console.log('[hmr-ws][angular] invalidated hot-update root modules:', angularHotUpdateRoots.length);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
const angularTransitiveInvalidationRoots = (angularHotUpdateRoots.length ? angularHotUpdateRoots : ctx.modules);
|
|
251
|
+
// Read the source for `.ts/.tsx/.js/.jsx` edits so
|
|
252
|
+
// `shouldInvalidateAngularTransitiveImporters` can
|
|
253
|
+
// distinguish leaf modules (constants/utils) from real
|
|
254
|
+
// Angular files. If `ctx.read()` throws (file deleted, race
|
|
255
|
+
// against the watcher), `angularChangedSource` stays
|
|
256
|
+
// undefined and we fall back to the conservative "always
|
|
257
|
+
// invalidate transitively" behavior.
|
|
258
|
+
let angularChangedSource;
|
|
259
|
+
if (isTs) {
|
|
260
|
+
try {
|
|
261
|
+
angularChangedSource = await ctx.read();
|
|
262
|
+
}
|
|
263
|
+
catch {
|
|
264
|
+
angularChangedSource = undefined;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
const angularNeedsTransitive = shouldInvalidateAngularTransitiveImporters({
|
|
268
|
+
flavor: strategy.flavor,
|
|
269
|
+
file,
|
|
270
|
+
source: angularChangedSource,
|
|
271
|
+
});
|
|
272
|
+
// Surface the narrowing decision on every `.ts` Angular hot
|
|
273
|
+
// update (HTML routes always invalidate transitively and
|
|
274
|
+
// aren't subject to narrowing, so we leave them as
|
|
275
|
+
// `undefined` — the field is omitted from the summary line).
|
|
276
|
+
// The boolean is the inverse of `angularNeedsTransitive`
|
|
277
|
+
// because "needs transitive" is the broad (un-narrowed)
|
|
278
|
+
// behavior.
|
|
279
|
+
if (isTs) {
|
|
280
|
+
updateMetrics.narrowed = !angularNeedsTransitive;
|
|
281
|
+
}
|
|
282
|
+
// Stable URL + Explicit Invalidation:
|
|
283
|
+
//
|
|
284
|
+
// Compute the transitive importer closure ONCE here and reuse
|
|
285
|
+
// it for (a) `server.moduleGraph.invalidateModule` (so Vite's
|
|
286
|
+
// transform pipeline re-runs on next request), (b) the shared
|
|
287
|
+
// transform-request cache, and (c) the runtime eviction set
|
|
288
|
+
// we broadcast in `ns:angular-update`. Consolidating this
|
|
289
|
+
// removes a redundant graph walk and guarantees the three
|
|
290
|
+
// consumers see the exact same set of importers (otherwise a
|
|
291
|
+
// late module-graph mutation between calls could leave an
|
|
292
|
+
// asymmetric narrowed/broad mix).
|
|
293
|
+
//
|
|
294
|
+
// We separate Vite-transform narrowing from runtime eviction:
|
|
295
|
+
// `angularNeedsTransitive` answers the question "does the
|
|
296
|
+
// changed file's symbol shape change such that importers
|
|
297
|
+
// must be re-transformed by Vite?". The runtime, however,
|
|
298
|
+
// has a stricter requirement: ESM live bindings only refresh
|
|
299
|
+
// if the importing module re-evaluates inside V8. A
|
|
300
|
+
// constants file with no Angular decorator does NOT need a
|
|
301
|
+
// Vite re-transform of its importers (their compiled JS is
|
|
302
|
+
// identical), but its importers still hold stale bindings to
|
|
303
|
+
// the OLD constants Module record. After eviction + re-import
|
|
304
|
+
// of `main.ts`, V8 sees the cached importers, returns them
|
|
305
|
+
// unchanged, and they continue to read the OLD values. The
|
|
306
|
+
// user-visible symptom: HMR completes successfully, logs are
|
|
307
|
+
// clean, but the simulator does not reflect the change.
|
|
308
|
+
//
|
|
309
|
+
// The fix: ALWAYS compute the transitive importer closure
|
|
310
|
+
// for runtime eviction. Only skip Vite's
|
|
311
|
+
// `moduleGraph.invalidate` + transform-cache purge when
|
|
312
|
+
// `angularNeedsTransitive` is false — those are the genuine
|
|
313
|
+
// narrowing wins (saves re-transform work on the server).
|
|
314
|
+
// The eviction set always includes importers so V8 re-fetches
|
|
315
|
+
// and re-binds them.
|
|
316
|
+
if (verbose) {
|
|
317
|
+
console.info(`[ns-hmr][server] angularNeedsTransitive=${angularNeedsTransitive} (file=${path.basename(file)})`);
|
|
318
|
+
}
|
|
319
|
+
let transitiveImporters = [];
|
|
320
|
+
try {
|
|
321
|
+
transitiveImporters = collectTransitiveImportersForInvalidation({
|
|
322
|
+
modules: angularTransitiveInvalidationRoots,
|
|
323
|
+
isExcluded: (id) => id.includes('/node_modules/'),
|
|
324
|
+
maxDepth: 16,
|
|
325
|
+
});
|
|
326
|
+
if (verbose) {
|
|
327
|
+
console.info(`[ns-hmr][server] transitiveImporters count=${transitiveImporters.length} firstN=`, transitiveImporters.slice(0, 16).map((m) => m?.id ?? '(none)'));
|
|
328
|
+
}
|
|
329
|
+
if (angularNeedsTransitive) {
|
|
330
|
+
updateMetrics.invalidated += transitiveImporters.length;
|
|
331
|
+
for (const mod of transitiveImporters) {
|
|
332
|
+
try {
|
|
333
|
+
server.moduleGraph.invalidateModule(mod);
|
|
334
|
+
}
|
|
335
|
+
catch (invalidationError) {
|
|
336
|
+
if (verbose) {
|
|
337
|
+
console.warn('[hmr-ws][angular] transitive importer invalidation failed', mod?.id, invalidationError);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
if (verbose && transitiveImporters.length) {
|
|
342
|
+
console.log('[hmr-ws][angular] invalidated transitive importers:', transitiveImporters.length);
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
else if (isTs && typeof angularChangedSource === 'string') {
|
|
346
|
+
// Surfacing this log unconditionally lets the user
|
|
347
|
+
// immediately confirm whether narrowing fired for a
|
|
348
|
+
// given `.ts` edit (the summary line below still
|
|
349
|
+
// emits `narrowed=yes`/`no`, but having both makes
|
|
350
|
+
// the decision easier to spot in noisy logs and lets
|
|
351
|
+
// the user diff scenarios without flipping
|
|
352
|
+
// `NS_HMR_VERBOSE=true`).
|
|
353
|
+
//
|
|
354
|
+
// Narrowing means "skip Vite re-transform" (the
|
|
355
|
+
// importers still get evicted from the V8 module
|
|
356
|
+
// registry so live bindings refresh). The importer
|
|
357
|
+
// count is appended so the distinction is visible.
|
|
358
|
+
if (verbose && transitiveImporters.length) {
|
|
359
|
+
console.log(`[hmr-ws][angular] narrowed transitive invalidation (no @Component/@Directive/@Pipe/@Injectable/@NgModule): ${updateRel} — Vite transform skipped, runtime eviction includes ${transitiveImporters.length} importer(s)`);
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
catch (error) {
|
|
364
|
+
if (verbose)
|
|
365
|
+
console.warn('[hmr-ws][angular] transitive importer collection failed', error);
|
|
366
|
+
}
|
|
367
|
+
try {
|
|
368
|
+
// Purge shared transform cache for the changed file +
|
|
369
|
+
// hot-update roots unconditionally (their transform
|
|
370
|
+
// output IS different now). Transitive importers are
|
|
371
|
+
// only purged when narrowing decides their output may
|
|
372
|
+
// have changed; otherwise their cached transforms are
|
|
373
|
+
// still valid (compiled JS is identical even though the
|
|
374
|
+
// runtime must re-evaluate them to refresh ESM bindings).
|
|
375
|
+
const transformCacheInvalidationUrls = new Set(collectAngularTransformCacheInvalidationUrls({
|
|
376
|
+
file,
|
|
377
|
+
isTs,
|
|
378
|
+
hotUpdateRoots: angularHotUpdateRoots,
|
|
379
|
+
transitiveImporters: angularNeedsTransitive ? transitiveImporters : [],
|
|
380
|
+
projectRoot: server.config.root || process.cwd(),
|
|
381
|
+
}));
|
|
382
|
+
if (transformCacheInvalidationUrls.size) {
|
|
383
|
+
sharedTransformRequest.invalidateMany(transformCacheInvalidationUrls);
|
|
384
|
+
if (verbose) {
|
|
385
|
+
console.log('[hmr-ws][angular] purged shared transform cache entries:', transformCacheInvalidationUrls.size);
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
catch (error) {
|
|
390
|
+
if (verbose)
|
|
391
|
+
console.warn('[hmr-ws][angular] shared transform cache purge failed', error);
|
|
392
|
+
}
|
|
393
|
+
updateMetrics.tAfterFramework = Date.now();
|
|
394
|
+
try {
|
|
395
|
+
const root = server.config.root || process.cwd();
|
|
396
|
+
const rel = '/' + path.posix.normalize(path.relative(root, file)).split(path.sep).join('/');
|
|
397
|
+
rememberAngularReloadSuppression(root, file);
|
|
398
|
+
const origin = getServerOrigin(server);
|
|
399
|
+
const bootstrapEntryRel = getBootstrapEntryRelPath();
|
|
400
|
+
// Stable URL + Explicit Invalidation:
|
|
401
|
+
//
|
|
402
|
+
// `evictPaths` is the canonical list of `/ns/m/<rel>` URLs
|
|
403
|
+
// the runtime must drop from `g_moduleRegistry` before
|
|
404
|
+
// re-importing `importerEntry`. Older versions of the
|
|
405
|
+
// server signaled invalidation by bumping a global
|
|
406
|
+
// `graphVersion` counter and embedding it in every URL —
|
|
407
|
+
// but V8 keys the module registry by full URL, so a v1 →
|
|
408
|
+
// v2 bump effectively flushed the entire dependency
|
|
409
|
+
// graph from the cache and forced the runtime to
|
|
410
|
+
// re-fetch + re-eval every transitively-imported module
|
|
411
|
+
// on each save (~3s HMR cycles, dominated by Vite's
|
|
412
|
+
// single-threaded transform pipeline). The new model:
|
|
413
|
+
//
|
|
414
|
+
// 1. URLs are stable: `/ns/m/<rel>` everywhere, no `vN`.
|
|
415
|
+
// 2. The server walks the inverse-dependency closure and
|
|
416
|
+
// sends only the modules that actually need to be
|
|
417
|
+
// re-evaluated (typically O(1) for component edits,
|
|
418
|
+
// or the changed file + entry for narrowed edits).
|
|
419
|
+
// 3. The client calls `__nsInvalidateModules(evictPaths)`
|
|
420
|
+
// and re-imports `importerEntry`, which causes V8 to
|
|
421
|
+
// refetch ONLY those modules. Everything else stays
|
|
422
|
+
// hot in the registry.
|
|
423
|
+
//
|
|
424
|
+
// Invariants enforced by `collectAngularEvictionUrls`:
|
|
425
|
+
// - Always includes the changed file (so the new source
|
|
426
|
+
// is fetched).
|
|
427
|
+
// - Always includes `importerEntry` (so re-import
|
|
428
|
+
// re-evaluates).
|
|
429
|
+
// - Excludes node_modules (vendor packages are stable).
|
|
430
|
+
// - Excludes virtual / runtime-graph-excluded ids.
|
|
431
|
+
// - Origin-prefixed: `http://host:port/ns/m/<rel>`.
|
|
432
|
+
let evictPaths = [];
|
|
433
|
+
try {
|
|
434
|
+
evictPaths = collectAngularEvictionUrls({
|
|
435
|
+
file,
|
|
436
|
+
hotUpdateRoots: angularHotUpdateRoots,
|
|
437
|
+
transitiveImporters,
|
|
438
|
+
projectRoot: root,
|
|
439
|
+
origin,
|
|
440
|
+
bootstrapEntry: bootstrapEntryRel,
|
|
441
|
+
});
|
|
442
|
+
}
|
|
443
|
+
catch (error) {
|
|
444
|
+
if (verbose) {
|
|
445
|
+
console.warn('[ns-hmr][server] eviction set computation failed', error);
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
if (verbose) {
|
|
449
|
+
try {
|
|
450
|
+
const tsRel = rel.replace(/\.(html|htm)$/i, '.ts');
|
|
451
|
+
const jsRel = rel.replace(/\.(html|htm)$/i, '.js');
|
|
452
|
+
const containsRelatedTs = evictPaths.some((u) => u.endsWith(tsRel));
|
|
453
|
+
const containsRelatedJs = evictPaths.some((u) => u.endsWith(jsRel));
|
|
454
|
+
const sample = evictPaths.slice(0, 32);
|
|
455
|
+
console.info(`[ns-hmr][server] evict-set count=${evictPaths.length} importerEntry=${bootstrapEntryRel ?? '(none)'} containsRelatedTs=${containsRelatedTs} containsRelatedJs=${containsRelatedJs} firstN=`, sample);
|
|
456
|
+
if (evictPaths.length > sample.length) {
|
|
457
|
+
console.info(`[ns-hmr][server] evict-set hidden=${evictPaths.length - sample.length} (showed first ${sample.length})`);
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
catch { }
|
|
461
|
+
}
|
|
462
|
+
const msg = {
|
|
463
|
+
type: 'ns:angular-update',
|
|
464
|
+
origin,
|
|
465
|
+
path: rel,
|
|
466
|
+
version: moduleGraph.version,
|
|
467
|
+
timestamp: Date.now(),
|
|
468
|
+
evictPaths,
|
|
469
|
+
importerEntry: bootstrapEntryRel,
|
|
470
|
+
};
|
|
471
|
+
if (verbose) {
|
|
472
|
+
console.log('[hmr-ws][angular] broadcasting update', Array.from(wss.clients || []).map((client) => ({
|
|
473
|
+
role: getHmrSocketRole(client),
|
|
474
|
+
readyState: client.readyState,
|
|
475
|
+
openState: client.OPEN,
|
|
476
|
+
})));
|
|
477
|
+
}
|
|
478
|
+
wss.clients.forEach((client) => {
|
|
479
|
+
if (isSocketClientOpen(client)) {
|
|
480
|
+
client.send(JSON.stringify(msg));
|
|
481
|
+
updateMetrics.recipients += 1;
|
|
482
|
+
}
|
|
483
|
+
});
|
|
484
|
+
}
|
|
485
|
+
catch (error) {
|
|
486
|
+
console.warn('[hmr-ws][angular] update failed:', error);
|
|
487
|
+
}
|
|
488
|
+
emitHmrUpdateSummary();
|
|
489
|
+
if (shouldSuppressDefaultViteHotUpdate({ flavor: strategy.flavor, file })) {
|
|
490
|
+
return [];
|
|
491
|
+
}
|
|
492
|
+
return;
|
|
72
493
|
},
|
|
73
|
-
postClean
|
|
74
|
-
|
|
494
|
+
// preClean/rewriteFrameworkImports/postClean/ensureVersionedImports default to
|
|
495
|
+
// identity: Angular runtime imports go through the vendor bridge and there are
|
|
496
|
+
// no Angular-specific HTTP endpoints to version.
|
|
497
|
+
//
|
|
498
|
+
// Override the `/ns/m` served-module rewrite: Angular entries need the
|
|
499
|
+
// register-only entry-preparation pass (`prepareAngularEntryForDevice`)
|
|
500
|
+
// instead of the shared `rewriteImports` default the other flavors use.
|
|
501
|
+
rewriteServedModule(code, ctx) {
|
|
502
|
+
return prepareAngularEntryForDevice(code, ctx.moduleId, ctx.sfcFileMap, ctx.depFileMap, ctx.projectRoot, ctx.verbose, undefined, ctx.serverOrigin, true);
|
|
75
503
|
},
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
return
|
|
504
|
+
// ── Angular template/style asset URLs are volatile ───────────────────
|
|
505
|
+
volatilePatterns() {
|
|
506
|
+
return ['/@ns/asm/'];
|
|
79
507
|
},
|
|
80
508
|
async processFile(ctx) {
|
|
81
509
|
// Ensure any Angular code the HMR server assembles for HTTP consumption is fully linked.
|
|
@@ -131,7 +559,15 @@ export const angularServerStrategy = {
|
|
|
131
559
|
}
|
|
132
560
|
else if (st.isFile() && shouldIncludeRuntimeGraphFile(full, /\.ts$/i)) {
|
|
133
561
|
try {
|
|
134
|
-
const
|
|
562
|
+
const rawCode = readFileSync(full, 'utf8');
|
|
563
|
+
// Blank out `//` and `/* */` comments before regex
|
|
564
|
+
// scanning so a commented-out `templateUrl` /
|
|
565
|
+
// `styleUrls` line doesn't enroll the watcher (and
|
|
566
|
+
// therefore the import graph) for a non-existent
|
|
567
|
+
// asset. See note in
|
|
568
|
+
// `extractComponentAssetPaths` for the failure
|
|
569
|
+
// mode this avoids in current Rolldown-Vite.
|
|
570
|
+
const code = stripJsComments(rawCode);
|
|
135
571
|
if (/\@Component\s*\(/.test(code) && /templateUrl\s*:\s*["']\.\//.test(code)) {
|
|
136
572
|
const m = code.match(/templateUrl\s*:\s*["']\.\/(.*?\.html)["']/);
|
|
137
573
|
if (m && m[1]) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/server/strategy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/server/strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { parse as babelParse } from '@babel/parser';
|
|
2
2
|
import * as t from '@babel/types';
|
|
3
|
-
import { genCode } from '
|
|
4
|
-
|
|
3
|
+
import { genCode } from '../../../helpers/babel.js';
|
|
4
|
+
import { MODULE_IMPORT_ANALYSIS_PLUGINS } from '../../../server/websocket-served-module-helpers.js';
|
|
5
5
|
function shouldGuardAngularEntryStatement(node) {
|
|
6
6
|
if (t.isImportDeclaration(node) || t.isExportDeclaration(node) || t.isFunctionDeclaration(node) || t.isClassDeclaration(node) || t.isVariableDeclaration(node)) {
|
|
7
7
|
return false;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket-angular-entry.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/server/websocket-angular-entry.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,12 +5,12 @@ export type HotUpdateGraphModuleLike = {
|
|
|
5
5
|
}>;
|
|
6
6
|
importers?: Iterable<HotUpdateGraphModuleLike>;
|
|
7
7
|
};
|
|
8
|
-
export declare function canonicalizeTransformRequestCacheKey(url: string, projectRoot: string): string;
|
|
9
8
|
export declare function collectGraphUpdateModulesForHotUpdate(options: {
|
|
10
9
|
file: string;
|
|
11
10
|
flavor: string;
|
|
12
11
|
modules?: Iterable<HotUpdateGraphModuleLike>;
|
|
13
12
|
getModuleById: (id: string) => HotUpdateGraphModuleLike | undefined;
|
|
13
|
+
verbose?: boolean;
|
|
14
14
|
}): HotUpdateGraphModuleLike[];
|
|
15
15
|
export declare function collectAngularHotUpdateRoots(options: {
|
|
16
16
|
file: string;
|
|
@@ -18,19 +18,11 @@ export declare function collectAngularHotUpdateRoots(options: {
|
|
|
18
18
|
getModuleById: (id: string) => HotUpdateGraphModuleLike | undefined;
|
|
19
19
|
getModulesByFile?: (file: string) => Iterable<HotUpdateGraphModuleLike> | undefined | null;
|
|
20
20
|
}): HotUpdateGraphModuleLike[];
|
|
21
|
-
export
|
|
22
|
-
id?: string | null;
|
|
23
|
-
file?: string | null;
|
|
24
|
-
importers?: Iterable<TransitiveImporterModuleLike> | null;
|
|
25
|
-
};
|
|
26
|
-
export declare function collectAngularTransitiveImportersForInvalidation(options: {
|
|
27
|
-
modules: Iterable<TransitiveImporterModuleLike> | undefined | null;
|
|
28
|
-
isExcluded?: (id: string) => boolean;
|
|
29
|
-
maxDepth?: number;
|
|
30
|
-
}): TransitiveImporterModuleLike[];
|
|
21
|
+
export declare function angularSourceHasSemanticDecorator(source: string): boolean;
|
|
31
22
|
export declare function shouldInvalidateAngularTransitiveImporters(options: {
|
|
32
23
|
flavor: string;
|
|
33
24
|
file: string;
|
|
25
|
+
source?: string | null;
|
|
34
26
|
}): boolean;
|
|
35
27
|
export declare function collectAngularTransformCacheInvalidationUrls(options: {
|
|
36
28
|
file: string;
|
|
@@ -43,6 +35,20 @@ export declare function collectAngularTransformCacheInvalidationUrls(options: {
|
|
|
43
35
|
}>;
|
|
44
36
|
projectRoot?: string;
|
|
45
37
|
}): string[];
|
|
38
|
+
export declare function collectAngularEvictionUrls(options: {
|
|
39
|
+
file: string;
|
|
40
|
+
hotUpdateRoots?: Iterable<{
|
|
41
|
+
id?: string | null;
|
|
42
|
+
file?: string | null;
|
|
43
|
+
}>;
|
|
44
|
+
transitiveImporters?: Iterable<{
|
|
45
|
+
id?: string | null;
|
|
46
|
+
file?: string | null;
|
|
47
|
+
}>;
|
|
48
|
+
projectRoot: string;
|
|
49
|
+
origin: string;
|
|
50
|
+
bootstrapEntry?: string | null;
|
|
51
|
+
}): string[];
|
|
46
52
|
export declare function shouldSuppressDefaultViteHotUpdate(options: {
|
|
47
53
|
flavor: string;
|
|
48
54
|
file: string;
|