@nativescript/vite 8.0.0-alpha.3 → 8.0.0-alpha.5
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/base.js +57 -0
- package/configuration/base.js.map +1 -1
- package/helpers/config-as-json.js +10 -0
- package/helpers/config-as-json.js.map +1 -1
- package/helpers/main-entry.js +167 -13
- package/helpers/main-entry.js.map +1 -1
- package/helpers/ns-core-url.d.ts +84 -0
- package/helpers/ns-core-url.js +168 -0
- package/helpers/ns-core-url.js.map +1 -0
- package/hmr/server/core-sanitize.d.ts +8 -4
- package/hmr/server/core-sanitize.js +71 -41
- package/hmr/server/core-sanitize.js.map +1 -1
- package/hmr/server/import-map.js +7 -3
- package/hmr/server/import-map.js.map +1 -1
- package/hmr/server/ns-core-cjs-shape.d.ts +206 -0
- package/hmr/server/ns-core-cjs-shape.js +273 -0
- package/hmr/server/ns-core-cjs-shape.js.map +1 -0
- package/hmr/server/websocket-core-bridge.d.ts +0 -2
- package/hmr/server/websocket-core-bridge.js +60 -58
- package/hmr/server/websocket-core-bridge.js.map +1 -1
- package/hmr/server/websocket-module-specifiers.js +12 -0
- package/hmr/server/websocket-module-specifiers.js.map +1 -1
- package/hmr/server/websocket-ns-m-finalize.d.ts +22 -0
- package/hmr/server/websocket-ns-m-finalize.js +88 -0
- package/hmr/server/websocket-ns-m-finalize.js.map +1 -0
- package/hmr/server/websocket-ns-m-paths.d.ts +3 -0
- package/hmr/server/websocket-ns-m-paths.js +47 -0
- package/hmr/server/websocket-ns-m-paths.js.map +1 -0
- package/hmr/server/websocket-ns-m-request.d.ts +35 -0
- package/hmr/server/websocket-ns-m-request.js +203 -0
- package/hmr/server/websocket-ns-m-request.js.map +1 -0
- package/hmr/server/websocket-runtime-compat.d.ts +19 -0
- package/hmr/server/websocket-runtime-compat.js +286 -0
- package/hmr/server/websocket-runtime-compat.js.map +1 -0
- package/hmr/server/websocket-served-module-helpers.d.ts +36 -0
- package/hmr/server/websocket-served-module-helpers.js +589 -0
- package/hmr/server/websocket-served-module-helpers.js.map +1 -0
- package/hmr/server/websocket-txn.d.ts +6 -0
- package/hmr/server/websocket-txn.js +45 -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 +51 -0
- package/hmr/server/websocket-vendor-unifier.js.map +1 -0
- package/hmr/server/websocket-vue-sfc.d.ts +27 -0
- package/hmr/server/websocket-vue-sfc.js +1117 -0
- package/hmr/server/websocket-vue-sfc.js.map +1 -0
- package/hmr/server/websocket.d.ts +1 -1
- package/hmr/server/websocket.js +327 -79
- package/hmr/server/websocket.js.map +1 -1
- package/hmr/shared/vendor/manifest.js +114 -12
- package/hmr/shared/vendor/manifest.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
function setJavascriptResponseHeaders(res) {
|
|
2
|
+
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
3
|
+
res.setHeader('Content-Type', 'application/javascript; charset=utf-8');
|
|
4
|
+
res.setHeader('Cache-Control', 'no-store, no-cache, must-revalidate, max-age=0');
|
|
5
|
+
res.setHeader('Pragma', 'no-cache');
|
|
6
|
+
res.setHeader('Expires', '0');
|
|
7
|
+
}
|
|
8
|
+
export function buildTxnModuleCode(version, ids) {
|
|
9
|
+
const lines = [];
|
|
10
|
+
lines.push(`// [txn] version=${version} count=${ids.length}`);
|
|
11
|
+
for (const id of ids) {
|
|
12
|
+
const isVue = /\.vue$/i.test(id);
|
|
13
|
+
const safeId = id.startsWith('/') ? id : `/${id}`;
|
|
14
|
+
const importPath = isVue ? `/ns/asm/${version}?path=${encodeURIComponent(safeId)}` : `/ns/m${safeId}`;
|
|
15
|
+
lines.push(`await import(${JSON.stringify(importPath)});`);
|
|
16
|
+
}
|
|
17
|
+
lines.push('export default true;');
|
|
18
|
+
return lines.join('\n');
|
|
19
|
+
}
|
|
20
|
+
export function registerTxnHandler(server, options) {
|
|
21
|
+
server.middlewares.use(async (req, res, next) => {
|
|
22
|
+
try {
|
|
23
|
+
const urlObj = new URL(req.url || '', 'http://localhost');
|
|
24
|
+
const pathname = urlObj.pathname || '';
|
|
25
|
+
if (!pathname.startsWith('/ns/txn'))
|
|
26
|
+
return next();
|
|
27
|
+
const versionSegment = pathname.replace('/ns/txn', '').replace(/^\//, '');
|
|
28
|
+
const version = Number(versionSegment || urlObj.searchParams.get('v') || 0);
|
|
29
|
+
const fallbackChangedIds = (urlObj.searchParams.get('ids') || '')
|
|
30
|
+
.split(',')
|
|
31
|
+
.map((value) => value.trim())
|
|
32
|
+
.filter(Boolean);
|
|
33
|
+
const ids = options.resolveTxnIds(version, fallbackChangedIds);
|
|
34
|
+
const code = buildTxnModuleCode(version, ids);
|
|
35
|
+
setJavascriptResponseHeaders(res);
|
|
36
|
+
res.statusCode = 200;
|
|
37
|
+
res.end(code);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return next();
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=websocket-txn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket-txn.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/websocket-txn.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ViteDevServer } from 'vite';
|
|
2
|
+
import type { FrameworkServerStrategy } from './framework-strategy.js';
|
|
3
|
+
export interface RegisterVendorUnifierHandlerOptions {
|
|
4
|
+
getGraphVersion(): number;
|
|
5
|
+
getServerOrigin(server: ViteDevServer): string;
|
|
6
|
+
getStrategy(): FrameworkServerStrategy;
|
|
7
|
+
}
|
|
8
|
+
export declare function shouldHandleVendorUnifierPath(pathname: string): boolean;
|
|
9
|
+
export declare function maybeRewriteVendorModule(code: string, strategy: FrameworkServerStrategy, origin: string, version: number): string;
|
|
10
|
+
export declare function registerVendorUnifierHandler(server: ViteDevServer, options: RegisterVendorUnifierHandlerOptions): void;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
function setJavascriptResponseHeaders(res) {
|
|
2
|
+
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
3
|
+
res.setHeader('Content-Type', 'application/javascript; charset=utf-8');
|
|
4
|
+
res.setHeader('Cache-Control', 'no-store, no-cache, must-revalidate, max-age=0');
|
|
5
|
+
res.setHeader('Pragma', 'no-cache');
|
|
6
|
+
res.setHeader('Expires', '0');
|
|
7
|
+
}
|
|
8
|
+
export function shouldHandleVendorUnifierPath(pathname) {
|
|
9
|
+
if (/^\/ns\/(?:rt|core)(?:\/|$)/.test(pathname)) {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
if (!/(\.m?js$|\.ts$|\/node_modules\/|\/\.vite\/deps\/|^\/@id\/|^\/@fs\/)/.test(pathname)) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
if (/\.css($|\?)/.test(pathname)) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
export function maybeRewriteVendorModule(code, strategy, origin, version) {
|
|
21
|
+
const rewrite = strategy.rewriteVendorSpec;
|
|
22
|
+
if (!rewrite) {
|
|
23
|
+
return code;
|
|
24
|
+
}
|
|
25
|
+
return rewrite(code, origin, version);
|
|
26
|
+
}
|
|
27
|
+
export function registerVendorUnifierHandler(server, options) {
|
|
28
|
+
server.middlewares.use(async (req, res, next) => {
|
|
29
|
+
try {
|
|
30
|
+
const reqUrl = req.url || '';
|
|
31
|
+
const urlObj = new URL(reqUrl, 'http://localhost');
|
|
32
|
+
const pathname = urlObj.pathname || '';
|
|
33
|
+
if (!shouldHandleVendorUnifierPath(pathname))
|
|
34
|
+
return next();
|
|
35
|
+
const transformed = await server.transformRequest(reqUrl);
|
|
36
|
+
if (!transformed?.code)
|
|
37
|
+
return next();
|
|
38
|
+
const strategy = options.getStrategy();
|
|
39
|
+
const rewritten = maybeRewriteVendorModule(transformed.code, strategy, options.getServerOrigin(server), options.getGraphVersion());
|
|
40
|
+
if (rewritten === transformed.code)
|
|
41
|
+
return next();
|
|
42
|
+
setJavascriptResponseHeaders(res);
|
|
43
|
+
res.statusCode = 200;
|
|
44
|
+
res.end(rewritten);
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
return next();
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=websocket-vendor-unifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket-vendor-unifier.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/websocket-vendor-unifier.ts"],"names":[],"mappings":"AAUA,SAAS,4BAA4B,CAAC,GAAQ;IAC7C,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;AAED,MAAM,UAAU,6BAA6B,CAAC,QAAgB;IAC7D,IAAI,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC,qEAAqE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3F,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAY,EAAE,QAAiC,EAAE,MAAc,EAAE,OAAe;IACxH,MAAM,OAAO,GAAG,QAAQ,CAAC,iBAAiB,CAAC;IAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,MAAqB,EAAE,OAA4C;IAC/G,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC/C,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;YACnD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;YACvC,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC;gBAAE,OAAO,IAAI,EAAE,CAAC;YAE5D,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC1D,IAAI,CAAC,WAAW,EAAE,IAAI;gBAAE,OAAO,IAAI,EAAE,CAAC;YAEtC,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,SAAS,GAAG,wBAAwB,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;YACnI,IAAI,SAAS,KAAK,WAAW,CAAC,IAAI;gBAAE,OAAO,IAAI,EAAE,CAAC;YAElD,4BAA4B,CAAC,GAAG,CAAC,CAAC;YAClC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,IAAI,EAAE,CAAC;QACf,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ViteDevServer } from 'vite';
|
|
2
|
+
import type { FrameworkServerStrategy } from './framework-strategy.js';
|
|
3
|
+
type ProcessCodeForDeviceFn = (code: string, isVitePreBundled: boolean, preserveVendorImports?: boolean, isNodeModule?: boolean, sourceId?: string) => string;
|
|
4
|
+
type RewriteImportsFn = (code: string, importerPath: string, sfcFileMap: Map<string, string>, depFileMap: Map<string, string>, projectRoot: string, verbose?: boolean, outputDirOverrideRel?: string, httpOrigin?: string, resolveVendorAsHttp?: boolean) => string;
|
|
5
|
+
export interface RegisterVueSfcHandlersOptions {
|
|
6
|
+
verbose: boolean;
|
|
7
|
+
requireGuardSnippet: string;
|
|
8
|
+
appVirtualWithSlash: string;
|
|
9
|
+
sfcFileMap: Map<string, string>;
|
|
10
|
+
depFileMap: Map<string, string>;
|
|
11
|
+
getGraphVersion(): number;
|
|
12
|
+
getStrategy(): FrameworkServerStrategy;
|
|
13
|
+
getServerOrigin(server: ViteDevServer): string;
|
|
14
|
+
cleanCode(code: string): string;
|
|
15
|
+
processCodeForDevice: ProcessCodeForDeviceFn;
|
|
16
|
+
rewriteImports: RewriteImportsFn;
|
|
17
|
+
ensureVersionedCoreImports(code: string, origin: string, version: number): string;
|
|
18
|
+
}
|
|
19
|
+
export interface ParsedVersionedEndpointPath {
|
|
20
|
+
verFromPath: string | null;
|
|
21
|
+
pathStyle: string;
|
|
22
|
+
}
|
|
23
|
+
export declare function parseVersionedEndpointPath(basePath: string, pathname: string): ParsedVersionedEndpointPath;
|
|
24
|
+
export declare function buildSfcDelegatedModule(importerPath: string, version: string): string;
|
|
25
|
+
export declare function templateHasRender(templateCode: string): boolean;
|
|
26
|
+
export declare function registerVueSfcHandlers(server: ViteDevServer, options: RegisterVueSfcHandlersOptions): void;
|
|
27
|
+
export {};
|