@nativescript/vite 8.0.0-alpha.7 → 8.0.0-alpha.71

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 (555) hide show
  1. package/README.md +54 -14
  2. package/bin/cli.cjs +8 -14
  3. package/configuration/angular.d.ts +34 -1
  4. package/configuration/angular.js +293 -172
  5. package/configuration/angular.js.map +1 -1
  6. package/configuration/base.js +177 -110
  7. package/configuration/base.js.map +1 -1
  8. package/configuration/javascript.js +14 -93
  9. package/configuration/javascript.js.map +1 -1
  10. package/configuration/react.js +41 -73
  11. package/configuration/react.js.map +1 -1
  12. package/configuration/solid.js +51 -6
  13. package/configuration/solid.js.map +1 -1
  14. package/configuration/typescript.js +12 -93
  15. package/configuration/typescript.js.map +1 -1
  16. package/helpers/app-components.d.ts +2 -1
  17. package/helpers/app-components.js.map +1 -1
  18. package/helpers/app-css-refresh.d.ts +31 -0
  19. package/helpers/app-css-refresh.js +43 -0
  20. package/helpers/app-css-refresh.js.map +1 -0
  21. package/helpers/app-css-state.d.ts +17 -0
  22. package/helpers/app-css-state.js +51 -0
  23. package/helpers/app-css-state.js.map +1 -0
  24. package/helpers/bundler-context.d.ts +11 -0
  25. package/helpers/bundler-context.js +71 -0
  26. package/helpers/bundler-context.js.map +1 -0
  27. package/helpers/cli-flags.d.ts +12 -0
  28. package/helpers/cli-flags.js +34 -0
  29. package/helpers/cli-flags.js.map +1 -1
  30. package/helpers/css-platform-plugin.d.ts +14 -0
  31. package/helpers/css-platform-plugin.js +43 -25
  32. package/helpers/css-platform-plugin.js.map +1 -1
  33. package/helpers/dev-host.d.ts +360 -0
  34. package/helpers/dev-host.js +694 -0
  35. package/helpers/dev-host.js.map +1 -0
  36. package/helpers/dynamic-import-plugin.d.ts +2 -1
  37. package/helpers/dynamic-import-plugin.js +59 -53
  38. package/helpers/dynamic-import-plugin.js.map +1 -1
  39. package/helpers/esbuild-platform-resolver.js +4 -1
  40. package/helpers/esbuild-platform-resolver.js.map +1 -1
  41. package/helpers/external-configs.d.ts +10 -12
  42. package/helpers/external-configs.js +58 -35
  43. package/helpers/external-configs.js.map +1 -1
  44. package/helpers/flavor.d.ts +13 -0
  45. package/helpers/flavor.js +18 -1
  46. package/helpers/flavor.js.map +1 -1
  47. package/helpers/global-defines.d.ts +101 -33
  48. package/helpers/global-defines.js +187 -64
  49. package/helpers/global-defines.js.map +1 -1
  50. package/helpers/hmr-scope.d.ts +26 -0
  51. package/helpers/hmr-scope.js +67 -0
  52. package/helpers/hmr-scope.js.map +1 -0
  53. package/helpers/init.js +6 -20
  54. package/helpers/init.js.map +1 -1
  55. package/helpers/logging.js +29 -1
  56. package/helpers/logging.js.map +1 -1
  57. package/helpers/main-entry.d.ts +4 -1
  58. package/helpers/main-entry.js +366 -47
  59. package/helpers/main-entry.js.map +1 -1
  60. package/helpers/nativeclass-esbuild-plugin.d.ts +2 -1
  61. package/helpers/nativeclass-esbuild-plugin.js +6 -1
  62. package/helpers/nativeclass-esbuild-plugin.js.map +1 -1
  63. package/helpers/nativeclass-transform.d.ts +13 -0
  64. package/helpers/nativeclass-transform.js +37 -7
  65. package/helpers/nativeclass-transform.js.map +1 -1
  66. package/helpers/nativeclass-transformer-plugin.d.ts +9 -2
  67. package/helpers/nativeclass-transformer-plugin.js +163 -15
  68. package/helpers/nativeclass-transformer-plugin.js.map +1 -1
  69. package/helpers/nativescript-package-resolver.js +10 -62
  70. package/helpers/nativescript-package-resolver.js.map +1 -1
  71. package/helpers/normalize-id.d.ts +42 -0
  72. package/helpers/normalize-id.js +60 -0
  73. package/helpers/normalize-id.js.map +1 -0
  74. package/helpers/ns-core-external-urls.d.ts +32 -0
  75. package/helpers/ns-core-external-urls.js +107 -0
  76. package/helpers/ns-core-external-urls.js.map +1 -0
  77. package/helpers/ns-core-url.d.ts +26 -3
  78. package/helpers/ns-core-url.js +66 -8
  79. package/helpers/ns-core-url.js.map +1 -1
  80. package/helpers/optimize-deps.d.ts +16 -0
  81. package/helpers/optimize-deps.js +17 -0
  82. package/helpers/optimize-deps.js.map +1 -0
  83. package/helpers/package-platform-aliases.js +34 -49
  84. package/helpers/package-platform-aliases.js.map +1 -1
  85. package/helpers/platform-types.d.ts +2 -0
  86. package/helpers/platform-types.js +2 -0
  87. package/helpers/platform-types.js.map +1 -0
  88. package/helpers/postcss-platform-config.d.ts +17 -1
  89. package/helpers/postcss-platform-config.js +20 -37
  90. package/helpers/postcss-platform-config.js.map +1 -1
  91. package/helpers/project.d.ts +35 -0
  92. package/helpers/project.js +120 -2
  93. package/helpers/project.js.map +1 -1
  94. package/helpers/resolve-main-field-platform.d.ts +20 -0
  95. package/helpers/resolve-main-field-platform.js +49 -0
  96. package/helpers/resolve-main-field-platform.js.map +1 -0
  97. package/helpers/resolver.js +17 -2
  98. package/helpers/resolver.js.map +1 -1
  99. package/helpers/theme-core-plugins.js +1 -1
  100. package/helpers/theme-core-plugins.js.map +1 -1
  101. package/helpers/ts-config-paths.d.ts +32 -0
  102. package/helpers/ts-config-paths.js +156 -27
  103. package/helpers/ts-config-paths.js.map +1 -1
  104. package/helpers/typescript-check.d.ts +2 -1
  105. package/helpers/typescript-check.js +4 -4
  106. package/helpers/typescript-check.js.map +1 -1
  107. package/helpers/ui-registration.d.ts +21 -0
  108. package/helpers/ui-registration.js +156 -0
  109. package/helpers/ui-registration.js.map +1 -0
  110. package/helpers/utils.d.ts +9 -0
  111. package/helpers/utils.js +22 -2
  112. package/helpers/utils.js.map +1 -1
  113. package/helpers/vite-package-version.d.ts +7 -0
  114. package/helpers/vite-package-version.js +44 -0
  115. package/helpers/vite-package-version.js.map +1 -0
  116. package/helpers/workers.d.ts +40 -19
  117. package/helpers/workers.js +324 -13
  118. package/helpers/workers.js.map +1 -1
  119. package/hmr/client/css-handler.d.ts +2 -1
  120. package/hmr/client/css-handler.js +63 -32
  121. package/hmr/client/css-handler.js.map +1 -1
  122. package/hmr/client/css-update-overlay.d.ts +18 -0
  123. package/hmr/client/css-update-overlay.js +27 -0
  124. package/hmr/client/css-update-overlay.js.map +1 -0
  125. package/hmr/client/framework-client-strategy.d.ts +87 -0
  126. package/hmr/client/framework-client-strategy.js +18 -0
  127. package/hmr/client/framework-client-strategy.js.map +1 -0
  128. package/hmr/client/hmr-pending-overlay.d.ts +0 -14
  129. package/hmr/client/hmr-pending-overlay.js +2 -11
  130. package/hmr/client/hmr-pending-overlay.js.map +1 -1
  131. package/hmr/client/hot-context.d.ts +67 -0
  132. package/hmr/client/hot-context.js +307 -0
  133. package/hmr/client/hot-context.js.map +1 -0
  134. package/hmr/client/index.d.ts +9 -1
  135. package/hmr/client/index.js +70 -1970
  136. package/hmr/client/index.js.map +1 -1
  137. package/hmr/client/overlay-driver.d.ts +10 -0
  138. package/hmr/client/overlay-driver.js +33 -0
  139. package/hmr/client/overlay-driver.js.map +1 -0
  140. package/hmr/client/protocol-dispatch.d.ts +8 -0
  141. package/hmr/client/protocol-dispatch.js +308 -0
  142. package/hmr/client/protocol-dispatch.js.map +1 -0
  143. package/hmr/client/root-reset.d.ts +15 -0
  144. package/hmr/client/root-reset.js +358 -0
  145. package/hmr/client/root-reset.js.map +1 -0
  146. package/hmr/client/strategy-loader.d.ts +24 -0
  147. package/hmr/client/strategy-loader.js +83 -0
  148. package/hmr/client/strategy-loader.js.map +1 -0
  149. package/hmr/client/update-pipeline.d.ts +27 -0
  150. package/hmr/client/update-pipeline.js +464 -0
  151. package/hmr/client/update-pipeline.js.map +1 -0
  152. package/hmr/client/utils.d.ts +9 -1
  153. package/hmr/client/utils.js +117 -97
  154. package/hmr/client/utils.js.map +1 -1
  155. package/hmr/client/ws-transport.d.ts +21 -0
  156. package/hmr/client/ws-transport.js +323 -0
  157. package/hmr/client/ws-transport.js.map +1 -0
  158. package/hmr/entry-runtime.d.ts +2 -1
  159. package/hmr/entry-runtime.js +282 -71
  160. package/hmr/entry-runtime.js.map +1 -1
  161. package/hmr/frameworks/angular/build/angular-linker.d.ts +12 -0
  162. package/hmr/frameworks/angular/build/angular-linker.js +113 -0
  163. package/hmr/frameworks/angular/build/angular-linker.js.map +1 -0
  164. package/hmr/frameworks/angular/build/inject-component-hmr-registration.d.ts +112 -0
  165. package/hmr/frameworks/angular/build/inject-component-hmr-registration.js +291 -0
  166. package/hmr/frameworks/angular/build/inject-component-hmr-registration.js.map +1 -0
  167. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.d.ts +75 -0
  168. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js +221 -0
  169. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js.map +1 -0
  170. package/{helpers/angular → hmr/frameworks/angular/build}/inline-decorator-component-templates.js +1 -170
  171. package/hmr/frameworks/angular/build/inline-decorator-component-templates.js.map +1 -0
  172. package/hmr/frameworks/angular/build/js-lexer.d.ts +4 -0
  173. package/{helpers/angular/synthesize-decorator-ctor-parameters.js → hmr/frameworks/angular/build/js-lexer.js} +22 -96
  174. package/hmr/frameworks/angular/build/js-lexer.js.map +1 -0
  175. package/hmr/frameworks/angular/build/linker-stats.d.ts +18 -0
  176. package/hmr/frameworks/angular/build/linker-stats.js +29 -0
  177. package/hmr/frameworks/angular/build/linker-stats.js.map +1 -0
  178. package/hmr/frameworks/angular/build/shared-linker.d.ts +39 -0
  179. package/hmr/frameworks/angular/build/shared-linker.js +128 -0
  180. package/hmr/frameworks/angular/build/shared-linker.js.map +1 -0
  181. package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js +88 -0
  182. package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js.map +1 -0
  183. package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-injectable-factories.js +1 -174
  184. package/hmr/frameworks/angular/build/synthesize-injectable-factories.js.map +1 -0
  185. package/hmr/frameworks/angular/build/ts-fallback-transform.d.ts +5 -0
  186. package/hmr/frameworks/angular/build/ts-fallback-transform.js +138 -0
  187. package/hmr/frameworks/angular/build/ts-fallback-transform.js.map +1 -0
  188. package/{helpers/angular → hmr/frameworks/angular/build}/util.d.ts +1 -0
  189. package/hmr/frameworks/angular/build/util.js +155 -0
  190. package/hmr/frameworks/angular/build/util.js.map +1 -0
  191. package/hmr/frameworks/angular/build/worker-url-preserve.d.ts +5 -0
  192. package/hmr/frameworks/angular/build/worker-url-preserve.js +140 -0
  193. package/hmr/frameworks/angular/build/worker-url-preserve.js.map +1 -0
  194. package/hmr/frameworks/angular/client/index.d.ts +0 -1
  195. package/hmr/frameworks/angular/client/index.js +459 -223
  196. package/hmr/frameworks/angular/client/index.js.map +1 -1
  197. package/hmr/frameworks/angular/client/strategy.d.ts +9 -0
  198. package/hmr/frameworks/angular/client/strategy.js +19 -0
  199. package/hmr/frameworks/angular/client/strategy.js.map +1 -0
  200. package/hmr/frameworks/angular/server/angular-root-component.d.ts +79 -0
  201. package/hmr/frameworks/angular/server/angular-root-component.js +149 -0
  202. package/hmr/frameworks/angular/server/angular-root-component.js.map +1 -0
  203. package/hmr/frameworks/angular/server/linker.js +1 -4
  204. package/hmr/frameworks/angular/server/linker.js.map +1 -1
  205. package/hmr/frameworks/angular/server/ng-component-route.d.ts +43 -0
  206. package/hmr/frameworks/angular/server/ng-component-route.js +113 -0
  207. package/hmr/frameworks/angular/server/ng-component-route.js.map +1 -0
  208. package/hmr/frameworks/angular/server/strategy.js +677 -13
  209. package/hmr/frameworks/angular/server/strategy.js.map +1 -1
  210. package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.js +2 -2
  211. package/hmr/frameworks/angular/server/websocket-angular-entry.js.map +1 -0
  212. package/hmr/{server → frameworks/angular/server}/websocket-angular-hot-update.d.ts +28 -11
  213. package/hmr/{server → frameworks/angular/server}/websocket-angular-hot-update.js +191 -105
  214. package/hmr/frameworks/angular/server/websocket-angular-hot-update.js.map +1 -0
  215. package/hmr/frameworks/react/client/strategy.d.ts +12 -0
  216. package/hmr/frameworks/react/client/strategy.js +27 -0
  217. package/hmr/frameworks/react/client/strategy.js.map +1 -0
  218. package/hmr/frameworks/react/server/strategy.d.ts +2 -0
  219. package/hmr/frameworks/react/server/strategy.js +230 -0
  220. package/hmr/frameworks/react/server/strategy.js.map +1 -0
  221. package/hmr/frameworks/solid/build/solid-jsx-deps.d.ts +15 -0
  222. package/hmr/frameworks/solid/build/solid-jsx-deps.js +178 -0
  223. package/hmr/frameworks/solid/build/solid-jsx-deps.js.map +1 -0
  224. package/hmr/frameworks/solid/client/app-runtime.d.ts +68 -0
  225. package/hmr/frameworks/solid/client/app-runtime.js +252 -0
  226. package/hmr/frameworks/solid/client/app-runtime.js.map +1 -0
  227. package/hmr/frameworks/solid/client/strategy.d.ts +7 -0
  228. package/hmr/frameworks/solid/client/strategy.js +391 -0
  229. package/hmr/frameworks/solid/client/strategy.js.map +1 -0
  230. package/hmr/frameworks/solid/server/strategy.js +293 -16
  231. package/hmr/frameworks/solid/server/strategy.js.map +1 -1
  232. package/hmr/frameworks/typescript/client/strategy.d.ts +7 -0
  233. package/hmr/frameworks/typescript/client/strategy.js +418 -0
  234. package/hmr/frameworks/typescript/client/strategy.js.map +1 -0
  235. package/hmr/frameworks/typescript/server/strategy.js +40 -14
  236. package/hmr/frameworks/typescript/server/strategy.js.map +1 -1
  237. package/hmr/frameworks/vue/client/dep-propagation.d.ts +44 -0
  238. package/hmr/frameworks/vue/client/dep-propagation.js +148 -0
  239. package/hmr/frameworks/vue/client/dep-propagation.js.map +1 -0
  240. package/hmr/frameworks/vue/client/index.d.ts +10 -1
  241. package/hmr/frameworks/vue/client/index.js +287 -562
  242. package/hmr/frameworks/vue/client/index.js.map +1 -1
  243. package/hmr/frameworks/vue/client/navigate-app.d.ts +3 -0
  244. package/hmr/frameworks/vue/client/navigate-app.js +178 -0
  245. package/hmr/frameworks/vue/client/navigate-app.js.map +1 -0
  246. package/hmr/frameworks/vue/client/strategy.d.ts +33 -0
  247. package/hmr/frameworks/vue/client/strategy.js +152 -0
  248. package/hmr/frameworks/vue/client/strategy.js.map +1 -0
  249. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.d.ts +49 -0
  250. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js +124 -0
  251. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js.map +1 -0
  252. package/hmr/frameworks/vue/server/compiler.d.ts +3 -1
  253. package/hmr/frameworks/vue/server/compiler.js +3 -1
  254. package/hmr/frameworks/vue/server/compiler.js.map +1 -1
  255. package/hmr/frameworks/vue/server/sfc-route-assemble.d.ts +7 -0
  256. package/hmr/frameworks/vue/server/sfc-route-assemble.js +823 -0
  257. package/hmr/frameworks/vue/server/sfc-route-assemble.js.map +1 -0
  258. package/hmr/frameworks/vue/server/sfc-route-meta.d.ts +7 -0
  259. package/hmr/frameworks/vue/server/sfc-route-meta.js +80 -0
  260. package/hmr/frameworks/vue/server/sfc-route-meta.js.map +1 -0
  261. package/hmr/frameworks/vue/server/sfc-route-serve.d.ts +8 -0
  262. package/hmr/frameworks/vue/server/sfc-route-serve.js +462 -0
  263. package/hmr/frameworks/vue/server/sfc-route-serve.js.map +1 -0
  264. package/hmr/frameworks/vue/server/sfc-route-shared.d.ts +45 -0
  265. package/hmr/frameworks/vue/server/sfc-route-shared.js +105 -0
  266. package/hmr/frameworks/vue/server/sfc-route-shared.js.map +1 -0
  267. package/hmr/frameworks/vue/server/strategy.d.ts +35 -0
  268. package/hmr/frameworks/vue/server/strategy.js +291 -7
  269. package/hmr/frameworks/vue/server/strategy.js.map +1 -1
  270. package/hmr/frameworks/vue/server/websocket-sfc.d.ts +15 -0
  271. package/hmr/frameworks/vue/server/websocket-sfc.js +20 -0
  272. package/hmr/frameworks/vue/server/websocket-sfc.js.map +1 -0
  273. package/hmr/helpers/ast-normalizer.d.ts +3 -1
  274. package/hmr/helpers/ast-normalizer.js +109 -14
  275. package/hmr/helpers/ast-normalizer.js.map +1 -1
  276. package/hmr/helpers/cjs-named-exports.d.ts +23 -0
  277. package/hmr/helpers/cjs-named-exports.js +152 -0
  278. package/hmr/helpers/cjs-named-exports.js.map +1 -0
  279. package/hmr/helpers/package-exports.d.ts +16 -0
  280. package/hmr/helpers/package-exports.js +396 -0
  281. package/hmr/helpers/package-exports.js.map +1 -0
  282. package/hmr/helpers/vendor-rewrite.d.ts +1 -1
  283. package/hmr/helpers/vendor-rewrite.js +5 -3
  284. package/hmr/helpers/vendor-rewrite.js.map +1 -1
  285. package/hmr/server/boot-recording.d.ts +51 -0
  286. package/hmr/server/boot-recording.js +214 -0
  287. package/hmr/server/boot-recording.js.map +1 -0
  288. package/hmr/server/constants.js +20 -5
  289. package/hmr/server/constants.js.map +1 -1
  290. package/hmr/server/content-css-update.d.ts +54 -0
  291. package/hmr/server/content-css-update.js +78 -0
  292. package/hmr/server/content-css-update.js.map +1 -0
  293. package/hmr/server/core-bundle.d.ts +140 -0
  294. package/hmr/server/core-bundle.js +614 -0
  295. package/hmr/server/core-bundle.js.map +1 -0
  296. package/hmr/server/core-sanitize.d.ts +86 -7
  297. package/hmr/server/core-sanitize.js +164 -39
  298. package/hmr/server/core-sanitize.js.map +1 -1
  299. package/hmr/server/css-connect-sync.d.ts +28 -0
  300. package/hmr/server/css-connect-sync.js +59 -0
  301. package/hmr/server/css-connect-sync.js.map +1 -0
  302. package/hmr/server/css-device-module.d.ts +28 -0
  303. package/hmr/server/css-device-module.js +44 -0
  304. package/hmr/server/css-device-module.js.map +1 -0
  305. package/hmr/server/css-update-message.d.ts +23 -0
  306. package/hmr/server/css-update-message.js +41 -0
  307. package/hmr/server/css-update-message.js.map +1 -0
  308. package/hmr/server/deps-bundle.d.ts +233 -0
  309. package/hmr/server/deps-bundle.js +1022 -0
  310. package/hmr/server/deps-bundle.js.map +1 -0
  311. package/hmr/server/device-transform-helpers.d.ts +24 -0
  312. package/hmr/server/device-transform-helpers.js +408 -0
  313. package/hmr/server/device-transform-helpers.js.map +1 -0
  314. package/hmr/server/framework-strategy.d.ts +182 -11
  315. package/hmr/server/hmr-module-graph.d.ts +37 -0
  316. package/hmr/server/hmr-module-graph.js +215 -0
  317. package/hmr/server/hmr-module-graph.js.map +1 -0
  318. package/hmr/server/import-map.d.ts +51 -19
  319. package/hmr/server/import-map.js +136 -66
  320. package/hmr/server/import-map.js.map +1 -1
  321. package/hmr/server/index.js +7 -16
  322. package/hmr/server/index.js.map +1 -1
  323. package/hmr/server/node-builtins-route.d.ts +12 -0
  324. package/hmr/server/node-builtins-route.js +86 -0
  325. package/hmr/server/node-builtins-route.js.map +1 -0
  326. package/hmr/server/ns-core-cjs-shape.js +1 -1
  327. package/hmr/server/ns-core-cjs-shape.js.map +1 -1
  328. package/hmr/server/ns-m-response-memo.d.ts +10 -0
  329. package/hmr/server/ns-m-response-memo.js +33 -0
  330. package/hmr/server/ns-m-response-memo.js.map +1 -0
  331. package/hmr/server/ns-rt-bridge.d.ts +51 -0
  332. package/hmr/server/ns-rt-bridge.js +131 -0
  333. package/hmr/server/ns-rt-bridge.js.map +1 -0
  334. package/hmr/server/ns-rt-route.d.ts +5 -0
  335. package/hmr/server/ns-rt-route.js +39 -0
  336. package/hmr/server/ns-rt-route.js.map +1 -0
  337. package/hmr/server/perf-instrumentation.d.ts +1 -1
  338. package/hmr/server/perf-instrumentation.js +3 -1
  339. package/hmr/server/perf-instrumentation.js.map +1 -1
  340. package/hmr/server/process-code-for-device.d.ts +44 -0
  341. package/hmr/server/process-code-for-device.js +834 -0
  342. package/hmr/server/process-code-for-device.js.map +1 -0
  343. package/hmr/server/require-guard.d.ts +1 -0
  344. package/hmr/server/require-guard.js +12 -0
  345. package/hmr/server/require-guard.js.map +1 -0
  346. package/hmr/server/rewrite-imports.d.ts +2 -0
  347. package/hmr/server/rewrite-imports.js +631 -0
  348. package/hmr/server/rewrite-imports.js.map +1 -0
  349. package/hmr/server/route-helpers.d.ts +7 -0
  350. package/hmr/server/route-helpers.js +13 -0
  351. package/hmr/server/route-helpers.js.map +1 -0
  352. package/hmr/server/runtime-graph-filter.js +8 -1
  353. package/hmr/server/runtime-graph-filter.js.map +1 -1
  354. package/hmr/server/server-origin.d.ts +2 -0
  355. package/hmr/server/server-origin.js +88 -0
  356. package/hmr/server/server-origin.js.map +1 -0
  357. package/hmr/server/shared-transform-request.js +1 -2
  358. package/hmr/server/shared-transform-request.js.map +1 -1
  359. package/hmr/server/socket-utils.d.ts +10 -0
  360. package/hmr/server/socket-utils.js +14 -0
  361. package/hmr/server/socket-utils.js.map +1 -0
  362. package/hmr/server/transform-cache-invalidation.d.ts +37 -0
  363. package/hmr/server/transform-cache-invalidation.js +156 -0
  364. package/hmr/server/transform-cache-invalidation.js.map +1 -0
  365. package/hmr/server/vendor-bare-module-shims.d.ts +4 -0
  366. package/hmr/server/vendor-bare-module-shims.js +80 -0
  367. package/hmr/server/vendor-bare-module-shims.js.map +1 -0
  368. package/hmr/server/vite-plugin.d.ts +1 -0
  369. package/hmr/server/vite-plugin.js +227 -53
  370. package/hmr/server/vite-plugin.js.map +1 -1
  371. package/hmr/server/websocket-core-bridge.d.ts +51 -4
  372. package/hmr/server/websocket-core-bridge.js +62 -49
  373. package/hmr/server/websocket-core-bridge.js.map +1 -1
  374. package/hmr/server/websocket-device-transform.d.ts +3 -0
  375. package/hmr/server/websocket-device-transform.js +7 -0
  376. package/hmr/server/websocket-device-transform.js.map +1 -0
  377. package/hmr/server/websocket-hmr-pending.d.ts +2 -16
  378. package/hmr/server/websocket-hmr-pending.js +0 -22
  379. package/hmr/server/websocket-hmr-pending.js.map +1 -1
  380. package/hmr/server/websocket-hot-update.d.ts +80 -0
  381. package/hmr/server/websocket-hot-update.js +295 -0
  382. package/hmr/server/websocket-hot-update.js.map +1 -0
  383. package/hmr/server/websocket-import-map-route.d.ts +15 -0
  384. package/hmr/server/websocket-import-map-route.js +51 -0
  385. package/hmr/server/websocket-import-map-route.js.map +1 -0
  386. package/hmr/server/websocket-module-bindings.d.ts +15 -0
  387. package/hmr/server/websocket-module-bindings.js +38 -5
  388. package/hmr/server/websocket-module-bindings.js.map +1 -1
  389. package/hmr/server/websocket-module-specifiers.d.ts +66 -7
  390. package/hmr/server/websocket-module-specifiers.js +219 -49
  391. package/hmr/server/websocket-module-specifiers.js.map +1 -1
  392. package/hmr/server/websocket-ns-core.d.ts +34 -0
  393. package/hmr/server/websocket-ns-core.js +414 -0
  394. package/hmr/server/websocket-ns-core.js.map +1 -0
  395. package/hmr/server/websocket-ns-entry.d.ts +21 -0
  396. package/hmr/server/websocket-ns-entry.js +164 -0
  397. package/hmr/server/websocket-ns-entry.js.map +1 -0
  398. package/hmr/server/websocket-ns-m-paths.d.ts +19 -3
  399. package/hmr/server/websocket-ns-m-paths.js +98 -75
  400. package/hmr/server/websocket-ns-m-paths.js.map +1 -1
  401. package/hmr/server/websocket-ns-m-request.d.ts +13 -2
  402. package/hmr/server/websocket-ns-m-request.js +20 -11
  403. package/hmr/server/websocket-ns-m-request.js.map +1 -1
  404. package/hmr/server/websocket-ns-m.d.ts +52 -0
  405. package/hmr/server/websocket-ns-m.js +590 -0
  406. package/hmr/server/websocket-ns-m.js.map +1 -0
  407. package/hmr/server/websocket-served-module-helpers.d.ts +57 -4
  408. package/hmr/server/websocket-served-module-helpers.js +462 -141
  409. package/hmr/server/websocket-served-module-helpers.js.map +1 -1
  410. package/hmr/server/websocket-txn.js +6 -9
  411. package/hmr/server/websocket-txn.js.map +1 -1
  412. package/hmr/server/websocket-vendor-unifier.d.ts +0 -1
  413. package/hmr/server/websocket-vendor-unifier.js +4 -9
  414. package/hmr/server/websocket-vendor-unifier.js.map +1 -1
  415. package/hmr/server/websocket.d.ts +7 -40
  416. package/hmr/server/websocket.js +653 -6734
  417. package/hmr/server/websocket.js.map +1 -1
  418. package/hmr/shared/ns-globals.d.ts +106 -0
  419. package/hmr/shared/ns-globals.js +29 -0
  420. package/hmr/shared/ns-globals.js.map +1 -0
  421. package/hmr/shared/protocol.d.ts +157 -0
  422. package/hmr/shared/protocol.js +28 -0
  423. package/hmr/shared/protocol.js.map +1 -0
  424. package/hmr/shared/runtime/boot-complete.d.ts +14 -0
  425. package/hmr/shared/runtime/boot-complete.js +32 -0
  426. package/hmr/shared/runtime/boot-complete.js.map +1 -0
  427. package/hmr/shared/runtime/boot-placeholder-ui.d.ts +69 -0
  428. package/hmr/shared/runtime/boot-placeholder-ui.js +101 -0
  429. package/hmr/shared/runtime/boot-placeholder-ui.js.map +1 -0
  430. package/hmr/shared/runtime/boot-progress.d.ts +44 -0
  431. package/hmr/shared/runtime/boot-progress.js +134 -0
  432. package/hmr/shared/runtime/boot-progress.js.map +1 -0
  433. package/hmr/shared/runtime/boot-timeline.d.ts +1 -1
  434. package/hmr/shared/runtime/boot-timeline.js +8 -19
  435. package/hmr/shared/runtime/boot-timeline.js.map +1 -1
  436. package/hmr/shared/runtime/browser-runtime-contract.d.ts +43 -24
  437. package/hmr/shared/runtime/browser-runtime-contract.js +21 -9
  438. package/hmr/shared/runtime/browser-runtime-contract.js.map +1 -1
  439. package/hmr/shared/runtime/dev-overlay-ios.d.ts +87 -0
  440. package/hmr/shared/runtime/dev-overlay-ios.js +521 -0
  441. package/hmr/shared/runtime/dev-overlay-ios.js.map +1 -0
  442. package/hmr/shared/runtime/dev-overlay-shared.d.ts +58 -0
  443. package/hmr/shared/runtime/dev-overlay-shared.js +116 -0
  444. package/hmr/shared/runtime/dev-overlay-shared.js.map +1 -0
  445. package/hmr/shared/runtime/dev-overlay-snapshots.d.ts +31 -0
  446. package/hmr/shared/runtime/dev-overlay-snapshots.js +324 -0
  447. package/hmr/shared/runtime/dev-overlay-snapshots.js.map +1 -0
  448. package/hmr/shared/runtime/dev-overlay-tree.d.ts +59 -0
  449. package/hmr/shared/runtime/dev-overlay-tree.js +712 -0
  450. package/hmr/shared/runtime/dev-overlay-tree.js.map +1 -0
  451. package/hmr/shared/runtime/dev-overlay.d.ts +23 -69
  452. package/hmr/shared/runtime/dev-overlay.js +67 -1023
  453. package/hmr/shared/runtime/dev-overlay.js.map +1 -1
  454. package/hmr/shared/runtime/global-scope.d.ts +18 -0
  455. package/hmr/shared/runtime/global-scope.js +21 -0
  456. package/hmr/shared/runtime/global-scope.js.map +1 -0
  457. package/hmr/shared/runtime/hooks.js +2 -1
  458. package/hmr/shared/runtime/hooks.js.map +1 -1
  459. package/hmr/shared/runtime/launch-bridge.d.ts +9 -0
  460. package/hmr/shared/runtime/launch-bridge.js +98 -0
  461. package/hmr/shared/runtime/launch-bridge.js.map +1 -0
  462. package/hmr/shared/runtime/module-provenance.js +4 -6
  463. package/hmr/shared/runtime/module-provenance.js.map +1 -1
  464. package/hmr/shared/runtime/ns-runtime-test-double.d.ts +21 -0
  465. package/hmr/shared/runtime/ns-runtime-test-double.js +20 -0
  466. package/hmr/shared/runtime/ns-runtime-test-double.js.map +1 -0
  467. package/hmr/shared/runtime/overlay-flag.d.ts +9 -0
  468. package/hmr/shared/runtime/overlay-flag.js +34 -0
  469. package/hmr/shared/runtime/overlay-flag.js.map +1 -0
  470. package/hmr/shared/runtime/root-placeholder-view.d.ts +19 -0
  471. package/hmr/shared/runtime/root-placeholder-view.js +311 -0
  472. package/hmr/shared/runtime/root-placeholder-view.js.map +1 -0
  473. package/hmr/shared/runtime/root-placeholder.js +401 -206
  474. package/hmr/shared/runtime/root-placeholder.js.map +1 -1
  475. package/hmr/shared/runtime/session-bootstrap.js +203 -58
  476. package/hmr/shared/runtime/session-bootstrap.js.map +1 -1
  477. package/hmr/shared/runtime/vendor-bootstrap.js +3 -10
  478. package/hmr/shared/runtime/vendor-bootstrap.js.map +1 -1
  479. package/hmr/shared/runtime/vendor-resolve.d.ts +22 -0
  480. package/hmr/shared/runtime/vendor-resolve.js +45 -0
  481. package/hmr/shared/runtime/vendor-resolve.js.map +1 -0
  482. package/hmr/shared/vendor/manifest-collect.d.ts +4 -0
  483. package/hmr/shared/vendor/manifest-collect.js +909 -0
  484. package/hmr/shared/vendor/manifest-collect.js.map +1 -0
  485. package/hmr/shared/vendor/manifest-loader.d.ts +2 -1
  486. package/hmr/shared/vendor/manifest-loader.js +5 -3
  487. package/hmr/shared/vendor/manifest-loader.js.map +1 -1
  488. package/hmr/shared/vendor/manifest.d.ts +12 -7
  489. package/hmr/shared/vendor/manifest.js +180 -826
  490. package/hmr/shared/vendor/manifest.js.map +1 -1
  491. package/hmr/shared/vendor/registry.d.ts +2 -0
  492. package/hmr/shared/vendor/registry.js +14 -0
  493. package/hmr/shared/vendor/registry.js.map +1 -1
  494. package/hmr/shared/vendor/vendor-device-shim.d.ts +1 -0
  495. package/hmr/shared/vendor/vendor-device-shim.js +208 -0
  496. package/hmr/shared/vendor/vendor-device-shim.js.map +1 -0
  497. package/hmr/shared/vendor/vendor-esbuild-plugins.d.ts +107 -0
  498. package/hmr/shared/vendor/vendor-esbuild-plugins.js +540 -0
  499. package/hmr/shared/vendor/vendor-esbuild-plugins.js.map +1 -0
  500. package/index.d.ts +1 -0
  501. package/index.js +5 -0
  502. package/index.js.map +1 -1
  503. package/package.json +65 -13
  504. package/runtime/core-aliases-early.js +28 -57
  505. package/runtime/core-aliases-early.js.map +1 -1
  506. package/shims/react-jsx-runtime.d.ts +4 -0
  507. package/shims/react-jsx-runtime.js +61 -0
  508. package/shims/react-jsx-runtime.js.map +1 -0
  509. package/helpers/angular/angular-linker.d.ts +0 -13
  510. package/helpers/angular/angular-linker.js +0 -194
  511. package/helpers/angular/angular-linker.js.map +0 -1
  512. package/helpers/angular/inline-decorator-component-templates.js.map +0 -1
  513. package/helpers/angular/shared-linker.d.ts +0 -11
  514. package/helpers/angular/shared-linker.js +0 -75
  515. package/helpers/angular/shared-linker.js.map +0 -1
  516. package/helpers/angular/synthesize-decorator-ctor-parameters.js.map +0 -1
  517. package/helpers/angular/synthesize-injectable-factories.js.map +0 -1
  518. package/helpers/angular/util.js +0 -67
  519. package/helpers/angular/util.js.map +0 -1
  520. package/helpers/module-runner-patch.d.ts +0 -3
  521. package/helpers/module-runner-patch.js +0 -63
  522. package/helpers/module-runner-patch.js.map +0 -1
  523. package/helpers/prelink-angular.d.ts +0 -2
  524. package/helpers/prelink-angular.js +0 -117
  525. package/helpers/prelink-angular.js.map +0 -1
  526. package/hmr/server/websocket-angular-entry.js.map +0 -1
  527. package/hmr/server/websocket-angular-hot-update.js.map +0 -1
  528. package/hmr/server/websocket-ns-m-finalize.d.ts +0 -22
  529. package/hmr/server/websocket-ns-m-finalize.js +0 -88
  530. package/hmr/server/websocket-ns-m-finalize.js.map +0 -1
  531. package/hmr/server/websocket-runtime-compat.d.ts +0 -19
  532. package/hmr/server/websocket-runtime-compat.js +0 -287
  533. package/hmr/server/websocket-runtime-compat.js.map +0 -1
  534. package/hmr/server/websocket-vue-sfc.d.ts +0 -27
  535. package/hmr/server/websocket-vue-sfc.js +0 -1114
  536. package/hmr/server/websocket-vue-sfc.js.map +0 -1
  537. package/hmr/shared/runtime/http-only-boot.d.ts +0 -2
  538. package/hmr/shared/runtime/http-only-boot.js +0 -171
  539. package/hmr/shared/runtime/http-only-boot.js.map +0 -1
  540. package/hmr/vendor-bootstrap.d.ts +0 -3
  541. package/hmr/vendor-bootstrap.js +0 -32
  542. package/hmr/vendor-bootstrap.js.map +0 -1
  543. package/shims/react-reconciler-constants.d.ts +0 -14
  544. package/shims/react-reconciler-constants.js +0 -21
  545. package/shims/react-reconciler-constants.js.map +0 -1
  546. package/shims/react-reconciler.d.ts +0 -8
  547. package/shims/react-reconciler.js +0 -15
  548. package/shims/react-reconciler.js.map +0 -1
  549. package/transformers/NativeClass/index.d.ts +0 -2
  550. package/transformers/NativeClass/index.js +0 -222
  551. package/transformers/NativeClass/index.js.map +0 -1
  552. /package/{helpers/angular → hmr/frameworks/angular/build}/inline-decorator-component-templates.d.ts +0 -0
  553. /package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-decorator-ctor-parameters.d.ts +0 -0
  554. /package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-injectable-factories.d.ts +0 -0
  555. /package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.d.ts +0 -0
@@ -0,0 +1,358 @@
1
+ /**
2
+ * Root-view replacement — the "make the new code visible" half of an HMR cycle.
3
+ *
4
+ * `performResetRoot` swaps the app's root for a freshly-created component
5
+ * (delegating construction to the flavor strategy's `createRoot`). Two paths:
6
+ * an in-place `Frame.navigate` fast path for subsequent updates, and a full
7
+ * `Application.resetRootView` for first mount / Frame roots / flavors that
8
+ * opt out of the fast path.
9
+ *
10
+ * Realm rule applies here as everywhere in the client: core classes are
11
+ * resolved through `getCore` / the vendor realm at call time, never via static
12
+ * `@nativescript/core` imports.
13
+ */
14
+ import { getRootFrame, setRootFrame, getCore, ENV_VERBOSE } from './utils.js';
15
+ import { getGlobalScope } from '../shared/runtime/global-scope.js';
16
+ import { resolveVendorModule } from '../shared/runtime/vendor-resolve.js';
17
+ import { getClientStrategy } from './strategy-loader.js';
18
+ const VERBOSE = ENV_VERBOSE;
19
+ // Ensure core aliases are present on globalThis early so that /ns/rt exports resolve to functions
20
+ // before any SFCs are evaluated during HTTP-only dev boot.
21
+ export function ensureCoreAliasesOnGlobalThis() {
22
+ const g = globalThis;
23
+ try {
24
+ const F = getCore('Frame') || g.Frame;
25
+ const A = getCore('Application') || g.Application;
26
+ const P = getCore('Page') || g.Page;
27
+ // Publish to globalThis if missing
28
+ try {
29
+ if (F && !g.Frame)
30
+ g.Frame = F;
31
+ }
32
+ catch { }
33
+ try {
34
+ if (A && (!g.Application || typeof g.Application.run !== 'function' || typeof g.Application.on !== 'function' || typeof g.Application.resetRootView !== 'function')) {
35
+ g.Application = A;
36
+ }
37
+ }
38
+ catch { }
39
+ try {
40
+ if (P && !g.Page)
41
+ g.Page = P;
42
+ }
43
+ catch { }
44
+ }
45
+ catch { }
46
+ }
47
+ export async function performResetRoot(newComponent) {
48
+ // Guard against re-entrant or rapid successive resets
49
+ try {
50
+ globalThis.__NS_DEV_RESET_IN_PROGRESS__ = true;
51
+ }
52
+ catch { }
53
+ try {
54
+ ensureCoreAliasesOnGlobalThis();
55
+ }
56
+ catch { }
57
+ if (VERBOSE) {
58
+ console.log('[hmr-client] Single-path: replace current root Page');
59
+ console.log('[hmr-client] Component details:', {
60
+ componentName: newComponent?.__name,
61
+ componentFile: newComponent?.__file,
62
+ hasRender: !!newComponent?.render,
63
+ hasSetup: !!newComponent?.setup,
64
+ componentKeys: Object.keys(newComponent || {}),
65
+ });
66
+ }
67
+ function createRootFactory() {
68
+ let rootKind = 'page';
69
+ let cachedRoot = undefined;
70
+ const state = {
71
+ getRootKind: () => rootKind,
72
+ setRootKind: (k) => {
73
+ rootKind = k;
74
+ },
75
+ getCachedRoot: () => cachedRoot,
76
+ setCachedRoot: (r) => {
77
+ cachedRoot = r;
78
+ },
79
+ };
80
+ const factory = {
81
+ get kind() {
82
+ return rootKind;
83
+ },
84
+ create: () => {
85
+ if (cachedRoot)
86
+ return cachedRoot;
87
+ try {
88
+ const strategy = getClientStrategy();
89
+ if (strategy?.createRoot) {
90
+ // Vue mounts an app root; TypeScript/React treat the component
91
+ // as a factory or direct NS view (and may flip rootKind to
92
+ // 'frame' via `state`).
93
+ cachedRoot = strategy.createRoot(newComponent, state);
94
+ }
95
+ return cachedRoot;
96
+ }
97
+ catch (e) {
98
+ console.warn('[hmr-client] createRootFactory failed', e);
99
+ if (VERBOSE)
100
+ console.warn('[hmr-client] [createRoot] stack', e?.stack);
101
+ const GPage = getCore('Page');
102
+ rootKind = 'page';
103
+ cachedRoot = GPage ? new GPage() : {};
104
+ return cachedRoot;
105
+ }
106
+ },
107
+ };
108
+ return factory;
109
+ }
110
+ // Android readiness before any root changes
111
+ const App = getCore('Application') || getGlobalScope().Application;
112
+ const isAndroid = !!(App && App.android !== undefined);
113
+ if (isAndroid) {
114
+ const isReady = () => {
115
+ try {
116
+ const a = App.android;
117
+ const act = a && (a.foregroundActivity || a.startActivity);
118
+ return !!act;
119
+ }
120
+ catch {
121
+ return false;
122
+ }
123
+ };
124
+ const waitFor = async (pred, ms = 6000, step = 60) => {
125
+ const start = Date.now();
126
+ while (Date.now() - start < ms) {
127
+ if (pred())
128
+ return true;
129
+ await new Promise((r) => setTimeout(r, step));
130
+ }
131
+ return pred();
132
+ };
133
+ const withEvents = async (ms = 6000) => {
134
+ try {
135
+ const a = App.android;
136
+ if (!a || typeof a.on !== 'function' || typeof a.off !== 'function') {
137
+ if (VERBOSE)
138
+ console.log('[hmr-client] [android] events API not available; polling');
139
+ return await waitFor(isReady, ms, 60);
140
+ }
141
+ if (isReady()) {
142
+ if (VERBOSE)
143
+ console.log('[hmr-client] [android] activity already ready');
144
+ return true;
145
+ }
146
+ return await new Promise((resolve) => {
147
+ let done = false;
148
+ const tWait = Date.now();
149
+ const finish = (ok) => {
150
+ if (done)
151
+ return;
152
+ done = true;
153
+ try {
154
+ a.off(a.activityStartedEvent || 'activityStarted', onAny);
155
+ a.off(a.activityResumedEvent || 'activityResumed', onAny);
156
+ }
157
+ catch { }
158
+ if (VERBOSE)
159
+ console.log('[hmr-client] [android] readiness result', {
160
+ ok,
161
+ elapsedMs: Date.now() - tWait,
162
+ });
163
+ resolve(ok);
164
+ };
165
+ const onAny = (evt) => {
166
+ if (VERBOSE)
167
+ console.log('[hmr-client] [android] activity event', {
168
+ type: evt?.eventName || 'unknown',
169
+ });
170
+ if (isReady())
171
+ finish(true);
172
+ };
173
+ try {
174
+ a.on(a.activityStartedEvent || 'activityStarted', onAny);
175
+ a.on(a.activityResumedEvent || 'activityResumed', onAny);
176
+ if (VERBOSE)
177
+ console.log('[hmr-client] [android] waiting for activity events…');
178
+ }
179
+ catch {
180
+ return resolve(waitFor(isReady, ms, 60));
181
+ }
182
+ setTimeout(() => finish(isReady()), ms);
183
+ });
184
+ }
185
+ catch {
186
+ return await waitFor(isReady, ms, 60);
187
+ }
188
+ };
189
+ const ok = await withEvents(6000);
190
+ if (!ok && VERBOSE)
191
+ console.warn('[hmr-client] [android] activity not ready; proceeding with best-effort');
192
+ }
193
+ // Create the new root first to determine whether it is a Page or a Frame
194
+ const rootFactory = createRootFactory();
195
+ const preparedRoot = rootFactory.create();
196
+ const isFrameRoot = (() => {
197
+ try {
198
+ const name = String(preparedRoot?.constructor?.name || '').replace(/^_+/, '');
199
+ return /^Frame(\$\d+)?$/.test(name);
200
+ }
201
+ catch {
202
+ return false;
203
+ }
204
+ })();
205
+ // Prefer resetRootView on initial boot (placeholder present) or on iOS to avoid early createRootView races
206
+ let hadPlaceholder = false;
207
+ let isIOS = false;
208
+ try {
209
+ hadPlaceholder = !!globalThis.__NS_DEV_PLACEHOLDER_ROOT_EARLY__;
210
+ }
211
+ catch { }
212
+ try {
213
+ const AppAny = getCore('Application') || getGlobalScope().Application;
214
+ isIOS = !!(AppAny && AppAny.ios !== undefined);
215
+ }
216
+ catch { }
217
+ // Preferred policy:
218
+ // - If this is the very first mount (placeholder present), or if the new root is a Frame,
219
+ // perform a full root replacement via resetRootView so we never couple with the placeholder.
220
+ // - Otherwise (subsequent HMR updates with an authoritative Frame already in place), re-use the
221
+ // current app Frame and navigate to the new Page. This avoids a brief flash that can occur
222
+ // when swapping the entire root view on Android. The placeholder is never involved here.
223
+ const gAnyForPolicy = getGlobalScope();
224
+ const placeholderFrame = (() => {
225
+ try {
226
+ return gAnyForPolicy.__NS_DEV_PLACEHOLDER_ROOT_VIEW__ || null;
227
+ }
228
+ catch {
229
+ return null;
230
+ }
231
+ })();
232
+ let existingAppFrame = null;
233
+ try {
234
+ existingAppFrame = getRootFrame() || getCore('Frame')?.topmost?.() || null;
235
+ }
236
+ catch { }
237
+ const isAuthoritativeFrame = !!existingAppFrame && existingAppFrame !== placeholderFrame;
238
+ // Vue: skip the in-place navigate path. After `app.mount(NSVRoot)` in getRootForVue the
239
+ // new Page already has a parent (the freshly-constructed NSVRoot), so an attempt to navigate
240
+ // the existing app Frame to that same Page completes silently without ever rebinding the
241
+ // page to the Frame — the screen keeps showing the previous render. resetRootView with a
242
+ // fresh Frame correctly reparents the Page and is the proven path that produces visible
243
+ // in-place updates for SFC HMR cycles. Non-Vue flavors keep the legacy navigate fast path.
244
+ const allowNavigateFastPath = getClientStrategy()?.allowNavigateFastPath ?? true;
245
+ if (allowNavigateFastPath && !hadPlaceholder && !isFrameRoot && isAuthoritativeFrame && typeof existingAppFrame.navigate === 'function') {
246
+ try {
247
+ const navEntry = {
248
+ create: () => preparedRoot,
249
+ clearHistory: true,
250
+ animated: false,
251
+ };
252
+ existingAppFrame.navigate(navEntry);
253
+ setRootFrame(existingAppFrame);
254
+ return true;
255
+ }
256
+ catch (e) {
257
+ console.warn('[hmr-client] authoritative navigate fallback to resetRootView due to error', e);
258
+ }
259
+ }
260
+ if (VERBOSE)
261
+ console.log('[hmr-client] full root replacement via resetRootView (placeholder will be discarded)', { isFrameRoot, isIOS, hadPlaceholder });
262
+ // Fallback or preferred path: resetRootView with a creator that builds a fresh Frame and navigates to the new Page
263
+ try {
264
+ const App2 = getCore('Application') || getGlobalScope().Application;
265
+ if (!App2 || typeof App2.resetRootView !== 'function') {
266
+ console.warn('[hmr-client] Application.resetRootView unavailable');
267
+ return false;
268
+ }
269
+ // iOS-specific: if the cached window was left in an invalid state (boolean false), clear it so
270
+ // setWindowContent can recreate a proper UIWindow. This can occur in rare early-boot races.
271
+ try {
272
+ const isIos = !!(App2 && App2.ios !== undefined);
273
+ if (isIos) {
274
+ let win = undefined;
275
+ try {
276
+ win = App2.window;
277
+ }
278
+ catch { }
279
+ if (win === false) {
280
+ if (VERBOSE)
281
+ console.warn('[hmr-client] iOS Application.window is boolean false; attempting to clear cached window');
282
+ try {
283
+ const helpers = resolveVendorModule('@nativescript/core/application/helpers-common');
284
+ const setter = helpers && (helpers.setiOSWindow || helpers.default?.setiOSWindow);
285
+ if (typeof setter === 'function') {
286
+ try {
287
+ setter(undefined);
288
+ if (VERBOSE)
289
+ console.log('[hmr-client] cleared cached iOS window via helpers-common');
290
+ }
291
+ catch { }
292
+ }
293
+ }
294
+ catch { }
295
+ }
296
+ }
297
+ }
298
+ catch { }
299
+ // Use the previously created preparedRoot
300
+ const entry = {
301
+ create: () => {
302
+ if (!isFrameRoot) {
303
+ const F = getCore('Frame');
304
+ const fr = new F();
305
+ if (VERBOSE)
306
+ console.log('[hmr-client] resetRootView:create new Frame', {
307
+ type: fr?.constructor?.name,
308
+ });
309
+ const navEntry = {
310
+ create: () => preparedRoot,
311
+ clearHistory: true,
312
+ animated: false,
313
+ };
314
+ try {
315
+ fr.navigate(navEntry);
316
+ }
317
+ catch (e) {
318
+ console.warn('[hmr-client] resetRootView:create navigate failed', e);
319
+ }
320
+ setRootFrame(fr);
321
+ return fr;
322
+ }
323
+ else {
324
+ const fr = preparedRoot;
325
+ setRootFrame(fr);
326
+ return fr;
327
+ }
328
+ },
329
+ };
330
+ // Always use an entry with a create() function to avoid cross‑realm instanceof checks on Android.
331
+ App2.resetRootView(entry);
332
+ // After authoritative reset, it's safe to detach the early placeholder launch handler
333
+ try {
334
+ const restore = globalThis.__NS_DEV_RESTORE_PLACEHOLDER__;
335
+ if (typeof restore === 'function') {
336
+ restore();
337
+ }
338
+ }
339
+ catch { }
340
+ return true;
341
+ }
342
+ catch (e) {
343
+ console.warn('[hmr-client] resetRootView failed', e);
344
+ try {
345
+ if (VERBOSE)
346
+ console.warn('[hmr-client] resetRootView stack', e?.stack);
347
+ }
348
+ catch { }
349
+ return false;
350
+ }
351
+ finally {
352
+ try {
353
+ globalThis.__NS_DEV_RESET_IN_PROGRESS__ = false;
354
+ }
355
+ catch { }
356
+ }
357
+ }
358
+ //# sourceMappingURL=root-reset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root-reset.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/client/root-reset.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,OAAO,GAAG,WAAW,CAAC;AAE5B,kGAAkG;AAClG,2DAA2D;AAC3D,MAAM,UAAU,6BAA6B;IAC5C,MAAM,CAAC,GAAG,UAAU,CAAC;IACrB,IAAI,CAAC;QACJ,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;QACtC,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;QAClD,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QACpC,mCAAmC;QACnC,IAAI,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;gBAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,IAAI,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC,WAAW,CAAC,GAAG,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,WAAW,CAAC,aAAa,KAAK,UAAU,CAAC,EAAE,CAAC;gBACrK,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC;YACnB,CAAC;QACF,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,IAAI,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACX,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACX,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,YAAiB;IACvD,sDAAsD;IACtD,IAAI,CAAC;QACJ,UAAU,CAAC,4BAA4B,GAAG,IAAI,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,IAAI,CAAC;QACJ,6BAA6B,EAAE,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,IAAI,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE;YAC9C,aAAa,EAAG,YAAoB,EAAE,MAAM;YAC5C,aAAa,EAAG,YAAoB,EAAE,MAAM;YAC5C,SAAS,EAAE,CAAC,CAAE,YAAoB,EAAE,MAAM;YAC1C,QAAQ,EAAE,CAAC,CAAE,YAAoB,EAAE,KAAK;YACxC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;SAC9C,CAAC,CAAC;IACJ,CAAC;IAID,SAAS,iBAAiB;QACzB,IAAI,QAAQ,GAAqB,MAAM,CAAC;QACxC,IAAI,UAAU,GAAQ,SAAS,CAAC;QAChC,MAAM,KAAK,GAAG;YACb,WAAW,EAAE,GAAG,EAAE,CAAC,QAAQ;YAC3B,WAAW,EAAE,CAAC,CAAmB,EAAE,EAAE;gBACpC,QAAQ,GAAG,CAAC,CAAC;YACd,CAAC;YACD,aAAa,EAAE,GAAG,EAAE,CAAC,UAAU;YAC/B,aAAa,EAAE,CAAC,CAAM,EAAE,EAAE;gBACzB,UAAU,GAAG,CAAC,CAAC;YAChB,CAAC;SACD,CAAC;QACF,MAAM,OAAO,GAAgB;YAC5B,IAAI,IAAI;gBACP,OAAO,QAAQ,CAAC;YACjB,CAAC;YACD,MAAM,EAAE,GAAG,EAAE;gBACZ,IAAI,UAAU;oBAAE,OAAO,UAAU,CAAC;gBAClC,IAAI,CAAC;oBACJ,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;oBACrC,IAAI,QAAQ,EAAE,UAAU,EAAE,CAAC;wBAC1B,+DAA+D;wBAC/D,2DAA2D;wBAC3D,wBAAwB;wBACxB,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;oBACvD,CAAC;oBACD,OAAO,UAAU,CAAC;gBACnB,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC,uCAAuC,EAAE,CAAC,CAAC,CAAC;oBACzD,IAAI,OAAO;wBAAE,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAG,CAAS,EAAE,KAAK,CAAC,CAAC;oBAChF,MAAM,KAAK,GAAQ,OAAO,CAAC,MAAM,CAAC,CAAC;oBACnC,QAAQ,GAAG,MAAM,CAAC;oBAClB,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAE,EAAU,CAAC;oBAC/C,OAAO,UAAU,CAAC;gBACnB,CAAC;YACF,CAAC;SACc,CAAC;QACjB,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,4CAA4C;IAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,cAAc,EAAE,CAAC,WAAW,CAAC;IACnE,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,GAAG,IAAK,GAAW,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;IAChE,IAAI,SAAS,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,GAAG,EAAE;YACpB,IAAI,CAAC;gBACJ,MAAM,CAAC,GAAS,GAAW,CAAC,OAAO,CAAC;gBACpC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;gBAC3D,OAAO,CAAC,CAAC,GAAG,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACR,OAAO,KAAK,CAAC;YACd,CAAC;QACF,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,KAAK,EAAE,IAAmB,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;YACnE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE,EAAE,CAAC;gBAChC,IAAI,IAAI,EAAE;oBAAE,OAAO,IAAI,CAAC;gBACxB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC/C,CAAC;YACD,OAAO,IAAI,EAAE,CAAC;QACf,CAAC,CAAC;QACF,MAAM,UAAU,GAAG,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE;YACtC,IAAI,CAAC;gBACJ,MAAM,CAAC,GAAS,GAAW,CAAC,OAAO,CAAC;gBACpC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;oBACrE,IAAI,OAAO;wBAAE,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;oBACrF,OAAO,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACvC,CAAC;gBACD,IAAI,OAAO,EAAE,EAAE,CAAC;oBACf,IAAI,OAAO;wBAAE,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;oBAC1E,OAAO,IAAI,CAAC;gBACb,CAAC;gBACD,OAAO,MAAM,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;oBAC7C,IAAI,IAAI,GAAG,KAAK,CAAC;oBACjB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACzB,MAAM,MAAM,GAAG,CAAC,EAAW,EAAE,EAAE;wBAC9B,IAAI,IAAI;4BAAE,OAAO;wBACjB,IAAI,GAAG,IAAI,CAAC;wBACZ,IAAI,CAAC;4BACJ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,oBAAoB,IAAI,iBAAiB,EAAE,KAAK,CAAC,CAAC;4BAC1D,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,oBAAoB,IAAI,iBAAiB,EAAE,KAAK,CAAC,CAAC;wBAC3D,CAAC;wBAAC,MAAM,CAAC,CAAA,CAAC;wBACV,IAAI,OAAO;4BACV,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE;gCACtD,EAAE;gCACF,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;6BAC7B,CAAC,CAAC;wBACJ,OAAO,CAAC,EAAE,CAAC,CAAC;oBACb,CAAC,CAAC;oBACF,MAAM,KAAK,GAAG,CAAC,GAAS,EAAE,EAAE;wBAC3B,IAAI,OAAO;4BACV,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE;gCACpD,IAAI,EAAE,GAAG,EAAE,SAAS,IAAI,SAAS;6BACjC,CAAC,CAAC;wBACJ,IAAI,OAAO,EAAE;4BAAE,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC7B,CAAC,CAAC;oBACF,IAAI,CAAC;wBACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,IAAI,iBAAiB,EAAE,KAAK,CAAC,CAAC;wBACzD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,IAAI,iBAAiB,EAAE,KAAK,CAAC,CAAC;wBACzD,IAAI,OAAO;4BAAE,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;oBACjF,CAAC;oBAAC,MAAM,CAAC;wBACR,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;oBAC1C,CAAC;oBACD,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACR,OAAO,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACvC,CAAC;QACF,CAAC,CAAC;QACF,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,EAAE,IAAI,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;IAC5G,CAAC;IAED,yEAAyE;IACzE,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;IACxC,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;IAC1C,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE;QACzB,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC9E,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC,CAAC,EAAE,CAAC;IACL,2GAA2G;IAC3G,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,CAAC;QACJ,cAAc,GAAG,CAAC,CAAC,UAAU,CAAC,iCAAiC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,IAAI,CAAC;QACJ,MAAM,MAAM,GAAQ,OAAO,CAAC,aAAa,CAAC,IAAI,cAAc,EAAE,CAAC,WAAW,CAAC;QAC3E,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,IAAK,MAAc,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,oBAAoB;IACpB,0FAA0F;IAC1F,+FAA+F;IAC/F,gGAAgG;IAChG,6FAA6F;IAC7F,2FAA2F;IAC3F,MAAM,aAAa,GAAQ,cAAc,EAAE,CAAC;IAC5C,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE;QAC9B,IAAI,CAAC;YACJ,OAAO,aAAa,CAAC,gCAAgC,IAAI,IAAI,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC,CAAC,EAAE,CAAC;IACL,IAAI,gBAAgB,GAAQ,IAAI,CAAC;IACjC,IAAI,CAAC;QACJ,gBAAgB,GAAG,YAAY,EAAE,IAAK,OAAO,CAAC,OAAO,CAAS,EAAE,OAAO,EAAE,EAAE,IAAI,IAAI,CAAC;IACrF,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,MAAM,oBAAoB,GAAG,CAAC,CAAC,gBAAgB,IAAI,gBAAgB,KAAK,gBAAgB,CAAC;IACzF,wFAAwF;IACxF,6FAA6F;IAC7F,yFAAyF;IACzF,yFAAyF;IACzF,wFAAwF;IACxF,2FAA2F;IAC3F,MAAM,qBAAqB,GAAG,iBAAiB,EAAE,EAAE,qBAAqB,IAAI,IAAI,CAAC;IACjF,IAAI,qBAAqB,IAAI,CAAC,cAAc,IAAI,CAAC,WAAW,IAAI,oBAAoB,IAAI,OAAQ,gBAAwB,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QAClJ,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG;gBAChB,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY;gBAC1B,YAAY,EAAE,IAAI;gBAClB,QAAQ,EAAE,KAAK;aACR,CAAC;YACR,gBAAwB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC7C,YAAY,CAAC,gBAAgB,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC;QACb,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,4EAA4E,EAAE,CAAC,CAAC,CAAC;QAC/F,CAAC;IACF,CAAC;IACD,IAAI,OAAO;QAAE,OAAO,CAAC,GAAG,CAAC,sFAAsF,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;IAEzJ,mHAAmH;IACnH,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,cAAc,EAAE,CAAC,WAAW,CAAC;QACpE,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YACnE,OAAO,KAAK,CAAC;QACd,CAAC;QACD,+FAA+F;QAC/F,4FAA4F;QAC5F,IAAI,CAAC;YACJ,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,IAAK,IAAY,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;YAC1D,IAAI,KAAK,EAAE,CAAC;gBACX,IAAI,GAAG,GAAQ,SAAS,CAAC;gBACzB,IAAI,CAAC;oBACJ,GAAG,GAAI,IAAY,CAAC,MAAM,CAAC;gBAC5B,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;gBACV,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;oBACnB,IAAI,OAAO;wBAAE,OAAO,CAAC,IAAI,CAAC,yFAAyF,CAAC,CAAC;oBACrH,IAAI,CAAC;wBACJ,MAAM,OAAO,GAAQ,mBAAmB,CAAC,+CAA+C,CAAC,CAAC;wBAC1F,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;wBAClF,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;4BAClC,IAAI,CAAC;gCACJ,MAAM,CAAC,SAAgB,CAAC,CAAC;gCACzB,IAAI,OAAO;oCAAE,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;4BACvF,CAAC;4BAAC,MAAM,CAAC,CAAA,CAAC;wBACX,CAAC;oBACF,CAAC;oBAAC,MAAM,CAAC,CAAA,CAAC;gBACX,CAAC;YACF,CAAC;QACF,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,0CAA0C;QAC1C,MAAM,KAAK,GAAG;YACb,MAAM,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,WAAW,EAAE,CAAC;oBAClB,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;oBAC3B,MAAM,EAAE,GAAG,IAAK,CAAS,EAAE,CAAC;oBAC5B,IAAI,OAAO;wBACV,OAAO,CAAC,GAAG,CAAC,6CAA6C,EAAE;4BAC1D,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI;yBAC3B,CAAC,CAAC;oBACJ,MAAM,QAAQ,GAAG;wBAChB,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY;wBAC1B,YAAY,EAAE,IAAI;wBAClB,QAAQ,EAAE,KAAK;qBACR,CAAC;oBACT,IAAI,CAAC;wBACH,EAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAChC,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACZ,OAAO,CAAC,IAAI,CAAC,mDAAmD,EAAE,CAAC,CAAC,CAAC;oBACtE,CAAC;oBACD,YAAY,CAAC,EAAE,CAAC,CAAC;oBACjB,OAAO,EAAE,CAAC;gBACX,CAAC;qBAAM,CAAC;oBACP,MAAM,EAAE,GAAG,YAAY,CAAC;oBACxB,YAAY,CAAC,EAAE,CAAC,CAAC;oBACjB,OAAO,EAAE,CAAC;gBACX,CAAC;YACF,CAAC;SACM,CAAC;QACT,kGAAkG;QAClG,IAAI,CAAC,aAAa,CAAC,KAAY,CAAC,CAAC;QACjC,sFAAsF;QACtF,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,UAAU,CAAC,8BAA8B,CAAC;YAC1D,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;gBACnC,OAAO,EAAE,CAAC;YACX,CAAC;QACF,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC;YACJ,IAAI,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAG,CAAS,EAAE,KAAK,CAAC,CAAC;QAClF,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,OAAO,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACV,IAAI,CAAC;YACJ,UAAU,CAAC,4BAA4B,GAAG,KAAK,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACX,CAAC;AACF,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Flavor detection + framework client-strategy loading.
3
+ *
4
+ * The shared client talks to frameworks only through the client-strategy seam
5
+ * (`framework-client-strategy.ts`). The strategy is loaded by ONE dynamic
6
+ * per-flavor `import()` so a device only ever fetches its OWN framework's client
7
+ * module — a Vue app never fetches the Angular client, and vice versa.
8
+ *
9
+ * The load is async (one HTTP-ESM fetch on device), so `CLIENT_STRATEGY_READY`
10
+ * is awaited at the top of `handleHmrMessage` before any message is processed —
11
+ * every strategy call site downstream of message processing therefore observes a
12
+ * fully-installed strategy. `install()` itself is best-effort (idempotent dev
13
+ * shims) and not boot-critical, so resolving it slightly after module load is
14
+ * safe.
15
+ */
16
+ import type { FrameworkClientStrategy } from './framework-client-strategy.js';
17
+ export declare const TARGET_FLAVOR: string;
18
+ export declare const TS_LIKE_FLAVOR: boolean;
19
+ export declare const APP_ROOT_VIRTUAL: any;
20
+ export declare const APP_VIRTUAL_WITH_SLASH: any;
21
+ export declare const APP_MAIN_ENTRY_SPEC: string;
22
+ export declare const CLIENT_STRATEGY_READY: Promise<void>;
23
+ /** Undefined until `CLIENT_STRATEGY_READY` resolves (or when the flavor ships no client strategy). */
24
+ export declare function getClientStrategy(): FrameworkClientStrategy | undefined;
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Flavor detection + framework client-strategy loading.
3
+ *
4
+ * The shared client talks to frameworks only through the client-strategy seam
5
+ * (`framework-client-strategy.ts`). The strategy is loaded by ONE dynamic
6
+ * per-flavor `import()` so a device only ever fetches its OWN framework's client
7
+ * module — a Vue app never fetches the Angular client, and vice versa.
8
+ *
9
+ * The load is async (one HTTP-ESM fetch on device), so `CLIENT_STRATEGY_READY`
10
+ * is awaited at the top of `handleHmrMessage` before any message is processed —
11
+ * every strategy call site downstream of message processing therefore observes a
12
+ * fully-installed strategy. `install()` itself is best-effort (idempotent dev
13
+ * shims) and not boot-critical, so resolving it slightly after module load is
14
+ * safe.
15
+ */
16
+ import { getGlobalScope } from '../shared/runtime/global-scope.js';
17
+ import { ENV_VERBOSE } from './utils.js';
18
+ const VERBOSE = ENV_VERBOSE;
19
+ function resolveTargetFlavor() {
20
+ try {
21
+ if (typeof __NS_TARGET_FLAVOR__ !== 'undefined' && __NS_TARGET_FLAVOR__) {
22
+ return __NS_TARGET_FLAVOR__;
23
+ }
24
+ }
25
+ catch { }
26
+ try {
27
+ const g = getGlobalScope();
28
+ if (typeof g.__NS_TARGET_FLAVOR__ === 'string' && g.__NS_TARGET_FLAVOR__) {
29
+ return g.__NS_TARGET_FLAVOR__;
30
+ }
31
+ if (typeof g.__NS_HMR_BROWSER_RUNTIME_TARGET_FLAVOR__ === 'string' && g.__NS_HMR_BROWSER_RUNTIME_TARGET_FLAVOR__) {
32
+ return g.__NS_HMR_BROWSER_RUNTIME_TARGET_FLAVOR__;
33
+ }
34
+ if (typeof g.__reboot_ng_modules__ === 'function') {
35
+ return 'angular';
36
+ }
37
+ if (g.__VUE_HMR_RUNTIME__ || g.__NS_HMR_VUE_SFC_REGISTRY__) {
38
+ return 'vue';
39
+ }
40
+ }
41
+ catch { }
42
+ return undefined;
43
+ }
44
+ export const TARGET_FLAVOR = resolveTargetFlavor();
45
+ // React reuses the generic TypeScript HMR path on BOTH server and client: it has
46
+ // no Fast Refresh, so a module edit drives a plain module reload / root reset
47
+ // (the React tree re-renders), exactly like the `typescript` flavor. The server
48
+ // strategy is `{ ...typescriptServerStrategy, flavor: 'react' }`; this mirrors that
49
+ // on the client so the `typescript`-gated update branches also run for React
50
+ // (otherwise a React edit is received but never applied — the overlay sticks).
51
+ export const TS_LIKE_FLAVOR = TARGET_FLAVOR === 'typescript' || TARGET_FLAVOR === 'react';
52
+ try {
53
+ if (TARGET_FLAVOR && !globalThis.__NS_TARGET_FLAVOR__) {
54
+ globalThis.__NS_TARGET_FLAVOR__ = TARGET_FLAVOR;
55
+ }
56
+ }
57
+ catch { }
58
+ // Define substitution does NOT reach this file (served raw from node_modules),
59
+ // so prefer the globalThis seed planted by the entry's defines-seed module —
60
+ // the '/src' literal is a last-resort default and is WRONG for 'app/'-rooted
61
+ // projects.
62
+ export const APP_ROOT_VIRTUAL = (typeof __NS_APP_ROOT_VIRTUAL__ === 'string' && __NS_APP_ROOT_VIRTUAL__) || (typeof getGlobalScope().__NS_APP_ROOT_VIRTUAL__ === 'string' && getGlobalScope().__NS_APP_ROOT_VIRTUAL__) || '/src';
63
+ export const APP_VIRTUAL_WITH_SLASH = APP_ROOT_VIRTUAL.endsWith('/') ? APP_ROOT_VIRTUAL : `${APP_ROOT_VIRTUAL}/`;
64
+ export const APP_MAIN_ENTRY_SPEC = `${APP_VIRTUAL_WITH_SLASH}app.ts`;
65
+ const CLIENT_STRATEGY_FLAVORS = new Set(['vue', 'angular', 'solid', 'typescript', 'react']);
66
+ let CLIENT_STRATEGY;
67
+ export const CLIENT_STRATEGY_READY = TARGET_FLAVOR && CLIENT_STRATEGY_FLAVORS.has(TARGET_FLAVOR)
68
+ ? import(`../frameworks/${TARGET_FLAVOR}/client/strategy.js`)
69
+ .then((mod) => {
70
+ CLIENT_STRATEGY = mod && mod[`${TARGET_FLAVOR}ClientStrategy`];
71
+ if (VERBOSE)
72
+ console.log('[hmr-client] client strategy loaded for flavor:', TARGET_FLAVOR);
73
+ CLIENT_STRATEGY?.install();
74
+ })
75
+ .catch((err) => {
76
+ console.warn('[hmr-client] failed to load client strategy for', TARGET_FLAVOR, err);
77
+ })
78
+ : Promise.resolve();
79
+ /** Undefined until `CLIENT_STRATEGY_READY` resolves (or when the flavor ships no client strategy). */
80
+ export function getClientStrategy() {
81
+ return CLIENT_STRATEGY;
82
+ }
83
+ //# sourceMappingURL=strategy-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategy-loader.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/client/strategy-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,MAAM,OAAO,GAAG,WAAW,CAAC;AAE5B,SAAS,mBAAmB;IAC3B,IAAI,CAAC;QACJ,IAAI,OAAO,oBAAoB,KAAK,WAAW,IAAI,oBAAoB,EAAE,CAAC;YACzE,OAAO,oBAAoB,CAAC;QAC7B,CAAC;IACF,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,IAAI,CAAC;QACJ,MAAM,CAAC,GAAQ,cAAc,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,CAAC,oBAAoB,KAAK,QAAQ,IAAI,CAAC,CAAC,oBAAoB,EAAE,CAAC;YAC1E,OAAO,CAAC,CAAC,oBAAoB,CAAC;QAC/B,CAAC;QACD,IAAI,OAAO,CAAC,CAAC,wCAAwC,KAAK,QAAQ,IAAI,CAAC,CAAC,wCAAwC,EAAE,CAAC;YAClH,OAAO,CAAC,CAAC,wCAAwC,CAAC;QACnD,CAAC;QACD,IAAI,OAAO,CAAC,CAAC,qBAAqB,KAAK,UAAU,EAAE,CAAC;YACnD,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,CAAC,mBAAmB,IAAI,CAAC,CAAC,2BAA2B,EAAE,CAAC;YAC5D,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;AAEnD,iFAAiF;AACjF,8EAA8E;AAC9E,gFAAgF;AAChF,oFAAoF;AACpF,6EAA6E;AAC7E,+EAA+E;AAC/E,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,KAAK,YAAY,IAAI,aAAa,KAAK,OAAO,CAAC;AAE1F,IAAI,CAAC;IACJ,IAAI,aAAa,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;QACvD,UAAU,CAAC,oBAAoB,GAAG,aAAa,CAAC;IACjD,CAAC;AACF,CAAC;AAAC,MAAM,CAAC,CAAA,CAAC;AAEV,+EAA+E;AAC/E,6EAA6E;AAC7E,6EAA6E;AAC7E,YAAY;AACZ,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAO,uBAAuB,KAAK,QAAQ,IAAI,uBAAuB,CAAC,IAAI,CAAC,OAAO,cAAc,EAAE,CAAC,uBAAuB,KAAK,QAAQ,IAAI,cAAc,EAAE,CAAC,uBAAuB,CAAC,IAAI,MAAM,CAAC;AACjO,MAAM,CAAC,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,GAAG,CAAC;AACjH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,sBAAsB,QAAQ,CAAC;AAErE,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;AAC5F,IAAI,eAAoD,CAAC;AAEzD,MAAM,CAAC,MAAM,qBAAqB,GACjC,aAAa,IAAI,uBAAuB,CAAC,GAAG,CAAC,aAAa,CAAC;IAC1D,CAAC,CAAC,MAAM,CAAC,iBAAiB,aAAa,qBAAqB,CAAC;SAC1D,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE;QAClB,eAAe,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,aAAa,gBAAgB,CAAC,CAAC;QAC/D,IAAI,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,iDAAiD,EAAE,aAAa,CAAC,CAAC;QAC3F,eAAe,EAAE,OAAO,EAAE,CAAC;IAC5B,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACd,OAAO,CAAC,IAAI,CAAC,iDAAiD,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;IACrF,CAAC,CAAC;IACJ,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;AAEtB,sGAAsG;AACtG,MAAM,UAAU,iBAAiB;IAChC,OAAO,eAAe,CAAC;AACxB,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Update pipeline — graph state + the evict-then-reimport queue.
3
+ *
4
+ * Owns the client's view of the module graph (full-graph / delta application)
5
+ * and the changed-module queue that turns a delta into fresh module bodies on
6
+ * device. The ordering inside `processQueue` is load-bearing: explicit
7
+ * eviction MUST complete before re-import, or V8's module registry serves the
8
+ * stale cached module and the drain becomes a silent no-op.
9
+ */
10
+ export declare function hasReceivedFirstFullGraph(): boolean;
11
+ export declare function markFullGraphReceived(): void;
12
+ export declare function applyFullGraph(payload: any): void;
13
+ export declare function applyDelta(payload: any): void;
14
+ export declare function processQueue(): Promise<void>;
15
+ /**
16
+ * Full-graph resync fallback: the server chose to broadcast a fresh graph
17
+ * instead of a delta (reconnect, version drift). Infer which modules changed
18
+ * by hash-diffing against the previous snapshot and evict + re-import them —
19
+ * same V8-cache pitfall as `processQueue`, same eviction-first ordering.
20
+ * Without re-import, HTTP ESM caching means module bodies (and side effects)
21
+ * won't re-run.
22
+ */
23
+ export declare function reimportInferredFullGraphChanges(prevGraph: Map<string, {
24
+ id: string;
25
+ deps: string[];
26
+ hash: string;
27
+ }>): Promise<void>;