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

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 (295) hide show
  1. package/README.md +51 -11
  2. package/configuration/angular.d.ts +34 -1
  3. package/configuration/angular.js +369 -159
  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/angular/angular-linker.d.ts +5 -6
  14. package/helpers/angular/angular-linker.js +36 -121
  15. package/helpers/angular/angular-linker.js.map +1 -1
  16. package/helpers/angular/inject-component-hmr-registration.d.ts +112 -0
  17. package/helpers/angular/inject-component-hmr-registration.js +291 -0
  18. package/helpers/angular/inject-component-hmr-registration.js.map +1 -0
  19. package/helpers/angular/inject-hmr-vite-ignore.d.ts +75 -0
  20. package/helpers/angular/inject-hmr-vite-ignore.js +221 -0
  21. package/helpers/angular/inject-hmr-vite-ignore.js.map +1 -0
  22. package/helpers/angular/inline-decorator-component-templates.js +1 -170
  23. package/helpers/angular/inline-decorator-component-templates.js.map +1 -1
  24. package/helpers/angular/js-lexer.d.ts +4 -0
  25. package/helpers/angular/js-lexer.js +182 -0
  26. package/helpers/angular/js-lexer.js.map +1 -0
  27. package/helpers/angular/shared-linker.d.ts +31 -3
  28. package/helpers/angular/shared-linker.js +67 -14
  29. package/helpers/angular/shared-linker.js.map +1 -1
  30. package/helpers/angular/synthesize-decorator-ctor-parameters.js +2 -170
  31. package/helpers/angular/synthesize-decorator-ctor-parameters.js.map +1 -1
  32. package/helpers/angular/synthesize-injectable-factories.js +1 -174
  33. package/helpers/angular/synthesize-injectable-factories.js.map +1 -1
  34. package/helpers/angular/util.d.ts +1 -0
  35. package/helpers/angular/util.js +88 -0
  36. package/helpers/angular/util.js.map +1 -1
  37. package/helpers/app-components.d.ts +2 -1
  38. package/helpers/app-components.js.map +1 -1
  39. package/helpers/app-css-state.d.ts +8 -0
  40. package/helpers/app-css-state.js +8 -0
  41. package/helpers/app-css-state.js.map +1 -0
  42. package/helpers/bundler-context.d.ts +11 -0
  43. package/helpers/bundler-context.js +71 -0
  44. package/helpers/bundler-context.js.map +1 -0
  45. package/helpers/config-as-json.js +10 -0
  46. package/helpers/config-as-json.js.map +1 -1
  47. package/helpers/dev-host.d.ts +341 -0
  48. package/helpers/dev-host.js +617 -0
  49. package/helpers/dev-host.js.map +1 -0
  50. package/helpers/esbuild-platform-resolver.js +4 -1
  51. package/helpers/esbuild-platform-resolver.js.map +1 -1
  52. package/helpers/global-defines.d.ts +51 -0
  53. package/helpers/global-defines.js +77 -0
  54. package/helpers/global-defines.js.map +1 -1
  55. package/helpers/hmr-scope.d.ts +26 -0
  56. package/helpers/hmr-scope.js +67 -0
  57. package/helpers/hmr-scope.js.map +1 -0
  58. package/helpers/init.js +0 -18
  59. package/helpers/init.js.map +1 -1
  60. package/helpers/logging.d.ts +1 -0
  61. package/helpers/logging.js +63 -3
  62. package/helpers/logging.js.map +1 -1
  63. package/helpers/main-entry.d.ts +2 -1
  64. package/helpers/main-entry.js +430 -47
  65. package/helpers/main-entry.js.map +1 -1
  66. package/helpers/nativeclass-esbuild-plugin.d.ts +2 -1
  67. package/helpers/nativeclass-esbuild-plugin.js.map +1 -1
  68. package/helpers/nativeclass-transform.js.map +1 -1
  69. package/helpers/nativeclass-transformer-plugin.d.ts +9 -2
  70. package/helpers/nativeclass-transformer-plugin.js +157 -14
  71. package/helpers/nativeclass-transformer-plugin.js.map +1 -1
  72. package/helpers/nativescript-package-resolver.js +8 -3
  73. package/helpers/nativescript-package-resolver.js.map +1 -1
  74. package/helpers/normalize-id.d.ts +42 -0
  75. package/helpers/normalize-id.js +60 -0
  76. package/helpers/normalize-id.js.map +1 -0
  77. package/helpers/ns-core-url.d.ts +88 -0
  78. package/helpers/ns-core-url.js +191 -0
  79. package/helpers/ns-core-url.js.map +1 -0
  80. package/helpers/package-platform-aliases.js +4 -3
  81. package/helpers/package-platform-aliases.js.map +1 -1
  82. package/helpers/platform-types.d.ts +2 -0
  83. package/helpers/platform-types.js +2 -0
  84. package/helpers/platform-types.js.map +1 -0
  85. package/helpers/prelink-angular.js +12 -33
  86. package/helpers/prelink-angular.js.map +1 -1
  87. package/helpers/project.d.ts +35 -0
  88. package/helpers/project.js +120 -2
  89. package/helpers/project.js.map +1 -1
  90. package/helpers/resolver.js +17 -2
  91. package/helpers/resolver.js.map +1 -1
  92. package/helpers/solid-jsx-deps.d.ts +15 -0
  93. package/helpers/solid-jsx-deps.js +178 -0
  94. package/helpers/solid-jsx-deps.js.map +1 -0
  95. package/helpers/ts-config-paths.d.ts +14 -0
  96. package/helpers/ts-config-paths.js +89 -8
  97. package/helpers/ts-config-paths.js.map +1 -1
  98. package/helpers/typescript-check.d.ts +2 -1
  99. package/helpers/typescript-check.js.map +1 -1
  100. package/helpers/workers.d.ts +20 -19
  101. package/helpers/workers.js +624 -4
  102. package/helpers/workers.js.map +1 -1
  103. package/hmr/client/css-handler.d.ts +1 -0
  104. package/hmr/client/css-handler.js +33 -20
  105. package/hmr/client/css-handler.js.map +1 -1
  106. package/hmr/client/css-update-overlay.d.ts +18 -0
  107. package/hmr/client/css-update-overlay.js +27 -0
  108. package/hmr/client/css-update-overlay.js.map +1 -0
  109. package/hmr/client/hmr-pending-overlay.d.ts +27 -0
  110. package/hmr/client/hmr-pending-overlay.js +50 -0
  111. package/hmr/client/hmr-pending-overlay.js.map +1 -0
  112. package/hmr/client/index.js +419 -15
  113. package/hmr/client/index.js.map +1 -1
  114. package/hmr/client/utils.d.ts +6 -1
  115. package/hmr/client/utils.js +184 -8
  116. package/hmr/client/utils.js.map +1 -1
  117. package/hmr/client/vue-sfc-update-overlay.d.ts +82 -0
  118. package/hmr/client/vue-sfc-update-overlay.js +133 -0
  119. package/hmr/client/vue-sfc-update-overlay.js.map +1 -0
  120. package/hmr/entry-runtime.d.ts +2 -1
  121. package/hmr/entry-runtime.js +252 -65
  122. package/hmr/entry-runtime.js.map +1 -1
  123. package/hmr/frameworks/angular/client/index.d.ts +1 -0
  124. package/hmr/frameworks/angular/client/index.js +778 -20
  125. package/hmr/frameworks/angular/client/index.js.map +1 -1
  126. package/hmr/frameworks/angular/server/linker.js +1 -4
  127. package/hmr/frameworks/angular/server/linker.js.map +1 -1
  128. package/hmr/frameworks/angular/server/strategy.js +13 -15
  129. package/hmr/frameworks/angular/server/strategy.js.map +1 -1
  130. package/hmr/frameworks/solid/server/strategy.js +3 -18
  131. package/hmr/frameworks/solid/server/strategy.js.map +1 -1
  132. package/hmr/frameworks/typescript/server/strategy.js +2 -15
  133. package/hmr/frameworks/typescript/server/strategy.js.map +1 -1
  134. package/hmr/frameworks/vue/client/index.js +30 -199
  135. package/hmr/frameworks/vue/client/index.js.map +1 -1
  136. package/hmr/helpers/ast-normalizer.js +52 -5
  137. package/hmr/helpers/ast-normalizer.js.map +1 -1
  138. package/hmr/helpers/cjs-named-exports.d.ts +23 -0
  139. package/hmr/helpers/cjs-named-exports.js +152 -0
  140. package/hmr/helpers/cjs-named-exports.js.map +1 -0
  141. package/hmr/helpers/package-exports.d.ts +16 -0
  142. package/hmr/helpers/package-exports.js +396 -0
  143. package/hmr/helpers/package-exports.js.map +1 -0
  144. package/hmr/server/angular-root-component.d.ts +79 -0
  145. package/hmr/server/angular-root-component.js +149 -0
  146. package/hmr/server/angular-root-component.js.map +1 -0
  147. package/hmr/server/constants.js +13 -4
  148. package/hmr/server/constants.js.map +1 -1
  149. package/hmr/server/core-sanitize.d.ts +90 -7
  150. package/hmr/server/core-sanitize.js +211 -56
  151. package/hmr/server/core-sanitize.js.map +1 -1
  152. package/hmr/server/framework-strategy.d.ts +9 -19
  153. package/hmr/server/hmr-module-graph.d.ts +37 -0
  154. package/hmr/server/hmr-module-graph.js +214 -0
  155. package/hmr/server/hmr-module-graph.js.map +1 -0
  156. package/hmr/server/import-map.js +60 -8
  157. package/hmr/server/import-map.js.map +1 -1
  158. package/hmr/server/index.js +1 -0
  159. package/hmr/server/index.js.map +1 -1
  160. package/hmr/server/ns-core-cjs-shape.d.ts +204 -0
  161. package/hmr/server/ns-core-cjs-shape.js +271 -0
  162. package/hmr/server/ns-core-cjs-shape.js.map +1 -0
  163. package/hmr/server/ns-rt-bridge.d.ts +51 -0
  164. package/hmr/server/ns-rt-bridge.js +131 -0
  165. package/hmr/server/ns-rt-bridge.js.map +1 -0
  166. package/hmr/server/ns-rt-route.d.ts +5 -0
  167. package/hmr/server/ns-rt-route.js +35 -0
  168. package/hmr/server/ns-rt-route.js.map +1 -0
  169. package/hmr/server/perf-instrumentation.d.ts +114 -0
  170. package/hmr/server/perf-instrumentation.js +195 -0
  171. package/hmr/server/perf-instrumentation.js.map +1 -0
  172. package/hmr/server/require-guard.d.ts +1 -0
  173. package/hmr/server/require-guard.js +12 -0
  174. package/hmr/server/require-guard.js.map +1 -0
  175. package/hmr/server/route-helpers.d.ts +7 -0
  176. package/hmr/server/route-helpers.js +13 -0
  177. package/hmr/server/route-helpers.js.map +1 -0
  178. package/hmr/server/server-origin.d.ts +12 -0
  179. package/hmr/server/server-origin.js +66 -0
  180. package/hmr/server/server-origin.js.map +1 -0
  181. package/hmr/server/shared-transform-request.js +12 -5
  182. package/hmr/server/shared-transform-request.js.map +1 -1
  183. package/hmr/server/vendor-bare-module-shims.d.ts +4 -0
  184. package/hmr/server/vendor-bare-module-shims.js +80 -0
  185. package/hmr/server/vendor-bare-module-shims.js.map +1 -0
  186. package/hmr/server/vite-plugin.js +60 -42
  187. package/hmr/server/vite-plugin.js.map +1 -1
  188. package/hmr/server/websocket-angular-entry.js +1 -1
  189. package/hmr/server/websocket-angular-entry.js.map +1 -1
  190. package/hmr/server/websocket-angular-hot-update.d.ts +17 -0
  191. package/hmr/server/websocket-angular-hot-update.js +176 -2
  192. package/hmr/server/websocket-angular-hot-update.js.map +1 -1
  193. package/hmr/server/websocket-core-bridge.d.ts +41 -6
  194. package/hmr/server/websocket-core-bridge.js +72 -75
  195. package/hmr/server/websocket-core-bridge.js.map +1 -1
  196. package/hmr/server/websocket-css-hot-update.d.ts +33 -0
  197. package/hmr/server/websocket-css-hot-update.js +65 -0
  198. package/hmr/server/websocket-css-hot-update.js.map +1 -0
  199. package/hmr/server/websocket-device-transform.d.ts +21 -0
  200. package/hmr/server/websocket-device-transform.js +1570 -0
  201. package/hmr/server/websocket-device-transform.js.map +1 -0
  202. package/hmr/server/websocket-graph-upsert.d.ts +15 -0
  203. package/hmr/server/websocket-graph-upsert.js +20 -0
  204. package/hmr/server/websocket-graph-upsert.js.map +1 -1
  205. package/hmr/server/websocket-hmr-pending.d.ts +43 -0
  206. package/hmr/server/websocket-hmr-pending.js +55 -0
  207. package/hmr/server/websocket-hmr-pending.js.map +1 -0
  208. package/hmr/server/websocket-hot-update.d.ts +51 -0
  209. package/hmr/server/websocket-hot-update.js +1160 -0
  210. package/hmr/server/websocket-hot-update.js.map +1 -0
  211. package/hmr/server/websocket-import-map-route.d.ts +15 -0
  212. package/hmr/server/websocket-import-map-route.js +44 -0
  213. package/hmr/server/websocket-import-map-route.js.map +1 -0
  214. package/hmr/server/websocket-module-bindings.js +3 -3
  215. package/hmr/server/websocket-module-bindings.js.map +1 -1
  216. package/hmr/server/websocket-module-specifiers.d.ts +66 -2
  217. package/hmr/server/websocket-module-specifiers.js +202 -19
  218. package/hmr/server/websocket-module-specifiers.js.map +1 -1
  219. package/hmr/server/websocket-ns-core.d.ts +21 -0
  220. package/hmr/server/websocket-ns-core.js +305 -0
  221. package/hmr/server/websocket-ns-core.js.map +1 -0
  222. package/hmr/server/websocket-ns-entry.d.ts +22 -0
  223. package/hmr/server/websocket-ns-entry.js +150 -0
  224. package/hmr/server/websocket-ns-entry.js.map +1 -0
  225. package/hmr/server/websocket-ns-m-paths.d.ts +3 -0
  226. package/hmr/server/websocket-ns-m-paths.js +92 -0
  227. package/hmr/server/websocket-ns-m-paths.js.map +1 -0
  228. package/hmr/server/websocket-ns-m-request.d.ts +45 -0
  229. package/hmr/server/websocket-ns-m-request.js +196 -0
  230. package/hmr/server/websocket-ns-m-request.js.map +1 -0
  231. package/hmr/server/websocket-ns-m.d.ts +34 -0
  232. package/hmr/server/websocket-ns-m.js +853 -0
  233. package/hmr/server/websocket-ns-m.js.map +1 -0
  234. package/hmr/server/websocket-served-module-helpers.d.ts +39 -0
  235. package/hmr/server/websocket-served-module-helpers.js +654 -0
  236. package/hmr/server/websocket-served-module-helpers.js.map +1 -0
  237. package/hmr/server/websocket-sfc.d.ts +24 -0
  238. package/hmr/server/websocket-sfc.js +1223 -0
  239. package/hmr/server/websocket-sfc.js.map +1 -0
  240. package/hmr/server/websocket-txn.d.ts +6 -0
  241. package/hmr/server/websocket-txn.js +39 -0
  242. package/hmr/server/websocket-txn.js.map +1 -0
  243. package/hmr/server/websocket-vendor-unifier.d.ts +10 -0
  244. package/hmr/server/websocket-vendor-unifier.js +45 -0
  245. package/hmr/server/websocket-vendor-unifier.js.map +1 -0
  246. package/hmr/server/websocket.d.ts +0 -30
  247. package/hmr/server/websocket.js +599 -6038
  248. package/hmr/server/websocket.js.map +1 -1
  249. package/hmr/shared/runtime/boot-placeholder-ui.d.ts +69 -0
  250. package/hmr/shared/runtime/boot-placeholder-ui.js +101 -0
  251. package/hmr/shared/runtime/boot-placeholder-ui.js.map +1 -0
  252. package/hmr/shared/runtime/boot-progress.d.ts +40 -0
  253. package/hmr/shared/runtime/boot-progress.js +128 -0
  254. package/hmr/shared/runtime/boot-progress.js.map +1 -0
  255. package/hmr/shared/runtime/boot-timeline.d.ts +18 -0
  256. package/hmr/shared/runtime/boot-timeline.js +52 -0
  257. package/hmr/shared/runtime/boot-timeline.js.map +1 -0
  258. package/hmr/shared/runtime/dev-overlay-snapshots.d.ts +31 -0
  259. package/hmr/shared/runtime/dev-overlay-snapshots.js +324 -0
  260. package/hmr/shared/runtime/dev-overlay-snapshots.js.map +1 -0
  261. package/hmr/shared/runtime/dev-overlay.d.ts +75 -26
  262. package/hmr/shared/runtime/dev-overlay.js +990 -260
  263. package/hmr/shared/runtime/dev-overlay.js.map +1 -1
  264. package/hmr/shared/runtime/module-provenance.js +1 -4
  265. package/hmr/shared/runtime/module-provenance.js.map +1 -1
  266. package/hmr/shared/runtime/root-placeholder-view.d.ts +19 -0
  267. package/hmr/shared/runtime/root-placeholder-view.js +310 -0
  268. package/hmr/shared/runtime/root-placeholder-view.js.map +1 -0
  269. package/hmr/shared/runtime/root-placeholder.js +352 -194
  270. package/hmr/shared/runtime/root-placeholder.js.map +1 -1
  271. package/hmr/shared/runtime/session-bootstrap.js +164 -1
  272. package/hmr/shared/runtime/session-bootstrap.js.map +1 -1
  273. package/hmr/shared/runtime/vendor-bootstrap.js +1 -9
  274. package/hmr/shared/runtime/vendor-bootstrap.js.map +1 -1
  275. package/hmr/shared/vendor/manifest-collect.d.ts +32 -0
  276. package/hmr/shared/vendor/manifest-collect.js +512 -0
  277. package/hmr/shared/vendor/manifest-collect.js.map +1 -0
  278. package/hmr/shared/vendor/manifest-loader.d.ts +2 -1
  279. package/hmr/shared/vendor/manifest-loader.js +3 -2
  280. package/hmr/shared/vendor/manifest-loader.js.map +1 -1
  281. package/hmr/shared/vendor/manifest.d.ts +1 -5
  282. package/hmr/shared/vendor/manifest.js +102 -739
  283. package/hmr/shared/vendor/manifest.js.map +1 -1
  284. package/hmr/shared/vendor/vendor-device-shim.d.ts +1 -0
  285. package/hmr/shared/vendor/vendor-device-shim.js +208 -0
  286. package/hmr/shared/vendor/vendor-device-shim.js.map +1 -0
  287. package/hmr/shared/vendor/vendor-esbuild-plugins.d.ts +16 -0
  288. package/hmr/shared/vendor/vendor-esbuild-plugins.js +203 -0
  289. package/hmr/shared/vendor/vendor-esbuild-plugins.js.map +1 -0
  290. package/index.d.ts +1 -0
  291. package/index.js +5 -0
  292. package/index.js.map +1 -1
  293. package/package.json +55 -11
  294. package/runtime/core-aliases-early.js +17 -41
  295. package/runtime/core-aliases-early.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../../../packages/vite/configuration/javascript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgC,MAAM,MAAM,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD;;;;;GAKG;AACH,SAAS,0BAA0B;IAClC,MAAM,UAAU,GAAG,4BAA4B,CAAC;IAChD,MAAM,WAAW,GAAG,IAAI,GAAG,UAAU,CAAC;IACtC,MAAM,QAAQ,GAAG,gCAAgC,CAAC;IAClD,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAA+C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACrJ,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,MAAM,aAAa,GAAG,GAAG,OAAO,GAAG,CAAC;IAEpC,OAAO;QACN,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,KAAK;QACd,SAAS,CAAC,EAAE;YACX,IAAI,EAAE,KAAK,UAAU;gBAAE,OAAO,WAAW,CAAC;YAC1C,OAAO,IAAI,CAAC;QACb,CAAC;QACD,IAAI,CAAC,EAAE;YACN,IAAI,EAAE,KAAK,WAAW;gBAAE,OAAO,IAAI,CAAC;YACpC,oHAAoH;YACpH,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC;YACxB,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAC9D,SAAS,IAAI,CAAC,GAAW,EAAE,GAAa;gBACvC,IAAI,OAAO,GAAa,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACJ,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC;gBAAC,MAAM,CAAC;oBACR,OAAO,GAAG,CAAC;gBACZ,CAAC;gBACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBACzC,IAAI,EAAO,CAAC;oBACZ,IAAI,CAAC;wBACJ,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACrB,CAAC;oBAAC,MAAM,CAAC;wBACR,SAAS;oBACV,CAAC;oBACD,IAAI,EAAE,CAAC,WAAW,EAAE;wBAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;;wBACjC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrB,CAAC;gBACD,OAAO,GAAG,CAAC;YACZ,CAAC;YACD,SAAS,SAAS,CAAC,MAAgC;gBAClD,MAAM,KAAK,GAAa,EAAE,CAAC;gBAC3B,KAAK,MAAM,CAAC,IAAI,KAAK;oBAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACtC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9D,CAAC;YACD,SAAS,qBAAqB,CAAC,CAAS;gBACvC,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBACtC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;oBAAE,OAAO,IAAI,CAAC;gBACtC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;oBAAE,OAAO,IAAI,CAAC;gBACpC,IAAI,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;oBAAE,OAAO,IAAI,CAAC;gBACrD,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC9C,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChE,IAAI,QAAQ,KAAK,SAAS,IAAI,WAAW;oBAAE,OAAO,IAAI,CAAC;gBACvD,IAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,UAAU,CAAC,IAAI,eAAe;oBAAE,OAAO,IAAI,CAAC;gBACpF,OAAO,KAAK,CAAC;YACd,CAAC;YACD,SAAS,iBAAiB,CAAC,GAAW;gBACrC,OAAO,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACtC,CAAC;YACD,SAAS,QAAQ,CAAC,GAAW;gBAC5B,IAAI,GAAG,GAAG,GAAG,CAAC;gBACd,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC;oBAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACzE,OAAO,IAAI,GAAG,GAAG,CAAC;YACnB,CAAC;YACD,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5F,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;YACtG,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1F,IAAI,WAAW,GAAa,EAAE,CAAC;YAC/B,IAAI,eAAe,GAAa,EAAE,CAAC;YACnC,IAAI,cAAc,GAAa,EAAE,CAAC;YAClC,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,SAAS,UAAU,CAAC,GAAW,EAAE,GAAY;gBAC5C,MAAM,EAAE,GAAG,MAAM,KAAK,EAAE,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC1D,WAAW,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpF,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC7B,eAAe,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBAChH,cAAc,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACpF,CAAC;YACD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC7C,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC/C,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,kDAAkD,QAAQ,IAAI,SAAS,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,uEAAuE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,ujBAAujB,CAAC;YAC7yB,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAS,CAAC;QACnC,CAAC;QACD,SAAS,CAAC,IAAI,EAAE,EAAE;YACjB,uEAAuE;YACvE,IAAI,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EAAE,CAAC;gBACpE,MAAM,MAAM,GAAG,kDAAkD,CAAC;gBAClE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3B,OAAO;wBACN,IAAI,EAAE,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,GAAG,MAAM,8qEAA8qE,CACvrE;wBACD,GAAG,EAAE,IAAI;qBACT,CAAC;gBACH,CAAC;YACF,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;KACD,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB;IAC7B,OAAO;QACN,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,KAAK;QACd,IAAI,CAAC,EAAE;YACN,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC;YACtC,IAAI,CAAC;gBACJ,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;gBACtC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;qBAC7B,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;qBAC7B,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBAChC,MAAM,IAAI,GAAG,qBAAqB,GAAG,8BAA8B,CAAC;gBACpE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAS,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC;gBACR,OAAO,IAAI,CAAC;YACb,CAAC;QACF,CAAC;KACD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAE,IAAI,EAAE,EAAc,EAAE;IACxD,OAAO,WAAW,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;QACxC,OAAO,EAAE,CAAC,qBAAqB,EAAE,EAAE,0BAA0B,EAAE,CAAC;KAChE,CAAC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../../../packages/vite/configuration/javascript.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,11 @@ import path from 'path';
3
3
  import alias from '@rollup/plugin-alias';
4
4
  import { fileURLToPath } from 'node:url';
5
5
  import { dirname, resolve } from 'node:path';
6
- import { getProjectRootPath } from '../helpers/project.js';
6
+ import { findMonorepoWorkspaceRoot, getProjectRootPath } from '../helpers/project.js';
7
7
  import { mergeConfig } from 'vite';
8
8
  import { baseConfig } from './base.js';
9
9
  import { getTypeCheckPlugins } from '../helpers/typescript-check.js';
10
+ import { findSolidPackagesShippingJsx } from '../helpers/solid-jsx-deps.js';
10
11
  const __filename = fileURLToPath(import.meta.url);
11
12
  const __dirname = dirname(__filename);
12
13
  const projectRoot = getProjectRootPath();
@@ -50,8 +51,33 @@ const plugins = [
50
51
  }),
51
52
  ];
52
53
  export const solidConfig = ({ mode }, options = {}) => {
54
+ const projectRoot = getProjectRootPath();
55
+ const monorepoRoot = findMonorepoWorkspaceRoot(projectRoot);
56
+ // Any Solid library that ships `.jsx`/`.tsx` files in its published
57
+ // output (e.g. `solid-navigation`'s `dist/src/*.jsx`) MUST bypass
58
+ // Vite's depscanner. The depscanner concatenates the package into
59
+ // `node_modules/.vite/deps/<pkg>.js` with the JSX preserved, then
60
+ // `vite:import-analysis` hits the first JSX expression and aborts the
61
+ // dev server with `Failed to parse source for import analysis…`. The
62
+ // `vite-plugin-solid` `transform` hook only runs on ids ending in
63
+ // `.jsx`/`.tsx`, so it never sees the pre-bundled `.js` to fix it.
64
+ // Excluding these packages routes them through the normal serve
65
+ // pipeline, where the original `.jsx` ids match the Solid plugin's
66
+ // filter. See `helpers/solid-jsx-deps.ts` for the detection rules.
67
+ const solidJsxPackages = findSolidPackagesShippingJsx(projectRoot, monorepoRoot);
53
68
  return mergeConfig(baseConfig({ mode, flavor: 'solid' }), {
54
69
  plugins: [...getTypeCheckPlugins('solid', options.typeCheck), ...plugins],
70
+ optimizeDeps: {
71
+ // Defense-in-depth: keep `module` / `node:module` out of the
72
+ // depscanner's pre-bundle set even if a downstream config swaps
73
+ // out the base `optimizeDeps.exclude`. The root rationale (and the
74
+ // canonical exclude list) lives in `configuration/base.ts`; see
75
+ // the comment above `optimizeDepsExclude` there for the full
76
+ // css-tree → createRequire → HMR rewrite chain that necessitates
77
+ // this. Vite's `mergeConfig` concatenates `exclude` arrays, so
78
+ // duplicating these here is harmless.
79
+ exclude: ['module', 'node:module', ...solidJsxPackages],
80
+ },
55
81
  });
56
82
  };
57
83
  //# sourceMappingURL=solid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"solid.js","sourceRoot":"","sources":["../../../../packages/vite/configuration/solid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,mBAAmB,CAAC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,sBAAsB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAmB,MAAM,MAAM,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAgC,MAAM,gCAAgC,CAAC;AAEnG,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;AACzC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;AAErE,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;AAEtC,sEAAsE;AACtE,8EAA8E;AAC9E,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC;AAExF,MAAM,OAAO,GAAG;IACf;QACC,GAAG,KAAK,CAAC;YACR,OAAO,EAAE;gBACR,2EAA2E;gBAC3E,cAAc,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;gBACzE,6CAA6C;gBAC7C,oBAAoB,EAAE,OAAO,CAAC,SAAS,EAAE,kBAAkB,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;gBAC3F,gBAAgB,EAAE,OAAO,CAAC,SAAS,EAAE,cAAc,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;gBAC/E,mEAAmE;gBACnE,oEAAoE;gBACpE,sBAAsB,EAAE,kBAAkB;gBAC1C,0BAA0B,EAAE,kBAAkB;gBAC9C,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;aACnE;SACD,CAAC;QACF,OAAO,EAAE,KAAK;KACd;IACD,yDAAyD;IACzD,KAAK,CAAC;QACL,4BAA4B;QAC5B,GAAG,EAAE,CAAC,IAAI;QACV,6BAA6B;QAC7B,GAAG,EAAE,CAAC,IAAI;QACV,oDAAoD;QACpD,KAAK,EAAE;YACN,8DAA8D;YAC9D,QAAQ,EAAE,WAAW;YACrB,UAAU,EAAE,KAAK;YACjB,kDAAkD;YAClD,UAAU,EAAE,kCAAkC;SAC9C;KACD,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,UAAmC,EAAE,EAAc,EAAE;IAC1F,OAAO,WAAW,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;QACzD,OAAO,EAAE,CAAC,GAAG,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,GAAG,OAAO,CAAC;KACzE,CAAC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"solid.js","sourceRoot":"","sources":["../../../../packages/vite/configuration/solid.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { mergeConfig } from 'vite';
2
- import { readFileSync, readdirSync, statSync } from 'node:fs';
3
2
  import path from 'node:path';
4
3
  import { baseConfig } from './base.js';
5
4
  import { getCliFlags } from '../helpers/cli-flags.js';
6
5
  import { getPackageJson, getProjectFilePath, getProjectRootPath } from '../helpers/project.js';
7
6
  import { getProjectAppPath } from '../helpers/utils.js';
8
7
  import { getTypeCheckPlugins } from '../helpers/typescript-check.js';
8
+ import { createXmlLoaderPlugin, shouldExcludePlatformFile, toContextImportSpecifier, walkAppFiles } from '../helpers/bundler-context.js';
9
9
  /**
10
10
  * TypeScript + XML NativeScript Vite configuration.
11
11
  * Adds a virtual require.context style registry (xml, js, ts, css, scss) similar to webpack5.
@@ -41,56 +41,7 @@ function createBundlerContextPlugin() {
41
41
  return null;
42
42
  // Build platform-filtered static module registry similar to webpack's require.context.
43
43
  // Generic: only XML, styles and their paired code-behind files. Test/app specific additions belong in app vite.config.ts.
44
- const roots = [appRoot];
45
- function walk(dir, out) {
46
- let entries = [];
47
- try {
48
- entries = readdirSync(dir);
49
- }
50
- catch {
51
- return out;
52
- }
53
- for (const entry of entries) {
54
- const full = path.posix.join(dir, entry);
55
- let st;
56
- try {
57
- st = statSync(full);
58
- }
59
- catch {
60
- continue;
61
- }
62
- if (st.isDirectory())
63
- walk(full, out);
64
- else
65
- out.push(full);
66
- }
67
- return out;
68
- }
69
- function listAll() {
70
- const files = [];
71
- for (const r of roots)
72
- walk(r, files);
73
- return files;
74
- }
75
- function shouldExcludeAbsolute(p) {
76
- const file = p.split('/').pop() || '';
77
- if (file.startsWith('_'))
78
- return true;
79
- if (/\.d\.ts$/.test(p))
80
- return true;
81
- if (/([.-]worker)\.(ts|js)$/.test(file))
82
- return true;
83
- const isAndroidTagged = /\.android\./.test(p);
84
- const isIosTagged = /\.ios\./.test(p) || /\.visionos\./.test(p);
85
- if (platform === 'android' && isIosTagged)
86
- return true;
87
- if (['ios', 'visionos'].includes(platform) && isAndroidTagged)
88
- return true;
89
- return false;
90
- }
91
- function toImportSpecifier(abs) {
92
- return '/' + abs.replace(/^\/+/, '');
93
- }
44
+ const toImportSpecifier = toContextImportSpecifier;
94
45
  function toCtxKey(abs) {
95
46
  let rel = abs;
96
47
  if (rel.startsWith(appRootPrefix))
@@ -99,7 +50,7 @@ function createBundlerContextPlugin() {
99
50
  rel = rel.slice('packages/core/src/'.length);
100
51
  return './' + rel;
101
52
  }
102
- const allFiles = listAll().filter((f) => !shouldExcludeAbsolute(f));
53
+ const allFiles = walkAppFiles(appRoot).filter((f) => !shouldExcludePlatformFile(f, platform));
103
54
  const xmlFiles = allFiles.filter((f) => f.endsWith('.xml'));
104
55
  const styleFiles = allFiles.filter((f) => /\.(css|scss|less|sass)$/.test(f));
105
56
  // Import only code-behind files paired with XML (mirrors webpack's contextual resolution)
@@ -131,7 +82,7 @@ function createBundlerContextPlugin() {
131
82
  // Sort code files as well for determinism (some tests rely on early registration of core pages/components)
132
83
  codeFiles.sort((a, b) => a.localeCompare(b)).forEach((f) => pushImport(f, false));
133
84
  // We no longer manually register nickname modules here; core's registerBundlerModules already adds nicknames.
134
- const code = `// Generated virtual bundler context (platform=${platform || 'unknown'})\n${importLines.join('\n')}\n(function(){\n const registry = new Map();\n const all = {};\n ${moduleMapLines.join('\n ')}\n ${registryEntries.join('\n ')}\n function context(key){\n const real = registry.get(key);\n if(!real) throw new Error('[ns-vite] Module not found in context: '+key);\n return all[real];\n }\n context.keys = function(){ return Array.from(registry.keys()); };\n // Register modules now with extension map so .ts/.scss nicknames resolve like webpack\n try { if (global.registerBundlerModules) { global.registerBundlerModules(context, { '.ts': '.js', '.scss': '.css', '.sass': '.css', '.less': '.css' }); } } catch(e) { try { console.warn('[ns-vite] registerBundlerModules error', e); } catch(_) {} }\n // Safety: ensure main-page nickname exists if XML present\n try {\n const hasMainPageXml = context.keys().some(k => /(^\\.\\/?main-page\\.xml$|\\/main-page\\.xml$)/.test(k));\n if (hasMainPageXml && global.moduleExists && !global.moduleExists('main-page') && global.registerBundlerModules) {\n global.registerBundlerModules(context, { '.ts': '.js', '.scss': '.css', '.sass': '.css', '.less': '.css' });\n }\n } catch(_) {}\n})();`;
85
+ const code = `// Generated virtual bundler context (platform=${platform || 'unknown'})\n${importLines.join('\n')}\n(function(){\n const registry = new Map();\n const all = {};\n ${moduleMapLines.join('\n ')}\n ${registryEntries.join('\n ')}\n function context(key){\n const real = registry.get(key);\n if(!real) throw new Error('[ns-vite] Module not found in context: '+key);\n return all[real];\n }\n context.keys = function(){ return Array.from(registry.keys()); };\n // Register modules now with extension map so .ts/.scss nicknames resolve like webpack\n try { if (global.registerBundlerModules) { global.registerBundlerModules(context, { '.ts': '.js', '.scss': '.css', '.sass': '.css', '.less': '.css' }); } } catch(e) { console.warn('[ns-vite] registerBundlerModules error', e); }\n // Safety: ensure main-page nickname exists if XML present\n try {\n const hasMainPageXml = context.keys().some(k => /(^\\.\\/?main-page\\.xml$|\\/main-page\\.xml$)/.test(k));\n if (hasMainPageXml && global.moduleExists && !global.moduleExists('main-page') && global.registerBundlerModules) {\n global.registerBundlerModules(context, { '.ts': '.js', '.scss': '.css', '.sass': '.css', '.less': '.css' });\n }\n } catch(_) {}\n})();`;
135
86
  return { code, map: null };
136
87
  },
137
88
  transform(code, id) {
@@ -148,30 +99,9 @@ function createBundlerContextPlugin() {
148
99
  },
149
100
  };
150
101
  }
151
- function createXmlLoaderPlugin() {
152
- return {
153
- name: 'ns-xml-loader-ts',
154
- enforce: 'pre',
155
- load(id) {
156
- if (!id.endsWith('.xml'))
157
- return null;
158
- try {
159
- const src = readFileSync(id, 'utf-8');
160
- const xml = JSON.stringify(src)
161
- .replace(/\u2028/g, '\\u2028')
162
- .replace(/\u2029/g, '\\u2029');
163
- const code = `const ___XML___ = ${xml};\nexport default ___XML___;`;
164
- return { code, map: null };
165
- }
166
- catch {
167
- return null;
168
- }
169
- },
170
- };
171
- }
172
102
  export const typescriptConfig = ({ mode }, options = {}) => {
173
103
  return mergeConfig(baseConfig({ mode, flavor: 'typescript' }), {
174
- plugins: [...getTypeCheckPlugins('typescript', options.typeCheck), createXmlLoaderPlugin(), createBundlerContextPlugin()],
104
+ plugins: [...getTypeCheckPlugins('typescript', options.typeCheck), createXmlLoaderPlugin('ns-xml-loader-ts'), createBundlerContextPlugin()],
175
105
  });
176
106
  };
177
107
  //# sourceMappingURL=typescript.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../../packages/vite/configuration/typescript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../../packages/vite/configuration/typescript.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,12 @@
1
1
  import type { Plugin } from 'vite';
2
2
  /**
3
- * Vite plugin to run Angular linker (Babel) over partial-compiled Angular libraries
4
- * inside node_modules (e.g., @angular/*, @nativescript/angular).
5
- *
6
- * This converts ɵɵngDeclare* calls to ɵɵdefine* so runtime doesn't require the JIT compiler.
3
+ * Vite plugin to run the Angular linker (Babel) over partial-compiled Angular
4
+ * libraries inside node_modules (e.g. @angular/*, @nativescript/angular),
5
+ * converting ɵɵngDeclare* calls to ɵɵdefine* so the runtime doesn't need JIT.
7
6
  */
8
7
  export declare function angularLinkerVitePlugin(projectRoot?: string): Plugin;
9
8
  /**
10
- * Post-phase linker: catches any ɵɵngDeclare* introduced by downstream transforms (e.g., optimizer)
11
- * including in project source, after other plugins have run.
9
+ * Post-phase linker: catches any ɵɵngDeclare* introduced by downstream
10
+ * transforms (e.g. optimizer) including project source, after other plugins run.
12
11
  */
13
12
  export declare function angularLinkerVitePluginPost(projectRoot?: string): Plugin;
@@ -1,67 +1,34 @@
1
- import { createRequire } from 'node:module';
2
- import { ensureSharedAngularLinker, resolveAngularFileSystem } from './shared-linker.js';
1
+ import { runAngularLinker } from './shared-linker.js';
3
2
  import { containsRealNgDeclare } from './util.js';
3
+ function normalizeAngularLinkerId(id) {
4
+ return id.split('?', 1)[0].replace(/\\/g, '/');
5
+ }
6
+ function isDebug() {
7
+ return process.env.VITE_DEBUG_LOGS === 'true' || process.env.VITE_DEBUG_LOGS === '1';
8
+ }
4
9
  /**
5
- * Vite plugin to run Angular linker (Babel) over partial-compiled Angular libraries
6
- * inside node_modules (e.g., @angular/*, @nativescript/angular).
7
- *
8
- * This converts ɵɵngDeclare* calls to ɵɵdefine* so runtime doesn't require the JIT compiler.
10
+ * Vite plugin to run the Angular linker (Babel) over partial-compiled Angular
11
+ * libraries inside node_modules (e.g. @angular/*, @nativescript/angular),
12
+ * converting ɵɵngDeclare* calls to ɵɵdefine* so the runtime doesn't need JIT.
9
13
  */
10
14
  export function angularLinkerVitePlugin(projectRoot) {
11
- const req = createRequire(projectRoot ? projectRoot + '/package.json' : import.meta.url);
12
- let babel = null;
13
- let createLinker = null;
14
- let angularFileSystem = null;
15
- async function ensureDeps() {
16
- if (babel && createLinker)
17
- return;
18
- try {
19
- const babelPath = req.resolve('@babel/core');
20
- const linkerPath = req.resolve('@angular/compiler-cli/linker/babel');
21
- babel = (await import(babelPath));
22
- const linkerMod = await import(linkerPath);
23
- createLinker = linkerMod.createLinkerPlugin || linkerMod.createEs2015LinkerPlugin || null;
24
- }
25
- catch {
26
- // Fall back to hoisted resolution if necessary
27
- try {
28
- babel = (await import('@babel/core'));
29
- }
30
- catch { }
31
- try {
32
- const linkerMod = await import('@angular/compiler-cli/linker/babel');
33
- createLinker = linkerMod.createLinkerPlugin || linkerMod.createEs2015LinkerPlugin || null;
34
- }
35
- catch { }
36
- }
37
- if (!angularFileSystem) {
38
- angularFileSystem = await resolveAngularFileSystem(projectRoot);
39
- }
40
- }
41
15
  // Base filter: Angular framework libraries + NativeScript Angular + its polyfills bundle.
42
16
  const FILTER = /node_modules\/(?:@angular|@nativescript\/angular)\/.*\.[mc]?js$|nativescript-angular-polyfills\.mjs$/;
43
- // Extended filter: ANY node_modules .js/.mjs file. Used to catch Angular
44
- // ecosystem packages (ngrx, etc.) that contain ɵɵngDeclare* partial
45
- // declarations. In Vite 8 watch-mode rebuilds, chunk-level linker fallbacks
46
- // may not re-run for cached chunks, so we must link at the transform level.
17
+ // Extended filter: ANY node_modules .js/.mjs file catches Angular ecosystem
18
+ // packages (ngrx, etc.) carrying ɵɵngDeclare* partials. Vite 8 watch rebuilds
19
+ // may skip chunk-level linker fallbacks for cached chunks, so link at transform.
47
20
  const NODE_MODULES_FILTER = /node_modules\/.*\.[mc]?js$/;
48
- // When NS_STRICT_NG_LINK_ALL=1 we aggressively try to link **any** JS/ESM
49
- // file that contains a real ɵɵngDeclare* call site, not just node_modules.
50
- // This is primarily for NativeScript strict / HMR flows so that no partial
51
- // declarations survive into the device bundle and trigger the JIT runtime.
21
+ // NS_STRICT_NG_LINK_ALL=1 aggressively links any JS/ESM file with a real
22
+ // ɵɵngDeclare* call site so no partials survive into the device bundle.
52
23
  const strictAll = process.env.NS_STRICT_NG_LINK_ALL === '1' || process.env.NS_STRICT_NG_LINK_ALL === 'true';
53
24
  return {
54
25
  name: 'ns-angular-linker-vite',
55
26
  enforce: 'pre',
56
27
  async load(id) {
57
- const debug = process.env.VITE_DEBUG_LOGS === 'true' || process.env.VITE_DEBUG_LOGS === '1';
58
- const cleanId = id.split('?', 1)[0];
59
- // Always process Angular framework libraries. For other node_modules,
60
- // check if they contain ɵɵngDeclare* (catches @ngrx, etc.).
28
+ const cleanId = normalizeAngularLinkerId(id);
61
29
  if (!strictAll && !FILTER.test(cleanId)) {
62
30
  if (!NODE_MODULES_FILTER.test(cleanId))
63
31
  return null;
64
- // For non-framework node_modules, peek at the file to see if it has partials
65
32
  try {
66
33
  const fs = await import('node:fs/promises');
67
34
  const peek = await fs.readFile(cleanId, 'utf8');
@@ -77,40 +44,20 @@ export function angularLinkerVitePlugin(projectRoot) {
77
44
  const code = await fs.readFile(cleanId, 'utf8');
78
45
  if (!code)
79
46
  return null;
80
- // Under NS_STRICT_NG_LINK_ALL we will attempt to link **any** file
81
- // that actually contains a ɵɵngDeclare* call site.
82
47
  if (strictAll && !FILTER.test(cleanId) && !containsRealNgDeclare(code))
83
48
  return null;
84
- const { babel, linkerPlugin } = await ensureSharedAngularLinker(projectRoot);
85
- if (!babel || !linkerPlugin)
86
- return null;
87
- if (debug) {
88
- try {
89
- console.log('[ns-angular-linker][vite-load] linking', cleanId);
90
- }
91
- catch { }
92
- }
93
- const result = await babel.transformAsync(code, {
94
- filename: cleanId,
95
- configFile: false,
96
- babelrc: false,
97
- sourceMaps: false,
98
- compact: false,
99
- plugins: [linkerPlugin],
100
- });
101
- if (result?.code && result.code !== code) {
102
- return { code: result.code, map: null };
49
+ const linked = await runAngularLinker(code, { filename: cleanId, projectRoot });
50
+ if (linked) {
51
+ if (isDebug())
52
+ console.log('[ns-angular-linker][vite-load] linked', cleanId);
53
+ return { code: linked, map: null };
103
54
  }
104
55
  }
105
56
  catch { }
106
57
  return null;
107
58
  },
108
59
  async transform(code, id) {
109
- const debug = process.env.VITE_DEBUG_LOGS === 'true' || process.env.VITE_DEBUG_LOGS === '1';
110
- // Strip Vite/Rollup query strings before testing
111
- const cleanId = id.split('?', 1)[0];
112
- // Always process Angular framework libraries. For other node_modules,
113
- // only link if they contain ɵɵngDeclare* (catches @ngrx, etc.).
60
+ const cleanId = normalizeAngularLinkerId(id);
114
61
  if (!strictAll && !FILTER.test(cleanId)) {
115
62
  if (!NODE_MODULES_FILTER.test(cleanId) || !code || !containsRealNgDeclare(code))
116
63
  return null;
@@ -119,71 +66,39 @@ export function angularLinkerVitePlugin(projectRoot) {
119
66
  return null;
120
67
  if (strictAll && !FILTER.test(cleanId) && !containsRealNgDeclare(code))
121
68
  return null;
122
- await ensureDeps();
123
- if (!babel || !createLinker)
124
- return null;
125
69
  try {
126
- const plugin = createLinker({ sourceMapping: false, fileSystem: angularFileSystem });
127
- if (debug) {
128
- try {
129
- console.log('[ns-angular-linker][vite] linking', cleanId);
130
- }
131
- catch { }
132
- }
133
- const result = await babel.transformAsync(code, {
134
- filename: cleanId,
135
- configFile: false,
136
- babelrc: false,
137
- sourceMaps: false,
138
- compact: false,
139
- plugins: [plugin],
140
- });
141
- if (result?.code && result.code !== code) {
142
- return { code: result.code, map: null };
70
+ const linked = await runAngularLinker(code, { filename: cleanId, projectRoot, freshPlugin: true });
71
+ if (linked) {
72
+ if (isDebug())
73
+ console.log('[ns-angular-linker][vite] linked', cleanId);
74
+ return { code: linked, map: null };
143
75
  }
144
76
  }
145
- catch {
146
- // Soft-fail; return original code
147
- }
77
+ catch { }
148
78
  return null;
149
79
  },
150
80
  };
151
81
  }
152
82
  /**
153
- * Post-phase linker: catches any ɵɵngDeclare* introduced by downstream transforms (e.g., optimizer)
154
- * including in project source, after other plugins have run.
83
+ * Post-phase linker: catches any ɵɵngDeclare* introduced by downstream
84
+ * transforms (e.g. optimizer) including project source, after other plugins run.
155
85
  */
156
86
  export function angularLinkerVitePluginPost(projectRoot) {
157
87
  return {
158
88
  name: 'ns-angular-linker-vite-post',
159
89
  enforce: 'post',
160
90
  async transform(code, id) {
161
- const debug = process.env.VITE_DEBUG_LOGS === 'true' || process.env.VITE_DEBUG_LOGS === '1';
162
- // Only JS/ESM files
163
91
  if (!/\.(m?js)(\?|$)/.test(id))
164
92
  return null;
165
93
  if (!code || !containsRealNgDeclare(code))
166
94
  return null;
167
- const { babel, linkerPlugin } = await ensureSharedAngularLinker(projectRoot);
168
- if (!babel || !linkerPlugin)
169
- return null;
170
95
  try {
171
- if (debug) {
172
- try {
173
- console.log('[ns-angular-linker][vite-post] linking', id.split('?', 1)[0]);
174
- }
175
- catch { }
176
- }
177
- const result = await babel.transformAsync(code, {
178
- filename: id.split('?', 1)[0],
179
- configFile: false,
180
- babelrc: false,
181
- sourceMaps: false,
182
- compact: false,
183
- plugins: [linkerPlugin],
184
- });
185
- if (result?.code && result.code !== code) {
186
- return { code: result.code, map: null };
96
+ const filename = id.split('?', 1)[0];
97
+ const linked = await runAngularLinker(code, { filename, projectRoot });
98
+ if (linked) {
99
+ if (isDebug())
100
+ console.log('[ns-angular-linker][vite-post] linked', filename);
101
+ return { code: linked, map: null };
187
102
  }
188
103
  }
189
104
  catch { }
@@ -1 +1 @@
1
- {"version":3,"file":"angular-linker.js","sourceRoot":"","sources":["../../../../../packages/vite/helpers/angular/angular-linker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAElD;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,WAAoB;IAC3D,MAAM,GAAG,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzF,IAAI,KAAK,GAAwC,IAAI,CAAC;IACtD,IAAI,YAAY,GAAQ,IAAI,CAAC;IAC7B,IAAI,iBAAiB,GAAQ,IAAI,CAAC;IAElC,KAAK,UAAU,UAAU;QACxB,IAAI,KAAK,IAAI,YAAY;YAAE,OAAO;QAClC,IAAI,CAAC;YACJ,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC7C,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;YACrE,KAAK,GAAG,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,CAAQ,CAAC;YACzC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;YAC3C,YAAY,GAAI,SAAiB,CAAC,kBAAkB,IAAK,SAAiB,CAAC,wBAAwB,IAAI,IAAI,CAAC;QAC7G,CAAC;QAAC,MAAM,CAAC;YACR,+CAA+C;YAC/C,IAAI,CAAC;gBACJ,KAAK,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,CAAQ,CAAC;YAC9C,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,IAAI,CAAC;gBACJ,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAC;gBACrE,YAAY,GAAI,SAAiB,CAAC,kBAAkB,IAAK,SAAiB,CAAC,wBAAwB,IAAI,IAAI,CAAC;YAC7G,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACX,CAAC;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACxB,iBAAiB,GAAG,MAAM,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACjE,CAAC;IACF,CAAC;IAED,0FAA0F;IAC1F,MAAM,MAAM,GAAG,sGAAsG,CAAC;IACtH,yEAAyE;IACzE,oEAAoE;IACpE,4EAA4E;IAC5E,4EAA4E;IAC5E,MAAM,mBAAmB,GAAG,4BAA4B,CAAC;IACzD,0EAA0E;IAC1E,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,MAAM,CAAC;IAE5G,OAAO;QACN,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,KAAK;QACd,KAAK,CAAC,IAAI,CAAC,EAAE;YACZ,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,GAAG,CAAC;YAC5F,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,sEAAsE;YACtE,4DAA4D;YAC5D,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC;oBAAE,OAAO,IAAI,CAAC;gBACpD,6EAA6E;gBAC7E,IAAI,CAAC;oBACJ,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;oBAC5C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBAChD,IAAI,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;wBAAE,OAAO,IAAI,CAAC;gBACxD,CAAC;gBAAC,MAAM,CAAC;oBACR,OAAO,IAAI,CAAC;gBACb,CAAC;YACF,CAAC;YACD,IAAI,CAAC;gBACJ,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBAC5C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAChD,IAAI,CAAC,IAAI;oBAAE,OAAO,IAAI,CAAC;gBACvB,mEAAmE;gBACnE,mDAAmD;gBACnD,IAAI,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;oBAAE,OAAO,IAAI,CAAC;gBACpF,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,yBAAyB,CAAC,WAAW,CAAC,CAAC;gBAC7E,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY;oBAAE,OAAO,IAAI,CAAC;gBACzC,IAAI,KAAK,EAAE,CAAC;oBACX,IAAI,CAAC;wBACJ,OAAO,CAAC,GAAG,CAAC,wCAAwC,EAAE,OAAO,CAAC,CAAC;oBAChE,CAAC;oBAAC,MAAM,CAAC,CAAA,CAAC;gBACX,CAAC;gBACD,MAAM,MAAM,GAAG,MAAO,KAAa,CAAC,cAAc,CAAC,IAAI,EAAE;oBACxD,QAAQ,EAAE,OAAO;oBACjB,UAAU,EAAE,KAAK;oBACjB,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,KAAK;oBACjB,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,CAAC,YAAY,CAAC;iBACvB,CAAC,CAAC;gBACH,IAAI,MAAM,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAS,CAAC;gBAChD,CAAC;YACF,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,OAAO,IAAI,CAAC;QACb,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE;YACvB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,GAAG,CAAC;YAC5F,iDAAiD;YACjD,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,sEAAsE;YACtE,gEAAgE;YAChE,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;oBAAE,OAAO,IAAI,CAAC;YAC9F,CAAC;YACD,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YACvB,IAAI,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;YACpF,MAAM,UAAU,EAAE,CAAC;YACnB,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY;gBAAE,OAAO,IAAI,CAAC;YACzC,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBACrF,IAAI,KAAK,EAAE,CAAC;oBACX,IAAI,CAAC;wBACJ,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC;oBAC3D,CAAC;oBAAC,MAAM,CAAC,CAAA,CAAC;gBACX,CAAC;gBACD,MAAM,MAAM,GAAG,MAAO,KAAa,CAAC,cAAc,CAAC,IAAI,EAAE;oBACxD,QAAQ,EAAE,OAAO;oBACjB,UAAU,EAAE,KAAK;oBACjB,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,KAAK;oBACjB,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,CAAC,MAAM,CAAC;iBACjB,CAAC,CAAC;gBACH,IAAI,MAAM,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;gBACzC,CAAC;YACF,CAAC;YAAC,MAAM,CAAC;gBACR,kCAAkC;YACnC,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;KACD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,WAAoB;IAC/D,OAAO;QACN,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,MAAM;QACf,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE;YACvB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,GAAG,CAAC;YAC5F,oBAAoB;YACpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC5C,IAAI,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;YACvD,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,yBAAyB,CAAC,WAAW,CAAC,CAAC;YAC7E,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY;gBAAE,OAAO,IAAI,CAAC;YACzC,IAAI,CAAC;gBACJ,IAAI,KAAK,EAAE,CAAC;oBACX,IAAI,CAAC;wBACJ,OAAO,CAAC,GAAG,CAAC,wCAAwC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5E,CAAC;oBAAC,MAAM,CAAC,CAAA,CAAC;gBACX,CAAC;gBACD,MAAM,MAAM,GAAG,MAAO,KAAa,CAAC,cAAc,CAAC,IAAI,EAAE;oBACxD,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7B,UAAU,EAAE,KAAK;oBACjB,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,KAAK;oBACjB,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,CAAC,YAAY,CAAC;iBACvB,CAAC,CAAC;gBACH,IAAI,MAAM,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;gBACzC,CAAC;YACF,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,OAAO,IAAI,CAAC;QACb,CAAC;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"angular-linker.js","sourceRoot":"","sources":["../../../../../packages/vite/helpers/angular/angular-linker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Vite-side helper that injects HMR self-registration calls into the
3
+ * compiled output of user `.ts` files that declare `@Component`-
4
+ * decorated classes.
5
+ *
6
+ * After an HMR reboot, the global `__NS_HMR_REGISTER_COMPONENT__` hook
7
+ * (installed by `@nativescript/angular`) records each fresh class
8
+ * keyed by source name. HMR helpers (modal restore, route replay) read
9
+ * the registry to re-attach to the live class. See
10
+ * `hmr-class-registry.ts` for the runtime side of the contract.
11
+ *
12
+ * The helper exposes two phases used by complementary Vite plugins:
13
+ * 1. `findComponentClassNames(rawTs)` — scans the user's raw TS
14
+ * source for `@Component`-decorated classes. Used by an
15
+ * `enforce: 'pre'` plugin to discover names BEFORE the Analog
16
+ * Angular plugin compiles the file. The discovery has to happen
17
+ * on raw TS because the Angular plugin rewrites the `@Component`
18
+ * decorator into static metadata calls (`ɵsetClassMetadata`,
19
+ * `ɵɵdefineComponent`) and removes the textual `@Component(...)`
20
+ * pattern.
21
+ * 2. `appendComponentHmrRegistration(compiledCode, names)` — appends
22
+ * the registration snippet to the END of compiled JS produced by
23
+ * the Analog Angular plugin. Used by an `enforce: 'post'` plugin.
24
+ * Appending here is the only reliable insertion point because:
25
+ * - Class declarations are evaluated and bound by then.
26
+ * - Angular's static metadata (`ɵcmp`/`ɵfac`) has finished
27
+ * attaching, so the registered class identity already
28
+ * carries the up-to-date component definition.
29
+ * - The Analog Angular plugin's `transform` discards anything
30
+ * appended before its compilation step (it returns code
31
+ * regenerated from its own `outputFiles` cache, not the
32
+ * input passed in). Verified directly in the plugin chain.
33
+ * - Source-map line offsets for the original module body are
34
+ * preserved (we only append).
35
+ *
36
+ * The legacy `injectComponentHmrRegistration(rawTs)` helper is kept
37
+ * for backward compatibility — it appends to raw TS in a single call —
38
+ * but is no longer the path used by the live HMR pipeline (its output
39
+ * is silently dropped by the Angular plugin for `@Component` files).
40
+ *
41
+ * The helpers are dev-only: production builds skip the Vite plugins
42
+ * (`apply: 'serve'`), and the runtime hook short-circuits when
43
+ * `isAngularHmrEnabled()` is false.
44
+ */
45
+ /**
46
+ * Marker comment placed immediately before the appended registration
47
+ * block. Plugins can scan for this string to make their work
48
+ * idempotent across re-transforms (the Vite cache may replay the
49
+ * transform pipeline on cached modules).
50
+ */
51
+ export declare const INJECTION_MARKER = "/* @nativescript/vite ns-hmr-register */";
52
+ export interface InjectComponentHmrRegistrationOptions {
53
+ /**
54
+ * Optional override of the global hook name. Defaults to
55
+ * `__NS_HMR_REGISTER_COMPONENT__`. Exposed for tests; production
56
+ * callers should keep the default.
57
+ */
58
+ hookName?: string;
59
+ }
60
+ export interface InjectComponentHmrRegistrationResult {
61
+ /** New code, or `null` if no transformation is needed. */
62
+ code: string | null;
63
+ /** Names of `@Component` classes detected in the file. */
64
+ componentNames: string[];
65
+ }
66
+ /**
67
+ * Build the trailing snippet that registers each component class with
68
+ * the global HMR hook. Pure string construction — exposed so the post-
69
+ * Angular plugin can append it to compiled output without re-scanning
70
+ * for class names (the pre plugin already scanned the raw TS source).
71
+ *
72
+ * Returns an empty string when `componentNames` is empty so callers
73
+ * can concatenate unconditionally.
74
+ */
75
+ export declare function buildComponentHmrRegistrationSuffix(componentNames: string[], options?: InjectComponentHmrRegistrationOptions): string;
76
+ /**
77
+ * Append the registration snippet to a piece of code (typically the
78
+ * compiled output from `@analogjs/vite-plugin-angular`) using a list
79
+ * of component names previously discovered in the raw TS source.
80
+ *
81
+ * Returns `{ code: null, componentNames: [] }` if `componentNames`
82
+ * is empty or if the code already contains the injection marker
83
+ * (idempotent re-transform case).
84
+ */
85
+ export declare function appendComponentHmrRegistration(code: string, componentNames: string[], options?: InjectComponentHmrRegistrationOptions): InjectComponentHmrRegistrationResult;
86
+ /**
87
+ * Legacy helper: scan raw TypeScript source for `@Component` classes
88
+ * and append registration calls. Retained for tests and for any
89
+ * caller running outside the post-Angular plugin chain.
90
+ *
91
+ * NOTE: For files compiled by `@analogjs/vite-plugin-angular`, this
92
+ * helper's output is discarded — the Angular plugin replaces the
93
+ * input code with the regenerated compiled output from its internal
94
+ * `outputFiles` cache. Use `findComponentClassNames(rawTs)` +
95
+ * `appendComponentHmrRegistration(compiledCode, names)` from a
96
+ * `enforce: 'post'` plugin to survive that compilation step.
97
+ */
98
+ export declare function injectComponentHmrRegistration(code: string, options?: InjectComponentHmrRegistrationOptions): InjectComponentHmrRegistrationResult;
99
+ /**
100
+ * Walk a TS source string and collect class names declared after a
101
+ * `@Component(...)` decorator. Supports:
102
+ * - `export class Foo` and bare `class Foo`
103
+ * - `abstract class Foo` (rare for @Component but allowed)
104
+ * - Any number of additional decorators stacked between `@Component`
105
+ * and the class keyword (e.g. `@Component({}) @SomethingElse() ...`)
106
+ *
107
+ * Skips matches that fall inside string literals or comments. Uses a
108
+ * paren-matching scanner instead of regex `[\s\S]*?` so multi-line
109
+ * decorator arguments (templates, styles arrays) don't trip up the
110
+ * scanner.
111
+ */
112
+ export declare function findComponentClassNames(code: string): string[];