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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (554) hide show
  1. package/README.md +51 -11
  2. package/bin/cli.cjs +8 -14
  3. package/configuration/angular.d.ts +34 -1
  4. package/configuration/angular.js +293 -172
  5. package/configuration/angular.js.map +1 -1
  6. package/configuration/base.js +177 -110
  7. package/configuration/base.js.map +1 -1
  8. package/configuration/javascript.js +14 -93
  9. package/configuration/javascript.js.map +1 -1
  10. package/configuration/react.js +41 -73
  11. package/configuration/react.js.map +1 -1
  12. package/configuration/solid.js +51 -6
  13. package/configuration/solid.js.map +1 -1
  14. package/configuration/typescript.js +12 -93
  15. package/configuration/typescript.js.map +1 -1
  16. package/helpers/app-components.d.ts +2 -1
  17. package/helpers/app-components.js.map +1 -1
  18. package/helpers/app-css-refresh.d.ts +31 -0
  19. package/helpers/app-css-refresh.js +43 -0
  20. package/helpers/app-css-refresh.js.map +1 -0
  21. package/helpers/app-css-state.d.ts +17 -0
  22. package/helpers/app-css-state.js +51 -0
  23. package/helpers/app-css-state.js.map +1 -0
  24. package/helpers/bundler-context.d.ts +11 -0
  25. package/helpers/bundler-context.js +71 -0
  26. package/helpers/bundler-context.js.map +1 -0
  27. package/helpers/cli-flags.d.ts +12 -0
  28. package/helpers/cli-flags.js +34 -0
  29. package/helpers/cli-flags.js.map +1 -1
  30. package/helpers/css-platform-plugin.d.ts +14 -0
  31. package/helpers/css-platform-plugin.js +43 -25
  32. package/helpers/css-platform-plugin.js.map +1 -1
  33. package/helpers/dev-host.d.ts +360 -0
  34. package/helpers/dev-host.js +694 -0
  35. package/helpers/dev-host.js.map +1 -0
  36. package/helpers/dynamic-import-plugin.js +9 -4
  37. package/helpers/dynamic-import-plugin.js.map +1 -1
  38. package/helpers/esbuild-platform-resolver.js +4 -1
  39. package/helpers/esbuild-platform-resolver.js.map +1 -1
  40. package/helpers/external-configs.d.ts +10 -12
  41. package/helpers/external-configs.js +58 -35
  42. package/helpers/external-configs.js.map +1 -1
  43. package/helpers/flavor.d.ts +13 -0
  44. package/helpers/flavor.js +17 -0
  45. package/helpers/flavor.js.map +1 -1
  46. package/helpers/global-defines.d.ts +101 -33
  47. package/helpers/global-defines.js +187 -64
  48. package/helpers/global-defines.js.map +1 -1
  49. package/helpers/hmr-scope.d.ts +26 -0
  50. package/helpers/hmr-scope.js +67 -0
  51. package/helpers/hmr-scope.js.map +1 -0
  52. package/helpers/init.js +0 -18
  53. package/helpers/init.js.map +1 -1
  54. package/helpers/logging.js +29 -1
  55. package/helpers/logging.js.map +1 -1
  56. package/helpers/main-entry.d.ts +4 -1
  57. package/helpers/main-entry.js +366 -47
  58. package/helpers/main-entry.js.map +1 -1
  59. package/helpers/nativeclass-esbuild-plugin.d.ts +2 -1
  60. package/helpers/nativeclass-esbuild-plugin.js +6 -1
  61. package/helpers/nativeclass-esbuild-plugin.js.map +1 -1
  62. package/helpers/nativeclass-transform.d.ts +13 -0
  63. package/helpers/nativeclass-transform.js +37 -7
  64. package/helpers/nativeclass-transform.js.map +1 -1
  65. package/helpers/nativeclass-transformer-plugin.d.ts +9 -2
  66. package/helpers/nativeclass-transformer-plugin.js +163 -15
  67. package/helpers/nativeclass-transformer-plugin.js.map +1 -1
  68. package/helpers/nativescript-package-resolver.js +10 -62
  69. package/helpers/nativescript-package-resolver.js.map +1 -1
  70. package/helpers/normalize-id.d.ts +42 -0
  71. package/helpers/normalize-id.js +60 -0
  72. package/helpers/normalize-id.js.map +1 -0
  73. package/helpers/ns-core-external-urls.d.ts +32 -0
  74. package/helpers/ns-core-external-urls.js +107 -0
  75. package/helpers/ns-core-external-urls.js.map +1 -0
  76. package/helpers/ns-core-url.d.ts +26 -3
  77. package/helpers/ns-core-url.js +66 -8
  78. package/helpers/ns-core-url.js.map +1 -1
  79. package/helpers/optimize-deps.d.ts +16 -0
  80. package/helpers/optimize-deps.js +17 -0
  81. package/helpers/optimize-deps.js.map +1 -0
  82. package/helpers/package-platform-aliases.js +34 -49
  83. package/helpers/package-platform-aliases.js.map +1 -1
  84. package/helpers/platform-types.d.ts +2 -0
  85. package/helpers/platform-types.js +2 -0
  86. package/helpers/platform-types.js.map +1 -0
  87. package/helpers/postcss-platform-config.d.ts +17 -1
  88. package/helpers/postcss-platform-config.js +20 -37
  89. package/helpers/postcss-platform-config.js.map +1 -1
  90. package/helpers/project.d.ts +35 -0
  91. package/helpers/project.js +120 -2
  92. package/helpers/project.js.map +1 -1
  93. package/helpers/resolve-main-field-platform.d.ts +20 -0
  94. package/helpers/resolve-main-field-platform.js +49 -0
  95. package/helpers/resolve-main-field-platform.js.map +1 -0
  96. package/helpers/resolver.js +17 -2
  97. package/helpers/resolver.js.map +1 -1
  98. package/helpers/theme-core-plugins.js +1 -1
  99. package/helpers/theme-core-plugins.js.map +1 -1
  100. package/helpers/ts-config-paths.d.ts +32 -0
  101. package/helpers/ts-config-paths.js +156 -27
  102. package/helpers/ts-config-paths.js.map +1 -1
  103. package/helpers/typescript-check.d.ts +2 -1
  104. package/helpers/typescript-check.js +4 -4
  105. package/helpers/typescript-check.js.map +1 -1
  106. package/helpers/ui-registration.d.ts +21 -0
  107. package/helpers/ui-registration.js +156 -0
  108. package/helpers/ui-registration.js.map +1 -0
  109. package/helpers/utils.d.ts +9 -0
  110. package/helpers/utils.js +22 -2
  111. package/helpers/utils.js.map +1 -1
  112. package/helpers/vite-package-version.d.ts +7 -0
  113. package/helpers/vite-package-version.js +44 -0
  114. package/helpers/vite-package-version.js.map +1 -0
  115. package/helpers/workers.d.ts +40 -19
  116. package/helpers/workers.js +324 -13
  117. package/helpers/workers.js.map +1 -1
  118. package/hmr/client/css-handler.d.ts +2 -1
  119. package/hmr/client/css-handler.js +63 -32
  120. package/hmr/client/css-handler.js.map +1 -1
  121. package/hmr/client/css-update-overlay.d.ts +18 -0
  122. package/hmr/client/css-update-overlay.js +27 -0
  123. package/hmr/client/css-update-overlay.js.map +1 -0
  124. package/hmr/client/framework-client-strategy.d.ts +87 -0
  125. package/hmr/client/framework-client-strategy.js +18 -0
  126. package/hmr/client/framework-client-strategy.js.map +1 -0
  127. package/hmr/client/hmr-pending-overlay.d.ts +0 -14
  128. package/hmr/client/hmr-pending-overlay.js +2 -11
  129. package/hmr/client/hmr-pending-overlay.js.map +1 -1
  130. package/hmr/client/hot-context.d.ts +67 -0
  131. package/hmr/client/hot-context.js +307 -0
  132. package/hmr/client/hot-context.js.map +1 -0
  133. package/hmr/client/index.d.ts +9 -1
  134. package/hmr/client/index.js +70 -1970
  135. package/hmr/client/index.js.map +1 -1
  136. package/hmr/client/overlay-driver.d.ts +10 -0
  137. package/hmr/client/overlay-driver.js +33 -0
  138. package/hmr/client/overlay-driver.js.map +1 -0
  139. package/hmr/client/protocol-dispatch.d.ts +8 -0
  140. package/hmr/client/protocol-dispatch.js +308 -0
  141. package/hmr/client/protocol-dispatch.js.map +1 -0
  142. package/hmr/client/root-reset.d.ts +15 -0
  143. package/hmr/client/root-reset.js +358 -0
  144. package/hmr/client/root-reset.js.map +1 -0
  145. package/hmr/client/strategy-loader.d.ts +24 -0
  146. package/hmr/client/strategy-loader.js +83 -0
  147. package/hmr/client/strategy-loader.js.map +1 -0
  148. package/hmr/client/update-pipeline.d.ts +27 -0
  149. package/hmr/client/update-pipeline.js +464 -0
  150. package/hmr/client/update-pipeline.js.map +1 -0
  151. package/hmr/client/utils.d.ts +9 -1
  152. package/hmr/client/utils.js +117 -97
  153. package/hmr/client/utils.js.map +1 -1
  154. package/hmr/client/ws-transport.d.ts +21 -0
  155. package/hmr/client/ws-transport.js +323 -0
  156. package/hmr/client/ws-transport.js.map +1 -0
  157. package/hmr/entry-runtime.d.ts +2 -1
  158. package/hmr/entry-runtime.js +282 -71
  159. package/hmr/entry-runtime.js.map +1 -1
  160. package/hmr/frameworks/angular/build/angular-linker.d.ts +12 -0
  161. package/hmr/frameworks/angular/build/angular-linker.js +113 -0
  162. package/hmr/frameworks/angular/build/angular-linker.js.map +1 -0
  163. package/hmr/frameworks/angular/build/inject-component-hmr-registration.d.ts +112 -0
  164. package/hmr/frameworks/angular/build/inject-component-hmr-registration.js +291 -0
  165. package/hmr/frameworks/angular/build/inject-component-hmr-registration.js.map +1 -0
  166. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.d.ts +75 -0
  167. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js +221 -0
  168. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js.map +1 -0
  169. package/{helpers/angular → hmr/frameworks/angular/build}/inline-decorator-component-templates.js +1 -170
  170. package/hmr/frameworks/angular/build/inline-decorator-component-templates.js.map +1 -0
  171. package/hmr/frameworks/angular/build/js-lexer.d.ts +4 -0
  172. package/{helpers/angular/synthesize-decorator-ctor-parameters.js → hmr/frameworks/angular/build/js-lexer.js} +22 -96
  173. package/hmr/frameworks/angular/build/js-lexer.js.map +1 -0
  174. package/hmr/frameworks/angular/build/linker-stats.d.ts +18 -0
  175. package/hmr/frameworks/angular/build/linker-stats.js +29 -0
  176. package/hmr/frameworks/angular/build/linker-stats.js.map +1 -0
  177. package/hmr/frameworks/angular/build/shared-linker.d.ts +39 -0
  178. package/hmr/frameworks/angular/build/shared-linker.js +128 -0
  179. package/hmr/frameworks/angular/build/shared-linker.js.map +1 -0
  180. package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js +88 -0
  181. package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js.map +1 -0
  182. package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-injectable-factories.js +1 -174
  183. package/hmr/frameworks/angular/build/synthesize-injectable-factories.js.map +1 -0
  184. package/hmr/frameworks/angular/build/ts-fallback-transform.d.ts +5 -0
  185. package/hmr/frameworks/angular/build/ts-fallback-transform.js +138 -0
  186. package/hmr/frameworks/angular/build/ts-fallback-transform.js.map +1 -0
  187. package/{helpers/angular → hmr/frameworks/angular/build}/util.d.ts +1 -0
  188. package/hmr/frameworks/angular/build/util.js +155 -0
  189. package/hmr/frameworks/angular/build/util.js.map +1 -0
  190. package/hmr/frameworks/angular/build/worker-url-preserve.d.ts +5 -0
  191. package/hmr/frameworks/angular/build/worker-url-preserve.js +140 -0
  192. package/hmr/frameworks/angular/build/worker-url-preserve.js.map +1 -0
  193. package/hmr/frameworks/angular/client/index.d.ts +0 -1
  194. package/hmr/frameworks/angular/client/index.js +459 -223
  195. package/hmr/frameworks/angular/client/index.js.map +1 -1
  196. package/hmr/frameworks/angular/client/strategy.d.ts +9 -0
  197. package/hmr/frameworks/angular/client/strategy.js +19 -0
  198. package/hmr/frameworks/angular/client/strategy.js.map +1 -0
  199. package/hmr/frameworks/angular/server/angular-root-component.d.ts +79 -0
  200. package/hmr/frameworks/angular/server/angular-root-component.js +149 -0
  201. package/hmr/frameworks/angular/server/angular-root-component.js.map +1 -0
  202. package/hmr/frameworks/angular/server/linker.js +1 -4
  203. package/hmr/frameworks/angular/server/linker.js.map +1 -1
  204. package/hmr/frameworks/angular/server/ng-component-route.d.ts +43 -0
  205. package/hmr/frameworks/angular/server/ng-component-route.js +113 -0
  206. package/hmr/frameworks/angular/server/ng-component-route.js.map +1 -0
  207. package/hmr/frameworks/angular/server/strategy.js +677 -13
  208. package/hmr/frameworks/angular/server/strategy.js.map +1 -1
  209. package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.js +2 -2
  210. package/hmr/frameworks/angular/server/websocket-angular-entry.js.map +1 -0
  211. package/hmr/{server → frameworks/angular/server}/websocket-angular-hot-update.d.ts +28 -11
  212. package/hmr/{server → frameworks/angular/server}/websocket-angular-hot-update.js +191 -105
  213. package/hmr/frameworks/angular/server/websocket-angular-hot-update.js.map +1 -0
  214. package/hmr/frameworks/react/client/strategy.d.ts +12 -0
  215. package/hmr/frameworks/react/client/strategy.js +27 -0
  216. package/hmr/frameworks/react/client/strategy.js.map +1 -0
  217. package/hmr/frameworks/react/server/strategy.d.ts +2 -0
  218. package/hmr/frameworks/react/server/strategy.js +230 -0
  219. package/hmr/frameworks/react/server/strategy.js.map +1 -0
  220. package/hmr/frameworks/solid/build/solid-jsx-deps.d.ts +15 -0
  221. package/hmr/frameworks/solid/build/solid-jsx-deps.js +178 -0
  222. package/hmr/frameworks/solid/build/solid-jsx-deps.js.map +1 -0
  223. package/hmr/frameworks/solid/client/app-runtime.d.ts +68 -0
  224. package/hmr/frameworks/solid/client/app-runtime.js +252 -0
  225. package/hmr/frameworks/solid/client/app-runtime.js.map +1 -0
  226. package/hmr/frameworks/solid/client/strategy.d.ts +7 -0
  227. package/hmr/frameworks/solid/client/strategy.js +391 -0
  228. package/hmr/frameworks/solid/client/strategy.js.map +1 -0
  229. package/hmr/frameworks/solid/server/strategy.js +293 -16
  230. package/hmr/frameworks/solid/server/strategy.js.map +1 -1
  231. package/hmr/frameworks/typescript/client/strategy.d.ts +7 -0
  232. package/hmr/frameworks/typescript/client/strategy.js +418 -0
  233. package/hmr/frameworks/typescript/client/strategy.js.map +1 -0
  234. package/hmr/frameworks/typescript/server/strategy.js +40 -14
  235. package/hmr/frameworks/typescript/server/strategy.js.map +1 -1
  236. package/hmr/frameworks/vue/client/dep-propagation.d.ts +44 -0
  237. package/hmr/frameworks/vue/client/dep-propagation.js +148 -0
  238. package/hmr/frameworks/vue/client/dep-propagation.js.map +1 -0
  239. package/hmr/frameworks/vue/client/index.d.ts +10 -1
  240. package/hmr/frameworks/vue/client/index.js +287 -562
  241. package/hmr/frameworks/vue/client/index.js.map +1 -1
  242. package/hmr/frameworks/vue/client/navigate-app.d.ts +3 -0
  243. package/hmr/frameworks/vue/client/navigate-app.js +178 -0
  244. package/hmr/frameworks/vue/client/navigate-app.js.map +1 -0
  245. package/hmr/frameworks/vue/client/strategy.d.ts +33 -0
  246. package/hmr/frameworks/vue/client/strategy.js +152 -0
  247. package/hmr/frameworks/vue/client/strategy.js.map +1 -0
  248. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.d.ts +49 -0
  249. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js +124 -0
  250. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js.map +1 -0
  251. package/hmr/frameworks/vue/server/compiler.d.ts +3 -1
  252. package/hmr/frameworks/vue/server/compiler.js +3 -1
  253. package/hmr/frameworks/vue/server/compiler.js.map +1 -1
  254. package/hmr/frameworks/vue/server/sfc-route-assemble.d.ts +7 -0
  255. package/hmr/frameworks/vue/server/sfc-route-assemble.js +823 -0
  256. package/hmr/frameworks/vue/server/sfc-route-assemble.js.map +1 -0
  257. package/hmr/frameworks/vue/server/sfc-route-meta.d.ts +7 -0
  258. package/hmr/frameworks/vue/server/sfc-route-meta.js +80 -0
  259. package/hmr/frameworks/vue/server/sfc-route-meta.js.map +1 -0
  260. package/hmr/frameworks/vue/server/sfc-route-serve.d.ts +8 -0
  261. package/hmr/frameworks/vue/server/sfc-route-serve.js +462 -0
  262. package/hmr/frameworks/vue/server/sfc-route-serve.js.map +1 -0
  263. package/hmr/frameworks/vue/server/sfc-route-shared.d.ts +45 -0
  264. package/hmr/frameworks/vue/server/sfc-route-shared.js +105 -0
  265. package/hmr/frameworks/vue/server/sfc-route-shared.js.map +1 -0
  266. package/hmr/frameworks/vue/server/strategy.d.ts +35 -0
  267. package/hmr/frameworks/vue/server/strategy.js +291 -7
  268. package/hmr/frameworks/vue/server/strategy.js.map +1 -1
  269. package/hmr/frameworks/vue/server/websocket-sfc.d.ts +15 -0
  270. package/hmr/frameworks/vue/server/websocket-sfc.js +20 -0
  271. package/hmr/frameworks/vue/server/websocket-sfc.js.map +1 -0
  272. package/hmr/helpers/ast-normalizer.d.ts +3 -1
  273. package/hmr/helpers/ast-normalizer.js +109 -14
  274. package/hmr/helpers/ast-normalizer.js.map +1 -1
  275. package/hmr/helpers/cjs-named-exports.d.ts +23 -0
  276. package/hmr/helpers/cjs-named-exports.js +152 -0
  277. package/hmr/helpers/cjs-named-exports.js.map +1 -0
  278. package/hmr/helpers/package-exports.d.ts +16 -0
  279. package/hmr/helpers/package-exports.js +396 -0
  280. package/hmr/helpers/package-exports.js.map +1 -0
  281. package/hmr/helpers/vendor-rewrite.d.ts +1 -1
  282. package/hmr/helpers/vendor-rewrite.js +5 -3
  283. package/hmr/helpers/vendor-rewrite.js.map +1 -1
  284. package/hmr/server/boot-recording.d.ts +51 -0
  285. package/hmr/server/boot-recording.js +214 -0
  286. package/hmr/server/boot-recording.js.map +1 -0
  287. package/hmr/server/constants.js +20 -5
  288. package/hmr/server/constants.js.map +1 -1
  289. package/hmr/server/content-css-update.d.ts +54 -0
  290. package/hmr/server/content-css-update.js +78 -0
  291. package/hmr/server/content-css-update.js.map +1 -0
  292. package/hmr/server/core-bundle.d.ts +140 -0
  293. package/hmr/server/core-bundle.js +614 -0
  294. package/hmr/server/core-bundle.js.map +1 -0
  295. package/hmr/server/core-sanitize.d.ts +86 -7
  296. package/hmr/server/core-sanitize.js +164 -39
  297. package/hmr/server/core-sanitize.js.map +1 -1
  298. package/hmr/server/css-connect-sync.d.ts +28 -0
  299. package/hmr/server/css-connect-sync.js +59 -0
  300. package/hmr/server/css-connect-sync.js.map +1 -0
  301. package/hmr/server/css-device-module.d.ts +28 -0
  302. package/hmr/server/css-device-module.js +44 -0
  303. package/hmr/server/css-device-module.js.map +1 -0
  304. package/hmr/server/css-update-message.d.ts +23 -0
  305. package/hmr/server/css-update-message.js +41 -0
  306. package/hmr/server/css-update-message.js.map +1 -0
  307. package/hmr/server/deps-bundle.d.ts +233 -0
  308. package/hmr/server/deps-bundle.js +1022 -0
  309. package/hmr/server/deps-bundle.js.map +1 -0
  310. package/hmr/server/device-transform-helpers.d.ts +24 -0
  311. package/hmr/server/device-transform-helpers.js +408 -0
  312. package/hmr/server/device-transform-helpers.js.map +1 -0
  313. package/hmr/server/framework-strategy.d.ts +182 -11
  314. package/hmr/server/hmr-module-graph.d.ts +37 -0
  315. package/hmr/server/hmr-module-graph.js +215 -0
  316. package/hmr/server/hmr-module-graph.js.map +1 -0
  317. package/hmr/server/import-map.d.ts +51 -19
  318. package/hmr/server/import-map.js +136 -66
  319. package/hmr/server/import-map.js.map +1 -1
  320. package/hmr/server/index.js +7 -16
  321. package/hmr/server/index.js.map +1 -1
  322. package/hmr/server/node-builtins-route.d.ts +12 -0
  323. package/hmr/server/node-builtins-route.js +86 -0
  324. package/hmr/server/node-builtins-route.js.map +1 -0
  325. package/hmr/server/ns-core-cjs-shape.js +1 -1
  326. package/hmr/server/ns-core-cjs-shape.js.map +1 -1
  327. package/hmr/server/ns-m-response-memo.d.ts +10 -0
  328. package/hmr/server/ns-m-response-memo.js +33 -0
  329. package/hmr/server/ns-m-response-memo.js.map +1 -0
  330. package/hmr/server/ns-rt-bridge.d.ts +51 -0
  331. package/hmr/server/ns-rt-bridge.js +131 -0
  332. package/hmr/server/ns-rt-bridge.js.map +1 -0
  333. package/hmr/server/ns-rt-route.d.ts +5 -0
  334. package/hmr/server/ns-rt-route.js +39 -0
  335. package/hmr/server/ns-rt-route.js.map +1 -0
  336. package/hmr/server/perf-instrumentation.d.ts +1 -1
  337. package/hmr/server/perf-instrumentation.js +3 -1
  338. package/hmr/server/perf-instrumentation.js.map +1 -1
  339. package/hmr/server/process-code-for-device.d.ts +44 -0
  340. package/hmr/server/process-code-for-device.js +834 -0
  341. package/hmr/server/process-code-for-device.js.map +1 -0
  342. package/hmr/server/require-guard.d.ts +1 -0
  343. package/hmr/server/require-guard.js +12 -0
  344. package/hmr/server/require-guard.js.map +1 -0
  345. package/hmr/server/rewrite-imports.d.ts +2 -0
  346. package/hmr/server/rewrite-imports.js +631 -0
  347. package/hmr/server/rewrite-imports.js.map +1 -0
  348. package/hmr/server/route-helpers.d.ts +7 -0
  349. package/hmr/server/route-helpers.js +13 -0
  350. package/hmr/server/route-helpers.js.map +1 -0
  351. package/hmr/server/runtime-graph-filter.js +8 -1
  352. package/hmr/server/runtime-graph-filter.js.map +1 -1
  353. package/hmr/server/server-origin.d.ts +2 -0
  354. package/hmr/server/server-origin.js +88 -0
  355. package/hmr/server/server-origin.js.map +1 -0
  356. package/hmr/server/shared-transform-request.js +1 -2
  357. package/hmr/server/shared-transform-request.js.map +1 -1
  358. package/hmr/server/socket-utils.d.ts +10 -0
  359. package/hmr/server/socket-utils.js +14 -0
  360. package/hmr/server/socket-utils.js.map +1 -0
  361. package/hmr/server/transform-cache-invalidation.d.ts +37 -0
  362. package/hmr/server/transform-cache-invalidation.js +156 -0
  363. package/hmr/server/transform-cache-invalidation.js.map +1 -0
  364. package/hmr/server/vendor-bare-module-shims.d.ts +4 -0
  365. package/hmr/server/vendor-bare-module-shims.js +80 -0
  366. package/hmr/server/vendor-bare-module-shims.js.map +1 -0
  367. package/hmr/server/vite-plugin.d.ts +1 -0
  368. package/hmr/server/vite-plugin.js +227 -53
  369. package/hmr/server/vite-plugin.js.map +1 -1
  370. package/hmr/server/websocket-core-bridge.d.ts +51 -4
  371. package/hmr/server/websocket-core-bridge.js +62 -49
  372. package/hmr/server/websocket-core-bridge.js.map +1 -1
  373. package/hmr/server/websocket-device-transform.d.ts +3 -0
  374. package/hmr/server/websocket-device-transform.js +7 -0
  375. package/hmr/server/websocket-device-transform.js.map +1 -0
  376. package/hmr/server/websocket-hmr-pending.d.ts +2 -16
  377. package/hmr/server/websocket-hmr-pending.js +0 -22
  378. package/hmr/server/websocket-hmr-pending.js.map +1 -1
  379. package/hmr/server/websocket-hot-update.d.ts +80 -0
  380. package/hmr/server/websocket-hot-update.js +295 -0
  381. package/hmr/server/websocket-hot-update.js.map +1 -0
  382. package/hmr/server/websocket-import-map-route.d.ts +15 -0
  383. package/hmr/server/websocket-import-map-route.js +51 -0
  384. package/hmr/server/websocket-import-map-route.js.map +1 -0
  385. package/hmr/server/websocket-module-bindings.d.ts +15 -0
  386. package/hmr/server/websocket-module-bindings.js +38 -5
  387. package/hmr/server/websocket-module-bindings.js.map +1 -1
  388. package/hmr/server/websocket-module-specifiers.d.ts +66 -7
  389. package/hmr/server/websocket-module-specifiers.js +219 -49
  390. package/hmr/server/websocket-module-specifiers.js.map +1 -1
  391. package/hmr/server/websocket-ns-core.d.ts +34 -0
  392. package/hmr/server/websocket-ns-core.js +414 -0
  393. package/hmr/server/websocket-ns-core.js.map +1 -0
  394. package/hmr/server/websocket-ns-entry.d.ts +21 -0
  395. package/hmr/server/websocket-ns-entry.js +164 -0
  396. package/hmr/server/websocket-ns-entry.js.map +1 -0
  397. package/hmr/server/websocket-ns-m-paths.d.ts +19 -3
  398. package/hmr/server/websocket-ns-m-paths.js +98 -75
  399. package/hmr/server/websocket-ns-m-paths.js.map +1 -1
  400. package/hmr/server/websocket-ns-m-request.d.ts +13 -2
  401. package/hmr/server/websocket-ns-m-request.js +20 -11
  402. package/hmr/server/websocket-ns-m-request.js.map +1 -1
  403. package/hmr/server/websocket-ns-m.d.ts +52 -0
  404. package/hmr/server/websocket-ns-m.js +590 -0
  405. package/hmr/server/websocket-ns-m.js.map +1 -0
  406. package/hmr/server/websocket-served-module-helpers.d.ts +57 -4
  407. package/hmr/server/websocket-served-module-helpers.js +462 -141
  408. package/hmr/server/websocket-served-module-helpers.js.map +1 -1
  409. package/hmr/server/websocket-txn.js +6 -9
  410. package/hmr/server/websocket-txn.js.map +1 -1
  411. package/hmr/server/websocket-vendor-unifier.d.ts +0 -1
  412. package/hmr/server/websocket-vendor-unifier.js +4 -9
  413. package/hmr/server/websocket-vendor-unifier.js.map +1 -1
  414. package/hmr/server/websocket.d.ts +7 -40
  415. package/hmr/server/websocket.js +653 -6734
  416. package/hmr/server/websocket.js.map +1 -1
  417. package/hmr/shared/ns-globals.d.ts +106 -0
  418. package/hmr/shared/ns-globals.js +29 -0
  419. package/hmr/shared/ns-globals.js.map +1 -0
  420. package/hmr/shared/protocol.d.ts +157 -0
  421. package/hmr/shared/protocol.js +28 -0
  422. package/hmr/shared/protocol.js.map +1 -0
  423. package/hmr/shared/runtime/boot-complete.d.ts +14 -0
  424. package/hmr/shared/runtime/boot-complete.js +32 -0
  425. package/hmr/shared/runtime/boot-complete.js.map +1 -0
  426. package/hmr/shared/runtime/boot-placeholder-ui.d.ts +69 -0
  427. package/hmr/shared/runtime/boot-placeholder-ui.js +101 -0
  428. package/hmr/shared/runtime/boot-placeholder-ui.js.map +1 -0
  429. package/hmr/shared/runtime/boot-progress.d.ts +44 -0
  430. package/hmr/shared/runtime/boot-progress.js +134 -0
  431. package/hmr/shared/runtime/boot-progress.js.map +1 -0
  432. package/hmr/shared/runtime/boot-timeline.d.ts +1 -1
  433. package/hmr/shared/runtime/boot-timeline.js +8 -19
  434. package/hmr/shared/runtime/boot-timeline.js.map +1 -1
  435. package/hmr/shared/runtime/browser-runtime-contract.d.ts +43 -24
  436. package/hmr/shared/runtime/browser-runtime-contract.js +21 -9
  437. package/hmr/shared/runtime/browser-runtime-contract.js.map +1 -1
  438. package/hmr/shared/runtime/dev-overlay-ios.d.ts +87 -0
  439. package/hmr/shared/runtime/dev-overlay-ios.js +521 -0
  440. package/hmr/shared/runtime/dev-overlay-ios.js.map +1 -0
  441. package/hmr/shared/runtime/dev-overlay-shared.d.ts +58 -0
  442. package/hmr/shared/runtime/dev-overlay-shared.js +116 -0
  443. package/hmr/shared/runtime/dev-overlay-shared.js.map +1 -0
  444. package/hmr/shared/runtime/dev-overlay-snapshots.d.ts +31 -0
  445. package/hmr/shared/runtime/dev-overlay-snapshots.js +324 -0
  446. package/hmr/shared/runtime/dev-overlay-snapshots.js.map +1 -0
  447. package/hmr/shared/runtime/dev-overlay-tree.d.ts +59 -0
  448. package/hmr/shared/runtime/dev-overlay-tree.js +712 -0
  449. package/hmr/shared/runtime/dev-overlay-tree.js.map +1 -0
  450. package/hmr/shared/runtime/dev-overlay.d.ts +23 -69
  451. package/hmr/shared/runtime/dev-overlay.js +67 -1023
  452. package/hmr/shared/runtime/dev-overlay.js.map +1 -1
  453. package/hmr/shared/runtime/global-scope.d.ts +18 -0
  454. package/hmr/shared/runtime/global-scope.js +21 -0
  455. package/hmr/shared/runtime/global-scope.js.map +1 -0
  456. package/hmr/shared/runtime/hooks.js +2 -1
  457. package/hmr/shared/runtime/hooks.js.map +1 -1
  458. package/hmr/shared/runtime/launch-bridge.d.ts +9 -0
  459. package/hmr/shared/runtime/launch-bridge.js +98 -0
  460. package/hmr/shared/runtime/launch-bridge.js.map +1 -0
  461. package/hmr/shared/runtime/module-provenance.js +4 -6
  462. package/hmr/shared/runtime/module-provenance.js.map +1 -1
  463. package/hmr/shared/runtime/ns-runtime-test-double.d.ts +21 -0
  464. package/hmr/shared/runtime/ns-runtime-test-double.js +20 -0
  465. package/hmr/shared/runtime/ns-runtime-test-double.js.map +1 -0
  466. package/hmr/shared/runtime/overlay-flag.d.ts +9 -0
  467. package/hmr/shared/runtime/overlay-flag.js +34 -0
  468. package/hmr/shared/runtime/overlay-flag.js.map +1 -0
  469. package/hmr/shared/runtime/root-placeholder-view.d.ts +19 -0
  470. package/hmr/shared/runtime/root-placeholder-view.js +311 -0
  471. package/hmr/shared/runtime/root-placeholder-view.js.map +1 -0
  472. package/hmr/shared/runtime/root-placeholder.js +401 -206
  473. package/hmr/shared/runtime/root-placeholder.js.map +1 -1
  474. package/hmr/shared/runtime/session-bootstrap.js +203 -58
  475. package/hmr/shared/runtime/session-bootstrap.js.map +1 -1
  476. package/hmr/shared/runtime/vendor-bootstrap.js +3 -10
  477. package/hmr/shared/runtime/vendor-bootstrap.js.map +1 -1
  478. package/hmr/shared/runtime/vendor-resolve.d.ts +22 -0
  479. package/hmr/shared/runtime/vendor-resolve.js +45 -0
  480. package/hmr/shared/runtime/vendor-resolve.js.map +1 -0
  481. package/hmr/shared/vendor/manifest-collect.d.ts +4 -0
  482. package/hmr/shared/vendor/manifest-collect.js +909 -0
  483. package/hmr/shared/vendor/manifest-collect.js.map +1 -0
  484. package/hmr/shared/vendor/manifest-loader.d.ts +2 -1
  485. package/hmr/shared/vendor/manifest-loader.js +5 -3
  486. package/hmr/shared/vendor/manifest-loader.js.map +1 -1
  487. package/hmr/shared/vendor/manifest.d.ts +12 -7
  488. package/hmr/shared/vendor/manifest.js +180 -826
  489. package/hmr/shared/vendor/manifest.js.map +1 -1
  490. package/hmr/shared/vendor/registry.d.ts +2 -0
  491. package/hmr/shared/vendor/registry.js +14 -0
  492. package/hmr/shared/vendor/registry.js.map +1 -1
  493. package/hmr/shared/vendor/vendor-device-shim.d.ts +1 -0
  494. package/hmr/shared/vendor/vendor-device-shim.js +208 -0
  495. package/hmr/shared/vendor/vendor-device-shim.js.map +1 -0
  496. package/hmr/shared/vendor/vendor-esbuild-plugins.d.ts +107 -0
  497. package/hmr/shared/vendor/vendor-esbuild-plugins.js +540 -0
  498. package/hmr/shared/vendor/vendor-esbuild-plugins.js.map +1 -0
  499. package/index.d.ts +1 -0
  500. package/index.js +5 -0
  501. package/index.js.map +1 -1
  502. package/package.json +65 -13
  503. package/runtime/core-aliases-early.js +28 -57
  504. package/runtime/core-aliases-early.js.map +1 -1
  505. package/shims/react-jsx-runtime.d.ts +4 -0
  506. package/shims/react-jsx-runtime.js +61 -0
  507. package/shims/react-jsx-runtime.js.map +1 -0
  508. package/helpers/angular/angular-linker.d.ts +0 -13
  509. package/helpers/angular/angular-linker.js +0 -194
  510. package/helpers/angular/angular-linker.js.map +0 -1
  511. package/helpers/angular/inline-decorator-component-templates.js.map +0 -1
  512. package/helpers/angular/shared-linker.d.ts +0 -11
  513. package/helpers/angular/shared-linker.js +0 -75
  514. package/helpers/angular/shared-linker.js.map +0 -1
  515. package/helpers/angular/synthesize-decorator-ctor-parameters.js.map +0 -1
  516. package/helpers/angular/synthesize-injectable-factories.js.map +0 -1
  517. package/helpers/angular/util.js +0 -67
  518. package/helpers/angular/util.js.map +0 -1
  519. package/helpers/module-runner-patch.d.ts +0 -3
  520. package/helpers/module-runner-patch.js +0 -63
  521. package/helpers/module-runner-patch.js.map +0 -1
  522. package/helpers/prelink-angular.d.ts +0 -2
  523. package/helpers/prelink-angular.js +0 -117
  524. package/helpers/prelink-angular.js.map +0 -1
  525. package/hmr/server/websocket-angular-entry.js.map +0 -1
  526. package/hmr/server/websocket-angular-hot-update.js.map +0 -1
  527. package/hmr/server/websocket-ns-m-finalize.d.ts +0 -22
  528. package/hmr/server/websocket-ns-m-finalize.js +0 -88
  529. package/hmr/server/websocket-ns-m-finalize.js.map +0 -1
  530. package/hmr/server/websocket-runtime-compat.d.ts +0 -19
  531. package/hmr/server/websocket-runtime-compat.js +0 -287
  532. package/hmr/server/websocket-runtime-compat.js.map +0 -1
  533. package/hmr/server/websocket-vue-sfc.d.ts +0 -27
  534. package/hmr/server/websocket-vue-sfc.js +0 -1114
  535. package/hmr/server/websocket-vue-sfc.js.map +0 -1
  536. package/hmr/shared/runtime/http-only-boot.d.ts +0 -2
  537. package/hmr/shared/runtime/http-only-boot.js +0 -171
  538. package/hmr/shared/runtime/http-only-boot.js.map +0 -1
  539. package/hmr/vendor-bootstrap.d.ts +0 -3
  540. package/hmr/vendor-bootstrap.js +0 -32
  541. package/hmr/vendor-bootstrap.js.map +0 -1
  542. package/shims/react-reconciler-constants.d.ts +0 -14
  543. package/shims/react-reconciler-constants.js +0 -21
  544. package/shims/react-reconciler-constants.js.map +0 -1
  545. package/shims/react-reconciler.d.ts +0 -8
  546. package/shims/react-reconciler.js +0 -15
  547. package/shims/react-reconciler.js.map +0 -1
  548. package/transformers/NativeClass/index.d.ts +0 -2
  549. package/transformers/NativeClass/index.js +0 -222
  550. package/transformers/NativeClass/index.js.map +0 -1
  551. /package/{helpers/angular → hmr/frameworks/angular/build}/inline-decorator-component-templates.d.ts +0 -0
  552. /package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-decorator-ctor-parameters.d.ts +0 -0
  553. /package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-injectable-factories.d.ts +0 -0
  554. /package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.d.ts +0 -0
@@ -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 {};
@@ -0,0 +1,128 @@
1
+ import { createRequire } from 'node:module';
2
+ let sharedBabel = null;
3
+ let sharedFactory = null;
4
+ let sharedPlugin = null;
5
+ /**
6
+ * Resolve the Angular NodeJSFileSystem from the project or fallback locations.
7
+ * Angular 21+ requires a `fileSystem` option for the linker plugin — without it
8
+ * the Babel transform throws "Cannot read properties of undefined (reading 'resolve')".
9
+ */
10
+ export async function resolveAngularFileSystem(projectRoot) {
11
+ const req = createRequire(projectRoot ? projectRoot + '/package.json' : import.meta.url);
12
+ try {
13
+ const cliPath = req.resolve('@angular/compiler-cli');
14
+ const cliMod = await import(cliPath);
15
+ if (cliMod.NodeJSFileSystem) {
16
+ return new cliMod.NodeJSFileSystem();
17
+ }
18
+ }
19
+ catch { }
20
+ try {
21
+ const cliMod = await import('@angular/compiler-cli');
22
+ if (cliMod.NodeJSFileSystem) {
23
+ return new cliMod.NodeJSFileSystem();
24
+ }
25
+ }
26
+ catch { }
27
+ const path = await import('node:path');
28
+ const fs = await import('node:fs');
29
+ return {
30
+ resolve: (...paths) => path.resolve(...paths),
31
+ dirname: (p) => path.dirname(p),
32
+ join: (...paths) => path.join(...paths),
33
+ isRooted: (p) => path.isAbsolute(p),
34
+ exists: (p) => fs.existsSync(p),
35
+ readFile: (p) => fs.readFileSync(p, 'utf8'),
36
+ };
37
+ }
38
+ /**
39
+ * Load `@babel/core` + the Angular linker factory (cached on success, retried
40
+ * until both resolve). Returns nulls when the toolchain isn't installed so
41
+ * callers can soft-skip.
42
+ */
43
+ export async function getAngularLinkerFactory(projectRoot) {
44
+ if (sharedBabel && sharedFactory) {
45
+ return { babel: sharedBabel, createLinker: sharedFactory };
46
+ }
47
+ const req = createRequire(projectRoot ? projectRoot + '/package.json' : import.meta.url);
48
+ let localBabel = null;
49
+ let createLinker = null;
50
+ try {
51
+ const babelPath = req.resolve('@babel/core');
52
+ const linkerPath = req.resolve('@angular/compiler-cli/linker/babel');
53
+ localBabel = (await import(babelPath));
54
+ const linkerMod = await import(linkerPath);
55
+ createLinker = linkerMod.createLinkerPlugin || linkerMod.createEs2015LinkerPlugin || null;
56
+ }
57
+ catch {
58
+ try {
59
+ localBabel = (await import('@babel/core'));
60
+ }
61
+ catch { }
62
+ try {
63
+ const linkerMod = await import('@angular/compiler-cli/linker/babel');
64
+ createLinker = linkerMod.createLinkerPlugin || linkerMod.createEs2015LinkerPlugin || null;
65
+ }
66
+ catch { }
67
+ }
68
+ if (localBabel && createLinker) {
69
+ sharedBabel = localBabel;
70
+ sharedFactory = createLinker;
71
+ }
72
+ return { babel: localBabel, createLinker };
73
+ }
74
+ /**
75
+ * Babel + a single shared linker plugin instance (cached). Most callers reuse
76
+ * this; chunk-level linkers that need fresh per-call state should instead use
77
+ * `runAngularLinker(code, { freshPlugin: true })`.
78
+ */
79
+ export async function ensureSharedAngularLinker(projectRoot) {
80
+ const { babel, createLinker } = await getAngularLinkerFactory(projectRoot);
81
+ if (!babel || !createLinker) {
82
+ return { babel: null, linkerPlugin: null };
83
+ }
84
+ if (!sharedPlugin) {
85
+ const fileSystem = await resolveAngularFileSystem(projectRoot);
86
+ sharedPlugin = createLinker({ sourceMapping: false, fileSystem });
87
+ }
88
+ return { babel, linkerPlugin: sharedPlugin };
89
+ }
90
+ /**
91
+ * Run the Angular Babel linker over `code` (rewrites ɵɵngDeclare* partials to
92
+ * ɵɵdefine*). Returns the linked code, or null when the toolchain is
93
+ * unavailable or the code was left unchanged.
94
+ */
95
+ export async function runAngularLinker(code, opts) {
96
+ if (!code) {
97
+ return null;
98
+ }
99
+ let babel;
100
+ let plugin;
101
+ if (opts.freshPlugin) {
102
+ const factory = await getAngularLinkerFactory(opts.projectRoot);
103
+ babel = factory.babel;
104
+ if (!babel || !factory.createLinker) {
105
+ return null;
106
+ }
107
+ const fileSystem = await resolveAngularFileSystem(opts.projectRoot);
108
+ plugin = factory.createLinker({ sourceMapping: false, fileSystem });
109
+ }
110
+ else {
111
+ const shared = await ensureSharedAngularLinker(opts.projectRoot);
112
+ babel = shared.babel;
113
+ plugin = shared.linkerPlugin;
114
+ if (!babel || !plugin) {
115
+ return null;
116
+ }
117
+ }
118
+ const result = await babel.transformAsync(code, {
119
+ filename: opts.filename,
120
+ configFile: false,
121
+ babelrc: false,
122
+ sourceMaps: false,
123
+ compact: false,
124
+ plugins: [plugin],
125
+ });
126
+ return result?.code && result.code !== code ? result.code : null;
127
+ }
128
+ //# sourceMappingURL=shared-linker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-linker.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/build/shared-linker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ import { findMatchingDelimiter, findStatementEnd, splitTopLevel, stripQuotes } from './js-lexer.js';
2
+ const DECORATE_ASSIGNMENT_RE = /(^|[^\w$.])([A-Za-z_$][\w$]*)\s*=\s*__decorate(?:\$\w+)?\s*\(/gm;
3
+ export function synthesizeDecoratorCtorParameters(code) {
4
+ let changed = false;
5
+ let lastIndex = 0;
6
+ let output = '';
7
+ for (const match of code.matchAll(DECORATE_ASSIGNMENT_RE)) {
8
+ const prefix = match[1] ?? '';
9
+ const className = match[2];
10
+ const assignmentStart = (match.index ?? 0) + prefix.length;
11
+ const equalsIndex = code.indexOf('=', assignmentStart + className.length);
12
+ const decorateIndex = code.indexOf('__decorate', equalsIndex);
13
+ const openParenIndex = code.indexOf('(', decorateIndex);
14
+ if (equalsIndex === -1 || decorateIndex === -1 || openParenIndex === -1 || hasCtorParameters(code, className)) {
15
+ continue;
16
+ }
17
+ const closeParenIndex = findMatchingDelimiter(code, openParenIndex, '(', ')');
18
+ if (closeParenIndex === -1) {
19
+ continue;
20
+ }
21
+ const statementEnd = findStatementEnd(code, closeParenIndex + 1);
22
+ const decorateCall = code.slice(decorateIndex, closeParenIndex + 1);
23
+ const decorators = splitDecoratorArray(decorateCall);
24
+ if (!decorators.some(isAngularClassDecorator)) {
25
+ continue;
26
+ }
27
+ const paramTypes = extractParamTypes(decorators);
28
+ if (!paramTypes?.length) {
29
+ continue;
30
+ }
31
+ output += code.slice(lastIndex, assignmentStart);
32
+ output += `${className}.ctorParameters = () => [${paramTypes.map((paramType) => `{ type: ${paramType} }`).join(', ')}];\n`;
33
+ output += code.slice(assignmentStart, statementEnd);
34
+ lastIndex = statementEnd;
35
+ changed = true;
36
+ }
37
+ if (!changed) {
38
+ return code;
39
+ }
40
+ output += code.slice(lastIndex);
41
+ return output;
42
+ }
43
+ function hasCtorParameters(code, className) {
44
+ return [`${className}.ctorParameters`, `Object.defineProperty(${className}, "ctorParameters"`, `Object.defineProperty(${className}, 'ctorParameters'`].some((marker) => code.includes(marker));
45
+ }
46
+ function splitDecoratorArray(decorateCall) {
47
+ const openParenIndex = decorateCall.indexOf('(');
48
+ const closeParenIndex = decorateCall.lastIndexOf(')');
49
+ if (openParenIndex === -1 || closeParenIndex === -1) {
50
+ return [];
51
+ }
52
+ const args = splitTopLevel(decorateCall.slice(openParenIndex + 1, closeParenIndex));
53
+ if (!args.length) {
54
+ return [];
55
+ }
56
+ const decoratorArray = args[0].trim();
57
+ if (!decoratorArray.startsWith('[') || !decoratorArray.endsWith(']')) {
58
+ return [];
59
+ }
60
+ return splitTopLevel(decoratorArray.slice(1, -1));
61
+ }
62
+ function extractParamTypes(decorators) {
63
+ for (const decorator of decorators) {
64
+ if (!decorator.includes('__decorateMetadata')) {
65
+ continue;
66
+ }
67
+ const openParenIndex = decorator.indexOf('(');
68
+ const closeParenIndex = findMatchingDelimiter(decorator, openParenIndex, '(', ')');
69
+ if (openParenIndex === -1 || closeParenIndex === -1) {
70
+ continue;
71
+ }
72
+ const args = splitTopLevel(decorator.slice(openParenIndex + 1, closeParenIndex));
73
+ if (args.length < 2 || stripQuotes(args[0].trim()) !== 'design:paramtypes') {
74
+ continue;
75
+ }
76
+ const paramArray = args[1].trim();
77
+ if (!paramArray.startsWith('[') || !paramArray.endsWith(']')) {
78
+ continue;
79
+ }
80
+ return splitTopLevel(paramArray.slice(1, -1));
81
+ }
82
+ return null;
83
+ }
84
+ function isAngularClassDecorator(decorator) {
85
+ return /(?:^|\W)(?:Injectable|Component|Directive|Pipe|NgModule)(?:\$\d+)?\s*\(/.test(decorator);
86
+ }
87
+ // Comment-aware JS lexer helpers live in ./js-lexer.ts
88
+ //# sourceMappingURL=synthesize-decorator-ctor-parameters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synthesize-decorator-ctor-parameters.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { findMatchingDelimiter, findStatementEnd, splitTopLevel, stripQuotes } from './js-lexer.js';
1
2
  const DECORATE_ASSIGNMENT_RE = /(^|[^\w$.])([A-Za-z_$][\w$]*)\s*=\s*__decorate(?:\$\w+)?\s*\(/gm;
2
3
  const SYNTHETIC_INJECT_IDENTIFIER = '__nsInject';
3
4
  export function synthesizeMissingInjectableFactories(code, options = {}) {
@@ -234,180 +235,6 @@ function extractCallArgs(source, callName) {
234
235
  }
235
236
  return source.slice(openParenIndex + 1, closeParenIndex);
236
237
  }
237
- function findStatementEnd(source, startIndex) {
238
- let index = startIndex;
239
- while (index < source.length && /\s/.test(source[index])) {
240
- index++;
241
- }
242
- if (source[index] === ';') {
243
- return index + 1;
244
- }
245
- return startIndex;
246
- }
247
- function stripQuotes(value) {
248
- if ((value.startsWith('"') && value.endsWith('"')) || (value.startsWith("'") && value.endsWith("'"))) {
249
- return value.slice(1, -1);
250
- }
251
- return value;
252
- }
253
- function splitTopLevel(source) {
254
- const parts = [];
255
- let start = 0;
256
- let parenDepth = 0;
257
- let bracketDepth = 0;
258
- let braceDepth = 0;
259
- let quote = null;
260
- let escape = false;
261
- let inLineComment = false;
262
- let inBlockComment = false;
263
- for (let index = 0; index < source.length; index++) {
264
- const char = source[index];
265
- const next = source[index + 1];
266
- if (inLineComment) {
267
- if (char === '\n') {
268
- inLineComment = false;
269
- }
270
- continue;
271
- }
272
- if (inBlockComment) {
273
- if (char === '*' && next === '/') {
274
- inBlockComment = false;
275
- index++;
276
- }
277
- continue;
278
- }
279
- if (quote) {
280
- if (escape) {
281
- escape = false;
282
- continue;
283
- }
284
- if (char === '\\') {
285
- escape = true;
286
- continue;
287
- }
288
- if (char === quote) {
289
- quote = null;
290
- }
291
- continue;
292
- }
293
- if (char === '/' && next === '/') {
294
- inLineComment = true;
295
- index++;
296
- continue;
297
- }
298
- if (char === '/' && next === '*') {
299
- inBlockComment = true;
300
- index++;
301
- continue;
302
- }
303
- if (char === '"' || char === "'" || char === '`') {
304
- quote = char;
305
- continue;
306
- }
307
- if (char === '(') {
308
- parenDepth++;
309
- continue;
310
- }
311
- if (char === ')') {
312
- parenDepth--;
313
- continue;
314
- }
315
- if (char === '[') {
316
- bracketDepth++;
317
- continue;
318
- }
319
- if (char === ']') {
320
- bracketDepth--;
321
- continue;
322
- }
323
- if (char === '{') {
324
- braceDepth++;
325
- continue;
326
- }
327
- if (char === '}') {
328
- braceDepth--;
329
- continue;
330
- }
331
- if (char === ',' && parenDepth === 0 && bracketDepth === 0 && braceDepth === 0) {
332
- const part = source.slice(start, index).trim();
333
- if (part) {
334
- parts.push(part);
335
- }
336
- start = index + 1;
337
- }
338
- }
339
- const tail = source.slice(start).trim();
340
- if (tail) {
341
- parts.push(tail);
342
- }
343
- return parts;
344
- }
345
- function findMatchingDelimiter(source, openIndex, openChar, closeChar) {
346
- if (openIndex < 0 || source[openIndex] !== openChar) {
347
- return -1;
348
- }
349
- let depth = 0;
350
- let quote = null;
351
- let escape = false;
352
- let inLineComment = false;
353
- let inBlockComment = false;
354
- for (let index = openIndex; index < source.length; index++) {
355
- const char = source[index];
356
- const next = source[index + 1];
357
- if (inLineComment) {
358
- if (char === '\n') {
359
- inLineComment = false;
360
- }
361
- continue;
362
- }
363
- if (inBlockComment) {
364
- if (char === '*' && next === '/') {
365
- inBlockComment = false;
366
- index++;
367
- }
368
- continue;
369
- }
370
- if (quote) {
371
- if (escape) {
372
- escape = false;
373
- continue;
374
- }
375
- if (char === '\\') {
376
- escape = true;
377
- continue;
378
- }
379
- if (char === quote) {
380
- quote = null;
381
- }
382
- continue;
383
- }
384
- if (char === '/' && next === '/') {
385
- inLineComment = true;
386
- index++;
387
- continue;
388
- }
389
- if (char === '/' && next === '*') {
390
- inBlockComment = true;
391
- index++;
392
- continue;
393
- }
394
- if (char === '"' || char === "'" || char === '`') {
395
- quote = char;
396
- continue;
397
- }
398
- if (char === openChar) {
399
- depth++;
400
- continue;
401
- }
402
- if (char === closeChar) {
403
- depth--;
404
- if (depth === 0) {
405
- return index;
406
- }
407
- }
408
- }
409
- return -1;
410
- }
411
238
  function escapeRegex(value) {
412
239
  return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
413
240
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synthesize-injectable-factories.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/build/synthesize-injectable-factories.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { Plugin } from 'vite';
2
+ export interface TsFallbackTransformPluginOptions {
3
+ verbose?: boolean;
4
+ }
5
+ export declare function tsFallbackTransformPlugin(opts?: TsFallbackTransformPluginOptions): Plugin;
@@ -0,0 +1,138 @@
1
+ // Safety-net TypeScript fallback transform.
2
+ //
3
+ // Problem: In HMR mode (where `useAngularCompilationAPI = false`), the
4
+ // `@analogjs/vite-plugin-angular` `config` hook forcibly sets `oxc: false` on
5
+ // the Vite config (see `angular-vite-plugin.js`:
6
+ // `const oxc = pluginOptions.useAngularCompilationAPI ? undefined : (config.oxc ?? false);`).
7
+ // That disables Vite's built-in oxc TypeScript transformer for the whole dev
8
+ // session. The Analog plugin then expects its own `fileEmitter` to strip types
9
+ // from every `.ts` file in the project — but `fileEmitter` only knows about
10
+ // files that are part of the Angular TypeScript program (anything imported
11
+ // directly, or referenced via `templateUrl` / `styleUrls` from a decorated
12
+ // class).
13
+ //
14
+ // Worker entry files fall outside the program. They are only loaded via
15
+ // `new Worker(new URL('./foo.worker', import.meta.url))`, which is NOT an
16
+ // import — it's a URL constructor expression the device resolves at runtime.
17
+ // `fileEmitter(id)` returns nothing for those files, the Analog plugin's
18
+ // transform returns `undefined`, oxc doesn't run (because Analog disabled it),
19
+ // and the raw `.ts` source reaches the device with type annotations intact.
20
+ // V8's parser then chokes on the first `(x: Type)` parameter annotation with
21
+ // `SyntaxError: Unexpected token ':'`.
22
+ //
23
+ // The fix is a small post-enforce transform that re-runs Vite's own
24
+ // `transformWithOxc` on any `.ts`/`.tsx` file that still looks like raw
25
+ // TypeScript after the rest of the pipeline is done. For already-compiled
26
+ // Angular output (pure JS), the detection heuristic short-circuits and we
27
+ // never invoke oxc, so the fast path stays fast.
28
+ //
29
+ // Scope intentionally narrow:
30
+ // * `enforce: 'post'` — only sees final code after every other plugin had a
31
+ // chance to transform.
32
+ // * `apply: 'serve'` — dev/HMR only. Production builds use Rolldown which
33
+ // handles TS natively without needing this net.
34
+ // * Skips `node_modules` / `.vite` — third-party code has its own pipeline,
35
+ // and hitting every transitive dep would be wasteful.
36
+ // * Skips files containing Angular decorators (`@Component`, `@Injectable`,
37
+ // `@NgModule`, `@Directive`, `@Pipe`). Those files belong to the Angular
38
+ // program; if they fell through the Angular plugin we surface Angular's
39
+ // own `"contains Angular decorators but is not in the TypeScript program"`
40
+ // warning rather than silently transforming them with oxc (which would
41
+ // emit a `@oxc-project/runtime/helpers/decorate` import that the app does
42
+ // not depend on, breaking Vite's import-analysis pass).
43
+ // * Regex-based detection — catches the tokens V8 would actually reject.
44
+ // False positives (running oxc on valid JS) are harmless because oxc with
45
+ // `lang: 'ts'` is a no-op on JS; false negatives would only surface as the
46
+ // same error the fix is designed to prevent, so the detector errs toward
47
+ // running the transform when in doubt.
48
+ const TS_ONLY_SYNTAX_RE = new RegExp([
49
+ // `import type { … } from '…'` / `export type { … } from '…'`
50
+ String.raw `\b(?:import|export)\s+type\s`,
51
+ // `interface Foo { … }`
52
+ String.raw `\binterface\s+[A-Z_$][\w$]*\s*[<{]`,
53
+ // `type Foo = …`
54
+ String.raw `\btype\s+[A-Z_$][\w$]*\s*[<=]`,
55
+ // `as Type` assertions — restrict right-hand side to common primitives
56
+ // or PascalCase identifiers to avoid catching unrelated tokens.
57
+ String.raw `\bas\s+(?:string|number|boolean|any|unknown|never|void|[A-Z][\w$]*)\b`,
58
+ // Parameter / destructured type annotations: `(msg: any)`, `(x: T, y: U)`.
59
+ // Anchored to `(` or `,` so we don't match object literal keys like `{ a: 1 }`.
60
+ String.raw `[(,]\s*[\w$]+\s*\??\s*:\s*(?:string|number|boolean|any|unknown|never|void|null|undefined|object|[A-Z][\w$]*(?:<[^>]*>)?(?:\[\])?)\b`,
61
+ // Variable type annotations: `let x: T = …` / `const y: T`
62
+ String.raw `\b(?:const|let|var)\s+[\w$]+\s*:\s*[\w$<>[\]|&., ]+\s*[;=]`,
63
+ // Return type annotations on arrow functions: `): T =>`
64
+ String.raw `\)\s*:\s*(?:string|number|boolean|any|unknown|never|void|[A-Z][\w$]*(?:<[^>]*>)?)\s*(?:=>|\{)`,
65
+ ].join('|'));
66
+ // Decorator shapes that mean "the Angular plugin owns this file, stay out of
67
+ // its way." We do NOT try to compile these ourselves even if the Angular
68
+ // plugin's `fileEmitter` didn't produce output for them — oxc would rewrite
69
+ // the decorators into `import _decorate from "@oxc-project/runtime/helpers/decorate"`
70
+ // calls, Vite's import-analysis would fail to resolve that helper package,
71
+ // and we'd turn a harmless "not in TypeScript program" warning into a fatal
72
+ // import error. Better to let Angular's own warning surface and leave the
73
+ // code untouched.
74
+ const ANGULAR_DECORATOR_RE = /@(?:Component|Directive|Injectable|NgModule|Pipe)\s*\(/;
75
+ const TS_FALLBACK_SKIP_ID_RE = /(?:^|\/)(?:node_modules|\.vite)\//;
76
+ export function tsFallbackTransformPlugin(opts) {
77
+ const { verbose } = opts || {};
78
+ // Cached after the first successful import so repeated transforms don't
79
+ // pay the dynamic-import cost. `null` = not loaded yet; `false` = load
80
+ // attempted and failed (older Vite with no oxc export — we'll skip).
81
+ let cachedTransformWithOxc = null;
82
+ return {
83
+ name: 'nativescript-ts-fallback-transform',
84
+ enforce: 'post',
85
+ apply: 'serve',
86
+ async transform(code, id) {
87
+ if (cachedTransformWithOxc === false)
88
+ return null;
89
+ const cleanId = id.split('?', 1)[0];
90
+ if (!cleanId || !/\.(m?ts|[jt]sx)$/.test(cleanId))
91
+ return null;
92
+ if (TS_FALLBACK_SKIP_ID_RE.test(cleanId))
93
+ return null;
94
+ if (ANGULAR_DECORATOR_RE.test(code))
95
+ return null;
96
+ if (!TS_ONLY_SYNTAX_RE.test(code))
97
+ return null;
98
+ if (cachedTransformWithOxc === null) {
99
+ try {
100
+ // Dynamic import keeps this plugin cross-version-safe: older
101
+ // Vite installs without `transformWithOxc` (pre-Rolldown
102
+ // builds) cleanly disable this fallback instead of crashing.
103
+ const vite = await import('vite');
104
+ if (typeof vite.transformWithOxc === 'function') {
105
+ cachedTransformWithOxc = vite.transformWithOxc;
106
+ }
107
+ else {
108
+ cachedTransformWithOxc = false;
109
+ return null;
110
+ }
111
+ }
112
+ catch {
113
+ cachedTransformWithOxc = false;
114
+ return null;
115
+ }
116
+ }
117
+ try {
118
+ const lang = cleanId.endsWith('tsx') ? 'tsx' : cleanId.endsWith('jsx') ? 'jsx' : 'ts';
119
+ const result = await cachedTransformWithOxc(code, cleanId, { lang });
120
+ if (!result || typeof result.code !== 'string')
121
+ return null;
122
+ if (verbose) {
123
+ // eslint-disable-next-line no-console
124
+ console.log(`[ns-ts-fallback] type-stripped ${cleanId}`);
125
+ }
126
+ return { code: result.code, map: result.map ?? null };
127
+ }
128
+ catch (err) {
129
+ if (verbose) {
130
+ // eslint-disable-next-line no-console
131
+ console.warn(`[ns-ts-fallback] transformWithOxc failed for ${cleanId}:`, err);
132
+ }
133
+ return null;
134
+ }
135
+ },
136
+ };
137
+ }
138
+ //# sourceMappingURL=ts-fallback-transform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ts-fallback-transform.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/build/ts-fallback-transform.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  export declare function containsRealNgDeclare(src: string): boolean;
2
+ export declare function stripJsComments(src: string): string;