@nativescript/vite 8.0.0-alpha.3 → 8.0.0-alpha.30
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 +369 -159
- 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/angular/angular-linker.d.ts +5 -6
- package/helpers/angular/angular-linker.js +36 -121
- package/helpers/angular/angular-linker.js.map +1 -1
- package/helpers/angular/inject-component-hmr-registration.d.ts +112 -0
- package/helpers/angular/inject-component-hmr-registration.js +291 -0
- package/helpers/angular/inject-component-hmr-registration.js.map +1 -0
- package/helpers/angular/inject-hmr-vite-ignore.d.ts +75 -0
- package/helpers/angular/inject-hmr-vite-ignore.js +221 -0
- package/helpers/angular/inject-hmr-vite-ignore.js.map +1 -0
- package/helpers/angular/inline-decorator-component-templates.js +1 -170
- package/helpers/angular/inline-decorator-component-templates.js.map +1 -1
- package/helpers/angular/js-lexer.d.ts +4 -0
- package/helpers/angular/js-lexer.js +182 -0
- package/helpers/angular/js-lexer.js.map +1 -0
- package/helpers/angular/shared-linker.d.ts +31 -3
- package/helpers/angular/shared-linker.js +67 -14
- package/helpers/angular/shared-linker.js.map +1 -1
- package/helpers/angular/synthesize-decorator-ctor-parameters.js +2 -170
- package/helpers/angular/synthesize-decorator-ctor-parameters.js.map +1 -1
- package/helpers/angular/synthesize-injectable-factories.js +1 -174
- package/helpers/angular/synthesize-injectable-factories.js.map +1 -1
- package/helpers/angular/util.d.ts +1 -0
- package/helpers/angular/util.js +88 -0
- package/helpers/angular/util.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/prelink-angular.js +12 -33
- package/helpers/prelink-angular.js.map +1 -1
- 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/solid-jsx-deps.d.ts +15 -0
- package/helpers/solid-jsx-deps.js +178 -0
- package/helpers/solid-jsx-deps.js.map +1 -0
- 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/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 +419 -15
- 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/client/vue-sfc-update-overlay.d.ts +82 -0
- package/hmr/client/vue-sfc-update-overlay.js +133 -0
- package/hmr/client/vue-sfc-update-overlay.js.map +1 -0
- 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/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/server/linker.js +1 -4
- package/hmr/frameworks/angular/server/linker.js.map +1 -1
- package/hmr/frameworks/angular/server/strategy.js +13 -15
- package/hmr/frameworks/angular/server/strategy.js.map +1 -1
- package/hmr/frameworks/solid/server/strategy.js +3 -18
- package/hmr/frameworks/solid/server/strategy.js.map +1 -1
- package/hmr/frameworks/typescript/server/strategy.js +2 -15
- 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/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/angular-root-component.d.ts +79 -0
- package/hmr/server/angular-root-component.js +149 -0
- package/hmr/server/angular-root-component.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/framework-strategy.d.ts +9 -19
- 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.js +60 -8
- package/hmr/server/import-map.js.map +1 -1
- package/hmr/server/index.js +1 -0
- 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/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/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/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-angular-entry.js +1 -1
- package/hmr/server/websocket-angular-entry.js.map +1 -1
- package/hmr/server/websocket-angular-hot-update.d.ts +17 -0
- package/hmr/server/websocket-angular-hot-update.js +176 -2
- package/hmr/server/websocket-angular-hot-update.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 +21 -0
- package/hmr/server/websocket-device-transform.js +1570 -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 +43 -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 +51 -0
- package/hmr/server/websocket-hot-update.js +1160 -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 +44 -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 +305 -0
- package/hmr/server/websocket-ns-core.js.map +1 -0
- package/hmr/server/websocket-ns-entry.d.ts +22 -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 +34 -0
- package/hmr/server/websocket-ns-m.js +853 -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-sfc.d.ts +24 -0
- package/hmr/server/websocket-sfc.js +1223 -0
- package/hmr/server/websocket-sfc.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 +10 -0
- package/hmr/server/websocket-vendor-unifier.js +45 -0
- package/hmr/server/websocket-vendor-unifier.js.map +1 -0
- package/hmr/server/websocket.d.ts +0 -30
- package/hmr/server/websocket.js +599 -6038
- package/hmr/server/websocket.js.map +1 -1
- 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 +32 -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 -5
- package/hmr/shared/vendor/manifest.js +102 -739
- 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
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
// Server-side perf instrumentation helpers.
|
|
2
|
+
//
|
|
3
|
+
// All exports are pure so they can be unit-tested without spinning up
|
|
4
|
+
// Vite. The websocket middleware wires them in with its own logger.
|
|
5
|
+
//
|
|
6
|
+
// The three primitives are:
|
|
7
|
+
// 1. `formatServerStartupBanner` — the always-on banner that prints
|
|
8
|
+
// on dev server startup so the user can confirm which build is
|
|
9
|
+
// live and which perf knobs are active.
|
|
10
|
+
// 2. `createColdBootRequestCounter` — a richer counter that tracks
|
|
11
|
+
// the first burst of NativeScript dev routes (`/ns/m/**`, `/ns/rt/**`,
|
|
12
|
+
// `/ns/core/**`, `/__ns_boot__/**`, `/ns/import-map.json`,
|
|
13
|
+
// `/@nativescript/vendor.mjs`). Emits a rolling + final summary so
|
|
14
|
+
// cold-boot traffic is visible without flipping verbose mode.
|
|
15
|
+
// 3. `formatPopulateInitialGraphSummary` — the single line we print
|
|
16
|
+
// when `populateInitialGraph` finishes. Includes module count and
|
|
17
|
+
// duration so it's trivial to spot regressions.
|
|
18
|
+
// Single-line, human-scannable banner. We avoid pretty-printing (no
|
|
19
|
+
// boxes/colors) so it plays well with piped logs and the Vite custom
|
|
20
|
+
// logger. Format:
|
|
21
|
+
// [hmr-ws] @nativescript/vite@<version> — transformConcurrency=8 transformCacheMs=60000ms lazyInitialGraph=on graphVersion=1
|
|
22
|
+
export function formatServerStartupBanner(input) {
|
|
23
|
+
const parts = [`transformConcurrency=${Math.max(1, Math.floor(input.transformConcurrency))}`, `transformCacheMs=${Math.max(0, Math.floor(input.transformCacheMs))}ms`, `lazyInitialGraph=${input.lazyInitialGraph ? 'on' : 'off'}`, `graphVersion=${Math.max(0, Math.floor(input.graphVersion))}`];
|
|
24
|
+
return `[hmr-ws] @nativescript/vite@${input.version} — ${parts.join(' ')}`;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Classify a URL path into a coarse route category. Any pathname that
|
|
28
|
+
* doesn't match a known NativeScript dev route is reported as `other`;
|
|
29
|
+
* callers are expected to filter their own irrelevant routes before
|
|
30
|
+
* calling `record()`.
|
|
31
|
+
*/
|
|
32
|
+
export function classifyBootRoute(pathname) {
|
|
33
|
+
if (!pathname || typeof pathname !== 'string')
|
|
34
|
+
return 'other';
|
|
35
|
+
if (pathname === '/ns/import-map.json')
|
|
36
|
+
return 'ns/import-map';
|
|
37
|
+
if (pathname === '/@nativescript/vendor.mjs' || pathname.startsWith('/@nativescript/'))
|
|
38
|
+
return 'ns/vendor';
|
|
39
|
+
if (pathname.startsWith('/ns/m/'))
|
|
40
|
+
return 'ns/m';
|
|
41
|
+
if (pathname.startsWith('/ns/rt/'))
|
|
42
|
+
return 'ns/rt';
|
|
43
|
+
if (pathname.startsWith('/ns/core/'))
|
|
44
|
+
return 'ns/core';
|
|
45
|
+
if (pathname.startsWith('/__ns_boot__/'))
|
|
46
|
+
return 'ns/boot';
|
|
47
|
+
if (pathname.startsWith('/__ns_hmr__/'))
|
|
48
|
+
return 'ns/hmr';
|
|
49
|
+
if (pathname.startsWith('/ns/'))
|
|
50
|
+
return 'ns/other';
|
|
51
|
+
return 'other';
|
|
52
|
+
}
|
|
53
|
+
// Factory for the cold-boot counter. Encapsulates all state in a closure
|
|
54
|
+
// so the websocket module doesn't have to track timers itself, and so
|
|
55
|
+
// this is trivially testable with a fake clock.
|
|
56
|
+
export function createColdBootRequestCounter(options) {
|
|
57
|
+
const summaryEvery = Math.max(0, Math.floor(options.summaryEvery ?? 100));
|
|
58
|
+
const idleWindowMs = Math.max(100, Math.floor(options.idleWindowMs ?? 5000));
|
|
59
|
+
const now = options.now ?? (() => Date.now());
|
|
60
|
+
const setTimer = options.setTimer ?? ((handler, ms) => setTimeout(handler, ms));
|
|
61
|
+
const clearTimer = options.clearTimer ?? ((handle) => clearTimeout(handle));
|
|
62
|
+
let active = true;
|
|
63
|
+
let count = 0;
|
|
64
|
+
let inFlight = 0;
|
|
65
|
+
let maxConcurrent = 0;
|
|
66
|
+
let startedAt = null;
|
|
67
|
+
let firstRequestUrl = null;
|
|
68
|
+
let idleTimer = null;
|
|
69
|
+
const perRoute = {};
|
|
70
|
+
const formatPerRoute = () => {
|
|
71
|
+
const entries = Object.entries(perRoute);
|
|
72
|
+
if (entries.length === 0)
|
|
73
|
+
return '';
|
|
74
|
+
entries.sort((a, b) => b[1] - a[1]);
|
|
75
|
+
return entries.map(([k, v]) => `${k}=${v}`).join(',');
|
|
76
|
+
};
|
|
77
|
+
const fireFinal = () => {
|
|
78
|
+
if (!active)
|
|
79
|
+
return;
|
|
80
|
+
active = false;
|
|
81
|
+
// `startedAt` is set the first time `record()` fires. Use an explicit
|
|
82
|
+
// null check — `startedAt` can be 0 on deterministic test clocks and
|
|
83
|
+
// `startedAt ? ... : 0` would mis-treat that as "never started".
|
|
84
|
+
const ms = startedAt !== null ? now() - startedAt : 0;
|
|
85
|
+
const routes = formatPerRoute();
|
|
86
|
+
const routesPart = routes ? ` routes=${routes}` : '';
|
|
87
|
+
options.log(`[hmr-ws][cold-boot] window closed modules=${count} ms=${ms} maxConcurrent=${maxConcurrent}${routesPart}`);
|
|
88
|
+
};
|
|
89
|
+
const scheduleIdleClose = () => {
|
|
90
|
+
if (idleTimer !== null)
|
|
91
|
+
clearTimer(idleTimer);
|
|
92
|
+
idleTimer = setTimer(() => {
|
|
93
|
+
idleTimer = null;
|
|
94
|
+
fireFinal();
|
|
95
|
+
}, idleWindowMs);
|
|
96
|
+
};
|
|
97
|
+
return {
|
|
98
|
+
record(url) {
|
|
99
|
+
if (!active) {
|
|
100
|
+
return { finish: () => { } };
|
|
101
|
+
}
|
|
102
|
+
count += 1;
|
|
103
|
+
inFlight += 1;
|
|
104
|
+
if (inFlight > maxConcurrent)
|
|
105
|
+
maxConcurrent = inFlight;
|
|
106
|
+
if (startedAt === null) {
|
|
107
|
+
startedAt = now();
|
|
108
|
+
firstRequestUrl = url;
|
|
109
|
+
}
|
|
110
|
+
const route = classifyBootRoute(url);
|
|
111
|
+
perRoute[route] = (perRoute[route] ?? 0) + 1;
|
|
112
|
+
if (summaryEvery > 0 && count % summaryEvery === 0) {
|
|
113
|
+
// Same `startedAt === 0` consideration as in fireFinal().
|
|
114
|
+
const ms = startedAt !== null ? now() - startedAt : 0;
|
|
115
|
+
options.log(`[hmr-ws][cold-boot] progress modules=${count} ms=${ms} inFlight=${inFlight} maxConcurrent=${maxConcurrent}`);
|
|
116
|
+
}
|
|
117
|
+
scheduleIdleClose();
|
|
118
|
+
let finished = false;
|
|
119
|
+
return {
|
|
120
|
+
finish() {
|
|
121
|
+
if (finished)
|
|
122
|
+
return;
|
|
123
|
+
finished = true;
|
|
124
|
+
if (inFlight > 0)
|
|
125
|
+
inFlight -= 1;
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
},
|
|
129
|
+
finalize() {
|
|
130
|
+
if (idleTimer !== null) {
|
|
131
|
+
clearTimer(idleTimer);
|
|
132
|
+
idleTimer = null;
|
|
133
|
+
}
|
|
134
|
+
fireFinal();
|
|
135
|
+
},
|
|
136
|
+
getState() {
|
|
137
|
+
return { active, count, inFlight, maxConcurrent, startedAt, firstRequestUrl, perRoute: { ...perRoute } };
|
|
138
|
+
},
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
// Summary line for `populateInitialGraph`. Stable shape so CI greps or
|
|
142
|
+
// external dashboards can pick it up without fragile regexes.
|
|
143
|
+
export function formatPopulateInitialGraphSummary(input) {
|
|
144
|
+
return `[hmr-ws][populate] modules=${Math.max(0, Math.floor(input.moduleCount))} ms=${Math.max(0, Math.floor(input.durationMs))} graphVersion=${Math.max(0, Math.floor(input.graphVersion))} bumpedVersion=${input.bumpedVersion ? 'yes' : 'no'}`;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Classify a file's HMR update kind by extension. Used by the server-side
|
|
148
|
+
* update summary so a quick log line tells us which pipeline ran. Returns
|
|
149
|
+
* `'unknown'` for anything that doesn't match a known dev-time extension —
|
|
150
|
+
* the caller decides whether to log it or skip it entirely.
|
|
151
|
+
*/
|
|
152
|
+
export function classifyHmrUpdateKind(file) {
|
|
153
|
+
if (!file || typeof file !== 'string')
|
|
154
|
+
return 'unknown';
|
|
155
|
+
const lower = file.toLowerCase();
|
|
156
|
+
if (lower.endsWith('.ts'))
|
|
157
|
+
return 'ts';
|
|
158
|
+
if (lower.endsWith('.tsx'))
|
|
159
|
+
return 'tsx';
|
|
160
|
+
if (lower.endsWith('.jsx'))
|
|
161
|
+
return 'jsx';
|
|
162
|
+
if (lower.endsWith('.html') || lower.endsWith('.htm'))
|
|
163
|
+
return 'html';
|
|
164
|
+
if (lower.endsWith('.css') || lower.endsWith('.scss') || lower.endsWith('.sass') || lower.endsWith('.less'))
|
|
165
|
+
return 'css';
|
|
166
|
+
if (lower.endsWith('.vue'))
|
|
167
|
+
return 'vue';
|
|
168
|
+
if (lower.endsWith('.mjs'))
|
|
169
|
+
return 'mjs';
|
|
170
|
+
if (lower.endsWith('.js'))
|
|
171
|
+
return 'js';
|
|
172
|
+
return 'unknown';
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Single-line summary for the server side of an HMR update. Always-on so
|
|
176
|
+
* a 6-second `.ts` save is immediately visible without flipping verbose.
|
|
177
|
+
* Format:
|
|
178
|
+
* [hmr-ws][update] kind=ts file=/src/foo.ts await=12ms framework=180ms broadcast=2ms total=194ms invalidated=23 recipients=1
|
|
179
|
+
*
|
|
180
|
+
* For Angular `.ts` updates, `narrowed=yes|no` is appended so the
|
|
181
|
+
* narrowing decision is immediately visible without flipping verbose:
|
|
182
|
+
* [hmr-ws][update] kind=ts file=/src/app/foo.constants.ts ... invalidated=1 recipients=1 narrowed=yes
|
|
183
|
+
* [hmr-ws][update] kind=ts file=/src/app/foo.component.ts ... invalidated=132 recipients=1 narrowed=no
|
|
184
|
+
*/
|
|
185
|
+
export function formatHmrUpdateSummary(input) {
|
|
186
|
+
const parts = [`kind=${input.kind || 'unknown'}`, `file=${input.file || '<unknown>'}`, `await=${Math.max(0, Math.floor(input.awaitMs))}ms`, `framework=${Math.max(0, Math.floor(input.frameworkMs))}ms`, `broadcast=${Math.max(0, Math.floor(input.broadcastMs))}ms`, `total=${Math.max(0, Math.floor(input.totalMs))}ms`, `invalidated=${Math.max(0, Math.floor(input.invalidated))}`, `recipients=${Math.max(0, Math.floor(input.recipients))}`];
|
|
187
|
+
if (input.narrowed === true) {
|
|
188
|
+
parts.push('narrowed=yes');
|
|
189
|
+
}
|
|
190
|
+
else if (input.narrowed === false) {
|
|
191
|
+
parts.push('narrowed=no');
|
|
192
|
+
}
|
|
193
|
+
return `[hmr-ws][update] ${parts.join(' ')}`;
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=perf-instrumentation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"perf-instrumentation.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/perf-instrumentation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const REQUIRE_GUARD_SNIPPET = "// [guard] install require('http(s)://') detector\n(()=>{try{var g=globalThis;if(g.__NS_REQUIRE_GUARD_INSTALLED__){}else{var seen=g.__NS_REQUIRE_GUARD_SEEN__||(g.__NS_REQUIRE_GUARD_SEEN__=new Set());var mk=function(o,l){return function(){try{var s=arguments[0];if(typeof s==='string'&&/^(?:https?:)\\/\\//.test(s)){var k=l+'|'+s;var v=g.__NS_REQUIRE_GUARD_VERBOSE__===true;var first=!seen.has(k);if(first)seen.add(k);if(first||v){var e=new Error('[ns-hmr][require-guard] require of URL: '+s+' via '+l);if(v)console.warn(e.message+'\\n'+(e.stack||''));else console.warn(e.message);try{g.__NS_REQUIRE_GUARD_LAST__={spec:s,stack:e.stack,label:l,ts:Date.now()};}catch(e3){}}}}catch(e1){}return o.apply(this, arguments);};};if(typeof g.require==='function'&&!g.require.__NS_REQ_GUARDED__){var o1=g.require;g.require=mk(o1,'require');g.require.__NS_REQ_GUARDED__=true;}if(typeof g.__nsRequire==='function'&&!g.__nsRequire.__NS_REQ_GUARDED__){var o2=g.__nsRequire;g.__nsRequire=mk(o2,'__nsRequire');g.__nsRequire.__NS_REQ_GUARDED__=true;}g.__NS_REQUIRE_GUARD_INSTALLED__=true;}}catch(e){}})();\n";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Detect (and log) `require('http(s)://...')` calls made from CJS shims.
|
|
2
|
+
// Pattern: HTTP-served ESM modules end up in NS-vite's `__nsRequire`
|
|
3
|
+
// shim with HTTP URLs as their relative resolution targets. The guard
|
|
4
|
+
// is install-once-per-isolate, dedupes per-URL (so semver's ~30 deep
|
|
5
|
+
// imports produce ~30 lines on the first boot and 0 on subsequent
|
|
6
|
+
// boots within the same isolate), and uses `console.warn` so the
|
|
7
|
+
// message reads as advisory. Forensic detail
|
|
8
|
+
// (stack) lives on `globalThis.__NS_REQUIRE_GUARD_LAST__` for
|
|
9
|
+
// post-mortem inspection. Set `globalThis.__NS_REQUIRE_GUARD_VERBOSE__`
|
|
10
|
+
// to `true` before any module loads to restore per-call logging.
|
|
11
|
+
export const REQUIRE_GUARD_SNIPPET = `// [guard] install require('http(s)://') detector\n(()=>{try{var g=globalThis;if(g.__NS_REQUIRE_GUARD_INSTALLED__){}else{var seen=g.__NS_REQUIRE_GUARD_SEEN__||(g.__NS_REQUIRE_GUARD_SEEN__=new Set());var mk=function(o,l){return function(){try{var s=arguments[0];if(typeof s==='string'&&/^(?:https?:)\\/\\//.test(s)){var k=l+'|'+s;var v=g.__NS_REQUIRE_GUARD_VERBOSE__===true;var first=!seen.has(k);if(first)seen.add(k);if(first||v){var e=new Error('[ns-hmr][require-guard] require of URL: '+s+' via '+l);if(v)console.warn(e.message+'\\n'+(e.stack||''));else console.warn(e.message);try{g.__NS_REQUIRE_GUARD_LAST__={spec:s,stack:e.stack,label:l,ts:Date.now()};}catch(e3){}}}}catch(e1){}return o.apply(this, arguments);};};if(typeof g.require==='function'&&!g.require.__NS_REQ_GUARDED__){var o1=g.require;g.require=mk(o1,'require');g.require.__NS_REQ_GUARDED__=true;}if(typeof g.__nsRequire==='function'&&!g.__nsRequire.__NS_REQ_GUARDED__){var o2=g.__nsRequire;g.__nsRequire=mk(o2,'__nsRequire');g.__nsRequire.__NS_REQ_GUARDED__=true;}g.__NS_REQUIRE_GUARD_INSTALLED__=true;}}catch(e){}})();\n`;
|
|
12
|
+
//# sourceMappingURL=require-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"require-guard.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/require-guard.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,qEAAqE;AACrE,sEAAsE;AACtE,qEAAqE;AACrE,kEAAkE;AAClE,iEAAiE;AACjE,6CAA6C;AAC7C,8DAA8D;AAC9D,wEAAwE;AACxE,iEAAiE;AACjE,MAAM,CAAC,MAAM,qBAAqB,GAAG,kkCAAkkC,CAAC"}
|
|
@@ -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":"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
|
|
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,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"}
|