@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
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ServerResponse } from 'node:http';
|
|
2
|
+
/**
|
|
3
|
+
* Response headers for device-served ESM module endpoints: permissive CORS plus
|
|
4
|
+
* aggressive no-store caching so the device never reuses a stale module across
|
|
5
|
+
* HMR cycles.
|
|
6
|
+
*/
|
|
7
|
+
export declare function setDeviceModuleHeaders(res: ServerResponse): void;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Response headers for device-served ESM module endpoints: permissive CORS plus
|
|
3
|
+
* aggressive no-store caching so the device never reuses a stale module across
|
|
4
|
+
* HMR cycles.
|
|
5
|
+
*/
|
|
6
|
+
export function setDeviceModuleHeaders(res) {
|
|
7
|
+
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
8
|
+
res.setHeader('Content-Type', 'application/javascript; charset=utf-8');
|
|
9
|
+
res.setHeader('Cache-Control', 'no-store, no-cache, must-revalidate, max-age=0');
|
|
10
|
+
res.setHeader('Pragma', 'no-cache');
|
|
11
|
+
res.setHeader('Expires', '0');
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=route-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route-helpers.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/route-helpers.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAmB;IACzD,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;IAClD,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,uCAAuC,CAAC,CAAC;IACvE,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,gDAAgD,CAAC,CAAC;IACjF,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACpC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ViteDevServer } from 'vite';
|
|
2
|
+
/**
|
|
3
|
+
* Dev-server origin baked into every module served to the device
|
|
4
|
+
* (`/ns/core/...`, `/ns/m/...`). MUST match the origin `dev-host.ts` bakes
|
|
5
|
+
* into `bundle.mjs`; if they disagree V8 keys them as different modules and
|
|
6
|
+
* the app ends up with two `@nativescript/core` realms (a singleton-state
|
|
7
|
+
* split). `resolveDeviceReachableOrigin` keeps every platform in lock-step:
|
|
8
|
+
* Android wildcard/loopback -> `10.0.2.2`, iOS/visionOS wildcard ->
|
|
9
|
+
* `localhost`, explicit non-loopback `server.host` -> trusted verbatim
|
|
10
|
+
* (physical devices opt into LAN via `NS_HMR_PREFER_LAN_HOST`/`NS_HMR_HOST`).
|
|
11
|
+
*/
|
|
12
|
+
export declare function getServerOrigin(server: ViteDevServer): string;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { resolveDeviceReachableOrigin } from '../../helpers/dev-host.js';
|
|
2
|
+
import { getCliFlags } from '../../helpers/cli-flags.js';
|
|
3
|
+
/**
|
|
4
|
+
* Dev-server origin baked into every module served to the device
|
|
5
|
+
* (`/ns/core/...`, `/ns/m/...`). MUST match the origin `dev-host.ts` bakes
|
|
6
|
+
* into `bundle.mjs`; if they disagree V8 keys them as different modules and
|
|
7
|
+
* the app ends up with two `@nativescript/core` realms (a singleton-state
|
|
8
|
+
* split). `resolveDeviceReachableOrigin` keeps every platform in lock-step:
|
|
9
|
+
* Android wildcard/loopback -> `10.0.2.2`, iOS/visionOS wildcard ->
|
|
10
|
+
* `localhost`, explicit non-loopback `server.host` -> trusted verbatim
|
|
11
|
+
* (physical devices opt into LAN via `NS_HMR_PREFER_LAN_HOST`/`NS_HMR_HOST`).
|
|
12
|
+
*/
|
|
13
|
+
export function getServerOrigin(server) {
|
|
14
|
+
const platform = detectDevHostPlatform();
|
|
15
|
+
const isHttps = !!server.config.server?.https;
|
|
16
|
+
const protocol = isHttps ? 'https' : 'http';
|
|
17
|
+
const httpServer = server.httpServer;
|
|
18
|
+
const addr = httpServer?.address?.();
|
|
19
|
+
const port = Number(server.config.server?.port || addr?.port || 5173);
|
|
20
|
+
try {
|
|
21
|
+
const { origin } = resolveDeviceReachableOrigin({
|
|
22
|
+
host: server.config.server?.host,
|
|
23
|
+
platform,
|
|
24
|
+
protocol,
|
|
25
|
+
port,
|
|
26
|
+
});
|
|
27
|
+
if (/^https?:\/\/[\w\-.:\[\]]+$/.test(origin)) {
|
|
28
|
+
return origin;
|
|
29
|
+
}
|
|
30
|
+
console.warn('[hmr][origin] invariant failed for resolveDeviceReachableOrigin:', origin);
|
|
31
|
+
}
|
|
32
|
+
catch (err) {
|
|
33
|
+
console.warn('[hmr][origin] resolveDeviceReachableOrigin threw:', err?.message || String(err));
|
|
34
|
+
}
|
|
35
|
+
// Last-ditch fallback for the implausible case where the resolver
|
|
36
|
+
// throws (CI containers with no NICs, exotic `process.env` shapes,
|
|
37
|
+
// etc.). We deliberately do NOT consult `resolvedUrls.network[0]`
|
|
38
|
+
// here — see the doc comment above for why.
|
|
39
|
+
const hostCfg = server.config.server?.host;
|
|
40
|
+
const fallbackHost = typeof hostCfg === 'string' && hostCfg && hostCfg !== '0.0.0.0' ? hostCfg : platform === 'android' ? '10.0.2.2' : '127.0.0.1';
|
|
41
|
+
const origin = `${protocol}://${fallbackHost}:${port}`;
|
|
42
|
+
if (!/^https?:\/\/[\w\-.:\[\]]+$/.test(origin)) {
|
|
43
|
+
console.warn('[hmr][origin] invariant failed for constructed origin:', origin);
|
|
44
|
+
}
|
|
45
|
+
return origin;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Resolve the device target platform from the CLI flags the dev server
|
|
49
|
+
* was launched with. The `--env.android` / `--env.visionos` flags are
|
|
50
|
+
* surfaced by the NativeScript CLI when it spawns Vite; iOS is the
|
|
51
|
+
* safe default when no flag is set so the helper stays a pure
|
|
52
|
+
* function and standalone `vite serve` sessions still get sensible
|
|
53
|
+
* URLs.
|
|
54
|
+
*/
|
|
55
|
+
function detectDevHostPlatform() {
|
|
56
|
+
try {
|
|
57
|
+
const flags = (getCliFlags() || {});
|
|
58
|
+
if (flags.android)
|
|
59
|
+
return 'android';
|
|
60
|
+
if (flags.visionos)
|
|
61
|
+
return 'visionos';
|
|
62
|
+
}
|
|
63
|
+
catch { }
|
|
64
|
+
return 'ios';
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=server-origin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-origin.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/server-origin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAwB,MAAM,2BAA2B,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,MAAqB;IACpD,MAAM,QAAQ,GAAoB,qBAAqB,EAAE,CAAC;IAC1D,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAC9C,MAAM,QAAQ,GAAqB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9D,MAAM,UAAU,GAAG,MAAM,CAAC,UAAiB,CAAC;IAC5C,MAAM,IAAI,GAAG,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC;IAEtE,IAAI,CAAC;QACJ,MAAM,EAAE,MAAM,EAAE,GAAG,4BAA4B,CAAC;YAC/C,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI;YAChC,QAAQ;YACR,QAAQ;YACR,IAAI;SACJ,CAAC,CAAC;QACH,IAAI,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/C,OAAO,MAAM,CAAC;QACf,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,kEAAkE,EAAE,MAAM,CAAC,CAAC;IAC1F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,mDAAmD,EAAG,GAAW,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACzG,CAAC;IAED,kEAAkE;IAClE,mEAAmE;IACnE,kEAAkE;IAClE,4CAA4C;IAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;IAC3C,MAAM,YAAY,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;IACnJ,MAAM,MAAM,GAAG,GAAG,QAAQ,MAAM,YAAY,IAAI,IAAI,EAAE,CAAC;IACvD,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,wDAAwD,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,qBAAqB;IAC7B,IAAI,CAAC;QACJ,MAAM,KAAK,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,CAA4B,CAAC;QAC/D,IAAI,KAAK,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QACpC,IAAI,KAAK,CAAC,QAAQ;YAAE,OAAO,UAAU,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,OAAO,KAAK,CAAC;AACd,CAAC"}
|
|
@@ -101,8 +101,15 @@ export function createSharedTransformRequestRunner(transformRequest, onTimeout,
|
|
|
101
101
|
if (recent && recent.expiresAt > Date.now()) {
|
|
102
102
|
return Promise.resolve(recent.result);
|
|
103
103
|
}
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
// Key the in-flight map on the canonical `cacheKey`, not the raw URL,
|
|
105
|
+
// so two concurrent calls for `/foo.ts?t=1` and `/foo.ts?t=2` share a
|
|
106
|
+
// single transform rather than doing the same work twice. The cache
|
|
107
|
+
// key already strips `?t=` and `?v=` cache-busters and sorts the
|
|
108
|
+
// remaining query — see `canonicalizeTransformRequestCacheKey`. This
|
|
109
|
+
// pairs with `rememberRecentResult`, which was always keyed by
|
|
110
|
+
// cacheKey.
|
|
111
|
+
const existingExecution = inFlight.get(cacheKey);
|
|
112
|
+
if (existingExecution && existingExecution.generation === generation) {
|
|
106
113
|
return withTimeout(existingExecution, url, timeoutMs);
|
|
107
114
|
}
|
|
108
115
|
const scheduled = schedule(async () => {
|
|
@@ -112,12 +119,12 @@ export function createSharedTransformRequestRunner(transformRequest, onTimeout,
|
|
|
112
119
|
});
|
|
113
120
|
let execution;
|
|
114
121
|
execution = scheduled.execution.finally(() => {
|
|
115
|
-
if (inFlight.get(
|
|
116
|
-
inFlight.delete(
|
|
122
|
+
if (inFlight.get(cacheKey)?.execution === execution) {
|
|
123
|
+
inFlight.delete(cacheKey);
|
|
117
124
|
}
|
|
118
125
|
});
|
|
119
126
|
const entry = { execution, started: scheduled.started, cacheKey, generation };
|
|
120
|
-
inFlight.set(
|
|
127
|
+
inFlight.set(cacheKey, entry);
|
|
121
128
|
return withTimeout(entry, url, timeoutMs);
|
|
122
129
|
});
|
|
123
130
|
runner.invalidate = (url) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-transform-request.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/shared-transform-request.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,kCAAkC,CAAC,gBAAkE,EAAE,SAAoD,EAAE,UAA+C,EAAE;IAC7N,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwH,CAAC;IACjJ,MAAM,aAAa,GAAG,IAAI,GAAG,EAA0D,CAAC;IACxF,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACnD,MAAM,KAAK,GAAsB,EAAE,CAAC;IACpC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAC9E,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,MAAM,kBAAkB,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrF,MAAM,kBAAkB,GAAG,CAAC,QAAgB,EAAE,EAAE;QAC/C,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACjE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YACzB,OAAO;QACR,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,aAAa,EAAE,CAAC;YAC1C,IAAI,KAAK,CAAC,SAAS,IAAI,GAAG,EAAE,CAAC;gBAC5B,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;QACF,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAE,MAA8B,EAAE,UAAkB,EAAE,EAAE;QAChG,IAAI,CAAC,MAAM,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAAC;YACtC,OAAO;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE,CAAC;YACjD,OAAO;QACR,CAAC;QACD,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/B,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE;YAC3B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB;YACxC,MAAM;SACN,CAAC,CAAC;QAEH,IAAI,aAAa,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YACpD,IAAI,SAAS,EAAE,CAAC;gBACf,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACjC,CAAC;QACF,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAG,EAAE;QACpB,OAAO,WAAW,GAAG,aAAa,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACX,OAAO;YACR,CAAC;YAED,WAAW,IAAI,CAAC,CAAC;YACjB,IAAI,EAAE,CAAC;QACR,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAI,IAAsB,EAAqD,EAAE;QACjG,IAAI,cAAc,GAAwB,IAAI,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC7C,cAAc,GAAG,OAAO,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpD,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;gBACf,IAAI,OAAmB,CAAC;gBACxB,cAAc,EAAE,EAAE,CAAC;gBACnB,IAAI,CAAC;oBACJ,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBACnC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjC,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;oBAC1C,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;oBAC3C,OAAO,EAAE,CAAC;gBACX,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,OAAO,EAAE,CAAC;QACX,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;IAC/B,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,KAA6E,EAAE,GAAW,EAAE,SAAiB,EAAE,EAAE;QACrI,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC,SAAS,CAAC;QACxB,CAAC;QAED,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CACxB,GAAG,EAAE,CACJ,IAAI,OAAO,CAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC7B,IAAI,CAAC;oBACJ,SAAS,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBAC7B,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACX,CAAC,EAAE,SAAS,CAAC,CAAC;YAEd,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBAClD,YAAY,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,CAAC,GAAW,EAAE,SAAS,GAAG,MAAM,EAAE,EAAE;QACnD,kBAAkB,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC7C,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"shared-transform-request.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/shared-transform-request.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare function canonicalizeTransformRequestCacheKey(url: string, projectRoot: string): string;
|
|
2
|
+
export type TransitiveImporterModuleLike = {
|
|
3
|
+
id?: string | null;
|
|
4
|
+
file?: string | null;
|
|
5
|
+
importers?: Iterable<TransitiveImporterModuleLike> | null;
|
|
6
|
+
};
|
|
7
|
+
export declare function collectTransitiveImportersForInvalidation(options: {
|
|
8
|
+
modules: Iterable<TransitiveImporterModuleLike> | undefined | null;
|
|
9
|
+
isExcluded?: (id: string) => boolean;
|
|
10
|
+
maxDepth?: number;
|
|
11
|
+
}): TransitiveImporterModuleLike[];
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { isRuntimeGraphExcludedPath, normalizeRuntimeGraphPath } from './runtime-graph-filter.js';
|
|
2
|
+
// Framework-agnostic transform-cache-invalidation primitives shared by the
|
|
3
|
+
// per-flavor `handleHotUpdate` tails (Angular + Solid today). They live in this
|
|
4
|
+
// neutral module so a non-Angular strategy can depend on them without importing
|
|
5
|
+
// the Angular module.
|
|
6
|
+
export function canonicalizeTransformRequestCacheKey(url, projectRoot) {
|
|
7
|
+
if (!url)
|
|
8
|
+
return url;
|
|
9
|
+
const [rawPath, rawQuery = ''] = url.split('?', 2);
|
|
10
|
+
let normalizedPath = rawPath;
|
|
11
|
+
const root = projectRoot ? projectRoot.replace(/\\/g, '/') : '';
|
|
12
|
+
if (normalizedPath.startsWith('/@fs/')) {
|
|
13
|
+
const fsPath = normalizedPath.slice('/@fs'.length).replace(/\\/g, '/');
|
|
14
|
+
if (root && fsPath.startsWith(root)) {
|
|
15
|
+
const rel = fsPath.slice(root.length);
|
|
16
|
+
normalizedPath = rel.startsWith('/') ? rel : `/${rel}`;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
else if (root && normalizedPath.replace(/\\/g, '/').startsWith(root)) {
|
|
20
|
+
const rel = normalizedPath.replace(/\\/g, '/').slice(root.length);
|
|
21
|
+
normalizedPath = rel.startsWith('/') ? rel : `/${rel}`;
|
|
22
|
+
}
|
|
23
|
+
if (!rawQuery) {
|
|
24
|
+
return normalizedPath;
|
|
25
|
+
}
|
|
26
|
+
const params = new URLSearchParams(rawQuery);
|
|
27
|
+
params.delete('t');
|
|
28
|
+
params.delete('v');
|
|
29
|
+
const kept = Array.from(params.entries()).sort(([leftKey, leftValue], [rightKey, rightValue]) => {
|
|
30
|
+
if (leftKey === rightKey) {
|
|
31
|
+
return leftValue.localeCompare(rightValue);
|
|
32
|
+
}
|
|
33
|
+
return leftKey.localeCompare(rightKey);
|
|
34
|
+
});
|
|
35
|
+
if (!kept.length) {
|
|
36
|
+
return normalizedPath;
|
|
37
|
+
}
|
|
38
|
+
const normalizedQuery = new URLSearchParams();
|
|
39
|
+
for (const [key, value] of kept) {
|
|
40
|
+
normalizedQuery.append(key, value);
|
|
41
|
+
}
|
|
42
|
+
return `${normalizedPath}?${normalizedQuery.toString()}`;
|
|
43
|
+
}
|
|
44
|
+
export function collectTransitiveImportersForInvalidation(options) {
|
|
45
|
+
const visited = new Set();
|
|
46
|
+
const collected = new Map();
|
|
47
|
+
const isExcluded = options.isExcluded ?? ((id) => id.includes('/node_modules/') || isRuntimeGraphExcludedPath(id));
|
|
48
|
+
const maxDepth = Math.max(1, Math.floor(options.maxDepth ?? 16));
|
|
49
|
+
const normalizeId = (value) => normalizeRuntimeGraphPath(value ?? '');
|
|
50
|
+
const walk = (mod, depth) => {
|
|
51
|
+
if (!mod || visited.has(mod)) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
visited.add(mod);
|
|
55
|
+
if (depth >= maxDepth) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const importers = mod.importers;
|
|
59
|
+
if (!importers) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
for (const importer of importers) {
|
|
63
|
+
if (!importer)
|
|
64
|
+
continue;
|
|
65
|
+
const importerId = normalizeId(importer.id);
|
|
66
|
+
if (!importerId) {
|
|
67
|
+
walk(importer, depth + 1);
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
if (isExcluded(importerId)) {
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
if (!collected.has(importerId)) {
|
|
74
|
+
collected.set(importerId, importer);
|
|
75
|
+
}
|
|
76
|
+
walk(importer, depth + 1);
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
for (const mod of options.modules || []) {
|
|
80
|
+
walk(mod, 0);
|
|
81
|
+
}
|
|
82
|
+
return Array.from(collected.values());
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=transform-cache-invalidation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-cache-invalidation.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/transform-cache-invalidation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// ESM shims served when the device requests a bare framework module (`vue`,
|
|
2
|
+
// `nativescript-vue`, `pinia`). Each re-exports the vendor-bundled runtime from
|
|
3
|
+
// the device vendor registry so app code and the vendor bundle share one realm.
|
|
4
|
+
/** Shim for a bare `vue`/`nativescript-vue` import. */
|
|
5
|
+
export function buildVueVendorShim(pkg) {
|
|
6
|
+
const vueFallback = pkg === 'vue' ? "if (!mod) { try { mod = req('vue'); } catch {} }" : '';
|
|
7
|
+
return `
|
|
8
|
+
const g = globalThis;
|
|
9
|
+
const reg = g.__nsVendorRegistry;
|
|
10
|
+
const req = reg && g.__nsVendorRequire ? g.__nsVendorRequire : (g.__nsRequire || g.require);
|
|
11
|
+
let mod = reg && reg.get('nativescript-vue');
|
|
12
|
+
if (!mod && req) {
|
|
13
|
+
try { mod = req('nativescript-vue'); } catch {}
|
|
14
|
+
${vueFallback}
|
|
15
|
+
}
|
|
16
|
+
mod = mod || {};
|
|
17
|
+
const v = (mod.default ?? mod);
|
|
18
|
+
export default v;
|
|
19
|
+
export const defineComponent = v.defineComponent;
|
|
20
|
+
export const resolveComponent = v.resolveComponent;
|
|
21
|
+
export const createVNode = v.createVNode;
|
|
22
|
+
export const createTextVNode = v.createTextVNode;
|
|
23
|
+
export const createCommentVNode = v.createCommentVNode;
|
|
24
|
+
export const Fragment = v.Fragment;
|
|
25
|
+
export const withCtx = v.withCtx;
|
|
26
|
+
export const openBlock = v.openBlock;
|
|
27
|
+
export const createBlock = v.createBlock;
|
|
28
|
+
export const createElementVNode = v.createElementVNode || v.createVNode;
|
|
29
|
+
export const createElementBlock = v.createElementBlock || v.createBlock;
|
|
30
|
+
export const renderSlot = v.renderSlot;
|
|
31
|
+
export const mergeProps = v.mergeProps;
|
|
32
|
+
export const toHandlers = v.toHandlers;
|
|
33
|
+
export const renderList = v.renderList;
|
|
34
|
+
export const normalizeProps = v.normalizeProps;
|
|
35
|
+
export const guardReactiveProps = v.guardReactiveProps;
|
|
36
|
+
export const withDirectives = v.withDirectives;
|
|
37
|
+
export const resolveDirective = v.resolveDirective;
|
|
38
|
+
export const withModifiers = v.withModifiers;
|
|
39
|
+
export const withKeys = v.withKeys;
|
|
40
|
+
export const ref = v.ref;
|
|
41
|
+
export const shallowRef = v.shallowRef;
|
|
42
|
+
export const unref = v.unref;
|
|
43
|
+
export const computed = v.computed;
|
|
44
|
+
export const onMounted = v.onMounted;
|
|
45
|
+
export const onBeforeUnmount = v.onBeforeUnmount;
|
|
46
|
+
export const onUnmounted = v.onUnmounted;
|
|
47
|
+
export const watch = v.watch;
|
|
48
|
+
export const nextTick = v.nextTick;
|
|
49
|
+
export const createApp = v.createApp || (vm && vm.createApp);
|
|
50
|
+
export const registerElement = v.registerElement || (vm && vm.registerElement);
|
|
51
|
+
export const normalizeClass = v.normalizeClass;
|
|
52
|
+
export const normalizeStyle = v.normalizeStyle;
|
|
53
|
+
export const toDisplayString = v.toDisplayString;
|
|
54
|
+
`;
|
|
55
|
+
}
|
|
56
|
+
/** Shim for a bare `pinia` import. */
|
|
57
|
+
export function buildPiniaVendorShim() {
|
|
58
|
+
return `
|
|
59
|
+
const g = globalThis;
|
|
60
|
+
const reg = g.__nsVendorRegistry;
|
|
61
|
+
const req = reg && g.__nsVendorRequire ? g.__nsVendorRequire : (g.__nsRequire || g.require);
|
|
62
|
+
let mod = reg && reg.get('pinia');
|
|
63
|
+
if (!mod && req) { try { mod = req('pinia'); } catch {} }
|
|
64
|
+
mod = mod || {};
|
|
65
|
+
const p = (mod.default ?? mod);
|
|
66
|
+
export default p;
|
|
67
|
+
export const createPinia = p.createPinia;
|
|
68
|
+
export const defineStore = p.defineStore;
|
|
69
|
+
export const storeToRefs = p.storeToRefs;
|
|
70
|
+
export const setActivePinia = p.setActivePinia;
|
|
71
|
+
export const getActivePinia = p.getActivePinia;
|
|
72
|
+
export const mapStores = p.mapStores;
|
|
73
|
+
export const mapState = p.mapState;
|
|
74
|
+
export const mapGetters = p.mapGetters;
|
|
75
|
+
export const mapActions = p.mapActions;
|
|
76
|
+
export const mapWritableState = p.mapWritableState;
|
|
77
|
+
export const piniaSymbol = p.piniaSymbol;
|
|
78
|
+
`;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=vendor-bare-module-shims.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vendor-bare-module-shims.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/vendor-bare-module-shims.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,gFAAgF;AAChF,gFAAgF;AAEhF,uDAAuD;AACvD,MAAM,UAAU,kBAAkB,CAAC,GAA+B;IACjE,MAAM,WAAW,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,kDAAkD,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5F,OAAO;;;;;;;IAOJ,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCd,CAAC;AACF,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,oBAAoB;IACnC,OAAO;;;;;;;;;;;;;;;;;;;;CAoBP,CAAC;AACF,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';
|
|
2
2
|
import fs from 'node:fs';
|
|
3
3
|
import path from 'path';
|
|
4
|
-
import os from 'os';
|
|
5
4
|
import { pathToFileURL } from 'url';
|
|
6
5
|
import { NS_DEFAULT_DEV_FEATURE_FLAGS, NS_DEFAULT_HOST_MODULES } from '../shared/runtime/browser-runtime-contract.js';
|
|
6
|
+
import { resolveDeviceReachableHost } from '../../helpers/dev-host.js';
|
|
7
7
|
const require = createRequire(import.meta.url);
|
|
8
8
|
const VIRTUAL_ID = 'virtual:ns-hmr-client';
|
|
9
9
|
const RESOLVED_ID = '\0' + VIRTUAL_ID;
|
|
@@ -11,12 +11,28 @@ export function computeClientImportSpecifier(options) {
|
|
|
11
11
|
const { projectRoot, clientFsPath } = options;
|
|
12
12
|
let clientImport = clientFsPath;
|
|
13
13
|
try {
|
|
14
|
+
const fsPosix = clientFsPath.replace(/\\/g, '/');
|
|
14
15
|
const rel = path.relative(projectRoot, clientFsPath);
|
|
15
16
|
const relPosix = rel.replace(/\\/g, '/');
|
|
16
17
|
if (path.isAbsolute(rel)) {
|
|
17
18
|
clientImport = pathToFileURL(clientFsPath).toString();
|
|
18
19
|
}
|
|
19
20
|
else {
|
|
21
|
+
// Prefer routing via the absolute fs path's `node_modules/...` tail. This
|
|
22
|
+
// covers monorepo / pnpm setups where node_modules is hoisted ABOVE the
|
|
23
|
+
// project root and `path.relative` would otherwise produce a
|
|
24
|
+
// "../../node_modules/..." specifier. That relative form is sent to the
|
|
25
|
+
// device's bootstrap as `__NS_BROWSER_RUNTIME_CLIENT_IMPORT__`, where the
|
|
26
|
+
// URL constructor resolves it against `${origin}/__ns_dev__/client` and
|
|
27
|
+
// collapses the leading `..` segments back to `${origin}/node_modules/...`.
|
|
28
|
+
// That URL bypasses the `/ns/m/` AST-normalizer pipeline (which strips
|
|
29
|
+
// browser-only `/@vite/client` imports), so the on-device HTTP loader
|
|
30
|
+
// eventually tries to fetch `/@vite/client` and fails with
|
|
31
|
+
// "HTTP import failed (status=0)" / "Instantiation failed (http-loader)".
|
|
32
|
+
const lastNm = fsPosix.lastIndexOf('/node_modules/');
|
|
33
|
+
if (lastNm !== -1) {
|
|
34
|
+
return `/ns/m${fsPosix.slice(lastNm)}`;
|
|
35
|
+
}
|
|
20
36
|
const normalizedRel = (relPosix.startsWith('.') ? relPosix : `/${relPosix}`).replace(/\/+/g, '/');
|
|
21
37
|
clientImport = normalizedRel.startsWith('/node_modules/') ? `/ns/m${normalizedRel}` : normalizedRel;
|
|
22
38
|
}
|
|
@@ -45,11 +61,18 @@ export function createNsDevSessionDescriptor(options) {
|
|
|
45
61
|
const wsProtocol = options.secure ? 'wss' : 'ws';
|
|
46
62
|
const origin = `${protocol}://${options.requestHost}`;
|
|
47
63
|
const entryPathname = options.mainEntryPathname || resolveProjectMainEntryPath(options.projectRoot);
|
|
48
|
-
const
|
|
64
|
+
const canonicalEntryPathname = entryPathname.startsWith('/ns/m/') ? entryPathname : `/ns/m${entryPathname.startsWith('/') ? entryPathname : `/${entryPathname}`}`;
|
|
65
|
+
// Wrap the entry pathname in the `__ns_boot__/b1` boot tag so the
|
|
66
|
+
// dev server injects the boot-progress snippet (see
|
|
67
|
+
// `buildBootProgressSnippet`). The runtime's `CanonicalizeHttpUrlKey`
|
|
68
|
+
// strips the tag before keying the V8 module registry, so it's a
|
|
69
|
+
// pure request-time hint — boot and steady-state HMR URLs share
|
|
70
|
+
// cache identity.
|
|
71
|
+
const bootTaggedEntryPathname = `/ns/m/__ns_boot__/b1${canonicalEntryPathname.slice('/ns/m'.length)}`;
|
|
49
72
|
return {
|
|
50
73
|
sessionId: options.sessionId,
|
|
51
74
|
origin,
|
|
52
|
-
entryUrl: `${origin}${
|
|
75
|
+
entryUrl: `${origin}${bootTaggedEntryPathname}`,
|
|
53
76
|
clientUrl: `${origin}/__ns_dev__/client`,
|
|
54
77
|
wsUrl: `${wsProtocol}://${options.requestHost}/ns-hmr`,
|
|
55
78
|
platform: options.platform,
|
|
@@ -253,7 +276,9 @@ function __nsBrowserRuntimeCloseFallbackSocket(reason) {
|
|
|
253
276
|
}
|
|
254
277
|
__nsBrowserRuntimeSocket = null;
|
|
255
278
|
globalThis.__NS_HMR_BROWSER_RUNTIME_SOCKET_READY__ = false;
|
|
256
|
-
|
|
279
|
+
if (__NS_BROWSER_RUNTIME_VERBOSE__) {
|
|
280
|
+
console.info('[ns-browser-runtime-client] delegated to full HMR client; closing bootstrap fallback socket', reason || 'delegated');
|
|
281
|
+
}
|
|
257
282
|
}
|
|
258
283
|
|
|
259
284
|
function __nsBrowserRuntimeWaitForDelegation(startedAt) {
|
|
@@ -268,7 +293,12 @@ function __nsBrowserRuntimeWaitForDelegation(startedAt) {
|
|
|
268
293
|
}
|
|
269
294
|
if (!__nsBrowserRuntimeDelegationWarningIssued && Date.now() - startedAt >= 10000) {
|
|
270
295
|
__nsBrowserRuntimeDelegationWarningIssued = true;
|
|
271
|
-
|
|
296
|
+
// Verbose-only: the 10s threshold trips on every real Angular
|
|
297
|
+
// cold boot. The bootstrap fallback keeps running; the message
|
|
298
|
+
// is diagnostic, not actionable.
|
|
299
|
+
if (__NS_BROWSER_RUNTIME_VERBOSE__) {
|
|
300
|
+
console.warn('[ns-browser-runtime-client] full HMR client did not confirm websocket readiness; keeping bootstrap fallback active');
|
|
301
|
+
}
|
|
272
302
|
__nsBrowserRuntimeClearDelegationTimer();
|
|
273
303
|
return;
|
|
274
304
|
}
|
|
@@ -382,7 +412,15 @@ if (!globalThis.__NS_HMR_BROWSER_RUNTIME_CLIENT_ACTIVE__) {
|
|
|
382
412
|
} else {
|
|
383
413
|
if (!__nsBrowserRuntimeBootWaitWarningIssued && Date.now() - __nsBrowserRuntimeBootWaitStartedAt >= 10000) {
|
|
384
414
|
__nsBrowserRuntimeBootWaitWarningIssued = true;
|
|
385
|
-
|
|
415
|
+
// Verbose-only: real Angular cold boots routinely take
|
|
416
|
+
// 15-30s through importing-main. The poller keeps watching
|
|
417
|
+
// __NS_HMR_BOOT_COMPLETE__; until it flips this looks like
|
|
418
|
+
// an error to users but is purely informational.
|
|
419
|
+
// (No backticks: this script body is embedded in a template
|
|
420
|
+
// literal in vite-plugin.ts.)
|
|
421
|
+
if (__NS_BROWSER_RUNTIME_VERBOSE__) {
|
|
422
|
+
console.warn('[ns-browser-runtime-client] boot completion was not observed; full HMR client start is still pending');
|
|
423
|
+
}
|
|
386
424
|
}
|
|
387
425
|
setTimeout(__nsBrowserRuntimeWaitForBoot, 100);
|
|
388
426
|
}
|
|
@@ -394,30 +432,6 @@ if (!globalThis.__NS_HMR_BROWSER_RUNTIME_CLIENT_ACTIVE__) {
|
|
|
394
432
|
export function nsHmrClientVitePlugin(opts) {
|
|
395
433
|
let config;
|
|
396
434
|
const sessionId = new Date().toISOString();
|
|
397
|
-
const guessLanHost = () => {
|
|
398
|
-
try {
|
|
399
|
-
const nets = os.networkInterfaces();
|
|
400
|
-
for (const name of Object.keys(nets)) {
|
|
401
|
-
const addrs = nets[name] || [];
|
|
402
|
-
for (const a of addrs) {
|
|
403
|
-
if (!a)
|
|
404
|
-
continue;
|
|
405
|
-
// Node typings vary across versions; keep checks defensive
|
|
406
|
-
const family = a.family;
|
|
407
|
-
const internal = !!a.internal;
|
|
408
|
-
const address = String(a.address || '');
|
|
409
|
-
if (internal)
|
|
410
|
-
continue;
|
|
411
|
-
if (family === 'IPv4' || family === 4) {
|
|
412
|
-
if (address && address !== '127.0.0.1')
|
|
413
|
-
return address;
|
|
414
|
-
}
|
|
415
|
-
}
|
|
416
|
-
}
|
|
417
|
-
}
|
|
418
|
-
catch { }
|
|
419
|
-
return undefined;
|
|
420
|
-
};
|
|
421
435
|
return {
|
|
422
436
|
name: 'ns-hmr-client',
|
|
423
437
|
configResolved(c) {
|
|
@@ -496,19 +510,23 @@ export function nsHmrClientVitePlugin(opts) {
|
|
|
496
510
|
// Prefer project root when available; otherwise fall back to cwd.
|
|
497
511
|
const projectRoot = config?.root || process.cwd();
|
|
498
512
|
const clientImport = computeClientImportSpecifier({ projectRoot, clientFsPath });
|
|
499
|
-
// Build ws url from Vite server info
|
|
500
|
-
|
|
501
|
-
//
|
|
502
|
-
//
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
if (isWildcard) {
|
|
506
|
-
host = guessLanHost() || (opts.platform === 'android' ? '10.0.2.2' : 'localhost');
|
|
507
|
-
}
|
|
508
|
-
else if (!host) {
|
|
509
|
-
host = opts.platform === 'android' ? guessLanHost() || '10.0.2.2' : 'localhost';
|
|
510
|
-
}
|
|
513
|
+
// Build ws url from Vite server info. Routes through the same
|
|
514
|
+
// canonical helper as `main-entry.ts` / `base.ts` so the
|
|
515
|
+
// websocket endpoint embedded in `bundle.mjs` and every other
|
|
516
|
+
// `/ns/*` URL share one origin string — required by the iOS
|
|
517
|
+
// HTTP ESM cache identity rule, and necessary for Android
|
|
518
|
+
// emulators that can't reach `0.0.0.0` / `localhost`.
|
|
511
519
|
const port = Number(config?.server?.port || 5173);
|
|
520
|
+
// Pass `port` through so the Android emulator path attempts
|
|
521
|
+
// `adb reverse tcp:<port> tcp:<port>` before falling back to
|
|
522
|
+
// `10.0.2.2`. The websocket URL and bundle.mjs URLs both
|
|
523
|
+
// flow from this same helper, so they stay byte-identical
|
|
524
|
+
// (required by the iOS HTTP ESM cache identity rule).
|
|
525
|
+
const { host } = resolveDeviceReachableHost({
|
|
526
|
+
host: config?.server?.host,
|
|
527
|
+
platform: opts.platform,
|
|
528
|
+
port,
|
|
529
|
+
});
|
|
512
530
|
const secure = !!config?.server?.https;
|
|
513
531
|
const protocol = secure ? 'wss' : 'ws';
|
|
514
532
|
const wsUrl = `${protocol}://${host}:${port}/ns-hmr`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/vite-plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/vite-plugin.ts"],"names":[],"mappings":"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"}
|