@nativescript/vite 8.0.0-alpha.6 → 8.0.0-alpha.61

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 (465) hide show
  1. package/README.md +51 -11
  2. package/bin/cli.cjs +8 -14
  3. package/configuration/angular.d.ts +34 -1
  4. package/configuration/angular.js +390 -165
  5. package/configuration/angular.js.map +1 -1
  6. package/configuration/base.js +244 -53
  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-state.d.ts +8 -0
  19. package/helpers/app-css-state.js +8 -0
  20. package/helpers/app-css-state.js.map +1 -0
  21. package/helpers/bundler-context.d.ts +11 -0
  22. package/helpers/bundler-context.js +71 -0
  23. package/helpers/bundler-context.js.map +1 -0
  24. package/helpers/cli-flags.d.ts +12 -0
  25. package/helpers/cli-flags.js +34 -0
  26. package/helpers/cli-flags.js.map +1 -1
  27. package/helpers/css-platform-plugin.d.ts +14 -0
  28. package/helpers/css-platform-plugin.js +43 -25
  29. package/helpers/css-platform-plugin.js.map +1 -1
  30. package/helpers/dev-host.d.ts +360 -0
  31. package/helpers/dev-host.js +694 -0
  32. package/helpers/dev-host.js.map +1 -0
  33. package/helpers/dynamic-import-plugin.js +9 -4
  34. package/helpers/dynamic-import-plugin.js.map +1 -1
  35. package/helpers/esbuild-platform-resolver.js +4 -1
  36. package/helpers/esbuild-platform-resolver.js.map +1 -1
  37. package/helpers/external-configs.d.ts +10 -12
  38. package/helpers/external-configs.js +58 -35
  39. package/helpers/external-configs.js.map +1 -1
  40. package/helpers/global-defines.d.ts +100 -13
  41. package/helpers/global-defines.js +165 -28
  42. package/helpers/global-defines.js.map +1 -1
  43. package/helpers/hmr-scope.d.ts +26 -0
  44. package/helpers/hmr-scope.js +67 -0
  45. package/helpers/hmr-scope.js.map +1 -0
  46. package/helpers/init.js +0 -18
  47. package/helpers/init.js.map +1 -1
  48. package/helpers/logging.js +29 -1
  49. package/helpers/logging.js.map +1 -1
  50. package/helpers/main-entry.d.ts +4 -1
  51. package/helpers/main-entry.js +368 -53
  52. package/helpers/main-entry.js.map +1 -1
  53. package/helpers/nativeclass-esbuild-plugin.d.ts +2 -1
  54. package/helpers/nativeclass-esbuild-plugin.js +6 -1
  55. package/helpers/nativeclass-esbuild-plugin.js.map +1 -1
  56. package/helpers/nativeclass-transform.d.ts +13 -0
  57. package/helpers/nativeclass-transform.js +37 -7
  58. package/helpers/nativeclass-transform.js.map +1 -1
  59. package/helpers/nativeclass-transformer-plugin.d.ts +9 -2
  60. package/helpers/nativeclass-transformer-plugin.js +163 -15
  61. package/helpers/nativeclass-transformer-plugin.js.map +1 -1
  62. package/helpers/nativescript-package-resolver.js +10 -62
  63. package/helpers/nativescript-package-resolver.js.map +1 -1
  64. package/helpers/normalize-id.d.ts +42 -0
  65. package/helpers/normalize-id.js +60 -0
  66. package/helpers/normalize-id.js.map +1 -0
  67. package/helpers/ns-core-url.d.ts +29 -7
  68. package/helpers/ns-core-url.js +69 -12
  69. package/helpers/ns-core-url.js.map +1 -1
  70. package/helpers/optimize-deps.d.ts +16 -0
  71. package/helpers/optimize-deps.js +17 -0
  72. package/helpers/optimize-deps.js.map +1 -0
  73. package/helpers/package-platform-aliases.js +34 -49
  74. package/helpers/package-platform-aliases.js.map +1 -1
  75. package/helpers/platform-types.d.ts +2 -0
  76. package/helpers/platform-types.js +2 -0
  77. package/helpers/platform-types.js.map +1 -0
  78. package/helpers/postcss-platform-config.d.ts +17 -1
  79. package/helpers/postcss-platform-config.js +20 -37
  80. package/helpers/postcss-platform-config.js.map +1 -1
  81. package/helpers/project.d.ts +35 -0
  82. package/helpers/project.js +120 -2
  83. package/helpers/project.js.map +1 -1
  84. package/helpers/resolve-main-field-platform.d.ts +20 -0
  85. package/helpers/resolve-main-field-platform.js +49 -0
  86. package/helpers/resolve-main-field-platform.js.map +1 -0
  87. package/helpers/resolver.js +17 -2
  88. package/helpers/resolver.js.map +1 -1
  89. package/helpers/theme-core-plugins.js +1 -1
  90. package/helpers/theme-core-plugins.js.map +1 -1
  91. package/helpers/ts-config-paths.d.ts +32 -0
  92. package/helpers/ts-config-paths.js +156 -27
  93. package/helpers/ts-config-paths.js.map +1 -1
  94. package/helpers/typescript-check.d.ts +2 -1
  95. package/helpers/typescript-check.js +2 -2
  96. package/helpers/typescript-check.js.map +1 -1
  97. package/helpers/ui-registration.d.ts +21 -0
  98. package/helpers/ui-registration.js +156 -0
  99. package/helpers/ui-registration.js.map +1 -0
  100. package/helpers/utils.d.ts +9 -0
  101. package/helpers/utils.js +22 -2
  102. package/helpers/utils.js.map +1 -1
  103. package/helpers/vite-package-version.d.ts +7 -0
  104. package/helpers/vite-package-version.js +44 -0
  105. package/helpers/vite-package-version.js.map +1 -0
  106. package/helpers/workers.d.ts +48 -19
  107. package/helpers/workers.js +662 -13
  108. package/helpers/workers.js.map +1 -1
  109. package/hmr/client/css-handler.d.ts +2 -1
  110. package/hmr/client/css-handler.js +50 -26
  111. package/hmr/client/css-handler.js.map +1 -1
  112. package/hmr/client/css-update-overlay.d.ts +18 -0
  113. package/hmr/client/css-update-overlay.js +27 -0
  114. package/hmr/client/css-update-overlay.js.map +1 -0
  115. package/hmr/client/framework-client-strategy.d.ts +79 -0
  116. package/hmr/client/framework-client-strategy.js +19 -0
  117. package/hmr/client/framework-client-strategy.js.map +1 -0
  118. package/hmr/client/hmr-pending-overlay.d.ts +0 -14
  119. package/hmr/client/hmr-pending-overlay.js +14 -4
  120. package/hmr/client/hmr-pending-overlay.js.map +1 -1
  121. package/hmr/client/hot-context.d.ts +67 -0
  122. package/hmr/client/hot-context.js +284 -0
  123. package/hmr/client/hot-context.js.map +1 -0
  124. package/hmr/client/index.js +922 -273
  125. package/hmr/client/index.js.map +1 -1
  126. package/hmr/client/utils.d.ts +2 -1
  127. package/hmr/client/utils.js +111 -99
  128. package/hmr/client/utils.js.map +1 -1
  129. package/hmr/entry-runtime.d.ts +2 -1
  130. package/hmr/entry-runtime.js +279 -71
  131. package/hmr/entry-runtime.js.map +1 -1
  132. package/hmr/frameworks/angular/build/angular-linker.d.ts +12 -0
  133. package/hmr/frameworks/angular/build/angular-linker.js +109 -0
  134. package/hmr/frameworks/angular/build/angular-linker.js.map +1 -0
  135. package/hmr/frameworks/angular/build/inject-component-hmr-registration.d.ts +112 -0
  136. package/hmr/frameworks/angular/build/inject-component-hmr-registration.js +291 -0
  137. package/hmr/frameworks/angular/build/inject-component-hmr-registration.js.map +1 -0
  138. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.d.ts +75 -0
  139. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js +221 -0
  140. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js.map +1 -0
  141. package/{helpers/angular → hmr/frameworks/angular/build}/inline-decorator-component-templates.js +1 -170
  142. package/hmr/frameworks/angular/build/inline-decorator-component-templates.js.map +1 -0
  143. package/hmr/frameworks/angular/build/js-lexer.d.ts +4 -0
  144. package/{helpers/angular/synthesize-decorator-ctor-parameters.js → hmr/frameworks/angular/build/js-lexer.js} +22 -96
  145. package/hmr/frameworks/angular/build/js-lexer.js.map +1 -0
  146. package/hmr/frameworks/angular/build/shared-linker.d.ts +39 -0
  147. package/hmr/frameworks/angular/build/shared-linker.js +128 -0
  148. package/hmr/frameworks/angular/build/shared-linker.js.map +1 -0
  149. package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js +88 -0
  150. package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js.map +1 -0
  151. package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-injectable-factories.js +1 -174
  152. package/hmr/frameworks/angular/build/synthesize-injectable-factories.js.map +1 -0
  153. package/{helpers/angular → hmr/frameworks/angular/build}/util.d.ts +1 -0
  154. package/hmr/frameworks/angular/build/util.js +155 -0
  155. package/hmr/frameworks/angular/build/util.js.map +1 -0
  156. package/hmr/frameworks/angular/client/index.js +542 -175
  157. package/hmr/frameworks/angular/client/index.js.map +1 -1
  158. package/hmr/frameworks/angular/client/strategy.d.ts +9 -0
  159. package/hmr/frameworks/angular/client/strategy.js +19 -0
  160. package/hmr/frameworks/angular/client/strategy.js.map +1 -0
  161. package/hmr/frameworks/angular/server/angular-root-component.d.ts +79 -0
  162. package/hmr/frameworks/angular/server/angular-root-component.js +149 -0
  163. package/hmr/frameworks/angular/server/angular-root-component.js.map +1 -0
  164. package/hmr/frameworks/angular/server/linker.js +1 -4
  165. package/hmr/frameworks/angular/server/linker.js.map +1 -1
  166. package/hmr/frameworks/angular/server/strategy.js +458 -12
  167. package/hmr/frameworks/angular/server/strategy.js.map +1 -1
  168. package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.js +2 -2
  169. package/hmr/frameworks/angular/server/websocket-angular-entry.js.map +1 -0
  170. package/hmr/{server → frameworks/angular/server}/websocket-angular-hot-update.d.ts +14 -11
  171. package/hmr/{server → frameworks/angular/server}/websocket-angular-hot-update.js +108 -111
  172. package/hmr/frameworks/angular/server/websocket-angular-hot-update.js.map +1 -0
  173. package/hmr/frameworks/react/server/strategy.d.ts +2 -0
  174. package/hmr/frameworks/react/server/strategy.js +230 -0
  175. package/hmr/frameworks/react/server/strategy.js.map +1 -0
  176. package/hmr/frameworks/solid/build/solid-jsx-deps.d.ts +15 -0
  177. package/hmr/frameworks/solid/build/solid-jsx-deps.js +178 -0
  178. package/hmr/frameworks/solid/build/solid-jsx-deps.js.map +1 -0
  179. package/hmr/frameworks/solid/client/app-runtime.d.ts +68 -0
  180. package/hmr/frameworks/solid/client/app-runtime.js +246 -0
  181. package/hmr/frameworks/solid/client/app-runtime.js.map +1 -0
  182. package/hmr/frameworks/solid/server/strategy.js +291 -16
  183. package/hmr/frameworks/solid/server/strategy.js.map +1 -1
  184. package/hmr/frameworks/typescript/server/strategy.js +38 -14
  185. package/hmr/frameworks/typescript/server/strategy.js.map +1 -1
  186. package/hmr/frameworks/vue/client/dep-propagation.d.ts +44 -0
  187. package/hmr/frameworks/vue/client/dep-propagation.js +148 -0
  188. package/hmr/frameworks/vue/client/dep-propagation.js.map +1 -0
  189. package/hmr/frameworks/vue/client/index.d.ts +9 -0
  190. package/hmr/frameworks/vue/client/index.js +251 -247
  191. package/hmr/frameworks/vue/client/index.js.map +1 -1
  192. package/hmr/frameworks/vue/client/strategy.d.ts +33 -0
  193. package/hmr/frameworks/vue/client/strategy.js +157 -0
  194. package/hmr/frameworks/vue/client/strategy.js.map +1 -0
  195. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.d.ts +49 -0
  196. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js +142 -0
  197. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js.map +1 -0
  198. package/hmr/frameworks/vue/server/compiler.d.ts +3 -1
  199. package/hmr/frameworks/vue/server/compiler.js +3 -1
  200. package/hmr/frameworks/vue/server/compiler.js.map +1 -1
  201. package/hmr/frameworks/vue/server/sfc-route-assemble.d.ts +7 -0
  202. package/hmr/frameworks/vue/server/sfc-route-assemble.js +823 -0
  203. package/hmr/frameworks/vue/server/sfc-route-assemble.js.map +1 -0
  204. package/hmr/frameworks/vue/server/sfc-route-meta.d.ts +7 -0
  205. package/hmr/frameworks/vue/server/sfc-route-meta.js +80 -0
  206. package/hmr/frameworks/vue/server/sfc-route-meta.js.map +1 -0
  207. package/hmr/frameworks/vue/server/sfc-route-serve.d.ts +8 -0
  208. package/hmr/frameworks/vue/server/sfc-route-serve.js +462 -0
  209. package/hmr/frameworks/vue/server/sfc-route-serve.js.map +1 -0
  210. package/hmr/frameworks/vue/server/sfc-route-shared.d.ts +45 -0
  211. package/hmr/frameworks/vue/server/sfc-route-shared.js +105 -0
  212. package/hmr/frameworks/vue/server/sfc-route-shared.js.map +1 -0
  213. package/hmr/frameworks/vue/server/strategy.d.ts +35 -0
  214. package/hmr/frameworks/vue/server/strategy.js +286 -7
  215. package/hmr/frameworks/vue/server/strategy.js.map +1 -1
  216. package/hmr/frameworks/vue/server/websocket-sfc.d.ts +15 -0
  217. package/hmr/frameworks/vue/server/websocket-sfc.js +20 -0
  218. package/hmr/frameworks/vue/server/websocket-sfc.js.map +1 -0
  219. package/hmr/helpers/ast-normalizer.d.ts +3 -1
  220. package/hmr/helpers/ast-normalizer.js +77 -10
  221. package/hmr/helpers/ast-normalizer.js.map +1 -1
  222. package/hmr/helpers/cjs-named-exports.d.ts +23 -0
  223. package/hmr/helpers/cjs-named-exports.js +152 -0
  224. package/hmr/helpers/cjs-named-exports.js.map +1 -0
  225. package/hmr/helpers/package-exports.d.ts +16 -0
  226. package/hmr/helpers/package-exports.js +396 -0
  227. package/hmr/helpers/package-exports.js.map +1 -0
  228. package/hmr/helpers/vendor-rewrite.d.ts +1 -1
  229. package/hmr/helpers/vendor-rewrite.js +5 -3
  230. package/hmr/helpers/vendor-rewrite.js.map +1 -1
  231. package/hmr/server/boot-archive-route.d.ts +40 -0
  232. package/hmr/server/boot-archive-route.js +154 -0
  233. package/hmr/server/boot-archive-route.js.map +1 -0
  234. package/hmr/server/boot-closure-route.d.ts +49 -0
  235. package/hmr/server/boot-closure-route.js +144 -0
  236. package/hmr/server/boot-closure-route.js.map +1 -0
  237. package/hmr/server/boot-recording.d.ts +58 -0
  238. package/hmr/server/boot-recording.js +228 -0
  239. package/hmr/server/boot-recording.js.map +1 -0
  240. package/hmr/server/constants.js +20 -5
  241. package/hmr/server/constants.js.map +1 -1
  242. package/hmr/server/core-bundle.d.ts +140 -0
  243. package/hmr/server/core-bundle.js +614 -0
  244. package/hmr/server/core-bundle.js.map +1 -0
  245. package/hmr/server/core-sanitize.d.ts +86 -7
  246. package/hmr/server/core-sanitize.js +170 -45
  247. package/hmr/server/core-sanitize.js.map +1 -1
  248. package/hmr/server/css-device-module.d.ts +28 -0
  249. package/hmr/server/css-device-module.js +44 -0
  250. package/hmr/server/css-device-module.js.map +1 -0
  251. package/hmr/server/deps-bundle.d.ts +218 -0
  252. package/hmr/server/deps-bundle.js +998 -0
  253. package/hmr/server/deps-bundle.js.map +1 -0
  254. package/hmr/server/device-transform-helpers.d.ts +24 -0
  255. package/hmr/server/device-transform-helpers.js +408 -0
  256. package/hmr/server/device-transform-helpers.js.map +1 -0
  257. package/hmr/server/framework-strategy.d.ts +113 -11
  258. package/hmr/server/hmr-module-graph.d.ts +37 -0
  259. package/hmr/server/hmr-module-graph.js +215 -0
  260. package/hmr/server/hmr-module-graph.js.map +1 -0
  261. package/hmr/server/import-map.d.ts +13 -4
  262. package/hmr/server/import-map.js +94 -47
  263. package/hmr/server/import-map.js.map +1 -1
  264. package/hmr/server/index.js +7 -16
  265. package/hmr/server/index.js.map +1 -1
  266. package/hmr/server/ns-core-cjs-shape.d.ts +2 -4
  267. package/hmr/server/ns-core-cjs-shape.js +4 -6
  268. package/hmr/server/ns-core-cjs-shape.js.map +1 -1
  269. package/hmr/server/ns-m-response-memo.d.ts +10 -0
  270. package/hmr/server/ns-m-response-memo.js +33 -0
  271. package/hmr/server/ns-m-response-memo.js.map +1 -0
  272. package/hmr/server/ns-rt-bridge.d.ts +51 -0
  273. package/hmr/server/ns-rt-bridge.js +131 -0
  274. package/hmr/server/ns-rt-bridge.js.map +1 -0
  275. package/hmr/server/ns-rt-route.d.ts +5 -0
  276. package/hmr/server/ns-rt-route.js +39 -0
  277. package/hmr/server/ns-rt-route.js.map +1 -0
  278. package/hmr/server/perf-instrumentation.d.ts +6 -10
  279. package/hmr/server/perf-instrumentation.js +5 -6
  280. package/hmr/server/perf-instrumentation.js.map +1 -1
  281. package/hmr/server/process-code-for-device.d.ts +30 -0
  282. package/hmr/server/process-code-for-device.js +791 -0
  283. package/hmr/server/process-code-for-device.js.map +1 -0
  284. package/hmr/server/require-guard.d.ts +1 -0
  285. package/hmr/server/require-guard.js +12 -0
  286. package/hmr/server/require-guard.js.map +1 -0
  287. package/hmr/server/rewrite-imports.d.ts +2 -0
  288. package/hmr/server/rewrite-imports.js +638 -0
  289. package/hmr/server/rewrite-imports.js.map +1 -0
  290. package/hmr/server/route-helpers.d.ts +7 -0
  291. package/hmr/server/route-helpers.js +13 -0
  292. package/hmr/server/route-helpers.js.map +1 -0
  293. package/hmr/server/server-origin.d.ts +2 -0
  294. package/hmr/server/server-origin.js +83 -0
  295. package/hmr/server/server-origin.js.map +1 -0
  296. package/hmr/server/shared-transform-request.js +1 -2
  297. package/hmr/server/shared-transform-request.js.map +1 -1
  298. package/hmr/server/transform-cache-invalidation.d.ts +37 -0
  299. package/hmr/server/transform-cache-invalidation.js +156 -0
  300. package/hmr/server/transform-cache-invalidation.js.map +1 -0
  301. package/hmr/server/vendor-bare-module-shims.d.ts +4 -0
  302. package/hmr/server/vendor-bare-module-shims.js +80 -0
  303. package/hmr/server/vendor-bare-module-shims.js.map +1 -0
  304. package/hmr/server/vite-plugin.d.ts +1 -0
  305. package/hmr/server/vite-plugin.js +180 -54
  306. package/hmr/server/vite-plugin.js.map +1 -1
  307. package/hmr/server/websocket-core-bridge.d.ts +51 -4
  308. package/hmr/server/websocket-core-bridge.js +62 -54
  309. package/hmr/server/websocket-core-bridge.js.map +1 -1
  310. package/hmr/server/websocket-css-hot-update.d.ts +33 -0
  311. package/hmr/server/websocket-css-hot-update.js +65 -0
  312. package/hmr/server/websocket-css-hot-update.js.map +1 -0
  313. package/hmr/server/websocket-device-transform.d.ts +3 -0
  314. package/hmr/server/websocket-device-transform.js +7 -0
  315. package/hmr/server/websocket-device-transform.js.map +1 -0
  316. package/hmr/server/websocket-hmr-pending.d.ts +3 -9
  317. package/hmr/server/websocket-hmr-pending.js +1 -1
  318. package/hmr/server/websocket-hmr-pending.js.map +1 -1
  319. package/hmr/server/websocket-hot-update.d.ts +77 -0
  320. package/hmr/server/websocket-hot-update.js +360 -0
  321. package/hmr/server/websocket-hot-update.js.map +1 -0
  322. package/hmr/server/websocket-import-map-route.d.ts +15 -0
  323. package/hmr/server/websocket-import-map-route.js +50 -0
  324. package/hmr/server/websocket-import-map-route.js.map +1 -0
  325. package/hmr/server/websocket-module-bindings.js +3 -3
  326. package/hmr/server/websocket-module-bindings.js.map +1 -1
  327. package/hmr/server/websocket-module-specifiers.d.ts +66 -2
  328. package/hmr/server/websocket-module-specifiers.js +191 -20
  329. package/hmr/server/websocket-module-specifiers.js.map +1 -1
  330. package/hmr/server/websocket-ns-core.d.ts +34 -0
  331. package/hmr/server/websocket-ns-core.js +414 -0
  332. package/hmr/server/websocket-ns-core.js.map +1 -0
  333. package/hmr/server/websocket-ns-entry.d.ts +21 -0
  334. package/hmr/server/websocket-ns-entry.js +164 -0
  335. package/hmr/server/websocket-ns-entry.js.map +1 -0
  336. package/hmr/server/websocket-ns-m-paths.d.ts +1 -3
  337. package/hmr/server/websocket-ns-m-paths.js +25 -82
  338. package/hmr/server/websocket-ns-m-paths.js.map +1 -1
  339. package/hmr/server/websocket-ns-m-request.d.ts +11 -1
  340. package/hmr/server/websocket-ns-m-request.js +17 -9
  341. package/hmr/server/websocket-ns-m-request.js.map +1 -1
  342. package/hmr/server/websocket-ns-m.d.ts +52 -0
  343. package/hmr/server/websocket-ns-m.js +835 -0
  344. package/hmr/server/websocket-ns-m.js.map +1 -0
  345. package/hmr/server/websocket-served-module-helpers.d.ts +50 -4
  346. package/hmr/server/websocket-served-module-helpers.js +384 -86
  347. package/hmr/server/websocket-served-module-helpers.js.map +1 -1
  348. package/hmr/server/websocket-txn.js +6 -9
  349. package/hmr/server/websocket-txn.js.map +1 -1
  350. package/hmr/server/websocket-vendor-unifier.d.ts +0 -1
  351. package/hmr/server/websocket-vendor-unifier.js +4 -9
  352. package/hmr/server/websocket-vendor-unifier.js.map +1 -1
  353. package/hmr/server/websocket.d.ts +7 -39
  354. package/hmr/server/websocket.js +643 -6716
  355. package/hmr/server/websocket.js.map +1 -1
  356. package/hmr/shared/ns-globals.d.ts +108 -0
  357. package/hmr/shared/ns-globals.js +28 -0
  358. package/hmr/shared/ns-globals.js.map +1 -0
  359. package/hmr/shared/protocol.d.ts +145 -0
  360. package/hmr/shared/protocol.js +28 -0
  361. package/hmr/shared/protocol.js.map +1 -0
  362. package/hmr/shared/runtime/boot-archive-format.d.ts +16 -0
  363. package/hmr/shared/runtime/boot-archive-format.js +31 -0
  364. package/hmr/shared/runtime/boot-archive-format.js.map +1 -0
  365. package/hmr/shared/runtime/boot-complete.d.ts +14 -0
  366. package/hmr/shared/runtime/boot-complete.js +32 -0
  367. package/hmr/shared/runtime/boot-complete.js.map +1 -0
  368. package/hmr/shared/runtime/boot-placeholder-ui.d.ts +69 -0
  369. package/hmr/shared/runtime/boot-placeholder-ui.js +101 -0
  370. package/hmr/shared/runtime/boot-placeholder-ui.js.map +1 -0
  371. package/hmr/shared/runtime/boot-progress.d.ts +44 -0
  372. package/hmr/shared/runtime/boot-progress.js +134 -0
  373. package/hmr/shared/runtime/boot-progress.js.map +1 -0
  374. package/hmr/shared/runtime/boot-timeline.d.ts +2 -1
  375. package/hmr/shared/runtime/boot-timeline.js +9 -22
  376. package/hmr/shared/runtime/boot-timeline.js.map +1 -1
  377. package/hmr/shared/runtime/browser-runtime-contract.d.ts +53 -22
  378. package/hmr/shared/runtime/browser-runtime-contract.js +6 -9
  379. package/hmr/shared/runtime/browser-runtime-contract.js.map +1 -1
  380. package/hmr/shared/runtime/dev-overlay-snapshots.d.ts +31 -0
  381. package/hmr/shared/runtime/dev-overlay-snapshots.js +324 -0
  382. package/hmr/shared/runtime/dev-overlay-snapshots.js.map +1 -0
  383. package/hmr/shared/runtime/dev-overlay.d.ts +76 -30
  384. package/hmr/shared/runtime/dev-overlay.js +767 -408
  385. package/hmr/shared/runtime/dev-overlay.js.map +1 -1
  386. package/hmr/shared/runtime/global-scope.d.ts +18 -0
  387. package/hmr/shared/runtime/global-scope.js +21 -0
  388. package/hmr/shared/runtime/global-scope.js.map +1 -0
  389. package/hmr/shared/runtime/hooks.js +2 -1
  390. package/hmr/shared/runtime/hooks.js.map +1 -1
  391. package/hmr/shared/runtime/http-only-boot.js +7 -6
  392. package/hmr/shared/runtime/http-only-boot.js.map +1 -1
  393. package/hmr/shared/runtime/module-provenance.js +4 -6
  394. package/hmr/shared/runtime/module-provenance.js.map +1 -1
  395. package/hmr/shared/runtime/root-placeholder-view.d.ts +19 -0
  396. package/hmr/shared/runtime/root-placeholder-view.js +311 -0
  397. package/hmr/shared/runtime/root-placeholder-view.js.map +1 -0
  398. package/hmr/shared/runtime/root-placeholder.js +398 -204
  399. package/hmr/shared/runtime/root-placeholder.js.map +1 -1
  400. package/hmr/shared/runtime/session-bootstrap.js +274 -55
  401. package/hmr/shared/runtime/session-bootstrap.js.map +1 -1
  402. package/hmr/shared/runtime/vendor-bootstrap.js +3 -10
  403. package/hmr/shared/runtime/vendor-bootstrap.js.map +1 -1
  404. package/hmr/shared/vendor/manifest-collect.d.ts +4 -0
  405. package/hmr/shared/vendor/manifest-collect.js +549 -0
  406. package/hmr/shared/vendor/manifest-collect.js.map +1 -0
  407. package/hmr/shared/vendor/manifest-loader.d.ts +2 -1
  408. package/hmr/shared/vendor/manifest-loader.js +5 -3
  409. package/hmr/shared/vendor/manifest-loader.js.map +1 -1
  410. package/hmr/shared/vendor/manifest.d.ts +1 -7
  411. package/hmr/shared/vendor/manifest.js +136 -825
  412. package/hmr/shared/vendor/manifest.js.map +1 -1
  413. package/hmr/shared/vendor/registry.d.ts +2 -0
  414. package/hmr/shared/vendor/registry.js +14 -0
  415. package/hmr/shared/vendor/registry.js.map +1 -1
  416. package/hmr/shared/vendor/vendor-device-shim.d.ts +1 -0
  417. package/hmr/shared/vendor/vendor-device-shim.js +208 -0
  418. package/hmr/shared/vendor/vendor-device-shim.js.map +1 -0
  419. package/hmr/shared/vendor/vendor-esbuild-plugins.d.ts +76 -0
  420. package/hmr/shared/vendor/vendor-esbuild-plugins.js +401 -0
  421. package/hmr/shared/vendor/vendor-esbuild-plugins.js.map +1 -0
  422. package/hmr/vendor-bootstrap.d.ts +1 -3
  423. package/hmr/vendor-bootstrap.js +4 -6
  424. package/hmr/vendor-bootstrap.js.map +1 -1
  425. package/index.d.ts +1 -0
  426. package/index.js +5 -0
  427. package/index.js.map +1 -1
  428. package/package.json +65 -11
  429. package/runtime/core-aliases-early.js +25 -55
  430. package/runtime/core-aliases-early.js.map +1 -1
  431. package/shims/react-jsx-runtime.d.ts +4 -0
  432. package/shims/react-jsx-runtime.js +61 -0
  433. package/shims/react-jsx-runtime.js.map +1 -0
  434. package/helpers/angular/angular-linker.d.ts +0 -13
  435. package/helpers/angular/angular-linker.js +0 -194
  436. package/helpers/angular/angular-linker.js.map +0 -1
  437. package/helpers/angular/inline-decorator-component-templates.js.map +0 -1
  438. package/helpers/angular/shared-linker.d.ts +0 -11
  439. package/helpers/angular/shared-linker.js +0 -75
  440. package/helpers/angular/shared-linker.js.map +0 -1
  441. package/helpers/angular/synthesize-decorator-ctor-parameters.js.map +0 -1
  442. package/helpers/angular/synthesize-injectable-factories.js.map +0 -1
  443. package/helpers/angular/util.js +0 -67
  444. package/helpers/angular/util.js.map +0 -1
  445. package/helpers/prelink-angular.d.ts +0 -2
  446. package/helpers/prelink-angular.js +0 -117
  447. package/helpers/prelink-angular.js.map +0 -1
  448. package/hmr/server/websocket-angular-entry.js.map +0 -1
  449. package/hmr/server/websocket-angular-hot-update.js.map +0 -1
  450. package/hmr/server/websocket-ns-m-finalize.d.ts +0 -22
  451. package/hmr/server/websocket-ns-m-finalize.js +0 -88
  452. package/hmr/server/websocket-ns-m-finalize.js.map +0 -1
  453. package/hmr/server/websocket-runtime-compat.d.ts +0 -19
  454. package/hmr/server/websocket-runtime-compat.js +0 -286
  455. package/hmr/server/websocket-runtime-compat.js.map +0 -1
  456. package/hmr/server/websocket-vue-sfc.d.ts +0 -27
  457. package/hmr/server/websocket-vue-sfc.js +0 -1114
  458. package/hmr/server/websocket-vue-sfc.js.map +0 -1
  459. package/transformers/NativeClass/index.d.ts +0 -2
  460. package/transformers/NativeClass/index.js +0 -222
  461. package/transformers/NativeClass/index.js.map +0 -1
  462. /package/{helpers/angular → hmr/frameworks/angular/build}/inline-decorator-component-templates.d.ts +0 -0
  463. /package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-decorator-ctor-parameters.d.ts +0 -0
  464. /package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-injectable-factories.d.ts +0 -0
  465. /package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.d.ts +0 -0
@@ -2,7 +2,7 @@
2
2
  * Import Map Generator for NativeScript HMR
3
3
  *
4
4
  * Generates an import map that the iOS/Android runtime consumes via
5
- * __nsConfigureRuntime(). This is the single source of truth for module
5
+ * __NS_DEV__.configureRuntime(). This is the single source of truth for module
6
6
  * resolution on the device.
7
7
  *
8
8
  * Resolution strategy:
@@ -21,7 +21,7 @@
21
21
  * how Vite rewrites them — resolve through a single deterministic path.
22
22
  */
23
23
  import { getVendorManifest, listVendorModules } from '../shared/vendor/registry.js';
24
- import { readFileSync, readdirSync, existsSync } from 'fs';
24
+ import { readFileSync, readdirSync, existsSync, statSync } from 'fs';
25
25
  import { resolve, join } from 'path';
26
26
  import { getProjectRootPath } from '../../helpers/project.js';
27
27
  import { buildCoreUrl } from '../../helpers/ns-core-url.js';
@@ -60,33 +60,75 @@ function getDeviceImportMapExposure(name) {
60
60
  * Everything else falls through to the runtime's normal resolution.
61
61
  */
62
62
  export function generateImportMap(options) {
63
- const { origin, flavor, extraEntries } = options;
63
+ const { origin, strategy, extraEntries } = options;
64
64
  const manifest = getVendorManifest();
65
65
  const imports = {};
66
66
  if (manifest) {
67
67
  // Map vendor modules to ns-vendor:// — EXACT entries only.
68
68
  // No trailing-slash prefixes: subpaths must resolve via HTTP, not vendor.
69
+ //
70
+ // IMPORTANT: `@nativescript/core` and any `@nativescript/core/<sub>` are
71
+ // deliberately routed through the HTTP bridge (`${origin}/ns/core/...`),
72
+ // NEVER through `ns-vendor://`. Two reasons:
73
+ // 1. Single realm. The core bridge is the canonical source for every
74
+ // `Application`, `View`, `Frame`, etc. instance — having a second
75
+ // copy in the vendor registry produces the classic
76
+ // `vendorApplicationSame: false` realm split (different
77
+ // `globalThis.Application` than the one the iOS/Android hooks
78
+ // patched) and HMR placeholder finalize stalls.
79
+ // 2. Chicken-and-egg. esbuild's vendor build externalizes
80
+ // `@nativescript/core(/...)` (see `nsCoreExternalPlugin` in
81
+ // `manifest.ts`), so the externalized `import` statements stay
82
+ // in `vendor.mjs` itself. If those externals resolve through
83
+ // `ns-vendor://`, the synthetic wrapper module's evaluation
84
+ // runs DURING `vendor.mjs` linking — but `vendor-bootstrap`
85
+ // hasn't populated `__nsVendorRegistry` yet (it runs LATER,
86
+ // from the clientUrl module body), so every wrapper throws
87
+ // `Vendor module not found in registry: @nativescript/core/...`.
88
+ // Routing core through the HTTP bridge sidesteps the registry
89
+ // lookup entirely; the dev server normalizes platform suffixes
90
+ // (see `normalizeCoreSub` in `ns-core-url.ts`) so
91
+ // `@nativescript/core/ui/frame/activity.android` → bridge URL
92
+ // `/ns/core/ui/frame/activity.android` → served from the
93
+ // platform-specific `.android.ts` source.
69
94
  const vendorModules = listVendorModules();
70
95
  for (const specifier of vendorModules) {
96
+ if (specifier === '@nativescript/core' || specifier.startsWith('@nativescript/core/')) {
97
+ continue;
98
+ }
71
99
  imports[specifier] = `ns-vendor://${specifier}`;
72
100
  }
73
101
  // Map aliases from the manifest (e.g., "solid-js/web" → ns-vendor://solid-js)
74
102
  if (manifest.aliases) {
75
103
  for (const [alias, canonical] of Object.entries(manifest.aliases)) {
104
+ // Same single-realm + chicken-and-egg reasons as above.
105
+ if (alias === '@nativescript/core' || alias.startsWith('@nativescript/core/')) {
106
+ continue;
107
+ }
76
108
  if (!imports[alias] && imports[canonical]) {
77
109
  imports[alias] = imports[canonical];
78
110
  }
79
111
  }
80
112
  }
81
113
  }
82
- // @nativescript/core → bridge endpoint (canonical URL generator, see
83
- // Invariant A in HMR_CORE_REALM_DETERMINISTIC_PLAN.md). The trailing-
84
- // slash entry intentionally uses the same generator so subpath imports
85
- // resolve via `${origin}/ns/core/<sub>`.
114
+ // @nativescript/core → bridge endpoint (canonical URL generator).
115
+ // The trailing-slash entry intentionally uses the same generator so
116
+ // subpath imports resolve via `${origin}/ns/core/<sub>`.
86
117
  imports['@nativescript/core'] = buildCoreUrl(origin);
87
118
  imports['@nativescript/core/'] = `${buildCoreUrl(origin)}/`;
88
- // Add framework-specific entries
89
- addFrameworkEntries(imports, origin, flavor);
119
+ // Add framework-specific entries (owned by the active strategy). Merge
120
+ // CONDITIONALLY (existing entries win) so Vue's vendor entries (set above)
121
+ // take precedence over the hook's fallback `ns-vendor://` targets, while
122
+ // Solid's `solid-js` (externalized from vendor, so unset here) is added.
123
+ // Insertion order is significant for the generated map.
124
+ const frameworkEntries = strategy?.importMapEntries?.(origin);
125
+ if (frameworkEntries) {
126
+ for (const [specifier, target] of Object.entries(frameworkEntries)) {
127
+ if (!imports[specifier]) {
128
+ imports[specifier] = target;
129
+ }
130
+ }
131
+ }
90
132
  // Scan installed packages and add HTTP URL entries for ALL packages
91
133
  // (including vendor ones for their subpath imports).
92
134
  discoverInstalledPackages(imports, origin);
@@ -101,58 +143,31 @@ export function generateImportMap(options) {
101
143
  * These patterns tell the runtime to always re-fetch matching URLs
102
144
  * instead of using cached modules.
103
145
  */
104
- export function getVolatilePatterns(flavor) {
146
+ export function getVolatilePatterns(strategy) {
105
147
  const patterns = [];
106
148
  // Version query params (used by HMR for cache busting)
107
149
  patterns.push('?v=');
108
150
  patterns.push('&v=');
109
- // Framework-specific volatile patterns
110
- switch (flavor) {
111
- case 'vue':
112
- // Vue SFC endpoints are volatile (change on every edit)
113
- patterns.push('/@ns/sfc/');
114
- patterns.push('/@ns/asm/');
115
- break;
116
- case 'angular':
117
- // Angular template/style URLs may change on edit
118
- patterns.push('/@ns/asm/');
119
- break;
151
+ // Framework-specific volatile patterns (owned by the active strategy;
152
+ // none of the built-in strategies supply any).
153
+ const frameworkPatterns = strategy?.volatilePatterns?.();
154
+ if (frameworkPatterns) {
155
+ patterns.push(...frameworkPatterns);
120
156
  }
121
157
  return patterns;
122
158
  }
123
159
  /**
124
160
  * Serialize the import map + volatile patterns into the config object
125
- * that __nsConfigureRuntime() expects.
161
+ * that __NS_DEV__.configureRuntime() expects.
126
162
  */
127
163
  export function buildRuntimeConfig(options) {
128
164
  const importMap = generateImportMap(options);
129
- const volatilePatterns = getVolatilePatterns(options.flavor);
165
+ const volatilePatterns = getVolatilePatterns(options.strategy);
130
166
  return {
131
167
  importMap: JSON.stringify(importMap),
132
168
  volatilePatterns,
133
169
  };
134
170
  }
135
- function addFrameworkEntries(imports, _origin, flavor) {
136
- switch (flavor) {
137
- case 'vue':
138
- // nativescript-vue should resolve from vendor if available
139
- if (!imports['nativescript-vue']) {
140
- imports['nativescript-vue'] = `ns-vendor://nativescript-vue`;
141
- }
142
- if (!imports['vue']) {
143
- imports['vue'] = `ns-vendor://vue`;
144
- }
145
- break;
146
- case 'solid':
147
- // Solid runtime root should resolve from vendor
148
- if (!imports['solid-js']) {
149
- imports['solid-js'] = `ns-vendor://solid-js`;
150
- }
151
- // No trailing-slash prefix — subpaths like solid-js/store,
152
- // solid-js/jsx-runtime resolve via HTTP from discoverInstalledPackages()
153
- break;
154
- }
155
- }
156
171
  /**
157
172
  * Scan the project's node_modules to discover ALL installed packages and
158
173
  * add import map entries. Vendor packages get only trailing-slash prefix
@@ -190,6 +205,32 @@ function discoverInstalledPackages(imports, origin) {
190
205
  imports[name + '/'] = `${origin}/ns/m/node_modules/${name}/`;
191
206
  }
192
207
  };
208
+ // Replay the (cheap, in-memory) addPackage step for every installed package
209
+ // name. The names themselves come from a per-session cache so the directory
210
+ // sweep below runs once per dev server, not on every `/ns/import-map.json`
211
+ // request (a hot, per-boot route).
212
+ for (const name of getInstalledPackageNames(nodeModulesDir)) {
213
+ addPackage(name);
214
+ }
215
+ }
216
+ // Cache the discovered package-name list per node_modules dir, invalidated when
217
+ // the directory's mtime changes (an install/remove of a top-level entry). Avoids
218
+ // a full `readdirSync` sweep (+ per-scope readdir) on every import-map request.
219
+ let installedPackageNamesCache = null;
220
+ function getInstalledPackageNames(nodeModulesDir) {
221
+ // mtime guards the cache; if it can't be read (e.g. a mocked fs in tests),
222
+ // fall back to sweeping every call (original behavior) rather than caching.
223
+ let mtimeMs = null;
224
+ try {
225
+ mtimeMs = statSync(nodeModulesDir).mtimeMs;
226
+ }
227
+ catch {
228
+ mtimeMs = null;
229
+ }
230
+ if (mtimeMs !== null && installedPackageNamesCache && installedPackageNamesCache.dir === nodeModulesDir && installedPackageNamesCache.mtimeMs === mtimeMs) {
231
+ return installedPackageNamesCache.names;
232
+ }
233
+ const names = [];
193
234
  try {
194
235
  const entries = readdirSync(nodeModulesDir, { withFileTypes: true });
195
236
  for (const entry of entries) {
@@ -208,16 +249,22 @@ function discoverInstalledPackages(imports, origin) {
208
249
  continue;
209
250
  if (scopeEntry.name.startsWith('.'))
210
251
  continue;
211
- addPackage(`${name}/${scopeEntry.name}`);
252
+ names.push(`${name}/${scopeEntry.name}`);
212
253
  }
213
254
  }
214
255
  catch { }
215
256
  }
216
257
  else {
217
- addPackage(name);
258
+ names.push(name);
218
259
  }
219
260
  }
220
261
  }
221
- catch { }
262
+ catch {
263
+ return [];
264
+ }
265
+ if (mtimeMs !== null) {
266
+ installedPackageNamesCache = { dir: nodeModulesDir, mtimeMs, names };
267
+ }
268
+ return names;
222
269
  }
223
270
  //# sourceMappingURL=import-map.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"import-map.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/import-map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import-map.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/import-map.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,13 @@
1
1
  import { nsHmrClientVitePlugin } from './vite-plugin.js';
2
- import { hmrWebSocketVue, hmrWebSocketAngular, hmrWebSocketSolid, hmrWebSocketTypescript } from './websocket.js';
2
+ import { hmrWebSocketPluginForFlavor } from './websocket.js';
3
3
  export function getHMRPlugins(opts) {
4
4
  const plugins = [nsHmrClientVitePlugin(opts)];
5
- switch (opts.flavor) {
6
- case 'vue':
7
- plugins.push(hmrWebSocketVue(opts));
8
- break;
9
- case 'react':
10
- break;
11
- case 'angular':
12
- plugins.push(hmrWebSocketAngular(opts));
13
- break;
14
- case 'typescript':
15
- plugins.push(hmrWebSocketTypescript(opts));
16
- break;
17
- case 'solid':
18
- plugins.push(hmrWebSocketSolid(opts));
19
- break;
5
+ // The server-side HMR WebSocket plugin is selected from STRATEGY_REGISTRY by
6
+ // flavor. Flavors without a registered server strategy (e.g. `react`) ship
7
+ // only the client plugin above — no per-flavor switch or no-op special case.
8
+ const frameworkPlugin = hmrWebSocketPluginForFlavor(opts.flavor, opts);
9
+ if (frameworkPlugin) {
10
+ plugins.push(frameworkPlugin);
20
11
  }
21
12
  return plugins;
22
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAEjH,MAAM,UAAU,aAAa,CAAC,IAAmE;IAChG,MAAM,OAAO,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACrB,KAAK,KAAK;YACT,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YACpC,MAAM;QACP,KAAK,OAAO;YACX,MAAM;QACP,KAAK,SAAS;YACb,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;YACxC,MAAM;QACP,KAAK,YAAY;YAChB,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3C,MAAM;QACP,KAAK,OAAO;YACX,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;YACtC,MAAM;IACR,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAE7D,MAAM,UAAU,aAAa,CAAC,IAAmE;IAChG,MAAM,OAAO,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,6EAA6E;IAC7E,2EAA2E;IAC3E,6EAA6E;IAC7E,MAAM,eAAe,GAAG,2BAA2B,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACvE,IAAI,eAAe,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC"}
@@ -1,7 +1,5 @@
1
1
  /**
2
- * CJS/ESM interop shape (Invariant D).
3
- *
4
- * See HMR_CORE_REALM_DETERMINISTIC_PLAN.md § "Invariant D — CJS/ESM interop shape".
2
+ * CJS/ESM interop shape.
5
3
  *
6
4
  * PROBLEM
7
5
  * -------
@@ -127,7 +125,7 @@ export declare function rewriteNamespaceReExportsForShape(code: string): string;
127
125
  */
128
126
  export declare function hasNamespaceReExport(code: string): boolean;
129
127
  /**
130
- * Default-export bridge footer (Invariant D, round 3).
128
+ * Default-export bridge footer.
131
129
  *
132
130
  * BACKGROUND
133
131
  * ----------
@@ -1,7 +1,5 @@
1
1
  /**
2
- * CJS/ESM interop shape (Invariant D).
3
- *
4
- * See HMR_CORE_REALM_DETERMINISTIC_PLAN.md § "Invariant D — CJS/ESM interop shape".
2
+ * CJS/ESM interop shape.
5
3
  *
6
4
  * PROBLEM
7
5
  * -------
@@ -106,7 +104,7 @@ export function buildShapeInstallHeader() {
106
104
  ` return out;`,
107
105
  ` };`,
108
106
  ` }`,
109
- `} } catch (e) { try { console.warn('[ns-core] shape installer failed:', (e && e.message) || e); } catch {} }`,
107
+ `} } catch (e) { console.warn('[ns-core] shape installer failed:', (e && e.message) || e); }`,
110
108
  ].join('\n');
111
109
  }
112
110
  /**
@@ -181,7 +179,7 @@ export function hasNamespaceReExport(code) {
181
179
  return /export\s+\*\s+as\s+[A-Za-z_$][\w$]*\s+from\s+['"`]/.test(code);
182
180
  }
183
181
  /**
184
- * Default-export bridge footer (Invariant D, round 3).
182
+ * Default-export bridge footer.
185
183
  *
186
184
  * BACKGROUND
187
185
  * ----------
@@ -245,7 +243,7 @@ export function hasNamespaceReExport(code) {
245
243
  export function buildDefaultExportFooter(rewrittenCode) {
246
244
  if (hasExistingDefaultExport(rewrittenCode))
247
245
  return '';
248
- return ['/* Invariant D: default export bridge — see HMR_CORE_REALM_DETERMINISTIC_PLAN.md */', 'export default __ns_core_self_ns__;'].join('\n');
246
+ return ['/* Default-export bridge for /ns/core consumers */', 'export default __ns_core_self_ns__;'].join('\n');
249
247
  }
250
248
  /**
251
249
  * Detects whether a module body already declares a default export in any of
@@ -1 +1 @@
1
- {"version":3,"file":"ns-core-cjs-shape.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/ns-core-cjs-shape.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,uBAAuB;IACtC,OAAO;QACN,oDAAoD;QACpD,gDAAgD;QAChD,oHAAoH;QACpH,4DAA4D;QAC5D,6DAA6D;QAC7D,wDAAwD;QACxD,+BAA+B;QAC/B,+EAA+E;QAC/E,iDAAiD;QACjD,sDAAsD;QACtD,oEAAoE;QACpE,uBAAuB;QACvB,qCAAqC;QACrC,aAAa;QACb,wCAAwC;QACxC,iDAAiD;QACjD,8BAA8B;QAC9B,oFAAoF;QACpF,WAAW;QACX,sBAAsB;QACtB,mBAAmB;QACnB,QAAQ;QACR,KAAK;QACL,8GAA8G;KAC9G,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,iCAAiC,CAAC,IAAY;IAC7D,MAAM,SAAS,GAAG,gHAAgH,CAAC;IAEnI,kEAAkE;IAClE,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,sFAAsF,EAAE,CAAC,MAAM,EAAE,MAAc,EAAE,MAAc,EAAE,IAAY,EAAE,KAAa,EAAE,IAAY,EAAE,EAAE;QACpM,MAAM,QAAQ,GAAG,WAAW,IAAI,IAAI,CAAC;QACrC,OAAO,GAAG,MAAM,GAAG,MAAM,eAAe,QAAQ,SAAS,KAAK,GAAG,IAAI,GAAG,KAAK,MAAM,MAAM,gBAAgB,IAAI,MAAM,SAAS,IAAI,QAAQ,IAAI,CAAC;IAC9I,CAAC,CAAC,CAAC;IAEH,yDAAyD;IACzD,yEAAyE;IACzE,uEAAuE;IACvE,oEAAoE;IACpE,yEAAyE;IACzE,qEAAqE;IACrE,oDAAoD;IACpD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,uEAAuE,EAAE,CAAC,KAAK,EAAE,SAAiB,EAAE,UAAkB,EAAE,EAAE;QAC3I,mEAAmE;QACnE,kEAAkE;QAClE,+DAA+D;QAC/D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7C,OAAO,gBAAgB,UAAU,MAAM,SAAS,IAAI,SAAS,IAAI,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACZ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAChD,OAAO,oDAAoD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,MAAM,UAAU,wBAAwB,CAAC,aAAqB;IAC7D,IAAI,wBAAwB,CAAC,aAAa,CAAC;QAAE,OAAO,EAAE,CAAC;IACvD,OAAO,CAAC,qFAAqF,EAAE,qCAAqC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACpD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACpD,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnD,IAAI,sCAAsC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnE,OAAO,KAAK,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"ns-core-cjs-shape.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/ns-core-cjs-shape.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,uBAAuB;IACtC,OAAO;QACN,oDAAoD;QACpD,gDAAgD;QAChD,oHAAoH;QACpH,4DAA4D;QAC5D,6DAA6D;QAC7D,wDAAwD;QACxD,+BAA+B;QAC/B,+EAA+E;QAC/E,iDAAiD;QACjD,sDAAsD;QACtD,oEAAoE;QACpE,uBAAuB;QACvB,qCAAqC;QACrC,aAAa;QACb,wCAAwC;QACxC,iDAAiD;QACjD,8BAA8B;QAC9B,oFAAoF;QACpF,WAAW;QACX,sBAAsB;QACtB,mBAAmB;QACnB,QAAQ;QACR,KAAK;QACL,6FAA6F;KAC7F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,iCAAiC,CAAC,IAAY;IAC7D,MAAM,SAAS,GAAG,gHAAgH,CAAC;IAEnI,kEAAkE;IAClE,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,sFAAsF,EAAE,CAAC,MAAM,EAAE,MAAc,EAAE,MAAc,EAAE,IAAY,EAAE,KAAa,EAAE,IAAY,EAAE,EAAE;QACpM,MAAM,QAAQ,GAAG,WAAW,IAAI,IAAI,CAAC;QACrC,OAAO,GAAG,MAAM,GAAG,MAAM,eAAe,QAAQ,SAAS,KAAK,GAAG,IAAI,GAAG,KAAK,MAAM,MAAM,gBAAgB,IAAI,MAAM,SAAS,IAAI,QAAQ,IAAI,CAAC;IAC9I,CAAC,CAAC,CAAC;IAEH,yDAAyD;IACzD,yEAAyE;IACzE,uEAAuE;IACvE,oEAAoE;IACpE,yEAAyE;IACzE,qEAAqE;IACrE,oDAAoD;IACpD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,uEAAuE,EAAE,CAAC,KAAK,EAAE,SAAiB,EAAE,UAAkB,EAAE,EAAE;QAC3I,mEAAmE;QACnE,kEAAkE;QAClE,+DAA+D;QAC/D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7C,OAAO,gBAAgB,UAAU,MAAM,SAAS,IAAI,SAAS,IAAI,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACZ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAChD,OAAO,oDAAoD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,MAAM,UAAU,wBAAwB,CAAC,aAAqB;IAC7D,IAAI,wBAAwB,CAAC,aAAa,CAAC;QAAE,OAAO,EAAE,CAAC;IACvD,OAAO,CAAC,oDAAoD,EAAE,qCAAqC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACpD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACpD,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnD,IAAI,sCAAsC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnE,OAAO,KAAK,CAAC;AACd,CAAC"}
@@ -0,0 +1,10 @@
1
+ export type NsMResponseMemo = {
2
+ buildKey(spec: string, inputCode: string, context: string): string;
3
+ get(key: string): string | undefined;
4
+ set(key: string, body: string): void;
5
+ size(): number;
6
+ clear(): void;
7
+ };
8
+ export declare function createNsMResponseMemo(options?: {
9
+ maxEntries?: number;
10
+ }): NsMResponseMemo;
@@ -0,0 +1,33 @@
1
+ import { createHash } from 'node:crypto';
2
+ export function createNsMResponseMemo(options) {
3
+ const maxEntries = Math.max(1, Math.floor(options?.maxEntries ?? 2000));
4
+ const entries = new Map();
5
+ return {
6
+ buildKey(spec, inputCode, context) {
7
+ const inputHash = createHash('sha1').update(inputCode).digest('hex');
8
+ return `${spec}\u0000${context}\u0000${inputHash}`;
9
+ },
10
+ get(key) {
11
+ const value = entries.get(key);
12
+ if (value !== undefined) {
13
+ // LRU touch: re-insert so iteration order tracks recency.
14
+ entries.delete(key);
15
+ entries.set(key, value);
16
+ }
17
+ return value;
18
+ },
19
+ set(key, body) {
20
+ if (entries.has(key))
21
+ entries.delete(key);
22
+ entries.set(key, body);
23
+ if (entries.size > maxEntries) {
24
+ const oldest = entries.keys().next().value;
25
+ if (oldest !== undefined)
26
+ entries.delete(oldest);
27
+ }
28
+ },
29
+ size: () => entries.size,
30
+ clear: () => entries.clear(),
31
+ };
32
+ }
33
+ //# sourceMappingURL=ns-m-response-memo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ns-m-response-memo.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/ns-m-response-memo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAgCzC,MAAM,UAAU,qBAAqB,CAAC,OAAiC;IACtE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,OAAO;QACN,QAAQ,CAAC,IAAY,EAAE,SAAiB,EAAE,OAAe;YACxD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACrE,OAAO,GAAG,IAAI,SAAS,OAAO,SAAS,SAAS,EAAE,CAAC;QACpD,CAAC;QACD,GAAG,CAAC,GAAW;YACd,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzB,0DAA0D;gBAC1D,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACzB,CAAC;YACD,OAAO,KAAK,CAAC;QACd,CAAC;QACD,GAAG,CAAC,GAAW,EAAE,IAAY;YAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACvB,IAAI,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;gBAC3C,IAAI,MAAM,KAAK,SAAS;oBAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAClD,CAAC;QACF,CAAC;QACD,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI;QACxB,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE;KAC5B,CAAC;AACH,CAAC"}
@@ -0,0 +1,51 @@
1
+ export interface NsRtBridgeOptions {
2
+ /** Version segment from `/ns/rt/<ver>`. Retained for the URL dispatcher; the bridge body intentionally ignores it. */
3
+ rtVer: string;
4
+ /** Prologue installed verbatim before the bridge body (typically the require URL guard). */
5
+ requireGuardSnippet: string;
6
+ /**
7
+ * The discovered ESM export names of the underlying vendor package
8
+ * (`nativescript-vue`, including its `@vue/runtime-core` re-export
9
+ * chain). Each name becomes `export const <name> = (__ensure().<name>);` —
10
+ * a single canonical specifier (`/ns/rt`) forwards *every* symbol the
11
+ * vendor publishes.
12
+ *
13
+ * Required: discovery is the only source of truth. There is no hand-curated
14
+ * fallback — if discovery cannot see the package, the bridge serves no
15
+ * passthroughs and the call site is expected to surface that as a config
16
+ * error rather than silently degrade.
17
+ */
18
+ vendorExports: Iterable<string>;
19
+ }
20
+ /**
21
+ * Build the `/ns/rt` runtime bridge module text.
22
+ *
23
+ * Single-realm policy: every named export the vendor package publishes
24
+ * appears as `export const X = (__ensure().X);` — a constant binding, not a
25
+ * function wrapper. Constant bindings preserve identity for Vue's Symbol
26
+ * markers (`Fragment`, `Teleport`, …) AND work transparently for functions
27
+ * (`ref`, `createApp`, …) since the user code calls the underlying value
28
+ * directly. Calling `__ensure()` at module evaluation time is safe because
29
+ * the vendor bundle is registered earlier in the boot graph (vendor.mjs →
30
+ * `__nsVendorRegistry`), and the bridge resolves the same `nativescript-vue`
31
+ * record everyone else uses.
32
+ *
33
+ * HMR-specific shims (`$navigateTo`, `$navigateBack`, `$showModal`) and the
34
+ * Vite client polyfill (`vite__injectQuery`) are emitted as overrides that
35
+ * replace the would-be passthrough — those exports route through the HMR
36
+ * navigator instead of the vendor's native version, so the bridge must
37
+ * provide the override, not the discovered original.
38
+ */
39
+ export declare function buildNsRtBridgeModule(options: NsRtBridgeOptions): string;
40
+ /**
41
+ * Resolve the set of names the bridge should re-export for `nativescript-vue`
42
+ * given a project root. Static discovery via `enumeratePackageExports` is the
43
+ * only source — there is no curated fallback. If `nativescript-vue` is not
44
+ * resolvable from `projectRoot`, the returned set is empty and the bridge
45
+ * built from it will not emit passthroughs; the caller should treat that as
46
+ * the misconfiguration it is rather than mask it with a stale baseline.
47
+ *
48
+ * Caching lives inside `enumeratePackageExports`, so repeated calls in a dev
49
+ * session are effectively free.
50
+ */
51
+ export declare function discoverNsvBridgeExports(projectRoot: string): Set<string>;
@@ -0,0 +1,131 @@
1
+ import { enumeratePackageExports } from '../helpers/package-exports.js';
2
+ // Exports the bridge replaces with HMR-routed implementations — discovery
3
+ // must not emit a plain passthrough for these names or the override would be
4
+ // shadowed and navigation would silently fall back to the vendor's native
5
+ // version (which doesn't know about the HMR app navigator).
6
+ const NSV_SHIM_OVERRIDES = new Set(['$navigateTo', '$navigateBack', '$showModal', 'vite__injectQuery']);
7
+ // Bridge-internal identifiers that would clash with the emitted preamble if
8
+ // the vendor package happens to publish a colliding name.
9
+ const RESERVED_BRIDGE_LOCALS = new Set(['__realm', '__cached_rt', '__cached_vm', '__ensure', '__get', 'default']);
10
+ const IDENT_RE = /^[A-Za-z_$][A-Za-z0-9_$]*$/;
11
+ /**
12
+ * Build the `/ns/rt` runtime bridge module text.
13
+ *
14
+ * Single-realm policy: every named export the vendor package publishes
15
+ * appears as `export const X = (__ensure().X);` — a constant binding, not a
16
+ * function wrapper. Constant bindings preserve identity for Vue's Symbol
17
+ * markers (`Fragment`, `Teleport`, …) AND work transparently for functions
18
+ * (`ref`, `createApp`, …) since the user code calls the underlying value
19
+ * directly. Calling `__ensure()` at module evaluation time is safe because
20
+ * the vendor bundle is registered earlier in the boot graph (vendor.mjs →
21
+ * `__nsVendorRegistry`), and the bridge resolves the same `nativescript-vue`
22
+ * record everyone else uses.
23
+ *
24
+ * HMR-specific shims (`$navigateTo`, `$navigateBack`, `$showModal`) and the
25
+ * Vite client polyfill (`vite__injectQuery`) are emitted as overrides that
26
+ * replace the would-be passthrough — those exports route through the HMR
27
+ * navigator instead of the vendor's native version, so the bridge must
28
+ * provide the override, not the discovered original.
29
+ */
30
+ export function buildNsRtBridgeModule(options) {
31
+ // Sort for stable output — useful for diffing the served bridge across requests.
32
+ const passthrough = new Set();
33
+ for (const name of options.vendorExports) {
34
+ if (typeof name === 'string' && IDENT_RE.test(name) && !NSV_SHIM_OVERRIDES.has(name) && !RESERVED_BRIDGE_LOCALS.has(name)) {
35
+ passthrough.add(name);
36
+ }
37
+ }
38
+ const passthroughNames = Array.from(passthrough).sort();
39
+ const passthroughExports = passthroughNames.map((n) => `export const ${n} = (__ensure().${n});`).join('\n');
40
+ const defaultListing = passthroughNames.concat(['$navigateTo', '$navigateBack', '$showModal', 'vite__injectQuery']).join(', ');
41
+ const code = `// [ns-rt][v2.4] NativeScript-Vue runtime bridge (module-scoped cache, no globals)\n` +
42
+ `// Single-realm policy: every export is a constant binding off the vendor module's\n` +
43
+ `// canonical instance, so app code, plugins, and the vendor bundle itself share one\n` +
44
+ `// module record. The set of exports below is derived from the package's static ESM\n` +
45
+ `// shape (see hmr/helpers/package-exports.ts), not a hand-curated list, so any symbol\n` +
46
+ `// the vendor publishes flows through automatically.\n` +
47
+ `const __origin = ((typeof globalThis !== 'undefined' && globalThis && globalThis.__NS_HTTP_ORIGIN__) || (new URL(import.meta.url)).origin);\n` +
48
+ // Use the canonical, unversioned `/ns/core` URL so this dynamic import
49
+ // shares an iOS HTTP-ESM module record (and therefore a single class-
50
+ // identity realm) with vendor `require('@nativescript/core')` lookups
51
+ // resolved via the runtime import map, plus every app-side import that
52
+ // goes through the core bridge. The `rtVer` is intentionally unused.
53
+ `let __ns_core_bridge = null; try { import(__origin + "/ns/core").then(m => { __ns_core_bridge = m; }).catch(() => {}); } catch {}\n` +
54
+ `const g = globalThis;\n` +
55
+ `const reg = (g.__nsVendorRegistry ||= new Map());\n` +
56
+ `const req = reg && reg.get ? (g.__nsVendorRequire || g.__nsRequire || g.require) : (g.__nsRequire || g.require);\n` +
57
+ `let __cached_rt = null;\n` +
58
+ `let __cached_vm = null;\n` +
59
+ `const __RT_REALM_TAG = (globalThis.__NS_RT_REALM__ ||= Math.random().toString(36).slice(2));\n` +
60
+ `try { if (!(globalThis.__NS_RT_ONCE__ && globalThis.__NS_RT_ONCE__.eval)) { (globalThis.__NS_RT_ONCE__ ||= {}).eval = true; if (globalThis.__NS_ENV_VERBOSE__) console.log('[ns-rt] evaluated', { rtRealm: __RT_REALM_TAG }); } } catch {}\n` +
61
+ `function __ensure(){\n` +
62
+ ` if (__cached_rt) return __cached_rt;\n` +
63
+ ` let vm = null;\n` +
64
+ ` try { vm = reg && reg.has && reg.has('nativescript-vue') ? reg.get('nativescript-vue') : (typeof req==='function' ? req('nativescript-vue') : null); } catch {}\n` +
65
+ ` if (!vm) { try { vm = reg && reg.has && reg.has('vue') ? reg.get('vue') : (typeof req==='function' ? req('vue') : null); } catch {} }\n` +
66
+ ` const rt = (vm && (vm.default ?? vm)) || {};\n` +
67
+ ` __cached_vm = vm;\n` +
68
+ ` __cached_rt = rt;\n` +
69
+ ` return rt;\n` +
70
+ `}\n` +
71
+ // Soft-globals for @nativescript/core when missing (dev-only safety).
72
+ // This stays even with the auto-derived passthrough because Frame /
73
+ // Page / Application aren't `nativescript-vue` exports — they're
74
+ // hoisted onto `globalThis` so the navigation shims (and any legacy
75
+ // `global.Frame.topmost()`-style call site inside the vendor bundle)
76
+ // see the same identities served by `/ns/core`.
77
+ `try {\n` +
78
+ ` const dev = typeof __DEV__ !== 'undefined' ? __DEV__ : true;\n` +
79
+ ` if (dev) {\n` +
80
+ ` const ns = (__ns_core_bridge && (__ns_core_bridge.__esModule && __ns_core_bridge.default ? __ns_core_bridge.default : (__ns_core_bridge.default || __ns_core_bridge))) || __ns_core_bridge || {};\n` +
81
+ ` if (ns) {\n` +
82
+ ` if (!g.Frame && ns.Frame) g.Frame = ns.Frame;\n` +
83
+ ` if (!g.Page && ns.Page) g.Page = ns.Page;\n` +
84
+ ` if (!g.Application && (ns.Application||ns.app||ns.application)) g.Application = (ns.Application||ns.app||ns.application);\n` +
85
+ ` }\n` +
86
+ ` }\n` +
87
+ `} catch {}\n` +
88
+ `export const __realm = __RT_REALM_TAG;\n` +
89
+ // Auto-emitted passthrough exports. Discovery-driven, sorted, dedupe'd.
90
+ passthroughExports +
91
+ `\n` +
92
+ // HMR-routed navigation helpers (replace the would-be passthroughs).
93
+ // These run through `globalThis.__nsNavigateUsingApp` etc. instead of
94
+ // the vendor's native navigation, so HMR can re-route navigation
95
+ // targets after module updates.
96
+ `export const $navigateTo = (...a) => { const vm = (__cached_vm || (void __ensure(), __cached_vm)); const rt = __ensure(); try { if (!(g && g.Frame)) { const ns = (__ns_core_bridge && (__ns_core_bridge.__esModule && __ns_core_bridge.default ? __ns_core_bridge.default : (__ns_core_bridge.default || __ns_core_bridge))) || __ns_core_bridge || {}; if (ns) { if (!g.Frame && ns.Frame) g.Frame = ns.Frame; if (!g.Page && ns.Page) g.Page = ns.Page; if (!g.Application && (ns.Application||ns.app||ns.application)) g.Application = (ns.Application||ns.app||ns.application); } } } catch {} try { const hmrRealm = (g && g.__NS_HMR_REALM__) || 'unknown'; const hasTop = !!(g && g.Frame && g.Frame.topmost && g.Frame.topmost()); const top = hasTop ? g.Frame.topmost() : null; const ctor = top && top.constructor && top.constructor.name; } catch {} if (g && typeof g.__nsNavigateUsingApp === 'function') { try { return g.__nsNavigateUsingApp(...a); } catch (e) { console.error('[ns-rt] $navigateTo app navigator error', e); throw e; } } console.error('[ns-rt] $navigateTo unavailable: app navigator missing'); throw new Error('$navigateTo unavailable: app navigator missing'); } ;\n` +
97
+ `export const $navigateBack = (...a) => { const vm = (__cached_vm || (void __ensure(), __cached_vm)); const rt = __ensure(); const impl = (vm && (vm.$navigateBack || (vm.default && vm.default.$navigateBack))) || (rt && (rt.$navigateBack || (rt.runtimeHelpers && rt.runtimeHelpers.navigateBack))); let res; try { const via = (impl && (impl === (vm && vm.$navigateBack) || impl === (vm && vm.default && vm.default.$navigateBack))) ? 'vm' : (impl ? 'rt' : 'none'); } catch {} try { if (typeof impl === 'function') res = impl(...a); } catch {} try { const top = (g && g.Frame && g.Frame.topmost && g.Frame.topmost()); if (!res && top && top.canGoBack && top.canGoBack()) { res = top.goBack(); } } catch {} try { const hook = g && (g.__NS_HMR_ON_NAVIGATE_BACK || g.__NS_HMR_ON_BACK || g.__nsAttemptBackRemount); if (typeof hook === 'function') hook(); } catch {} return res; }\n` +
98
+ `export const $showModal = (...a) => { const vm = (__cached_vm || (void __ensure(), __cached_vm)); const rt = __ensure(); const impl = (vm && (vm.$showModal || (vm.default && vm.default.$showModal))) || (rt && (rt.$showModal || (rt.runtimeHelpers && rt.runtimeHelpers.showModal))); try { if (typeof impl === 'function') return impl(...a); } catch (e) { } return undefined; }\n` +
99
+ // Vite client polyfill — see the comment in websocket.ts for full rationale.
100
+ `export const vite__injectQuery = (url, queryToInject) => {\n` +
101
+ ` if (typeof url !== 'string') return url;\n` +
102
+ ` if (url[0] !== '.' && url[0] !== '/') return url;\n` +
103
+ ` const pathname = url.replace(/[?#].*$/, '');\n` +
104
+ ` let search = '', hash = '';\n` +
105
+ ` try { const u = new URL(url, 'http://vite.dev'); search = u.search || ''; hash = u.hash || ''; } catch {}\n` +
106
+ ` return pathname + '?' + queryToInject + (search ? '&' + search.slice(1) : '') + (hash || '');\n` +
107
+ `};\n` +
108
+ `export default { ${defaultListing} };\n`;
109
+ return options.requireGuardSnippet + code;
110
+ }
111
+ /**
112
+ * Resolve the set of names the bridge should re-export for `nativescript-vue`
113
+ * given a project root. Static discovery via `enumeratePackageExports` is the
114
+ * only source — there is no curated fallback. If `nativescript-vue` is not
115
+ * resolvable from `projectRoot`, the returned set is empty and the bridge
116
+ * built from it will not emit passthroughs; the caller should treat that as
117
+ * the misconfiguration it is rather than mask it with a stale baseline.
118
+ *
119
+ * Caching lives inside `enumeratePackageExports`, so repeated calls in a dev
120
+ * session are effectively free.
121
+ */
122
+ export function discoverNsvBridgeExports(projectRoot) {
123
+ const out = new Set();
124
+ const shape = enumeratePackageExports('nativescript-vue', projectRoot);
125
+ for (const n of shape.names) {
126
+ if (typeof n === 'string' && IDENT_RE.test(n))
127
+ out.add(n);
128
+ }
129
+ return out;
130
+ }
131
+ //# sourceMappingURL=ns-rt-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ns-rt-bridge.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/ns-rt-bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { ViteDevServer } from 'vite';
2
+ export interface NsRtRouteOptions {
3
+ getGraphVersion(): number;
4
+ }
5
+ export declare function registerNsRtBridgeRoute(server: ViteDevServer, options: NsRtRouteOptions): void;