@nativescript/vite 0.0.1 → 1.0.0
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/LICENSE +19 -0
- package/README.md +81 -0
- package/{dist/configuration → configuration}/angular.d.ts +1 -1
- package/configuration/angular.js +371 -0
- package/configuration/angular.js.map +1 -0
- package/configuration/base.d.ts +5 -0
- package/configuration/base.js +491 -0
- package/configuration/base.js.map +1 -0
- package/configuration/javascript.d.ts +4 -0
- package/configuration/javascript.js +152 -0
- package/configuration/javascript.js.map +1 -0
- package/{dist/configuration → configuration}/react.d.ts +1 -1
- package/{dist/configuration → configuration}/react.js +18 -17
- package/configuration/react.js.map +1 -0
- package/{dist/configuration → configuration}/solid.d.ts +1 -1
- package/{dist/configuration → configuration}/solid.js +17 -16
- package/configuration/solid.js.map +1 -0
- package/configuration/typescript.d.ts +4 -0
- package/configuration/typescript.js +176 -0
- package/configuration/typescript.js.map +1 -0
- package/{dist/configuration → configuration}/vue.d.ts +1 -1
- package/configuration/vue.js +163 -0
- package/configuration/vue.js.map +1 -0
- package/helpers/angular/angular-linker.d.ts +13 -0
- package/helpers/angular/angular-linker.js +189 -0
- package/helpers/angular/angular-linker.js.map +1 -0
- package/helpers/angular/shared-linker.d.ts +4 -0
- package/helpers/angular/shared-linker.js +39 -0
- package/helpers/angular/shared-linker.js.map +1 -0
- package/helpers/angular/util.d.ts +1 -0
- package/helpers/angular/util.js +67 -0
- package/helpers/angular/util.js.map +1 -0
- package/helpers/cli-flags.d.ts +1 -0
- package/helpers/cli-flags.js +15 -0
- package/helpers/cli-flags.js.map +1 -0
- package/{dist/helpers → helpers}/commonjs-plugins.js +14 -13
- package/helpers/commonjs-plugins.js.map +1 -0
- package/{dist/helpers → helpers}/config-as-json.d.ts +1 -1
- package/{dist/helpers → helpers}/config-as-json.js +7 -6
- package/helpers/config-as-json.js.map +1 -0
- package/helpers/css-platform-plugin.d.ts +10 -0
- package/helpers/css-platform-plugin.js +76 -0
- package/helpers/css-platform-plugin.js.map +1 -0
- package/helpers/css-tree.js +22 -0
- package/helpers/css-tree.js.map +1 -0
- package/{dist/helpers → helpers}/dynamic-import-plugin.js +8 -7
- package/helpers/dynamic-import-plugin.js.map +1 -0
- package/helpers/esbuild-platform-resolver.d.ts +14 -0
- package/helpers/esbuild-platform-resolver.js +93 -0
- package/helpers/esbuild-platform-resolver.js.map +1 -0
- package/helpers/external-configs.d.ts +6 -0
- package/helpers/external-configs.js +34 -0
- package/helpers/external-configs.js.map +1 -0
- package/{dist/helpers → helpers}/flavor.d.ts +1 -0
- package/helpers/flavor.js +51 -0
- package/helpers/flavor.js.map +1 -0
- package/helpers/global-defines.d.ts +25 -0
- package/helpers/global-defines.js +29 -0
- package/helpers/global-defines.js.map +1 -0
- package/helpers/init.d.ts +1 -0
- package/helpers/init.js +119 -0
- package/helpers/init.js.map +1 -0
- package/helpers/logging.d.ts +13 -0
- package/helpers/logging.js +115 -0
- package/helpers/logging.js.map +1 -0
- package/helpers/main-entry.d.ts +10 -0
- package/helpers/main-entry.js +223 -0
- package/helpers/main-entry.js.map +1 -0
- package/{dist/helpers → helpers}/module-resolution.js +4 -3
- package/helpers/module-resolution.js.map +1 -0
- package/helpers/module-runner-patch.d.ts +3 -0
- package/helpers/module-runner-patch.js +63 -0
- package/helpers/module-runner-patch.js.map +1 -0
- package/helpers/nativeclass-transform.d.ts +7 -0
- package/helpers/nativeclass-transform.js +158 -0
- package/helpers/nativeclass-transform.js.map +1 -0
- package/helpers/nativeclass-transformer-plugin.d.ts +5 -0
- package/helpers/nativeclass-transformer-plugin.js +23 -0
- package/helpers/nativeclass-transformer-plugin.js.map +1 -0
- package/{dist/helpers → helpers}/nativescript-package-resolver.js +18 -17
- package/helpers/nativescript-package-resolver.js.map +1 -0
- package/helpers/ns-cli-plugins.d.ts +14 -0
- package/helpers/ns-cli-plugins.js +165 -0
- package/helpers/ns-cli-plugins.js.map +1 -0
- package/helpers/package-platform-aliases.d.ts +10 -0
- package/{dist/helpers → helpers}/package-platform-aliases.js +19 -23
- package/helpers/package-platform-aliases.js.map +1 -0
- package/helpers/postcss-platform-config.d.ts +13 -0
- package/helpers/postcss-platform-config.js +97 -0
- package/helpers/postcss-platform-config.js.map +1 -0
- package/helpers/prelink-angular.d.ts +2 -0
- package/helpers/prelink-angular.js +117 -0
- package/helpers/prelink-angular.js.map +1 -0
- package/helpers/preserve-imports.d.ts +2 -0
- package/helpers/preserve-imports.js +38 -0
- package/helpers/preserve-imports.js.map +1 -0
- package/{dist/helpers → helpers}/project.js +2 -4
- package/helpers/project.js.map +1 -0
- package/helpers/resolver.d.ts +4 -0
- package/{dist/helpers → helpers}/resolver.js +7 -6
- package/helpers/resolver.js.map +1 -0
- package/helpers/theme-core-plugins.d.ts +14 -0
- package/helpers/theme-core-plugins.js +121 -0
- package/helpers/theme-core-plugins.js.map +1 -0
- package/helpers/ts-config-paths.d.ts +10 -0
- package/{dist/helpers → helpers}/ts-config-paths.js +73 -72
- package/helpers/ts-config-paths.js.map +1 -0
- package/{dist/helpers → helpers}/utils.d.ts +10 -0
- package/helpers/utils.js +143 -0
- package/helpers/utils.js.map +1 -0
- package/{dist/helpers → helpers}/workers.js +15 -16
- package/helpers/workers.js.map +1 -0
- package/hmr/client/css-handler.d.ts +4 -0
- package/hmr/client/css-handler.js +78 -0
- package/hmr/client/css-handler.js.map +1 -0
- package/hmr/client/index.d.ts +13 -0
- package/hmr/client/index.js +1723 -0
- package/hmr/client/index.js.map +1 -0
- package/hmr/client/utils.d.ts +38 -0
- package/hmr/client/utils.js +426 -0
- package/hmr/client/utils.js.map +1 -0
- package/hmr/entry-runtime.d.ts +8 -0
- package/hmr/entry-runtime.js +135 -0
- package/hmr/entry-runtime.js.map +1 -0
- package/hmr/frameworks/angular/client/index.d.ts +8 -0
- package/hmr/frameworks/angular/client/index.js +59 -0
- package/hmr/frameworks/angular/client/index.js.map +1 -0
- package/hmr/frameworks/angular/server/linker.d.ts +1 -0
- package/hmr/frameworks/angular/server/linker.js +101 -0
- package/hmr/frameworks/angular/server/linker.js.map +1 -0
- package/hmr/frameworks/angular/server/strategy.d.ts +2 -0
- package/hmr/frameworks/angular/server/strategy.js +187 -0
- package/hmr/frameworks/angular/server/strategy.js.map +1 -0
- package/hmr/frameworks/solid/server/strategy.d.ts +2 -0
- package/hmr/frameworks/solid/server/strategy.js +56 -0
- package/hmr/frameworks/solid/server/strategy.js.map +1 -0
- package/hmr/frameworks/typescript/server/strategy.d.ts +2 -0
- package/hmr/frameworks/typescript/server/strategy.js +125 -0
- package/hmr/frameworks/typescript/server/strategy.js.map +1 -0
- package/hmr/frameworks/vue/client/index.d.ts +22 -0
- package/hmr/frameworks/vue/client/index.js +1541 -0
- package/hmr/frameworks/vue/client/index.js.map +1 -0
- package/hmr/frameworks/vue/server/compiler.d.ts +11 -0
- package/hmr/frameworks/vue/server/compiler.js +26 -0
- package/hmr/frameworks/vue/server/compiler.js.map +1 -0
- package/hmr/frameworks/vue/server/sfc-transforms.d.ts +14 -0
- package/hmr/frameworks/vue/server/sfc-transforms.js +282 -0
- package/hmr/frameworks/vue/server/sfc-transforms.js.map +1 -0
- package/hmr/frameworks/vue/server/strategy.d.ts +2 -0
- package/hmr/frameworks/vue/server/strategy.js +272 -0
- package/hmr/frameworks/vue/server/strategy.js.map +1 -0
- package/hmr/helpers/ast-extract.d.ts +6 -0
- package/hmr/helpers/ast-extract.js +72 -0
- package/hmr/helpers/ast-extract.js.map +1 -0
- package/hmr/helpers/ast-normalizer.d.ts +7 -0
- package/hmr/helpers/ast-normalizer.js +772 -0
- package/hmr/helpers/ast-normalizer.js.map +1 -0
- package/hmr/helpers/babel.d.ts +3 -0
- package/hmr/helpers/babel.js +17 -0
- package/hmr/helpers/babel.js.map +1 -0
- package/hmr/helpers/sanitize.d.ts +6 -0
- package/hmr/helpers/sanitize.js +55 -0
- package/hmr/helpers/sanitize.js.map +1 -0
- package/hmr/helpers/vendor-rewrite.d.ts +1 -0
- package/hmr/helpers/vendor-rewrite.js +35 -0
- package/hmr/helpers/vendor-rewrite.js.map +1 -0
- package/hmr/server/compiler.d.ts +2 -0
- package/hmr/server/compiler.js +75 -0
- package/hmr/server/compiler.js.map +1 -0
- package/hmr/server/constants.d.ts +14 -0
- package/hmr/server/constants.js +23 -0
- package/hmr/server/constants.js.map +1 -0
- package/hmr/server/core-sanitize.d.ts +32 -0
- package/hmr/server/core-sanitize.js +134 -0
- package/hmr/server/core-sanitize.js.map +1 -0
- package/hmr/server/framework-strategy.d.ts +68 -0
- package/hmr/server/framework-strategy.js +2 -0
- package/hmr/server/framework-strategy.js.map +1 -0
- package/hmr/server/index.d.ts +5 -0
- package/hmr/server/index.js +23 -0
- package/hmr/server/index.js.map +1 -0
- package/hmr/server/vite-plugin.d.ts +5 -0
- package/hmr/server/vite-plugin.js +44 -0
- package/hmr/server/vite-plugin.js.map +1 -0
- package/hmr/server/websocket.d.ts +21 -0
- package/hmr/server/websocket.js +5619 -0
- package/hmr/server/websocket.js.map +1 -0
- package/hmr/shared/runtime/http-only-boot.d.ts +1 -0
- package/hmr/shared/runtime/http-only-boot.js +107 -0
- package/hmr/shared/runtime/http-only-boot.js.map +1 -0
- package/hmr/shared/runtime/root-placeholder.d.ts +1 -0
- package/hmr/shared/runtime/root-placeholder.js +142 -0
- package/hmr/shared/runtime/root-placeholder.js.map +1 -0
- package/hmr/shared/runtime/vendor-bootstrap.d.ts +1 -0
- package/hmr/shared/runtime/vendor-bootstrap.js +134 -0
- package/hmr/shared/runtime/vendor-bootstrap.js.map +1 -0
- package/hmr/shared/vendor/manifest-loader.d.ts +9 -0
- package/hmr/shared/vendor/manifest-loader.js +38 -0
- package/hmr/shared/vendor/manifest-loader.js.map +1 -0
- package/hmr/shared/vendor/manifest.d.ts +35 -0
- package/hmr/shared/vendor/manifest.js +811 -0
- package/hmr/shared/vendor/manifest.js.map +1 -0
- package/hmr/shared/vendor/registry.d.ts +9 -0
- package/hmr/shared/vendor/registry.js +62 -0
- package/hmr/shared/vendor/registry.js.map +1 -0
- package/hmr/vendor-bootstrap.d.ts +3 -0
- package/hmr/vendor-bootstrap.js +32 -0
- package/hmr/vendor-bootstrap.js.map +1 -0
- package/{dist/index.d.ts → index.d.ts} +2 -0
- package/index.js +19 -0
- package/index.js.map +1 -0
- package/package.json +42 -30
- package/{dist/polyfills → polyfills}/mdn-data-at-rules.js +1 -0
- package/polyfills/mdn-data-at-rules.js.map +1 -0
- package/{dist/polyfills → polyfills}/mdn-data-properties.js +1 -0
- package/polyfills/mdn-data-properties.js.map +1 -0
- package/{dist/polyfills → polyfills}/mdn-data-syntaxes.js +1 -0
- package/polyfills/mdn-data-syntaxes.js.map +1 -0
- package/{dist/polyfills → polyfills}/module.js +1 -0
- package/polyfills/module.js.map +1 -0
- package/runtime/core-aliases-early.d.ts +1 -0
- package/runtime/core-aliases-early.js +334 -0
- package/runtime/core-aliases-early.js.map +1 -0
- package/shims/angular-animations-stub.d.ts +68 -0
- package/shims/angular-animations-stub.js +140 -0
- package/shims/angular-animations-stub.js.map +1 -0
- package/shims/node-module.d.ts +5 -0
- package/shims/node-module.js +13 -0
- package/shims/node-module.js.map +1 -0
- package/{dist/shims → shims}/react-reconciler-constants.js +2 -1
- package/shims/react-reconciler-constants.js.map +1 -0
- package/{dist/shims → shims}/react-reconciler.js +1 -0
- package/shims/react-reconciler.js.map +1 -0
- package/{dist/shims → shims}/set-value.js +5 -1
- package/shims/set-value.js.map +1 -0
- package/transformers/NativeClass/index.d.ts +2 -0
- package/transformers/NativeClass/index.js +222 -0
- package/transformers/NativeClass/index.js.map +1 -0
- package/dist/configuration/angular.js +0 -30
- package/dist/configuration/base.d.ts +0 -13
- package/dist/configuration/base.js +0 -228
- package/dist/configuration/old-without-merge-base.d.ts +0 -13
- package/dist/configuration/old-without-merge-base.js +0 -249
- package/dist/configuration/vue.js +0 -45
- package/dist/helpers/css-tree.js +0 -21
- package/dist/helpers/flavor.js +0 -40
- package/dist/helpers/global-defines.d.ts +0 -14
- package/dist/helpers/global-defines.js +0 -18
- package/dist/helpers/main-entry.d.ts +0 -5
- package/dist/helpers/main-entry.js +0 -75
- package/dist/helpers/ns-cli-plugins.d.ts +0 -17
- package/dist/helpers/ns-cli-plugins.js +0 -128
- package/dist/helpers/package-platform-aliases.d.ts +0 -4
- package/dist/helpers/resolver.d.ts +0 -4
- package/dist/helpers/ts-config-paths.d.ts +0 -4
- package/dist/helpers/utils.js +0 -94
- package/dist/hmr/hmr-angular.d.ts +0 -1
- package/dist/hmr/hmr-angular.js +0 -34
- package/dist/hmr/hmr-bridge.d.ts +0 -18
- package/dist/hmr/hmr-bridge.js +0 -154
- package/dist/hmr/hmr-client.d.ts +0 -5
- package/dist/hmr/hmr-client.js +0 -93
- package/dist/hmr/hmr-server.d.ts +0 -20
- package/dist/hmr/hmr-server.js +0 -179
- package/dist/index.js +0 -5
- package/dist/transformers/NativeClass/index.d.ts +0 -5
- package/dist/transformers/NativeClass/index.js +0 -46
- /package/{dist/helpers → helpers}/commonjs-plugins.d.ts +0 -0
- /package/{dist/helpers → helpers}/css-tree.d.ts +0 -0
- /package/{dist/helpers → helpers}/dynamic-import-plugin.d.ts +0 -0
- /package/{dist/helpers → helpers}/module-resolution.d.ts +0 -0
- /package/{dist/helpers → helpers}/nativescript-package-resolver.d.ts +0 -0
- /package/{dist/helpers → helpers}/project.d.ts +0 -0
- /package/{dist/helpers → helpers}/workers.d.ts +0 -0
- /package/{dist/polyfills → polyfills}/mdn-data-at-rules.d.ts +0 -0
- /package/{dist/polyfills → polyfills}/mdn-data-properties.d.ts +0 -0
- /package/{dist/polyfills → polyfills}/mdn-data-syntaxes.d.ts +0 -0
- /package/{dist/polyfills → polyfills}/module.d.ts +0 -0
- /package/{dist/shims → shims}/react-reconciler-constants.d.ts +0 -0
- /package/{dist/shims → shims}/react-reconciler.d.ts +0 -0
- /package/{dist/shims → shims}/set-value.d.ts +0 -0
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
// Entry runtime executed on device via HTTP ESM.
|
|
2
|
+
function parseStackUrlLineCol(err) {
|
|
3
|
+
try {
|
|
4
|
+
const stack = (err && (err.stack || err.message)) || '';
|
|
5
|
+
const m = stack.match(/(https?:[^\s)]+):(\d+):(\d+)/);
|
|
6
|
+
if (m)
|
|
7
|
+
return { url: m[1], line: Number(m[2] || 0), column: Number(m[3] || 0) };
|
|
8
|
+
}
|
|
9
|
+
catch { }
|
|
10
|
+
return {};
|
|
11
|
+
}
|
|
12
|
+
async function fetchCodeframe(u, line) {
|
|
13
|
+
try {
|
|
14
|
+
const res = await fetch(u);
|
|
15
|
+
const text = await res.text();
|
|
16
|
+
const hash = res.headers && res.headers.get ? res.headers.get('X-NS-Source-Hash') || '' : '';
|
|
17
|
+
const lines = String(text || '').split('\n');
|
|
18
|
+
const L = line && line > 0 ? line : 1;
|
|
19
|
+
const start = Math.max(1, L - 4), end = Math.min(lines.length, L + 3);
|
|
20
|
+
let context = '';
|
|
21
|
+
for (let i = start; i <= end; i++) {
|
|
22
|
+
const mark = i === L ? '>' : ' ';
|
|
23
|
+
const num = String(i).padStart(4, ' ');
|
|
24
|
+
context += `${mark}${num}: ${lines[i - 1]}\n`;
|
|
25
|
+
}
|
|
26
|
+
console.warn('[ns-entry][diag]', u === globalThis.__NS_ENTRY_LAST_TARGET__ ? 'sanitized' : 'raw', hash ? `(hash ${hash})` : '', '\n' + context);
|
|
27
|
+
}
|
|
28
|
+
catch (fe) {
|
|
29
|
+
try {
|
|
30
|
+
console.warn('[ns-entry][diag] fetch failed', u, fe && (fe.message || fe));
|
|
31
|
+
}
|
|
32
|
+
catch { }
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export default async function startEntry(opts) {
|
|
36
|
+
const ORIGIN = String(opts.origin || '');
|
|
37
|
+
const MAIN = String(opts.main || `${__NS_APP_ROOT_VIRTUAL__}/app.ts`);
|
|
38
|
+
const VER = String(opts.ver || '0');
|
|
39
|
+
const VERBOSE = !!opts.verbose;
|
|
40
|
+
// Announce chosen origin globally for any consumers (e.g., HMR client or helpers)
|
|
41
|
+
try {
|
|
42
|
+
globalThis.__NS_HTTP_ORIGIN__ = ORIGIN;
|
|
43
|
+
}
|
|
44
|
+
catch { }
|
|
45
|
+
// Module-local trace snapshot
|
|
46
|
+
const TRACE = { version: VER, origin: ORIGIN, mainPath: MAIN, t0: Date.now(), preload: { rt: {}, core: {} }, main: {} };
|
|
47
|
+
// Native HTTP ESM import only.
|
|
48
|
+
// Ensure a single canonical module realm.
|
|
49
|
+
const importHttp = async (u) => {
|
|
50
|
+
return await import(/* @vite-ignore */ u);
|
|
51
|
+
};
|
|
52
|
+
try {
|
|
53
|
+
// Preload runtime bridge and core bridge
|
|
54
|
+
const t_rt = Date.now();
|
|
55
|
+
try {
|
|
56
|
+
await importHttp(ORIGIN + '/ns/rt/' + VER);
|
|
57
|
+
TRACE.preload.rt = { ok: true, ms: Date.now() - t_rt, url: ORIGIN + '/ns/rt/' + VER };
|
|
58
|
+
}
|
|
59
|
+
catch (e_rt) {
|
|
60
|
+
TRACE.preload.rt = { ok: false, ms: Date.now() - t_rt, url: ORIGIN + '/ns/rt/' + VER, err: String(e_rt && (e_rt.message || e_rt)) };
|
|
61
|
+
}
|
|
62
|
+
const t_core = Date.now();
|
|
63
|
+
try {
|
|
64
|
+
await importHttp(ORIGIN + '/ns/core/' + VER);
|
|
65
|
+
TRACE.preload.core = { ok: true, ms: Date.now() - t_core, url: ORIGIN + '/ns/core/' + VER };
|
|
66
|
+
}
|
|
67
|
+
catch (e_core) {
|
|
68
|
+
TRACE.preload.core = { ok: false, ms: Date.now() - t_core, url: ORIGIN + '/ns/core/' + VER, err: String(e_core && (e_core.message || e_core)) };
|
|
69
|
+
}
|
|
70
|
+
const MAIN_URL = ORIGIN + '/ns/m' + MAIN + '?v=' + VER;
|
|
71
|
+
if (VERBOSE)
|
|
72
|
+
console.info('[ns-entry] entry importing', MAIN_URL);
|
|
73
|
+
globalThis.__NS_ENTRY_LAST_TARGET__ = MAIN_URL; // used by fetchCodeframe sanitized-vs-raw tag
|
|
74
|
+
const t_main = Date.now();
|
|
75
|
+
await importHttp(MAIN_URL);
|
|
76
|
+
TRACE.main = { ok: true, ms: Date.now() - t_main, url: MAIN_URL };
|
|
77
|
+
globalThis.__NS_ENTRY_OK__ = true;
|
|
78
|
+
// Detect whether the early placeholder was installed; defer restoration until after a safe reset
|
|
79
|
+
let hadPlaceholder = false;
|
|
80
|
+
try {
|
|
81
|
+
const g = globalThis;
|
|
82
|
+
hadPlaceholder = !!(g && g.__NS_DEV_PLACEHOLDER_ROOT_EARLY__);
|
|
83
|
+
}
|
|
84
|
+
catch { }
|
|
85
|
+
// Placeholder detected: delegate root replacement to the HMR client.
|
|
86
|
+
// Keep entry-runtime hands-off to avoid contention and duplicated logic.
|
|
87
|
+
if (!hadPlaceholder) {
|
|
88
|
+
if (VERBOSE)
|
|
89
|
+
console.info('[ns-entry] no placeholder root detected; nothing to handoff');
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
if (VERBOSE)
|
|
93
|
+
console.info('[ns-entry] placeholder present; delegating root reset to HMR client');
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
catch (e) {
|
|
97
|
+
const errInfo = { message: String(e && (e.message || e)), stack: e && e.stack ? String(e.stack) : '' };
|
|
98
|
+
const loc = parseStackUrlLineCol(e);
|
|
99
|
+
const TARGET = loc.url || globalThis.__NS_ENTRY_LAST_TARGET__;
|
|
100
|
+
errInfo.url = loc.url;
|
|
101
|
+
errInfo.line = loc.line;
|
|
102
|
+
errInfo.column = loc.column;
|
|
103
|
+
globalThis.__NS_ENTRY_ERROR__ = errInfo;
|
|
104
|
+
TRACE.error = errInfo;
|
|
105
|
+
try {
|
|
106
|
+
console.error('[ns-entry] failed to import main via HTTP', errInfo.message);
|
|
107
|
+
if (errInfo.stack && VERBOSE)
|
|
108
|
+
console.error(errInfo.stack);
|
|
109
|
+
}
|
|
110
|
+
catch { }
|
|
111
|
+
// Always provide minimal diagnostics on error, even if verbose=false
|
|
112
|
+
try {
|
|
113
|
+
const urls = [TARGET];
|
|
114
|
+
if (typeof TARGET === 'string' && /\/ns\/(asm|sfc|m)/.test(TARGET)) {
|
|
115
|
+
urls.push(TARGET + (TARGET.includes('?') ? '&' : '?') + 'raw=1');
|
|
116
|
+
}
|
|
117
|
+
for (const u of urls)
|
|
118
|
+
await fetchCodeframe(u, loc.line);
|
|
119
|
+
if (VERBOSE)
|
|
120
|
+
console.info('[ns-entry][diag] Tip: append ?raw=1 to /ns/m, /ns/sfc, or /ns/asm URLs to compare raw vs sanitized output.');
|
|
121
|
+
}
|
|
122
|
+
catch { }
|
|
123
|
+
globalThis.__NS_ENTRY_OK__ = false;
|
|
124
|
+
}
|
|
125
|
+
finally {
|
|
126
|
+
try {
|
|
127
|
+
TRACE.t1 = Date.now();
|
|
128
|
+
globalThis.__NS_ENTRY_TRACE__ = TRACE;
|
|
129
|
+
if (VERBOSE)
|
|
130
|
+
console.info('[ns-entry][trace]', JSON.stringify(TRACE));
|
|
131
|
+
}
|
|
132
|
+
catch { }
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=entry-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry-runtime.js","sourceRoot":"","sources":["../../../../packages/vite/hmr/entry-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
type GetCoreFn = (name: string) => any;
|
|
2
|
+
export declare function installAngularHmrClientHooks(): void;
|
|
3
|
+
interface AngularUpdateOptions {
|
|
4
|
+
getCore: GetCoreFn;
|
|
5
|
+
verbose: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare function handleAngularHotUpdateMessage(msg: any, options: AngularUpdateOptions): boolean;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export function installAngularHmrClientHooks() {
|
|
2
|
+
const g = globalThis;
|
|
3
|
+
if (g.__NS_ANGULAR_HMR_CLIENT_INSTALLED__) {
|
|
4
|
+
return;
|
|
5
|
+
}
|
|
6
|
+
try {
|
|
7
|
+
g.__NS_ANGULAR_HMR_CLIENT_INSTALLED__ = true;
|
|
8
|
+
if (__NS_ENV_VERBOSE__) {
|
|
9
|
+
console.log('[hmr-angular] client hooks installed');
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
catch { }
|
|
13
|
+
}
|
|
14
|
+
export function handleAngularHotUpdateMessage(msg, options) {
|
|
15
|
+
if (!msg || msg.type !== 'ns:angular-update') {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
const g = globalThis;
|
|
20
|
+
const App = options.getCore('Application') || g.Application;
|
|
21
|
+
const bootstrap = g.__NS_ANGULAR_BOOTSTRAP__;
|
|
22
|
+
if (typeof App?.resetRootView === 'function' && typeof bootstrap === 'function') {
|
|
23
|
+
if (options.verbose && __NS_ENV_VERBOSE__) {
|
|
24
|
+
console.log('[hmr-angular] resetting root view via captured bootstrap');
|
|
25
|
+
}
|
|
26
|
+
try {
|
|
27
|
+
g.__NS_DEV_RESET_IN_PROGRESS__ = true;
|
|
28
|
+
}
|
|
29
|
+
catch { }
|
|
30
|
+
App.resetRootView({
|
|
31
|
+
create: () => {
|
|
32
|
+
try {
|
|
33
|
+
return bootstrap();
|
|
34
|
+
}
|
|
35
|
+
finally {
|
|
36
|
+
try {
|
|
37
|
+
g.__NS_DEV_RESET_IN_PROGRESS__ = false;
|
|
38
|
+
}
|
|
39
|
+
catch { }
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
if (options.verbose && __NS_ENV_VERBOSE__) {
|
|
46
|
+
console.warn('[hmr-angular] Missing global __NS_ANGULAR_BOOTSTRAP__ factory. Set it in your main.ts to enable HMR resets.');
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
if (options.verbose) {
|
|
51
|
+
try {
|
|
52
|
+
console.warn('[hmr-angular] failed to handle update', (error && error.message) || error);
|
|
53
|
+
}
|
|
54
|
+
catch { }
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/client/index.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,4BAA4B;IAC3C,MAAM,CAAC,GAAQ,UAAU,CAAC;IAC1B,IAAI,CAAC,CAAC,mCAAmC,EAAE,CAAC;QAC3C,OAAO;IACR,CAAC;IACD,IAAI,CAAC;QACJ,CAAC,CAAC,mCAAmC,GAAG,IAAI,CAAC;QAC7C,IAAI,kBAAkB,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACrD,CAAC;IACF,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACX,CAAC;AAOD,MAAM,UAAU,6BAA6B,CAAC,GAAQ,EAAE,OAA6B;IACpF,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACJ,MAAM,CAAC,GAAQ,UAAU,CAAC;QAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;QAC5D,MAAM,SAAS,GAAG,CAAC,CAAC,wBAAwB,CAAC;QAC7C,IAAI,OAAO,GAAG,EAAE,aAAa,KAAK,UAAU,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;YACjF,IAAI,OAAO,CAAC,OAAO,IAAI,kBAAkB,EAAE,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;YACzE,CAAC;YACD,IAAI,CAAC;gBACJ,CAAC,CAAC,4BAA4B,GAAG,IAAI,CAAC;YACvC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,GAAG,CAAC,aAAa,CAAC;gBACjB,MAAM,EAAE,GAAG,EAAE;oBACZ,IAAI,CAAC;wBACJ,OAAO,SAAS,EAAE,CAAC;oBACpB,CAAC;4BAAS,CAAC;wBACV,IAAI,CAAC;4BACJ,CAAC,CAAC,4BAA4B,GAAG,KAAK,CAAC;wBACxC,CAAC;wBAAC,MAAM,CAAC,CAAA,CAAC;oBACX,CAAC;gBACF,CAAC;aACD,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACb,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,IAAI,kBAAkB,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,6GAA6G,CAAC,CAAC;QAC7H,CAAC;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC;gBACJ,OAAO,CAAC,IAAI,CAAC,uCAAuC,EAAE,CAAC,KAAK,IAAK,KAAa,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC;YACnG,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACX,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function linkAngularPartialsIfNeeded(code: string, filename?: string): string;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { getProjectRootPath } from '../../../../helpers/project.js';
|
|
4
|
+
const ANGULAR_PARTIAL_RE = /\u0275\u0275ngDeclare|ɵɵngDeclare|ngDeclare/;
|
|
5
|
+
let cachedDeps = null;
|
|
6
|
+
let triedLoad = false;
|
|
7
|
+
let warnedMissing = false;
|
|
8
|
+
const projectRoot = getProjectRootPath();
|
|
9
|
+
function attemptLoad(requireBase) {
|
|
10
|
+
if (!requireBase)
|
|
11
|
+
return null;
|
|
12
|
+
try {
|
|
13
|
+
const babel = requireBase('@babel/core');
|
|
14
|
+
const linkerMod = requireBase('@angular/compiler-cli/linker/babel');
|
|
15
|
+
const createLinkerPlugin = (linkerMod && (linkerMod.createLinkerPlugin || linkerMod.createEs2015LinkerPlugin)) || null;
|
|
16
|
+
if (babel && createLinkerPlugin) {
|
|
17
|
+
return { babel, createLinkerPlugin };
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
catch { }
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
function ensureDeps() {
|
|
24
|
+
if (cachedDeps || triedLoad) {
|
|
25
|
+
return cachedDeps;
|
|
26
|
+
}
|
|
27
|
+
triedLoad = true;
|
|
28
|
+
const attempts = [];
|
|
29
|
+
try {
|
|
30
|
+
attempts.push(createRequire(path.join(projectRoot, 'package.json')));
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
attempts.push(null);
|
|
34
|
+
}
|
|
35
|
+
try {
|
|
36
|
+
attempts.push(createRequire(import.meta.url));
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
attempts.push(null);
|
|
40
|
+
}
|
|
41
|
+
for (const req of attempts) {
|
|
42
|
+
const deps = attemptLoad(req);
|
|
43
|
+
if (deps) {
|
|
44
|
+
cachedDeps = deps;
|
|
45
|
+
return cachedDeps;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
function needsLinking(code) {
|
|
51
|
+
return typeof code === 'string' && ANGULAR_PARTIAL_RE.test(code);
|
|
52
|
+
}
|
|
53
|
+
const debug = process.env.VITE_DEBUG_LOGS === 'true' || process.env.VITE_DEBUG_LOGS === '1';
|
|
54
|
+
const strictLink = process.env.NS_STRICT_NG_LINK === '1' || process.env.NS_STRICT_NG_LINK === 'true';
|
|
55
|
+
export function linkAngularPartialsIfNeeded(code, filename = 'hmr-inline.mjs') {
|
|
56
|
+
if (!needsLinking(code)) {
|
|
57
|
+
return code;
|
|
58
|
+
}
|
|
59
|
+
const deps = ensureDeps();
|
|
60
|
+
if (!deps) {
|
|
61
|
+
if (strictLink) {
|
|
62
|
+
throw new Error('[ns-hmr][angular-linker] Unable to load @angular/compiler-cli/linker/babel; partial declarations may reach runtime.');
|
|
63
|
+
}
|
|
64
|
+
if (!warnedMissing) {
|
|
65
|
+
warnedMissing = true;
|
|
66
|
+
console.warn('[ns-hmr][angular-linker] Unable to load @angular/compiler-cli/linker/babel; partial declarations may reach runtime.');
|
|
67
|
+
}
|
|
68
|
+
return code;
|
|
69
|
+
}
|
|
70
|
+
try {
|
|
71
|
+
const plugin = deps.createLinkerPlugin({ sourceMapping: false });
|
|
72
|
+
const result = deps.babel.transformSync(code, {
|
|
73
|
+
filename,
|
|
74
|
+
configFile: false,
|
|
75
|
+
babelrc: false,
|
|
76
|
+
sourceMaps: false,
|
|
77
|
+
compact: false,
|
|
78
|
+
plugins: [plugin],
|
|
79
|
+
});
|
|
80
|
+
if (result?.code && result.code !== code) {
|
|
81
|
+
if (debug) {
|
|
82
|
+
try {
|
|
83
|
+
console.log('[ns-hmr][angular-linker] linked', filename);
|
|
84
|
+
}
|
|
85
|
+
catch { }
|
|
86
|
+
}
|
|
87
|
+
return result.code;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
if (strictLink) {
|
|
92
|
+
throw error;
|
|
93
|
+
}
|
|
94
|
+
if (!warnedMissing) {
|
|
95
|
+
warnedMissing = true;
|
|
96
|
+
console.warn('[ns-hmr][angular-linker] linker failed:', error);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return code;
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=linker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linker.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/server/linker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
import { readFileSync, readdirSync, statSync } from 'fs';
|
|
3
|
+
import * as PAT from '../../../server/constants.js';
|
|
4
|
+
import { linkAngularPartialsIfNeeded } from './linker.js';
|
|
5
|
+
import { getProjectAppPath, getProjectAppVirtualPath } from '../../../../helpers/utils.js';
|
|
6
|
+
// Angular server strategy for NativeScript HMR.
|
|
7
|
+
//
|
|
8
|
+
// Responsibilities:
|
|
9
|
+
// - Identify Angular app entry modules under /src.
|
|
10
|
+
// - Use Vite dev server to transform HTTP-served Angular modules.
|
|
11
|
+
// - Run resulting code through the Angular linker helper so no ɵɵngDeclare
|
|
12
|
+
// partial declarations reach the device, even in strict mode.
|
|
13
|
+
// - Register external templates/styles with the watcher for live updates.
|
|
14
|
+
const ANGULAR_APP_DIR = getProjectAppPath();
|
|
15
|
+
const ANGULAR_APP_VIRTUAL_WITH_SLASH = `${getProjectAppVirtualPath()}/`;
|
|
16
|
+
function findAngularEntryFiles(root) {
|
|
17
|
+
const srcDir = path.join(root, ANGULAR_APP_DIR);
|
|
18
|
+
const results = [];
|
|
19
|
+
function walk(dir) {
|
|
20
|
+
let entries = [];
|
|
21
|
+
try {
|
|
22
|
+
entries = readdirSync(dir);
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
for (const name of entries) {
|
|
28
|
+
if (name === 'node_modules' || name === '.ns-vite-build' || name === 'dist')
|
|
29
|
+
continue;
|
|
30
|
+
const full = path.join(dir, name);
|
|
31
|
+
let st;
|
|
32
|
+
try {
|
|
33
|
+
st = statSync(full);
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
if (st.isDirectory()) {
|
|
39
|
+
walk(full);
|
|
40
|
+
}
|
|
41
|
+
else if (st.isFile() && (name.endsWith('.ts') || name.endsWith('.js'))) {
|
|
42
|
+
try {
|
|
43
|
+
const code = readFileSync(full, 'utf8');
|
|
44
|
+
// Heuristic: treat files that bootstrap Angular (platformNativeScript, bootstrapApplication, etc.)
|
|
45
|
+
// as HMR-relevant roots.
|
|
46
|
+
if (/bootstrapApplication\s*\(|platformNativeScript/i.test(code) || /@NgModule\s*\(/.test(code)) {
|
|
47
|
+
const rel = '/' + path.relative(root, full).split(path.sep).join('/');
|
|
48
|
+
results.push(rel);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
catch { }
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
walk(srcDir);
|
|
56
|
+
return results;
|
|
57
|
+
}
|
|
58
|
+
export const angularServerStrategy = {
|
|
59
|
+
flavor: 'angular',
|
|
60
|
+
matchesFile(id) {
|
|
61
|
+
// Treat only application TS/JS as candidates for ordering/graph purposes
|
|
62
|
+
return /\.(ts|js|tsx|jsx|mjs)$/i.test(id) && id.startsWith(ANGULAR_APP_VIRTUAL_WITH_SLASH);
|
|
63
|
+
},
|
|
64
|
+
preClean(code) {
|
|
65
|
+
return code;
|
|
66
|
+
},
|
|
67
|
+
rewriteFrameworkImports(code) {
|
|
68
|
+
// Angular runtime imports are handled via the vendor bridge; no extra rewrite.
|
|
69
|
+
return code;
|
|
70
|
+
},
|
|
71
|
+
postClean(code) {
|
|
72
|
+
return code;
|
|
73
|
+
},
|
|
74
|
+
ensureVersionedImports(code, _origin, _version) {
|
|
75
|
+
// No Angular-specific HTTP endpoints yet; leave imports as-is.
|
|
76
|
+
return code;
|
|
77
|
+
},
|
|
78
|
+
async processFile(ctx) {
|
|
79
|
+
// Ensure any Angular code the HMR server assembles for HTTP consumption is fully linked.
|
|
80
|
+
const { filePath, server, verbose } = ctx;
|
|
81
|
+
try {
|
|
82
|
+
const transformed = await server.transformRequest(filePath);
|
|
83
|
+
if (!transformed?.code)
|
|
84
|
+
return;
|
|
85
|
+
let code = transformed.code;
|
|
86
|
+
// Sanitize Angular partial declarations inline before device evaluation.
|
|
87
|
+
code = linkAngularPartialsIfNeeded(code, filePath);
|
|
88
|
+
// No additional per-file registry at the moment; core HMR loader will fetch via HTTP.
|
|
89
|
+
if (verbose) {
|
|
90
|
+
console.log(`[angular-hmr] processed ${filePath}`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
catch (err) {
|
|
94
|
+
if (verbose) {
|
|
95
|
+
console.warn('[angular-hmr] processFile error for', filePath, err);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
async buildRegistry(ctx) {
|
|
100
|
+
const { server, verbose } = ctx;
|
|
101
|
+
const root = server.config.root || process.cwd();
|
|
102
|
+
const entries = findAngularEntryFiles(root);
|
|
103
|
+
const templateFiles = [];
|
|
104
|
+
// Maintain existing behavior: watch external templates and styles referenced via templateUrl/styleUrls.
|
|
105
|
+
function walkForTemplates(dir) {
|
|
106
|
+
let list = [];
|
|
107
|
+
try {
|
|
108
|
+
list = readdirSync(dir);
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
for (const name of list) {
|
|
114
|
+
if (name === 'node_modules' || name === '.ns-vite-build' || name === 'dist')
|
|
115
|
+
continue;
|
|
116
|
+
const full = path.join(dir, name);
|
|
117
|
+
let st;
|
|
118
|
+
try {
|
|
119
|
+
st = statSync(full);
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
if (st.isDirectory()) {
|
|
125
|
+
walkForTemplates(full);
|
|
126
|
+
}
|
|
127
|
+
else if (st.isFile() && name.endsWith('.ts')) {
|
|
128
|
+
try {
|
|
129
|
+
const code = readFileSync(full, 'utf8');
|
|
130
|
+
if (/\@Component\s*\(/.test(code) && /templateUrl\s*:\s*["']\.\//.test(code)) {
|
|
131
|
+
const m = code.match(/templateUrl\s*:\s*["']\.\/(.*?\.html)["']/);
|
|
132
|
+
if (m && m[1]) {
|
|
133
|
+
const htmlAbs = path.join(path.dirname(full), m[1]);
|
|
134
|
+
templateFiles.push(htmlAbs);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
const styleArrayMatch = code.match(/styleUrls\s*:\s*\[([\s\S]*?)\]/);
|
|
138
|
+
if (styleArrayMatch && styleArrayMatch[1]) {
|
|
139
|
+
const entries = styleArrayMatch[1]
|
|
140
|
+
.split(',')
|
|
141
|
+
.map((s) => s.trim().replace(/^["'`]|["'`]$/g, ''))
|
|
142
|
+
.filter((s) => s.startsWith('./') && (s.endsWith('.css') || s.endsWith('.scss')));
|
|
143
|
+
for (const rel of entries) {
|
|
144
|
+
const cssAbs = path.join(path.dirname(full), rel);
|
|
145
|
+
templateFiles.push(cssAbs);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
catch { }
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
walkForTemplates(path.join(root, 'src'));
|
|
154
|
+
try {
|
|
155
|
+
for (const abs of templateFiles) {
|
|
156
|
+
try {
|
|
157
|
+
server.watcher.add(abs);
|
|
158
|
+
}
|
|
159
|
+
catch { }
|
|
160
|
+
if (verbose) {
|
|
161
|
+
const rel = '/' + path.relative(root, abs).split(path.sep).join('/');
|
|
162
|
+
console.log(`[angular-registry] watching template: ${rel}`);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
catch { }
|
|
167
|
+
// At this stage, we only need to ensure Angular HMR roots are transformed and linked at least once.
|
|
168
|
+
for (const rel of entries) {
|
|
169
|
+
try {
|
|
170
|
+
const transformed = await server.transformRequest(rel);
|
|
171
|
+
if (!transformed?.code)
|
|
172
|
+
continue;
|
|
173
|
+
let code = transformed.code;
|
|
174
|
+
code = linkAngularPartialsIfNeeded(code, rel);
|
|
175
|
+
if (verbose) {
|
|
176
|
+
console.log(`[angular-registry] primed entry: ${rel}`);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
catch (err) {
|
|
180
|
+
if (verbose) {
|
|
181
|
+
console.warn('[angular-registry] failed to prime entry', rel, err);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
};
|
|
187
|
+
//# sourceMappingURL=strategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/server/strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
import * as PAT from '../../../server/constants.js';
|
|
3
|
+
import { getProjectAppVirtualPath } from '../../../../helpers/utils.js';
|
|
4
|
+
// Solid server strategy for NativeScript HMR.
|
|
5
|
+
// For Solid we don't have .vue-style SFCs today; this strategy mainly
|
|
6
|
+
// ensures Solid runtime imports can be rewritten to vendor when needed
|
|
7
|
+
// and allows future per-file processing hooks.
|
|
8
|
+
const SOLID_FILE_PATTERN = /\.(tsx?|jsx?)$/i;
|
|
9
|
+
const SOLID_APP_PREFIX = `${getProjectAppVirtualPath()}/`;
|
|
10
|
+
export const solidServerStrategy = {
|
|
11
|
+
flavor: 'solid',
|
|
12
|
+
matchesFile(id) {
|
|
13
|
+
// Treat app TS/TSX/JS/JSX under the configured app root as Solid candidates.
|
|
14
|
+
return SOLID_FILE_PATTERN.test(id) && id.startsWith(SOLID_APP_PREFIX);
|
|
15
|
+
},
|
|
16
|
+
preClean(code) {
|
|
17
|
+
// No Solid-specific pre-clean yet.
|
|
18
|
+
return code;
|
|
19
|
+
},
|
|
20
|
+
rewriteFrameworkImports(code) {
|
|
21
|
+
// Solid HMR primarily operates via Vite's own solid-refresh plugin;
|
|
22
|
+
// @nativescript/vite vendor bridging handles NativeScript modules.
|
|
23
|
+
// We keep this hook in case we need to remap solid-js imports later.
|
|
24
|
+
return code;
|
|
25
|
+
},
|
|
26
|
+
postClean(code) {
|
|
27
|
+
// No extra Solid-specific cleanup for now.
|
|
28
|
+
return code;
|
|
29
|
+
},
|
|
30
|
+
ensureVersionedImports(code, _origin, _version) {
|
|
31
|
+
// Solid currently has no dedicated HTTP endpoints like /ns/sfc.
|
|
32
|
+
return code;
|
|
33
|
+
},
|
|
34
|
+
async processFile(ctx) {
|
|
35
|
+
// For now we rely on the generic pipeline; no per-file Solid SFC registry.
|
|
36
|
+
const { filePath, server, verbose } = ctx;
|
|
37
|
+
try {
|
|
38
|
+
const transformed = await server.transformRequest(filePath);
|
|
39
|
+
if (!transformed?.code)
|
|
40
|
+
return;
|
|
41
|
+
if (verbose) {
|
|
42
|
+
console.log(`[solid-hmr] processed ${filePath}`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
catch (err) {
|
|
46
|
+
if (verbose) {
|
|
47
|
+
console.warn('[solid-hmr] processFile error for', filePath, err);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
async buildRegistry(_ctx) {
|
|
52
|
+
// No Solid registry messaging yet; HTTP-only boot imports app modules directly.
|
|
53
|
+
return;
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=strategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/solid/server/strategy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE,8CAA8C;AAC9C,sEAAsE;AACtE,uEAAuE;AACvE,+CAA+C;AAE/C,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AAC7C,MAAM,gBAAgB,GAAG,GAAG,wBAAwB,EAAE,GAAG,CAAC;AAE1D,MAAM,CAAC,MAAM,mBAAmB,GAA4B;IAC3D,MAAM,EAAE,OAAO;IACf,WAAW,CAAC,EAAU;QACrB,6EAA6E;QAC7E,OAAO,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACvE,CAAC;IACD,QAAQ,CAAC,IAAY;QACpB,mCAAmC;QACnC,OAAO,IAAI,CAAC;IACb,CAAC;IACD,uBAAuB,CAAC,IAAY;QACnC,oEAAoE;QACpE,mEAAmE;QACnE,qEAAqE;QACrE,OAAO,IAAI,CAAC;IACb,CAAC;IACD,SAAS,CAAC,IAAY;QACrB,2CAA2C;QAC3C,OAAO,IAAI,CAAC;IACb,CAAC;IACD,sBAAsB,CAAC,IAAY,EAAE,OAAe,EAAE,QAAgB;QACrE,gEAAgE;QAChE,OAAO,IAAI,CAAC;IACb,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,GAAgC;QACjD,2EAA2E;QAC3E,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QAC1C,IAAI,CAAC;YACJ,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC5D,IAAI,CAAC,WAAW,EAAE,IAAI;gBAAE,OAAO;YAC/B,IAAI,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;YAClD,CAAC;QACF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,IAAI,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;YAClE,CAAC;QACF,CAAC;IACF,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,IAA8B;QACjD,gFAAgF;QAChF,OAAO;IACR,CAAC;CACD,CAAC"}
|