@nativescript/vite 8.0.0-alpha.5 → 8.0.0-alpha.50

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 (424) hide show
  1. package/README.md +51 -11
  2. package/bin/cli.cjs +8 -14
  3. package/configuration/angular.d.ts +34 -1
  4. package/configuration/angular.js +376 -165
  5. package/configuration/angular.js.map +1 -1
  6. package/configuration/base.js +241 -51
  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-state.d.ts +8 -0
  19. package/helpers/app-css-state.js +8 -0
  20. package/helpers/app-css-state.js.map +1 -0
  21. package/helpers/bundler-context.d.ts +11 -0
  22. package/helpers/bundler-context.js +71 -0
  23. package/helpers/bundler-context.js.map +1 -0
  24. package/helpers/cli-flags.d.ts +12 -0
  25. package/helpers/cli-flags.js +34 -0
  26. package/helpers/cli-flags.js.map +1 -1
  27. package/helpers/css-platform-plugin.d.ts +14 -0
  28. package/helpers/css-platform-plugin.js +43 -25
  29. package/helpers/css-platform-plugin.js.map +1 -1
  30. package/helpers/dev-host.d.ts +360 -0
  31. package/helpers/dev-host.js +694 -0
  32. package/helpers/dev-host.js.map +1 -0
  33. package/helpers/dynamic-import-plugin.js +1 -1
  34. package/helpers/dynamic-import-plugin.js.map +1 -1
  35. package/helpers/esbuild-platform-resolver.js +4 -1
  36. package/helpers/esbuild-platform-resolver.js.map +1 -1
  37. package/helpers/external-configs.d.ts +10 -12
  38. package/helpers/external-configs.js +58 -35
  39. package/helpers/external-configs.js.map +1 -1
  40. package/helpers/global-defines.d.ts +142 -0
  41. package/helpers/global-defines.js +213 -11
  42. package/helpers/global-defines.js.map +1 -1
  43. package/helpers/hmr-scope.d.ts +26 -0
  44. package/helpers/hmr-scope.js +67 -0
  45. package/helpers/hmr-scope.js.map +1 -0
  46. package/helpers/init.js +0 -18
  47. package/helpers/init.js.map +1 -1
  48. package/helpers/logging.d.ts +1 -0
  49. package/helpers/logging.js +65 -4
  50. package/helpers/logging.js.map +1 -1
  51. package/helpers/main-entry.d.ts +3 -1
  52. package/helpers/main-entry.js +301 -53
  53. package/helpers/main-entry.js.map +1 -1
  54. package/helpers/nativeclass-esbuild-plugin.d.ts +2 -1
  55. package/helpers/nativeclass-esbuild-plugin.js.map +1 -1
  56. package/helpers/nativeclass-transform.js +5 -6
  57. package/helpers/nativeclass-transform.js.map +1 -1
  58. package/helpers/nativeclass-transformer-plugin.d.ts +9 -2
  59. package/helpers/nativeclass-transformer-plugin.js +157 -14
  60. package/helpers/nativeclass-transformer-plugin.js.map +1 -1
  61. package/helpers/nativescript-package-resolver.js +10 -62
  62. package/helpers/nativescript-package-resolver.js.map +1 -1
  63. package/helpers/normalize-id.d.ts +42 -0
  64. package/helpers/normalize-id.js +60 -0
  65. package/helpers/normalize-id.js.map +1 -0
  66. package/helpers/ns-core-url.d.ts +29 -7
  67. package/helpers/ns-core-url.js +69 -12
  68. package/helpers/ns-core-url.js.map +1 -1
  69. package/helpers/optimize-deps.d.ts +16 -0
  70. package/helpers/optimize-deps.js +17 -0
  71. package/helpers/optimize-deps.js.map +1 -0
  72. package/helpers/package-platform-aliases.js +34 -49
  73. package/helpers/package-platform-aliases.js.map +1 -1
  74. package/helpers/platform-types.d.ts +2 -0
  75. package/helpers/platform-types.js +2 -0
  76. package/helpers/platform-types.js.map +1 -0
  77. package/helpers/postcss-platform-config.d.ts +17 -1
  78. package/helpers/postcss-platform-config.js +20 -37
  79. package/helpers/postcss-platform-config.js.map +1 -1
  80. package/helpers/project.d.ts +35 -0
  81. package/helpers/project.js +120 -2
  82. package/helpers/project.js.map +1 -1
  83. package/helpers/resolve-main-field-platform.d.ts +20 -0
  84. package/helpers/resolve-main-field-platform.js +49 -0
  85. package/helpers/resolve-main-field-platform.js.map +1 -0
  86. package/helpers/resolver.js +17 -2
  87. package/helpers/resolver.js.map +1 -1
  88. package/helpers/theme-core-plugins.js +1 -1
  89. package/helpers/theme-core-plugins.js.map +1 -1
  90. package/helpers/ts-config-paths.d.ts +14 -0
  91. package/helpers/ts-config-paths.js +90 -9
  92. package/helpers/ts-config-paths.js.map +1 -1
  93. package/helpers/typescript-check.d.ts +2 -1
  94. package/helpers/typescript-check.js +2 -2
  95. package/helpers/typescript-check.js.map +1 -1
  96. package/helpers/ui-registration.d.ts +21 -0
  97. package/helpers/ui-registration.js +156 -0
  98. package/helpers/ui-registration.js.map +1 -0
  99. package/helpers/utils.d.ts +9 -0
  100. package/helpers/utils.js +22 -2
  101. package/helpers/utils.js.map +1 -1
  102. package/helpers/workers.d.ts +20 -19
  103. package/helpers/workers.js +624 -4
  104. package/helpers/workers.js.map +1 -1
  105. package/hmr/client/css-handler.d.ts +2 -1
  106. package/hmr/client/css-handler.js +50 -26
  107. package/hmr/client/css-handler.js.map +1 -1
  108. package/hmr/client/css-update-overlay.d.ts +18 -0
  109. package/hmr/client/css-update-overlay.js +27 -0
  110. package/hmr/client/css-update-overlay.js.map +1 -0
  111. package/hmr/client/framework-client-strategy.d.ts +79 -0
  112. package/hmr/client/framework-client-strategy.js +19 -0
  113. package/hmr/client/framework-client-strategy.js.map +1 -0
  114. package/hmr/client/hmr-pending-overlay.d.ts +13 -0
  115. package/hmr/client/hmr-pending-overlay.js +60 -0
  116. package/hmr/client/hmr-pending-overlay.js.map +1 -0
  117. package/hmr/client/index.js +891 -220
  118. package/hmr/client/index.js.map +1 -1
  119. package/hmr/client/utils.d.ts +7 -1
  120. package/hmr/client/utils.js +207 -29
  121. package/hmr/client/utils.js.map +1 -1
  122. package/hmr/entry-runtime.d.ts +2 -1
  123. package/hmr/entry-runtime.js +256 -69
  124. package/hmr/entry-runtime.js.map +1 -1
  125. package/hmr/frameworks/angular/build/angular-linker.d.ts +12 -0
  126. package/hmr/frameworks/angular/build/angular-linker.js +109 -0
  127. package/hmr/frameworks/angular/build/angular-linker.js.map +1 -0
  128. package/hmr/frameworks/angular/build/inject-component-hmr-registration.d.ts +112 -0
  129. package/hmr/frameworks/angular/build/inject-component-hmr-registration.js +291 -0
  130. package/hmr/frameworks/angular/build/inject-component-hmr-registration.js.map +1 -0
  131. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.d.ts +75 -0
  132. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js +221 -0
  133. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js.map +1 -0
  134. package/{helpers/angular → hmr/frameworks/angular/build}/inline-decorator-component-templates.js +1 -170
  135. package/hmr/frameworks/angular/build/inline-decorator-component-templates.js.map +1 -0
  136. package/hmr/frameworks/angular/build/js-lexer.d.ts +4 -0
  137. package/{helpers/angular/synthesize-decorator-ctor-parameters.js → hmr/frameworks/angular/build/js-lexer.js} +22 -96
  138. package/hmr/frameworks/angular/build/js-lexer.js.map +1 -0
  139. package/hmr/frameworks/angular/build/shared-linker.d.ts +39 -0
  140. package/hmr/frameworks/angular/build/shared-linker.js +128 -0
  141. package/hmr/frameworks/angular/build/shared-linker.js.map +1 -0
  142. package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js +88 -0
  143. package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js.map +1 -0
  144. package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-injectable-factories.js +1 -174
  145. package/hmr/frameworks/angular/build/synthesize-injectable-factories.js.map +1 -0
  146. package/{helpers/angular → hmr/frameworks/angular/build}/util.d.ts +1 -0
  147. package/hmr/frameworks/angular/build/util.js +155 -0
  148. package/hmr/frameworks/angular/build/util.js.map +1 -0
  149. package/hmr/frameworks/angular/client/index.d.ts +1 -0
  150. package/hmr/frameworks/angular/client/index.js +859 -21
  151. package/hmr/frameworks/angular/client/index.js.map +1 -1
  152. package/hmr/frameworks/angular/client/strategy.d.ts +9 -0
  153. package/hmr/frameworks/angular/client/strategy.js +19 -0
  154. package/hmr/frameworks/angular/client/strategy.js.map +1 -0
  155. package/hmr/frameworks/angular/server/angular-root-component.d.ts +79 -0
  156. package/hmr/frameworks/angular/server/angular-root-component.js +149 -0
  157. package/hmr/frameworks/angular/server/angular-root-component.js.map +1 -0
  158. package/hmr/frameworks/angular/server/linker.js +1 -4
  159. package/hmr/frameworks/angular/server/linker.js.map +1 -1
  160. package/hmr/frameworks/angular/server/strategy.js +460 -12
  161. package/hmr/frameworks/angular/server/strategy.js.map +1 -1
  162. package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.js +2 -2
  163. package/hmr/frameworks/angular/server/websocket-angular-entry.js.map +1 -0
  164. package/hmr/{server → frameworks/angular/server}/websocket-angular-hot-update.d.ts +17 -11
  165. package/hmr/frameworks/angular/server/websocket-angular-hot-update.js +336 -0
  166. package/hmr/frameworks/angular/server/websocket-angular-hot-update.js.map +1 -0
  167. package/hmr/frameworks/react/server/strategy.d.ts +2 -0
  168. package/hmr/frameworks/react/server/strategy.js +150 -0
  169. package/hmr/frameworks/react/server/strategy.js.map +1 -0
  170. package/hmr/frameworks/solid/build/solid-jsx-deps.d.ts +15 -0
  171. package/hmr/frameworks/solid/build/solid-jsx-deps.js +178 -0
  172. package/hmr/frameworks/solid/build/solid-jsx-deps.js.map +1 -0
  173. package/hmr/frameworks/solid/client/app-runtime.d.ts +54 -0
  174. package/hmr/frameworks/solid/client/app-runtime.js +184 -0
  175. package/hmr/frameworks/solid/client/app-runtime.js.map +1 -0
  176. package/hmr/frameworks/solid/server/strategy.js +291 -16
  177. package/hmr/frameworks/solid/server/strategy.js.map +1 -1
  178. package/hmr/frameworks/typescript/server/strategy.js +38 -14
  179. package/hmr/frameworks/typescript/server/strategy.js.map +1 -1
  180. package/hmr/frameworks/vue/client/dep-propagation.d.ts +36 -0
  181. package/hmr/frameworks/vue/client/dep-propagation.js +101 -0
  182. package/hmr/frameworks/vue/client/dep-propagation.js.map +1 -0
  183. package/hmr/frameworks/vue/client/index.d.ts +8 -0
  184. package/hmr/frameworks/vue/client/index.js +56 -243
  185. package/hmr/frameworks/vue/client/index.js.map +1 -1
  186. package/hmr/frameworks/vue/client/strategy.d.ts +33 -0
  187. package/hmr/frameworks/vue/client/strategy.js +157 -0
  188. package/hmr/frameworks/vue/client/strategy.js.map +1 -0
  189. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.d.ts +49 -0
  190. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js +142 -0
  191. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js.map +1 -0
  192. package/hmr/frameworks/vue/server/sfc-route-assemble.d.ts +7 -0
  193. package/hmr/frameworks/vue/server/sfc-route-assemble.js +747 -0
  194. package/hmr/frameworks/vue/server/sfc-route-assemble.js.map +1 -0
  195. package/hmr/frameworks/vue/server/sfc-route-meta.d.ts +7 -0
  196. package/hmr/frameworks/vue/server/sfc-route-meta.js +80 -0
  197. package/hmr/frameworks/vue/server/sfc-route-meta.js.map +1 -0
  198. package/hmr/frameworks/vue/server/sfc-route-serve.d.ts +8 -0
  199. package/hmr/frameworks/vue/server/sfc-route-serve.js +459 -0
  200. package/hmr/frameworks/vue/server/sfc-route-serve.js.map +1 -0
  201. package/hmr/frameworks/vue/server/sfc-route-shared.d.ts +38 -0
  202. package/hmr/frameworks/vue/server/sfc-route-shared.js +48 -0
  203. package/hmr/frameworks/vue/server/sfc-route-shared.js.map +1 -0
  204. package/hmr/frameworks/vue/server/strategy.d.ts +35 -0
  205. package/hmr/frameworks/vue/server/strategy.js +278 -1
  206. package/hmr/frameworks/vue/server/strategy.js.map +1 -1
  207. package/hmr/frameworks/vue/server/websocket-sfc.d.ts +15 -0
  208. package/hmr/frameworks/vue/server/websocket-sfc.js +20 -0
  209. package/hmr/frameworks/vue/server/websocket-sfc.js.map +1 -0
  210. package/hmr/helpers/ast-normalizer.d.ts +3 -1
  211. package/hmr/helpers/ast-normalizer.js +77 -10
  212. package/hmr/helpers/ast-normalizer.js.map +1 -1
  213. package/hmr/helpers/cjs-named-exports.d.ts +23 -0
  214. package/hmr/helpers/cjs-named-exports.js +152 -0
  215. package/hmr/helpers/cjs-named-exports.js.map +1 -0
  216. package/hmr/helpers/package-exports.d.ts +16 -0
  217. package/hmr/helpers/package-exports.js +396 -0
  218. package/hmr/helpers/package-exports.js.map +1 -0
  219. package/hmr/server/constants.js +20 -5
  220. package/hmr/server/constants.js.map +1 -1
  221. package/hmr/server/core-sanitize.d.ts +86 -7
  222. package/hmr/server/core-sanitize.js +170 -45
  223. package/hmr/server/core-sanitize.js.map +1 -1
  224. package/hmr/server/device-transform-helpers.d.ts +24 -0
  225. package/hmr/server/device-transform-helpers.js +408 -0
  226. package/hmr/server/device-transform-helpers.js.map +1 -0
  227. package/hmr/server/framework-strategy.d.ts +108 -11
  228. package/hmr/server/hmr-module-graph.d.ts +37 -0
  229. package/hmr/server/hmr-module-graph.js +214 -0
  230. package/hmr/server/hmr-module-graph.js.map +1 -0
  231. package/hmr/server/import-map.d.ts +11 -2
  232. package/hmr/server/import-map.js +92 -45
  233. package/hmr/server/import-map.js.map +1 -1
  234. package/hmr/server/index.js +7 -16
  235. package/hmr/server/index.js.map +1 -1
  236. package/hmr/server/ns-core-cjs-shape.d.ts +2 -4
  237. package/hmr/server/ns-core-cjs-shape.js +4 -6
  238. package/hmr/server/ns-core-cjs-shape.js.map +1 -1
  239. package/hmr/server/ns-rt-bridge.d.ts +51 -0
  240. package/hmr/server/ns-rt-bridge.js +131 -0
  241. package/hmr/server/ns-rt-bridge.js.map +1 -0
  242. package/hmr/server/ns-rt-route.d.ts +5 -0
  243. package/hmr/server/ns-rt-route.js +38 -0
  244. package/hmr/server/ns-rt-route.js.map +1 -0
  245. package/hmr/server/perf-instrumentation.d.ts +114 -0
  246. package/hmr/server/perf-instrumentation.js +197 -0
  247. package/hmr/server/perf-instrumentation.js.map +1 -0
  248. package/hmr/server/process-code-for-device.d.ts +14 -0
  249. package/hmr/server/process-code-for-device.js +699 -0
  250. package/hmr/server/process-code-for-device.js.map +1 -0
  251. package/hmr/server/require-guard.d.ts +1 -0
  252. package/hmr/server/require-guard.js +12 -0
  253. package/hmr/server/require-guard.js.map +1 -0
  254. package/hmr/server/rewrite-imports.d.ts +2 -0
  255. package/hmr/server/rewrite-imports.js +630 -0
  256. package/hmr/server/rewrite-imports.js.map +1 -0
  257. package/hmr/server/route-helpers.d.ts +7 -0
  258. package/hmr/server/route-helpers.js +13 -0
  259. package/hmr/server/route-helpers.js.map +1 -0
  260. package/hmr/server/server-origin.d.ts +2 -0
  261. package/hmr/server/server-origin.js +83 -0
  262. package/hmr/server/server-origin.js.map +1 -0
  263. package/hmr/server/shared-transform-request.js +13 -7
  264. package/hmr/server/shared-transform-request.js.map +1 -1
  265. package/hmr/server/transform-cache-invalidation.d.ts +37 -0
  266. package/hmr/server/transform-cache-invalidation.js +156 -0
  267. package/hmr/server/transform-cache-invalidation.js.map +1 -0
  268. package/hmr/server/vendor-bare-module-shims.d.ts +4 -0
  269. package/hmr/server/vendor-bare-module-shims.js +80 -0
  270. package/hmr/server/vendor-bare-module-shims.js.map +1 -0
  271. package/hmr/server/vite-plugin.js +78 -42
  272. package/hmr/server/vite-plugin.js.map +1 -1
  273. package/hmr/server/websocket-core-bridge.d.ts +45 -4
  274. package/hmr/server/websocket-core-bridge.js +50 -48
  275. package/hmr/server/websocket-core-bridge.js.map +1 -1
  276. package/hmr/server/websocket-css-hot-update.d.ts +33 -0
  277. package/hmr/server/websocket-css-hot-update.js +65 -0
  278. package/hmr/server/websocket-css-hot-update.js.map +1 -0
  279. package/hmr/server/websocket-device-transform.d.ts +3 -0
  280. package/hmr/server/websocket-device-transform.js +7 -0
  281. package/hmr/server/websocket-device-transform.js.map +1 -0
  282. package/hmr/server/websocket-graph-upsert.d.ts +15 -0
  283. package/hmr/server/websocket-graph-upsert.js +20 -0
  284. package/hmr/server/websocket-graph-upsert.js.map +1 -1
  285. package/hmr/server/websocket-hmr-pending.d.ts +37 -0
  286. package/hmr/server/websocket-hmr-pending.js +55 -0
  287. package/hmr/server/websocket-hmr-pending.js.map +1 -0
  288. package/hmr/server/websocket-hot-update.d.ts +77 -0
  289. package/hmr/server/websocket-hot-update.js +360 -0
  290. package/hmr/server/websocket-hot-update.js.map +1 -0
  291. package/hmr/server/websocket-import-map-route.d.ts +15 -0
  292. package/hmr/server/websocket-import-map-route.js +50 -0
  293. package/hmr/server/websocket-import-map-route.js.map +1 -0
  294. package/hmr/server/websocket-module-bindings.js +3 -3
  295. package/hmr/server/websocket-module-bindings.js.map +1 -1
  296. package/hmr/server/websocket-module-specifiers.d.ts +66 -2
  297. package/hmr/server/websocket-module-specifiers.js +191 -20
  298. package/hmr/server/websocket-module-specifiers.js.map +1 -1
  299. package/hmr/server/websocket-ns-core.d.ts +21 -0
  300. package/hmr/server/websocket-ns-core.js +311 -0
  301. package/hmr/server/websocket-ns-core.js.map +1 -0
  302. package/hmr/server/websocket-ns-entry.d.ts +21 -0
  303. package/hmr/server/websocket-ns-entry.js +164 -0
  304. package/hmr/server/websocket-ns-entry.js.map +1 -0
  305. package/hmr/server/websocket-ns-m-paths.d.ts +1 -1
  306. package/hmr/server/websocket-ns-m-paths.js +58 -13
  307. package/hmr/server/websocket-ns-m-paths.js.map +1 -1
  308. package/hmr/server/websocket-ns-m-request.d.ts +11 -1
  309. package/hmr/server/websocket-ns-m-request.js +18 -25
  310. package/hmr/server/websocket-ns-m-request.js.map +1 -1
  311. package/hmr/server/websocket-ns-m.d.ts +33 -0
  312. package/hmr/server/websocket-ns-m.js +752 -0
  313. package/hmr/server/websocket-ns-m.js.map +1 -0
  314. package/hmr/server/websocket-served-module-helpers.d.ts +49 -3
  315. package/hmr/server/websocket-served-module-helpers.js +403 -87
  316. package/hmr/server/websocket-served-module-helpers.js.map +1 -1
  317. package/hmr/server/websocket-txn.js +2 -8
  318. package/hmr/server/websocket-txn.js.map +1 -1
  319. package/hmr/server/websocket-vendor-unifier.d.ts +0 -1
  320. package/hmr/server/websocket-vendor-unifier.js +4 -9
  321. package/hmr/server/websocket-vendor-unifier.js.map +1 -1
  322. package/hmr/server/websocket.d.ts +8 -39
  323. package/hmr/server/websocket.js +608 -6300
  324. package/hmr/server/websocket.js.map +1 -1
  325. package/hmr/shared/ns-globals.d.ts +118 -0
  326. package/hmr/shared/ns-globals.js +29 -0
  327. package/hmr/shared/ns-globals.js.map +1 -0
  328. package/hmr/shared/protocol.d.ts +145 -0
  329. package/hmr/shared/protocol.js +28 -0
  330. package/hmr/shared/protocol.js.map +1 -0
  331. package/hmr/shared/runtime/boot-placeholder-ui.d.ts +69 -0
  332. package/hmr/shared/runtime/boot-placeholder-ui.js +101 -0
  333. package/hmr/shared/runtime/boot-placeholder-ui.js.map +1 -0
  334. package/hmr/shared/runtime/boot-progress.d.ts +44 -0
  335. package/hmr/shared/runtime/boot-progress.js +133 -0
  336. package/hmr/shared/runtime/boot-progress.js.map +1 -0
  337. package/hmr/shared/runtime/boot-timeline.d.ts +18 -0
  338. package/hmr/shared/runtime/boot-timeline.js +42 -0
  339. package/hmr/shared/runtime/boot-timeline.js.map +1 -0
  340. package/hmr/shared/runtime/browser-runtime-contract.js.map +1 -1
  341. package/hmr/shared/runtime/dev-overlay-snapshots.d.ts +31 -0
  342. package/hmr/shared/runtime/dev-overlay-snapshots.js +324 -0
  343. package/hmr/shared/runtime/dev-overlay-snapshots.js.map +1 -0
  344. package/hmr/shared/runtime/dev-overlay.d.ts +119 -26
  345. package/hmr/shared/runtime/dev-overlay.js +1196 -262
  346. package/hmr/shared/runtime/dev-overlay.js.map +1 -1
  347. package/hmr/shared/runtime/global-scope.d.ts +18 -0
  348. package/hmr/shared/runtime/global-scope.js +21 -0
  349. package/hmr/shared/runtime/global-scope.js.map +1 -0
  350. package/hmr/shared/runtime/hooks.js +2 -1
  351. package/hmr/shared/runtime/hooks.js.map +1 -1
  352. package/hmr/shared/runtime/http-only-boot.js +7 -6
  353. package/hmr/shared/runtime/http-only-boot.js.map +1 -1
  354. package/hmr/shared/runtime/module-provenance.js +4 -6
  355. package/hmr/shared/runtime/module-provenance.js.map +1 -1
  356. package/hmr/shared/runtime/root-placeholder-view.d.ts +19 -0
  357. package/hmr/shared/runtime/root-placeholder-view.js +311 -0
  358. package/hmr/shared/runtime/root-placeholder-view.js.map +1 -0
  359. package/hmr/shared/runtime/root-placeholder.js +393 -200
  360. package/hmr/shared/runtime/root-placeholder.js.map +1 -1
  361. package/hmr/shared/runtime/session-bootstrap.js +168 -4
  362. package/hmr/shared/runtime/session-bootstrap.js.map +1 -1
  363. package/hmr/shared/runtime/vendor-bootstrap.js +3 -10
  364. package/hmr/shared/runtime/vendor-bootstrap.js.map +1 -1
  365. package/hmr/shared/vendor/manifest-collect.d.ts +4 -0
  366. package/hmr/shared/vendor/manifest-collect.js +549 -0
  367. package/hmr/shared/vendor/manifest-collect.js.map +1 -0
  368. package/hmr/shared/vendor/manifest-loader.d.ts +2 -1
  369. package/hmr/shared/vendor/manifest-loader.js +5 -3
  370. package/hmr/shared/vendor/manifest-loader.js.map +1 -1
  371. package/hmr/shared/vendor/manifest.d.ts +1 -7
  372. package/hmr/shared/vendor/manifest.js +84 -819
  373. package/hmr/shared/vendor/manifest.js.map +1 -1
  374. package/hmr/shared/vendor/vendor-device-shim.d.ts +1 -0
  375. package/hmr/shared/vendor/vendor-device-shim.js +208 -0
  376. package/hmr/shared/vendor/vendor-device-shim.js.map +1 -0
  377. package/hmr/shared/vendor/vendor-esbuild-plugins.d.ts +38 -0
  378. package/hmr/shared/vendor/vendor-esbuild-plugins.js +296 -0
  379. package/hmr/shared/vendor/vendor-esbuild-plugins.js.map +1 -0
  380. package/hmr/vendor-bootstrap.d.ts +1 -3
  381. package/hmr/vendor-bootstrap.js +4 -6
  382. package/hmr/vendor-bootstrap.js.map +1 -1
  383. package/index.d.ts +1 -0
  384. package/index.js +5 -0
  385. package/index.js.map +1 -1
  386. package/package.json +61 -11
  387. package/runtime/core-aliases-early.js +25 -55
  388. package/runtime/core-aliases-early.js.map +1 -1
  389. package/shims/react-jsx-runtime.d.ts +4 -0
  390. package/shims/react-jsx-runtime.js +37 -0
  391. package/shims/react-jsx-runtime.js.map +1 -0
  392. package/helpers/angular/angular-linker.d.ts +0 -13
  393. package/helpers/angular/angular-linker.js +0 -194
  394. package/helpers/angular/angular-linker.js.map +0 -1
  395. package/helpers/angular/inline-decorator-component-templates.js.map +0 -1
  396. package/helpers/angular/shared-linker.d.ts +0 -11
  397. package/helpers/angular/shared-linker.js +0 -75
  398. package/helpers/angular/shared-linker.js.map +0 -1
  399. package/helpers/angular/synthesize-decorator-ctor-parameters.js.map +0 -1
  400. package/helpers/angular/synthesize-injectable-factories.js.map +0 -1
  401. package/helpers/angular/util.js +0 -67
  402. package/helpers/angular/util.js.map +0 -1
  403. package/helpers/prelink-angular.d.ts +0 -2
  404. package/helpers/prelink-angular.js +0 -117
  405. package/helpers/prelink-angular.js.map +0 -1
  406. package/hmr/server/websocket-angular-entry.js.map +0 -1
  407. package/hmr/server/websocket-angular-hot-update.js +0 -239
  408. package/hmr/server/websocket-angular-hot-update.js.map +0 -1
  409. package/hmr/server/websocket-ns-m-finalize.d.ts +0 -22
  410. package/hmr/server/websocket-ns-m-finalize.js +0 -88
  411. package/hmr/server/websocket-ns-m-finalize.js.map +0 -1
  412. package/hmr/server/websocket-runtime-compat.d.ts +0 -19
  413. package/hmr/server/websocket-runtime-compat.js +0 -286
  414. package/hmr/server/websocket-runtime-compat.js.map +0 -1
  415. package/hmr/server/websocket-vue-sfc.d.ts +0 -27
  416. package/hmr/server/websocket-vue-sfc.js +0 -1117
  417. package/hmr/server/websocket-vue-sfc.js.map +0 -1
  418. package/transformers/NativeClass/index.d.ts +0 -2
  419. package/transformers/NativeClass/index.js +0 -222
  420. package/transformers/NativeClass/index.js.map +0 -1
  421. /package/{helpers/angular → hmr/frameworks/angular/build}/inline-decorator-component-templates.d.ts +0 -0
  422. /package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-decorator-ctor-parameters.d.ts +0 -0
  423. /package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-injectable-factories.d.ts +0 -0
  424. /package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.d.ts +0 -0
@@ -0,0 +1,549 @@
1
+ import path from 'path';
2
+ import fs, { readFileSync } from 'fs';
3
+ import { createRequire } from 'node:module';
4
+ // Do not force-include @nativescript/core in the dev vendor bundle.
5
+ // Keeping core out of vendor avoids duplicate side-effect registrations (e.g.,
6
+ // com.tns.FragmentClass, com.tns.NativeScriptActivity) across bundle.mjs and vendor.
7
+ // Force runtime-sensitive packages onto the vendor path so they do not drift
8
+ // between startup bundle, HTTP-wrapped CommonJS, and base-require semantics
9
+ // during HMR sessions.
10
+ const ALWAYS_INCLUDE = new Set(['stacktrace-js']);
11
+ const ALWAYS_EXCLUDE = new Set([
12
+ '@nativescript/android',
13
+ '@nativescript/ios',
14
+ '@nativescript/types',
15
+ '@nativescript/webpack',
16
+ // Angular browser animations are not used in NativeScript; excluding reduces
17
+ // memory pressure and avoids bringing partial declarations into vendor.
18
+ '@angular/animations',
19
+ '@angular/platform-browser/animations',
20
+ // Not needed at runtime with linked partials; reduce vendor size/memory.
21
+ '@angular/platform-browser-dynamic',
22
+ // Native add-on helpers pulled by ws or others; exclude in NS dev vendor
23
+ 'bufferutil',
24
+ 'utf-8-validate',
25
+ 'node-gyp-build',
26
+ 'bufferutil',
27
+ 'utf-8-validate',
28
+ 'node-gyp-build',
29
+ // All @babel/* and babel-* packages are build-time tools, never runtime deps.
30
+ // They get pulled in as peer deps of packages like @nativescript-community/solid-js
31
+ // but should never be in the vendor bundle (they require 'fs', 'path', etc.).
32
+ '@babel/core',
33
+ '@babel/helper-plugin-utils',
34
+ '@babel/generator',
35
+ '@babel/helper-string-parser',
36
+ '@babel/helper-validator-identifier',
37
+ '@babel/parser',
38
+ '@babel/plugin-syntax-typescript',
39
+ '@babel/plugin-transform-typescript',
40
+ '@babel/preset-typescript',
41
+ '@babel/preset-env',
42
+ '@babel/types',
43
+ 'babel-preset-solid',
44
+ 'babel-plugin-jsx-dom-expressions',
45
+ // Heavy dependency not needed in vendor dev bundle; fetch via HTTP loader instead
46
+ 'rxjs',
47
+ 'nativescript',
48
+ 'typescript',
49
+ 'ts-node',
50
+ 'vue-tsc',
51
+ 'ws',
52
+ '@types/node',
53
+ 'nativescript-theme-core',
54
+ // Build-time tools that get pulled in as transitive dependencies but should
55
+ // never be in the device vendor bundle (they require Node built-ins like fs,
56
+ // path, child_process, etc.). Now that we collect transitive runtime deps,
57
+ // these need explicit exclusion.
58
+ 'esbuild',
59
+ // Bundlers / dev-server tooling. These get dragged into the vendor set as a
60
+ // peerDependency of runtime packages (e.g. `@tanstack/solid-start` declares
61
+ // `vite` as a peer). Bundling Vite pulls its Node-only core (rolldown, jiti)
62
+ // on-device, whose `import { Buffer } from 'node:buffer'` — plus
63
+ // node:worker_threads/tty/readline/process/… — fails to instantiate on
64
+ // NativeScript's runtime. A bundler must never ship on-device.
65
+ 'vite',
66
+ 'rollup',
67
+ 'rolldown',
68
+ 'prettier',
69
+ 'acorn',
70
+ 'recast',
71
+ 'source-map',
72
+ 'source-map-js',
73
+ 'tsx',
74
+ 'diff',
75
+ 'esprima',
76
+ // TanStack build-time router tooling (code generation, file-based routing)
77
+ '@tanstack/router-plugin',
78
+ '@tanstack/router-generator',
79
+ '@tanstack/router-utils',
80
+ '@tanstack/virtual-file-routes',
81
+ // File system / glob utilities — build-time only, require Node fs
82
+ 'fdir',
83
+ 'picomatch',
84
+ 'tinyglobby',
85
+ // SSR-only library (bot detection) — not needed on device
86
+ 'isbot',
87
+ // Type-only packages with no runtime JavaScript
88
+ 'csstype',
89
+ // NativeScript CLI hook system — build-time only, requires Node os/path
90
+ '@nativescript/hook',
91
+ // Test runner uses webpack's require.context API which doesn't exist in Vite.
92
+ // Including it in the vendor bundle causes __require.context crashes at runtime.
93
+ '@nativescript/unit-test-runner',
94
+ 'nativescript-unit-test-runner',
95
+ // CSS build tools — postcss, tailwindcss, and related tooling are exclusively
96
+ // build-time processors. They require Node APIs (process, fs, path) and must
97
+ // never run on device. esbuild bundles their transitive deps (picocolors,
98
+ // nanoid, etc.) which reference `process` and crash at runtime.
99
+ 'tailwindcss',
100
+ '@nativescript/tailwind',
101
+ 'postcss',
102
+ 'autoprefixer',
103
+ 'postcss-import',
104
+ 'postcss-url',
105
+ 'postcss-nested',
106
+ 'picocolors',
107
+ 'nanoid',
108
+ // Server-side SDKs that require Node networking APIs (net, tls, dns, crypto).
109
+ // These are backend tools, not device-side.
110
+ 'mongodb',
111
+ ]);
112
+ export function collectVendorModules(projectRoot, platform, flavor) {
113
+ const packageJsonPath = path.resolve(projectRoot, 'package.json');
114
+ const pkg = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
115
+ const projectRequire = createRequire(packageJsonPath);
116
+ const debug = process.env.VITE_DEBUG_LOGS === 'true' || process.env.VITE_DEBUG_LOGS === '1';
117
+ const vendor = new Set();
118
+ const visited = new Set();
119
+ const queue = [];
120
+ // Local-source deps (file: pointing to a directory, link:, workspace:) are
121
+ // app code, not pre-packaged libraries. esbuild's vendor pipeline has none
122
+ // of the user's tsconfig path aliases or other Vite plugin resolvers, so
123
+ // any aliased import inside their source will fail with "Could not
124
+ // resolve". We collect their names here so that peer-dep traversal can
125
+ // also skip them.
126
+ const localSourceNames = new Set();
127
+ // Packages the user explicitly opted out of via NS_VENDOR_EXCLUDE. Applied
128
+ // here — not only as the final `vendor.delete()` sweep below — so an excluded
129
+ // package is never queued for peer-dependency traversal. Otherwise it can
130
+ // still drag its peers (notably build tools such as `vite`, declared as a
131
+ // peer of `@tanstack/solid-start`) into the bundle before it is itself
132
+ // removed. Anything genuinely needed at runtime but kept out of vendor is
133
+ // still served over HTTP by the dev server's module loader.
134
+ const envExcludes = new Set(parseEnvList(process.env.NS_VENDOR_EXCLUDE));
135
+ const isPackageRootSpecifier = (name) => {
136
+ if (!name)
137
+ return false;
138
+ if (name.startsWith('@')) {
139
+ // Scoped: @scope/name is root; anything deeper is subpath
140
+ const parts = name.split('/');
141
+ return parts.length === 2;
142
+ }
143
+ // Unscoped: no slash means root; any slash means subpath
144
+ return !name.includes('/');
145
+ };
146
+ const isAngularFlavor = flavor === 'angular';
147
+ const isSolidFlavor = flavor === 'solid';
148
+ const addCandidate = (name) => {
149
+ if (!name || shouldSkipDependency(name)) {
150
+ return;
151
+ }
152
+ // Honor NS_VENDOR_EXCLUDE up front so an opted-out package is neither
153
+ // vendored nor traversed for peers (see envExcludes above).
154
+ if (envExcludes.has(name)) {
155
+ return;
156
+ }
157
+ // Avoid pulling Angular compiler/runtime into the dev vendor bundle when
158
+ // the current project flavor is not Angular (for example, solid). This
159
+ // prevents esbuild from trying to bundle @angular/compiler and its Babel
160
+ // toolchain, which requires Node built-ins like fs/path/url.
161
+ if (!isAngularFlavor && (name === '@angular/compiler' || name.startsWith('@angular/'))) {
162
+ return;
163
+ }
164
+ // For the Solid flavor, keep `solid-js` itself OUT of the vendor bundle.
165
+ //
166
+ // Both `@solid-refresh` (served via HTTP) and Vite-aliased user code
167
+ // import `solid-js` through the dev server, while the vendor bundle
168
+ // pulls it in as a peerDependency of `@nativescript-community/solid-js`.
169
+ // Two copies → two `Owner` module-locals → the proxy memo created by
170
+ // `solid-refresh`'s `HMRComp` is registered on the HTTP copy's Owner
171
+ // (which is always null — hence the
172
+ // `computations created outside a createRoot or render` warning), while
173
+ // `render(App, doc)` runs against the vendor copy's Owner. Same chain
174
+ // breaks HMR propagation: `patchRegistry`'s `setComp` ticks the HTTP
175
+ // copy's signal but the live page tree subscribes through the vendor
176
+ // copy's reactive graph, so the new component body never reaches the
177
+ // screen.
178
+ //
179
+ // We pair this skip with the matching esbuild externalization
180
+ // (`nsSolidJsExternalPlugin`) and an import-map redirect in
181
+ // `import-map.ts` that points `solid-js` at the HTTP URL. All three
182
+ // converge on the same dev-server URL, V8 dedupes by URL, and the
183
+ // app sees a single `solid-js` realm.
184
+ if (isSolidFlavor && name === 'solid-js') {
185
+ return;
186
+ }
187
+ // Skip already-visited packages to avoid redundant queue processing
188
+ if (visited.has(name)) {
189
+ return;
190
+ }
191
+ visited.add(name);
192
+ vendor.add(name);
193
+ const isRoot = isPackageRootSpecifier(name);
194
+ // Only traverse deps for package roots; subpaths should not attempt package.json resolution
195
+ if (isRoot) {
196
+ queue.push(name);
197
+ }
198
+ };
199
+ const addDeps = (deps) => {
200
+ if (!deps) {
201
+ return;
202
+ }
203
+ for (const [name, spec] of Object.entries(deps)) {
204
+ if (isUnvendorableLocalSource(name, spec, projectRequire, platform)) {
205
+ // Defer to the regular Vite/Rolldown pipeline (HTTP-served in
206
+ // dev, bundled in production) where the
207
+ // ns-tsconfig-paths-resolver and the rest of the plugin chain
208
+ // can handle aliased imports. Local .tgz file: refs ARE proper
209
+ // packaged libraries and DO stay in vendor; so do file:
210
+ // directory refs that point at packages with compiled JS
211
+ // entry points (a common NativeScript monorepo pattern that
212
+ // hoists installs and re-exposes them from the app's
213
+ // package.json via `file:../../node_modules/<name>`).
214
+ localSourceNames.add(name);
215
+ if (debug) {
216
+ console.log(`[vendor] skipping local source dependency ${name} (spec: ${String(spec)})`);
217
+ }
218
+ continue;
219
+ }
220
+ addCandidate(name);
221
+ }
222
+ };
223
+ addDeps(pkg.dependencies);
224
+ addDeps(pkg.optionalDependencies);
225
+ for (const name of ALWAYS_INCLUDE) {
226
+ // Some force-included packages are only present transitively in apps that
227
+ // actually use them. Skip missing packages quietly so unrelated projects do
228
+ // not fail vendor collection just because the policy list names them.
229
+ if (canResolveDependencyPackageJson(name, projectRequire)) {
230
+ addCandidate(name);
231
+ }
232
+ }
233
+ // Ensure Android Activity proxy is present for SBG scanning in dev/HMR
234
+ // and non-HMR builds alike: explicitly include the side-effect module
235
+ // that registers `com.tns.NativeScriptActivity`.
236
+ if (platform === 'android') {
237
+ addCandidate('@nativescript/core/ui/frame/activity.android');
238
+ }
239
+ if (pkg.dependencies?.['nativescript-vue'] && pkg.devDependencies?.vue) {
240
+ addCandidate('vue');
241
+ }
242
+ // Angular framework packages are intentionally NOT added to vendor. They are
243
+ // served via HTTP only so every importer resolves to a single module realm.
244
+ // See shouldSkipDependency() for the full rationale. RxJS is also left out of
245
+ // vendor (large, and not required in the vendor bundle for dev HMR).
246
+ if (pkg.dependencies?.['react-nativescript']) {
247
+ if (pkg.dependencies?.react) {
248
+ addCandidate('react');
249
+ }
250
+ if (pkg.dependencies?.['react-dom']) {
251
+ addCandidate('react-dom');
252
+ }
253
+ }
254
+ // SolidJS / TanStack Router: when @nativescript/tanstack-router is a dependency,
255
+ // its runtime deps (@tanstack/solid-router, @tanstack/router-core, @tanstack/history)
256
+ // MUST be in the vendor bundle. These packages:
257
+ // 1. Use browser APIs (window.dispatchEvent) that don't exist in NativeScript — they
258
+ // must be bundled where the NativeScript wrapper intercepts those calls
259
+ // 2. Contain JSX source that needs Solid compilation (dist/source/*.jsx) — the HTTP
260
+ // fallback can't compile node_modules JSX since vite-plugin-solid skips it
261
+ // 3. Import solid-js internally — loading via HTTP creates a separate solid-js instance
262
+ // esbuild uses the 'import' condition (not 'solid'), resolving to pre-compiled
263
+ // dist/esm/*.js which avoids all three issues.
264
+ if (pkg.dependencies?.['@nativescript/tanstack-router']) {
265
+ addCandidate('@tanstack/solid-router');
266
+ addCandidate('@tanstack/router-core');
267
+ addCandidate('@tanstack/history');
268
+ }
269
+ parseEnvList(process.env.NS_VENDOR_INCLUDE).forEach(addCandidate);
270
+ const projectDeps = {
271
+ dependencies: new Set(Object.keys(pkg.dependencies ?? {})),
272
+ optional: new Set(Object.keys(pkg.optionalDependencies ?? {})),
273
+ dev: new Set(Object.keys(pkg.devDependencies ?? {})),
274
+ };
275
+ while (queue.length) {
276
+ const specifier = queue.shift();
277
+ const dependencyPkg = readDependencyPackageJson(specifier, projectRequire);
278
+ if (!dependencyPkg) {
279
+ continue;
280
+ }
281
+ const peerDependencies = Object.keys(dependencyPkg.peerDependencies ?? {});
282
+ for (const peer of peerDependencies) {
283
+ if (shouldSkipDependency(peer) || localSourceNames.has(peer)) {
284
+ continue;
285
+ }
286
+ if (projectDeps.dependencies.has(peer) || projectDeps.optional.has(peer) || projectDeps.dev.has(peer)) {
287
+ addCandidate(peer);
288
+ }
289
+ }
290
+ // NOTE: We intentionally do NOT collect transitive runtime dependencies
291
+ // here. The import map + runtime specifier normalization handles non-vendor
292
+ // packages by routing them through HTTP to the Vite dev server. This avoids
293
+ // the fragility of trying to esbuild-bundle every transitive dep (which can
294
+ // fail due to Node built-ins, type-only packages, duplicate module instances,
295
+ // etc.). Only direct project dependencies go into the vendor bundle.
296
+ }
297
+ parseEnvList(process.env.NS_VENDOR_EXCLUDE).forEach((name) => {
298
+ vendor.delete(name);
299
+ });
300
+ return {
301
+ entries: Array.from(vendor).sort(),
302
+ };
303
+ }
304
+ function shouldSkipDependency(name) {
305
+ if (!name) {
306
+ return true;
307
+ }
308
+ if (ALWAYS_EXCLUDE.has(name)) {
309
+ return true;
310
+ }
311
+ // Angular framework packages must only be served via the HTTP path so every
312
+ // importer resolves to a single module realm. When these packages are present
313
+ // in the vendor bundle AND imported by app modules via HTTP subpath, every
314
+ // @Component/@Injectable gets defined twice (once per realm), producing NG0912
315
+ // selector collisions, cross-realm `instanceof` failures, and dual class
316
+ // identities throughout Angular's DI container. HTTP-only is the single-realm
317
+ // invariant for user-level framework code.
318
+ if (name === '@nativescript/angular' || name === 'nativescript-angular' || name.startsWith('@angular/')) {
319
+ return true;
320
+ }
321
+ // masonkit is the de-facto NativeScript flexbox/grid layout engine. Like the
322
+ // frameworks above it MUST resolve to a single module instance: it registers
323
+ // global CSS layout properties on core's `Style` (`paddingProperty.register(Style)`,
324
+ // flexbox handlers, etc.) AND tags views with module-level Symbols
325
+ // (`isMasonView_`/`isMasonChild_`). If it lands in the vendor bundle while an app
326
+ // also imports a subpath that escapes to HTTP (e.g. `@triniwiz/nativescript-masonkit/web`,
327
+ // which has no manifest alias and is served via /ns/m), the two copies load
328
+ // `./symbols` separately → divergent Symbols → a view tagged by one copy isn't
329
+ // recognized by the other's CSS handlers → layout props never reach the native
330
+ // mason node (collapsed spacing, square corners) while core color/background still
331
+ // apply. HTTP-only makes every importer converge on one dev-server URL (V8 dedupes
332
+ // by URL) = single instance. (Dev/HMR only; production is a single bundle.)
333
+ if (name === '@triniwiz/nativescript-masonkit') {
334
+ return true;
335
+ }
336
+ // All Babel packages are build tools — never bundle into device runtime.
337
+ // They require Node built-ins (fs, path, url) that don't exist on device.
338
+ if (name.startsWith('@babel/') || name.startsWith('babel-')) {
339
+ return true;
340
+ }
341
+ // Dev tools and type-only packages — not needed on device
342
+ if (name.startsWith('@solid-devtools/')) {
343
+ return true;
344
+ }
345
+ if (name.startsWith('@types/')) {
346
+ return true;
347
+ }
348
+ // PostCSS ecosystem — all build-time CSS processing
349
+ if (name === 'postcss' || name.startsWith('postcss-')) {
350
+ return true;
351
+ }
352
+ // Tailwind ecosystem — build-time only CSS framework
353
+ if (name.includes('tailwind')) {
354
+ return true;
355
+ }
356
+ // Test runners and frameworks — never needed on device
357
+ if (name.includes('test-runner') || name.includes('unit-test')) {
358
+ return true;
359
+ }
360
+ // Linters and formatters — build-time tools
361
+ if (name.includes('eslint') || name.includes('stylelint')) {
362
+ return true;
363
+ }
364
+ if (name.startsWith('.')) {
365
+ return true;
366
+ }
367
+ if (name.startsWith('file:')) {
368
+ return true;
369
+ }
370
+ if (name.startsWith('workspace:')) {
371
+ return true;
372
+ }
373
+ if (name.startsWith('link:')) {
374
+ return true;
375
+ }
376
+ return false;
377
+ }
378
+ const COMPILED_JS_ENTRY_EXTENSIONS = ['.js', '.mjs', '.cjs'];
379
+ const COMPILED_JS_ENTRY_REGEX = /\.(?:c|m)?jsx?$/;
380
+ function compiledJsExtensionsForPlatform(platform) {
381
+ const exts = [...COMPILED_JS_ENTRY_EXTENSIONS];
382
+ switch (platform) {
383
+ case 'android':
384
+ exts.push('.android.js');
385
+ break;
386
+ case 'ios':
387
+ exts.push('.ios.js', '.visionos.js');
388
+ break;
389
+ case 'visionos':
390
+ exts.push('.visionos.js', '.ios.js');
391
+ break;
392
+ }
393
+ return exts;
394
+ }
395
+ /**
396
+ * Determine whether a `package.json` dependency must be excluded from the
397
+ * HMR vendor bundle because esbuild's standalone vendor pipeline can't
398
+ * resolve its source.
399
+ *
400
+ * The HMR vendor bundle is generated by a standalone esbuild build that
401
+ * has none of the Vite plugin chain (most notably
402
+ * `ns-tsconfig-paths-resolver`), so any aliased import inside the
403
+ * package's **source** files will fail with "Could not resolve" and abort
404
+ * the whole bundle.
405
+ *
406
+ * Skip:
407
+ * - `link:` and `workspace:` refs (always app-side source).
408
+ * - `file:` refs to a directory whose installed package only ships
409
+ * TypeScript/JSX source (no compiled `.js`/`.mjs`/`.cjs` entry).
410
+ *
411
+ * Keep (return false):
412
+ * - Regular semver / git / url specs (normal third-party libraries).
413
+ * - Local `.tgz` file refs (pre-packaged libraries extracted at install).
414
+ * - `file:` directory refs that resolve to a package with a compiled JS
415
+ * entry — a common NativeScript monorepo convention where the app's
416
+ * `package.json` redirects to `../../node_modules/<name>` to avoid
417
+ * duplicate installs while letting the NativeScript CLI discover
418
+ * plugins from the app directory.
419
+ */
420
+ function isUnvendorableLocalSource(name, spec, projectRequire, platform) {
421
+ if (typeof spec !== 'string')
422
+ return false;
423
+ if (spec.startsWith('link:') || spec.startsWith('workspace:'))
424
+ return true;
425
+ if (!spec.startsWith('file:'))
426
+ return false;
427
+ // Tarballs are already pre-packaged libraries — install extracts them
428
+ // into a normal node_modules entry.
429
+ if (/\.t(?:ar\.)?gz(?:[?#].*)?$/.test(spec))
430
+ return false;
431
+ // Directory file: refs need a deeper check: peek at the installed
432
+ // package.json and ask "does this ship compiled JS?". If yes, vendor
433
+ // it. If no (TS source only), defer to the regular Vite pipeline.
434
+ return !packageHasCompiledJsEntry(name, projectRequire, platform);
435
+ }
436
+ function packageHasCompiledJsEntry(name, projectRequire, platform) {
437
+ let pkgJsonPath;
438
+ try {
439
+ pkgJsonPath = projectRequire.resolve(`${name}/package.json`);
440
+ }
441
+ catch {
442
+ return false;
443
+ }
444
+ let pkg;
445
+ try {
446
+ pkg = JSON.parse(readFileSync(pkgJsonPath, 'utf-8'));
447
+ }
448
+ catch {
449
+ return false;
450
+ }
451
+ const pkgDir = path.dirname(pkgJsonPath);
452
+ const candidates = [];
453
+ const pushCandidate = (value) => {
454
+ if (typeof value === 'string' && value)
455
+ candidates.push(value);
456
+ };
457
+ pushCandidate(pkg.module);
458
+ pushCandidate(pkg.main);
459
+ // Recursively flatten conditional `exports` maps to surface concrete
460
+ // file paths. We only need `string` leaves; anything else (function-
461
+ // based exports, etc.) doesn't apply to esbuild's resolution.
462
+ const visitExports = (node) => {
463
+ if (!node)
464
+ return;
465
+ if (typeof node === 'string') {
466
+ pushCandidate(node);
467
+ return;
468
+ }
469
+ if (Array.isArray(node)) {
470
+ for (const item of node)
471
+ visitExports(item);
472
+ return;
473
+ }
474
+ if (typeof node === 'object') {
475
+ for (const value of Object.values(node))
476
+ visitExports(value);
477
+ }
478
+ };
479
+ visitExports(pkg.exports);
480
+ if (candidates.length === 0) {
481
+ // node's default lookup falls back to `index.js`.
482
+ candidates.push('index');
483
+ }
484
+ const extensionsToTry = compiledJsExtensionsForPlatform(platform);
485
+ for (const cand of candidates) {
486
+ const abs = path.resolve(pkgDir, cand);
487
+ const ext = path.extname(cand);
488
+ if (COMPILED_JS_ENTRY_REGEX.test(cand)) {
489
+ // Explicit JS extension. If the file exists, vendor it. If not
490
+ // (a NativeScript plugin commonly declares `main: "index.js"`
491
+ // but ships only platform variants like `index.ios.js`), try
492
+ // the platform-specific variants which esbuild's
493
+ // `resolveExtensions` will pick up at bundle time.
494
+ if (fs.existsSync(abs))
495
+ return true;
496
+ const baseAbs = abs.slice(0, -ext.length);
497
+ for (const e of extensionsToTry) {
498
+ if (fs.existsSync(baseAbs + e))
499
+ return true;
500
+ }
501
+ continue;
502
+ }
503
+ if (!ext) {
504
+ // Extensionless main — try plain JS variants AND the
505
+ // platform-specific variants NativeScript plugins commonly use
506
+ // (`index.ios.js`, `index.android.js`, `index.visionos.js`).
507
+ for (const e of extensionsToTry) {
508
+ if (fs.existsSync(abs + e))
509
+ return true;
510
+ }
511
+ continue;
512
+ }
513
+ // A non-JS extension (typically `.ts`/`.tsx`) means the package
514
+ // only ships TS source — esbuild's vendor pipeline can't resolve
515
+ // any tsconfig-aliased imports inside it.
516
+ }
517
+ return false;
518
+ }
519
+ function canResolveDependencyPackageJson(specifier, projectRequire) {
520
+ try {
521
+ projectRequire.resolve(`${specifier}/package.json`);
522
+ return true;
523
+ }
524
+ catch {
525
+ return false;
526
+ }
527
+ }
528
+ function readDependencyPackageJson(specifier, projectRequire) {
529
+ try {
530
+ const packageJsonPath = projectRequire.resolve(`${specifier}/package.json`);
531
+ return JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
532
+ }
533
+ catch (error) {
534
+ if (process.env.VITE_DEBUG_LOGS) {
535
+ console.warn(`[vendor] unable to resolve ${specifier} package.json`, error);
536
+ }
537
+ return null;
538
+ }
539
+ }
540
+ function parseEnvList(value) {
541
+ if (!value) {
542
+ return [];
543
+ }
544
+ return value
545
+ .split(',')
546
+ .map((token) => token.trim())
547
+ .filter(Boolean);
548
+ }
549
+ //# sourceMappingURL=manifest-collect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest-collect.js","sourceRoot":"","sources":["../../../../../../packages/vite/hmr/shared/vendor/manifest-collect.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import type { VendorManifest } from './manifest.js';
2
2
  /**
3
3
  * Attempt to load a previously generated vendor manifest from the NativeScript
4
- * pre-bundled output directory (.ns-vite-build/ns-vendor-manifest.json).
4
+ * pre-bundled output directory (NS_VITE_DIST_DIR/ns-vendor-manifest.json,
5
+ * defaulting to .ns-vite-build/ns-vendor-manifest.json).
5
6
  * This allows the dev HMR WebSocket plugin to bootstrap vendor awareness even
6
7
  * before a fresh dev-server generation path runs (helpful when the app was
7
8
  * launched from a prebuilt bundle and HMR attaches later).
@@ -1,16 +1,18 @@
1
1
  import { readFileSync, existsSync } from 'fs';
2
2
  import path from 'path';
3
3
  import { registerVendorManifest } from './registry.js';
4
+ import { getGlobalScope } from '../runtime/global-scope.js';
4
5
  /**
5
6
  * Attempt to load a previously generated vendor manifest from the NativeScript
6
- * pre-bundled output directory (.ns-vite-build/ns-vendor-manifest.json).
7
+ * pre-bundled output directory (NS_VITE_DIST_DIR/ns-vendor-manifest.json,
8
+ * defaulting to .ns-vite-build/ns-vendor-manifest.json).
7
9
  * This allows the dev HMR WebSocket plugin to bootstrap vendor awareness even
8
10
  * before a fresh dev-server generation path runs (helpful when the app was
9
11
  * launched from a prebuilt bundle and HMR attaches later).
10
12
  */
11
13
  export function loadPrebuiltVendorManifest(projectRoot, verbose = false) {
12
14
  try {
13
- const buildDir = path.join(projectRoot, '.ns-vite-build');
15
+ const buildDir = path.join(projectRoot, process.env.NS_VITE_DIST_DIR || '.ns-vite-build');
14
16
  const manifestPath = path.join(buildDir, 'ns-vendor-manifest.json');
15
17
  if (!existsSync(manifestPath)) {
16
18
  if (verbose) {
@@ -26,7 +28,7 @@ export function loadPrebuiltVendorManifest(projectRoot, verbose = false) {
26
28
  console.log('[vendor-loader] Loaded prebuilt vendor manifest with', Object.keys(json.modules).length, 'modules');
27
29
  }
28
30
  // Expose globally (node side) for easier inspection in dev tools.
29
- globalThis.__NS_VENDOR_MANIFEST__ = json;
31
+ getGlobalScope().__NS_VENDOR_MANIFEST__ = json;
30
32
  return json;
31
33
  }
32
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-loader.js","sourceRoot":"","sources":["../../../../../../packages/vite/hmr/shared/vendor/manifest-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CAAC,WAAmB,EAAE,OAAO,GAAG,KAAK;IAC9E,IAAI,CAAC;QACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/B,IAAI,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,gDAAgD,EAAE,YAAY,CAAC,CAAC;YAC7E,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;QACD,MAAM,GAAG,GAAG,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAmB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1B,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,sDAAsD,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAClH,CAAC;YACD,kEAAkE;YACjE,UAAkB,CAAC,sBAAsB,GAAG,IAAI,CAAC;YAClD,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,iDAAiD,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"manifest-loader.js","sourceRoot":"","sources":["../../../../../../packages/vite/hmr/shared/vendor/manifest-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CAAC,WAAmB,EAAE,OAAO,GAAG,KAAK;IAC9E,IAAI,CAAC;QACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,CAAC;QAC1F,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/B,IAAI,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,gDAAgD,EAAE,YAAY,CAAC,CAAC;YAC7E,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;QACD,MAAM,GAAG,GAAG,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAmB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1B,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,sDAAsD,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAClH,CAAC;YACD,kEAAkE;YAClE,cAAc,EAAE,CAAC,sBAAsB,GAAG,IAAI,CAAC;YAC/C,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,iDAAiD,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC"}
@@ -15,9 +15,6 @@ interface VendorBundleResult {
15
15
  manifest: VendorManifest;
16
16
  entries: string[];
17
17
  }
18
- interface CollectedVendorModules {
19
- entries: string[];
20
- }
21
18
  interface VendorManifestPluginOptions {
22
19
  projectRoot: string;
23
20
  platform: string;
@@ -35,8 +32,5 @@ export declare const SERVER_MANIFEST_PATH = "/@nativescript/vendor-manifest.json
35
32
  export declare const DEFAULT_VENDOR_FILENAME = "ns-vendor.mjs";
36
33
  export declare const DEFAULT_MANIFEST_FILENAME = "ns-vendor-manifest.json";
37
34
  export declare function vendorManifestPlugin(options: VendorManifestPluginOptions): Plugin;
38
- declare function collectVendorModules(projectRoot: string, platform: string, flavor?: string): CollectedVendorModules;
39
- export declare const __test_collectVendorModules: typeof collectVendorModules;
40
- export declare const __test_createVendorBundleRuntimeModule: typeof createVendorBundleRuntimeModule;
41
- declare function createVendorBundleRuntimeModule(result: VendorBundleResult): string;
35
+ export declare function createVendorBundleRuntimeModule(result: VendorBundleResult): string;
42
36
  export type { VendorManifest, VendorManifestModuleEntry, VendorBundleResult };