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

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.
Files changed (145) hide show
  1. package/configuration/angular.d.ts +1 -1
  2. package/configuration/angular.js +323 -119
  3. package/configuration/angular.js.map +1 -1
  4. package/configuration/base.js +41 -24
  5. package/configuration/base.js.map +1 -1
  6. package/configuration/javascript.js +3 -3
  7. package/configuration/javascript.js.map +1 -1
  8. package/configuration/solid.js +7 -0
  9. package/configuration/solid.js.map +1 -1
  10. package/configuration/typescript.js +3 -3
  11. package/configuration/typescript.js.map +1 -1
  12. package/helpers/angular/angular-linker.js +39 -34
  13. package/helpers/angular/angular-linker.js.map +1 -1
  14. package/helpers/angular/inline-decorator-component-templates.d.ts +3 -0
  15. package/helpers/angular/inline-decorator-component-templates.js +400 -0
  16. package/helpers/angular/inline-decorator-component-templates.js.map +1 -0
  17. package/helpers/angular/shared-linker.d.ts +7 -0
  18. package/helpers/angular/shared-linker.js +37 -1
  19. package/helpers/angular/shared-linker.js.map +1 -1
  20. package/helpers/angular/synthesize-decorator-ctor-parameters.d.ts +1 -0
  21. package/helpers/angular/synthesize-decorator-ctor-parameters.js +256 -0
  22. package/helpers/angular/synthesize-decorator-ctor-parameters.js.map +1 -0
  23. package/helpers/angular/synthesize-injectable-factories.d.ts +3 -0
  24. package/helpers/angular/synthesize-injectable-factories.js +414 -0
  25. package/helpers/angular/synthesize-injectable-factories.js.map +1 -0
  26. package/helpers/commonjs-plugins.d.ts +5 -2
  27. package/helpers/commonjs-plugins.js +126 -0
  28. package/helpers/commonjs-plugins.js.map +1 -1
  29. package/helpers/esbuild-platform-resolver.js +5 -5
  30. package/helpers/esbuild-platform-resolver.js.map +1 -1
  31. package/helpers/external-configs.d.ts +9 -1
  32. package/helpers/external-configs.js +31 -6
  33. package/helpers/external-configs.js.map +1 -1
  34. package/helpers/import-meta-path.d.ts +4 -0
  35. package/helpers/import-meta-path.js +5 -0
  36. package/helpers/import-meta-path.js.map +1 -0
  37. package/helpers/import-specifier.d.ts +1 -0
  38. package/helpers/import-specifier.js +18 -0
  39. package/helpers/import-specifier.js.map +1 -0
  40. package/helpers/main-entry.d.ts +5 -2
  41. package/helpers/main-entry.js +112 -95
  42. package/helpers/main-entry.js.map +1 -1
  43. package/helpers/nativeclass-transform.js +8 -127
  44. package/helpers/nativeclass-transform.js.map +1 -1
  45. package/helpers/nativeclass-transformer-plugin.d.ts +12 -1
  46. package/helpers/nativeclass-transformer-plugin.js +175 -36
  47. package/helpers/nativeclass-transformer-plugin.js.map +1 -1
  48. package/hmr/client/css-handler.js +60 -20
  49. package/hmr/client/css-handler.js.map +1 -1
  50. package/hmr/client/index.js +524 -23
  51. package/hmr/client/index.js.map +1 -1
  52. package/hmr/client/utils.js +57 -6
  53. package/hmr/client/utils.js.map +1 -1
  54. package/hmr/entry-runtime.d.ts +10 -0
  55. package/hmr/entry-runtime.js +263 -21
  56. package/hmr/entry-runtime.js.map +1 -1
  57. package/hmr/frameworks/angular/client/index.d.ts +2 -1
  58. package/hmr/frameworks/angular/client/index.js +72 -19
  59. package/hmr/frameworks/angular/client/index.js.map +1 -1
  60. package/hmr/frameworks/angular/server/linker.js +36 -2
  61. package/hmr/frameworks/angular/server/linker.js.map +1 -1
  62. package/hmr/frameworks/angular/server/strategy.js +20 -5
  63. package/hmr/frameworks/angular/server/strategy.js.map +1 -1
  64. package/hmr/frameworks/typescript/server/strategy.js +8 -2
  65. package/hmr/frameworks/typescript/server/strategy.js.map +1 -1
  66. package/hmr/helpers/ast-normalizer.js +22 -10
  67. package/hmr/helpers/ast-normalizer.js.map +1 -1
  68. package/hmr/server/constants.d.ts +1 -0
  69. package/hmr/server/constants.js +2 -0
  70. package/hmr/server/constants.js.map +1 -1
  71. package/hmr/server/core-sanitize.d.ts +43 -0
  72. package/hmr/server/core-sanitize.js +219 -13
  73. package/hmr/server/core-sanitize.js.map +1 -1
  74. package/hmr/server/import-map.d.ts +65 -0
  75. package/hmr/server/import-map.js +219 -0
  76. package/hmr/server/import-map.js.map +1 -0
  77. package/hmr/server/index.d.ts +2 -1
  78. package/hmr/server/index.js.map +1 -1
  79. package/hmr/server/runtime-graph-filter.d.ts +5 -0
  80. package/hmr/server/runtime-graph-filter.js +21 -0
  81. package/hmr/server/runtime-graph-filter.js.map +1 -0
  82. package/hmr/server/shared-transform-request.d.ts +12 -0
  83. package/hmr/server/shared-transform-request.js +137 -0
  84. package/hmr/server/shared-transform-request.js.map +1 -0
  85. package/hmr/server/vite-plugin.d.ts +21 -1
  86. package/hmr/server/vite-plugin.js +443 -22
  87. package/hmr/server/vite-plugin.js.map +1 -1
  88. package/hmr/server/websocket-angular-entry.d.ts +2 -0
  89. package/hmr/server/websocket-angular-entry.js +68 -0
  90. package/hmr/server/websocket-angular-entry.js.map +1 -0
  91. package/hmr/server/websocket-angular-hot-update.d.ts +61 -0
  92. package/hmr/server/websocket-angular-hot-update.js +239 -0
  93. package/hmr/server/websocket-angular-hot-update.js.map +1 -0
  94. package/hmr/server/websocket-core-bridge.d.ts +23 -0
  95. package/hmr/server/websocket-core-bridge.js +360 -0
  96. package/hmr/server/websocket-core-bridge.js.map +1 -0
  97. package/hmr/server/websocket-graph-upsert.d.ts +6 -0
  98. package/hmr/server/websocket-graph-upsert.js +13 -0
  99. package/hmr/server/websocket-graph-upsert.js.map +1 -0
  100. package/hmr/server/websocket-module-bindings.d.ts +6 -0
  101. package/hmr/server/websocket-module-bindings.js +471 -0
  102. package/hmr/server/websocket-module-bindings.js.map +1 -0
  103. package/hmr/server/websocket-module-specifiers.d.ts +37 -0
  104. package/hmr/server/websocket-module-specifiers.js +637 -0
  105. package/hmr/server/websocket-module-specifiers.js.map +1 -0
  106. package/hmr/server/websocket.d.ts +26 -3
  107. package/hmr/server/websocket.js +1402 -678
  108. package/hmr/server/websocket.js.map +1 -1
  109. package/hmr/shared/package-classifier.d.ts +9 -0
  110. package/hmr/shared/package-classifier.js +58 -0
  111. package/hmr/shared/package-classifier.js.map +1 -0
  112. package/hmr/shared/runtime/browser-runtime-contract.d.ts +64 -0
  113. package/hmr/shared/runtime/browser-runtime-contract.js +54 -0
  114. package/hmr/shared/runtime/browser-runtime-contract.js.map +1 -0
  115. package/hmr/shared/runtime/dev-overlay.d.ts +38 -0
  116. package/hmr/shared/runtime/dev-overlay.js +675 -0
  117. package/hmr/shared/runtime/dev-overlay.js.map +1 -0
  118. package/hmr/shared/runtime/http-only-boot.d.ts +1 -0
  119. package/hmr/shared/runtime/http-only-boot.js +53 -6
  120. package/hmr/shared/runtime/http-only-boot.js.map +1 -1
  121. package/hmr/shared/runtime/module-provenance.d.ts +1 -0
  122. package/hmr/shared/runtime/module-provenance.js +66 -0
  123. package/hmr/shared/runtime/module-provenance.js.map +1 -0
  124. package/hmr/shared/runtime/platform-polyfills.d.ts +26 -0
  125. package/hmr/shared/runtime/platform-polyfills.js +122 -0
  126. package/hmr/shared/runtime/platform-polyfills.js.map +1 -0
  127. package/hmr/shared/runtime/root-placeholder.d.ts +1 -0
  128. package/hmr/shared/runtime/root-placeholder.js +576 -76
  129. package/hmr/shared/runtime/root-placeholder.js.map +1 -1
  130. package/hmr/shared/runtime/session-bootstrap.d.ts +1 -0
  131. package/hmr/shared/runtime/session-bootstrap.js +146 -0
  132. package/hmr/shared/runtime/session-bootstrap.js.map +1 -0
  133. package/hmr/shared/runtime/vendor-bootstrap.js +51 -6
  134. package/hmr/shared/runtime/vendor-bootstrap.js.map +1 -1
  135. package/hmr/shared/vendor/manifest.d.ts +7 -0
  136. package/hmr/shared/vendor/manifest.js +363 -23
  137. package/hmr/shared/vendor/manifest.js.map +1 -1
  138. package/hmr/shared/vendor/registry.js +104 -7
  139. package/hmr/shared/vendor/registry.js.map +1 -1
  140. package/package.json +12 -2
  141. package/runtime/core-aliases-early.js +83 -32
  142. package/runtime/core-aliases-early.js.map +1 -1
  143. package/shims/solid-jsx-runtime.d.ts +7 -0
  144. package/shims/solid-jsx-runtime.js +17 -0
  145. package/shims/solid-jsx-runtime.js.map +1 -0
@@ -1,4 +1,134 @@
1
1
  // Entry runtime executed on device via HTTP ESM.
2
+ function updateBootOverlay(stage, info) {
3
+ try {
4
+ const api = globalThis.__NS_HMR_DEV_OVERLAY__;
5
+ if (api && typeof api.setBootStage === 'function') {
6
+ api.setBootStage(stage, info);
7
+ }
8
+ }
9
+ catch { }
10
+ }
11
+ async function updateBootOverlayAndYield(stage, info) {
12
+ updateBootOverlay(stage, info);
13
+ await new Promise((resolve) => setTimeout(resolve, 0));
14
+ }
15
+ function prepareBootImportProgress(url, attempt, attempts) {
16
+ const g = globalThis;
17
+ g.__NS_HMR_BOOT_MAIN_URL__ = url;
18
+ g.__NS_HMR_BOOT_MAIN_ATTEMPT__ = attempt;
19
+ g.__NS_HMR_BOOT_MAIN_ATTEMPTS__ = attempts;
20
+ g.__NS_HMR_BOOT_MODULE_COUNT__ = 0;
21
+ g.__NS_HMR_BOOT_LAST_MODULE__ = '';
22
+ g.__NS_HMR_BOOT_LAST_PROGRESS_AT__ = 0;
23
+ g.__NS_HMR_BOOT_IMPORT_STARTED_AT__ = Date.now();
24
+ }
25
+ function clearBootImportProgress() {
26
+ const g = globalThis;
27
+ delete g.__NS_HMR_BOOT_MAIN_URL__;
28
+ delete g.__NS_HMR_BOOT_MAIN_ATTEMPT__;
29
+ delete g.__NS_HMR_BOOT_MAIN_ATTEMPTS__;
30
+ delete g.__NS_HMR_BOOT_MODULE_COUNT__;
31
+ delete g.__NS_HMR_BOOT_LAST_MODULE__;
32
+ delete g.__NS_HMR_BOOT_LAST_PROGRESS_AT__;
33
+ delete g.__NS_HMR_BOOT_IMPORT_STARTED_AT__;
34
+ }
35
+ function buildBootImportDetail(url) {
36
+ const g = globalThis;
37
+ const count = Number(g.__NS_HMR_BOOT_MODULE_COUNT__ || 0);
38
+ const lastModule = typeof g.__NS_HMR_BOOT_LAST_MODULE__ === 'string' ? g.__NS_HMR_BOOT_LAST_MODULE__ : '';
39
+ const lines = [count > 0 ? `Evaluated ${count} modules` : 'Resolving the module graph'];
40
+ lines.push(lastModule || url);
41
+ return lines.join('\n');
42
+ }
43
+ function computeBootImportProgress() {
44
+ const g = globalThis;
45
+ const count = Number(g.__NS_HMR_BOOT_MODULE_COUNT__ || 0);
46
+ const startedAt = Number(g.__NS_HMR_BOOT_IMPORT_STARTED_AT__ || Date.now());
47
+ const elapsedMs = Math.max(0, Date.now() - startedAt);
48
+ const progressFromCount = count > 0 ? Math.min(10, Math.round((Math.log(count + 1) / Math.LN2) * 2)) : 0;
49
+ const progressFromTime = Math.min(8, Math.floor(elapsedMs / 800));
50
+ return Math.min(94, 82 + Math.max(progressFromCount, progressFromTime));
51
+ }
52
+ function startBootImportHeartbeat(url, attempt, attempts) {
53
+ const timer = setInterval(() => {
54
+ updateBootOverlay('importing-main', {
55
+ detail: buildBootImportDetail(url),
56
+ attempt,
57
+ attempts,
58
+ progress: computeBootImportProgress(),
59
+ });
60
+ }, 350);
61
+ return () => clearInterval(timer);
62
+ }
63
+ export function installHttpCoreCssSupport(coreModule, verbose) {
64
+ try {
65
+ const g = globalThis;
66
+ const core = coreModule?.default ?? coreModule;
67
+ const Application = (core && (typeof core.addCss === 'function' ? core : undefined)) || (core?.Application && typeof core.Application.addCss === 'function' ? core.Application : undefined) || (coreModule?.Application && typeof coreModule.Application.addCss === 'function' ? coreModule.Application : undefined) || g.Application;
68
+ if (!Application?.addCss) {
69
+ return null;
70
+ }
71
+ const applyCss = (cssText, refreshRoot = true) => {
72
+ if (typeof cssText !== 'string' || !cssText.length) {
73
+ return;
74
+ }
75
+ Application.addCss(cssText);
76
+ if (!refreshRoot) {
77
+ return;
78
+ }
79
+ try {
80
+ const rootView = Application.getRootView?.();
81
+ if (rootView && typeof rootView._onCssStateChange === 'function') {
82
+ rootView._onCssStateChange();
83
+ }
84
+ else if (rootView) {
85
+ const cls = rootView.className || '';
86
+ rootView.className = cls + ' ';
87
+ rootView.className = cls;
88
+ }
89
+ }
90
+ catch { }
91
+ };
92
+ g.__NS_HMR_APPLY_CSS__ = applyCss;
93
+ const appCssText = g.__NS_HMR_APP_CSS__;
94
+ if (typeof appCssText === 'string' && appCssText.length && !g.__NS_HMR_HTTP_APP_CSS_APPLIED__) {
95
+ applyCss(appCssText);
96
+ g.__NS_HMR_HTTP_APP_CSS_APPLIED__ = true;
97
+ if (verbose) {
98
+ console.info('[ns-entry] app.css applied in HTTP core realm');
99
+ }
100
+ }
101
+ return applyCss;
102
+ }
103
+ catch (error) {
104
+ try {
105
+ if (verbose)
106
+ console.warn('[ns-entry] failed to install HTTP core CSS support:', error?.message || error);
107
+ }
108
+ catch { }
109
+ return null;
110
+ }
111
+ }
112
+ export async function preloadHttpCoreStyleScope(importHttp, origin, ver, verbose) {
113
+ const url = String(origin || '') + '/ns/core/' + String(ver || '0') + '?p=ui/styling/style-scope.js';
114
+ const t0 = Date.now();
115
+ try {
116
+ await importHttp(url);
117
+ if (verbose) {
118
+ console.info('[ns-entry] HTTP core style-scope preloaded');
119
+ }
120
+ return { ok: true, ms: Date.now() - t0, url };
121
+ }
122
+ catch (error) {
123
+ const result = { ok: false, ms: Date.now() - t0, url, err: String(error && (error.message || error)) };
124
+ try {
125
+ if (verbose)
126
+ console.warn('[ns-entry] HTTP core style-scope preload failed:', error?.message || error);
127
+ }
128
+ catch { }
129
+ return result;
130
+ }
131
+ }
2
132
  function parseStackUrlLineCol(err) {
3
133
  try {
4
134
  const stack = (err && (err.stack || err.message)) || '';
@@ -23,34 +153,78 @@ async function fetchCodeframe(u, line) {
23
153
  const num = String(i).padStart(4, ' ');
24
154
  context += `${mark}${num}: ${lines[i - 1]}\n`;
25
155
  }
26
- console.warn('[ns-entry][diag]', u === globalThis.__NS_ENTRY_LAST_TARGET__ ? 'sanitized' : 'raw', hash ? `(hash ${hash})` : '', '\n' + context);
156
+ if (globalThis.__NS_ENV_VERBOSE__)
157
+ console.warn('[ns-entry][diag]', u === globalThis.__NS_ENTRY_LAST_TARGET__ ? 'sanitized' : 'raw', hash ? `(hash ${hash})` : '', '\n' + context);
27
158
  }
28
159
  catch (fe) {
29
160
  try {
30
- console.warn('[ns-entry][diag] fetch failed', u, fe && (fe.message || fe));
161
+ if (globalThis.__NS_ENV_VERBOSE__)
162
+ console.warn('[ns-entry][diag] fetch failed', u, fe && (fe.message || fe));
31
163
  }
32
164
  catch { }
33
165
  }
34
166
  }
35
167
  export default async function startEntry(opts) {
168
+ const D = '[entry-rt-diag]';
36
169
  const ORIGIN = String(opts.origin || '');
37
170
  const MAIN = String(opts.main || `${__NS_APP_ROOT_VIRTUAL__}/app.ts`);
38
171
  const VER = String(opts.ver || '0');
39
172
  const VERBOSE = !!opts.verbose;
173
+ if (VERBOSE)
174
+ console.log(D, 'startEntry called', { origin: ORIGIN, main: MAIN, ver: VER });
40
175
  // Announce chosen origin globally for any consumers (e.g., HMR client or helpers)
41
176
  try {
42
177
  globalThis.__NS_HTTP_ORIGIN__ = ORIGIN;
43
178
  }
44
179
  catch { }
45
180
  // Module-local trace snapshot
46
- const TRACE = { version: VER, origin: ORIGIN, mainPath: MAIN, t0: Date.now(), preload: { rt: {}, core: {} }, main: {} };
181
+ const TRACE = { version: VER, origin: ORIGIN, mainPath: MAIN, t0: Date.now(), preload: { rt: {}, core: {}, coreStyleScope: {} }, main: {}, importMap: {} };
47
182
  // Native HTTP ESM import only.
48
183
  // Ensure a single canonical module realm.
49
184
  const importHttp = async (u) => {
50
185
  return await import(/* @vite-ignore */ u);
51
186
  };
52
187
  try {
188
+ // Configure runtime with import map before loading any modules.
189
+ // This enables the native runtime to resolve bare specifiers through the
190
+ // import map instead of relying on Vite-side import rewriting.
191
+ const configureRuntime = globalThis.__nsConfigureRuntime;
192
+ if (typeof configureRuntime === 'function') {
193
+ await updateBootOverlayAndYield('configuring-import-map', {
194
+ detail: ORIGIN + '/ns/import-map.json',
195
+ });
196
+ const t_imap = Date.now();
197
+ try {
198
+ const imapRes = await fetch(ORIGIN + '/ns/import-map.json');
199
+ if (imapRes.ok) {
200
+ const config = await imapRes.json();
201
+ configureRuntime({
202
+ importMap: config.importMap,
203
+ volatilePatterns: config.volatilePatterns,
204
+ });
205
+ TRACE.importMap = { ok: true, ms: Date.now() - t_imap, entries: Object.keys(config.importMap?.imports || {}).length };
206
+ if (VERBOSE)
207
+ console.info('[ns-entry] import map configured with', TRACE.importMap.entries, 'entries');
208
+ }
209
+ else {
210
+ TRACE.importMap = { ok: false, ms: Date.now() - t_imap, status: imapRes.status };
211
+ if (VERBOSE)
212
+ console.warn('[ns-entry] import map fetch failed:', imapRes.status);
213
+ }
214
+ }
215
+ catch (e_imap) {
216
+ TRACE.importMap = { ok: false, ms: Date.now() - t_imap, err: String(e_imap && (e_imap.message || e_imap)) };
217
+ if (VERBOSE)
218
+ console.warn('[ns-entry] import map error:', e_imap?.message);
219
+ }
220
+ }
221
+ else if (VERBOSE) {
222
+ console.info('[ns-entry] __nsConfigureRuntime not available (older runtime); skipping import map');
223
+ }
53
224
  // Preload runtime bridge and core bridge
225
+ await updateBootOverlayAndYield('loading-runtime-bridge', {
226
+ detail: ORIGIN + '/ns/rt/' + VER,
227
+ });
54
228
  const t_rt = Date.now();
55
229
  try {
56
230
  await importHttp(ORIGIN + '/ns/rt/' + VER);
@@ -58,63 +232,131 @@ export default async function startEntry(opts) {
58
232
  }
59
233
  catch (e_rt) {
60
234
  TRACE.preload.rt = { ok: false, ms: Date.now() - t_rt, url: ORIGIN + '/ns/rt/' + VER, err: String(e_rt && (e_rt.message || e_rt)) };
235
+ try {
236
+ console.warn('[ns-entry] /ns/rt preload failed:', e_rt && (e_rt.message || e_rt));
237
+ }
238
+ catch { }
61
239
  }
240
+ await updateBootOverlayAndYield('loading-core-bridge', {
241
+ detail: ORIGIN + '/ns/core/' + VER,
242
+ });
62
243
  const t_core = Date.now();
63
244
  try {
64
- await importHttp(ORIGIN + '/ns/core/' + VER);
245
+ const coreBridge = await importHttp(ORIGIN + '/ns/core/' + VER);
246
+ await updateBootOverlayAndYield('preloading-style-scope', {
247
+ detail: ORIGIN + '/ns/core/' + VER + '?p=ui/styling/style-scope.js',
248
+ });
249
+ TRACE.preload.coreStyleScope = await preloadHttpCoreStyleScope(importHttp, ORIGIN, VER, VERBOSE);
250
+ await updateBootOverlayAndYield('installing-css', {
251
+ detail: 'Applying app.css in the shared HTTP core realm.',
252
+ });
253
+ installHttpCoreCssSupport(coreBridge, VERBOSE);
65
254
  TRACE.preload.core = { ok: true, ms: Date.now() - t_core, url: ORIGIN + '/ns/core/' + VER };
66
255
  }
67
256
  catch (e_core) {
68
257
  TRACE.preload.core = { ok: false, ms: Date.now() - t_core, url: ORIGIN + '/ns/core/' + VER, err: String(e_core && (e_core.message || e_core)) };
258
+ try {
259
+ console.warn('[ns-entry] /ns/core preload failed:', e_core && (e_core.message || e_core));
260
+ }
261
+ catch { }
69
262
  }
70
263
  const MAIN_URL = ORIGIN + '/ns/m' + MAIN + '?v=' + VER;
264
+ const MAIN_IMPORT_URL = ORIGIN + '/ns/m/__ns_boot__/b1' + MAIN + '?v=' + VER;
71
265
  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
266
+ console.log(D, 'importing main module:', MAIN_URL);
267
+ globalThis.__NS_ENTRY_LAST_TARGET__ = MAIN_IMPORT_URL; // used by fetchCodeframe sanitized-vs-raw tag
74
268
  const t_main = Date.now();
75
269
  let lastMainErr = null;
76
270
  for (let attempt = 0; attempt < 6; attempt++) {
271
+ prepareBootImportProgress(MAIN_URL, attempt + 1, 6);
272
+ const stopBootImportHeartbeat = startBootImportHeartbeat(MAIN_URL, attempt + 1, 6);
77
273
  try {
78
- const url = attempt === 0 ? MAIN_URL : MAIN_URL + '&r=' + String(Date.now());
274
+ await updateBootOverlayAndYield('importing-main', {
275
+ detail: buildBootImportDetail(MAIN_URL),
276
+ attempt: attempt + 1,
277
+ attempts: 6,
278
+ progress: computeBootImportProgress(),
279
+ });
280
+ const url = attempt === 0 ? MAIN_IMPORT_URL : MAIN_IMPORT_URL + '&r=' + String(Date.now());
281
+ if (VERBOSE)
282
+ console.log(D, 'import attempt', attempt, url);
79
283
  await importHttp(url);
284
+ if (VERBOSE)
285
+ console.log(D, 'import succeeded on attempt', attempt, 'took', Date.now() - t_main, 'ms');
80
286
  lastMainErr = null;
81
287
  break;
82
288
  }
83
289
  catch (e_main) {
84
290
  lastMainErr = e_main;
291
+ if (VERBOSE)
292
+ console.log(D, 'import attempt', attempt, 'FAILED:', e_main?.message || e_main);
85
293
  // brief backoff; allows dev server and device network to settle
86
294
  await new Promise((r) => setTimeout(r, 150 + attempt * 150));
87
295
  }
296
+ finally {
297
+ stopBootImportHeartbeat();
298
+ }
88
299
  }
300
+ clearBootImportProgress();
89
301
  if (lastMainErr)
90
302
  throw lastMainErr;
91
- TRACE.main = { ok: true, ms: Date.now() - t_main, url: MAIN_URL };
303
+ TRACE.main = { ok: true, ms: Date.now() - t_main, url: MAIN_IMPORT_URL };
304
+ await updateBootOverlayAndYield('waiting-for-app', {
305
+ detail: 'Waiting for the real application root to replace the boot placeholder.',
306
+ });
92
307
  globalThis.__NS_ENTRY_OK__ = true;
93
- // Detect whether the early placeholder was installed; defer restoration until after a safe reset
94
- let hadPlaceholder = false;
308
+ updateBootOverlay('ready', {
309
+ detail: 'HTTP HMR boot is ready. The app root should take over now.',
310
+ });
311
+ if (VERBOSE)
312
+ console.log(D, '__NS_HMR_BOOT_COMPLETE__ = true');
313
+ globalThis.__NS_HMR_BOOT_COMPLETE__ = true;
314
+ // The placeholder patches Application.run() → resetRootView(), so the
315
+ // app's Application.run() call in the main module transparently replaced
316
+ // the placeholder with the real app UI. Restore original run() now.
95
317
  try {
96
318
  const g = globalThis;
97
- hadPlaceholder = !!(g && g.__NS_DEV_PLACEHOLDER_ROOT_EARLY__);
319
+ if (typeof g.__NS_DEV_ORIGINAL_APP_RUN__ === 'function') {
320
+ // Restore original Application.run on ALL targets (mirrors placeholder patching)
321
+ const origRun = g.__NS_DEV_ORIGINAL_APP_RUN__;
322
+ const Application = g.Application || (g.__nsVendorRegistry?.get?.('@nativescript/core') || {}).Application;
323
+ if (Application) {
324
+ Application.run = origRun;
325
+ try {
326
+ const proto = Object.getPrototypeOf(Application);
327
+ if (proto && proto.run !== origRun)
328
+ proto.run = origRun;
329
+ }
330
+ catch { }
331
+ }
332
+ // Also restore on vendor-registry Application if different
333
+ try {
334
+ const reg = g.__nsVendorRegistry;
335
+ const vendorMod = reg?.get?.('@nativescript/core');
336
+ const vendorApp = vendorMod?.Application || vendorMod?.default?.Application;
337
+ if (vendorApp && vendorApp !== Application && vendorApp.run !== origRun) {
338
+ vendorApp.run = origRun;
339
+ }
340
+ }
341
+ catch { }
342
+ delete g.__NS_DEV_ORIGINAL_APP_RUN__;
343
+ if (VERBOSE)
344
+ console.log(D, 'restored original Application.run');
345
+ }
98
346
  }
99
347
  catch { }
100
- // Placeholder detected: delegate root replacement to the HMR client.
101
- // Keep entry-runtime hands-off to avoid contention and duplicated logic.
102
- if (!hadPlaceholder) {
103
- if (VERBOSE)
104
- console.info('[ns-entry] no placeholder root detected; nothing to handoff');
105
- }
106
- else {
107
- if (VERBOSE)
108
- console.info('[ns-entry] placeholder present; delegating root reset to HMR client');
109
- }
110
348
  }
111
349
  catch (e) {
350
+ clearBootImportProgress();
112
351
  const errInfo = { message: String(e && (e.message || e)), stack: e && e.stack ? String(e.stack) : '' };
113
352
  const loc = parseStackUrlLineCol(e);
114
353
  const TARGET = loc.url || globalThis.__NS_ENTRY_LAST_TARGET__;
115
354
  errInfo.url = loc.url;
116
355
  errInfo.line = loc.line;
117
356
  errInfo.column = loc.column;
357
+ updateBootOverlay('error', {
358
+ detail: errInfo.message,
359
+ });
118
360
  globalThis.__NS_ENTRY_ERROR__ = errInfo;
119
361
  TRACE.error = errInfo;
120
362
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"entry-runtime.js","sourceRoot":"","sources":["../../../../packages/vite/hmr/entry-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entry-runtime.js","sourceRoot":"","sources":["../../../../packages/vite/hmr/entry-runtime.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,6 @@ interface AngularUpdateOptions {
4
4
  getCore: GetCoreFn;
5
5
  verbose: boolean;
6
6
  }
7
- export declare function handleAngularHotUpdateMessage(msg: any, options: AngularUpdateOptions): boolean;
7
+ export declare function refreshAngularBootstrapOptions(msg: any, options: AngularUpdateOptions): Promise<void>;
8
+ export declare function handleAngularHotUpdateMessage(msg: any, options: AngularUpdateOptions): Promise<boolean>;
8
9
  export {};
@@ -11,39 +11,92 @@ export function installAngularHmrClientHooks() {
11
11
  }
12
12
  catch { }
13
13
  }
14
- export function handleAngularHotUpdateMessage(msg, options) {
14
+ function getAngularBootstrapEntryCandidates(msg) {
15
+ const root = typeof __NS_APP_ROOT_VIRTUAL__ === 'string' && __NS_APP_ROOT_VIRTUAL__ ? __NS_APP_ROOT_VIRTUAL__ : '/src';
16
+ const rawCandidates = Array.isArray(msg?.entryCandidates) && msg.entryCandidates.length ? msg.entryCandidates : [`${root}/main.ts`, `${root}/app.ts`];
17
+ return rawCandidates.filter((entry) => typeof entry === 'string' && entry.startsWith('/'));
18
+ }
19
+ async function importAngularBootstrapEntry(url) {
20
+ const g = globalThis;
21
+ if (typeof g.__NS_HMR_IMPORT__ === 'function') {
22
+ return g.__NS_HMR_IMPORT__(url);
23
+ }
24
+ return import(/* @vite-ignore */ url);
25
+ }
26
+ export async function refreshAngularBootstrapOptions(msg, options) {
27
+ const g = globalThis;
28
+ if (typeof g.__NS_UPDATE_ANGULAR_APP_OPTIONS__ !== 'function') {
29
+ return;
30
+ }
31
+ const version = typeof msg?.version === 'number' ? msg.version : 0;
32
+ if (!version) {
33
+ return;
34
+ }
35
+ const originSource = typeof msg?.origin === 'string' && /^https?:\/\//.test(msg.origin) ? msg.origin : g.__NS_HTTP_ORIGIN__;
36
+ if (typeof originSource !== 'string' || !/^https?:\/\//.test(originSource)) {
37
+ return;
38
+ }
39
+ const origin = originSource.replace(/\/$/, '');
40
+ let lastError;
41
+ for (const entry of getAngularBootstrapEntryCandidates(msg)) {
42
+ const url = `${origin}/ns/m/__ns_hmr__/v${version}${entry}`;
43
+ try {
44
+ g.__NS_ANGULAR_HMR_REGISTER_ONLY__ = true;
45
+ await importAngularBootstrapEntry(url);
46
+ return;
47
+ }
48
+ catch (error) {
49
+ lastError = error;
50
+ }
51
+ finally {
52
+ g.__NS_ANGULAR_HMR_REGISTER_ONLY__ = false;
53
+ }
54
+ }
55
+ if (options.verbose && __NS_ENV_VERBOSE__ && lastError) {
56
+ try {
57
+ console.warn('[hmr-angular] failed to refresh Angular bootstrap entry', lastError?.message || lastError);
58
+ }
59
+ catch { }
60
+ }
61
+ }
62
+ export async function handleAngularHotUpdateMessage(msg, options) {
15
63
  if (!msg || msg.type !== 'ns:angular-update') {
16
64
  return false;
17
65
  }
18
66
  try {
19
67
  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') {
68
+ // Prefer __reboot_ng_modules__ it properly disposes existing modules,
69
+ // re-bootstraps Angular inside NgZone, and sets the root view internally.
70
+ // __NS_ANGULAR_BOOTSTRAP__ is exposed as a secondary signal that the
71
+ // Angular HMR system is ready, but __reboot_ng_modules__ is the
72
+ // canonical reboot entry point.
73
+ const reboot = g.__reboot_ng_modules__;
74
+ if (typeof reboot === 'function') {
23
75
  if (options.verbose && __NS_ENV_VERBOSE__) {
24
- console.log('[hmr-angular] resetting root view via captured bootstrap');
76
+ console.log('[hmr-angular] rebooting Angular modules via __reboot_ng_modules__');
25
77
  }
78
+ await refreshAngularBootstrapOptions(msg, options);
79
+ try {
80
+ g.__NS_HMR_IMPORT_NONCE__ = (typeof g.__NS_HMR_IMPORT_NONCE__ === 'number' ? g.__NS_HMR_IMPORT_NONCE__ : 0) + 1;
81
+ }
82
+ catch { }
26
83
  try {
27
84
  g.__NS_DEV_RESET_IN_PROGRESS__ = true;
28
85
  }
29
86
  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
- });
87
+ try {
88
+ reboot(true);
89
+ }
90
+ finally {
91
+ try {
92
+ g.__NS_DEV_RESET_IN_PROGRESS__ = false;
93
+ }
94
+ catch { }
95
+ }
43
96
  return true;
44
97
  }
45
98
  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.');
99
+ console.warn('[hmr-angular] No Angular HMR handler found. Ensure runNativeScriptAngularApp() has been called.');
47
100
  }
48
101
  }
49
102
  catch (error) {
@@ -1 +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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/client/index.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,39 @@ let cachedDeps = null;
6
6
  let triedLoad = false;
7
7
  let warnedMissing = false;
8
8
  const projectRoot = getProjectRootPath();
9
+ /**
10
+ * Resolve the Angular NodeJSFileSystem required by Angular 21+ linker.
11
+ * Without it, the Babel transform throws "Cannot read properties of undefined (reading 'resolve')".
12
+ */
13
+ function resolveFileSystem(requireBase) {
14
+ try {
15
+ const cliMod = requireBase('@angular/compiler-cli');
16
+ if (cliMod.NodeJSFileSystem) {
17
+ return new cliMod.NodeJSFileSystem();
18
+ }
19
+ }
20
+ catch { }
21
+ // Fallback: minimal fileSystem that satisfies the linker
22
+ return {
23
+ resolve: (...paths) => path.resolve(...paths),
24
+ dirname: (p) => path.dirname(p),
25
+ join: (...paths) => path.join(...paths),
26
+ isRooted: (p) => path.isAbsolute(p),
27
+ exists: (p) => {
28
+ try {
29
+ const fs = requireBase('fs');
30
+ return fs.existsSync(p);
31
+ }
32
+ catch {
33
+ return false;
34
+ }
35
+ },
36
+ readFile: (p) => {
37
+ const fs = requireBase('fs');
38
+ return fs.readFileSync(p, 'utf8');
39
+ },
40
+ };
41
+ }
9
42
  function attemptLoad(requireBase) {
10
43
  if (!requireBase)
11
44
  return null;
@@ -14,7 +47,8 @@ function attemptLoad(requireBase) {
14
47
  const linkerMod = requireBase('@angular/compiler-cli/linker/babel');
15
48
  const createLinkerPlugin = (linkerMod && (linkerMod.createLinkerPlugin || linkerMod.createEs2015LinkerPlugin)) || null;
16
49
  if (babel && createLinkerPlugin) {
17
- return { babel, createLinkerPlugin };
50
+ const fileSystem = resolveFileSystem(requireBase);
51
+ return { babel, createLinkerPlugin, fileSystem };
18
52
  }
19
53
  }
20
54
  catch { }
@@ -68,7 +102,7 @@ export function linkAngularPartialsIfNeeded(code, filename = 'hmr-inline.mjs') {
68
102
  return code;
69
103
  }
70
104
  try {
71
- const plugin = deps.createLinkerPlugin({ sourceMapping: false });
105
+ const plugin = deps.createLinkerPlugin({ sourceMapping: false, ...(deps.fileSystem ? { fileSystem: deps.fileSystem } : {}) });
72
106
  const result = deps.babel.transformSync(code, {
73
107
  filename,
74
108
  configFile: false,
@@ -1 +1 @@
1
- {"version":3,"file":"linker.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/server/linker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linker.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/server/linker.ts"],"names":[],"mappings":"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"}