@nativescript/vite 8.0.0-alpha.3 → 8.0.0-alpha.4

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.
@@ -0,0 +1,32 @@
1
+ import type { FrameworkServerStrategy } from './framework-strategy.js';
2
+ export interface FinalizeNsMServedModuleHelpers {
3
+ requireGuardSnippet: string;
4
+ cleanCode(code: string): string;
5
+ processCodeForDevice(code: string, sourceId?: string): string;
6
+ rewriteImports(code: string, importerPath: string): string;
7
+ rewriteAngularEntry(code: string, importerPath: string): string;
8
+ expandStarExports(code: string): Promise<string>;
9
+ dedupeRtNamedImportsAgainstDestructures(code: string): string;
10
+ ensureVariableDynamicImportHelper(code: string): string;
11
+ ensureGuardPlainDynamicImports(code: string, origin: string): string;
12
+ deduplicateLinkerImports(code: string): string;
13
+ wrapCommonJsModuleForDevice(code: string): string;
14
+ assertNoOptimizedArtifacts(code: string, contextLabel: string): void;
15
+ ensureVersionedRtImports(code: string, origin: string, version: number): string;
16
+ ensureDestructureCoreImports(code: string): string;
17
+ buildBootProgressSnippet(bootModuleLabel: string): string;
18
+ hoistTopLevelStaticImports(code: string): string;
19
+ warn?(message: string, error: unknown): void;
20
+ }
21
+ export interface FinalizeNsMServedModuleOptions {
22
+ code: string;
23
+ spec: string;
24
+ resolvedCandidate: string | null;
25
+ forcedVer: string | null;
26
+ bootTaggedRequest: boolean;
27
+ graphVersion: number;
28
+ serverOrigin: string;
29
+ strategy: FrameworkServerStrategy;
30
+ helpers: FinalizeNsMServedModuleHelpers;
31
+ }
32
+ export declare function finalizeNsMServedModule(options: FinalizeNsMServedModuleOptions): Promise<string>;
@@ -0,0 +1,73 @@
1
+ import { fixDanglingCoreFrom, normalizeAnyCoreSpecToBridge, normalizeStrayCoreStringLiterals } from './core-sanitize.js';
2
+ import { ensureVersionedCoreImports } from './websocket-core-bridge.js';
3
+ import { formatNsMHmrServeTag, getNumericServeVersionTag, rewriteNsMImportPathForHmr } from './websocket-ns-m-paths.js';
4
+ function appendRoutesDefaultExport(code) {
5
+ if (/\bexport\s+default\b/.test(code)) {
6
+ return code;
7
+ }
8
+ const hasNamedRoutes = /\bexport\s*\{\s*routes\s*\}/.test(code);
9
+ const hasConstRoutes = /\bconst\s+routes\s*=/.test(code) || /\bvar\s+routes\s*=/.test(code) || /\blet\s+routes\s*=/.test(code);
10
+ if (hasNamedRoutes && hasConstRoutes) {
11
+ return `${code}\nexport default routes;\n`;
12
+ }
13
+ return code;
14
+ }
15
+ export async function finalizeNsMServedModule(options) {
16
+ const { spec, resolvedCandidate, forcedVer, bootTaggedRequest, graphVersion, serverOrigin, strategy, helpers } = options;
17
+ let code = `${helpers.requireGuardSnippet}${options.code}`;
18
+ code = helpers.cleanCode(code);
19
+ code = helpers.processCodeForDevice(code, resolvedCandidate || spec);
20
+ if (strategy.flavor === 'angular') {
21
+ code = helpers.rewriteAngularEntry(code, resolvedCandidate || spec);
22
+ }
23
+ else {
24
+ code = helpers.rewriteImports(code, resolvedCandidate || spec);
25
+ }
26
+ try {
27
+ code = await helpers.expandStarExports(code);
28
+ }
29
+ catch (error) {
30
+ helpers.warn?.('[ns/m] export* expansion failed', error);
31
+ }
32
+ code = helpers.dedupeRtNamedImportsAgainstDestructures(code);
33
+ code = helpers.ensureVariableDynamicImportHelper(code);
34
+ code = helpers.ensureGuardPlainDynamicImports(code, serverOrigin);
35
+ try {
36
+ const previous = code;
37
+ code = normalizeStrayCoreStringLiterals(code);
38
+ code = fixDanglingCoreFrom(code);
39
+ code = normalizeAnyCoreSpecToBridge(code);
40
+ if (code !== previous) {
41
+ code = `// [hmr-sanitize] core-literal->bridge\n${code}`;
42
+ }
43
+ }
44
+ catch { }
45
+ try {
46
+ code = helpers.deduplicateLinkerImports(code);
47
+ }
48
+ catch { }
49
+ code = helpers.wrapCommonJsModuleForDevice(code);
50
+ helpers.assertNoOptimizedArtifacts(code, `NS M ${resolvedCandidate || spec}`);
51
+ code = appendRoutesDefaultExport(code);
52
+ const versionNumber = getNumericServeVersionTag(forcedVer, Number(graphVersion || 0));
53
+ code = helpers.ensureVersionedRtImports(code, serverOrigin, versionNumber);
54
+ code = strategy.ensureVersionedImports(code, serverOrigin, versionNumber);
55
+ code = ensureVersionedCoreImports(code, serverOrigin, versionNumber);
56
+ const serveTag = formatNsMHmrServeTag(forcedVer || graphVersion || 0);
57
+ const rewritePath = (value) => rewriteNsMImportPathForHmr(value, serveTag, bootTaggedRequest);
58
+ code = code.replace(/(from\s*["'])(\/ns\/m\/[^"'?]+)(["'])/g, (_match, before, value, after) => `${before}${rewritePath(value)}${after}`);
59
+ code = code.replace(/(import\s*(?!\()\s*["'])(\/ns\/m\/[^"'?]+)(["'])/g, (_match, before, value, after) => `${before}${rewritePath(value)}${after}`);
60
+ code = code.replace(/(import\(\s*["'])(\/ns\/m\/[^"'?]+)(["']\s*\))/g, (_match, before, value, after) => `${before}${rewritePath(value)}${after}`);
61
+ code = code.replace(/(new\s+URL\(\s*["'])(\/ns\/m\/[^"'?]+)(["']\s*,\s*import\.meta\.url\s*\))/g, (_match, before, value, after) => `${before}${rewritePath(value)}${after}`);
62
+ code = code.replace(/(new\s+URL\(\s*["'])(\/ns\/m\/[^"'?]+)(["']\s*,\s*import\.meta\.url\s*\)\.href)/g, (_match, before, value, after) => `${before}${rewritePath(value)}${after}`);
63
+ code = code.replace(/new\s+URL\(\s*["'](\/ns\/m\/[^"'?]+)(?:\?[^"']*)?["']\s*,\s*import\.meta\.url\s*\)\.href/g, (_match, value) => JSON.stringify(`${serverOrigin}${rewritePath(value)}`));
64
+ code = code.replace(/new\s+URL\(\s*["']\/ns\/sfc(\/[^"'?]+)(?:\?[^"']*)?["']\s*,\s*import\.meta\.url\s*\)\.href/g, (_match, value) => JSON.stringify(`${serverOrigin}/ns/sfc/${serveTag}${value}`));
65
+ code = helpers.ensureDestructureCoreImports(code);
66
+ if (bootTaggedRequest) {
67
+ const bootProgressSnippet = helpers.buildBootProgressSnippet(String(spec || '').replace(/\\/g, '/'));
68
+ code = `${bootProgressSnippet}${code}`;
69
+ code = helpers.hoistTopLevelStaticImports(code);
70
+ }
71
+ return code;
72
+ }
73
+ //# sourceMappingURL=websocket-ns-m-finalize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-ns-m-finalize.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/websocket-ns-m-finalize.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function formatNsMHmrServeTag(value: string | number): string;
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;
@@ -0,0 +1,47 @@
1
+ export function formatNsMHmrServeTag(value) {
2
+ const raw = String(value ?? '').trim();
3
+ if (!raw) {
4
+ return 'v0';
5
+ }
6
+ if (raw === 'live' || /^n\d+$/i.test(raw) || /^v[^/]+$/i.test(raw)) {
7
+ return raw;
8
+ }
9
+ if (/^\d+$/.test(raw)) {
10
+ return `v${raw}`;
11
+ }
12
+ return raw;
13
+ }
14
+ export function rewriteNsMImportPathForHmr(p, ver, bootTaggedRequest) {
15
+ if (!p || !p.startsWith('/ns/m/')) {
16
+ return p;
17
+ }
18
+ const canonicalNodeModulesPath = p.replace(/^\/ns\/m\/__ns_boot__\/b1\/__ns_hmr__\/[^/]+\/node_modules\//, '/ns/m/node_modules/').replace(/^\/ns\/m\/__ns_hmr__\/[^/]+\/node_modules\//, '/ns/m/node_modules/');
19
+ if (canonicalNodeModulesPath.startsWith('/ns/m/node_modules/')) {
20
+ return canonicalNodeModulesPath;
21
+ }
22
+ if (canonicalNodeModulesPath.startsWith('/ns/m/__ns_boot__/')) {
23
+ return canonicalNodeModulesPath;
24
+ }
25
+ if (canonicalNodeModulesPath.startsWith('/ns/m/__ns_hmr__/')) {
26
+ return bootTaggedRequest ? `/ns/m/__ns_boot__/b1${canonicalNodeModulesPath.slice('/ns/m'.length)}` : canonicalNodeModulesPath;
27
+ }
28
+ const tag = formatNsMHmrServeTag(ver);
29
+ const hmrPrefix = `/ns/m/__ns_hmr__/${tag}`;
30
+ const bootHmrPrefix = `/ns/m/__ns_boot__/b1/__ns_hmr__/${tag}`;
31
+ return (bootTaggedRequest ? bootHmrPrefix : hmrPrefix) + canonicalNodeModulesPath.slice('/ns/m'.length);
32
+ }
33
+ export function getNumericServeVersionTag(tag, fallback) {
34
+ const raw = String(tag || '').trim();
35
+ if (!raw) {
36
+ return fallback;
37
+ }
38
+ const versionMatch = raw.match(/^v(\d+)$/);
39
+ if (versionMatch?.[1]) {
40
+ return Number(versionMatch[1]);
41
+ }
42
+ if (/^\d+$/.test(raw)) {
43
+ return Number(raw);
44
+ }
45
+ return fallback;
46
+ }
47
+ //# sourceMappingURL=websocket-ns-m-paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-ns-m-paths.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/websocket-ns-m-paths.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,oBAAoB,CAAC,KAAsB;IAC1D,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,GAAG,KAAK,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACpE,OAAO,GAAG,CAAC;IACZ,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,GAAG,EAAE,CAAC;IAClB,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,CAAS,EAAE,GAAoB,EAAE,iBAA0B;IACrG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,CAAC;IACV,CAAC;IAED,MAAM,wBAAwB,GAAG,CAAC,CAAC,OAAO,CAAC,8DAA8D,EAAE,qBAAqB,CAAC,CAAC,OAAO,CAAC,6CAA6C,EAAE,qBAAqB,CAAC,CAAC;IAEhN,IAAI,wBAAwB,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAChE,OAAO,wBAAwB,CAAC;IACjC,CAAC;IAED,IAAI,wBAAwB,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC/D,OAAO,wBAAwB,CAAC;IACjC,CAAC;IAED,IAAI,wBAAwB,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC9D,OAAO,iBAAiB,CAAC,CAAC,CAAC,uBAAuB,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC;IAC/H,CAAC;IAED,MAAM,GAAG,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,oBAAoB,GAAG,EAAE,CAAC;IAC5C,MAAM,aAAa,GAAG,mCAAmC,GAAG,EAAE,CAAC;IAC/D,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACzG,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,GAA8B,EAAE,QAAgB;IACzF,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACrC,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC"}
@@ -0,0 +1,35 @@
1
+ import type { TransformResult } from 'vite';
2
+ export interface NsMRequestContext {
3
+ requestUrl: string;
4
+ spec: string;
5
+ forcedVer: string | null;
6
+ bootTaggedRequest: boolean;
7
+ serverRoot: string;
8
+ candidates: string[];
9
+ transformCandidates: string[];
10
+ }
11
+ export type NsMRequestContextResult = {
12
+ kind: 'next';
13
+ } | {
14
+ kind: 'response';
15
+ statusCode: number;
16
+ code: string;
17
+ } | {
18
+ kind: 'context';
19
+ value: NsMRequestContext;
20
+ };
21
+ export interface ResolveNsMTransformedModuleOptions {
22
+ context: NsMRequestContext;
23
+ transformRequest: (url: string, timeoutMs?: number) => Promise<TransformResult | null>;
24
+ resolveId: (id: string) => Promise<string | null>;
25
+ loadVirtualId: (id: string) => Promise<string | {
26
+ code?: string;
27
+ } | TransformResult | null>;
28
+ timeoutMs?: number;
29
+ }
30
+ export interface NsMResolvedTransform {
31
+ transformed: TransformResult | null;
32
+ resolvedCandidate: string | null;
33
+ }
34
+ export declare function createNsMRequestContext(requestUrl: string, serverRoot: string, appVirtualWithSlash: string): NsMRequestContextResult;
35
+ export declare function resolveNsMTransformedModule(options: ResolveNsMTransformedModuleOptions): Promise<NsMResolvedTransform>;
@@ -0,0 +1,203 @@
1
+ import * as path from 'path';
2
+ import { filterExistingNodeModulesTransformCandidates, getBlockedDeviceNodeModulesReason, resolveCandidateFilePath, stripDecoratedServePrefixes, tryReadRawExplicitJavaScriptModule } from './websocket-module-specifiers.js';
3
+ function normalizeAbsoluteFilesystemSpec(spec, serverRoot) {
4
+ const toPosix = (value) => value.replace(/\\/g, '/');
5
+ const rootPosix = toPosix(serverRoot);
6
+ const specPosix = toPosix(spec);
7
+ const isAbsoluteFilesystemPath = /^\//.test(specPosix) || /^[A-Za-z]:\//.test(spec);
8
+ if (!isAbsoluteFilesystemPath) {
9
+ return spec;
10
+ }
11
+ let relative = specPosix.startsWith(rootPosix) ? specPosix.slice(rootPosix.length) : path.posix.relative(rootPosix, specPosix);
12
+ if (relative.startsWith('..')) {
13
+ return spec;
14
+ }
15
+ if (!relative.startsWith('/')) {
16
+ relative = `/${relative}`;
17
+ }
18
+ return relative;
19
+ }
20
+ export function createNsMRequestContext(requestUrl, serverRoot, appVirtualWithSlash) {
21
+ try {
22
+ const urlObj = new URL(requestUrl || '', 'http://localhost');
23
+ if (!urlObj.pathname.startsWith('/ns/m')) {
24
+ return { kind: 'next' };
25
+ }
26
+ let spec = urlObj.searchParams.get('path') || '';
27
+ let forcedVer = urlObj.searchParams.get('v');
28
+ let bootTaggedRequest = false;
29
+ if (!spec) {
30
+ const base = '/ns/m';
31
+ const rest = urlObj.pathname.slice(base.length);
32
+ if (rest && rest !== '/') {
33
+ spec = rest;
34
+ }
35
+ }
36
+ if (spec === '/__invalid_at__.mjs' || spec === '__invalid_at__.mjs') {
37
+ return {
38
+ kind: 'response',
39
+ statusCode: 200,
40
+ code: "// invalid '@' import stub\nexport {}\n",
41
+ };
42
+ }
43
+ if (!spec) {
44
+ return {
45
+ kind: 'response',
46
+ statusCode: 200,
47
+ code: 'export {}\n',
48
+ };
49
+ }
50
+ spec = spec.replace(/[?#].*$/, '');
51
+ const decorated = stripDecoratedServePrefixes(spec);
52
+ spec = decorated.cleanedSpec;
53
+ bootTaggedRequest = decorated.bootTaggedRequest;
54
+ forcedVer || (forcedVer = decorated.forcedVer);
55
+ spec = normalizeAbsoluteFilesystemSpec(spec, serverRoot);
56
+ if (spec.startsWith('@/')) {
57
+ spec = appVirtualWithSlash + spec.slice(2);
58
+ }
59
+ if (spec.startsWith('./')) {
60
+ spec = spec.slice(1);
61
+ }
62
+ const blockedNodeModulesReason = getBlockedDeviceNodeModulesReason(spec);
63
+ if (blockedNodeModulesReason) {
64
+ return {
65
+ kind: 'response',
66
+ statusCode: 404,
67
+ code: `// [ns:m] blocked device import\nthrow new Error(${JSON.stringify(`[ns/m] ${blockedNodeModulesReason}`)});\nexport {};\n`,
68
+ };
69
+ }
70
+ if (!spec.startsWith('/')) {
71
+ spec = `/${spec}`;
72
+ }
73
+ const hasExt = /\.(ts|tsx|js|jsx|mjs|mts|cts|vue)$/i.test(spec);
74
+ const baseNoExt = hasExt ? spec.replace(/\.(ts|tsx|js|jsx|mjs|mts|cts)$/i, '') : spec;
75
+ const candidates = [
76
+ ...(hasExt ? [spec] : []),
77
+ `${baseNoExt}.ts`,
78
+ `${baseNoExt}.js`,
79
+ `${baseNoExt}.tsx`,
80
+ `${baseNoExt}.jsx`,
81
+ `${baseNoExt}.mjs`,
82
+ `${baseNoExt}.mts`,
83
+ `${baseNoExt}.cts`,
84
+ `${baseNoExt}.vue`,
85
+ `${baseNoExt}/index.ts`,
86
+ `${baseNoExt}/index.js`,
87
+ `${baseNoExt}/index.tsx`,
88
+ `${baseNoExt}/index.jsx`,
89
+ `${baseNoExt}/index.mjs`,
90
+ ];
91
+ const transformCandidates = filterExistingNodeModulesTransformCandidates(spec, candidates, serverRoot);
92
+ return {
93
+ kind: 'context',
94
+ value: {
95
+ requestUrl,
96
+ spec,
97
+ forcedVer,
98
+ bootTaggedRequest,
99
+ serverRoot,
100
+ candidates,
101
+ transformCandidates,
102
+ },
103
+ };
104
+ }
105
+ catch {
106
+ return { kind: 'next' };
107
+ }
108
+ }
109
+ async function tryTransformRequest(transformRequest, url, timeoutMs) {
110
+ try {
111
+ return await transformRequest(url, timeoutMs);
112
+ }
113
+ catch {
114
+ return null;
115
+ }
116
+ }
117
+ function getLoadedCode(loadResult) {
118
+ if (!loadResult) {
119
+ return null;
120
+ }
121
+ if (typeof loadResult === 'string') {
122
+ return loadResult;
123
+ }
124
+ return typeof loadResult.code === 'string' ? loadResult.code : null;
125
+ }
126
+ export async function resolveNsMTransformedModule(options) {
127
+ const { context, transformRequest, resolveId, loadVirtualId, timeoutMs = 120000 } = options;
128
+ const { spec, serverRoot, transformCandidates } = context;
129
+ let transformed = null;
130
+ let resolvedCandidate = null;
131
+ if (spec.startsWith('/@id/')) {
132
+ transformed = await tryTransformRequest(transformRequest, spec, timeoutMs);
133
+ if (transformed?.code) {
134
+ return { transformed, resolvedCandidate };
135
+ }
136
+ try {
137
+ const rawId = spec.slice('/@id/'.length).replace(/__x00__/g, '\0');
138
+ const loadedCode = getLoadedCode(await loadVirtualId(rawId));
139
+ if (loadedCode) {
140
+ return {
141
+ transformed: { code: loadedCode },
142
+ resolvedCandidate: rawId,
143
+ };
144
+ }
145
+ }
146
+ catch { }
147
+ }
148
+ const rawExplicitModule = tryReadRawExplicitJavaScriptModule(spec, serverRoot);
149
+ if (rawExplicitModule) {
150
+ return {
151
+ transformed: { code: rawExplicitModule.code },
152
+ resolvedCandidate: rawExplicitModule.resolvedId,
153
+ };
154
+ }
155
+ for (const candidate of transformCandidates) {
156
+ transformed = await tryTransformRequest(transformRequest, candidate, timeoutMs);
157
+ if (transformed?.code) {
158
+ resolvedCandidate = candidate;
159
+ return { transformed, resolvedCandidate };
160
+ }
161
+ }
162
+ const resolvedId = await resolveId(spec);
163
+ if (resolvedId) {
164
+ transformed = await tryTransformRequest(transformRequest, resolvedId, timeoutMs);
165
+ if (transformed?.code) {
166
+ return { transformed, resolvedCandidate: resolvedId };
167
+ }
168
+ }
169
+ if (spec.includes('/node_modules/')) {
170
+ const nodeModulesIndex = spec.lastIndexOf('/node_modules/');
171
+ const bareSpecifier = spec.slice(nodeModulesIndex + '/node_modules/'.length);
172
+ if (bareSpecifier && !bareSpecifier.startsWith('.')) {
173
+ const resolvedBareId = await resolveId(bareSpecifier);
174
+ if (resolvedBareId) {
175
+ transformed = await tryTransformRequest(transformRequest, resolvedBareId, timeoutMs);
176
+ if (transformed?.code) {
177
+ return { transformed, resolvedCandidate: resolvedBareId };
178
+ }
179
+ }
180
+ }
181
+ }
182
+ const absolutePosixPath = `${serverRoot.replace(/\\/g, '/').replace(/\/$/, '')}${spec.startsWith('/') ? '' : '/'}${spec}`;
183
+ const fsId = `/@fs${absolutePosixPath}`;
184
+ if (resolveCandidateFilePath(fsId, serverRoot)) {
185
+ transformed = await tryTransformRequest(transformRequest, fsId, timeoutMs);
186
+ if (transformed?.code) {
187
+ return { transformed, resolvedCandidate: fsId };
188
+ }
189
+ }
190
+ for (const candidate of transformCandidates) {
191
+ const importHintCandidate = `${candidate}${candidate.includes('?') ? '&' : '?'}import`;
192
+ transformed = await tryTransformRequest(transformRequest, importHintCandidate, timeoutMs);
193
+ if (transformed?.code) {
194
+ resolvedCandidate = importHintCandidate;
195
+ return { transformed, resolvedCandidate };
196
+ }
197
+ }
198
+ return {
199
+ transformed: null,
200
+ resolvedCandidate,
201
+ };
202
+ }
203
+ //# sourceMappingURL=websocket-ns-m-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-ns-m-request.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/websocket-ns-m-request.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { ViteDevServer } from 'vite';
2
+ export interface RegisterRuntimeCompatHandlersOptions {
3
+ verbose: boolean;
4
+ requireGuardSnippet: string;
5
+ appRootDir: string;
6
+ defaultMainEntry: string;
7
+ defaultMainEntryVirtual: string;
8
+ getGraphVersion(): number;
9
+ getServerOrigin(server: ViteDevServer): string;
10
+ }
11
+ export declare function buildNsRtBridgeModule(rtVer: string, requireGuardSnippet: string): string;
12
+ export declare function buildNsEntryWrapper(params: {
13
+ origin: string;
14
+ mainEntry: string;
15
+ ver: string;
16
+ verbose: boolean;
17
+ requireGuardSnippet: string;
18
+ }): string;
19
+ export declare function registerRuntimeCompatHandlers(server: ViteDevServer, options: RegisterRuntimeCompatHandlersOptions): void;