@nativescript/vite 8.0.0-alpha.56 → 8.0.0-alpha.58
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/configuration/angular.js +3 -3
- package/configuration/angular.js.map +1 -1
- package/helpers/global-defines.d.ts +1 -1
- package/helpers/global-defines.js +1 -1
- package/helpers/workers.js +10 -10
- package/helpers/workers.js.map +1 -1
- package/hmr/client/hot-context.d.ts +67 -0
- package/hmr/client/hot-context.js +284 -0
- package/hmr/client/hot-context.js.map +1 -0
- package/hmr/client/index.js +49 -60
- package/hmr/client/index.js.map +1 -1
- package/hmr/client/utils.js +29 -57
- package/hmr/client/utils.js.map +1 -1
- package/hmr/entry-runtime.js +73 -39
- package/hmr/entry-runtime.js.map +1 -1
- package/hmr/frameworks/angular/client/index.js +103 -161
- package/hmr/frameworks/angular/client/index.js.map +1 -1
- package/hmr/frameworks/angular/server/strategy.js +4 -6
- package/hmr/frameworks/angular/server/strategy.js.map +1 -1
- package/hmr/frameworks/angular/server/websocket-angular-hot-update.js +2 -2
- package/hmr/frameworks/angular/server/websocket-angular-hot-update.js.map +1 -1
- package/hmr/frameworks/solid/client/app-runtime.js +9 -7
- package/hmr/frameworks/solid/client/app-runtime.js.map +1 -1
- package/hmr/frameworks/solid/server/strategy.js +1 -1
- package/hmr/frameworks/solid/server/strategy.js.map +1 -1
- package/hmr/frameworks/typescript/server/strategy.js +1 -1
- package/hmr/frameworks/typescript/server/strategy.js.map +1 -1
- package/hmr/frameworks/vue/client/index.d.ts +1 -0
- package/hmr/frameworks/vue/client/index.js +90 -12
- package/hmr/frameworks/vue/client/index.js.map +1 -1
- package/hmr/frameworks/vue/server/sfc-route-assemble.js +43 -39
- package/hmr/frameworks/vue/server/sfc-route-assemble.js.map +1 -1
- package/hmr/frameworks/vue/server/sfc-route-serve.js +18 -30
- package/hmr/frameworks/vue/server/sfc-route-serve.js.map +1 -1
- package/hmr/frameworks/vue/server/sfc-route-shared.d.ts +13 -16
- package/hmr/frameworks/vue/server/sfc-route-shared.js +20 -24
- package/hmr/frameworks/vue/server/sfc-route-shared.js.map +1 -1
- package/hmr/frameworks/vue/server/strategy.js +14 -12
- package/hmr/frameworks/vue/server/strategy.js.map +1 -1
- package/hmr/helpers/vendor-rewrite.d.ts +1 -1
- package/hmr/helpers/vendor-rewrite.js +5 -3
- package/hmr/helpers/vendor-rewrite.js.map +1 -1
- package/hmr/server/boot-closure-route.d.ts +16 -0
- package/hmr/server/boot-closure-route.js +99 -0
- package/hmr/server/boot-closure-route.js.map +1 -0
- package/hmr/server/core-bundle.d.ts +116 -0
- package/hmr/server/core-bundle.js +460 -0
- package/hmr/server/core-bundle.js.map +1 -0
- package/hmr/server/framework-strategy.d.ts +10 -5
- package/hmr/server/hmr-module-graph.js +7 -6
- package/hmr/server/hmr-module-graph.js.map +1 -1
- package/hmr/server/import-map.d.ts +3 -3
- package/hmr/server/import-map.js +4 -4
- package/hmr/server/import-map.js.map +1 -1
- package/hmr/server/ns-rt-route.js +2 -1
- package/hmr/server/ns-rt-route.js.map +1 -1
- package/hmr/server/perf-instrumentation.js +1 -1
- package/hmr/server/perf-instrumentation.js.map +1 -1
- package/hmr/server/process-code-for-device.d.ts +16 -0
- package/hmr/server/process-code-for-device.js +94 -2
- package/hmr/server/process-code-for-device.js.map +1 -1
- package/hmr/server/vite-plugin.d.ts +1 -0
- package/hmr/server/vite-plugin.js +110 -20
- package/hmr/server/vite-plugin.js.map +1 -1
- package/hmr/server/websocket-import-map-route.d.ts +1 -1
- package/hmr/server/websocket-import-map-route.js +1 -1
- package/hmr/server/websocket-ns-core.d.ts +16 -3
- package/hmr/server/websocket-ns-core.js +100 -5
- package/hmr/server/websocket-ns-core.js.map +1 -1
- package/hmr/server/websocket-ns-m-paths.d.ts +1 -3
- package/hmr/server/websocket-ns-m-paths.js +24 -80
- package/hmr/server/websocket-ns-m-paths.js.map +1 -1
- package/hmr/server/websocket-ns-m.js +41 -77
- package/hmr/server/websocket-ns-m.js.map +1 -1
- package/hmr/server/websocket-served-module-helpers.d.ts +1 -1
- package/hmr/server/websocket-served-module-helpers.js +11 -5
- package/hmr/server/websocket-served-module-helpers.js.map +1 -1
- package/hmr/server/websocket-txn.js +4 -1
- package/hmr/server/websocket-txn.js.map +1 -1
- package/hmr/server/websocket.js +8 -1
- package/hmr/server/websocket.js.map +1 -1
- package/hmr/shared/ns-globals.d.ts +2 -15
- package/hmr/shared/ns-globals.js +2 -3
- package/hmr/shared/ns-globals.js.map +1 -1
- package/hmr/shared/runtime/boot-complete.d.ts +14 -0
- package/hmr/shared/runtime/boot-complete.js +32 -0
- package/hmr/shared/runtime/boot-complete.js.map +1 -0
- package/hmr/shared/runtime/boot-progress.js +6 -5
- package/hmr/shared/runtime/boot-progress.js.map +1 -1
- package/hmr/shared/runtime/boot-timeline.d.ts +1 -1
- package/hmr/shared/runtime/boot-timeline.js +6 -7
- package/hmr/shared/runtime/boot-timeline.js.map +1 -1
- package/hmr/shared/runtime/browser-runtime-contract.d.ts +34 -22
- package/hmr/shared/runtime/browser-runtime-contract.js +6 -9
- package/hmr/shared/runtime/browser-runtime-contract.js.map +1 -1
- package/hmr/shared/runtime/dev-overlay.js +1 -1
- package/hmr/shared/runtime/dev-overlay.js.map +1 -1
- package/hmr/shared/runtime/root-placeholder.js +5 -4
- package/hmr/shared/runtime/root-placeholder.js.map +1 -1
- package/hmr/shared/runtime/session-bootstrap.js +90 -48
- package/hmr/shared/runtime/session-bootstrap.js.map +1 -1
- package/package.json +5 -1
|
@@ -7,7 +7,7 @@ export interface RegisterImportMapRouteOptions {
|
|
|
7
7
|
/**
|
|
8
8
|
* Registers the device import-map endpoint: `GET /ns/import-map.json`.
|
|
9
9
|
*
|
|
10
|
-
* Returns the import map + runtime config consumed by `
|
|
10
|
+
* Returns the import map + runtime config consumed by `__NS_DEV__.configureRuntime()`
|
|
11
11
|
* on the device during cold boot. Extracted verbatim from
|
|
12
12
|
* `createHmrWebSocketPlugin`; the only injected dependency is the active
|
|
13
13
|
* framework strategy (for its `flavor`).
|
|
@@ -3,7 +3,7 @@ import { getServerOrigin } from './server-origin.js';
|
|
|
3
3
|
/**
|
|
4
4
|
* Registers the device import-map endpoint: `GET /ns/import-map.json`.
|
|
5
5
|
*
|
|
6
|
-
* Returns the import map + runtime config consumed by `
|
|
6
|
+
* Returns the import map + runtime config consumed by `__NS_DEV__.configureRuntime()`
|
|
7
7
|
* on the device during cold boot. Extracted verbatim from
|
|
8
8
|
* `createHmrWebSocketPlugin`; the only injected dependency is the active
|
|
9
9
|
* framework strategy (for its `flavor`).
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { TransformResult, ViteDevServer } from 'vite';
|
|
2
|
+
import { type CoreBundleService } from './core-bundle.js';
|
|
2
3
|
type SharedTransformRequestFn = (url: string, timeoutMs?: number) => Promise<TransformResult | null>;
|
|
3
4
|
/**
|
|
4
5
|
* Plugin-closure dependencies the `/ns/core` bridge needs: the shared transform
|
|
@@ -9,13 +10,25 @@ type SharedTransformRequestFn = (url: string, timeoutMs?: number) => Promise<Tra
|
|
|
9
10
|
export interface RegisterNsCoreRouteOptions {
|
|
10
11
|
getGraphVersion(): number;
|
|
11
12
|
sharedTransformRequest: SharedTransformRequestFn;
|
|
13
|
+
/**
|
|
14
|
+
* Injectable core-bundle service (testability seam). When omitted, the
|
|
15
|
+
* shared process-wide service is used — unless `NS_CORE_PER_MODULE=1`
|
|
16
|
+
* disables bundle mode entirely.
|
|
17
|
+
*/
|
|
18
|
+
coreBundle?: CoreBundleService | null;
|
|
12
19
|
}
|
|
13
20
|
/**
|
|
14
21
|
* Registers the `@nativescript/core` device bridge on the dev server:
|
|
15
22
|
* - a catch-all that rewrites stray `/node_modules/@nativescript/core/*`
|
|
16
|
-
* requests to the canonical `/ns/core[/<sub>]` URL,
|
|
17
|
-
* - `GET /ns/core
|
|
18
|
-
*
|
|
23
|
+
* requests to the canonical `/ns/core[/<sub>]` URL,
|
|
24
|
+
* - `GET /ns/core-bundle.mjs` (bundle mode) — the single-eval core bundle, and
|
|
25
|
+
* - `GET /ns/core[/<sub>]` — the canonical core URL space. In bundle mode
|
|
26
|
+
* (default) these serve thin shims over the bundle; with
|
|
27
|
+
* `NS_CORE_PER_MODULE=1` (core maintainers editing core source in the
|
|
28
|
+
* monorepo) each core module is served/transformed individually so core
|
|
29
|
+
* edits participate in HMR. Either way this URL family is the ONE place
|
|
30
|
+
* @nativescript/core reaches the device (single module realm, shared class
|
|
31
|
+
* identities, one-time `register()`).
|
|
19
32
|
*/
|
|
20
33
|
export declare function registerNsCoreRoute(server: ViteDevServer, options: RegisterNsCoreRouteOptions): void;
|
|
21
34
|
export {};
|
|
@@ -1,20 +1,86 @@
|
|
|
1
|
+
import { readFileSync } from 'node:fs';
|
|
1
2
|
import { isDirectoryIndexFilename, rewriteSpecifiersForDevice } from './core-sanitize.js';
|
|
2
|
-
import { buildDefaultExportFooter, buildShapeInstallHeader, hasNamespaceReExport, rewriteNamespaceReExportsForShape } from './ns-core-cjs-shape.js';
|
|
3
|
+
import { buildDefaultExportFooter, buildShapeInstallHeader, hasExistingDefaultExport, hasNamespaceReExport, rewriteNamespaceReExportsForShape } from './ns-core-cjs-shape.js';
|
|
3
4
|
import { getCliFlags } from '../../helpers/cli-flags.js';
|
|
4
5
|
import { normalizeCoreSub as normalizeCoreSubCanonical } from '../../helpers/ns-core-url.js';
|
|
5
|
-
import { parseCoreBridgeRequest, resolveRuntimeCoreModulePath } from './websocket-core-bridge.js';
|
|
6
|
+
import { parseCoreBridgeRequest, resolveRuntimeCoreModulePath, collectStaticExportNamesFromFile } from './websocket-core-bridge.js';
|
|
6
7
|
import { setDeviceModuleHeaders } from './route-helpers.js';
|
|
7
8
|
import { getServerOrigin } from './server-origin.js';
|
|
8
9
|
import { resolveVerboseFlag } from '../../helpers/logging.js';
|
|
10
|
+
import { CORE_BUNDLE_PATH, buildCoreMainShimCode, buildCoreSubShimCode, getSharedCoreBundleService, isCorePerModuleServingEnabled } from './core-bundle.js';
|
|
9
11
|
/**
|
|
10
12
|
* Registers the `@nativescript/core` device bridge on the dev server:
|
|
11
13
|
* - a catch-all that rewrites stray `/node_modules/@nativescript/core/*`
|
|
12
|
-
* requests to the canonical `/ns/core[/<sub>]` URL,
|
|
13
|
-
* - `GET /ns/core
|
|
14
|
-
*
|
|
14
|
+
* requests to the canonical `/ns/core[/<sub>]` URL,
|
|
15
|
+
* - `GET /ns/core-bundle.mjs` (bundle mode) — the single-eval core bundle, and
|
|
16
|
+
* - `GET /ns/core[/<sub>]` — the canonical core URL space. In bundle mode
|
|
17
|
+
* (default) these serve thin shims over the bundle; with
|
|
18
|
+
* `NS_CORE_PER_MODULE=1` (core maintainers editing core source in the
|
|
19
|
+
* monorepo) each core module is served/transformed individually so core
|
|
20
|
+
* edits participate in HMR. Either way this URL family is the ONE place
|
|
21
|
+
* @nativescript/core reaches the device (single module realm, shared class
|
|
22
|
+
* identities, one-time `register()`).
|
|
15
23
|
*/
|
|
16
24
|
export function registerNsCoreRoute(server, options) {
|
|
17
25
|
const verbose = resolveVerboseFlag();
|
|
26
|
+
const coreBundle = options.coreBundle !== undefined ? options.coreBundle : isCorePerModuleServingEnabled() ? null : getSharedCoreBundleService(server);
|
|
27
|
+
if (coreBundle) {
|
|
28
|
+
// Warm the bundle build in the background so the first device request
|
|
29
|
+
// doesn't pay the esbuild cost (parallels the vendor bundle warmup).
|
|
30
|
+
void coreBundle.ensureBuilt();
|
|
31
|
+
// GET /ns/core-bundle.mjs — the single-eval core payload.
|
|
32
|
+
server.middlewares.use(async (req, res, next) => {
|
|
33
|
+
try {
|
|
34
|
+
const urlObj = new URL(req.url || '', 'http://localhost');
|
|
35
|
+
if (urlObj.pathname !== CORE_BUNDLE_PATH)
|
|
36
|
+
return next();
|
|
37
|
+
const state = await coreBundle.ensureBuilt();
|
|
38
|
+
if (!state) {
|
|
39
|
+
res.statusCode = 503;
|
|
40
|
+
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
41
|
+
res.setHeader('Content-Type', 'application/json');
|
|
42
|
+
res.end(JSON.stringify({ error: 'core-bundle-build-failed' }));
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
setDeviceModuleHeaders(res);
|
|
46
|
+
res.statusCode = 200;
|
|
47
|
+
res.end(state.code);
|
|
48
|
+
}
|
|
49
|
+
catch (e) {
|
|
50
|
+
console.warn('[ns-core-bundle] serve failed:', e?.message);
|
|
51
|
+
next();
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
const subExportInfoCache = new Map();
|
|
56
|
+
const resolveModuleIdViaVite = async (moduleId) => {
|
|
57
|
+
const resolved = await server.pluginContainer?.resolveId?.(moduleId, undefined);
|
|
58
|
+
return typeof resolved === 'string' ? resolved : resolved?.id || null;
|
|
59
|
+
};
|
|
60
|
+
const getSubShimExportInfo = (canonicalSub) => {
|
|
61
|
+
let pending = subExportInfoCache.get(canonicalSub);
|
|
62
|
+
if (!pending) {
|
|
63
|
+
pending = (async () => {
|
|
64
|
+
try {
|
|
65
|
+
const modulePath = await resolveRuntimeCoreModulePath(canonicalSub, resolveModuleIdViaVite);
|
|
66
|
+
if (!modulePath)
|
|
67
|
+
return { names: [], hasDefault: false };
|
|
68
|
+
let hasDefault = false;
|
|
69
|
+
try {
|
|
70
|
+
hasDefault = hasExistingDefaultExport(readFileSync(modulePath.replace(/[?#].*$/, ''), 'utf8'));
|
|
71
|
+
}
|
|
72
|
+
catch { }
|
|
73
|
+
return { names: collectStaticExportNamesFromFile(modulePath), hasDefault };
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
return { names: [], hasDefault: false };
|
|
77
|
+
}
|
|
78
|
+
})();
|
|
79
|
+
subExportInfoCache.set(canonicalSub, pending);
|
|
80
|
+
}
|
|
81
|
+
return pending;
|
|
82
|
+
};
|
|
83
|
+
const warnedFallbackSubs = new Set();
|
|
18
84
|
// Catch-all redirect for stray /node_modules/@nativescript/core/*
|
|
19
85
|
// requests — route them to the /ns/core bridge so they get the same
|
|
20
86
|
// __DEV__/__IOS__ preamble and specifier rewriting. Without this,
|
|
@@ -85,6 +151,35 @@ export function registerNsCoreRoute(server, options) {
|
|
|
85
151
|
}
|
|
86
152
|
setDeviceModuleHeaders(res);
|
|
87
153
|
const { normalizedSub, sub } = coreRequest;
|
|
154
|
+
// BUNDLE MODE (default): serve thin shims over /ns/core-bundle.mjs.
|
|
155
|
+
// The canonical URL space is unchanged — only the response bodies
|
|
156
|
+
// differ. Fall through to the per-module pipeline below when the
|
|
157
|
+
// bundle build failed or when the requested subpath was excluded
|
|
158
|
+
// from bundle enumeration (e.g. debugger/ modules). That fallback
|
|
159
|
+
// is realm-safe: the per-module response's own core imports are
|
|
160
|
+
// rewritten to `/ns/core/<sub>` URLs, which resolve to shims that
|
|
161
|
+
// join the bundle realm.
|
|
162
|
+
if (coreBundle) {
|
|
163
|
+
const bundleState = await coreBundle.ensureBuilt();
|
|
164
|
+
if (bundleState) {
|
|
165
|
+
const canonicalSubForShim = normalizeCoreSubCanonical(normalizedSub || sub || '');
|
|
166
|
+
if (!canonicalSubForShim) {
|
|
167
|
+
res.statusCode = 200;
|
|
168
|
+
res.end(buildCoreMainShimCode());
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
if (bundleState.subs.has(canonicalSubForShim)) {
|
|
172
|
+
const exportInfo = await getSubShimExportInfo(canonicalSubForShim);
|
|
173
|
+
res.statusCode = 200;
|
|
174
|
+
res.end(buildCoreSubShimCode(canonicalSubForShim, exportInfo.names, exportInfo.hasDefault));
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
if (!warnedFallbackSubs.has(canonicalSubForShim)) {
|
|
178
|
+
warnedFallbackSubs.add(canonicalSubForShim);
|
|
179
|
+
console.warn(`[ns-core-bundle] sub '${canonicalSubForShim}' not in bundle enumeration — serving per-module (realm-safe fallback)`);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
88
183
|
const resolveModuleId = async (moduleId) => {
|
|
89
184
|
const resolved = await server.pluginContainer?.resolveId?.(moduleId, undefined);
|
|
90
185
|
return typeof resolved === 'string' ? resolved : resolved?.id || null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-ns-core.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/websocket-ns-core.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"websocket-ns-core.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/websocket-ns-core.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1 @@
|
|
|
1
|
-
export declare function
|
|
2
|
-
export declare function rewriteNsMImportPathForHmr(p: string, _ver: string | number, bootTaggedRequest: boolean): string;
|
|
3
|
-
export declare function getNumericServeVersionTag(tag: string | null | undefined, fallback: number): number;
|
|
1
|
+
export declare function canonicalizeNsMImportPath(p: string): string;
|
|
@@ -1,92 +1,36 @@
|
|
|
1
1
|
// Stable URL + explicit invalidation contract for `/ns/m/...` modules.
|
|
2
2
|
//
|
|
3
|
-
// Older versions emitted `/ns/m/__ns_hmr__/v<N>/<rel>`
|
|
4
|
-
// served
|
|
5
|
-
// would see a fresh URL on each save and
|
|
6
|
-
//
|
|
7
|
-
// counter, which propagated into every emitted URL — effectively
|
|
8
|
-
// invalidating the ENTIRE cached graph on every save (Vite's
|
|
9
|
-
// single-threaded transform pipeline became the wall-clock bottleneck).
|
|
3
|
+
// Older versions emitted `/ns/m/__ns_hmr__/v<N>/<rel>` (and, for cold boot,
|
|
4
|
+
// `/ns/m/__ns_boot__/b1/<rel>`) URLs in served modules so that V8's HTTP
|
|
5
|
+
// module cache would see a fresh URL on each save and so that the server
|
|
6
|
+
// could detect boot-time requests. Both decorations are gone:
|
|
10
7
|
//
|
|
11
|
-
//
|
|
12
|
-
//
|
|
13
|
-
//
|
|
14
|
-
//
|
|
15
|
-
//
|
|
16
|
-
//
|
|
17
|
-
//
|
|
18
|
-
//
|
|
8
|
+
// - Freshness is driven by explicit eviction: the client calls
|
|
9
|
+
// `__NS_DEV__.invalidateModules(urls)` with the server-computed eviction set,
|
|
10
|
+
// and the iOS runtime pairs that with an eviction-driven fetch nonce
|
|
11
|
+
// that defeats CFNetwork's HTTP cache. URLs stay STABLE across saves —
|
|
12
|
+
// module identity IS the canonical URL.
|
|
13
|
+
// - Boot-progress instrumentation is injected self-gating into every
|
|
14
|
+
// served /ns/m module (the snippet no-ops once
|
|
15
|
+
// `__NS_HMR_BOOT_COMPLETE__` flips), so no boot tag is needed.
|
|
19
16
|
//
|
|
20
|
-
// `
|
|
21
|
-
//
|
|
22
|
-
//
|
|
23
|
-
|
|
24
|
-
// `node_modules` through unchanged because vendor packages live on a
|
|
25
|
-
// stable namespace already.
|
|
26
|
-
export function formatNsMHmrServeTag(value) {
|
|
27
|
-
const raw = String(value ?? '').trim();
|
|
28
|
-
if (!raw) {
|
|
29
|
-
return 'v0';
|
|
30
|
-
}
|
|
31
|
-
if (raw === 'live' || /^n\d+$/i.test(raw) || /^v[^/]+$/i.test(raw)) {
|
|
32
|
-
return raw;
|
|
33
|
-
}
|
|
34
|
-
if (/^\d+$/.test(raw)) {
|
|
35
|
-
return `v${raw}`;
|
|
36
|
-
}
|
|
37
|
-
return raw;
|
|
38
|
-
}
|
|
39
|
-
export function rewriteNsMImportPathForHmr(p, _ver, bootTaggedRequest) {
|
|
17
|
+
// `canonicalizeNsMImportPath` collapses any tagged inbound URL shape
|
|
18
|
+
// (stale served code still cached on a device) back to the canonical
|
|
19
|
+
// stable form.
|
|
20
|
+
export function canonicalizeNsMImportPath(p) {
|
|
40
21
|
if (!p || !p.startsWith('/ns/m/')) {
|
|
41
22
|
return p;
|
|
42
23
|
}
|
|
43
|
-
//
|
|
44
|
-
// canonical `/ns/m/<rest>` form. Inputs we may see
|
|
45
|
-
//
|
|
46
|
-
//
|
|
47
|
-
// * `/ns/m/__ns_hmr__/v<N>/<rest>`
|
|
48
|
-
// * `/ns/m/__ns_boot__/b1/<rest>`
|
|
49
|
-
// * `/ns/m/<rest>`
|
|
50
|
-
|
|
51
|
-
// `v<N>`, `n<N>`, anything matched by `formatNsMHmrServeTag`). The
|
|
52
|
-
// `__ns_boot__/b1/` segment is stripped here too — we'll re-add it
|
|
53
|
-
// below if `bootTaggedRequest` is set, so the canonicalization is
|
|
54
|
-
// idempotent (a boot URL that flows through twice ends up correct).
|
|
55
|
-
const canonical = p
|
|
24
|
+
// Collapse tagged boot+hmr, hmr-only, or boot-only prefixes back to the
|
|
25
|
+
// canonical `/ns/m/<rest>` form. Inputs we may still see from stale
|
|
26
|
+
// cached code include:
|
|
27
|
+
// * `/ns/m/__ns_boot__/b1/__ns_hmr__/v<N>/<rest>`
|
|
28
|
+
// * `/ns/m/__ns_hmr__/v<N>/<rest>` (any tag: `live`, `v<N>`, `n<N>`, …)
|
|
29
|
+
// * `/ns/m/__ns_boot__/b1/<rest>`
|
|
30
|
+
// * `/ns/m/<rest>` (canonical, passes through unchanged)
|
|
31
|
+
return p
|
|
56
32
|
.replace(/^\/ns\/m\/__ns_boot__\/b1\/__ns_hmr__\/[^/]+\//, '/ns/m/')
|
|
57
33
|
.replace(/^\/ns\/m\/__ns_hmr__\/[^/]+\//, '/ns/m/')
|
|
58
34
|
.replace(/^\/ns\/m\/__ns_boot__\/b1\//, '/ns/m/');
|
|
59
|
-
// Vendor packages: always serve under the canonical
|
|
60
|
-
// `/ns/m/node_modules/<rest>` path, never under the boot prefix. This
|
|
61
|
-
// preserves the longstanding invariant that node_modules paths are
|
|
62
|
-
// stable across boot and HMR (so V8 dedups them in the module
|
|
63
|
-
// registry regardless of which load triggered the fetch first).
|
|
64
|
-
if (canonical.startsWith('/ns/m/node_modules/')) {
|
|
65
|
-
return canonical;
|
|
66
|
-
}
|
|
67
|
-
// Boot-tagged request: app-module URL gets wrapped with the boot
|
|
68
|
-
// prefix. The runtime canonicalizer collapses this back to the same
|
|
69
|
-
// cache key as the unprefixed URL, so cold boot and HMR share module
|
|
70
|
-
// identity. The boot prefix is still useful at request time because
|
|
71
|
-
// the server detects it and injects the boot-progress snippet.
|
|
72
|
-
if (bootTaggedRequest) {
|
|
73
|
-
return `/ns/m/__ns_boot__/b1${canonical.slice('/ns/m'.length)}`;
|
|
74
|
-
}
|
|
75
|
-
// HMR / steady-state request: stable canonical URL.
|
|
76
|
-
return canonical;
|
|
77
|
-
}
|
|
78
|
-
export function getNumericServeVersionTag(tag, fallback) {
|
|
79
|
-
const raw = String(tag || '').trim();
|
|
80
|
-
if (!raw) {
|
|
81
|
-
return fallback;
|
|
82
|
-
}
|
|
83
|
-
const versionMatch = raw.match(/^v(\d+)$/);
|
|
84
|
-
if (versionMatch?.[1]) {
|
|
85
|
-
return Number(versionMatch[1]);
|
|
86
|
-
}
|
|
87
|
-
if (/^\d+$/.test(raw)) {
|
|
88
|
-
return Number(raw);
|
|
89
|
-
}
|
|
90
|
-
return fallback;
|
|
91
35
|
}
|
|
92
36
|
//# sourceMappingURL=websocket-ns-m-paths.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-ns-m-paths.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/websocket-ns-m-paths.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,EAAE;AACF,
|
|
1
|
+
{"version":3,"file":"websocket-ns-m-paths.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/websocket-ns-m-paths.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,EAAE;AACF,4EAA4E;AAC5E,yEAAyE;AACzE,yEAAyE;AACzE,8DAA8D;AAC9D,EAAE;AACF,iEAAiE;AACjE,kFAAkF;AAClF,yEAAyE;AACzE,2EAA2E;AAC3E,4CAA4C;AAC5C,uEAAuE;AACvE,mDAAmD;AACnD,mEAAmE;AACnE,EAAE;AACF,qEAAqE;AACrE,qEAAqE;AACrE,eAAe;AAEf,MAAM,UAAU,yBAAyB,CAAC,CAAS;IAClD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,CAAC;IACV,CAAC;IAED,wEAAwE;IACxE,oEAAoE;IACpE,uBAAuB;IACvB,oDAAoD;IACpD,0EAA0E;IAC1E,oCAAoC;IACpC,2DAA2D;IAC3D,OAAO,CAAC;SACN,OAAO,CAAC,gDAAgD,EAAE,QAAQ,CAAC;SACnE,OAAO,CAAC,+BAA+B,EAAE,QAAQ,CAAC;SAClD,OAAO,CAAC,6BAA6B,EAAE,QAAQ,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -5,11 +5,11 @@ import { sanitizeStrayCoreReferences } from './core-sanitize.js';
|
|
|
5
5
|
import { getMonorepoWorkspaceRoot } from '../../helpers/project.js';
|
|
6
6
|
import { isRuntimeGraphExcludedPath } from './runtime-graph-filter.js';
|
|
7
7
|
import { buildPiniaVendorShim, buildVueVendorShim } from './vendor-bare-module-shims.js';
|
|
8
|
-
import {
|
|
8
|
+
import { canonicalizeNsMImportPath } from './websocket-ns-m-paths.js';
|
|
9
9
|
import { setDeviceModuleHeaders } from './route-helpers.js';
|
|
10
10
|
import { CSS_MODULE_RE, buildCssRegisterSnippetFromVar, normalizeCssForDevice } from './css-device-module.js';
|
|
11
11
|
import { filterExistingNodeModulesTransformCandidates, getBlockedDeviceNodeModulesReason, resolveCandidateFilePath, stripDecoratedServePrefixes, tryReadRawExplicitJavaScriptModule } from './websocket-module-specifiers.js';
|
|
12
|
-
import { assertNoOptimizedArtifacts, buildBootProgressSnippet, classifyServedModule, dedupeRtNamedImportsAgainstDestructures, deduplicateLinkerImports, ensureDestructureCoreImports, ensureGuardPlainDynamicImports, ensureVariableDynamicImportHelper,
|
|
12
|
+
import { assertNoOptimizedArtifacts, buildBootProgressSnippet, canonicalizeRtImports, classifyServedModule, dedupeRtNamedImportsAgainstDestructures, deduplicateLinkerImports, ensureDestructureCoreImports, ensureGuardPlainDynamicImports, ensureVariableDynamicImportHelper, expandStarExports, hoistTopLevelStaticImports, MODULE_IMPORT_ANALYSIS_PLUGINS, wrapCommonJsModuleForDevice } from './websocket-served-module-helpers.js';
|
|
13
13
|
import { cleanCode, collectImportDependencies, processCodeForDevice, rewriteImports } from './websocket-device-transform.js';
|
|
14
14
|
import { REQUIRE_GUARD_SNIPPET } from './require-guard.js';
|
|
15
15
|
import { getServerOrigin } from './server-origin.js';
|
|
@@ -123,17 +123,14 @@ export function registerNsModuleServerRoute(server, options) {
|
|
|
123
123
|
// first response. `handleHotUpdate` awaits the same promise so
|
|
124
124
|
// the first HMR event still sees a fully populated graph.
|
|
125
125
|
ensureInitialGraphPopulationStarted(server);
|
|
126
|
-
// Cold-boot
|
|
127
|
-
//
|
|
128
|
-
//
|
|
129
|
-
// handler
|
|
130
|
-
//
|
|
126
|
+
// Cold-boot counting lives in the leading boot-trace middleware
|
|
127
|
+
// (see `configureServer` — it records the request and tracks
|
|
128
|
+
// finish() via res.on('close'/'finish')), not here: recording in
|
|
129
|
+
// this handler would miss the round-trip timing and per-route
|
|
130
|
+
// breakdowns.
|
|
131
131
|
setDeviceModuleHeaders(res);
|
|
132
132
|
// Support both query (?path=/abs) and path-style (/ns/m/abs)
|
|
133
133
|
let spec = urlObj.searchParams.get('path') || '';
|
|
134
|
-
// Optional graph version pin for deterministic boot
|
|
135
|
-
let forcedVer = urlObj.searchParams.get('v');
|
|
136
|
-
let bootTaggedRequest = false;
|
|
137
134
|
if (!spec) {
|
|
138
135
|
const base = '/ns/m';
|
|
139
136
|
const rest = urlObj.pathname.slice(base.length);
|
|
@@ -154,17 +151,11 @@ export function registerNsModuleServerRoute(server, options) {
|
|
|
154
151
|
const serverRoot = (server.config?.root || process.cwd());
|
|
155
152
|
const monorepoWorkspaceRoot = getMonorepoWorkspaceRoot(serverRoot);
|
|
156
153
|
spec = spec.replace(/[?#].*$/, '');
|
|
157
|
-
//
|
|
158
|
-
//
|
|
159
|
-
//
|
|
160
|
-
// /ns/m/__ns_boot__/b1/__ns_hmr__/<tag>/<real-spec>
|
|
161
|
-
// The iOS HTTP ESM loader canonicalizes cache keys by stripping query params,
|
|
162
|
-
// so we must carry the cache-buster in the path.
|
|
154
|
+
// Tolerate LEGACY path-based boot/HMR prefixes from stale cached
|
|
155
|
+
// device code (`/ns/m/__ns_boot__/b1/…`, `/ns/m/__ns_hmr__/<tag>/…`).
|
|
156
|
+
// Current servers never emit them — freshness is eviction-driven.
|
|
163
157
|
try {
|
|
164
|
-
|
|
165
|
-
spec = decorated.cleanedSpec;
|
|
166
|
-
bootTaggedRequest = decorated.bootTaggedRequest;
|
|
167
|
-
forcedVer || (forcedVer = decorated.forcedVer);
|
|
158
|
+
spec = stripDecoratedServePrefixes(spec).cleanedSpec;
|
|
168
159
|
}
|
|
169
160
|
catch { }
|
|
170
161
|
// Normalize absolute filesystem paths back to project-relative ids (e.g. /src/app.ts)
|
|
@@ -466,11 +457,10 @@ export function registerNsModuleServerRoute(server, options) {
|
|
|
466
457
|
// point — see classifyServedModule for the full case list.
|
|
467
458
|
const isNodeMod = classifyServedModule(resolvedCandidate || spec) === 'library';
|
|
468
459
|
code = processCodeForDevice(code, false, true, isNodeMod, resolvedCandidate || spec);
|
|
469
|
-
//
|
|
470
|
-
//
|
|
471
|
-
//
|
|
472
|
-
//
|
|
473
|
-
// correct — the runtime's native hot context is better.
|
|
460
|
+
// import.meta.hot is JS-owned: cleanCode() strips Vite's browser
|
|
461
|
+
// __vite__createHotContext assignment and processCodeForDevice
|
|
462
|
+
// injects the NS hot-context prelude (globalThis.__NS_HOT_REGISTRY__,
|
|
463
|
+
// installed by the /__ns_dev__/client bootstrap) for app modules.
|
|
474
464
|
const projectRoot = server.config?.root || process.cwd();
|
|
475
465
|
const serverOrigin = getServerOrigin(server);
|
|
476
466
|
// Served-module import rewrite, routed through the active framework
|
|
@@ -563,60 +553,29 @@ export function registerNsModuleServerRoute(server, options) {
|
|
|
563
553
|
}
|
|
564
554
|
}
|
|
565
555
|
catch { }
|
|
566
|
-
//
|
|
556
|
+
// Every emitted endpoint URL is CANONICAL (unversioned).
|
|
567
557
|
//
|
|
568
|
-
//
|
|
569
|
-
// `/ns/
|
|
570
|
-
//
|
|
571
|
-
//
|
|
572
|
-
//
|
|
573
|
-
//
|
|
574
|
-
// single cache entry — but the server was doing extra
|
|
575
|
-
// work to inject a version segment that the runtime then
|
|
576
|
-
// immediately stripped. Now that the runtime supports
|
|
577
|
-
// explicit eviction (and these bridge endpoints don't
|
|
578
|
-
// change at HMR time anyway), the version segment is
|
|
579
|
-
// purely vestigial.
|
|
580
|
-
//
|
|
581
|
-
// Rather than rip the helpers out (which would touch
|
|
582
|
-
// every ensureVersionedImports caller and risk bumping
|
|
583
|
-
// older runtimes), we keep them but pass `verNum=0`. The
|
|
584
|
-
// helpers still normalize URL shape (strip the absolute
|
|
585
|
-
// origin prefix when present) but emit a stable
|
|
586
|
-
// `/ns/rt/0` / `/ns/core/0` URL — which collapses to
|
|
587
|
-
// `/ns/rt` / `/ns/core` in the runtime.
|
|
558
|
+
// Module identity is literally the URL — a versioned
|
|
559
|
+
// `/ns/rt/<ver>` / `/ns/core/<ver>` / `/ns/sfc/<ver>` would
|
|
560
|
+
// create a second module realm. `canonicalizeRtImports` and the
|
|
561
|
+
// strategy's `canonicalizeFrameworkImports` collapse any
|
|
562
|
+
// versioned form (stale cached device code) back to the single
|
|
563
|
+
// canonical URL.
|
|
588
564
|
try {
|
|
589
|
-
|
|
590
|
-
code =
|
|
591
|
-
code = strategy.ensureVersionedImports?.(code, getServerOrigin(server), verNum) ?? code;
|
|
565
|
+
code = canonicalizeRtImports(code, getServerOrigin(server));
|
|
566
|
+
code = strategy.canonicalizeFrameworkImports?.(code, getServerOrigin(server)) ?? code;
|
|
592
567
|
}
|
|
593
568
|
catch { }
|
|
594
569
|
// `/ns/m` URL finalize step.
|
|
595
570
|
//
|
|
596
|
-
// `
|
|
597
|
-
//
|
|
598
|
-
//
|
|
599
|
-
// `
|
|
600
|
-
//
|
|
601
|
-
// busting is driven by `__nsInvalidateModules`, not URL
|
|
602
|
-
// versioning). We pass `'v0'` as a stable placeholder —
|
|
603
|
-
// the canonicalizer emits the same URL regardless of
|
|
604
|
-
// this value, but a constant placeholder makes the
|
|
605
|
-
// contract explicit.
|
|
606
|
-
//
|
|
607
|
-
// SFC URLs (line below, `/ns/sfc/${verTag}/...`) still
|
|
608
|
-
// embed a version because the Vue SFC pathway does not
|
|
609
|
-
// yet have an eviction protocol. The runtime
|
|
610
|
-
// canonicalizer does NOT strip `/ns/sfc/<ver>/`, so Vue
|
|
611
|
-
// users still see per-save SFC re-fetches — that's a
|
|
612
|
-
// known follow-up.
|
|
571
|
+
// `canonicalizeNsMImportPath` strips any `__ns_hmr__/<tag>/`
|
|
572
|
+
// and `__ns_boot__/b1/` segments so every emitted URL is the
|
|
573
|
+
// canonical stable form (cache busting is driven by
|
|
574
|
+
// `__NS_DEV__.invalidateModules` + the runtime's eviction nonce, not
|
|
575
|
+
// URL decoration).
|
|
613
576
|
try {
|
|
614
|
-
const verTag = (() => {
|
|
615
|
-
const numeric = getNumericServeVersionTag(forcedVer, Number(options.getGraphVersion() || 0));
|
|
616
|
-
return numeric > 0 ? `v${numeric}` : 'v0';
|
|
617
|
-
})();
|
|
618
577
|
const origin = getServerOrigin(server);
|
|
619
|
-
const rewritePath = (p) =>
|
|
578
|
+
const rewritePath = (p) => canonicalizeNsMImportPath(p);
|
|
620
579
|
// /ns/m URL forms — all collapse to canonical stable
|
|
621
580
|
// URLs via the `rewriteNsMImportPathForHmr` rewriter.
|
|
622
581
|
// 1) Static imports: import ... from "/ns/m/..."
|
|
@@ -634,9 +593,10 @@ export function registerNsModuleServerRoute(server, options) {
|
|
|
634
593
|
code = code.replace(/new\s+URL\(\s*["'](\/ns\/m\/[^"'?]+)(?:\?[^"']*)?["']\s*,\s*import\.meta\.url\s*\)\.href/g, (_m, p1) => `${JSON.stringify(`${origin}${rewritePath(p1)}`)}`);
|
|
635
594
|
}
|
|
636
595
|
catch { }
|
|
637
|
-
// 7) SFC URLs (Vue) —
|
|
596
|
+
// 7) SFC URLs (Vue) — canonical, like everything else. Freshness
|
|
597
|
+
// is driven by the Vue client evicting the SFC artifact URL set.
|
|
638
598
|
try {
|
|
639
|
-
code = code.replace(/new\s+URL\(\s*["']\/ns\/sfc(\/[^"'?]+)(?:\?[^"']*)?["']\s*,\s*import\.meta\.url\s*\)\.href/g, (_m, p1) => `${JSON.stringify(`${origin}/ns/sfc
|
|
599
|
+
code = code.replace(/new\s+URL\(\s*["']\/ns\/sfc(\/[^"'?]+)(?:\?[^"']*)?["']\s*,\s*import\.meta\.url\s*\)\.href/g, (_m, p1) => `${JSON.stringify(`${origin}/ns/sfc${p1}`)}`);
|
|
640
600
|
}
|
|
641
601
|
catch { }
|
|
642
602
|
}
|
|
@@ -647,11 +607,15 @@ export function registerNsModuleServerRoute(server, options) {
|
|
|
647
607
|
code = ensureDestructureCoreImports(code);
|
|
648
608
|
}
|
|
649
609
|
catch { }
|
|
650
|
-
// Boot-time module graph progress: while the app is still replacing
|
|
651
|
-
// placeholder, emit lightweight progress updates as /ns/m
|
|
652
|
-
// evaluating.
|
|
610
|
+
// Boot-time module graph progress: while the app is still replacing
|
|
611
|
+
// the placeholder, emit lightweight progress updates as /ns/m app
|
|
612
|
+
// modules begin evaluating. The snippet is SELF-GATING (it no-ops
|
|
613
|
+
// once `__NS_HMR_BOOT_COMPLETE__` flips) so it is injected
|
|
614
|
+
// unconditionally — no boot-tagged URL needed. node_modules are
|
|
615
|
+
// deliberately skipped (the heartbeat's wall-clock axis covers
|
|
616
|
+
// vendor stretches; see startBootImportHeartbeat).
|
|
653
617
|
try {
|
|
654
|
-
if (
|
|
618
|
+
if (!isNodeMod) {
|
|
655
619
|
const bootModuleLabel = String(spec || '').replace(/\\/g, '/');
|
|
656
620
|
const bootProgressSnippet = buildBootProgressSnippet(bootModuleLabel);
|
|
657
621
|
code = bootProgressSnippet + code;
|