@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
@@ -0,0 +1,221 @@
1
+ /**
2
+ * Re-inject `/* @vite-ignore *\/` into Angular's HMR initializer dynamic
3
+ * imports.
4
+ *
5
+ * # Why this exists
6
+ *
7
+ * Angular's compiler (`@angular/compiler`'s `compileHmrInitializer`) emits
8
+ * each `@Component`-decorated class's HMR loader as:
9
+ *
10
+ * ```js
11
+ * function FooComponent_HmrLoad(t) {
12
+ * import(\/* @vite-ignore *\/ i0.ɵɵgetReplaceMetadataURL(id, t, import.meta.url))
13
+ * .then((m) => m.default && i0.ɵɵreplaceMetadata(FooComponent, m.default, ...));
14
+ * }
15
+ * ```
16
+ *
17
+ * The `\/* @vite-ignore *\/` annotation tells Vite "do not try to
18
+ * statically analyze this dynamic import" — the URL is computed at
19
+ * runtime by `ɵɵgetReplaceMetadataURL`, which produces something like
20
+ * `http://host/ns/m/<componentDir>/@ng/component?c=<id>&t=<ts>` to be
21
+ * resolved by Analog's `liveReloadPlugin` middleware on the dev server.
22
+ *
23
+ * Somewhere along the post-Angular transform chain — empirically the
24
+ * `compact: false` Babel pass driven by the Angular linker, but
25
+ * potentially other plugins as well — the leading-argument comment is
26
+ * being dropped. By the time the file lands on the device, the
27
+ * compiled emit reads:
28
+ *
29
+ * ```js
30
+ * import(i0.ɵɵgetReplaceMetadataURL(id, t, import.meta.url))
31
+ * ```
32
+ *
33
+ * Vite's static analyzer logs:
34
+ *
35
+ * > The above dynamic import cannot be analyzed by Vite.
36
+ *
37
+ * and rewrites the call site to route through Vite's runtime resolver,
38
+ * which fails on the iOS runtime because the resolver expects a
39
+ * statically-known module specifier. The HMR loader IIFE runs at every
40
+ * component module evaluation (gated by `ngDevMode`), so the failure
41
+ * fires at boot for the FIRST `@Component` whose module is evaluated —
42
+ * typically a base/utility component like `ConfirmationDialogBaseComponent`
43
+ * — and aborts session startup with:
44
+ *
45
+ * > TypeError at Module.ɵɵgetReplaceMetadataURL
46
+ *
47
+ * Re-inserting the annotation downstream of every other transform makes
48
+ * us tolerant of upstream comment-loss without depending on the linker's
49
+ * comment behaviour. The fix is purely additive: if the comment is still
50
+ * present (Angular versions that emit it differently, or future
51
+ * compilers that wrap the URL in an alternate helper), `appendIfMissing`
52
+ * leaves the import untouched.
53
+ *
54
+ * # Idempotence
55
+ *
56
+ * The helper is safe to call repeatedly on the same source — once the
57
+ * annotation is present, subsequent calls become a no-op match by match.
58
+ * Vite's transform pipeline can replay cached transforms during a
59
+ * single dev session, so idempotence is required, not optional.
60
+ *
61
+ * # Surface area
62
+ *
63
+ * We only touch `import()` calls whose argument expression contains
64
+ * `ɵɵgetReplaceMetadataURL` (matching either the literal Unicode form
65
+ * or the escaped `\u0275\u0275getReplaceMetadataURL`). Every other
66
+ * dynamic import is left alone — an over-broad sweep would suppress
67
+ * Vite warnings on user dynamic imports that genuinely should be
68
+ * statically analyzed.
69
+ */
70
+ import { findMatchingDelimiter } from './js-lexer.js';
71
+ const ANGULAR_HMR_IDENTIFIER = 'getReplaceMetadataURL';
72
+ const VITE_IGNORE_COMMENT = '/* @vite-ignore */';
73
+ /**
74
+ * Inject `/* @vite-ignore *\/` into every `import()` whose argument
75
+ * references Angular's `ɵɵgetReplaceMetadataURL`. Returns the original
76
+ * code unchanged when no qualifying imports are found.
77
+ */
78
+ export function injectAngularHmrViteIgnore(code) {
79
+ if (!code)
80
+ return code;
81
+ // Cheap pre-check: bail out before walking the source if neither
82
+ // the unicode nor the escape form of the identifier is anywhere in
83
+ // the file. The vast majority of files aren't components, so this
84
+ // short-circuit is the hot path.
85
+ if (!code.includes(ANGULAR_HMR_IDENTIFIER))
86
+ return code;
87
+ let output = '';
88
+ let cursor = 0;
89
+ let changed = false;
90
+ while (cursor < code.length) {
91
+ const importIndex = findNextImportCall(code, cursor);
92
+ if (importIndex === -1) {
93
+ output += code.slice(cursor);
94
+ break;
95
+ }
96
+ const openParenIndex = findOpenParenAfter(code, importIndex + 'import'.length);
97
+ if (openParenIndex === -1) {
98
+ output += code.slice(cursor, importIndex + 'import'.length);
99
+ cursor = importIndex + 'import'.length;
100
+ continue;
101
+ }
102
+ const closeParenIndex = findMatchingDelimiter(code, openParenIndex, '(', ')');
103
+ if (closeParenIndex === -1) {
104
+ output += code.slice(cursor, openParenIndex + 1);
105
+ cursor = openParenIndex + 1;
106
+ continue;
107
+ }
108
+ const argumentBody = code.slice(openParenIndex + 1, closeParenIndex);
109
+ if (!referencesReplaceMetadataUrl(argumentBody)) {
110
+ output += code.slice(cursor, closeParenIndex + 1);
111
+ cursor = closeParenIndex + 1;
112
+ continue;
113
+ }
114
+ if (alreadyAnnotated(argumentBody)) {
115
+ output += code.slice(cursor, closeParenIndex + 1);
116
+ cursor = closeParenIndex + 1;
117
+ continue;
118
+ }
119
+ // Insert the annotation immediately after `import(` so the
120
+ // original argument expression — including any leading
121
+ // whitespace the upstream emitter chose — keeps its byte
122
+ // layout. This preserves source-map line stability for the
123
+ // rest of the file: only column offsets after the injection
124
+ // shift, never line numbers.
125
+ output += code.slice(cursor, openParenIndex + 1);
126
+ output += ` ${VITE_IGNORE_COMMENT} `;
127
+ output += code.slice(openParenIndex + 1, closeParenIndex + 1);
128
+ cursor = closeParenIndex + 1;
129
+ changed = true;
130
+ }
131
+ return changed ? output : code;
132
+ }
133
+ function findNextImportCall(source, startIndex) {
134
+ let i = startIndex;
135
+ while (i < source.length) {
136
+ const next = source.indexOf('import', i);
137
+ if (next === -1)
138
+ return -1;
139
+ // Reject `import.meta` and `import ` keyword forms; only
140
+ // `import(` (with optional whitespace) is a dynamic import.
141
+ const tail = next + 'import'.length;
142
+ const before = source.charCodeAt(next - 1);
143
+ const isWordCharBefore = isIdentifierPart(before);
144
+ if (!isWordCharBefore) {
145
+ let scan = tail;
146
+ while (scan < source.length && isWhitespace(source.charCodeAt(scan)))
147
+ scan++;
148
+ if (source.charCodeAt(scan) === 0x28 /* '(' */) {
149
+ return next;
150
+ }
151
+ }
152
+ i = tail;
153
+ }
154
+ return -1;
155
+ }
156
+ function findOpenParenAfter(source, index) {
157
+ let i = index;
158
+ while (i < source.length && isWhitespace(source.charCodeAt(i)))
159
+ i++;
160
+ if (source.charCodeAt(i) === 0x28 /* '(' */)
161
+ return i;
162
+ return -1;
163
+ }
164
+ function alreadyAnnotated(argumentBody) {
165
+ // Trim only the leading whitespace + comments — body may have many
166
+ // non-`@vite-ignore` block comments later that we don't want to
167
+ // confuse for an already-applied annotation.
168
+ let i = 0;
169
+ while (i < argumentBody.length) {
170
+ const c = argumentBody.charCodeAt(i);
171
+ if (isWhitespace(c)) {
172
+ i++;
173
+ continue;
174
+ }
175
+ if (c === 0x2f /* '/' */ && argumentBody.charCodeAt(i + 1) === 0x2a /* '*' */) {
176
+ const closeIndex = argumentBody.indexOf('*/', i + 2);
177
+ if (closeIndex === -1)
178
+ return false;
179
+ const commentBody = argumentBody.slice(i + 2, closeIndex);
180
+ if (commentBody.includes('@vite-ignore'))
181
+ return true;
182
+ i = closeIndex + 2;
183
+ continue;
184
+ }
185
+ // First non-whitespace, non-block-comment token — there's no
186
+ // annotation in the leading whitespace window.
187
+ return false;
188
+ }
189
+ return false;
190
+ }
191
+ function referencesReplaceMetadataUrl(argumentBody) {
192
+ if (!argumentBody)
193
+ return false;
194
+ if (argumentBody.includes(ANGULAR_HMR_IDENTIFIER))
195
+ return true;
196
+ // `\u0275\u0275getReplaceMetadataURL` — unicode-escaped form some
197
+ // transforms emit. The substring above already covers the suffix
198
+ // regardless of the prefix encoding, so this branch is mostly
199
+ // defensive — keep it explicit so future changes to the identifier
200
+ // (e.g. a `replaceMetadataURL` rename without `ɵɵ`) don't silently
201
+ // stop matching.
202
+ return /\\u0275\\u0275getReplaceMetadataURL/.test(argumentBody);
203
+ }
204
+ function isWhitespace(code) {
205
+ return code === 0x20 || code === 0x09 || code === 0x0a || code === 0x0d || code === 0x0b || code === 0x0c;
206
+ }
207
+ function isIdentifierPart(code) {
208
+ if (Number.isNaN(code))
209
+ return false;
210
+ if (code === 0x5f /* '_' */ || code === 0x24 /* '$' */)
211
+ return true;
212
+ if (code >= 0x30 && code <= 0x39)
213
+ return true;
214
+ if (code >= 0x41 && code <= 0x5a)
215
+ return true;
216
+ if (code >= 0x61 && code <= 0x7a)
217
+ return true;
218
+ return false;
219
+ }
220
+ // Comment-aware paren matcher lives in ./js-lexer.ts
221
+ //# sourceMappingURL=inject-hmr-vite-ignore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject-hmr-vite-ignore.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/build/inject-hmr-vite-ignore.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { existsSync, readFileSync } from 'node:fs';
2
2
  import { dirname, resolve } from 'node:path';
3
+ import { findMatchingDelimiter, findStatementEnd, splitTopLevel, stripQuotes } from './js-lexer.js';
3
4
  const DECORATE_ASSIGNMENT_RE = /(^|[^\w$.])([A-Za-z_$][\w$]*)\s*=\s*__decorate(?:\$\w+)?\s*\(/gm;
4
5
  const REGION_RE = /\/\/#region\s+([^\n]+)/g;
5
6
  const REGION_SOURCE_SUFFIX_RE = /\.(?:[cm]?[jt]sx?)(?=\/)/;
@@ -224,176 +225,6 @@ function extractCallArgs(source, callName) {
224
225
  }
225
226
  return source.slice(openParenIndex + 1, closeParenIndex);
226
227
  }
227
- function stripQuotes(value) {
228
- if ((value.startsWith('"') && value.endsWith('"')) || (value.startsWith("'") && value.endsWith("'")) || (value.startsWith('`') && value.endsWith('`'))) {
229
- return value.slice(1, -1);
230
- }
231
- return value;
232
- }
233
- function findStatementEnd(source, startIndex) {
234
- let index = startIndex;
235
- while (index < source.length && /\s/.test(source[index])) {
236
- index++;
237
- }
238
- if (source[index] === ';') {
239
- return index + 1;
240
- }
241
- return startIndex;
242
- }
243
- function findMatchingDelimiter(source, openIndex, openChar, closeChar) {
244
- if (openIndex < 0 || source[openIndex] !== openChar) {
245
- return -1;
246
- }
247
- let depth = 0;
248
- let quote = null;
249
- let escape = false;
250
- let inLineComment = false;
251
- let inBlockComment = false;
252
- for (let index = openIndex; index < source.length; index++) {
253
- const char = source[index];
254
- const next = source[index + 1];
255
- if (inLineComment) {
256
- if (char === '\n') {
257
- inLineComment = false;
258
- }
259
- continue;
260
- }
261
- if (inBlockComment) {
262
- if (char === '*' && next === '/') {
263
- inBlockComment = false;
264
- index++;
265
- }
266
- continue;
267
- }
268
- if (quote) {
269
- if (escape) {
270
- escape = false;
271
- continue;
272
- }
273
- if (char === '\\') {
274
- escape = true;
275
- continue;
276
- }
277
- if (char === quote) {
278
- quote = null;
279
- }
280
- continue;
281
- }
282
- if (char === '/' && next === '/') {
283
- inLineComment = true;
284
- index++;
285
- continue;
286
- }
287
- if (char === '/' && next === '*') {
288
- inBlockComment = true;
289
- index++;
290
- continue;
291
- }
292
- if (char === '"' || char === "'" || char === '`') {
293
- quote = char;
294
- continue;
295
- }
296
- if (char === openChar) {
297
- depth++;
298
- }
299
- else if (char === closeChar) {
300
- depth--;
301
- if (depth === 0) {
302
- return index;
303
- }
304
- }
305
- }
306
- return -1;
307
- }
308
- function splitTopLevel(source) {
309
- const parts = [];
310
- let start = 0;
311
- let parenDepth = 0;
312
- let bracketDepth = 0;
313
- let braceDepth = 0;
314
- let quote = null;
315
- let escape = false;
316
- let inLineComment = false;
317
- let inBlockComment = false;
318
- for (let index = 0; index < source.length; index++) {
319
- const char = source[index];
320
- const next = source[index + 1];
321
- if (inLineComment) {
322
- if (char === '\n') {
323
- inLineComment = false;
324
- }
325
- continue;
326
- }
327
- if (inBlockComment) {
328
- if (char === '*' && next === '/') {
329
- inBlockComment = false;
330
- index++;
331
- }
332
- continue;
333
- }
334
- if (quote) {
335
- if (escape) {
336
- escape = false;
337
- continue;
338
- }
339
- if (char === '\\') {
340
- escape = true;
341
- continue;
342
- }
343
- if (char === quote) {
344
- quote = null;
345
- }
346
- continue;
347
- }
348
- if (char === '/' && next === '/') {
349
- inLineComment = true;
350
- index++;
351
- continue;
352
- }
353
- if (char === '/' && next === '*') {
354
- inBlockComment = true;
355
- index++;
356
- continue;
357
- }
358
- if (char === '"' || char === "'" || char === '`') {
359
- quote = char;
360
- continue;
361
- }
362
- if (char === '(') {
363
- parenDepth++;
364
- continue;
365
- }
366
- if (char === ')') {
367
- parenDepth--;
368
- continue;
369
- }
370
- if (char === '[') {
371
- bracketDepth++;
372
- continue;
373
- }
374
- if (char === ']') {
375
- bracketDepth--;
376
- continue;
377
- }
378
- if (char === '{') {
379
- braceDepth++;
380
- continue;
381
- }
382
- if (char === '}') {
383
- braceDepth--;
384
- continue;
385
- }
386
- if (char === ',' && parenDepth === 0 && bracketDepth === 0 && braceDepth === 0) {
387
- parts.push(source.slice(start, index).trim());
388
- start = index + 1;
389
- }
390
- }
391
- const tail = source.slice(start).trim();
392
- if (tail) {
393
- parts.push(tail);
394
- }
395
- return parts;
396
- }
397
228
  function escapeRegex(value) {
398
229
  return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
399
230
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline-decorator-component-templates.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/build/inline-decorator-component-templates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function findStatementEnd(source: string, startIndex: number): number;
2
+ export declare function stripQuotes(value: string): string;
3
+ export declare function findMatchingDelimiter(source: string, openIndex: number, openChar: string, closeChar: string): number;
4
+ export declare function splitTopLevel(source: string): string[];
@@ -1,95 +1,7 @@
1
- const DECORATE_ASSIGNMENT_RE = /(^|[^\w$.])([A-Za-z_$][\w$]*)\s*=\s*__decorate(?:\$\w+)?\s*\(/gm;
2
- export function synthesizeDecoratorCtorParameters(code) {
3
- let changed = false;
4
- let lastIndex = 0;
5
- let output = '';
6
- for (const match of code.matchAll(DECORATE_ASSIGNMENT_RE)) {
7
- const prefix = match[1] ?? '';
8
- const className = match[2];
9
- const assignmentStart = (match.index ?? 0) + prefix.length;
10
- const equalsIndex = code.indexOf('=', assignmentStart + className.length);
11
- const decorateIndex = code.indexOf('__decorate', equalsIndex);
12
- const openParenIndex = code.indexOf('(', decorateIndex);
13
- if (equalsIndex === -1 || decorateIndex === -1 || openParenIndex === -1 || hasCtorParameters(code, className)) {
14
- continue;
15
- }
16
- const closeParenIndex = findMatchingDelimiter(code, openParenIndex, '(', ')');
17
- if (closeParenIndex === -1) {
18
- continue;
19
- }
20
- const statementEnd = findStatementEnd(code, closeParenIndex + 1);
21
- const decorateCall = code.slice(decorateIndex, closeParenIndex + 1);
22
- const decorators = splitDecoratorArray(decorateCall);
23
- if (!decorators.some(isAngularClassDecorator)) {
24
- continue;
25
- }
26
- const paramTypes = extractParamTypes(decorators);
27
- if (!paramTypes?.length) {
28
- continue;
29
- }
30
- output += code.slice(lastIndex, assignmentStart);
31
- output += `${className}.ctorParameters = () => [${paramTypes.map((paramType) => `{ type: ${paramType} }`).join(', ')}];\n`;
32
- output += code.slice(assignmentStart, statementEnd);
33
- lastIndex = statementEnd;
34
- changed = true;
35
- }
36
- if (!changed) {
37
- return code;
38
- }
39
- output += code.slice(lastIndex);
40
- return output;
41
- }
42
- function hasCtorParameters(code, className) {
43
- return [`${className}.ctorParameters`, `Object.defineProperty(${className}, "ctorParameters"`, `Object.defineProperty(${className}, 'ctorParameters'`].some((marker) => code.includes(marker));
44
- }
45
- function splitDecoratorArray(decorateCall) {
46
- const openParenIndex = decorateCall.indexOf('(');
47
- const closeParenIndex = decorateCall.lastIndexOf(')');
48
- if (openParenIndex === -1 || closeParenIndex === -1) {
49
- return [];
50
- }
51
- const args = splitTopLevel(decorateCall.slice(openParenIndex + 1, closeParenIndex));
52
- if (!args.length) {
53
- return [];
54
- }
55
- const decoratorArray = args[0].trim();
56
- if (!decoratorArray.startsWith('[') || !decoratorArray.endsWith(']')) {
57
- return [];
58
- }
59
- return splitTopLevel(decoratorArray.slice(1, -1));
60
- }
61
- function extractParamTypes(decorators) {
62
- for (const decorator of decorators) {
63
- if (!decorator.includes('__decorateMetadata')) {
64
- continue;
65
- }
66
- const openParenIndex = decorator.indexOf('(');
67
- const closeParenIndex = findMatchingDelimiter(decorator, openParenIndex, '(', ')');
68
- if (openParenIndex === -1 || closeParenIndex === -1) {
69
- continue;
70
- }
71
- const args = splitTopLevel(decorator.slice(openParenIndex + 1, closeParenIndex));
72
- if (args.length < 2 || stripQuotes(args[0].trim()) !== 'design:paramtypes') {
73
- continue;
74
- }
75
- const paramArray = args[1].trim();
76
- if (!paramArray.startsWith('[') || !paramArray.endsWith(']')) {
77
- continue;
78
- }
79
- return splitTopLevel(paramArray.slice(1, -1));
80
- }
81
- return null;
82
- }
83
- function isAngularClassDecorator(decorator) {
84
- return /(?:^|\W)(?:Injectable|Component|Directive|Pipe|NgModule)(?:\$\d+)?\s*\(/.test(decorator);
85
- }
86
- function stripQuotes(value) {
87
- if ((value.startsWith('"') && value.endsWith('"')) || (value.startsWith("'") && value.endsWith("'"))) {
88
- return value.slice(1, -1);
89
- }
90
- return value;
91
- }
92
- function findStatementEnd(source, startIndex) {
1
+ // Comment- and string-aware lexing helpers shared by the Angular source
2
+ // rewriters. They operate on raw source (not an AST) so they can run on the
3
+ // partially-transformed output the linker/decorator passes produce.
4
+ export function findStatementEnd(source, startIndex) {
93
5
  let index = startIndex;
94
6
  while (index < source.length && /\s/.test(source[index])) {
95
7
  index++;
@@ -99,7 +11,16 @@ function findStatementEnd(source, startIndex) {
99
11
  }
100
12
  return startIndex;
101
13
  }
102
- function findMatchingDelimiter(source, openIndex, openChar, closeChar) {
14
+ export function stripQuotes(value) {
15
+ if ((value.startsWith('"') && value.endsWith('"')) || (value.startsWith("'") && value.endsWith("'")) || (value.startsWith('`') && value.endsWith('`'))) {
16
+ return value.slice(1, -1);
17
+ }
18
+ return value;
19
+ }
20
+ // Returns the index of the delimiter that closes the one at `openIndex`,
21
+ // skipping over strings, template literals, and comments. Returns -1 when the
22
+ // open char is missing or unbalanced.
23
+ export function findMatchingDelimiter(source, openIndex, openChar, closeChar) {
103
24
  if (openIndex < 0 || source[openIndex] !== openChar) {
104
25
  return -1;
105
26
  }
@@ -164,7 +85,9 @@ function findMatchingDelimiter(source, openIndex, openChar, closeChar) {
164
85
  }
165
86
  return -1;
166
87
  }
167
- function splitTopLevel(source) {
88
+ // Splits a comma-separated list at top level only, ignoring commas nested in
89
+ // parentheses, brackets, braces, strings, or comments.
90
+ export function splitTopLevel(source) {
168
91
  const parts = [];
169
92
  let start = 0;
170
93
  let parenDepth = 0;
@@ -243,7 +166,10 @@ function splitTopLevel(source) {
243
166
  continue;
244
167
  }
245
168
  if (char === ',' && parenDepth === 0 && bracketDepth === 0 && braceDepth === 0) {
246
- parts.push(source.slice(start, index).trim());
169
+ const part = source.slice(start, index).trim();
170
+ if (part) {
171
+ parts.push(part);
172
+ }
247
173
  start = index + 1;
248
174
  }
249
175
  }
@@ -253,4 +179,4 @@ function splitTopLevel(source) {
253
179
  }
254
180
  return parts;
255
181
  }
256
- //# sourceMappingURL=synthesize-decorator-ctor-parameters.js.map
182
+ //# sourceMappingURL=js-lexer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js-lexer.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/build/js-lexer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ type BabelCore = typeof import('@babel/core');
2
+ type LinkerFactory = (options?: Record<string, unknown>) => any;
3
+ /**
4
+ * Resolve the Angular NodeJSFileSystem from the project or fallback locations.
5
+ * Angular 21+ requires a `fileSystem` option for the linker plugin — without it
6
+ * the Babel transform throws "Cannot read properties of undefined (reading 'resolve')".
7
+ */
8
+ export declare function resolveAngularFileSystem(projectRoot?: string): Promise<any>;
9
+ /**
10
+ * Load `@babel/core` + the Angular linker factory (cached on success, retried
11
+ * until both resolve). Returns nulls when the toolchain isn't installed so
12
+ * callers can soft-skip.
13
+ */
14
+ export declare function getAngularLinkerFactory(projectRoot?: string): Promise<{
15
+ babel: BabelCore | null;
16
+ createLinker: LinkerFactory | null;
17
+ }>;
18
+ /**
19
+ * Babel + a single shared linker plugin instance (cached). Most callers reuse
20
+ * this; chunk-level linkers that need fresh per-call state should instead use
21
+ * `runAngularLinker(code, { freshPlugin: true })`.
22
+ */
23
+ export declare function ensureSharedAngularLinker(projectRoot?: string): Promise<{
24
+ babel: BabelCore | null;
25
+ linkerPlugin: any;
26
+ }>;
27
+ export interface RunAngularLinkerOptions {
28
+ filename: string;
29
+ projectRoot?: string;
30
+ /** Create a new plugin instance instead of reusing the shared one (chunk linkers avoid stale watch-mode state). */
31
+ freshPlugin?: boolean;
32
+ }
33
+ /**
34
+ * Run the Angular Babel linker over `code` (rewrites ɵɵngDeclare* partials to
35
+ * ɵɵdefine*). Returns the linked code, or null when the toolchain is
36
+ * unavailable or the code was left unchanged.
37
+ */
38
+ export declare function runAngularLinker(code: string, opts: RunAngularLinkerOptions): Promise<string | null>;
39
+ export {};