@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
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { buildCoreUrlPath } from '../../helpers/ns-core-url.js';
|
|
1
2
|
/**
|
|
2
3
|
* Rewrites stray string-literal side-effect lines that reference @nativescript/core
|
|
3
4
|
* into proper ESM import statements targeting the unified /ns/core bridge.
|
|
@@ -8,8 +9,8 @@
|
|
|
8
9
|
* "@nativescript/core/index.js";
|
|
9
10
|
* This trips the sanitizer's local-core-path detector and breaks HTTP ESM loading.
|
|
10
11
|
*
|
|
11
|
-
* This helper safely maps those literals to:
|
|
12
|
-
* import "/ns/core?p=
|
|
12
|
+
* This helper safely maps those literals to the canonical path form:
|
|
13
|
+
* import "/ns/core/<sub>"; // subpath form, no version, no ?p=
|
|
13
14
|
* or, without subpath:
|
|
14
15
|
* import "/ns/core";
|
|
15
16
|
*/
|
|
@@ -18,15 +19,7 @@ export function normalizeStrayCoreStringLiterals(code) {
|
|
|
18
19
|
return code;
|
|
19
20
|
try {
|
|
20
21
|
let out = code;
|
|
21
|
-
const toCoreBridgeUrl = (sub) =>
|
|
22
|
-
const normalized = String(sub || '')
|
|
23
|
-
.trim()
|
|
24
|
-
.replace(/^\//, '');
|
|
25
|
-
if (!normalized || normalized === 'index' || normalized === 'index.js') {
|
|
26
|
-
return '/ns/core';
|
|
27
|
-
}
|
|
28
|
-
return `/ns/core?p=${normalized}`;
|
|
29
|
-
};
|
|
22
|
+
const toCoreBridgeUrl = (sub) => buildCoreUrlPath(sub);
|
|
30
23
|
// Normalize any concatenated imports on the same line to start on a new line
|
|
31
24
|
// e.g. `...;import x from` -> `...;\nimport x from`
|
|
32
25
|
out = out.replace(/;\s*import\s+/g, ';\nimport ');
|
|
@@ -54,19 +47,18 @@ export function normalizeStrayCoreStringLiterals(code) {
|
|
|
54
47
|
* following side-effect import of the core bridge.
|
|
55
48
|
*
|
|
56
49
|
* Example:
|
|
57
|
-
* import { A, B } from\nimport "/ns/core
|
|
50
|
+
* import { A, B } from\nimport "/ns/core/index";
|
|
58
51
|
* becomes
|
|
59
|
-
* import { A, B } from "/ns/core
|
|
52
|
+
* import { A, B } from "/ns/core/index";
|
|
60
53
|
*/
|
|
61
54
|
export function fixDanglingCoreFrom(code) {
|
|
62
55
|
if (!code || typeof code !== 'string')
|
|
63
56
|
return code;
|
|
64
57
|
try {
|
|
65
|
-
// Also normalize any concatenated imports before processing
|
|
66
58
|
code = code.replace(/;\s*import\s+/g, ';\nimport ');
|
|
67
59
|
// Multi-line form: import { ...\n ...\n} from\nimport "<core-url>";[tail]
|
|
68
60
|
// Merge into: import { ... } from "<core-url>";\n[tail]
|
|
69
|
-
code = code.replace(/(^|\n|;)\s*import\s*\{([\s\S]*?)\}\s*from\s*\n\s*import\s+["']((?:https?:\/\/[^"']+)?\/ns\/core(
|
|
61
|
+
code = code.replace(/(^|\n|;)\s*import\s*\{([\s\S]*?)\}\s*from\s*\n\s*import\s+["']((?:https?:\/\/[^"']+)?\/ns\/core(?:\/[^"']*)?)["'];?(.*)/g, (_m, pre, named, url, tail) => {
|
|
70
62
|
const prefix = pre ? (String(pre).endsWith(';') ? String(pre) + '\n' : String(pre)) : '';
|
|
71
63
|
const tailNorm = (tail || '').replace(/^\s*;?\s*/, '').trim();
|
|
72
64
|
return prefix + `import {${named}} from "${url}";` + (tailNorm ? `\n${tailNorm}` : '');
|
|
@@ -78,19 +70,16 @@ export function fixDanglingCoreFrom(code) {
|
|
|
78
70
|
const m = /^\s*import\s*\{[^}]+\}\s*from\s*$/.exec(ln);
|
|
79
71
|
if (m && i + 1 < lines.length) {
|
|
80
72
|
const next = lines[i + 1];
|
|
81
|
-
|
|
82
|
-
// Capture the core import URL and any trailing content after it (another import concatenated)
|
|
83
|
-
const m2 = /^\s*import\s+["']((?:https?:\/\/[^"']+)?\/ns\/core(?:\/\d+)?(?:\?p=[^"']+)?)["'];?(.*)$/.exec(next);
|
|
73
|
+
const m2 = /^\s*import\s+["']((?:https?:\/\/[^"']+)?\/ns\/core(?:\/[^"']*)?)["'];?(.*)$/.exec(next);
|
|
84
74
|
if (m2) {
|
|
85
75
|
const url = m2[1];
|
|
86
76
|
const tail = m2[2] || '';
|
|
87
77
|
out.push(ln + ' ' + `"${url}";`);
|
|
88
|
-
// If there is a tail like ';import { ... } from "..."', normalize it onto a new line
|
|
89
78
|
const tailNorm = tail.replace(/^\s*;?\s*/, '');
|
|
90
79
|
if (tailNorm.trim().length > 0) {
|
|
91
80
|
out.push(tailNorm);
|
|
92
81
|
}
|
|
93
|
-
i++;
|
|
82
|
+
i++;
|
|
94
83
|
continue;
|
|
95
84
|
}
|
|
96
85
|
}
|
|
@@ -102,6 +91,45 @@ export function fixDanglingCoreFrom(code) {
|
|
|
102
91
|
return code;
|
|
103
92
|
}
|
|
104
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* Run the full "rescue any stray @nativescript/core references" pass over the
|
|
96
|
+
* code in one call. This is the canonical entry point for NS-M served modules
|
|
97
|
+
* (and any other consumer that wants the safety net). The three sub-passes
|
|
98
|
+
* cover progressively rarer pipeline accidents:
|
|
99
|
+
*
|
|
100
|
+
* 1. `normalizeStrayCoreStringLiterals` — turns naked `"@nativescript/core/foo";`
|
|
101
|
+
* string literals (produced by some upstream transforms that bare-stringify
|
|
102
|
+
* side-effect imports) back into proper `import "/ns/core/foo";`.
|
|
103
|
+
* 2. `fixDanglingCoreFrom` — merges multi-line accidents where a `from`
|
|
104
|
+
* clause got separated from its specifier across newlines.
|
|
105
|
+
* 3. `normalizeAnyCoreSpecToBridge` — final regex sweep that catches any
|
|
106
|
+
* remaining `from "...@nativescript/core[/sub]..."` references that escaped
|
|
107
|
+
* both the AST normalizer and the import rewriter.
|
|
108
|
+
*
|
|
109
|
+
* Centralising the passes here ensures every NS-M emitter applies the same
|
|
110
|
+
* safety net in the same order; drift between call sites re-introduces the
|
|
111
|
+
* realm-split bug.
|
|
112
|
+
*
|
|
113
|
+
* Returns the (possibly) rewritten code; never throws.
|
|
114
|
+
*/
|
|
115
|
+
export function sanitizeStrayCoreReferences(code) {
|
|
116
|
+
if (!code || typeof code !== 'string')
|
|
117
|
+
return code;
|
|
118
|
+
let out = code;
|
|
119
|
+
try {
|
|
120
|
+
out = normalizeStrayCoreStringLiterals(out);
|
|
121
|
+
}
|
|
122
|
+
catch { }
|
|
123
|
+
try {
|
|
124
|
+
out = fixDanglingCoreFrom(out);
|
|
125
|
+
}
|
|
126
|
+
catch { }
|
|
127
|
+
try {
|
|
128
|
+
out = normalizeAnyCoreSpecToBridge(out);
|
|
129
|
+
}
|
|
130
|
+
catch { }
|
|
131
|
+
return out;
|
|
132
|
+
}
|
|
105
133
|
/**
|
|
106
134
|
* Fallback: normalize ANY import spec that references '@nativescript/core' (including
|
|
107
135
|
* absolute/relative or resolved forms like '/node_modules/@nativescript/core/index.js?v=...')
|
|
@@ -112,62 +140,169 @@ export function normalizeAnyCoreSpecToBridge(code) {
|
|
|
112
140
|
return code;
|
|
113
141
|
try {
|
|
114
142
|
let out = code;
|
|
115
|
-
const toCoreBridgeUrl = (sub) =>
|
|
116
|
-
const s = String(sub || '')
|
|
117
|
-
.split('?')[0]
|
|
118
|
-
.trim()
|
|
119
|
-
.replace(/^\//, '');
|
|
120
|
-
if (!s || s === 'index' || s === 'index.js') {
|
|
121
|
-
return '/ns/core';
|
|
122
|
-
}
|
|
123
|
-
return `/ns/core?p=${s}`;
|
|
124
|
-
};
|
|
143
|
+
const toCoreBridgeUrl = (sub) => buildCoreUrlPath(sub);
|
|
125
144
|
// Static: import ... from "...@nativescript/core[/sub]..."
|
|
126
145
|
out = out.replace(/from\s+["'][^"']*@nativescript[\/_-]core([^"']*)["']/g, (_m, sub) => `from "${toCoreBridgeUrl(sub)}"`);
|
|
127
146
|
// Side-effect: import "...@nativescript/core[/sub]..."
|
|
128
147
|
out = out.replace(/(^|\n)\s*import\s+["'][^"']*@nativescript[\/_-]core([^"']*)["'];?/gm, (full, pfx, sub) => `${pfx}import "${toCoreBridgeUrl(sub)}";`);
|
|
129
148
|
// Dynamic: import("...@nativescript/core[/sub]...")
|
|
130
149
|
out = out.replace(/import\(\s*["'][^"']*@nativescript[\/_-]core([^"']*)["']\s*\)/g, (_m, sub) => `import("${toCoreBridgeUrl(sub)}")`);
|
|
131
|
-
// Repair glitch where a previous pass split/merged lines into:
|
|
132
|
-
//
|
|
133
|
-
|
|
150
|
+
// Repair glitch where a previous pass split/merged lines into:
|
|
151
|
+
// "from import '/ns/core...'". Normalize to a valid specifier:
|
|
152
|
+
// "from '/ns/core...'".
|
|
153
|
+
out = out.replace(/from\s+import\s+["']((?:https?:\/\/[^"']+)?\/ns\/core(?:\/[^"']*)?)['"]/g, (_m, url) => `from "${url}"`);
|
|
134
154
|
return out;
|
|
135
155
|
}
|
|
136
156
|
catch {
|
|
137
157
|
return code;
|
|
138
158
|
}
|
|
139
159
|
}
|
|
160
|
+
/**
|
|
161
|
+
* Detect whether a resolved module path is a directory-index file. Matches
|
|
162
|
+
* `index.<platform?>.<ext>` shapes used across @nativescript/core (e.g.
|
|
163
|
+
* `index.js`, `index.android.ts`, `index.ios.mjs`).
|
|
164
|
+
*/
|
|
165
|
+
export function isDirectoryIndexFilename(modulePath) {
|
|
166
|
+
if (!modulePath || typeof modulePath !== 'string')
|
|
167
|
+
return false;
|
|
168
|
+
const cleaned = modulePath.split(/[?#]/)[0];
|
|
169
|
+
const base = cleaned.replace(/\\/g, '/').split('/').pop() || '';
|
|
170
|
+
return /^index(?:\.(?:android|ios|visionos))?\.(?:m?[jt]s)$/i.test(base);
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Resolve a relative specifier (`./x`, `../x`) into a canonical
|
|
174
|
+
* @nativescript/core sub-path, given the base described by `relBase`.
|
|
175
|
+
*
|
|
176
|
+
* `…/index.<platform>.<ext>` files mean `sub` IS the directory (so `./x` →
|
|
177
|
+
* `<sub>/x`); plain files mean the resolution base is `sub`'s parent.
|
|
178
|
+
*
|
|
179
|
+
* Returned sub-path is sanitised by `buildCoreUrlPath`'s convention: trailing
|
|
180
|
+
* `.(m)?(j|t)s` extensions are stripped so callers can directly emit
|
|
181
|
+
* `/ns/core/<resolved>` without producing a non-canonical URL that the
|
|
182
|
+
* bridge would 301-redirect later.
|
|
183
|
+
*/
|
|
184
|
+
export function resolveRelativeCoreSub(spec, relBase) {
|
|
185
|
+
if (!spec || (!spec.startsWith('./') && !spec.startsWith('../')))
|
|
186
|
+
return null;
|
|
187
|
+
const cleanSpec = spec.split(/[?#]/)[0];
|
|
188
|
+
const stripExt = (s) => s.replace(/\.(?:m?[jt]s)$/i, '');
|
|
189
|
+
const splitSeg = (s) => s.split('/').filter((p) => p.length > 0);
|
|
190
|
+
const baseSub = String(relBase?.sub || '').replace(/^\/+|\/+$/g, '');
|
|
191
|
+
const dirParts = relBase?.isDirectoryIndex ? splitSeg(baseSub) : splitSeg(baseSub).slice(0, -1);
|
|
192
|
+
const relParts = cleanSpec.split('/');
|
|
193
|
+
for (const part of relParts) {
|
|
194
|
+
if (part === '' || part === '.')
|
|
195
|
+
continue;
|
|
196
|
+
if (part === '..') {
|
|
197
|
+
if (dirParts.length === 0)
|
|
198
|
+
return null;
|
|
199
|
+
dirParts.pop();
|
|
200
|
+
continue;
|
|
201
|
+
}
|
|
202
|
+
dirParts.push(part);
|
|
203
|
+
}
|
|
204
|
+
const joined = dirParts.join('/');
|
|
205
|
+
return stripExt(joined);
|
|
206
|
+
}
|
|
140
207
|
/**
|
|
141
208
|
* Rewrite a single import/export specifier for device consumption.
|
|
142
209
|
*
|
|
143
210
|
* Converts Vite-resolved root-relative paths to URLs the device can fetch:
|
|
144
|
-
* /node_modules/@nativescript/core/x/y → /ns/core/
|
|
211
|
+
* /node_modules/@nativescript/core/x/y → /ns/core/x/y (canonical)
|
|
145
212
|
* /node_modules/other-pkg/x.js → {origin}/ns/m/node_modules/other-pkg/x.js
|
|
146
213
|
* /src/app/foo.ts → {origin}/ns/m/src/app/foo.ts
|
|
147
214
|
* already /ns/... or http://... → unchanged
|
|
215
|
+
*
|
|
216
|
+
* When `relBase` is supplied AND `spec` is a relative path (`./x` or `../x`),
|
|
217
|
+
* the relative specifier is resolved to an absolute `/ns/core/<resolved>`
|
|
218
|
+
* URL using `resolveRelativeCoreSub`. Without `relBase`, relatives are
|
|
219
|
+
* returned unchanged (legacy behaviour for non-core call sites).
|
|
148
220
|
*/
|
|
149
|
-
function rewriteSpec(spec, origin, ver) {
|
|
221
|
+
function rewriteSpec(spec, origin, ver, relBase) {
|
|
222
|
+
void ver;
|
|
150
223
|
// Strip Vite cache-busting query params for bridge URLs
|
|
151
224
|
const cleanSpec = spec.split('?')[0];
|
|
152
|
-
// @nativescript/core anywhere in the path → core bridge
|
|
225
|
+
// @nativescript/core anywhere in the path → core bridge.
|
|
226
|
+
// Delegated to the ONE canonical URL generator to guarantee that
|
|
227
|
+
// every emitter — this function, the ns-core-external-urls plugin,
|
|
228
|
+
// main-entry's coreSpec, and the runtime import map — produces
|
|
229
|
+
// byte-identical URLs for the same logical module. Mixed forms
|
|
230
|
+
// (query `?p=`, versioned, `.js` suffix) would otherwise produce
|
|
231
|
+
// distinct iOS HTTP ESM cache entries for the same file,
|
|
232
|
+
// re-evaluating register() side effects and crashing on "Cannot
|
|
233
|
+
// redefine property".
|
|
153
234
|
const coreIdx = cleanSpec.indexOf('@nativescript/core');
|
|
154
235
|
if (coreIdx !== -1) {
|
|
155
236
|
const after = cleanSpec.substring(coreIdx + '@nativescript/core'.length);
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
237
|
+
return buildCoreUrlPath(after);
|
|
238
|
+
}
|
|
239
|
+
// Already-canonicalised bridge URLs deserve a second look — a
|
|
240
|
+
// `/ns/core/<sub>` URL with a stale platform suffix (`.ios`),
|
|
241
|
+
// trailing `/index`, or `.js` extension would survive this pass
|
|
242
|
+
// but be 301-redirected by the bridge handler at runtime, costing
|
|
243
|
+
// an extra round-trip and risking double-evaluation if iOS caches
|
|
244
|
+
// both spellings. Run any `/ns/core/...` (or full-origin variant)
|
|
245
|
+
// back through `buildCoreUrlPath` so the rewriter is the
|
|
246
|
+
// single point that produces canonical core URLs for the device.
|
|
247
|
+
const coreBridgePathOnly = cleanSpec.match(/^\/ns\/core(?:\/[^?#]*)?$/);
|
|
248
|
+
if (coreBridgePathOnly) {
|
|
249
|
+
const sub = cleanSpec.replace(/^\/ns\/core\/?/, '');
|
|
250
|
+
return buildCoreUrlPath(sub);
|
|
251
|
+
}
|
|
252
|
+
const coreBridgeWithOrigin = cleanSpec.match(/^https?:\/\/[^/]+\/ns\/core(?:\/[^?#]*)?$/);
|
|
253
|
+
if (coreBridgeWithOrigin) {
|
|
254
|
+
const sub = cleanSpec.replace(/^https?:\/\/[^/]+\/ns\/core\/?/, '');
|
|
255
|
+
const canonicalPath = buildCoreUrlPath(sub);
|
|
256
|
+
const originPrefix = cleanSpec.replace(/\/ns\/core(?:\/.*)?$/, '');
|
|
257
|
+
return `${originPrefix}${canonicalPath}`;
|
|
161
258
|
}
|
|
162
259
|
// Already a bridge, vendor, or HTTP URL → leave unchanged
|
|
163
260
|
if (spec.startsWith('/ns/') || spec.startsWith('http://') || spec.startsWith('https://') || spec.startsWith('ns-vendor://')) {
|
|
164
261
|
return spec;
|
|
165
262
|
}
|
|
263
|
+
// Relative specifiers (`./x`, `../x`).
|
|
264
|
+
//
|
|
265
|
+
// Vite's import-analysis usually rewrites these to absolute IDs, but
|
|
266
|
+
// for files under `node_modules` it sometimes leaves them in place.
|
|
267
|
+
// When that happens AND the served URL has no trailing slash AND is
|
|
268
|
+
// itself a directory-index file (e.g. `…/layout-helper/index.android.ts`
|
|
269
|
+
// served at `/ns/core/utils/layout-helper`), V8's URL resolver treats
|
|
270
|
+
// `layout-helper` as the file and points `./layout-helper-common` at the
|
|
271
|
+
// non-existent sibling `/ns/core/utils/layout-helper-common`. Vite then
|
|
272
|
+
// 500s with "Failed to load url … Does the file exist?" and the
|
|
273
|
+
// dependent module never finishes evaluating.
|
|
274
|
+
//
|
|
275
|
+
// When `relBase` is supplied we resolve the specifier server-side and
|
|
276
|
+
// emit a canonical absolute `/ns/core/<resolved>` URL so the device
|
|
277
|
+
// cannot guess wrong. Falling back to the unchanged relative path
|
|
278
|
+
// preserves legacy behaviour for callers that don't (yet) thread
|
|
279
|
+
// `relBase` through.
|
|
280
|
+
if (spec.startsWith('./') || spec.startsWith('../')) {
|
|
281
|
+
if (relBase) {
|
|
282
|
+
const resolvedSub = resolveRelativeCoreSub(spec, relBase);
|
|
283
|
+
if (resolvedSub !== null) {
|
|
284
|
+
return buildCoreUrlPath(resolvedSub);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
return spec;
|
|
288
|
+
}
|
|
166
289
|
// Root-relative paths → HTTP URL through /ns/m/ handler
|
|
167
290
|
if (spec.startsWith('/')) {
|
|
168
291
|
return `${origin}/ns/m${spec}`;
|
|
169
292
|
}
|
|
170
|
-
|
|
293
|
+
// Bare package specifier (e.g. `source-map-js/lib/source-map-generator.js`)
|
|
294
|
+
// → HTTP URL through /ns/m/node_modules/ handler. Under HMR bundle-build,
|
|
295
|
+
// @nativescript/core subpath modules served by this bridge (e.g.
|
|
296
|
+
// /ns/core?p=inspector_modules) may reference other npm packages with bare
|
|
297
|
+
// specifiers in their transformed output — specifically, the CommonJS
|
|
298
|
+
// compat transformer for source-map-js rewrites `require('./lib/source-
|
|
299
|
+
// map-generator')` into `import from 'source-map-js/lib/source-map-
|
|
300
|
+
// generator.js'`, a bare specifier that iOS's ESM loader cannot resolve at
|
|
301
|
+
// module-instantiation time (the runtime import map isn't installed yet).
|
|
302
|
+
// Converting to /ns/m/node_modules/<spec> makes iOS fetch the package over
|
|
303
|
+
// HTTP, which Vite serves through the same pipeline that already handles
|
|
304
|
+
// every other node_modules subpath import in the app.
|
|
305
|
+
return `${origin}/ns/m/node_modules/${spec}`;
|
|
171
306
|
}
|
|
172
307
|
/**
|
|
173
308
|
* Minimal specifier rewriter for deep subpath core modules.
|
|
@@ -182,8 +317,13 @@ function rewriteSpec(spec, origin, ver) {
|
|
|
182
317
|
* This replaces the heavy 5-pass pipeline (processCodeForDevice →
|
|
183
318
|
* rewriteImports → deduplicateLinkerImports → CJS wrapping → etc.)
|
|
184
319
|
* for deep subpath core modules where Vite already produces correct ESM.
|
|
320
|
+
*
|
|
321
|
+
* When `relBase` is supplied, relative specifiers (`./x`, `../x`) are
|
|
322
|
+
* resolved server-side into canonical `/ns/core/<resolved>` URLs so the
|
|
323
|
+
* device never has to guess where a directory-index file's siblings live.
|
|
324
|
+
* See `RelativeBase` and `rewriteSpec` for the full rationale.
|
|
185
325
|
*/
|
|
186
|
-
export function rewriteSpecifiersForDevice(code, origin, ver) {
|
|
326
|
+
export function rewriteSpecifiersForDevice(code, origin, ver, relBase) {
|
|
187
327
|
if (!code)
|
|
188
328
|
return code;
|
|
189
329
|
let result = code;
|
|
@@ -193,29 +333,43 @@ export function rewriteSpecifiersForDevice(code, origin, ver) {
|
|
|
193
333
|
// import * as X from "spec"
|
|
194
334
|
// export { X } from "spec"
|
|
195
335
|
// export * from "spec"
|
|
196
|
-
|
|
197
|
-
|
|
336
|
+
//
|
|
337
|
+
// The lookbehind guard below ensures we only match `from` at the start of
|
|
338
|
+
// its ESM-keyword context, not `from` appearing INSIDE a string literal
|
|
339
|
+
// (e.g. `if (time === 'from') { … }` in @nativescript/core's
|
|
340
|
+
// css-animation-parser). Without this guard the regex spans from the
|
|
341
|
+
// `from` inside the string to the NEXT quote elsewhere in the file,
|
|
342
|
+
// corrupting both tokens.
|
|
343
|
+
result = result.replace(/(?<![a-zA-Z0-9_$'"`])(from\s+)(["'])([^"']+)\2/g, (_m, pre, q, spec) => {
|
|
344
|
+
return `${pre}${q}${rewriteSpec(spec, origin, ver, relBase)}${q}`;
|
|
198
345
|
});
|
|
199
346
|
// Pattern 2: import("specifier") — dynamic imports
|
|
200
347
|
result = result.replace(/(import\s*\(\s*)(["'])([^"']+)\2(\s*\))/g, (_m, pre, q, spec, post) => {
|
|
201
|
-
return `${pre}${q}${rewriteSpec(spec, origin, ver)}${q}${post}`;
|
|
348
|
+
return `${pre}${q}${rewriteSpec(spec, origin, ver, relBase)}${q}${post}`;
|
|
202
349
|
});
|
|
203
350
|
// Pattern 3: import "specifier" — side-effect imports (no from clause)
|
|
204
|
-
// Anchored after
|
|
205
|
-
|
|
351
|
+
// Anchored after start-of-string, newline, or semicolon to avoid false matches.
|
|
352
|
+
// The `^` alternative is critical: when a transformed module's body begins
|
|
353
|
+
// with a side-effect import (no preceding `;` or `\n`), the legacy
|
|
354
|
+
// `[;\n]`-only anchor missed it and the URL leaked to the device unmodified.
|
|
355
|
+
// Concrete failure mode: `/ns/core/inspector_modules` whose first body line
|
|
356
|
+
// `import '/@fs/.../@nativescript/core/globals/index.js';` was served raw,
|
|
357
|
+
// producing a `__DEV__ is not defined` ReferenceError in `platform-check.js`
|
|
358
|
+
// because `/@fs/` URLs bypass the `/ns/core` bridge's define-injection.
|
|
359
|
+
result = result.replace(/(^|[;\n])(\s*import\s+)(["'])([^"']+)\3/g, (_m, lead, pre, q, spec) => {
|
|
206
360
|
// Skip if it looks like an identifier rather than a path
|
|
207
361
|
if (!/[/.@]/.test(spec))
|
|
208
362
|
return _m;
|
|
209
|
-
return `${pre}${q}${rewriteSpec(spec, origin, ver)}${q}`;
|
|
363
|
+
return `${lead}${pre}${q}${rewriteSpec(spec, origin, ver, relBase)}${q}`;
|
|
210
364
|
});
|
|
211
365
|
return result;
|
|
212
366
|
}
|
|
213
367
|
/**
|
|
214
368
|
* Determine whether a `/ns/core` bridge URL points to a real subpath module.
|
|
215
369
|
*
|
|
216
|
-
* Any `/ns/core
|
|
370
|
+
* Any `/ns/core/<sub>` module now serves real ESM content with real named
|
|
217
371
|
* exports via Vite's transform pipeline, except for package-main aliases like
|
|
218
|
-
* `/ns/core
|
|
372
|
+
* `/ns/core/index`, which should be treated like the main `/ns/core`
|
|
219
373
|
* bridge and destructured from its default export.
|
|
220
374
|
* The main proxy bridge (`/ns/core`) still only exports a default Proxy and
|
|
221
375
|
* requires named imports to be destructured from it.
|
|
@@ -225,13 +379,14 @@ export function rewriteSpecifiersForDevice(code, origin, ver) {
|
|
|
225
379
|
* natively without conversion.
|
|
226
380
|
*/
|
|
227
381
|
export function isDeepCoreSubpath(url) {
|
|
228
|
-
|
|
229
|
-
if (!match)
|
|
382
|
+
if (!url || typeof url !== 'string')
|
|
230
383
|
return false;
|
|
231
|
-
const
|
|
232
|
-
if (!
|
|
384
|
+
const path = url.match(/\/ns\/core\/([^?#]+)/);
|
|
385
|
+
if (!path)
|
|
386
|
+
return false;
|
|
387
|
+
const sub = String(path[1] || '').replace(/^\/+|\/+$/g, '');
|
|
388
|
+
if (!sub || sub === 'index' || sub === 'index.js')
|
|
233
389
|
return false;
|
|
234
|
-
}
|
|
235
390
|
return true;
|
|
236
391
|
}
|
|
237
392
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-sanitize.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/core-sanitize.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core-sanitize.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/core-sanitize.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,25 +42,15 @@ export interface FrameworkCleanContext {
|
|
|
42
42
|
export interface FrameworkServerStrategy {
|
|
43
43
|
readonly flavor: string;
|
|
44
44
|
matchesFile(id: string): boolean;
|
|
45
|
-
/**
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Framework-specific post-clean phase (strip HMR helpers, etc.).
|
|
55
|
-
*/
|
|
56
|
-
postClean(code: string): string;
|
|
57
|
-
/**
|
|
58
|
-
* Ensure framework-specific HTTP endpoints/imports are versioned for cache-busting.
|
|
59
|
-
*/
|
|
60
|
-
ensureVersionedImports(code: string, origin: string, version: number): string;
|
|
61
|
-
/**
|
|
62
|
-
* Optional vendor rewrite hook (e.g. map framework helper imports to vendor).
|
|
63
|
-
*/
|
|
45
|
+
/** Framework-specific pre-clean phase (remove virtual style imports, etc.). */
|
|
46
|
+
preClean?(code: string): string;
|
|
47
|
+
/** Rewrite framework runtime imports to vendor bundle. */
|
|
48
|
+
rewriteFrameworkImports?(code: string): string;
|
|
49
|
+
/** Framework-specific post-clean phase (strip HMR helpers, etc.). */
|
|
50
|
+
postClean?(code: string): string;
|
|
51
|
+
/** Ensure framework-specific HTTP endpoints/imports are versioned for cache-busting. */
|
|
52
|
+
ensureVersionedImports?(code: string, origin: string, version: number): string;
|
|
53
|
+
/** Optional vendor rewrite hook (e.g. map framework helper imports to vendor). */
|
|
64
54
|
rewriteVendorSpec?(code: string, origin: string, version: number): string;
|
|
65
55
|
processFile(ctx: FrameworkProcessFileContext): Promise<void>;
|
|
66
56
|
buildRegistry(ctx: FrameworkRegistryContext): Promise<void>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { WebSocket, WebSocketServer } from 'ws';
|
|
2
|
+
import type { FrameworkServerStrategy } from './framework-strategy.js';
|
|
3
|
+
export interface GraphModule {
|
|
4
|
+
id: string;
|
|
5
|
+
deps: string[];
|
|
6
|
+
hash: string;
|
|
7
|
+
}
|
|
8
|
+
export interface UpsertOptions {
|
|
9
|
+
emitDeltaOnInsert?: boolean;
|
|
10
|
+
broadcastDelta?: boolean;
|
|
11
|
+
bumpVersion?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface HmrModuleGraphDeps {
|
|
14
|
+
verbose: boolean;
|
|
15
|
+
strategy: FrameworkServerStrategy;
|
|
16
|
+
getWss: () => WebSocketServer | null;
|
|
17
|
+
getPluginRoot: () => string | undefined;
|
|
18
|
+
}
|
|
19
|
+
export declare class HmrModuleGraph {
|
|
20
|
+
private readonly deps;
|
|
21
|
+
readonly modules: Map<string, GraphModule>;
|
|
22
|
+
private readonly txnBatches;
|
|
23
|
+
private _version;
|
|
24
|
+
constructor(deps: HmrModuleGraphDeps);
|
|
25
|
+
get version(): number;
|
|
26
|
+
get size(): number;
|
|
27
|
+
get(id: string): GraphModule | undefined;
|
|
28
|
+
getTxnBatch(version: number): string[];
|
|
29
|
+
computeHash(content: string): string;
|
|
30
|
+
normalizeGraphId(raw: string): string;
|
|
31
|
+
computeTxnOrderForChanged(changedIds: string[]): string[];
|
|
32
|
+
private fullGraphPayload;
|
|
33
|
+
emitFullGraph(ws: WebSocket): void;
|
|
34
|
+
emitDelta(changed: GraphModule[], removed: string[]): void;
|
|
35
|
+
upsert(rawId: string, code: string, deps: string[], options?: UpsertOptions): GraphModule | undefined;
|
|
36
|
+
remove(id: string): void;
|
|
37
|
+
}
|