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

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 (554) 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 +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.js +9 -4
  37. package/helpers/dynamic-import-plugin.js.map +1 -1
  38. package/helpers/esbuild-platform-resolver.js +4 -1
  39. package/helpers/esbuild-platform-resolver.js.map +1 -1
  40. package/helpers/external-configs.d.ts +10 -12
  41. package/helpers/external-configs.js +58 -35
  42. package/helpers/external-configs.js.map +1 -1
  43. package/helpers/flavor.d.ts +13 -0
  44. package/helpers/flavor.js +17 -0
  45. package/helpers/flavor.js.map +1 -1
  46. package/helpers/global-defines.d.ts +101 -33
  47. package/helpers/global-defines.js +187 -64
  48. package/helpers/global-defines.js.map +1 -1
  49. package/helpers/hmr-scope.d.ts +26 -0
  50. package/helpers/hmr-scope.js +67 -0
  51. package/helpers/hmr-scope.js.map +1 -0
  52. package/helpers/init.js +0 -18
  53. package/helpers/init.js.map +1 -1
  54. package/helpers/logging.js +29 -1
  55. package/helpers/logging.js.map +1 -1
  56. package/helpers/main-entry.d.ts +4 -1
  57. package/helpers/main-entry.js +366 -47
  58. package/helpers/main-entry.js.map +1 -1
  59. package/helpers/nativeclass-esbuild-plugin.d.ts +2 -1
  60. package/helpers/nativeclass-esbuild-plugin.js +6 -1
  61. package/helpers/nativeclass-esbuild-plugin.js.map +1 -1
  62. package/helpers/nativeclass-transform.d.ts +13 -0
  63. package/helpers/nativeclass-transform.js +37 -7
  64. package/helpers/nativeclass-transform.js.map +1 -1
  65. package/helpers/nativeclass-transformer-plugin.d.ts +9 -2
  66. package/helpers/nativeclass-transformer-plugin.js +163 -15
  67. package/helpers/nativeclass-transformer-plugin.js.map +1 -1
  68. package/helpers/nativescript-package-resolver.js +10 -62
  69. package/helpers/nativescript-package-resolver.js.map +1 -1
  70. package/helpers/normalize-id.d.ts +42 -0
  71. package/helpers/normalize-id.js +60 -0
  72. package/helpers/normalize-id.js.map +1 -0
  73. package/helpers/ns-core-external-urls.d.ts +32 -0
  74. package/helpers/ns-core-external-urls.js +107 -0
  75. package/helpers/ns-core-external-urls.js.map +1 -0
  76. package/helpers/ns-core-url.d.ts +26 -3
  77. package/helpers/ns-core-url.js +66 -8
  78. package/helpers/ns-core-url.js.map +1 -1
  79. package/helpers/optimize-deps.d.ts +16 -0
  80. package/helpers/optimize-deps.js +17 -0
  81. package/helpers/optimize-deps.js.map +1 -0
  82. package/helpers/package-platform-aliases.js +34 -49
  83. package/helpers/package-platform-aliases.js.map +1 -1
  84. package/helpers/platform-types.d.ts +2 -0
  85. package/helpers/platform-types.js +2 -0
  86. package/helpers/platform-types.js.map +1 -0
  87. package/helpers/postcss-platform-config.d.ts +17 -1
  88. package/helpers/postcss-platform-config.js +20 -37
  89. package/helpers/postcss-platform-config.js.map +1 -1
  90. package/helpers/project.d.ts +35 -0
  91. package/helpers/project.js +120 -2
  92. package/helpers/project.js.map +1 -1
  93. package/helpers/resolve-main-field-platform.d.ts +20 -0
  94. package/helpers/resolve-main-field-platform.js +49 -0
  95. package/helpers/resolve-main-field-platform.js.map +1 -0
  96. package/helpers/resolver.js +17 -2
  97. package/helpers/resolver.js.map +1 -1
  98. package/helpers/theme-core-plugins.js +1 -1
  99. package/helpers/theme-core-plugins.js.map +1 -1
  100. package/helpers/ts-config-paths.d.ts +32 -0
  101. package/helpers/ts-config-paths.js +156 -27
  102. package/helpers/ts-config-paths.js.map +1 -1
  103. package/helpers/typescript-check.d.ts +2 -1
  104. package/helpers/typescript-check.js +4 -4
  105. package/helpers/typescript-check.js.map +1 -1
  106. package/helpers/ui-registration.d.ts +21 -0
  107. package/helpers/ui-registration.js +156 -0
  108. package/helpers/ui-registration.js.map +1 -0
  109. package/helpers/utils.d.ts +9 -0
  110. package/helpers/utils.js +22 -2
  111. package/helpers/utils.js.map +1 -1
  112. package/helpers/vite-package-version.d.ts +7 -0
  113. package/helpers/vite-package-version.js +44 -0
  114. package/helpers/vite-package-version.js.map +1 -0
  115. package/helpers/workers.d.ts +40 -19
  116. package/helpers/workers.js +324 -13
  117. package/helpers/workers.js.map +1 -1
  118. package/hmr/client/css-handler.d.ts +2 -1
  119. package/hmr/client/css-handler.js +63 -32
  120. package/hmr/client/css-handler.js.map +1 -1
  121. package/hmr/client/css-update-overlay.d.ts +18 -0
  122. package/hmr/client/css-update-overlay.js +27 -0
  123. package/hmr/client/css-update-overlay.js.map +1 -0
  124. package/hmr/client/framework-client-strategy.d.ts +87 -0
  125. package/hmr/client/framework-client-strategy.js +18 -0
  126. package/hmr/client/framework-client-strategy.js.map +1 -0
  127. package/hmr/client/hmr-pending-overlay.d.ts +0 -14
  128. package/hmr/client/hmr-pending-overlay.js +2 -11
  129. package/hmr/client/hmr-pending-overlay.js.map +1 -1
  130. package/hmr/client/hot-context.d.ts +67 -0
  131. package/hmr/client/hot-context.js +307 -0
  132. package/hmr/client/hot-context.js.map +1 -0
  133. package/hmr/client/index.d.ts +9 -1
  134. package/hmr/client/index.js +70 -1970
  135. package/hmr/client/index.js.map +1 -1
  136. package/hmr/client/overlay-driver.d.ts +10 -0
  137. package/hmr/client/overlay-driver.js +33 -0
  138. package/hmr/client/overlay-driver.js.map +1 -0
  139. package/hmr/client/protocol-dispatch.d.ts +8 -0
  140. package/hmr/client/protocol-dispatch.js +308 -0
  141. package/hmr/client/protocol-dispatch.js.map +1 -0
  142. package/hmr/client/root-reset.d.ts +15 -0
  143. package/hmr/client/root-reset.js +358 -0
  144. package/hmr/client/root-reset.js.map +1 -0
  145. package/hmr/client/strategy-loader.d.ts +24 -0
  146. package/hmr/client/strategy-loader.js +83 -0
  147. package/hmr/client/strategy-loader.js.map +1 -0
  148. package/hmr/client/update-pipeline.d.ts +27 -0
  149. package/hmr/client/update-pipeline.js +464 -0
  150. package/hmr/client/update-pipeline.js.map +1 -0
  151. package/hmr/client/utils.d.ts +9 -1
  152. package/hmr/client/utils.js +117 -97
  153. package/hmr/client/utils.js.map +1 -1
  154. package/hmr/client/ws-transport.d.ts +21 -0
  155. package/hmr/client/ws-transport.js +323 -0
  156. package/hmr/client/ws-transport.js.map +1 -0
  157. package/hmr/entry-runtime.d.ts +2 -1
  158. package/hmr/entry-runtime.js +282 -71
  159. package/hmr/entry-runtime.js.map +1 -1
  160. package/hmr/frameworks/angular/build/angular-linker.d.ts +12 -0
  161. package/hmr/frameworks/angular/build/angular-linker.js +113 -0
  162. package/hmr/frameworks/angular/build/angular-linker.js.map +1 -0
  163. package/hmr/frameworks/angular/build/inject-component-hmr-registration.d.ts +112 -0
  164. package/hmr/frameworks/angular/build/inject-component-hmr-registration.js +291 -0
  165. package/hmr/frameworks/angular/build/inject-component-hmr-registration.js.map +1 -0
  166. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.d.ts +75 -0
  167. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js +221 -0
  168. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js.map +1 -0
  169. package/{helpers/angular → hmr/frameworks/angular/build}/inline-decorator-component-templates.js +1 -170
  170. package/hmr/frameworks/angular/build/inline-decorator-component-templates.js.map +1 -0
  171. package/hmr/frameworks/angular/build/js-lexer.d.ts +4 -0
  172. package/{helpers/angular/synthesize-decorator-ctor-parameters.js → hmr/frameworks/angular/build/js-lexer.js} +22 -96
  173. package/hmr/frameworks/angular/build/js-lexer.js.map +1 -0
  174. package/hmr/frameworks/angular/build/linker-stats.d.ts +18 -0
  175. package/hmr/frameworks/angular/build/linker-stats.js +29 -0
  176. package/hmr/frameworks/angular/build/linker-stats.js.map +1 -0
  177. package/hmr/frameworks/angular/build/shared-linker.d.ts +39 -0
  178. package/hmr/frameworks/angular/build/shared-linker.js +128 -0
  179. package/hmr/frameworks/angular/build/shared-linker.js.map +1 -0
  180. package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js +88 -0
  181. package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js.map +1 -0
  182. package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-injectable-factories.js +1 -174
  183. package/hmr/frameworks/angular/build/synthesize-injectable-factories.js.map +1 -0
  184. package/hmr/frameworks/angular/build/ts-fallback-transform.d.ts +5 -0
  185. package/hmr/frameworks/angular/build/ts-fallback-transform.js +138 -0
  186. package/hmr/frameworks/angular/build/ts-fallback-transform.js.map +1 -0
  187. package/{helpers/angular → hmr/frameworks/angular/build}/util.d.ts +1 -0
  188. package/hmr/frameworks/angular/build/util.js +155 -0
  189. package/hmr/frameworks/angular/build/util.js.map +1 -0
  190. package/hmr/frameworks/angular/build/worker-url-preserve.d.ts +5 -0
  191. package/hmr/frameworks/angular/build/worker-url-preserve.js +140 -0
  192. package/hmr/frameworks/angular/build/worker-url-preserve.js.map +1 -0
  193. package/hmr/frameworks/angular/client/index.d.ts +0 -1
  194. package/hmr/frameworks/angular/client/index.js +459 -223
  195. package/hmr/frameworks/angular/client/index.js.map +1 -1
  196. package/hmr/frameworks/angular/client/strategy.d.ts +9 -0
  197. package/hmr/frameworks/angular/client/strategy.js +19 -0
  198. package/hmr/frameworks/angular/client/strategy.js.map +1 -0
  199. package/hmr/frameworks/angular/server/angular-root-component.d.ts +79 -0
  200. package/hmr/frameworks/angular/server/angular-root-component.js +149 -0
  201. package/hmr/frameworks/angular/server/angular-root-component.js.map +1 -0
  202. package/hmr/frameworks/angular/server/linker.js +1 -4
  203. package/hmr/frameworks/angular/server/linker.js.map +1 -1
  204. package/hmr/frameworks/angular/server/ng-component-route.d.ts +43 -0
  205. package/hmr/frameworks/angular/server/ng-component-route.js +113 -0
  206. package/hmr/frameworks/angular/server/ng-component-route.js.map +1 -0
  207. package/hmr/frameworks/angular/server/strategy.js +677 -13
  208. package/hmr/frameworks/angular/server/strategy.js.map +1 -1
  209. package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.js +2 -2
  210. package/hmr/frameworks/angular/server/websocket-angular-entry.js.map +1 -0
  211. package/hmr/{server → frameworks/angular/server}/websocket-angular-hot-update.d.ts +28 -11
  212. package/hmr/{server → frameworks/angular/server}/websocket-angular-hot-update.js +191 -105
  213. package/hmr/frameworks/angular/server/websocket-angular-hot-update.js.map +1 -0
  214. package/hmr/frameworks/react/client/strategy.d.ts +12 -0
  215. package/hmr/frameworks/react/client/strategy.js +27 -0
  216. package/hmr/frameworks/react/client/strategy.js.map +1 -0
  217. package/hmr/frameworks/react/server/strategy.d.ts +2 -0
  218. package/hmr/frameworks/react/server/strategy.js +230 -0
  219. package/hmr/frameworks/react/server/strategy.js.map +1 -0
  220. package/hmr/frameworks/solid/build/solid-jsx-deps.d.ts +15 -0
  221. package/hmr/frameworks/solid/build/solid-jsx-deps.js +178 -0
  222. package/hmr/frameworks/solid/build/solid-jsx-deps.js.map +1 -0
  223. package/hmr/frameworks/solid/client/app-runtime.d.ts +68 -0
  224. package/hmr/frameworks/solid/client/app-runtime.js +252 -0
  225. package/hmr/frameworks/solid/client/app-runtime.js.map +1 -0
  226. package/hmr/frameworks/solid/client/strategy.d.ts +7 -0
  227. package/hmr/frameworks/solid/client/strategy.js +391 -0
  228. package/hmr/frameworks/solid/client/strategy.js.map +1 -0
  229. package/hmr/frameworks/solid/server/strategy.js +293 -16
  230. package/hmr/frameworks/solid/server/strategy.js.map +1 -1
  231. package/hmr/frameworks/typescript/client/strategy.d.ts +7 -0
  232. package/hmr/frameworks/typescript/client/strategy.js +418 -0
  233. package/hmr/frameworks/typescript/client/strategy.js.map +1 -0
  234. package/hmr/frameworks/typescript/server/strategy.js +40 -14
  235. package/hmr/frameworks/typescript/server/strategy.js.map +1 -1
  236. package/hmr/frameworks/vue/client/dep-propagation.d.ts +44 -0
  237. package/hmr/frameworks/vue/client/dep-propagation.js +148 -0
  238. package/hmr/frameworks/vue/client/dep-propagation.js.map +1 -0
  239. package/hmr/frameworks/vue/client/index.d.ts +10 -1
  240. package/hmr/frameworks/vue/client/index.js +287 -562
  241. package/hmr/frameworks/vue/client/index.js.map +1 -1
  242. package/hmr/frameworks/vue/client/navigate-app.d.ts +3 -0
  243. package/hmr/frameworks/vue/client/navigate-app.js +178 -0
  244. package/hmr/frameworks/vue/client/navigate-app.js.map +1 -0
  245. package/hmr/frameworks/vue/client/strategy.d.ts +33 -0
  246. package/hmr/frameworks/vue/client/strategy.js +152 -0
  247. package/hmr/frameworks/vue/client/strategy.js.map +1 -0
  248. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.d.ts +49 -0
  249. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js +124 -0
  250. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js.map +1 -0
  251. package/hmr/frameworks/vue/server/compiler.d.ts +3 -1
  252. package/hmr/frameworks/vue/server/compiler.js +3 -1
  253. package/hmr/frameworks/vue/server/compiler.js.map +1 -1
  254. package/hmr/frameworks/vue/server/sfc-route-assemble.d.ts +7 -0
  255. package/hmr/frameworks/vue/server/sfc-route-assemble.js +823 -0
  256. package/hmr/frameworks/vue/server/sfc-route-assemble.js.map +1 -0
  257. package/hmr/frameworks/vue/server/sfc-route-meta.d.ts +7 -0
  258. package/hmr/frameworks/vue/server/sfc-route-meta.js +80 -0
  259. package/hmr/frameworks/vue/server/sfc-route-meta.js.map +1 -0
  260. package/hmr/frameworks/vue/server/sfc-route-serve.d.ts +8 -0
  261. package/hmr/frameworks/vue/server/sfc-route-serve.js +462 -0
  262. package/hmr/frameworks/vue/server/sfc-route-serve.js.map +1 -0
  263. package/hmr/frameworks/vue/server/sfc-route-shared.d.ts +45 -0
  264. package/hmr/frameworks/vue/server/sfc-route-shared.js +105 -0
  265. package/hmr/frameworks/vue/server/sfc-route-shared.js.map +1 -0
  266. package/hmr/frameworks/vue/server/strategy.d.ts +35 -0
  267. package/hmr/frameworks/vue/server/strategy.js +291 -7
  268. package/hmr/frameworks/vue/server/strategy.js.map +1 -1
  269. package/hmr/frameworks/vue/server/websocket-sfc.d.ts +15 -0
  270. package/hmr/frameworks/vue/server/websocket-sfc.js +20 -0
  271. package/hmr/frameworks/vue/server/websocket-sfc.js.map +1 -0
  272. package/hmr/helpers/ast-normalizer.d.ts +3 -1
  273. package/hmr/helpers/ast-normalizer.js +109 -14
  274. package/hmr/helpers/ast-normalizer.js.map +1 -1
  275. package/hmr/helpers/cjs-named-exports.d.ts +23 -0
  276. package/hmr/helpers/cjs-named-exports.js +152 -0
  277. package/hmr/helpers/cjs-named-exports.js.map +1 -0
  278. package/hmr/helpers/package-exports.d.ts +16 -0
  279. package/hmr/helpers/package-exports.js +396 -0
  280. package/hmr/helpers/package-exports.js.map +1 -0
  281. package/hmr/helpers/vendor-rewrite.d.ts +1 -1
  282. package/hmr/helpers/vendor-rewrite.js +5 -3
  283. package/hmr/helpers/vendor-rewrite.js.map +1 -1
  284. package/hmr/server/boot-recording.d.ts +51 -0
  285. package/hmr/server/boot-recording.js +214 -0
  286. package/hmr/server/boot-recording.js.map +1 -0
  287. package/hmr/server/constants.js +20 -5
  288. package/hmr/server/constants.js.map +1 -1
  289. package/hmr/server/content-css-update.d.ts +54 -0
  290. package/hmr/server/content-css-update.js +78 -0
  291. package/hmr/server/content-css-update.js.map +1 -0
  292. package/hmr/server/core-bundle.d.ts +140 -0
  293. package/hmr/server/core-bundle.js +614 -0
  294. package/hmr/server/core-bundle.js.map +1 -0
  295. package/hmr/server/core-sanitize.d.ts +86 -7
  296. package/hmr/server/core-sanitize.js +164 -39
  297. package/hmr/server/core-sanitize.js.map +1 -1
  298. package/hmr/server/css-connect-sync.d.ts +28 -0
  299. package/hmr/server/css-connect-sync.js +59 -0
  300. package/hmr/server/css-connect-sync.js.map +1 -0
  301. package/hmr/server/css-device-module.d.ts +28 -0
  302. package/hmr/server/css-device-module.js +44 -0
  303. package/hmr/server/css-device-module.js.map +1 -0
  304. package/hmr/server/css-update-message.d.ts +23 -0
  305. package/hmr/server/css-update-message.js +41 -0
  306. package/hmr/server/css-update-message.js.map +1 -0
  307. package/hmr/server/deps-bundle.d.ts +233 -0
  308. package/hmr/server/deps-bundle.js +1022 -0
  309. package/hmr/server/deps-bundle.js.map +1 -0
  310. package/hmr/server/device-transform-helpers.d.ts +24 -0
  311. package/hmr/server/device-transform-helpers.js +408 -0
  312. package/hmr/server/device-transform-helpers.js.map +1 -0
  313. package/hmr/server/framework-strategy.d.ts +182 -11
  314. package/hmr/server/hmr-module-graph.d.ts +37 -0
  315. package/hmr/server/hmr-module-graph.js +215 -0
  316. package/hmr/server/hmr-module-graph.js.map +1 -0
  317. package/hmr/server/import-map.d.ts +51 -19
  318. package/hmr/server/import-map.js +136 -66
  319. package/hmr/server/import-map.js.map +1 -1
  320. package/hmr/server/index.js +7 -16
  321. package/hmr/server/index.js.map +1 -1
  322. package/hmr/server/node-builtins-route.d.ts +12 -0
  323. package/hmr/server/node-builtins-route.js +86 -0
  324. package/hmr/server/node-builtins-route.js.map +1 -0
  325. package/hmr/server/ns-core-cjs-shape.js +1 -1
  326. package/hmr/server/ns-core-cjs-shape.js.map +1 -1
  327. package/hmr/server/ns-m-response-memo.d.ts +10 -0
  328. package/hmr/server/ns-m-response-memo.js +33 -0
  329. package/hmr/server/ns-m-response-memo.js.map +1 -0
  330. package/hmr/server/ns-rt-bridge.d.ts +51 -0
  331. package/hmr/server/ns-rt-bridge.js +131 -0
  332. package/hmr/server/ns-rt-bridge.js.map +1 -0
  333. package/hmr/server/ns-rt-route.d.ts +5 -0
  334. package/hmr/server/ns-rt-route.js +39 -0
  335. package/hmr/server/ns-rt-route.js.map +1 -0
  336. package/hmr/server/perf-instrumentation.d.ts +1 -1
  337. package/hmr/server/perf-instrumentation.js +3 -1
  338. package/hmr/server/perf-instrumentation.js.map +1 -1
  339. package/hmr/server/process-code-for-device.d.ts +44 -0
  340. package/hmr/server/process-code-for-device.js +834 -0
  341. package/hmr/server/process-code-for-device.js.map +1 -0
  342. package/hmr/server/require-guard.d.ts +1 -0
  343. package/hmr/server/require-guard.js +12 -0
  344. package/hmr/server/require-guard.js.map +1 -0
  345. package/hmr/server/rewrite-imports.d.ts +2 -0
  346. package/hmr/server/rewrite-imports.js +631 -0
  347. package/hmr/server/rewrite-imports.js.map +1 -0
  348. package/hmr/server/route-helpers.d.ts +7 -0
  349. package/hmr/server/route-helpers.js +13 -0
  350. package/hmr/server/route-helpers.js.map +1 -0
  351. package/hmr/server/runtime-graph-filter.js +8 -1
  352. package/hmr/server/runtime-graph-filter.js.map +1 -1
  353. package/hmr/server/server-origin.d.ts +2 -0
  354. package/hmr/server/server-origin.js +88 -0
  355. package/hmr/server/server-origin.js.map +1 -0
  356. package/hmr/server/shared-transform-request.js +1 -2
  357. package/hmr/server/shared-transform-request.js.map +1 -1
  358. package/hmr/server/socket-utils.d.ts +10 -0
  359. package/hmr/server/socket-utils.js +14 -0
  360. package/hmr/server/socket-utils.js.map +1 -0
  361. package/hmr/server/transform-cache-invalidation.d.ts +37 -0
  362. package/hmr/server/transform-cache-invalidation.js +156 -0
  363. package/hmr/server/transform-cache-invalidation.js.map +1 -0
  364. package/hmr/server/vendor-bare-module-shims.d.ts +4 -0
  365. package/hmr/server/vendor-bare-module-shims.js +80 -0
  366. package/hmr/server/vendor-bare-module-shims.js.map +1 -0
  367. package/hmr/server/vite-plugin.d.ts +1 -0
  368. package/hmr/server/vite-plugin.js +227 -53
  369. package/hmr/server/vite-plugin.js.map +1 -1
  370. package/hmr/server/websocket-core-bridge.d.ts +51 -4
  371. package/hmr/server/websocket-core-bridge.js +62 -49
  372. package/hmr/server/websocket-core-bridge.js.map +1 -1
  373. package/hmr/server/websocket-device-transform.d.ts +3 -0
  374. package/hmr/server/websocket-device-transform.js +7 -0
  375. package/hmr/server/websocket-device-transform.js.map +1 -0
  376. package/hmr/server/websocket-hmr-pending.d.ts +2 -16
  377. package/hmr/server/websocket-hmr-pending.js +0 -22
  378. package/hmr/server/websocket-hmr-pending.js.map +1 -1
  379. package/hmr/server/websocket-hot-update.d.ts +80 -0
  380. package/hmr/server/websocket-hot-update.js +295 -0
  381. package/hmr/server/websocket-hot-update.js.map +1 -0
  382. package/hmr/server/websocket-import-map-route.d.ts +15 -0
  383. package/hmr/server/websocket-import-map-route.js +51 -0
  384. package/hmr/server/websocket-import-map-route.js.map +1 -0
  385. package/hmr/server/websocket-module-bindings.d.ts +15 -0
  386. package/hmr/server/websocket-module-bindings.js +38 -5
  387. package/hmr/server/websocket-module-bindings.js.map +1 -1
  388. package/hmr/server/websocket-module-specifiers.d.ts +66 -7
  389. package/hmr/server/websocket-module-specifiers.js +219 -49
  390. package/hmr/server/websocket-module-specifiers.js.map +1 -1
  391. package/hmr/server/websocket-ns-core.d.ts +34 -0
  392. package/hmr/server/websocket-ns-core.js +414 -0
  393. package/hmr/server/websocket-ns-core.js.map +1 -0
  394. package/hmr/server/websocket-ns-entry.d.ts +21 -0
  395. package/hmr/server/websocket-ns-entry.js +164 -0
  396. package/hmr/server/websocket-ns-entry.js.map +1 -0
  397. package/hmr/server/websocket-ns-m-paths.d.ts +19 -3
  398. package/hmr/server/websocket-ns-m-paths.js +98 -75
  399. package/hmr/server/websocket-ns-m-paths.js.map +1 -1
  400. package/hmr/server/websocket-ns-m-request.d.ts +13 -2
  401. package/hmr/server/websocket-ns-m-request.js +20 -11
  402. package/hmr/server/websocket-ns-m-request.js.map +1 -1
  403. package/hmr/server/websocket-ns-m.d.ts +52 -0
  404. package/hmr/server/websocket-ns-m.js +590 -0
  405. package/hmr/server/websocket-ns-m.js.map +1 -0
  406. package/hmr/server/websocket-served-module-helpers.d.ts +57 -4
  407. package/hmr/server/websocket-served-module-helpers.js +462 -141
  408. package/hmr/server/websocket-served-module-helpers.js.map +1 -1
  409. package/hmr/server/websocket-txn.js +6 -9
  410. package/hmr/server/websocket-txn.js.map +1 -1
  411. package/hmr/server/websocket-vendor-unifier.d.ts +0 -1
  412. package/hmr/server/websocket-vendor-unifier.js +4 -9
  413. package/hmr/server/websocket-vendor-unifier.js.map +1 -1
  414. package/hmr/server/websocket.d.ts +7 -40
  415. package/hmr/server/websocket.js +653 -6734
  416. package/hmr/server/websocket.js.map +1 -1
  417. package/hmr/shared/ns-globals.d.ts +106 -0
  418. package/hmr/shared/ns-globals.js +29 -0
  419. package/hmr/shared/ns-globals.js.map +1 -0
  420. package/hmr/shared/protocol.d.ts +157 -0
  421. package/hmr/shared/protocol.js +28 -0
  422. package/hmr/shared/protocol.js.map +1 -0
  423. package/hmr/shared/runtime/boot-complete.d.ts +14 -0
  424. package/hmr/shared/runtime/boot-complete.js +32 -0
  425. package/hmr/shared/runtime/boot-complete.js.map +1 -0
  426. package/hmr/shared/runtime/boot-placeholder-ui.d.ts +69 -0
  427. package/hmr/shared/runtime/boot-placeholder-ui.js +101 -0
  428. package/hmr/shared/runtime/boot-placeholder-ui.js.map +1 -0
  429. package/hmr/shared/runtime/boot-progress.d.ts +44 -0
  430. package/hmr/shared/runtime/boot-progress.js +134 -0
  431. package/hmr/shared/runtime/boot-progress.js.map +1 -0
  432. package/hmr/shared/runtime/boot-timeline.d.ts +1 -1
  433. package/hmr/shared/runtime/boot-timeline.js +8 -19
  434. package/hmr/shared/runtime/boot-timeline.js.map +1 -1
  435. package/hmr/shared/runtime/browser-runtime-contract.d.ts +43 -24
  436. package/hmr/shared/runtime/browser-runtime-contract.js +21 -9
  437. package/hmr/shared/runtime/browser-runtime-contract.js.map +1 -1
  438. package/hmr/shared/runtime/dev-overlay-ios.d.ts +87 -0
  439. package/hmr/shared/runtime/dev-overlay-ios.js +521 -0
  440. package/hmr/shared/runtime/dev-overlay-ios.js.map +1 -0
  441. package/hmr/shared/runtime/dev-overlay-shared.d.ts +58 -0
  442. package/hmr/shared/runtime/dev-overlay-shared.js +116 -0
  443. package/hmr/shared/runtime/dev-overlay-shared.js.map +1 -0
  444. package/hmr/shared/runtime/dev-overlay-snapshots.d.ts +31 -0
  445. package/hmr/shared/runtime/dev-overlay-snapshots.js +324 -0
  446. package/hmr/shared/runtime/dev-overlay-snapshots.js.map +1 -0
  447. package/hmr/shared/runtime/dev-overlay-tree.d.ts +59 -0
  448. package/hmr/shared/runtime/dev-overlay-tree.js +712 -0
  449. package/hmr/shared/runtime/dev-overlay-tree.js.map +1 -0
  450. package/hmr/shared/runtime/dev-overlay.d.ts +23 -69
  451. package/hmr/shared/runtime/dev-overlay.js +67 -1023
  452. package/hmr/shared/runtime/dev-overlay.js.map +1 -1
  453. package/hmr/shared/runtime/global-scope.d.ts +18 -0
  454. package/hmr/shared/runtime/global-scope.js +21 -0
  455. package/hmr/shared/runtime/global-scope.js.map +1 -0
  456. package/hmr/shared/runtime/hooks.js +2 -1
  457. package/hmr/shared/runtime/hooks.js.map +1 -1
  458. package/hmr/shared/runtime/launch-bridge.d.ts +9 -0
  459. package/hmr/shared/runtime/launch-bridge.js +98 -0
  460. package/hmr/shared/runtime/launch-bridge.js.map +1 -0
  461. package/hmr/shared/runtime/module-provenance.js +4 -6
  462. package/hmr/shared/runtime/module-provenance.js.map +1 -1
  463. package/hmr/shared/runtime/ns-runtime-test-double.d.ts +21 -0
  464. package/hmr/shared/runtime/ns-runtime-test-double.js +20 -0
  465. package/hmr/shared/runtime/ns-runtime-test-double.js.map +1 -0
  466. package/hmr/shared/runtime/overlay-flag.d.ts +9 -0
  467. package/hmr/shared/runtime/overlay-flag.js +34 -0
  468. package/hmr/shared/runtime/overlay-flag.js.map +1 -0
  469. package/hmr/shared/runtime/root-placeholder-view.d.ts +19 -0
  470. package/hmr/shared/runtime/root-placeholder-view.js +311 -0
  471. package/hmr/shared/runtime/root-placeholder-view.js.map +1 -0
  472. package/hmr/shared/runtime/root-placeholder.js +401 -206
  473. package/hmr/shared/runtime/root-placeholder.js.map +1 -1
  474. package/hmr/shared/runtime/session-bootstrap.js +203 -58
  475. package/hmr/shared/runtime/session-bootstrap.js.map +1 -1
  476. package/hmr/shared/runtime/vendor-bootstrap.js +3 -10
  477. package/hmr/shared/runtime/vendor-bootstrap.js.map +1 -1
  478. package/hmr/shared/runtime/vendor-resolve.d.ts +22 -0
  479. package/hmr/shared/runtime/vendor-resolve.js +45 -0
  480. package/hmr/shared/runtime/vendor-resolve.js.map +1 -0
  481. package/hmr/shared/vendor/manifest-collect.d.ts +4 -0
  482. package/hmr/shared/vendor/manifest-collect.js +909 -0
  483. package/hmr/shared/vendor/manifest-collect.js.map +1 -0
  484. package/hmr/shared/vendor/manifest-loader.d.ts +2 -1
  485. package/hmr/shared/vendor/manifest-loader.js +5 -3
  486. package/hmr/shared/vendor/manifest-loader.js.map +1 -1
  487. package/hmr/shared/vendor/manifest.d.ts +12 -7
  488. package/hmr/shared/vendor/manifest.js +180 -826
  489. package/hmr/shared/vendor/manifest.js.map +1 -1
  490. package/hmr/shared/vendor/registry.d.ts +2 -0
  491. package/hmr/shared/vendor/registry.js +14 -0
  492. package/hmr/shared/vendor/registry.js.map +1 -1
  493. package/hmr/shared/vendor/vendor-device-shim.d.ts +1 -0
  494. package/hmr/shared/vendor/vendor-device-shim.js +208 -0
  495. package/hmr/shared/vendor/vendor-device-shim.js.map +1 -0
  496. package/hmr/shared/vendor/vendor-esbuild-plugins.d.ts +107 -0
  497. package/hmr/shared/vendor/vendor-esbuild-plugins.js +540 -0
  498. package/hmr/shared/vendor/vendor-esbuild-plugins.js.map +1 -0
  499. package/index.d.ts +1 -0
  500. package/index.js +5 -0
  501. package/index.js.map +1 -1
  502. package/package.json +65 -13
  503. package/runtime/core-aliases-early.js +28 -57
  504. package/runtime/core-aliases-early.js.map +1 -1
  505. package/shims/react-jsx-runtime.d.ts +4 -0
  506. package/shims/react-jsx-runtime.js +61 -0
  507. package/shims/react-jsx-runtime.js.map +1 -0
  508. package/helpers/angular/angular-linker.d.ts +0 -13
  509. package/helpers/angular/angular-linker.js +0 -194
  510. package/helpers/angular/angular-linker.js.map +0 -1
  511. package/helpers/angular/inline-decorator-component-templates.js.map +0 -1
  512. package/helpers/angular/shared-linker.d.ts +0 -11
  513. package/helpers/angular/shared-linker.js +0 -75
  514. package/helpers/angular/shared-linker.js.map +0 -1
  515. package/helpers/angular/synthesize-decorator-ctor-parameters.js.map +0 -1
  516. package/helpers/angular/synthesize-injectable-factories.js.map +0 -1
  517. package/helpers/angular/util.js +0 -67
  518. package/helpers/angular/util.js.map +0 -1
  519. package/helpers/module-runner-patch.d.ts +0 -3
  520. package/helpers/module-runner-patch.js +0 -63
  521. package/helpers/module-runner-patch.js.map +0 -1
  522. package/helpers/prelink-angular.d.ts +0 -2
  523. package/helpers/prelink-angular.js +0 -117
  524. package/helpers/prelink-angular.js.map +0 -1
  525. package/hmr/server/websocket-angular-entry.js.map +0 -1
  526. package/hmr/server/websocket-angular-hot-update.js.map +0 -1
  527. package/hmr/server/websocket-ns-m-finalize.d.ts +0 -22
  528. package/hmr/server/websocket-ns-m-finalize.js +0 -88
  529. package/hmr/server/websocket-ns-m-finalize.js.map +0 -1
  530. package/hmr/server/websocket-runtime-compat.d.ts +0 -19
  531. package/hmr/server/websocket-runtime-compat.js +0 -287
  532. package/hmr/server/websocket-runtime-compat.js.map +0 -1
  533. package/hmr/server/websocket-vue-sfc.d.ts +0 -27
  534. package/hmr/server/websocket-vue-sfc.js +0 -1114
  535. package/hmr/server/websocket-vue-sfc.js.map +0 -1
  536. package/hmr/shared/runtime/http-only-boot.d.ts +0 -2
  537. package/hmr/shared/runtime/http-only-boot.js +0 -171
  538. package/hmr/shared/runtime/http-only-boot.js.map +0 -1
  539. package/hmr/vendor-bootstrap.d.ts +0 -3
  540. package/hmr/vendor-bootstrap.js +0 -32
  541. package/hmr/vendor-bootstrap.js.map +0 -1
  542. package/shims/react-reconciler-constants.d.ts +0 -14
  543. package/shims/react-reconciler-constants.js +0 -21
  544. package/shims/react-reconciler-constants.js.map +0 -1
  545. package/shims/react-reconciler.d.ts +0 -8
  546. package/shims/react-reconciler.js +0 -15
  547. package/shims/react-reconciler.js.map +0 -1
  548. package/transformers/NativeClass/index.d.ts +0 -2
  549. package/transformers/NativeClass/index.js +0 -222
  550. package/transformers/NativeClass/index.js.map +0 -1
  551. /package/{helpers/angular → hmr/frameworks/angular/build}/inline-decorator-component-templates.d.ts +0 -0
  552. /package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-decorator-ctor-parameters.d.ts +0 -0
  553. /package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-injectable-factories.d.ts +0 -0
  554. /package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.d.ts +0 -0
@@ -19,17 +19,95 @@ export declare function normalizeStrayCoreStringLiterals(code: string): string;
19
19
  * following side-effect import of the core bridge.
20
20
  *
21
21
  * Example:
22
- * import { A, B } from\nimport "/ns/core?p=index.js";
22
+ * import { A, B } from\nimport "/ns/core/index";
23
23
  * becomes
24
- * import { A, B } from "/ns/core?p=index.js";
24
+ * import { A, B } from "/ns/core/index";
25
25
  */
26
26
  export declare function fixDanglingCoreFrom(code: string): string;
27
+ /**
28
+ * Run the full "rescue any stray @nativescript/core references" pass over the
29
+ * code in one call. This is the canonical entry point for NS-M served modules
30
+ * (and any other consumer that wants the safety net). The three sub-passes
31
+ * cover progressively rarer pipeline accidents:
32
+ *
33
+ * 1. `normalizeStrayCoreStringLiterals` — turns naked `"@nativescript/core/foo";`
34
+ * string literals (produced by some upstream transforms that bare-stringify
35
+ * side-effect imports) back into proper `import "/ns/core/foo";`.
36
+ * 2. `fixDanglingCoreFrom` — merges multi-line accidents where a `from`
37
+ * clause got separated from its specifier across newlines.
38
+ * 3. `normalizeAnyCoreSpecToBridge` — final regex sweep that catches any
39
+ * remaining `from "...@nativescript/core[/sub]..."` references that escaped
40
+ * both the AST normalizer and the import rewriter.
41
+ *
42
+ * Centralising the passes here ensures every NS-M emitter applies the same
43
+ * safety net in the same order; drift between call sites re-introduces the
44
+ * realm-split bug.
45
+ *
46
+ * Returns the (possibly) rewritten code; never throws.
47
+ */
48
+ export declare function sanitizeStrayCoreReferences(code: string): string;
27
49
  /**
28
50
  * Fallback: normalize ANY import spec that references '@nativescript/core' (including
29
51
  * absolute/relative or resolved forms like '/node_modules/@nativescript/core/index.js?v=...')
30
52
  * into the unified '/ns/core' bridge before fast-fail assertions.
31
53
  */
32
54
  export declare function normalizeAnyCoreSpecToBridge(code: string): string;
55
+ /**
56
+ * Description of the URL the bridge is currently serving, used to resolve
57
+ * relative import specifiers (`./x`, `../x`) into absolute `/ns/core/<sub>`
58
+ * URLs.
59
+ *
60
+ * Why this exists: Vite's `vite:import-analysis` pass usually rewrites every
61
+ * relative specifier to an absolute (`/@fs/...` or `/node_modules/...`) ID
62
+ * before code reaches us, but for files under `node_modules` some transform
63
+ * paths leave relatives untouched. When the device fetches such a module at
64
+ * `http://host/ns/core/utils/layout-helper` (no trailing slash, no `/index`)
65
+ * V8/iOS apply RFC 3986 URL resolution and treat `layout-helper` as the
66
+ * *file*, so `./layout-helper-common` becomes
67
+ * `http://host/ns/core/utils/layout-helper-common` — a sibling that does not
68
+ * exist (the real file lives at `…/layout-helper/layout-helper-common`).
69
+ *
70
+ * Passing a `RelativeBase` lets `rewriteSpec` resolve these specifiers
71
+ * server-side and emit canonical absolute `/ns/core/<resolved>` URLs, so the
72
+ * device never has to guess. When omitted, `rewriteSpec` falls back to the
73
+ * pre-existing behaviour of leaving relatives alone.
74
+ */
75
+ export type RelativeBase = {
76
+ /**
77
+ * Sub-path of the served module, without the leading `/ns/core/`. May be
78
+ * the empty string for the package main (`/ns/core` itself).
79
+ */
80
+ sub: string;
81
+ /**
82
+ * `true` when the served file is a directory-index (e.g.
83
+ * `…/utils/layout-helper/index.android.ts`); in that case `sub` already
84
+ * names the *directory*, and `./x` resolves to `<sub>/x`.
85
+ *
86
+ * `false` for plain file modules (e.g. `…/utils/native-helper.ts`); the
87
+ * resolution base is the parent directory of `sub`, so `./x` resolves to
88
+ * `<sub-parent>/x`.
89
+ */
90
+ isDirectoryIndex: boolean;
91
+ };
92
+ /**
93
+ * Detect whether a resolved module path is a directory-index file. Matches
94
+ * `index.<platform?>.<ext>` shapes used across @nativescript/core (e.g.
95
+ * `index.js`, `index.android.ts`, `index.ios.mjs`).
96
+ */
97
+ export declare function isDirectoryIndexFilename(modulePath: string): boolean;
98
+ /**
99
+ * Resolve a relative specifier (`./x`, `../x`) into a canonical
100
+ * @nativescript/core sub-path, given the base described by `relBase`.
101
+ *
102
+ * `…/index.<platform>.<ext>` files mean `sub` IS the directory (so `./x` →
103
+ * `<sub>/x`); plain files mean the resolution base is `sub`'s parent.
104
+ *
105
+ * Returned sub-path is sanitised by `buildCoreUrlPath`'s convention: trailing
106
+ * `.(m)?(j|t)s` extensions are stripped so callers can directly emit
107
+ * `/ns/core/<resolved>` without producing a non-canonical URL that the
108
+ * bridge would 301-redirect later.
109
+ */
110
+ export declare function resolveRelativeCoreSub(spec: string, relBase: RelativeBase): string | null;
33
111
  /**
34
112
  * Minimal specifier rewriter for deep subpath core modules.
35
113
  *
@@ -43,8 +121,13 @@ export declare function normalizeAnyCoreSpecToBridge(code: string): string;
43
121
  * This replaces the heavy 5-pass pipeline (processCodeForDevice →
44
122
  * rewriteImports → deduplicateLinkerImports → CJS wrapping → etc.)
45
123
  * for deep subpath core modules where Vite already produces correct ESM.
124
+ *
125
+ * When `relBase` is supplied, relative specifiers (`./x`, `../x`) are
126
+ * resolved server-side into canonical `/ns/core/<resolved>` URLs so the
127
+ * device never has to guess where a directory-index file's siblings live.
128
+ * See `RelativeBase` and `rewriteSpec` for the full rationale.
46
129
  */
47
- export declare function rewriteSpecifiersForDevice(code: string, origin: string, ver: number): string;
130
+ export declare function rewriteSpecifiersForDevice(code: string, origin: string, ver: number, relBase?: RelativeBase): string;
48
131
  /**
49
132
  * Determine whether a `/ns/core` bridge URL points to a real subpath module.
50
133
  *
@@ -58,10 +141,6 @@ export declare function rewriteSpecifiersForDevice(code: string, origin: string,
58
141
  * This check is used in all named-import-to-default destructuring passes to
59
142
  * skip rewriting for real subpath modules — they have named exports that work
60
143
  * natively without conversion.
61
- *
62
- * Accepts both the canonical path form (`/ns/core/<sub>`) and the legacy
63
- * query form (`/ns/core?p=<sub>`) for back-compat; every emitter has been
64
- * migrated to the path form but external code may still carry the old URL.
65
144
  */
66
145
  export declare function isDeepCoreSubpath(url: string): boolean;
67
146
  /**
@@ -47,21 +47,18 @@ export function normalizeStrayCoreStringLiterals(code) {
47
47
  * following side-effect import of the core bridge.
48
48
  *
49
49
  * Example:
50
- * import { A, B } from\nimport "/ns/core?p=index.js";
50
+ * import { A, B } from\nimport "/ns/core/index";
51
51
  * becomes
52
- * import { A, B } from "/ns/core?p=index.js";
52
+ * import { A, B } from "/ns/core/index";
53
53
  */
54
54
  export function fixDanglingCoreFrom(code) {
55
55
  if (!code || typeof code !== 'string')
56
56
  return code;
57
57
  try {
58
- // Also normalize any concatenated imports before processing
59
58
  code = code.replace(/;\s*import\s+/g, ';\nimport ');
60
59
  // Multi-line form: import { ...\n ...\n} from\nimport "<core-url>";[tail]
61
60
  // Merge into: import { ... } from "<core-url>";\n[tail]
62
- // Accepts canonical path form (/ns/core/<sub>), legacy query form
63
- // (/ns/core?p=<sub>), and versioned-path form (/ns/core/<ver>/<sub>).
64
- code = code.replace(/(^|\n|;)\s*import\s*\{([\s\S]*?)\}\s*from\s*\n\s*import\s+["']((?:https?:\/\/[^"']+)?\/ns\/core(?:\/[^"']*)?(?:\?p=[^"']+)?)["'];?(.*)/g, (_m, pre, named, url, tail) => {
61
+ code = code.replace(/(^|\n|;)\s*import\s*\{([\s\S]*?)\}\s*from\s*\n\s*import\s+["']((?:https?:\/\/[^"']+)?\/ns\/core(?:\/[^"']*)?)["'];?(.*)/g, (_m, pre, named, url, tail) => {
65
62
  const prefix = pre ? (String(pre).endsWith(';') ? String(pre) + '\n' : String(pre)) : '';
66
63
  const tailNorm = (tail || '').replace(/^\s*;?\s*/, '').trim();
67
64
  return prefix + `import {${named}} from "${url}";` + (tailNorm ? `\n${tailNorm}` : '');
@@ -73,19 +70,16 @@ export function fixDanglingCoreFrom(code) {
73
70
  const m = /^\s*import\s*\{[^}]+\}\s*from\s*$/.exec(ln);
74
71
  if (m && i + 1 < lines.length) {
75
72
  const next = lines[i + 1];
76
- // Support when the next line starts with the core import followed by another ';import ...'
77
- // Capture the core import URL and any trailing content after it (another import concatenated)
78
- const m2 = /^\s*import\s+["']((?:https?:\/\/[^"']+)?\/ns\/core(?:\/[^"']*)?(?:\?p=[^"']+)?)["'];?(.*)$/.exec(next);
73
+ const m2 = /^\s*import\s+["']((?:https?:\/\/[^"']+)?\/ns\/core(?:\/[^"']*)?)["'];?(.*)$/.exec(next);
79
74
  if (m2) {
80
75
  const url = m2[1];
81
76
  const tail = m2[2] || '';
82
77
  out.push(ln + ' ' + `"${url}";`);
83
- // If there is a tail like ';import { ... } from "..."', normalize it onto a new line
84
78
  const tailNorm = tail.replace(/^\s*;?\s*/, '');
85
79
  if (tailNorm.trim().length > 0) {
86
80
  out.push(tailNorm);
87
81
  }
88
- i++; // consume the next line
82
+ i++;
89
83
  continue;
90
84
  }
91
85
  }
@@ -97,6 +91,45 @@ export function fixDanglingCoreFrom(code) {
97
91
  return code;
98
92
  }
99
93
  }
94
+ /**
95
+ * Run the full "rescue any stray @nativescript/core references" pass over the
96
+ * code in one call. This is the canonical entry point for NS-M served modules
97
+ * (and any other consumer that wants the safety net). The three sub-passes
98
+ * cover progressively rarer pipeline accidents:
99
+ *
100
+ * 1. `normalizeStrayCoreStringLiterals` — turns naked `"@nativescript/core/foo";`
101
+ * string literals (produced by some upstream transforms that bare-stringify
102
+ * side-effect imports) back into proper `import "/ns/core/foo";`.
103
+ * 2. `fixDanglingCoreFrom` — merges multi-line accidents where a `from`
104
+ * clause got separated from its specifier across newlines.
105
+ * 3. `normalizeAnyCoreSpecToBridge` — final regex sweep that catches any
106
+ * remaining `from "...@nativescript/core[/sub]..."` references that escaped
107
+ * both the AST normalizer and the import rewriter.
108
+ *
109
+ * Centralising the passes here ensures every NS-M emitter applies the same
110
+ * safety net in the same order; drift between call sites re-introduces the
111
+ * realm-split bug.
112
+ *
113
+ * Returns the (possibly) rewritten code; never throws.
114
+ */
115
+ export function sanitizeStrayCoreReferences(code) {
116
+ if (!code || typeof code !== 'string')
117
+ return code;
118
+ let out = code;
119
+ try {
120
+ out = normalizeStrayCoreStringLiterals(out);
121
+ }
122
+ catch { }
123
+ try {
124
+ out = fixDanglingCoreFrom(out);
125
+ }
126
+ catch { }
127
+ try {
128
+ out = normalizeAnyCoreSpecToBridge(out);
129
+ }
130
+ catch { }
131
+ return out;
132
+ }
100
133
  /**
101
134
  * Fallback: normalize ANY import spec that references '@nativescript/core' (including
102
135
  * absolute/relative or resolved forms like '/node_modules/@nativescript/core/index.js?v=...')
@@ -114,16 +147,63 @@ export function normalizeAnyCoreSpecToBridge(code) {
114
147
  out = out.replace(/(^|\n)\s*import\s+["'][^"']*@nativescript[\/_-]core([^"']*)["'];?/gm, (full, pfx, sub) => `${pfx}import "${toCoreBridgeUrl(sub)}";`);
115
148
  // Dynamic: import("...@nativescript/core[/sub]...")
116
149
  out = out.replace(/import\(\s*["'][^"']*@nativescript[\/_-]core([^"']*)["']\s*\)/g, (_m, sub) => `import("${toCoreBridgeUrl(sub)}")`);
117
- // Repair glitch where a previous pass split/merged lines into: "from import '/ns/core...'"
118
- // Normalize to a valid specifier: "from '/ns/core...'". Accepts both
119
- // canonical path form (/ns/core/<sub>) and legacy ?p= form.
120
- out = out.replace(/from\s+import\s+["']((?:https?:\/\/[^"']+)?\/ns\/core(?:\/[^"']*)?(?:\?p=[^"']+)?)['"]/g, (_m, url) => `from "${url}"`);
150
+ // Repair glitch where a previous pass split/merged lines into:
151
+ // "from import '/ns/core...'". Normalize to a valid specifier:
152
+ // "from '/ns/core...'".
153
+ out = out.replace(/from\s+import\s+["']((?:https?:\/\/[^"']+)?\/ns\/core(?:\/[^"']*)?)['"]/g, (_m, url) => `from "${url}"`);
121
154
  return out;
122
155
  }
123
156
  catch {
124
157
  return code;
125
158
  }
126
159
  }
160
+ /**
161
+ * Detect whether a resolved module path is a directory-index file. Matches
162
+ * `index.<platform?>.<ext>` shapes used across @nativescript/core (e.g.
163
+ * `index.js`, `index.android.ts`, `index.ios.mjs`).
164
+ */
165
+ export function isDirectoryIndexFilename(modulePath) {
166
+ if (!modulePath || typeof modulePath !== 'string')
167
+ return false;
168
+ const cleaned = modulePath.split(/[?#]/)[0];
169
+ const base = cleaned.replace(/\\/g, '/').split('/').pop() || '';
170
+ return /^index(?:\.(?:android|ios|visionos))?\.(?:m?[jt]s)$/i.test(base);
171
+ }
172
+ /**
173
+ * Resolve a relative specifier (`./x`, `../x`) into a canonical
174
+ * @nativescript/core sub-path, given the base described by `relBase`.
175
+ *
176
+ * `…/index.<platform>.<ext>` files mean `sub` IS the directory (so `./x` →
177
+ * `<sub>/x`); plain files mean the resolution base is `sub`'s parent.
178
+ *
179
+ * Returned sub-path is sanitised by `buildCoreUrlPath`'s convention: trailing
180
+ * `.(m)?(j|t)s` extensions are stripped so callers can directly emit
181
+ * `/ns/core/<resolved>` without producing a non-canonical URL that the
182
+ * bridge would 301-redirect later.
183
+ */
184
+ export function resolveRelativeCoreSub(spec, relBase) {
185
+ if (!spec || (!spec.startsWith('./') && !spec.startsWith('../')))
186
+ return null;
187
+ const cleanSpec = spec.split(/[?#]/)[0];
188
+ const stripExt = (s) => s.replace(/\.(?:m?[jt]s)$/i, '');
189
+ const splitSeg = (s) => s.split('/').filter((p) => p.length > 0);
190
+ const baseSub = String(relBase?.sub || '').replace(/^\/+|\/+$/g, '');
191
+ const dirParts = relBase?.isDirectoryIndex ? splitSeg(baseSub) : splitSeg(baseSub).slice(0, -1);
192
+ const relParts = cleanSpec.split('/');
193
+ for (const part of relParts) {
194
+ if (part === '' || part === '.')
195
+ continue;
196
+ if (part === '..') {
197
+ if (dirParts.length === 0)
198
+ return null;
199
+ dirParts.pop();
200
+ continue;
201
+ }
202
+ dirParts.push(part);
203
+ }
204
+ const joined = dirParts.join('/');
205
+ return stripExt(joined);
206
+ }
127
207
  /**
128
208
  * Rewrite a single import/export specifier for device consumption.
129
209
  *
@@ -132,8 +212,13 @@ export function normalizeAnyCoreSpecToBridge(code) {
132
212
  * /node_modules/other-pkg/x.js → {origin}/ns/m/node_modules/other-pkg/x.js
133
213
  * /src/app/foo.ts → {origin}/ns/m/src/app/foo.ts
134
214
  * already /ns/... or http://... → unchanged
215
+ *
216
+ * When `relBase` is supplied AND `spec` is a relative path (`./x` or `../x`),
217
+ * the relative specifier is resolved to an absolute `/ns/core/<resolved>`
218
+ * URL using `resolveRelativeCoreSub`. Without `relBase`, relatives are
219
+ * returned unchanged (legacy behaviour for non-core call sites).
135
220
  */
136
- function rewriteSpec(spec, origin, ver) {
221
+ function rewriteSpec(spec, origin, ver, relBase) {
137
222
  void ver;
138
223
  // Strip Vite cache-busting query params for bridge URLs
139
224
  const cleanSpec = spec.split('?')[0];
@@ -151,13 +236,54 @@ function rewriteSpec(spec, origin, ver) {
151
236
  const after = cleanSpec.substring(coreIdx + '@nativescript/core'.length);
152
237
  return buildCoreUrlPath(after);
153
238
  }
154
- // Already a bridge, vendor, or HTTP URL → leave unchanged
155
- if (spec.startsWith('/ns/') || spec.startsWith('http://') || spec.startsWith('https://') || spec.startsWith('ns-vendor://')) {
239
+ // Already-canonicalised bridge URLs deserve a second look — a
240
+ // `/ns/core/<sub>` URL with a stale platform suffix (`.ios`),
241
+ // trailing `/index`, or `.js` extension would survive this pass
242
+ // but be 301-redirected by the bridge handler at runtime, costing
243
+ // an extra round-trip and risking double-evaluation if iOS caches
244
+ // both spellings. Run any `/ns/core/...` (or full-origin variant)
245
+ // back through `buildCoreUrlPath` so the rewriter is the
246
+ // single point that produces canonical core URLs for the device.
247
+ const coreBridgePathOnly = cleanSpec.match(/^\/ns\/core(?:\/[^?#]*)?$/);
248
+ if (coreBridgePathOnly) {
249
+ const sub = cleanSpec.replace(/^\/ns\/core\/?/, '');
250
+ return buildCoreUrlPath(sub);
251
+ }
252
+ const coreBridgeWithOrigin = cleanSpec.match(/^https?:\/\/[^/]+\/ns\/core(?:\/[^?#]*)?$/);
253
+ if (coreBridgeWithOrigin) {
254
+ const sub = cleanSpec.replace(/^https?:\/\/[^/]+\/ns\/core\/?/, '');
255
+ const canonicalPath = buildCoreUrlPath(sub);
256
+ const originPrefix = cleanSpec.replace(/\/ns\/core(?:\/.*)?$/, '');
257
+ return `${originPrefix}${canonicalPath}`;
258
+ }
259
+ // Already a bridge or HTTP URL → leave unchanged
260
+ if (spec.startsWith('/ns/') || spec.startsWith('http://') || spec.startsWith('https://')) {
156
261
  return spec;
157
262
  }
158
- // Leave relative specifiers for Vite/rolldown to resolve (they do not
159
- // appear after Vite transform but the guard is free)
263
+ // Relative specifiers (`./x`, `../x`).
264
+ //
265
+ // Vite's import-analysis usually rewrites these to absolute IDs, but
266
+ // for files under `node_modules` it sometimes leaves them in place.
267
+ // When that happens AND the served URL has no trailing slash AND is
268
+ // itself a directory-index file (e.g. `…/layout-helper/index.android.ts`
269
+ // served at `/ns/core/utils/layout-helper`), V8's URL resolver treats
270
+ // `layout-helper` as the file and points `./layout-helper-common` at the
271
+ // non-existent sibling `/ns/core/utils/layout-helper-common`. Vite then
272
+ // 500s with "Failed to load url … Does the file exist?" and the
273
+ // dependent module never finishes evaluating.
274
+ //
275
+ // When `relBase` is supplied we resolve the specifier server-side and
276
+ // emit a canonical absolute `/ns/core/<resolved>` URL so the device
277
+ // cannot guess wrong. Falling back to the unchanged relative path
278
+ // preserves legacy behaviour for callers that don't (yet) thread
279
+ // `relBase` through.
160
280
  if (spec.startsWith('./') || spec.startsWith('../')) {
281
+ if (relBase) {
282
+ const resolvedSub = resolveRelativeCoreSub(spec, relBase);
283
+ if (resolvedSub !== null) {
284
+ return buildCoreUrlPath(resolvedSub);
285
+ }
286
+ }
161
287
  return spec;
162
288
  }
163
289
  // Root-relative paths → HTTP URL through /ns/m/ handler
@@ -191,8 +317,13 @@ function rewriteSpec(spec, origin, ver) {
191
317
  * This replaces the heavy 5-pass pipeline (processCodeForDevice →
192
318
  * rewriteImports → deduplicateLinkerImports → CJS wrapping → etc.)
193
319
  * for deep subpath core modules where Vite already produces correct ESM.
320
+ *
321
+ * When `relBase` is supplied, relative specifiers (`./x`, `../x`) are
322
+ * resolved server-side into canonical `/ns/core/<resolved>` URLs so the
323
+ * device never has to guess where a directory-index file's siblings live.
324
+ * See `RelativeBase` and `rewriteSpec` for the full rationale.
194
325
  */
195
- export function rewriteSpecifiersForDevice(code, origin, ver) {
326
+ export function rewriteSpecifiersForDevice(code, origin, ver, relBase) {
196
327
  if (!code)
197
328
  return code;
198
329
  let result = code;
@@ -210,19 +341,26 @@ export function rewriteSpecifiersForDevice(code, origin, ver) {
210
341
  // `from` inside the string to the NEXT quote elsewhere in the file,
211
342
  // corrupting both tokens.
212
343
  result = result.replace(/(?<![a-zA-Z0-9_$'"`])(from\s+)(["'])([^"']+)\2/g, (_m, pre, q, spec) => {
213
- return `${pre}${q}${rewriteSpec(spec, origin, ver)}${q}`;
344
+ return `${pre}${q}${rewriteSpec(spec, origin, ver, relBase)}${q}`;
214
345
  });
215
346
  // Pattern 2: import("specifier") — dynamic imports
216
347
  result = result.replace(/(import\s*\(\s*)(["'])([^"']+)\2(\s*\))/g, (_m, pre, q, spec, post) => {
217
- return `${pre}${q}${rewriteSpec(spec, origin, ver)}${q}${post}`;
348
+ return `${pre}${q}${rewriteSpec(spec, origin, ver, relBase)}${q}${post}`;
218
349
  });
219
350
  // Pattern 3: import "specifier" — side-effect imports (no from clause)
220
- // Anchored after line start, newline, or semicolon to avoid false matches
221
- result = result.replace(/([;\n]\s*import\s+)(["'])([^"']+)\2/g, (_m, pre, q, spec) => {
351
+ // Anchored after start-of-string, newline, or semicolon to avoid false matches.
352
+ // The `^` alternative is critical: when a transformed module's body begins
353
+ // with a side-effect import (no preceding `;` or `\n`), the legacy
354
+ // `[;\n]`-only anchor missed it and the URL leaked to the device unmodified.
355
+ // Concrete failure mode: `/ns/core/inspector_modules` whose first body line
356
+ // `import '/@fs/.../@nativescript/core/globals/index.js';` was served raw,
357
+ // producing a `__DEV__ is not defined` ReferenceError in `platform-check.js`
358
+ // because `/@fs/` URLs bypass the `/ns/core` bridge's define-injection.
359
+ result = result.replace(/(^|[;\n])(\s*import\s+)(["'])([^"']+)\3/g, (_m, lead, pre, q, spec) => {
222
360
  // Skip if it looks like an identifier rather than a path
223
361
  if (!/[/.@]/.test(spec))
224
362
  return _m;
225
- return `${pre}${q}${rewriteSpec(spec, origin, ver)}${q}`;
363
+ return `${lead}${pre}${q}${rewriteSpec(spec, origin, ver, relBase)}${q}`;
226
364
  });
227
365
  return result;
228
366
  }
@@ -239,23 +377,10 @@ export function rewriteSpecifiersForDevice(code, origin, ver) {
239
377
  * This check is used in all named-import-to-default destructuring passes to
240
378
  * skip rewriting for real subpath modules — they have named exports that work
241
379
  * natively without conversion.
242
- *
243
- * Accepts both the canonical path form (`/ns/core/<sub>`) and the legacy
244
- * query form (`/ns/core?p=<sub>`) for back-compat; every emitter has been
245
- * migrated to the path form but external code may still carry the old URL.
246
380
  */
247
381
  export function isDeepCoreSubpath(url) {
248
382
  if (!url || typeof url !== 'string')
249
383
  return false;
250
- // Legacy query form
251
- const query = url.match(/\?p=([^&'"#]+)/);
252
- if (query) {
253
- const sub = String(query[1] || '').replace(/^\/+/, '');
254
- if (!sub || sub === 'index' || sub === 'index.js')
255
- return false;
256
- return true;
257
- }
258
- // Canonical path form — extract the subpath segment following /ns/core/.
259
384
  const path = url.match(/\/ns\/core\/([^?#]+)/);
260
385
  if (!path)
261
386
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"core-sanitize.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/core-sanitize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-sanitize.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/core-sanitize.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { ViteDevServer } from 'vite';
2
+ /**
3
+ * Boot-time stylesheet sync for freshly connected full HMR clients.
4
+ *
5
+ * `bundle.mjs` bakes `app.css` at `ns prepare` time. If the user edits any
6
+ * CSS (or adds a Tailwind utility) during the session and then the app cold
7
+ * relaunches — manual restart, crash, OS eviction — the new JS context
8
+ * applies that stale boot snapshot and every accumulated CSS hot update is
9
+ * lost until the NEXT css edit happens to broadcast. This closes that gap:
10
+ * when a full client connects, compare the current generated `app.css`
11
+ * against the server-startup baseline (≈ what prepare baked in) and, only
12
+ * when they differ, push a regular `ns:css-updates` message to that one
13
+ * client. The client applies it through the same pipeline as a live CSS
14
+ * edit; `reason: 'connect-sync'` just suppresses the HMR-applying overlay.
15
+ *
16
+ * Only `full`-role sockets get the sync. The bootstrap fallback socket
17
+ * connects BEFORE the boot CSS is applied, so a sync sent there would be
18
+ * overwritten by the stale boot snapshot moments later. The full client
19
+ * starts strictly after boot CSS lands (`__NS_HMR_BOOT_COMPLETE__` gate in
20
+ * the browser-runtime bootstrap), which makes its connect a safe sync point.
21
+ */
22
+ export declare function maybeSendConnectCssSync(server: ViteDevServer, ws: {
23
+ send: (data: string) => void;
24
+ readyState?: number;
25
+ OPEN?: number;
26
+ }, opts?: {
27
+ verbose?: boolean;
28
+ }): Promise<boolean>;
@@ -0,0 +1,59 @@
1
+ import { getAppCssState } from '../../helpers/app-css-state.js';
2
+ import { appCssRootRelPath, buildCssUpdateItem, buildCssUpdatesMessage } from './css-update-message.js';
3
+ import { isSocketClientOpen } from './socket-utils.js';
4
+ /**
5
+ * Boot-time stylesheet sync for freshly connected full HMR clients.
6
+ *
7
+ * `bundle.mjs` bakes `app.css` at `ns prepare` time. If the user edits any
8
+ * CSS (or adds a Tailwind utility) during the session and then the app cold
9
+ * relaunches — manual restart, crash, OS eviction — the new JS context
10
+ * applies that stale boot snapshot and every accumulated CSS hot update is
11
+ * lost until the NEXT css edit happens to broadcast. This closes that gap:
12
+ * when a full client connects, compare the current generated `app.css`
13
+ * against the server-startup baseline (≈ what prepare baked in) and, only
14
+ * when they differ, push a regular `ns:css-updates` message to that one
15
+ * client. The client applies it through the same pipeline as a live CSS
16
+ * edit; `reason: 'connect-sync'` just suppresses the HMR-applying overlay.
17
+ *
18
+ * Only `full`-role sockets get the sync. The bootstrap fallback socket
19
+ * connects BEFORE the boot CSS is applied, so a sync sent there would be
20
+ * overwritten by the stale boot snapshot moments later. The full client
21
+ * starts strictly after boot CSS lands (`__NS_HMR_BOOT_COMPLETE__` gate in
22
+ * the browser-runtime bootstrap), which makes its connect a safe sync point.
23
+ */
24
+ export async function maybeSendConnectCssSync(server, ws, opts = {}) {
25
+ const state = getAppCssState(server);
26
+ if (!state?.path || typeof state.refresh !== 'function') {
27
+ return false;
28
+ }
29
+ // Cheap gate first: the drift check below re-runs Tailwind/PostCSS.
30
+ const root = server.config?.root || process.cwd();
31
+ const appCssRel = appCssRootRelPath(root, state.path);
32
+ if (!appCssRel) {
33
+ return false;
34
+ }
35
+ // `refresh` is non-throwing by contract and conservative on failure
36
+ // (reports changed — reapplying identical CSS is idempotent, while
37
+ // skipping a real drift leaves the relaunched app stale all session).
38
+ const { changedSinceStartup } = await state.refresh();
39
+ if (!changedSinceStartup) {
40
+ return false;
41
+ }
42
+ // Re-check openness AFTER the await — the socket can close during the
43
+ // Tailwind compilation.
44
+ if (!isSocketClientOpen(ws)) {
45
+ return false;
46
+ }
47
+ const msg = buildCssUpdatesMessage(server, [buildCssUpdateItem(appCssRel)], { reason: 'connect-sync' });
48
+ try {
49
+ ws.send(JSON.stringify(msg));
50
+ }
51
+ catch (error) {
52
+ if (opts.verbose)
53
+ console.warn('[hmr-ws] connect-sync send failed', error);
54
+ return false;
55
+ }
56
+ console.info(`[hmr-ws] app.css changed since server startup → synced ${appCssRel} to newly connected client`);
57
+ return true;
58
+ }
59
+ //# sourceMappingURL=css-connect-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css-connect-sync.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/css-connect-sync.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACxG,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,MAAqB,EAAE,EAAwE,EAAE,OAA8B,EAAE;IAC9K,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,oEAAoE;IACpE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAClD,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACd,CAAC;IAED,oEAAoE;IACpE,mEAAmE;IACnE,sEAAsE;IACtE,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;IACtD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACd,CAAC;IAED,sEAAsE;IACtE,wBAAwB;IACxB,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,sBAAsB,CAAC,MAAM,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IACxG,IAAI,CAAC;QACJ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;QAC3E,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,0DAA0D,SAAS,4BAA4B,CAAC,CAAC;IAC9G,OAAO,IAAI,CAAC;AACb,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Framework-agnostic CSS delivery for HMR. Beyond `app.css`, every CSS source (a
3
+ * JS/TS `import './x.css'`, a Vue SFC `<style>`) needs an explicit bridge to the
4
+ * device's tagged-CSS API — under HMR there's no DOM for Vite's default CSS
5
+ * module to inject into, so it would otherwise be dropped.
6
+ *
7
+ * Bridge: a device-side applier `globalThis.__NS_REGISTER_CSS__(tag, cssText)`
8
+ * installed at client boot (see `hmr/client/index.ts`, `hmr/entry-runtime.ts`),
9
+ * plus a snippet (built here) emitted into each CSS-bearing module that calls
10
+ * it. The per-source `tag` lets hot-updates replace a source's rules without
11
+ * touching siblings. Flavor-specific extraction (SFC blocks vs. file) feeds
12
+ * these shared builders.
13
+ */
14
+ export declare const CSS_MODULE_RE: RegExp;
15
+ /**
16
+ * Strip a leading BOM and `@charset` (sass emits one for non-ASCII content);
17
+ * NativeScript's styling engine has no use for either.
18
+ */
19
+ export declare function normalizeCssForDevice(css: string): string;
20
+ /** Register a CSS string literal under `tag`. `''` for empty CSS. */
21
+ export declare function buildCssRegisterSnippet(tag: string, cssText: string): string;
22
+ /**
23
+ * Register CSS held in an in-scope module variable under `tag`. Used by the
24
+ * generic `.css` handler (reuses Vite's `?inline` binding). For an imported file
25
+ * `tag` is its root-relative path — the same tag the `.css` live-edit path uses,
26
+ * so edits replace instead of stacking.
27
+ */
28
+ export declare function buildCssRegisterSnippetFromVar(tag: string, varName: string): string;