@nativescript/vite 8.0.0-alpha.4 → 8.0.0-alpha.40

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 (410) 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 +376 -165
  5. package/configuration/angular.js.map +1 -1
  6. package/configuration/base.js +256 -30
  7. package/configuration/base.js.map +1 -1
  8. package/configuration/javascript.js +12 -90
  9. package/configuration/javascript.js.map +1 -1
  10. package/configuration/solid.js +33 -4
  11. package/configuration/solid.js.map +1 -1
  12. package/configuration/typescript.js +10 -90
  13. package/configuration/typescript.js.map +1 -1
  14. package/helpers/app-components.d.ts +2 -1
  15. package/helpers/app-components.js.map +1 -1
  16. package/helpers/app-css-state.d.ts +8 -0
  17. package/helpers/app-css-state.js +8 -0
  18. package/helpers/app-css-state.js.map +1 -0
  19. package/helpers/bundler-context.d.ts +11 -0
  20. package/helpers/bundler-context.js +71 -0
  21. package/helpers/bundler-context.js.map +1 -0
  22. package/helpers/config-as-json.js +10 -0
  23. package/helpers/config-as-json.js.map +1 -1
  24. package/helpers/css-platform-plugin.d.ts +14 -0
  25. package/helpers/css-platform-plugin.js +43 -25
  26. package/helpers/css-platform-plugin.js.map +1 -1
  27. package/helpers/dev-host.d.ts +360 -0
  28. package/helpers/dev-host.js +692 -0
  29. package/helpers/dev-host.js.map +1 -0
  30. package/helpers/dynamic-import-plugin.js +1 -1
  31. package/helpers/dynamic-import-plugin.js.map +1 -1
  32. package/helpers/esbuild-platform-resolver.js +4 -1
  33. package/helpers/esbuild-platform-resolver.js.map +1 -1
  34. package/helpers/external-configs.d.ts +10 -12
  35. package/helpers/external-configs.js +54 -35
  36. package/helpers/external-configs.js.map +1 -1
  37. package/helpers/global-defines.d.ts +128 -0
  38. package/helpers/global-defines.js +174 -11
  39. package/helpers/global-defines.js.map +1 -1
  40. package/helpers/hmr-scope.d.ts +26 -0
  41. package/helpers/hmr-scope.js +67 -0
  42. package/helpers/hmr-scope.js.map +1 -0
  43. package/helpers/init.js +0 -18
  44. package/helpers/init.js.map +1 -1
  45. package/helpers/logging.d.ts +1 -0
  46. package/helpers/logging.js +65 -4
  47. package/helpers/logging.js.map +1 -1
  48. package/helpers/main-entry.d.ts +3 -1
  49. package/helpers/main-entry.js +444 -50
  50. package/helpers/main-entry.js.map +1 -1
  51. package/helpers/nativeclass-esbuild-plugin.d.ts +2 -1
  52. package/helpers/nativeclass-esbuild-plugin.js.map +1 -1
  53. package/helpers/nativeclass-transform.js +5 -6
  54. package/helpers/nativeclass-transform.js.map +1 -1
  55. package/helpers/nativeclass-transformer-plugin.d.ts +9 -2
  56. package/helpers/nativeclass-transformer-plugin.js +157 -14
  57. package/helpers/nativeclass-transformer-plugin.js.map +1 -1
  58. package/helpers/nativescript-package-resolver.js +10 -62
  59. package/helpers/nativescript-package-resolver.js.map +1 -1
  60. package/helpers/normalize-id.d.ts +42 -0
  61. package/helpers/normalize-id.js +60 -0
  62. package/helpers/normalize-id.js.map +1 -0
  63. package/helpers/ns-core-url.d.ts +106 -0
  64. package/helpers/ns-core-url.js +225 -0
  65. package/helpers/ns-core-url.js.map +1 -0
  66. package/helpers/optimize-deps.d.ts +16 -0
  67. package/helpers/optimize-deps.js +17 -0
  68. package/helpers/optimize-deps.js.map +1 -0
  69. package/helpers/package-platform-aliases.js +34 -49
  70. package/helpers/package-platform-aliases.js.map +1 -1
  71. package/helpers/platform-types.d.ts +2 -0
  72. package/helpers/platform-types.js +2 -0
  73. package/helpers/platform-types.js.map +1 -0
  74. package/helpers/postcss-platform-config.d.ts +17 -1
  75. package/helpers/postcss-platform-config.js +20 -37
  76. package/helpers/postcss-platform-config.js.map +1 -1
  77. package/helpers/project.d.ts +35 -0
  78. package/helpers/project.js +120 -2
  79. package/helpers/project.js.map +1 -1
  80. package/helpers/resolve-main-field-platform.d.ts +20 -0
  81. package/helpers/resolve-main-field-platform.js +49 -0
  82. package/helpers/resolve-main-field-platform.js.map +1 -0
  83. package/helpers/resolver.js +17 -2
  84. package/helpers/resolver.js.map +1 -1
  85. package/helpers/theme-core-plugins.js +1 -1
  86. package/helpers/theme-core-plugins.js.map +1 -1
  87. package/helpers/ts-config-paths.d.ts +14 -0
  88. package/helpers/ts-config-paths.js +90 -9
  89. package/helpers/ts-config-paths.js.map +1 -1
  90. package/helpers/typescript-check.d.ts +2 -1
  91. package/helpers/typescript-check.js.map +1 -1
  92. package/helpers/ui-registration.d.ts +21 -0
  93. package/helpers/ui-registration.js +156 -0
  94. package/helpers/ui-registration.js.map +1 -0
  95. package/helpers/utils.js +1 -2
  96. package/helpers/utils.js.map +1 -1
  97. package/helpers/workers.d.ts +20 -19
  98. package/helpers/workers.js +624 -4
  99. package/helpers/workers.js.map +1 -1
  100. package/hmr/client/css-handler.d.ts +2 -1
  101. package/hmr/client/css-handler.js +50 -26
  102. package/hmr/client/css-handler.js.map +1 -1
  103. package/hmr/client/css-update-overlay.d.ts +18 -0
  104. package/hmr/client/css-update-overlay.js +27 -0
  105. package/hmr/client/css-update-overlay.js.map +1 -0
  106. package/hmr/client/framework-client-strategy.d.ts +79 -0
  107. package/hmr/client/framework-client-strategy.js +19 -0
  108. package/hmr/client/framework-client-strategy.js.map +1 -0
  109. package/hmr/client/hmr-pending-overlay.d.ts +13 -0
  110. package/hmr/client/hmr-pending-overlay.js +60 -0
  111. package/hmr/client/hmr-pending-overlay.js.map +1 -0
  112. package/hmr/client/index.js +787 -211
  113. package/hmr/client/index.js.map +1 -1
  114. package/hmr/client/utils.d.ts +7 -1
  115. package/hmr/client/utils.js +207 -29
  116. package/hmr/client/utils.js.map +1 -1
  117. package/hmr/entry-runtime.d.ts +2 -1
  118. package/hmr/entry-runtime.js +256 -69
  119. package/hmr/entry-runtime.js.map +1 -1
  120. package/hmr/frameworks/angular/build/angular-linker.d.ts +12 -0
  121. package/hmr/frameworks/angular/build/angular-linker.js +109 -0
  122. package/hmr/frameworks/angular/build/angular-linker.js.map +1 -0
  123. package/hmr/frameworks/angular/build/inject-component-hmr-registration.d.ts +112 -0
  124. package/hmr/frameworks/angular/build/inject-component-hmr-registration.js +291 -0
  125. package/hmr/frameworks/angular/build/inject-component-hmr-registration.js.map +1 -0
  126. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.d.ts +75 -0
  127. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js +221 -0
  128. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js.map +1 -0
  129. package/{helpers/angular → hmr/frameworks/angular/build}/inline-decorator-component-templates.js +1 -170
  130. package/hmr/frameworks/angular/build/inline-decorator-component-templates.js.map +1 -0
  131. package/hmr/frameworks/angular/build/js-lexer.d.ts +4 -0
  132. package/{helpers/angular/synthesize-decorator-ctor-parameters.js → hmr/frameworks/angular/build/js-lexer.js} +22 -96
  133. package/hmr/frameworks/angular/build/js-lexer.js.map +1 -0
  134. package/hmr/frameworks/angular/build/shared-linker.d.ts +39 -0
  135. package/hmr/frameworks/angular/build/shared-linker.js +128 -0
  136. package/hmr/frameworks/angular/build/shared-linker.js.map +1 -0
  137. package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js +88 -0
  138. package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js.map +1 -0
  139. package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-injectable-factories.js +1 -174
  140. package/hmr/frameworks/angular/build/synthesize-injectable-factories.js.map +1 -0
  141. package/{helpers/angular → hmr/frameworks/angular/build}/util.d.ts +1 -0
  142. package/hmr/frameworks/angular/build/util.js +155 -0
  143. package/hmr/frameworks/angular/build/util.js.map +1 -0
  144. package/hmr/frameworks/angular/client/index.d.ts +1 -0
  145. package/hmr/frameworks/angular/client/index.js +803 -21
  146. package/hmr/frameworks/angular/client/index.js.map +1 -1
  147. package/hmr/frameworks/angular/client/strategy.d.ts +9 -0
  148. package/hmr/frameworks/angular/client/strategy.js +19 -0
  149. package/hmr/frameworks/angular/client/strategy.js.map +1 -0
  150. package/hmr/frameworks/angular/server/angular-root-component.d.ts +79 -0
  151. package/hmr/frameworks/angular/server/angular-root-component.js +149 -0
  152. package/hmr/frameworks/angular/server/angular-root-component.js.map +1 -0
  153. package/hmr/frameworks/angular/server/linker.js +1 -4
  154. package/hmr/frameworks/angular/server/linker.js.map +1 -1
  155. package/hmr/frameworks/angular/server/strategy.js +460 -12
  156. package/hmr/frameworks/angular/server/strategy.js.map +1 -1
  157. package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.js +2 -2
  158. package/hmr/frameworks/angular/server/websocket-angular-entry.js.map +1 -0
  159. package/hmr/{server → frameworks/angular/server}/websocket-angular-hot-update.d.ts +17 -11
  160. package/hmr/frameworks/angular/server/websocket-angular-hot-update.js +336 -0
  161. package/hmr/frameworks/angular/server/websocket-angular-hot-update.js.map +1 -0
  162. package/hmr/frameworks/solid/build/solid-jsx-deps.d.ts +15 -0
  163. package/hmr/frameworks/solid/build/solid-jsx-deps.js +178 -0
  164. package/hmr/frameworks/solid/build/solid-jsx-deps.js.map +1 -0
  165. package/hmr/frameworks/solid/server/strategy.js +291 -16
  166. package/hmr/frameworks/solid/server/strategy.js.map +1 -1
  167. package/hmr/frameworks/typescript/server/strategy.js +38 -14
  168. package/hmr/frameworks/typescript/server/strategy.js.map +1 -1
  169. package/hmr/frameworks/vue/client/dep-propagation.d.ts +36 -0
  170. package/hmr/frameworks/vue/client/dep-propagation.js +101 -0
  171. package/hmr/frameworks/vue/client/dep-propagation.js.map +1 -0
  172. package/hmr/frameworks/vue/client/index.d.ts +8 -0
  173. package/hmr/frameworks/vue/client/index.js +56 -243
  174. package/hmr/frameworks/vue/client/index.js.map +1 -1
  175. package/hmr/frameworks/vue/client/strategy.d.ts +33 -0
  176. package/hmr/frameworks/vue/client/strategy.js +157 -0
  177. package/hmr/frameworks/vue/client/strategy.js.map +1 -0
  178. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.d.ts +49 -0
  179. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js +142 -0
  180. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js.map +1 -0
  181. package/hmr/frameworks/vue/server/sfc-route-assemble.d.ts +7 -0
  182. package/hmr/frameworks/vue/server/sfc-route-assemble.js +747 -0
  183. package/hmr/frameworks/vue/server/sfc-route-assemble.js.map +1 -0
  184. package/hmr/frameworks/vue/server/sfc-route-meta.d.ts +7 -0
  185. package/hmr/frameworks/vue/server/sfc-route-meta.js +80 -0
  186. package/hmr/frameworks/vue/server/sfc-route-meta.js.map +1 -0
  187. package/hmr/frameworks/vue/server/sfc-route-serve.d.ts +8 -0
  188. package/hmr/frameworks/vue/server/sfc-route-serve.js +459 -0
  189. package/hmr/frameworks/vue/server/sfc-route-serve.js.map +1 -0
  190. package/hmr/frameworks/vue/server/sfc-route-shared.d.ts +38 -0
  191. package/hmr/frameworks/vue/server/sfc-route-shared.js +48 -0
  192. package/hmr/frameworks/vue/server/sfc-route-shared.js.map +1 -0
  193. package/hmr/frameworks/vue/server/strategy.d.ts +35 -0
  194. package/hmr/frameworks/vue/server/strategy.js +278 -1
  195. package/hmr/frameworks/vue/server/strategy.js.map +1 -1
  196. package/hmr/frameworks/vue/server/websocket-sfc.d.ts +15 -0
  197. package/hmr/frameworks/vue/server/websocket-sfc.js +20 -0
  198. package/hmr/frameworks/vue/server/websocket-sfc.js.map +1 -0
  199. package/hmr/helpers/ast-normalizer.d.ts +3 -1
  200. package/hmr/helpers/ast-normalizer.js +77 -10
  201. package/hmr/helpers/ast-normalizer.js.map +1 -1
  202. package/hmr/helpers/cjs-named-exports.d.ts +23 -0
  203. package/hmr/helpers/cjs-named-exports.js +152 -0
  204. package/hmr/helpers/cjs-named-exports.js.map +1 -0
  205. package/hmr/helpers/package-exports.d.ts +16 -0
  206. package/hmr/helpers/package-exports.js +396 -0
  207. package/hmr/helpers/package-exports.js.map +1 -0
  208. package/hmr/server/constants.js +20 -5
  209. package/hmr/server/constants.js.map +1 -1
  210. package/hmr/server/core-sanitize.d.ts +90 -7
  211. package/hmr/server/core-sanitize.js +211 -56
  212. package/hmr/server/core-sanitize.js.map +1 -1
  213. package/hmr/server/device-transform-helpers.d.ts +24 -0
  214. package/hmr/server/device-transform-helpers.js +369 -0
  215. package/hmr/server/device-transform-helpers.js.map +1 -0
  216. package/hmr/server/framework-strategy.d.ts +108 -11
  217. package/hmr/server/hmr-module-graph.d.ts +37 -0
  218. package/hmr/server/hmr-module-graph.js +214 -0
  219. package/hmr/server/hmr-module-graph.js.map +1 -0
  220. package/hmr/server/import-map.d.ts +11 -2
  221. package/hmr/server/import-map.js +95 -44
  222. package/hmr/server/import-map.js.map +1 -1
  223. package/hmr/server/index.js +7 -16
  224. package/hmr/server/index.js.map +1 -1
  225. package/hmr/server/ns-core-cjs-shape.d.ts +204 -0
  226. package/hmr/server/ns-core-cjs-shape.js +271 -0
  227. package/hmr/server/ns-core-cjs-shape.js.map +1 -0
  228. package/hmr/server/ns-rt-bridge.d.ts +51 -0
  229. package/hmr/server/ns-rt-bridge.js +131 -0
  230. package/hmr/server/ns-rt-bridge.js.map +1 -0
  231. package/hmr/server/ns-rt-route.d.ts +5 -0
  232. package/hmr/server/ns-rt-route.js +38 -0
  233. package/hmr/server/ns-rt-route.js.map +1 -0
  234. package/hmr/server/perf-instrumentation.d.ts +114 -0
  235. package/hmr/server/perf-instrumentation.js +197 -0
  236. package/hmr/server/perf-instrumentation.js.map +1 -0
  237. package/hmr/server/process-code-for-device.d.ts +14 -0
  238. package/hmr/server/process-code-for-device.js +702 -0
  239. package/hmr/server/process-code-for-device.js.map +1 -0
  240. package/hmr/server/require-guard.d.ts +1 -0
  241. package/hmr/server/require-guard.js +12 -0
  242. package/hmr/server/require-guard.js.map +1 -0
  243. package/hmr/server/rewrite-imports.d.ts +2 -0
  244. package/hmr/server/rewrite-imports.js +600 -0
  245. package/hmr/server/rewrite-imports.js.map +1 -0
  246. package/hmr/server/route-helpers.d.ts +7 -0
  247. package/hmr/server/route-helpers.js +13 -0
  248. package/hmr/server/route-helpers.js.map +1 -0
  249. package/hmr/server/server-origin.d.ts +2 -0
  250. package/hmr/server/server-origin.js +83 -0
  251. package/hmr/server/server-origin.js.map +1 -0
  252. package/hmr/server/shared-transform-request.js +13 -7
  253. package/hmr/server/shared-transform-request.js.map +1 -1
  254. package/hmr/server/transform-cache-invalidation.d.ts +37 -0
  255. package/hmr/server/transform-cache-invalidation.js +156 -0
  256. package/hmr/server/transform-cache-invalidation.js.map +1 -0
  257. package/hmr/server/vendor-bare-module-shims.d.ts +4 -0
  258. package/hmr/server/vendor-bare-module-shims.js +80 -0
  259. package/hmr/server/vendor-bare-module-shims.js.map +1 -0
  260. package/hmr/server/vite-plugin.js +72 -42
  261. package/hmr/server/vite-plugin.js.map +1 -1
  262. package/hmr/server/websocket-core-bridge.d.ts +45 -6
  263. package/hmr/server/websocket-core-bridge.js +81 -77
  264. package/hmr/server/websocket-core-bridge.js.map +1 -1
  265. package/hmr/server/websocket-css-hot-update.d.ts +33 -0
  266. package/hmr/server/websocket-css-hot-update.js +65 -0
  267. package/hmr/server/websocket-css-hot-update.js.map +1 -0
  268. package/hmr/server/websocket-device-transform.d.ts +3 -0
  269. package/hmr/server/websocket-device-transform.js +7 -0
  270. package/hmr/server/websocket-device-transform.js.map +1 -0
  271. package/hmr/server/websocket-graph-upsert.d.ts +15 -0
  272. package/hmr/server/websocket-graph-upsert.js +20 -0
  273. package/hmr/server/websocket-graph-upsert.js.map +1 -1
  274. package/hmr/server/websocket-hmr-pending.d.ts +37 -0
  275. package/hmr/server/websocket-hmr-pending.js +55 -0
  276. package/hmr/server/websocket-hmr-pending.js.map +1 -0
  277. package/hmr/server/websocket-hot-update.d.ts +77 -0
  278. package/hmr/server/websocket-hot-update.js +360 -0
  279. package/hmr/server/websocket-hot-update.js.map +1 -0
  280. package/hmr/server/websocket-import-map-route.d.ts +15 -0
  281. package/hmr/server/websocket-import-map-route.js +50 -0
  282. package/hmr/server/websocket-import-map-route.js.map +1 -0
  283. package/hmr/server/websocket-module-bindings.js +3 -3
  284. package/hmr/server/websocket-module-bindings.js.map +1 -1
  285. package/hmr/server/websocket-module-specifiers.d.ts +66 -2
  286. package/hmr/server/websocket-module-specifiers.js +203 -20
  287. package/hmr/server/websocket-module-specifiers.js.map +1 -1
  288. package/hmr/server/websocket-ns-core.d.ts +21 -0
  289. package/hmr/server/websocket-ns-core.js +311 -0
  290. package/hmr/server/websocket-ns-core.js.map +1 -0
  291. package/hmr/server/websocket-ns-entry.d.ts +21 -0
  292. package/hmr/server/websocket-ns-entry.js +164 -0
  293. package/hmr/server/websocket-ns-entry.js.map +1 -0
  294. package/hmr/server/websocket-ns-m-paths.d.ts +1 -1
  295. package/hmr/server/websocket-ns-m-paths.js +58 -13
  296. package/hmr/server/websocket-ns-m-paths.js.map +1 -1
  297. package/hmr/server/websocket-ns-m-request.d.ts +11 -1
  298. package/hmr/server/websocket-ns-m-request.js +18 -25
  299. package/hmr/server/websocket-ns-m-request.js.map +1 -1
  300. package/hmr/server/websocket-ns-m.d.ts +33 -0
  301. package/hmr/server/websocket-ns-m.js +752 -0
  302. package/hmr/server/websocket-ns-m.js.map +1 -0
  303. package/hmr/server/websocket-served-module-helpers.d.ts +82 -0
  304. package/hmr/server/websocket-served-module-helpers.js +879 -0
  305. package/hmr/server/websocket-served-module-helpers.js.map +1 -0
  306. package/hmr/server/websocket-txn.js +2 -8
  307. package/hmr/server/websocket-txn.js.map +1 -1
  308. package/hmr/server/websocket-vendor-unifier.d.ts +0 -1
  309. package/hmr/server/websocket-vendor-unifier.js +4 -9
  310. package/hmr/server/websocket-vendor-unifier.js.map +1 -1
  311. package/hmr/server/websocket.d.ts +8 -39
  312. package/hmr/server/websocket.js +514 -4030
  313. package/hmr/server/websocket.js.map +1 -1
  314. package/hmr/shared/ns-globals.d.ts +118 -0
  315. package/hmr/shared/ns-globals.js +29 -0
  316. package/hmr/shared/ns-globals.js.map +1 -0
  317. package/hmr/shared/protocol.d.ts +145 -0
  318. package/hmr/shared/protocol.js +28 -0
  319. package/hmr/shared/protocol.js.map +1 -0
  320. package/hmr/shared/runtime/boot-placeholder-ui.d.ts +69 -0
  321. package/hmr/shared/runtime/boot-placeholder-ui.js +101 -0
  322. package/hmr/shared/runtime/boot-placeholder-ui.js.map +1 -0
  323. package/hmr/shared/runtime/boot-progress.d.ts +44 -0
  324. package/hmr/shared/runtime/boot-progress.js +133 -0
  325. package/hmr/shared/runtime/boot-progress.js.map +1 -0
  326. package/hmr/shared/runtime/boot-timeline.d.ts +18 -0
  327. package/hmr/shared/runtime/boot-timeline.js +42 -0
  328. package/hmr/shared/runtime/boot-timeline.js.map +1 -0
  329. package/hmr/shared/runtime/browser-runtime-contract.js.map +1 -1
  330. package/hmr/shared/runtime/dev-overlay-snapshots.d.ts +31 -0
  331. package/hmr/shared/runtime/dev-overlay-snapshots.js +324 -0
  332. package/hmr/shared/runtime/dev-overlay-snapshots.js.map +1 -0
  333. package/hmr/shared/runtime/dev-overlay.d.ts +75 -26
  334. package/hmr/shared/runtime/dev-overlay.js +992 -261
  335. package/hmr/shared/runtime/dev-overlay.js.map +1 -1
  336. package/hmr/shared/runtime/global-scope.d.ts +18 -0
  337. package/hmr/shared/runtime/global-scope.js +21 -0
  338. package/hmr/shared/runtime/global-scope.js.map +1 -0
  339. package/hmr/shared/runtime/hooks.js +2 -1
  340. package/hmr/shared/runtime/hooks.js.map +1 -1
  341. package/hmr/shared/runtime/http-only-boot.js +7 -6
  342. package/hmr/shared/runtime/http-only-boot.js.map +1 -1
  343. package/hmr/shared/runtime/module-provenance.js +4 -6
  344. package/hmr/shared/runtime/module-provenance.js.map +1 -1
  345. package/hmr/shared/runtime/root-placeholder-view.d.ts +19 -0
  346. package/hmr/shared/runtime/root-placeholder-view.js +311 -0
  347. package/hmr/shared/runtime/root-placeholder-view.js.map +1 -0
  348. package/hmr/shared/runtime/root-placeholder.js +371 -197
  349. package/hmr/shared/runtime/root-placeholder.js.map +1 -1
  350. package/hmr/shared/runtime/session-bootstrap.js +168 -4
  351. package/hmr/shared/runtime/session-bootstrap.js.map +1 -1
  352. package/hmr/shared/runtime/vendor-bootstrap.js +3 -10
  353. package/hmr/shared/runtime/vendor-bootstrap.js.map +1 -1
  354. package/hmr/shared/vendor/manifest-collect.d.ts +4 -0
  355. package/hmr/shared/vendor/manifest-collect.js +512 -0
  356. package/hmr/shared/vendor/manifest-collect.js.map +1 -0
  357. package/hmr/shared/vendor/manifest-loader.d.ts +2 -1
  358. package/hmr/shared/vendor/manifest-loader.js +5 -3
  359. package/hmr/shared/vendor/manifest-loader.js.map +1 -1
  360. package/hmr/shared/vendor/manifest.d.ts +1 -7
  361. package/hmr/shared/vendor/manifest.js +102 -741
  362. package/hmr/shared/vendor/manifest.js.map +1 -1
  363. package/hmr/shared/vendor/vendor-device-shim.d.ts +1 -0
  364. package/hmr/shared/vendor/vendor-device-shim.js +208 -0
  365. package/hmr/shared/vendor/vendor-device-shim.js.map +1 -0
  366. package/hmr/shared/vendor/vendor-esbuild-plugins.d.ts +16 -0
  367. package/hmr/shared/vendor/vendor-esbuild-plugins.js +203 -0
  368. package/hmr/shared/vendor/vendor-esbuild-plugins.js.map +1 -0
  369. package/hmr/vendor-bootstrap.d.ts +1 -3
  370. package/hmr/vendor-bootstrap.js +4 -6
  371. package/hmr/vendor-bootstrap.js.map +1 -1
  372. package/index.d.ts +1 -0
  373. package/index.js +5 -0
  374. package/index.js.map +1 -1
  375. package/package.json +55 -11
  376. package/runtime/core-aliases-early.js +25 -55
  377. package/runtime/core-aliases-early.js.map +1 -1
  378. package/helpers/angular/angular-linker.d.ts +0 -13
  379. package/helpers/angular/angular-linker.js +0 -194
  380. package/helpers/angular/angular-linker.js.map +0 -1
  381. package/helpers/angular/inline-decorator-component-templates.js.map +0 -1
  382. package/helpers/angular/shared-linker.d.ts +0 -11
  383. package/helpers/angular/shared-linker.js +0 -75
  384. package/helpers/angular/shared-linker.js.map +0 -1
  385. package/helpers/angular/synthesize-decorator-ctor-parameters.js.map +0 -1
  386. package/helpers/angular/synthesize-injectable-factories.js.map +0 -1
  387. package/helpers/angular/util.js +0 -67
  388. package/helpers/angular/util.js.map +0 -1
  389. package/helpers/prelink-angular.d.ts +0 -2
  390. package/helpers/prelink-angular.js +0 -117
  391. package/helpers/prelink-angular.js.map +0 -1
  392. package/hmr/server/websocket-angular-entry.js.map +0 -1
  393. package/hmr/server/websocket-angular-hot-update.js +0 -239
  394. package/hmr/server/websocket-angular-hot-update.js.map +0 -1
  395. package/hmr/server/websocket-ns-m-finalize.d.ts +0 -32
  396. package/hmr/server/websocket-ns-m-finalize.js +0 -73
  397. package/hmr/server/websocket-ns-m-finalize.js.map +0 -1
  398. package/hmr/server/websocket-runtime-compat.d.ts +0 -19
  399. package/hmr/server/websocket-runtime-compat.js +0 -286
  400. package/hmr/server/websocket-runtime-compat.js.map +0 -1
  401. package/hmr/server/websocket-vue-sfc.d.ts +0 -35
  402. package/hmr/server/websocket-vue-sfc.js +0 -1116
  403. package/hmr/server/websocket-vue-sfc.js.map +0 -1
  404. package/transformers/NativeClass/index.d.ts +0 -2
  405. package/transformers/NativeClass/index.js +0 -222
  406. package/transformers/NativeClass/index.js.map +0 -1
  407. /package/{helpers/angular → hmr/frameworks/angular/build}/inline-decorator-component-templates.d.ts +0 -0
  408. /package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-decorator-ctor-parameters.d.ts +0 -0
  409. /package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-injectable-factories.d.ts +0 -0
  410. /package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.d.ts +0 -0
@@ -1,9 +1,15 @@
1
1
  import * as path from 'path';
2
2
  import { readFileSync, readdirSync, statSync } from 'fs';
3
- import * as PAT from '../../../server/constants.js';
4
3
  import { linkAngularPartialsIfNeeded } from './linker.js';
4
+ import { prepareAngularEntryForDevice } from '../../../server/rewrite-imports.js';
5
5
  import { getProjectAppPath, getProjectAppVirtualPath } from '../../../../helpers/utils.js';
6
6
  import { isRuntimeGraphExcludedPath, matchesRuntimeGraphModuleId, shouldIncludeRuntimeGraphFile, shouldSkipRuntimeGraphDirectoryName } from '../../../server/runtime-graph-filter.js';
7
+ import { stripJsComments } from '../build/util.js';
8
+ import { runHotUpdatePrologue } from '../../../server/websocket-hot-update.js';
9
+ import { collectAngularEvictionUrls, collectAngularHotUpdateRoots, collectAngularTransformCacheInvalidationUrls, shouldInvalidateAngularTransitiveImporters, shouldSuppressDefaultViteHotUpdate } from './websocket-angular-hot-update.js';
10
+ import { collectTransitiveImportersForInvalidation } from '../../../server/transform-cache-invalidation.js';
11
+ import { getServerOrigin } from '../../../server/server-origin.js';
12
+ import { isSameAngularModuleRel } from './angular-root-component.js';
7
13
  // Angular server strategy for NativeScript HMR.
8
14
  //
9
15
  // Responsibilities:
@@ -63,19 +69,453 @@ export const angularServerStrategy = {
63
69
  // Treat only application TS/JS as candidates for ordering/graph purposes
64
70
  return matchesRuntimeGraphModuleId(id, ANGULAR_APP_VIRTUAL_WITH_SLASH, ANGULAR_RUNTIME_FILE_PATTERN);
65
71
  },
66
- preClean(code) {
67
- return code;
72
+ // Defer the prologue's common-block delta broadcast: the Angular HMR client
73
+ // re-fetches the changed module, so the broadcast must come AFTER this
74
+ // strategy's hot-update tail purges its transform caches — otherwise the
75
+ // client's re-import races the server's invalidation and serves stale code.
76
+ deferDeltaBroadcast: true,
77
+ // Angular HTML templates skip the prologue's default module-graph delta
78
+ // upsert: the tail below re-queries the graph and drives Analog's in-place
79
+ // swap (or the NS reboot path) itself.
80
+ skipDefaultGraphUpdate(file) {
81
+ return /\.(html|htm)$/i.test(file);
68
82
  },
69
- rewriteFrameworkImports(code) {
70
- // Angular runtime imports are handled via the vendor bridge; no extra rewrite.
71
- return code;
83
+ // With Analog `liveReload` active, component `styleUrls` edits are applied
84
+ // in place via `angular:component-update` `ɵɵreplaceMetadata`
85
+ // `@nativescript/angular`'s renderer re-applying the component's scoped
86
+ // styles. The prologue must NOT also broadcast `ns:css-updates` for them:
87
+ // the device's `?direct=1` fetch would create the css `?direct` module that
88
+ // makes Analog stop emitting `angular:component-update` on later edits (its
89
+ // css branch then takes the NativeScript-inert Vite css-update path). The
90
+ // presence of `analogjs-live-reload-plugin` is the clean signal that this
91
+ // in-place pipeline is wired up (it only registers when `liveReload: true`).
92
+ ownsComponentStyleHmr(server) {
93
+ return (server.config?.plugins ?? []).some((plugin) => plugin?.name === 'analogjs-live-reload-plugin');
72
94
  },
73
- postClean(code) {
74
- return code;
95
+ // Full Angular hot-update handler: shared prologue, then the Angular tail
96
+ // (TS/HTML + root-component detection, hot-update-root + transitive-importer
97
+ // invalidation, shared transform-cache purge, and the `ns:angular-update`
98
+ // reboot broadcast). Reached directly from the WebSocket plugin's
99
+ // handleHotUpdate hook.
100
+ async handleHotUpdate(ctx, deps) {
101
+ const state = await runHotUpdatePrologue(ctx, deps);
102
+ if (!state)
103
+ return;
104
+ const { root, updateRel, metrics: updateMetrics, emitSummary: emitHmrUpdateSummary } = state;
105
+ const { strategy, verbose, wss, moduleGraph, sharedTransformRequest, getBootstrapEntryRelPath, isSocketClientOpen, getHmrSocketRole, rememberAngularReloadSuppression, getRootComponentIdentity } = deps;
106
+ const { file, server } = ctx;
107
+ // For Angular, react to component TS or external template HTML changes under /src
108
+ const isHtml = file.endsWith('.html');
109
+ const isTs = file.endsWith('.ts');
110
+ // Web-style template HMR opt-in: when the user enables Angular's
111
+ // `liveReload` (Analog's flag, mirrored from `--hmr` in
112
+ // `configuration/angular.ts`), `.html` edits are owned by
113
+ // Analog's `handleHotUpdate` which sends
114
+ // `server.ws.send('angular:component-update', { id, timestamp })`.
115
+ // The runtime listener registered in each compiled component
116
+ // `.mjs` then dynamic-imports `/@ng/component?c=<id>&t=<ts>` and
117
+ // calls `ɵɵreplaceMetadata` on the live class — swapping the
118
+ // template definition AND walking live `LView`s to recreate
119
+ // matching views in-place. NO Angular reboot, NO route navigation.
120
+ //
121
+ // The NS reboot path (`ns:angular-update` → `__reboot_ng_modules__`)
122
+ // must be SKIPPED for HTML edits when this is on; otherwise both
123
+ // fire, the reboot wins, and we lose the in-place swap. The
124
+ // reboot path stays intact for `.ts` edits — those genuinely
125
+ // change module-level code (services, route configs, NgModule
126
+ // providers) that Angular's `ɵɵreplaceMetadata` can't reach.
127
+ //
128
+ // We detect "live reload mode is on" by checking that the
129
+ // `analogjs-live-reload-plugin` registered itself with the
130
+ // dev server. That plugin only exists when `liveReload: true`
131
+ // was passed to `angular()` in `configuration/angular.ts`,
132
+ // which gates on `hmrActive`. So this check is a clean
133
+ // boolean: true iff the in-place pipeline is wired up.
134
+ const angularLiveReloadActive = (server.config?.plugins ?? []).some((plugin) => plugin?.name === 'analogjs-live-reload-plugin');
135
+ // Root-component edits must NOT take Analog's in-place
136
+ // `ɵɵreplaceMetadata` path: the root component hosts the
137
+ // navigation `Frame` via `<page-router-outlet>`, and replacing
138
+ // its metadata recreates the root view without re-navigating,
139
+ // leaving a permanent white screen. We route the edit to the
140
+ // reboot broadcast below instead (which re-bootstraps and
141
+ // replays route state). The companion guard in the websocket
142
+ // bridge drops the in-place `angular:component-update` event for
143
+ // the root so the two paths don't race. `.ts` root edits already
144
+ // fall through to the reboot path; this only re-routes `.html`.
145
+ const rootComponent = getRootComponentIdentity();
146
+ // `isSameAngularModuleRel` normalizes separators + leading slash internally,
147
+ // so the raw project-relative path can be passed straight through.
148
+ const isRootComponentEdit = !!rootComponent && isSameAngularModuleRel(rootComponent.moduleRel, path.relative(root, file));
149
+ if (isHtml && angularLiveReloadActive && !isRootComponentEdit) {
150
+ updateMetrics.tAfterFramework = Date.now();
151
+ if (verbose) {
152
+ const rel = '/' + path.relative(root, file).split(path.sep).join('/');
153
+ console.info(`[ns-hmr][server] HTML edit handed off to Analog component-update path; skipping ns:angular-update broadcast (file=${rel})`);
154
+ }
155
+ // Re-query the moduleGraph for this file AFTER awaiting
156
+ // `graphInitialPopulationPromise` (done at the top of
157
+ // `handleHotUpdate`) and return the freshly-discovered
158
+ // modules so they propagate to Analog's `handleHotUpdate`
159
+ // in the same chain.
160
+ //
161
+ // Vite v8 builds the initial `mixedHmrContext.modules`
162
+ // from `mixedModuleGraph.getModulesByFile(file)` BEFORE
163
+ // any plugin runs. On the very first save after a cold
164
+ // dev-server start, the moduleGraph for the changed
165
+ // `.html` template has not yet been populated — that
166
+ // population happens lazily via `populateInitialGraph`
167
+ // → `transformRequest` → Analog's `transform` hook →
168
+ // `addWatchFile(htmlFile)` → `vite:import-analysis`
169
+ // consumes `_addedImports` and finally calls
170
+ // `moduleGraph.updateModuleInfo` which registers the
171
+ // `html → component.ts` importer relationship in
172
+ // `fileToModulesMap`. All of that work races against the
173
+ // file-watcher event for the `.html` edit, and the
174
+ // watcher event almost always wins — so `ctx.modules`
175
+ // arrives as `[]` even though the component is fully
176
+ // compiled and ready to receive an in-place template
177
+ // swap.
178
+ //
179
+ // Returning `undefined` here would propagate that empty
180
+ // `ctx.modules` to the next plugin (Analog's handler),
181
+ // which iterates with `ctx.modules.forEach(mod => mod
182
+ // .importers.forEach(imp => …))` — a no-op when
183
+ // `ctx.modules` is empty. Analog never broadcasts
184
+ // `angular:component-update`, never marks anything
185
+ // self-accepting, and Vite falls back to a `full-reload`
186
+ // payload that the device runtime cannot honor (NS apps
187
+ // don't have a browser-style page reload). The
188
+ // user-visible symptom is exactly the "first save logs
189
+ // `(client) page reload` and the simulator gets stuck
190
+ // on the HMR-applying overlay forever" failure we hit
191
+ // before this re-query was added.
192
+ //
193
+ // Since we already `await graphInitialPopulationPromise`
194
+ // at the top of this function, by this point the
195
+ // moduleGraph IS populated (every component file in
196
+ // `src/` has been transformed and `addWatchFile` has
197
+ // been consumed by `import-analysis`). A fresh
198
+ // `getModulesByFile(file)` call now returns the template
199
+ // module with the importing component's module in
200
+ // `.importers`. Returning that array overwrites
201
+ // `mixedHmrContext.modules` so Analog's handler — which
202
+ // runs RIGHT AFTER us in the same chain — sees the
203
+ // populated importer graph, identifies the component
204
+ // class via `classNames.get(imp.id)`, and broadcasts
205
+ // `angular:component-update` for `ɵɵreplaceMetadata`.
206
+ //
207
+ // We still skip the reboot path (`ns:angular-update`)
208
+ // for HTML edits — control never reaches the
209
+ // reboot-broadcast block below because of the `return`
210
+ // here. The default-Vite-full-reload suppression is now
211
+ // Analog's responsibility: it marks the changed module
212
+ // self-accepting, which tells Vite the update is
213
+ // handled and prevents the fallback.
214
+ let resolvedModules = ctx.modules;
215
+ try {
216
+ const fresh = server.moduleGraph?.getModulesByFile?.(file);
217
+ if (fresh && fresh.size > 0) {
218
+ resolvedModules = [...fresh];
219
+ if (verbose) {
220
+ console.info(`[ns-hmr][server] re-queried modules after graph population: count=${resolvedModules.length} (was ${ctx.modules?.length ?? 0})`);
221
+ }
222
+ }
223
+ }
224
+ catch (refetchErr) {
225
+ if (verbose) {
226
+ console.warn('[ns-hmr][server] failed to re-query moduleGraph for html update', refetchErr);
227
+ }
228
+ }
229
+ emitHmrUpdateSummary();
230
+ return resolvedModules;
231
+ }
232
+ const angularHotUpdateRoots = collectAngularHotUpdateRoots({
233
+ file,
234
+ modules: ctx.modules,
235
+ getModuleById: (id) => server.moduleGraph.getModuleById(id),
236
+ getModulesByFile: (targetFile) => server.moduleGraph.getModulesByFile?.(targetFile),
237
+ });
238
+ if (verbose) {
239
+ console.info(`[ns-hmr][server] hot-update file=${file} isHtml=${isHtml} isTs=${isTs} ctxModules=${Array.from(ctx.modules || []).length} hotUpdateRoots=${angularHotUpdateRoots.length} (${angularHotUpdateRoots
240
+ .map((m) => m?.id ?? '(none)')
241
+ .slice(0, 8)
242
+ .join(', ')}${angularHotUpdateRoots.length > 8 ? ', …' : ''})`);
243
+ }
244
+ if (!(isHtml || isTs))
245
+ return;
246
+ updateMetrics.invalidated += angularHotUpdateRoots.length;
247
+ if (angularHotUpdateRoots.length) {
248
+ for (const mod of angularHotUpdateRoots) {
249
+ try {
250
+ server.moduleGraph.invalidateModule(mod);
251
+ }
252
+ catch (invalidationError) {
253
+ if (verbose) {
254
+ console.warn('[hmr-ws][angular] hot-update root invalidation failed', mod?.id, invalidationError);
255
+ }
256
+ }
257
+ }
258
+ if (verbose) {
259
+ console.log('[hmr-ws][angular] invalidated hot-update root modules:', angularHotUpdateRoots.length);
260
+ }
261
+ }
262
+ const angularTransitiveInvalidationRoots = (angularHotUpdateRoots.length ? angularHotUpdateRoots : ctx.modules);
263
+ // Read the source for `.ts/.tsx/.js/.jsx` edits so
264
+ // `shouldInvalidateAngularTransitiveImporters` can
265
+ // distinguish leaf modules (constants/utils) from real
266
+ // Angular files. If `ctx.read()` throws (file deleted, race
267
+ // against the watcher), `angularChangedSource` stays
268
+ // undefined and we fall back to the conservative "always
269
+ // invalidate transitively" behavior.
270
+ let angularChangedSource;
271
+ if (isTs) {
272
+ try {
273
+ angularChangedSource = await ctx.read();
274
+ }
275
+ catch {
276
+ angularChangedSource = undefined;
277
+ }
278
+ }
279
+ const angularNeedsTransitive = shouldInvalidateAngularTransitiveImporters({
280
+ flavor: strategy.flavor,
281
+ file,
282
+ source: angularChangedSource,
283
+ });
284
+ // Surface the narrowing decision on every `.ts` Angular hot
285
+ // update (HTML routes always invalidate transitively and
286
+ // aren't subject to narrowing, so we leave them as
287
+ // `undefined` — the field is omitted from the summary line).
288
+ // The boolean is the inverse of `angularNeedsTransitive`
289
+ // because "needs transitive" is the broad (un-narrowed)
290
+ // behavior.
291
+ if (isTs) {
292
+ updateMetrics.narrowed = !angularNeedsTransitive;
293
+ }
294
+ // Stable URL + Explicit Invalidation:
295
+ //
296
+ // Compute the transitive importer closure ONCE here and reuse
297
+ // it for (a) `server.moduleGraph.invalidateModule` (so Vite's
298
+ // transform pipeline re-runs on next request), (b) the shared
299
+ // transform-request cache, and (c) the runtime eviction set
300
+ // we broadcast in `ns:angular-update`. Consolidating this
301
+ // removes a redundant graph walk and guarantees the three
302
+ // consumers see the exact same set of importers (otherwise a
303
+ // late module-graph mutation between calls could leave an
304
+ // asymmetric narrowed/broad mix).
305
+ //
306
+ // We separate Vite-transform narrowing from runtime eviction:
307
+ // `angularNeedsTransitive` answers the question "does the
308
+ // changed file's symbol shape change such that importers
309
+ // must be re-transformed by Vite?". The runtime, however,
310
+ // has a stricter requirement: ESM live bindings only refresh
311
+ // if the importing module re-evaluates inside V8. A
312
+ // constants file with no Angular decorator does NOT need a
313
+ // Vite re-transform of its importers (their compiled JS is
314
+ // identical), but its importers still hold stale bindings to
315
+ // the OLD constants Module record. After eviction + re-import
316
+ // of `main.ts`, V8 sees the cached importers, returns them
317
+ // unchanged, and they continue to read the OLD values. The
318
+ // user-visible symptom: HMR completes successfully, logs are
319
+ // clean, but the simulator does not reflect the change.
320
+ //
321
+ // The fix: ALWAYS compute the transitive importer closure
322
+ // for runtime eviction. Only skip Vite's
323
+ // `moduleGraph.invalidate` + transform-cache purge when
324
+ // `angularNeedsTransitive` is false — those are the genuine
325
+ // narrowing wins (saves re-transform work on the server).
326
+ // The eviction set always includes importers so V8 re-fetches
327
+ // and re-binds them.
328
+ if (verbose) {
329
+ console.info(`[ns-hmr][server] angularNeedsTransitive=${angularNeedsTransitive} (file=${path.basename(file)})`);
330
+ }
331
+ let transitiveImporters = [];
332
+ try {
333
+ transitiveImporters = collectTransitiveImportersForInvalidation({
334
+ modules: angularTransitiveInvalidationRoots,
335
+ isExcluded: (id) => id.includes('/node_modules/'),
336
+ maxDepth: 16,
337
+ });
338
+ if (verbose) {
339
+ console.info(`[ns-hmr][server] transitiveImporters count=${transitiveImporters.length} firstN=`, transitiveImporters.slice(0, 16).map((m) => m?.id ?? '(none)'));
340
+ }
341
+ if (angularNeedsTransitive) {
342
+ updateMetrics.invalidated += transitiveImporters.length;
343
+ for (const mod of transitiveImporters) {
344
+ try {
345
+ server.moduleGraph.invalidateModule(mod);
346
+ }
347
+ catch (invalidationError) {
348
+ if (verbose) {
349
+ console.warn('[hmr-ws][angular] transitive importer invalidation failed', mod?.id, invalidationError);
350
+ }
351
+ }
352
+ }
353
+ if (verbose && transitiveImporters.length) {
354
+ console.log('[hmr-ws][angular] invalidated transitive importers:', transitiveImporters.length);
355
+ }
356
+ }
357
+ else if (isTs && typeof angularChangedSource === 'string') {
358
+ // Surfacing this log unconditionally lets the user
359
+ // immediately confirm whether narrowing fired for a
360
+ // given `.ts` edit (the summary line below still
361
+ // emits `narrowed=yes`/`no`, but having both makes
362
+ // the decision easier to spot in noisy logs and lets
363
+ // the user diff scenarios without flipping
364
+ // `NS_HMR_VERBOSE=true`).
365
+ //
366
+ // Narrowing means "skip Vite re-transform" (the
367
+ // importers still get evicted from the V8 module
368
+ // registry so live bindings refresh). The importer
369
+ // count is appended so the distinction is visible.
370
+ if (verbose && transitiveImporters.length) {
371
+ console.log(`[hmr-ws][angular] narrowed transitive invalidation (no @Component/@Directive/@Pipe/@Injectable/@NgModule): ${updateRel} — Vite transform skipped, runtime eviction includes ${transitiveImporters.length} importer(s)`);
372
+ }
373
+ }
374
+ }
375
+ catch (error) {
376
+ if (verbose)
377
+ console.warn('[hmr-ws][angular] transitive importer collection failed', error);
378
+ }
379
+ try {
380
+ // Purge shared transform cache for the changed file +
381
+ // hot-update roots unconditionally (their transform
382
+ // output IS different now). Transitive importers are
383
+ // only purged when narrowing decides their output may
384
+ // have changed; otherwise their cached transforms are
385
+ // still valid (compiled JS is identical even though the
386
+ // runtime must re-evaluate them to refresh ESM bindings).
387
+ const transformCacheInvalidationUrls = new Set(collectAngularTransformCacheInvalidationUrls({
388
+ file,
389
+ isTs,
390
+ hotUpdateRoots: angularHotUpdateRoots,
391
+ transitiveImporters: angularNeedsTransitive ? transitiveImporters : [],
392
+ projectRoot: server.config.root || process.cwd(),
393
+ }));
394
+ if (transformCacheInvalidationUrls.size) {
395
+ sharedTransformRequest.invalidateMany(transformCacheInvalidationUrls);
396
+ if (verbose) {
397
+ console.log('[hmr-ws][angular] purged shared transform cache entries:', transformCacheInvalidationUrls.size);
398
+ }
399
+ }
400
+ }
401
+ catch (error) {
402
+ if (verbose)
403
+ console.warn('[hmr-ws][angular] shared transform cache purge failed', error);
404
+ }
405
+ updateMetrics.tAfterFramework = Date.now();
406
+ try {
407
+ const root = server.config.root || process.cwd();
408
+ const rel = '/' + path.posix.normalize(path.relative(root, file)).split(path.sep).join('/');
409
+ rememberAngularReloadSuppression(root, file);
410
+ const origin = getServerOrigin(server);
411
+ const bootstrapEntryRel = getBootstrapEntryRelPath();
412
+ // Stable URL + Explicit Invalidation:
413
+ //
414
+ // `evictPaths` is the canonical list of `/ns/m/<rel>` URLs
415
+ // the runtime must drop from `g_moduleRegistry` before
416
+ // re-importing `importerEntry`. Older versions of the
417
+ // server signaled invalidation by bumping a global
418
+ // `graphVersion` counter and embedding it in every URL —
419
+ // but V8 keys the module registry by full URL, so a v1 →
420
+ // v2 bump effectively flushed the entire dependency
421
+ // graph from the cache and forced the runtime to
422
+ // re-fetch + re-eval every transitively-imported module
423
+ // on each save (~3s HMR cycles, dominated by Vite's
424
+ // single-threaded transform pipeline). The new model:
425
+ //
426
+ // 1. URLs are stable: `/ns/m/<rel>` everywhere, no `vN`.
427
+ // 2. The server walks the inverse-dependency closure and
428
+ // sends only the modules that actually need to be
429
+ // re-evaluated (typically O(1) for component edits,
430
+ // or the changed file + entry for narrowed edits).
431
+ // 3. The client calls `__nsInvalidateModules(evictPaths)`
432
+ // and re-imports `importerEntry`, which causes V8 to
433
+ // refetch ONLY those modules. Everything else stays
434
+ // hot in the registry.
435
+ //
436
+ // Invariants enforced by `collectAngularEvictionUrls`:
437
+ // - Always includes the changed file (so the new source
438
+ // is fetched).
439
+ // - Always includes `importerEntry` (so re-import
440
+ // re-evaluates).
441
+ // - Excludes node_modules (vendor packages are stable).
442
+ // - Excludes virtual / runtime-graph-excluded ids.
443
+ // - Origin-prefixed: `http://host:port/ns/m/<rel>`.
444
+ let evictPaths = [];
445
+ try {
446
+ evictPaths = collectAngularEvictionUrls({
447
+ file,
448
+ hotUpdateRoots: angularHotUpdateRoots,
449
+ transitiveImporters,
450
+ projectRoot: root,
451
+ origin,
452
+ bootstrapEntry: bootstrapEntryRel,
453
+ });
454
+ }
455
+ catch (error) {
456
+ if (verbose) {
457
+ console.warn('[ns-hmr][server] eviction set computation failed', error);
458
+ }
459
+ }
460
+ if (verbose) {
461
+ try {
462
+ const tsRel = rel.replace(/\.(html|htm)$/i, '.ts');
463
+ const jsRel = rel.replace(/\.(html|htm)$/i, '.js');
464
+ const containsRelatedTs = evictPaths.some((u) => u.endsWith(tsRel));
465
+ const containsRelatedJs = evictPaths.some((u) => u.endsWith(jsRel));
466
+ const sample = evictPaths.slice(0, 32);
467
+ console.info(`[ns-hmr][server] evict-set count=${evictPaths.length} importerEntry=${bootstrapEntryRel ?? '(none)'} containsRelatedTs=${containsRelatedTs} containsRelatedJs=${containsRelatedJs} firstN=`, sample);
468
+ if (evictPaths.length > sample.length) {
469
+ console.info(`[ns-hmr][server] evict-set hidden=${evictPaths.length - sample.length} (showed first ${sample.length})`);
470
+ }
471
+ }
472
+ catch { }
473
+ }
474
+ const msg = {
475
+ type: 'ns:angular-update',
476
+ origin,
477
+ path: rel,
478
+ version: moduleGraph.version,
479
+ timestamp: Date.now(),
480
+ evictPaths,
481
+ importerEntry: bootstrapEntryRel,
482
+ };
483
+ if (verbose) {
484
+ console.log('[hmr-ws][angular] broadcasting update', Array.from(wss.clients || []).map((client) => ({
485
+ role: getHmrSocketRole(client),
486
+ readyState: client.readyState,
487
+ openState: client.OPEN,
488
+ })));
489
+ }
490
+ wss.clients.forEach((client) => {
491
+ if (isSocketClientOpen(client)) {
492
+ client.send(JSON.stringify(msg));
493
+ updateMetrics.recipients += 1;
494
+ }
495
+ });
496
+ }
497
+ catch (error) {
498
+ console.warn('[hmr-ws][angular] update failed:', error);
499
+ }
500
+ emitHmrUpdateSummary();
501
+ if (shouldSuppressDefaultViteHotUpdate({ flavor: strategy.flavor, file })) {
502
+ return [];
503
+ }
504
+ return;
505
+ },
506
+ // preClean/rewriteFrameworkImports/postClean/ensureVersionedImports default to
507
+ // identity: Angular runtime imports go through the vendor bridge and there are
508
+ // no Angular-specific HTTP endpoints to version.
509
+ //
510
+ // Override the `/ns/m` served-module rewrite: Angular entries need the
511
+ // register-only entry-preparation pass (`prepareAngularEntryForDevice`)
512
+ // instead of the shared `rewriteImports` default the other flavors use.
513
+ rewriteServedModule(code, ctx) {
514
+ return prepareAngularEntryForDevice(code, ctx.moduleId, ctx.sfcFileMap, ctx.depFileMap, ctx.projectRoot, ctx.verbose, undefined, ctx.serverOrigin, true);
75
515
  },
76
- ensureVersionedImports(code, _origin, _version) {
77
- // No Angular-specific HTTP endpoints yet; leave imports as-is.
78
- return code;
516
+ // ── Angular template/style asset URLs are volatile ───────────────────
517
+ volatilePatterns() {
518
+ return ['/@ns/asm/'];
79
519
  },
80
520
  async processFile(ctx) {
81
521
  // Ensure any Angular code the HMR server assembles for HTTP consumption is fully linked.
@@ -131,7 +571,15 @@ export const angularServerStrategy = {
131
571
  }
132
572
  else if (st.isFile() && shouldIncludeRuntimeGraphFile(full, /\.ts$/i)) {
133
573
  try {
134
- const code = readFileSync(full, 'utf8');
574
+ const rawCode = readFileSync(full, 'utf8');
575
+ // Blank out `//` and `/* */` comments before regex
576
+ // scanning so a commented-out `templateUrl` /
577
+ // `styleUrls` line doesn't enroll the watcher (and
578
+ // therefore the import graph) for a non-existent
579
+ // asset. See note in
580
+ // `extractComponentAssetPaths` for the failure
581
+ // mode this avoids in current Rolldown-Vite.
582
+ const code = stripJsComments(rawCode);
135
583
  if (/\@Component\s*\(/.test(code) && /templateUrl\s*:\s*["']\.\//.test(code)) {
136
584
  const m = code.match(/templateUrl\s*:\s*["']\.\/(.*?\.html)["']/);
137
585
  if (m && m[1]) {
@@ -1 +1 @@
1
- {"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/server/strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/server/strategy.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { parse as babelParse } from '@babel/parser';
2
2
  import * as t from '@babel/types';
3
- import { genCode } from '../helpers/babel.js';
4
- const MODULE_IMPORT_ANALYSIS_PLUGINS = ['typescript', 'jsx', 'importMeta', 'topLevelAwait', 'classProperties', 'classPrivateProperties', 'classPrivateMethods', 'decorators-legacy'];
3
+ import { genCode } from '../../../helpers/babel.js';
4
+ import { MODULE_IMPORT_ANALYSIS_PLUGINS } from '../../../server/websocket-served-module-helpers.js';
5
5
  function shouldGuardAngularEntryStatement(node) {
6
6
  if (t.isImportDeclaration(node) || t.isExportDeclaration(node) || t.isFunctionDeclaration(node) || t.isClassDeclaration(node) || t.isVariableDeclaration(node)) {
7
7
  return false;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-angular-entry.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/server/websocket-angular-entry.ts"],"names":[],"mappings":"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"}
@@ -5,12 +5,12 @@ export type HotUpdateGraphModuleLike = {
5
5
  }>;
6
6
  importers?: Iterable<HotUpdateGraphModuleLike>;
7
7
  };
8
- export declare function canonicalizeTransformRequestCacheKey(url: string, projectRoot: string): string;
9
8
  export declare function collectGraphUpdateModulesForHotUpdate(options: {
10
9
  file: string;
11
10
  flavor: string;
12
11
  modules?: Iterable<HotUpdateGraphModuleLike>;
13
12
  getModuleById: (id: string) => HotUpdateGraphModuleLike | undefined;
13
+ verbose?: boolean;
14
14
  }): HotUpdateGraphModuleLike[];
15
15
  export declare function collectAngularHotUpdateRoots(options: {
16
16
  file: string;
@@ -18,19 +18,11 @@ export declare function collectAngularHotUpdateRoots(options: {
18
18
  getModuleById: (id: string) => HotUpdateGraphModuleLike | undefined;
19
19
  getModulesByFile?: (file: string) => Iterable<HotUpdateGraphModuleLike> | undefined | null;
20
20
  }): HotUpdateGraphModuleLike[];
21
- export type TransitiveImporterModuleLike = {
22
- id?: string | null;
23
- file?: string | null;
24
- importers?: Iterable<TransitiveImporterModuleLike> | null;
25
- };
26
- export declare function collectAngularTransitiveImportersForInvalidation(options: {
27
- modules: Iterable<TransitiveImporterModuleLike> | undefined | null;
28
- isExcluded?: (id: string) => boolean;
29
- maxDepth?: number;
30
- }): TransitiveImporterModuleLike[];
21
+ export declare function angularSourceHasSemanticDecorator(source: string): boolean;
31
22
  export declare function shouldInvalidateAngularTransitiveImporters(options: {
32
23
  flavor: string;
33
24
  file: string;
25
+ source?: string | null;
34
26
  }): boolean;
35
27
  export declare function collectAngularTransformCacheInvalidationUrls(options: {
36
28
  file: string;
@@ -43,6 +35,20 @@ export declare function collectAngularTransformCacheInvalidationUrls(options: {
43
35
  }>;
44
36
  projectRoot?: string;
45
37
  }): string[];
38
+ export declare function collectAngularEvictionUrls(options: {
39
+ file: string;
40
+ hotUpdateRoots?: Iterable<{
41
+ id?: string | null;
42
+ file?: string | null;
43
+ }>;
44
+ transitiveImporters?: Iterable<{
45
+ id?: string | null;
46
+ file?: string | null;
47
+ }>;
48
+ projectRoot: string;
49
+ origin: string;
50
+ bootstrapEntry?: string | null;
51
+ }): string[];
46
52
  export declare function shouldSuppressDefaultViteHotUpdate(options: {
47
53
  flavor: string;
48
54
  file: string;