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

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