@nativescript/vite 8.0.0-alpha.9 → 8.0.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (554) hide show
  1. package/README.md +89 -14
  2. package/bin/cli.cjs +8 -14
  3. package/configuration/angular.d.ts +34 -1
  4. package/configuration/angular.js +196 -217
  5. package/configuration/angular.js.map +1 -1
  6. package/configuration/base.js +152 -104
  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 +11 -92
  15. package/configuration/typescript.js.map +1 -1
  16. package/framework.d.ts +22 -0
  17. package/framework.js +18 -0
  18. package/framework.js.map +1 -0
  19. package/helpers/app-components.d.ts +2 -1
  20. package/helpers/app-components.js.map +1 -1
  21. package/helpers/app-css-refresh.d.ts +31 -0
  22. package/helpers/app-css-refresh.js +43 -0
  23. package/helpers/app-css-refresh.js.map +1 -0
  24. package/helpers/app-css-state.d.ts +17 -0
  25. package/helpers/app-css-state.js +51 -0
  26. package/helpers/app-css-state.js.map +1 -0
  27. package/helpers/bundler-context.d.ts +11 -0
  28. package/helpers/bundler-context.js +71 -0
  29. package/helpers/bundler-context.js.map +1 -0
  30. package/helpers/cli-flags.d.ts +12 -0
  31. package/helpers/cli-flags.js +34 -0
  32. package/helpers/cli-flags.js.map +1 -1
  33. package/helpers/css-platform-plugin.d.ts +14 -0
  34. package/helpers/css-platform-plugin.js +43 -25
  35. package/helpers/css-platform-plugin.js.map +1 -1
  36. package/helpers/dev-host.d.ts +360 -0
  37. package/helpers/dev-host.js +694 -0
  38. package/helpers/dev-host.js.map +1 -0
  39. package/helpers/dynamic-import-plugin.d.ts +2 -1
  40. package/helpers/dynamic-import-plugin.js +59 -53
  41. package/helpers/dynamic-import-plugin.js.map +1 -1
  42. package/helpers/esbuild-platform-resolver.js +4 -1
  43. package/helpers/esbuild-platform-resolver.js.map +1 -1
  44. package/helpers/external-configs.d.ts +10 -12
  45. package/helpers/external-configs.js +58 -35
  46. package/helpers/external-configs.js.map +1 -1
  47. package/helpers/flavor.d.ts +31 -0
  48. package/helpers/flavor.js +53 -2
  49. package/helpers/flavor.js.map +1 -1
  50. package/helpers/global-defines.d.ts +100 -33
  51. package/helpers/global-defines.js +192 -66
  52. package/helpers/global-defines.js.map +1 -1
  53. package/helpers/hmr-scope.d.ts +26 -0
  54. package/helpers/hmr-scope.js +67 -0
  55. package/helpers/hmr-scope.js.map +1 -0
  56. package/helpers/init.js +24 -26
  57. package/helpers/init.js.map +1 -1
  58. package/helpers/logging.d.ts +11 -1
  59. package/helpers/logging.js +45 -2
  60. package/helpers/logging.js.map +1 -1
  61. package/helpers/main-entry.d.ts +4 -1
  62. package/helpers/main-entry.js +293 -40
  63. package/helpers/main-entry.js.map +1 -1
  64. package/helpers/nativeclass-esbuild-plugin.d.ts +2 -1
  65. package/helpers/nativeclass-esbuild-plugin.js +6 -1
  66. package/helpers/nativeclass-esbuild-plugin.js.map +1 -1
  67. package/helpers/nativeclass-transform.d.ts +13 -0
  68. package/helpers/nativeclass-transform.js +37 -7
  69. package/helpers/nativeclass-transform.js.map +1 -1
  70. package/helpers/nativeclass-transformer-plugin.js +8 -3
  71. package/helpers/nativeclass-transformer-plugin.js.map +1 -1
  72. package/helpers/nativescript-package-resolver.js +10 -62
  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-external-urls.d.ts +32 -0
  78. package/helpers/ns-core-external-urls.js +107 -0
  79. package/helpers/ns-core-external-urls.js.map +1 -0
  80. package/helpers/ns-core-url.d.ts +26 -3
  81. package/helpers/ns-core-url.js +66 -8
  82. package/helpers/ns-core-url.js.map +1 -1
  83. package/helpers/optimize-deps.d.ts +16 -0
  84. package/helpers/optimize-deps.js +17 -0
  85. package/helpers/optimize-deps.js.map +1 -0
  86. package/helpers/package-platform-aliases.js +34 -49
  87. package/helpers/package-platform-aliases.js.map +1 -1
  88. package/helpers/platform-types.d.ts +2 -0
  89. package/helpers/platform-types.js +2 -0
  90. package/helpers/platform-types.js.map +1 -0
  91. package/helpers/postcss-platform-config.d.ts +17 -1
  92. package/helpers/postcss-platform-config.js +20 -37
  93. package/helpers/postcss-platform-config.js.map +1 -1
  94. package/helpers/resolve-main-field-platform.d.ts +20 -0
  95. package/helpers/resolve-main-field-platform.js +49 -0
  96. package/helpers/resolve-main-field-platform.js.map +1 -0
  97. package/helpers/resolver.js +17 -2
  98. package/helpers/resolver.js.map +1 -1
  99. package/helpers/theme-core-plugins.js +1 -1
  100. package/helpers/theme-core-plugins.js.map +1 -1
  101. package/helpers/ts-config-paths.d.ts +32 -0
  102. package/helpers/ts-config-paths.js +143 -62
  103. package/helpers/ts-config-paths.js.map +1 -1
  104. package/helpers/typescript-check.d.ts +3 -3
  105. package/helpers/typescript-check.js +4 -4
  106. package/helpers/typescript-check.js.map +1 -1
  107. package/helpers/ui-registration.d.ts +21 -0
  108. package/helpers/ui-registration.js +156 -0
  109. package/helpers/ui-registration.js.map +1 -0
  110. package/helpers/utils.d.ts +9 -0
  111. package/helpers/utils.js +22 -2
  112. package/helpers/utils.js.map +1 -1
  113. package/helpers/vite-package-version.d.ts +7 -0
  114. package/helpers/vite-package-version.js +44 -0
  115. package/helpers/vite-package-version.js.map +1 -0
  116. package/helpers/workers.d.ts +33 -0
  117. package/helpers/workers.js +237 -10
  118. package/helpers/workers.js.map +1 -1
  119. package/hmr/client/css-handler.d.ts +2 -1
  120. package/hmr/client/css-handler.js +63 -32
  121. package/hmr/client/css-handler.js.map +1 -1
  122. package/hmr/client/css-update-overlay.d.ts +18 -0
  123. package/hmr/client/css-update-overlay.js +27 -0
  124. package/hmr/client/css-update-overlay.js.map +1 -0
  125. package/hmr/client/framework-client-strategy.d.ts +117 -0
  126. package/hmr/client/framework-client-strategy.js +18 -0
  127. package/hmr/client/framework-client-strategy.js.map +1 -0
  128. package/hmr/client/framework.d.ts +31 -0
  129. package/hmr/client/framework.js +17 -0
  130. package/hmr/client/framework.js.map +1 -0
  131. package/hmr/client/hmr-pending-overlay.d.ts +0 -14
  132. package/hmr/client/hmr-pending-overlay.js +2 -11
  133. package/hmr/client/hmr-pending-overlay.js.map +1 -1
  134. package/hmr/client/hot-context.d.ts +89 -0
  135. package/hmr/client/hot-context.js +404 -0
  136. package/hmr/client/hot-context.js.map +1 -0
  137. package/hmr/client/index.d.ts +9 -1
  138. package/hmr/client/index.js +70 -1970
  139. package/hmr/client/index.js.map +1 -1
  140. package/hmr/client/overlay-driver.d.ts +10 -0
  141. package/hmr/client/overlay-driver.js +33 -0
  142. package/hmr/client/overlay-driver.js.map +1 -0
  143. package/hmr/client/protocol-dispatch.d.ts +8 -0
  144. package/hmr/client/protocol-dispatch.js +308 -0
  145. package/hmr/client/protocol-dispatch.js.map +1 -0
  146. package/hmr/client/root-reset.d.ts +15 -0
  147. package/hmr/client/root-reset.js +358 -0
  148. package/hmr/client/root-reset.js.map +1 -0
  149. package/hmr/client/strategy-loader.d.ts +24 -0
  150. package/hmr/client/strategy-loader.js +136 -0
  151. package/hmr/client/strategy-loader.js.map +1 -0
  152. package/hmr/client/update-pipeline.d.ts +27 -0
  153. package/hmr/client/update-pipeline.js +489 -0
  154. package/hmr/client/update-pipeline.js.map +1 -0
  155. package/hmr/client/utils.d.ts +9 -1
  156. package/hmr/client/utils.js +117 -97
  157. package/hmr/client/utils.js.map +1 -1
  158. package/hmr/client/ws-transport.d.ts +21 -0
  159. package/hmr/client/ws-transport.js +323 -0
  160. package/hmr/client/ws-transport.js.map +1 -0
  161. package/hmr/entry-runtime.d.ts +2 -1
  162. package/hmr/entry-runtime.js +279 -44
  163. package/hmr/entry-runtime.js.map +1 -1
  164. package/hmr/framework-flavors.d.ts +59 -0
  165. package/hmr/framework-flavors.js +108 -0
  166. package/hmr/framework-flavors.js.map +1 -0
  167. package/hmr/frameworks/angular/build/angular-linker.d.ts +12 -0
  168. package/hmr/frameworks/angular/build/angular-linker.js +113 -0
  169. package/hmr/frameworks/angular/build/angular-linker.js.map +1 -0
  170. package/{helpers/angular → hmr/frameworks/angular/build}/inject-component-hmr-registration.js +2 -70
  171. package/hmr/frameworks/angular/build/inject-component-hmr-registration.js.map +1 -0
  172. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.d.ts +75 -0
  173. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js +221 -0
  174. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js.map +1 -0
  175. package/{helpers/angular → hmr/frameworks/angular/build}/inline-decorator-component-templates.js +1 -170
  176. package/hmr/frameworks/angular/build/inline-decorator-component-templates.js.map +1 -0
  177. package/hmr/frameworks/angular/build/js-lexer.d.ts +4 -0
  178. package/{helpers/angular/synthesize-decorator-ctor-parameters.js → hmr/frameworks/angular/build/js-lexer.js} +22 -96
  179. package/hmr/frameworks/angular/build/js-lexer.js.map +1 -0
  180. package/hmr/frameworks/angular/build/linker-stats.d.ts +18 -0
  181. package/hmr/frameworks/angular/build/linker-stats.js +29 -0
  182. package/hmr/frameworks/angular/build/linker-stats.js.map +1 -0
  183. package/hmr/frameworks/angular/build/shared-linker.d.ts +39 -0
  184. package/hmr/frameworks/angular/build/shared-linker.js +128 -0
  185. package/hmr/frameworks/angular/build/shared-linker.js.map +1 -0
  186. package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js +88 -0
  187. package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js.map +1 -0
  188. package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-injectable-factories.js +1 -174
  189. package/hmr/frameworks/angular/build/synthesize-injectable-factories.js.map +1 -0
  190. package/hmr/frameworks/angular/build/ts-fallback-transform.d.ts +5 -0
  191. package/hmr/frameworks/angular/build/ts-fallback-transform.js +138 -0
  192. package/hmr/frameworks/angular/build/ts-fallback-transform.js.map +1 -0
  193. package/hmr/frameworks/angular/build/util.js.map +1 -0
  194. package/hmr/frameworks/angular/build/worker-url-preserve.d.ts +5 -0
  195. package/hmr/frameworks/angular/build/worker-url-preserve.js +140 -0
  196. package/hmr/frameworks/angular/build/worker-url-preserve.js.map +1 -0
  197. package/hmr/frameworks/angular/client/index.d.ts +0 -1
  198. package/hmr/frameworks/angular/client/index.js +360 -194
  199. package/hmr/frameworks/angular/client/index.js.map +1 -1
  200. package/hmr/frameworks/angular/client/strategy.d.ts +9 -0
  201. package/hmr/frameworks/angular/client/strategy.js +19 -0
  202. package/hmr/frameworks/angular/client/strategy.js.map +1 -0
  203. package/hmr/frameworks/angular/server/angular-root-component.d.ts +79 -0
  204. package/hmr/frameworks/angular/server/angular-root-component.js +149 -0
  205. package/hmr/frameworks/angular/server/angular-root-component.js.map +1 -0
  206. package/hmr/frameworks/angular/server/ng-component-route.d.ts +43 -0
  207. package/hmr/frameworks/angular/server/ng-component-route.js +113 -0
  208. package/hmr/frameworks/angular/server/ng-component-route.js.map +1 -0
  209. package/hmr/frameworks/angular/server/strategy.js +668 -13
  210. package/hmr/frameworks/angular/server/strategy.js.map +1 -1
  211. package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.js +2 -2
  212. package/hmr/frameworks/angular/server/websocket-angular-entry.js.map +1 -0
  213. package/hmr/{server → frameworks/angular/server}/websocket-angular-hot-update.d.ts +27 -11
  214. package/hmr/{server → frameworks/angular/server}/websocket-angular-hot-update.js +179 -107
  215. package/hmr/frameworks/angular/server/websocket-angular-hot-update.js.map +1 -0
  216. package/hmr/frameworks/react/client/strategy.d.ts +12 -0
  217. package/hmr/frameworks/react/client/strategy.js +27 -0
  218. package/hmr/frameworks/react/client/strategy.js.map +1 -0
  219. package/hmr/frameworks/react/server/strategy.d.ts +2 -0
  220. package/hmr/frameworks/react/server/strategy.js +230 -0
  221. package/hmr/frameworks/react/server/strategy.js.map +1 -0
  222. package/hmr/frameworks/solid/build/solid-jsx-deps.d.ts +15 -0
  223. package/hmr/frameworks/solid/build/solid-jsx-deps.js +178 -0
  224. package/hmr/frameworks/solid/build/solid-jsx-deps.js.map +1 -0
  225. package/hmr/frameworks/solid/client/app-runtime.d.ts +68 -0
  226. package/hmr/frameworks/solid/client/app-runtime.js +252 -0
  227. package/hmr/frameworks/solid/client/app-runtime.js.map +1 -0
  228. package/hmr/frameworks/solid/client/strategy.d.ts +7 -0
  229. package/hmr/frameworks/solid/client/strategy.js +391 -0
  230. package/hmr/frameworks/solid/client/strategy.js.map +1 -0
  231. package/hmr/frameworks/solid/server/strategy.js +293 -16
  232. package/hmr/frameworks/solid/server/strategy.js.map +1 -1
  233. package/hmr/frameworks/typescript/client/strategy.d.ts +7 -0
  234. package/hmr/frameworks/typescript/client/strategy.js +418 -0
  235. package/hmr/frameworks/typescript/client/strategy.js.map +1 -0
  236. package/hmr/frameworks/typescript/server/strategy.js +40 -14
  237. package/hmr/frameworks/typescript/server/strategy.js.map +1 -1
  238. package/hmr/frameworks/vue/client/dep-propagation.d.ts +44 -0
  239. package/hmr/frameworks/vue/client/dep-propagation.js +148 -0
  240. package/hmr/frameworks/vue/client/dep-propagation.js.map +1 -0
  241. package/hmr/frameworks/vue/client/index.d.ts +10 -1
  242. package/hmr/frameworks/vue/client/index.js +270 -521
  243. package/hmr/frameworks/vue/client/index.js.map +1 -1
  244. package/hmr/frameworks/vue/client/navigate-app.d.ts +3 -0
  245. package/hmr/frameworks/vue/client/navigate-app.js +178 -0
  246. package/hmr/frameworks/vue/client/navigate-app.js.map +1 -0
  247. package/hmr/frameworks/vue/client/strategy.d.ts +33 -0
  248. package/hmr/frameworks/vue/client/strategy.js +152 -0
  249. package/hmr/frameworks/vue/client/strategy.js.map +1 -0
  250. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.d.ts +49 -0
  251. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js +124 -0
  252. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js.map +1 -0
  253. package/hmr/frameworks/vue/server/compiler.d.ts +3 -1
  254. package/hmr/frameworks/vue/server/compiler.js +3 -1
  255. package/hmr/frameworks/vue/server/compiler.js.map +1 -1
  256. package/hmr/frameworks/vue/server/sfc-route-assemble.d.ts +7 -0
  257. package/hmr/frameworks/vue/server/sfc-route-assemble.js +823 -0
  258. package/hmr/frameworks/vue/server/sfc-route-assemble.js.map +1 -0
  259. package/hmr/frameworks/vue/server/sfc-route-meta.d.ts +7 -0
  260. package/hmr/frameworks/vue/server/sfc-route-meta.js +80 -0
  261. package/hmr/frameworks/vue/server/sfc-route-meta.js.map +1 -0
  262. package/hmr/frameworks/vue/server/sfc-route-serve.d.ts +8 -0
  263. package/hmr/frameworks/vue/server/sfc-route-serve.js +462 -0
  264. package/hmr/frameworks/vue/server/sfc-route-serve.js.map +1 -0
  265. package/hmr/frameworks/vue/server/sfc-route-shared.d.ts +45 -0
  266. package/hmr/frameworks/vue/server/sfc-route-shared.js +105 -0
  267. package/hmr/frameworks/vue/server/sfc-route-shared.js.map +1 -0
  268. package/hmr/frameworks/vue/server/strategy.d.ts +35 -0
  269. package/hmr/frameworks/vue/server/strategy.js +291 -7
  270. package/hmr/frameworks/vue/server/strategy.js.map +1 -1
  271. package/hmr/frameworks/vue/server/websocket-sfc.d.ts +15 -0
  272. package/hmr/frameworks/vue/server/websocket-sfc.js +20 -0
  273. package/hmr/frameworks/vue/server/websocket-sfc.js.map +1 -0
  274. package/hmr/helpers/ast-normalizer.d.ts +3 -1
  275. package/hmr/helpers/ast-normalizer.js +109 -14
  276. package/hmr/helpers/ast-normalizer.js.map +1 -1
  277. package/hmr/helpers/package-exports.d.ts +16 -0
  278. package/hmr/helpers/package-exports.js +396 -0
  279. package/hmr/helpers/package-exports.js.map +1 -0
  280. package/hmr/helpers/vendor-rewrite.d.ts +1 -1
  281. package/hmr/helpers/vendor-rewrite.js +5 -3
  282. package/hmr/helpers/vendor-rewrite.js.map +1 -1
  283. package/hmr/server/boot-recording.d.ts +51 -0
  284. package/hmr/server/boot-recording.js +214 -0
  285. package/hmr/server/boot-recording.js.map +1 -0
  286. package/hmr/server/constants.js +7 -1
  287. package/hmr/server/constants.js.map +1 -1
  288. package/hmr/server/content-css-update.d.ts +54 -0
  289. package/hmr/server/content-css-update.js +78 -0
  290. package/hmr/server/content-css-update.js.map +1 -0
  291. package/hmr/server/core-bundle.d.ts +140 -0
  292. package/hmr/server/core-bundle.js +614 -0
  293. package/hmr/server/core-bundle.js.map +1 -0
  294. package/hmr/server/core-sanitize.d.ts +86 -7
  295. package/hmr/server/core-sanitize.js +155 -37
  296. package/hmr/server/core-sanitize.js.map +1 -1
  297. package/hmr/server/css-connect-sync.d.ts +28 -0
  298. package/hmr/server/css-connect-sync.js +59 -0
  299. package/hmr/server/css-connect-sync.js.map +1 -0
  300. package/hmr/server/css-device-module.d.ts +28 -0
  301. package/hmr/server/css-device-module.js +44 -0
  302. package/hmr/server/css-device-module.js.map +1 -0
  303. package/hmr/server/css-update-message.d.ts +23 -0
  304. package/hmr/server/css-update-message.js +41 -0
  305. package/hmr/server/css-update-message.js.map +1 -0
  306. package/hmr/server/deps-bundle.d.ts +233 -0
  307. package/hmr/server/deps-bundle.js +1022 -0
  308. package/hmr/server/deps-bundle.js.map +1 -0
  309. package/hmr/server/device-transform-helpers.d.ts +24 -0
  310. package/hmr/server/device-transform-helpers.js +408 -0
  311. package/hmr/server/device-transform-helpers.js.map +1 -0
  312. package/hmr/server/framework-strategy.d.ts +182 -11
  313. package/hmr/server/hmr-module-graph.d.ts +37 -0
  314. package/hmr/server/hmr-module-graph.js +215 -0
  315. package/hmr/server/hmr-module-graph.js.map +1 -0
  316. package/hmr/server/import-map.d.ts +57 -23
  317. package/hmr/server/import-map.js +142 -70
  318. package/hmr/server/import-map.js.map +1 -1
  319. package/hmr/server/index.js +7 -16
  320. package/hmr/server/index.js.map +1 -1
  321. package/hmr/server/node-builtins-route.d.ts +12 -0
  322. package/hmr/server/node-builtins-route.js +86 -0
  323. package/hmr/server/node-builtins-route.js.map +1 -0
  324. package/hmr/server/ns-m-response-memo.d.ts +10 -0
  325. package/hmr/server/ns-m-response-memo.js +33 -0
  326. package/hmr/server/ns-m-response-memo.js.map +1 -0
  327. package/hmr/server/ns-rt-bridge.d.ts +51 -0
  328. package/hmr/server/ns-rt-bridge.js +131 -0
  329. package/hmr/server/ns-rt-bridge.js.map +1 -0
  330. package/hmr/server/ns-rt-route.d.ts +5 -0
  331. package/hmr/server/ns-rt-route.js +39 -0
  332. package/hmr/server/ns-rt-route.js.map +1 -0
  333. package/hmr/server/perf-instrumentation.d.ts +1 -1
  334. package/hmr/server/perf-instrumentation.js +3 -1
  335. package/hmr/server/perf-instrumentation.js.map +1 -1
  336. package/hmr/server/process-code-for-device.d.ts +54 -0
  337. package/hmr/server/process-code-for-device.js +832 -0
  338. package/hmr/server/process-code-for-device.js.map +1 -0
  339. package/hmr/server/require-guard.d.ts +1 -0
  340. package/hmr/server/require-guard.js +12 -0
  341. package/hmr/server/require-guard.js.map +1 -0
  342. package/hmr/server/rewrite-imports.d.ts +2 -0
  343. package/hmr/server/rewrite-imports.js +631 -0
  344. package/hmr/server/rewrite-imports.js.map +1 -0
  345. package/hmr/server/route-helpers.d.ts +7 -0
  346. package/hmr/server/route-helpers.js +13 -0
  347. package/hmr/server/route-helpers.js.map +1 -0
  348. package/hmr/server/runtime-graph-filter.js +8 -1
  349. package/hmr/server/runtime-graph-filter.js.map +1 -1
  350. package/hmr/server/server-origin.d.ts +2 -0
  351. package/hmr/server/server-origin.js +88 -0
  352. package/hmr/server/server-origin.js.map +1 -0
  353. package/hmr/server/shared-transform-request.js +1 -2
  354. package/hmr/server/shared-transform-request.js.map +1 -1
  355. package/hmr/server/socket-utils.d.ts +10 -0
  356. package/hmr/server/socket-utils.js +14 -0
  357. package/hmr/server/socket-utils.js.map +1 -0
  358. package/hmr/server/transform-cache-invalidation.d.ts +37 -0
  359. package/hmr/server/transform-cache-invalidation.js +156 -0
  360. package/hmr/server/transform-cache-invalidation.js.map +1 -0
  361. package/hmr/server/vendor-bare-module-shims.d.ts +4 -0
  362. package/hmr/server/vendor-bare-module-shims.js +80 -0
  363. package/hmr/server/vendor-bare-module-shims.js.map +1 -0
  364. package/hmr/server/vite-plugin.d.ts +1 -0
  365. package/hmr/server/vite-plugin.js +211 -53
  366. package/hmr/server/vite-plugin.js.map +1 -1
  367. package/hmr/server/websocket-core-bridge.d.ts +51 -4
  368. package/hmr/server/websocket-core-bridge.js +62 -49
  369. package/hmr/server/websocket-core-bridge.js.map +1 -1
  370. package/hmr/server/websocket-device-transform.d.ts +3 -0
  371. package/hmr/server/websocket-device-transform.js +7 -0
  372. package/hmr/server/websocket-device-transform.js.map +1 -0
  373. package/hmr/server/websocket-hmr-pending.d.ts +2 -16
  374. package/hmr/server/websocket-hmr-pending.js +0 -22
  375. package/hmr/server/websocket-hmr-pending.js.map +1 -1
  376. package/hmr/server/websocket-hot-update.d.ts +80 -0
  377. package/hmr/server/websocket-hot-update.js +299 -0
  378. package/hmr/server/websocket-hot-update.js.map +1 -0
  379. package/hmr/server/websocket-import-map-route.d.ts +15 -0
  380. package/hmr/server/websocket-import-map-route.js +51 -0
  381. package/hmr/server/websocket-import-map-route.js.map +1 -0
  382. package/hmr/server/websocket-module-bindings.d.ts +15 -0
  383. package/hmr/server/websocket-module-bindings.js +36 -3
  384. package/hmr/server/websocket-module-bindings.js.map +1 -1
  385. package/hmr/server/websocket-module-specifiers.d.ts +2 -5
  386. package/hmr/server/websocket-module-specifiers.js +42 -30
  387. package/hmr/server/websocket-module-specifiers.js.map +1 -1
  388. package/hmr/server/websocket-ns-core.d.ts +34 -0
  389. package/hmr/server/websocket-ns-core.js +414 -0
  390. package/hmr/server/websocket-ns-core.js.map +1 -0
  391. package/hmr/server/websocket-ns-entry.d.ts +21 -0
  392. package/hmr/server/websocket-ns-entry.js +163 -0
  393. package/hmr/server/websocket-ns-entry.js.map +1 -0
  394. package/hmr/server/websocket-ns-m-paths.d.ts +19 -3
  395. package/hmr/server/websocket-ns-m-paths.js +98 -75
  396. package/hmr/server/websocket-ns-m-paths.js.map +1 -1
  397. package/hmr/server/websocket-ns-m-request.d.ts +2 -1
  398. package/hmr/server/websocket-ns-m-request.js +3 -2
  399. package/hmr/server/websocket-ns-m-request.js.map +1 -1
  400. package/hmr/server/websocket-ns-m.d.ts +52 -0
  401. package/hmr/server/websocket-ns-m.js +592 -0
  402. package/hmr/server/websocket-ns-m.js.map +1 -0
  403. package/hmr/server/websocket-served-module-helpers.d.ts +65 -3
  404. package/hmr/server/websocket-served-module-helpers.js +457 -140
  405. package/hmr/server/websocket-served-module-helpers.js.map +1 -1
  406. package/hmr/server/websocket-txn.js +6 -9
  407. package/hmr/server/websocket-txn.js.map +1 -1
  408. package/hmr/server/websocket-vendor-unifier.d.ts +0 -1
  409. package/hmr/server/websocket-vendor-unifier.js +4 -9
  410. package/hmr/server/websocket-vendor-unifier.js.map +1 -1
  411. package/hmr/server/websocket.d.ts +6 -40
  412. package/hmr/server/websocket.js +661 -6751
  413. package/hmr/server/websocket.js.map +1 -1
  414. package/hmr/shared/ns-globals.d.ts +108 -0
  415. package/hmr/shared/ns-globals.js +29 -0
  416. package/hmr/shared/ns-globals.js.map +1 -0
  417. package/hmr/shared/protocol.d.ts +157 -0
  418. package/hmr/shared/protocol.js +28 -0
  419. package/hmr/shared/protocol.js.map +1 -0
  420. package/hmr/shared/runtime/boot-complete.d.ts +14 -0
  421. package/hmr/shared/runtime/boot-complete.js +32 -0
  422. package/hmr/shared/runtime/boot-complete.js.map +1 -0
  423. package/hmr/shared/runtime/boot-placeholder-ui.d.ts +69 -0
  424. package/hmr/shared/runtime/boot-placeholder-ui.js +101 -0
  425. package/hmr/shared/runtime/boot-placeholder-ui.js.map +1 -0
  426. package/hmr/shared/runtime/boot-progress.d.ts +44 -0
  427. package/hmr/shared/runtime/boot-progress.js +134 -0
  428. package/hmr/shared/runtime/boot-progress.js.map +1 -0
  429. package/hmr/shared/runtime/boot-timeline.d.ts +1 -1
  430. package/hmr/shared/runtime/boot-timeline.js +8 -19
  431. package/hmr/shared/runtime/boot-timeline.js.map +1 -1
  432. package/hmr/shared/runtime/browser-runtime-contract.d.ts +58 -25
  433. package/hmr/shared/runtime/browser-runtime-contract.js +21 -9
  434. package/hmr/shared/runtime/browser-runtime-contract.js.map +1 -1
  435. package/hmr/shared/runtime/dev-overlay-ios.d.ts +87 -0
  436. package/hmr/shared/runtime/dev-overlay-ios.js +521 -0
  437. package/hmr/shared/runtime/dev-overlay-ios.js.map +1 -0
  438. package/hmr/shared/runtime/dev-overlay-shared.d.ts +58 -0
  439. package/hmr/shared/runtime/dev-overlay-shared.js +116 -0
  440. package/hmr/shared/runtime/dev-overlay-shared.js.map +1 -0
  441. package/hmr/shared/runtime/dev-overlay-snapshots.d.ts +31 -0
  442. package/hmr/shared/runtime/dev-overlay-snapshots.js +324 -0
  443. package/hmr/shared/runtime/dev-overlay-snapshots.js.map +1 -0
  444. package/hmr/shared/runtime/dev-overlay-tree.d.ts +59 -0
  445. package/hmr/shared/runtime/dev-overlay-tree.js +712 -0
  446. package/hmr/shared/runtime/dev-overlay-tree.js.map +1 -0
  447. package/hmr/shared/runtime/dev-overlay.d.ts +23 -69
  448. package/hmr/shared/runtime/dev-overlay.js +67 -1011
  449. package/hmr/shared/runtime/dev-overlay.js.map +1 -1
  450. package/hmr/shared/runtime/global-scope.d.ts +18 -0
  451. package/hmr/shared/runtime/global-scope.js +21 -0
  452. package/hmr/shared/runtime/global-scope.js.map +1 -0
  453. package/hmr/shared/runtime/hooks.js +2 -1
  454. package/hmr/shared/runtime/hooks.js.map +1 -1
  455. package/hmr/shared/runtime/launch-bridge.d.ts +9 -0
  456. package/hmr/shared/runtime/launch-bridge.js +98 -0
  457. package/hmr/shared/runtime/launch-bridge.js.map +1 -0
  458. package/hmr/shared/runtime/module-provenance.js +3 -2
  459. package/hmr/shared/runtime/module-provenance.js.map +1 -1
  460. package/hmr/shared/runtime/ns-runtime-test-double.d.ts +21 -0
  461. package/hmr/shared/runtime/ns-runtime-test-double.js +20 -0
  462. package/hmr/shared/runtime/ns-runtime-test-double.js.map +1 -0
  463. package/hmr/shared/runtime/overlay-flag.d.ts +9 -0
  464. package/hmr/shared/runtime/overlay-flag.js +34 -0
  465. package/hmr/shared/runtime/overlay-flag.js.map +1 -0
  466. package/hmr/shared/runtime/root-placeholder-view.d.ts +19 -0
  467. package/hmr/shared/runtime/root-placeholder-view.js +311 -0
  468. package/hmr/shared/runtime/root-placeholder-view.js.map +1 -0
  469. package/hmr/shared/runtime/root-placeholder.js +382 -157
  470. package/hmr/shared/runtime/root-placeholder.js.map +1 -1
  471. package/hmr/shared/runtime/session-bootstrap.js +209 -54
  472. package/hmr/shared/runtime/session-bootstrap.js.map +1 -1
  473. package/hmr/shared/runtime/vendor-bootstrap.js +2 -1
  474. package/hmr/shared/runtime/vendor-bootstrap.js.map +1 -1
  475. package/hmr/shared/runtime/vendor-resolve.d.ts +22 -0
  476. package/hmr/shared/runtime/vendor-resolve.js +45 -0
  477. package/hmr/shared/runtime/vendor-resolve.js.map +1 -0
  478. package/hmr/shared/runtime/worker-tracking.d.ts +28 -0
  479. package/hmr/shared/runtime/worker-tracking.js +114 -0
  480. package/hmr/shared/runtime/worker-tracking.js.map +1 -0
  481. package/hmr/shared/vendor/manifest-collect.d.ts +4 -0
  482. package/hmr/shared/vendor/manifest-collect.js +909 -0
  483. package/hmr/shared/vendor/manifest-collect.js.map +1 -0
  484. package/hmr/shared/vendor/manifest-loader.d.ts +2 -1
  485. package/hmr/shared/vendor/manifest-loader.js +5 -3
  486. package/hmr/shared/vendor/manifest-loader.js.map +1 -1
  487. package/hmr/shared/vendor/manifest.d.ts +10 -35
  488. package/hmr/shared/vendor/manifest.js +154 -978
  489. package/hmr/shared/vendor/manifest.js.map +1 -1
  490. package/hmr/shared/vendor/registry.d.ts +2 -0
  491. package/hmr/shared/vendor/registry.js +14 -0
  492. package/hmr/shared/vendor/registry.js.map +1 -1
  493. package/hmr/shared/vendor/vendor-device-shim.d.ts +1 -0
  494. package/hmr/shared/vendor/vendor-device-shim.js +208 -0
  495. package/hmr/shared/vendor/vendor-device-shim.js.map +1 -0
  496. package/hmr/shared/vendor/vendor-esbuild-plugins.d.ts +107 -0
  497. package/hmr/shared/vendor/vendor-esbuild-plugins.js +540 -0
  498. package/hmr/shared/vendor/vendor-esbuild-plugins.js.map +1 -0
  499. package/package.json +70 -13
  500. package/runtime/core-aliases-early.js +11 -16
  501. package/runtime/core-aliases-early.js.map +1 -1
  502. package/shims/react-jsx-runtime.d.ts +4 -0
  503. package/shims/react-jsx-runtime.js +61 -0
  504. package/shims/react-jsx-runtime.js.map +1 -0
  505. package/helpers/angular/angular-linker.d.ts +0 -13
  506. package/helpers/angular/angular-linker.js +0 -185
  507. package/helpers/angular/angular-linker.js.map +0 -1
  508. package/helpers/angular/inject-component-hmr-registration.js.map +0 -1
  509. package/helpers/angular/inline-decorator-component-templates.js.map +0 -1
  510. package/helpers/angular/shared-linker.d.ts +0 -11
  511. package/helpers/angular/shared-linker.js +0 -75
  512. package/helpers/angular/shared-linker.js.map +0 -1
  513. package/helpers/angular/synthesize-decorator-ctor-parameters.js.map +0 -1
  514. package/helpers/angular/synthesize-injectable-factories.js.map +0 -1
  515. package/helpers/angular/util.js.map +0 -1
  516. package/helpers/module-runner-patch.d.ts +0 -3
  517. package/helpers/module-runner-patch.js +0 -63
  518. package/helpers/module-runner-patch.js.map +0 -1
  519. package/helpers/prelink-angular.d.ts +0 -2
  520. package/helpers/prelink-angular.js +0 -114
  521. package/helpers/prelink-angular.js.map +0 -1
  522. package/hmr/server/websocket-angular-entry.js.map +0 -1
  523. package/hmr/server/websocket-angular-hot-update.js.map +0 -1
  524. package/hmr/server/websocket-ns-m-finalize.d.ts +0 -22
  525. package/hmr/server/websocket-ns-m-finalize.js +0 -88
  526. package/hmr/server/websocket-ns-m-finalize.js.map +0 -1
  527. package/hmr/server/websocket-runtime-compat.d.ts +0 -19
  528. package/hmr/server/websocket-runtime-compat.js +0 -287
  529. package/hmr/server/websocket-runtime-compat.js.map +0 -1
  530. package/hmr/server/websocket-vue-sfc.d.ts +0 -27
  531. package/hmr/server/websocket-vue-sfc.js +0 -1069
  532. package/hmr/server/websocket-vue-sfc.js.map +0 -1
  533. package/hmr/shared/runtime/http-only-boot.d.ts +0 -2
  534. package/hmr/shared/runtime/http-only-boot.js +0 -171
  535. package/hmr/shared/runtime/http-only-boot.js.map +0 -1
  536. package/hmr/vendor-bootstrap.d.ts +0 -3
  537. package/hmr/vendor-bootstrap.js +0 -32
  538. package/hmr/vendor-bootstrap.js.map +0 -1
  539. package/shims/react-reconciler-constants.d.ts +0 -14
  540. package/shims/react-reconciler-constants.js +0 -21
  541. package/shims/react-reconciler-constants.js.map +0 -1
  542. package/shims/react-reconciler.d.ts +0 -8
  543. package/shims/react-reconciler.js +0 -15
  544. package/shims/react-reconciler.js.map +0 -1
  545. package/transformers/NativeClass/index.d.ts +0 -2
  546. package/transformers/NativeClass/index.js +0 -222
  547. package/transformers/NativeClass/index.js.map +0 -1
  548. /package/{helpers/angular → hmr/frameworks/angular/build}/inject-component-hmr-registration.d.ts +0 -0
  549. /package/{helpers/angular → hmr/frameworks/angular/build}/inline-decorator-component-templates.d.ts +0 -0
  550. /package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-decorator-ctor-parameters.d.ts +0 -0
  551. /package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-injectable-factories.d.ts +0 -0
  552. /package/{helpers/angular → hmr/frameworks/angular/build}/util.d.ts +0 -0
  553. /package/{helpers/angular → hmr/frameworks/angular/build}/util.js +0 -0
  554. /package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.d.ts +0 -0
@@ -0,0 +1,540 @@
1
+ import * as esbuild from 'esbuild';
2
+ import path from 'path';
3
+ import fs from 'fs';
4
+ import { readFile } from 'fs/promises';
5
+ import { createRequire } from 'node:module';
6
+ import { getAngularLinkerFactory, runAngularLinker } from '../../frameworks/angular/build/shared-linker.js';
7
+ import { vendorModuleShim } from './vendor-device-shim.js';
8
+ export function createVendorEsbuildPlugin(projectRoot) {
9
+ return {
10
+ name: 'ns-vendor-resolver',
11
+ setup(build) {
12
+ const debug = process.env.VITE_DEBUG_LOGS === 'true' || process.env.VITE_DEBUG_LOGS === '1';
13
+ build.onResolve({ filter: /^~\/package\.json$/ }, () => ({
14
+ path: path.resolve(projectRoot, 'package.json'),
15
+ }));
16
+ build.onResolve({ filter: /^module$/ }, () => ({
17
+ path: 'ns-vendor-module-shim',
18
+ namespace: 'ns-vendor',
19
+ }));
20
+ build.onLoad({ filter: /^ns-vendor-module-shim$/, namespace: 'ns-vendor' }, () => ({
21
+ contents: vendorModuleShim,
22
+ loader: 'js',
23
+ }));
24
+ // Stub Angular animations in vendor to avoid bundling browser-only code.
25
+ // Provide named exports expected by @nativescript/angular to satisfy esbuild.
26
+ const PB_ANIMATIONS_ID = 'ns-animations-pb-shim';
27
+ const ANIMATIONS_BROWSER_ID = 'ns-animations-browser-shim';
28
+ const ANIMATIONS_ID = 'ns-animations-noop';
29
+ // @angular/platform-browser/animations -> provide concrete named stubs
30
+ build.onResolve({ filter: /^@angular\/platform-browser\/animations(?:\/.*)?$/ }, (args) => {
31
+ if (debug) {
32
+ console.log('[vendor] map', args.path, '->', PB_ANIMATIONS_ID);
33
+ }
34
+ return { path: PB_ANIMATIONS_ID, namespace: 'ns-vendor' };
35
+ });
36
+ build.onLoad({ filter: new RegExp(`^${PB_ANIMATIONS_ID}$`), namespace: 'ns-vendor' }, () => ({
37
+ contents: [
38
+ 'export default {};',
39
+ // Commonly imported symbols by @nativescript/angular
40
+ 'export class AnimationBuilder {};',
41
+ 'export const \u0275BrowserAnimationBuilder = class {};',
42
+ 'export const \u0275AnimationEngine = class {};',
43
+ 'export const \u0275AnimationRendererFactory = class {};',
44
+ 'export const \u0275WebAnimationsStyleNormalizer = class {};',
45
+ // Typical platform-browser/animations APIs exported; safe no-ops
46
+ 'export class BrowserAnimationsModule {};',
47
+ 'export class NoopAnimationsModule {};',
48
+ 'export const provideAnimations = (..._args) => [];',
49
+ 'export const provideNoopAnimations = (..._args) => [];',
50
+ // Marker used by some Angular internals
51
+ 'export const ANIMATION_MODULE_TYPE = void 0;',
52
+ ].join('\n'),
53
+ loader: 'js',
54
+ }));
55
+ // @angular/animations/browser -> provide ɵ* engine/renderer/style normalizer stubs
56
+ build.onResolve({ filter: /^@angular\/animations\/browser(?:\/.*)?$/ }, (args) => {
57
+ if (debug) {
58
+ console.log('[vendor] map', args.path, '->', ANIMATIONS_BROWSER_ID);
59
+ }
60
+ return { path: ANIMATIONS_BROWSER_ID, namespace: 'ns-vendor' };
61
+ });
62
+ build.onLoad({ filter: new RegExp(`^${ANIMATIONS_BROWSER_ID}$`), namespace: 'ns-vendor' }, () => ({
63
+ contents: [
64
+ 'export default {};',
65
+ 'export class AnimationDriver {};',
66
+ 'export const \u0275AnimationRendererFactory = class {};',
67
+ 'export const \u0275AnimationStyleNormalizer = class {};',
68
+ 'export const \u0275WebAnimationsStyleNormalizer = class {};',
69
+ 'export const \u0275AnimationEngine = class {};',
70
+ // Convenience alias if any consumers import non-ɵ name
71
+ 'export const AnimationStyleNormalizer = \u0275AnimationStyleNormalizer;',
72
+ ].join('\n'),
73
+ loader: 'js',
74
+ }));
75
+ // @angular/animations -> broad no-op surface
76
+ build.onResolve(
77
+ // Keep generic mapping for @angular/animations base; /browser is handled above
78
+ { filter: /^@angular\/animations(?:$|\/)$/ }, (args) => {
79
+ if (debug) {
80
+ console.log('[vendor] map', args.path, '->', ANIMATIONS_ID);
81
+ }
82
+ return { path: ANIMATIONS_ID, namespace: 'ns-vendor' };
83
+ });
84
+ build.onLoad({ filter: new RegExp(`^${ANIMATIONS_ID}$`), namespace: 'ns-vendor' }, () => ({
85
+ contents: [
86
+ 'export default {};',
87
+ // Provide names sometimes (incorrectly) imported from @angular/animations by wrappers
88
+ 'export class AnimationBuilder {};',
89
+ 'export const \u0275BrowserAnimationBuilder = class {};',
90
+ 'export const \u0275AnimationEngine = class {};',
91
+ 'export const \u0275AnimationRendererFactory = class {};',
92
+ 'export const \u0275WebAnimationsStyleNormalizer = class {};',
93
+ 'export const ANIMATION_MODULE_TYPE = void 0;',
94
+ // Export a few common tokens as harmless stubs
95
+ 'export const animate = (..._a) => ({});',
96
+ 'export const state = (..._a) => ({});',
97
+ 'export const style = (..._a) => ({});',
98
+ 'export const transition = (..._a) => ({});',
99
+ 'export const trigger = (..._a) => ({});',
100
+ 'export const sequence = (..._a) => ({});',
101
+ 'export const group = (..._a) => ({});',
102
+ 'export const query = (..._a) => ({});',
103
+ 'export const stagger = (..._a) => ({});',
104
+ 'export const keyframes = (..._a) => ({});',
105
+ ].join('\n'),
106
+ loader: 'js',
107
+ }));
108
+ },
109
+ };
110
+ }
111
+ /**
112
+ * esbuild plugin to compile .jsx/.tsx files from Solid packages through
113
+ * babel-preset-solid. Without this, esbuild uses its default React JSX
114
+ * transform, producing React.createElement calls that crash at runtime.
115
+ *
116
+ * Only applied to files inside node_modules that have .jsx or .tsx extension.
117
+ */
118
+ export function createSolidJsxEsbuildPlugin(projectRoot) {
119
+ // Lazy-load Babel and the Solid preset so they're only required when
120
+ // the Solid flavor is active.
121
+ let babel;
122
+ let solidPreset;
123
+ return {
124
+ name: 'ns-vendor-solid-jsx',
125
+ setup(build) {
126
+ // Intercept .jsx and .tsx files from node_modules
127
+ build.onLoad({ filter: /node_modules[\\/].*\.[jt]sx$/ }, async (args) => {
128
+ try {
129
+ if (!babel) {
130
+ babel = await import('@babel/core');
131
+ // babel-preset-solid is the standard Solid JSX transform
132
+ solidPreset = (await import('babel-preset-solid')).default;
133
+ }
134
+ const source = await readFile(args.path, 'utf-8');
135
+ const result = await babel.transformAsync(source, {
136
+ filename: args.path,
137
+ presets: [
138
+ [
139
+ solidPreset,
140
+ {
141
+ generate: 'universal',
142
+ hydratable: false,
143
+ moduleName: '@nativescript-community/solid-js',
144
+ },
145
+ ],
146
+ ],
147
+ parserOpts: {
148
+ plugins: ['jsx', ...(args.path.endsWith('.tsx') ? ['typescript'] : [])],
149
+ },
150
+ ast: false,
151
+ sourceMaps: false,
152
+ configFile: false,
153
+ babelrc: false,
154
+ });
155
+ if (result?.code) {
156
+ return { contents: result.code, loader: 'js' };
157
+ }
158
+ }
159
+ catch (e) {
160
+ console.warn(`[ns-vendor-solid-jsx] failed to transform ${args.path}:`, e?.message || e);
161
+ }
162
+ // Fall through to esbuild's default handling
163
+ return undefined;
164
+ });
165
+ },
166
+ };
167
+ }
168
+ /**
169
+ * esbuild plugin that rewrites Unicode property-escape regular expressions
170
+ * (`\p{…}` / `\P{…}` used with the `u`/`v` flag) in vendored `node_modules`
171
+ * code into explicit character ranges, via
172
+ * `@babel/plugin-transform-unicode-property-regex`.
173
+ *
174
+ * NativeScript's V8 is compiled WITHOUT ICU/Intl, so Unicode property escapes
175
+ * are unrecognized and throw `SyntaxError: Invalid property name in character
176
+ * class` at *compile* time — not at match time. Because the HMR vendor bundle
177
+ * is a single large module, one offending regex (e.g. highlight.js's
178
+ * `TAG_NAME_RE = regex.concat(/[\p{L}_]/u, …)`) aborts the whole `vendor.mjs`
179
+ * compile and takes the entire dev session down with the misleading
180
+ * "ES module returned empty namespace" error.
181
+ *
182
+ * Babel expands the escapes to explicit ranges (`[A-Za-z\xAA…]`) that compile
183
+ * on a non-ICU engine while preserving match semantics — the `u` flag itself
184
+ * works fine without ICU; only the `\p{…}` property lookups need it. The
185
+ * transform is gated on a cheap substring check so only files that actually
186
+ * contain `\p{` / `\P{` pay the parse/regenerate cost, and any failure falls
187
+ * through to the untransformed source rather than aborting the build.
188
+ */
189
+ /**
190
+ * Resolve node-builtin specifiers to the project's installed npm polyfill
191
+ * package when one exists (`buffer`, `events`, `process`, `punycode`, ...).
192
+ *
193
+ * The deps/vendor builds externalize node builtins because the device runtime
194
+ * cannot resolve them — but several builtin names are ALSO real npm packages
195
+ * that browser-targeting dependencies install and import by name (e.g.
196
+ * feross/buffer: `import { Buffer } from 'buffer'`). Leaving those external
197
+ * emits a bare `from "buffer"` in the served ESM bundle, which the device
198
+ * cannot resolve either — instantiation of the ENTIRE dev-session graph then
199
+ * fails ("The requested module 'buffer' does not provide an export named
200
+ * 'Buffer'"). When the project has the package installed, bundle it like any
201
+ * other dependency; only truly unresolvable builtins stay external.
202
+ *
203
+ * Node's `require.resolve('buffer')` prefers the CORE module over an
204
+ * installed package of the same name, so the probe goes through
205
+ * `<name>/package.json` (which core modules don't have) and lets esbuild
206
+ * finish entry resolution from the package directory.
207
+ */
208
+ // Builtin names that commonly exist as installed npm polyfill packages.
209
+ // Mirrors the NODE_BUILTINS externalization lists in deps-bundle/core-bundle.
210
+ export const NODE_BUILTIN_POLYFILL_CANDIDATES = ['assert', 'buffer', 'console', 'constants', 'domain', 'events', 'http', 'https', 'os', 'path', 'process', 'punycode', 'querystring', 'stream', 'string_decoder', 'sys', 'timers', 'tty', 'url', 'util', 'vm', 'zlib'];
211
+ export function createNodeBuiltinPolyfillEsbuildPlugin(projectRoot, builtins = NODE_BUILTIN_POLYFILL_CANDIDATES) {
212
+ const projectRequire = createRequire(path.join(projectRoot, 'package.json'));
213
+ // name → package dir, or null when no installed polyfill exists.
214
+ const pkgDirCache = new Map();
215
+ const escaped = builtins.map((b) => b.replace(/[.*+?^${}()|[\]\\/]/g, '\\$&'));
216
+ const filter = new RegExp(`^(?:node:)?(?:${escaped.join('|')})$`);
217
+ return {
218
+ name: 'ns-node-builtin-polyfill',
219
+ setup(build) {
220
+ build.onResolve({ filter }, async (args) => {
221
+ if (args.pluginData?.nsBuiltinPolyfillProbe)
222
+ return undefined;
223
+ const name = args.path.replace(/^node:/, '');
224
+ let pkgDir = pkgDirCache.get(name);
225
+ if (pkgDir === undefined) {
226
+ try {
227
+ pkgDir = path.dirname(projectRequire.resolve(`${name}/package.json`));
228
+ }
229
+ catch {
230
+ pkgDir = null;
231
+ }
232
+ pkgDirCache.set(name, pkgDir);
233
+ }
234
+ if (!pkgDir)
235
+ return undefined; // no installed polyfill → stay external
236
+ const probe = await build.resolve('./', {
237
+ resolveDir: pkgDir,
238
+ kind: args.kind,
239
+ importer: args.importer,
240
+ pluginData: { nsBuiltinPolyfillProbe: true },
241
+ });
242
+ if (probe.errors.length > 0 || !probe.path || probe.external)
243
+ return undefined;
244
+ return { path: probe.path };
245
+ });
246
+ },
247
+ };
248
+ }
249
+ /**
250
+ * Stub webpack-loader-prefixed specifiers (`nativescript-worker-loader!./x`,
251
+ * `raw-loader!...`, chained `a!b!./x`) to an empty module.
252
+ *
253
+ * Legacy NS 6/7-era plugins still ship branches like
254
+ * `require("nativescript-worker-loader!./commercial-worker.js")` that are
255
+ * dead code at runtime behind `global.TNS_WEBPACK >= 5` checks. webpack
256
+ * tolerates the syntax; esbuild resolves `require()` specifiers eagerly, so a
257
+ * single loader-prefixed specifier anywhere in a dependency hard-fails the
258
+ * ENTIRE vendor/deps bundle with "Could not resolve" — even when the app
259
+ * never imports that package (the deps closure scans every app dependency).
260
+ *
261
+ * Loader syntax can never be valid outside webpack, so resolve such
262
+ * specifiers into a stub module that evaluates to `undefined` — exactly what
263
+ * the dead webpack-4 branch would observe on a webpack-5/vite runtime.
264
+ */
265
+ export function createWebpackLoaderStubEsbuildPlugin() {
266
+ return {
267
+ name: 'ns-webpack-loader-stub',
268
+ setup(build) {
269
+ build.onResolve({ filter: /!/ }, (args) => {
270
+ const spec = args.path;
271
+ // Only treat it as webpack loader syntax when the request starts
272
+ // with a loader reference: optional `!`/`!!`/`-!` prefix followed
273
+ // by a bare (non-relative, non-absolute) name containing `!`.
274
+ // Relative/absolute paths that merely contain `!` are left to the
275
+ // normal resolver.
276
+ const withoutPrefix = spec.replace(/^-?!!?/, '');
277
+ const bang = withoutPrefix.indexOf('!');
278
+ if (bang <= 0)
279
+ return undefined;
280
+ const loaderRef = withoutPrefix.slice(0, bang);
281
+ if (loaderRef.startsWith('.') || loaderRef.startsWith('/') || /^[A-Za-z]:[\\/]/.test(loaderRef)) {
282
+ return undefined;
283
+ }
284
+ return { path: spec, namespace: 'ns-webpack-loader-stub' };
285
+ });
286
+ build.onLoad({ filter: /.*/, namespace: 'ns-webpack-loader-stub' }, () => ({
287
+ contents: 'module.exports = undefined;',
288
+ loader: 'js',
289
+ }));
290
+ },
291
+ };
292
+ }
293
+ export function createUnicodeRegexEsbuildPlugin(projectRoot) {
294
+ // Lazy-load Babel and the transform so the cost is only paid when a vendored
295
+ // package actually ships property-escape regexes.
296
+ let babel;
297
+ let unicodePropertyRegexPlugin;
298
+ let toolingUnavailable = false;
299
+ return {
300
+ name: 'ns-vendor-unicode-regex',
301
+ setup(build) {
302
+ const debug = process.env.VITE_DEBUG_LOGS === 'true' || process.env.VITE_DEBUG_LOGS === '1';
303
+ // .js/.mjs/.cjs only — .jsx/.tsx are owned by the Solid JSX pass and
304
+ // Angular partials by the linker pass.
305
+ build.onLoad({ filter: /node_modules[\\/].*\.[mc]?js$/ }, async (args) => {
306
+ // Angular framework files are handled by the linker pass; leave them
307
+ // to it to avoid double-processing the same module.
308
+ if (/[\\/](?:@angular|@nativescript[\\/]angular)[\\/]/.test(args.path)) {
309
+ return undefined;
310
+ }
311
+ let source;
312
+ try {
313
+ source = await readFile(args.path, 'utf-8');
314
+ }
315
+ catch {
316
+ return undefined;
317
+ }
318
+ // Fast path: skip files that cannot contain a property escape.
319
+ if (!source.includes('\\p{') && !source.includes('\\P{')) {
320
+ return undefined;
321
+ }
322
+ if (toolingUnavailable) {
323
+ return undefined;
324
+ }
325
+ try {
326
+ if (!babel) {
327
+ babel = await import('@babel/core');
328
+ // CJS interop: under a CJS-compiled host, `import()` of this
329
+ // package yields { default: { default: fn } } (__importStar
330
+ // wraps module.exports, which itself carries a transpiled
331
+ // `default`). Unwrap both layers or Babel rejects the plugin
332
+ // entry ("plugins[0] must be a string, object, function").
333
+ const mod = await import('@babel/plugin-transform-unicode-property-regex');
334
+ unicodePropertyRegexPlugin = mod.default?.default ?? mod.default ?? mod;
335
+ }
336
+ }
337
+ catch (e) {
338
+ // Don't fail the build if the optional transform tooling is
339
+ // missing — leave the regex as-is (it only matters if the
340
+ // package is actually evaluated on-device).
341
+ toolingUnavailable = true;
342
+ console.warn(`[ns-vendor-unicode-regex] @babel/plugin-transform-unicode-property-regex unavailable; leaving \\p{} regexes untransformed:`, e?.message || e);
343
+ return undefined;
344
+ }
345
+ try {
346
+ const result = await babel.transformAsync(source, {
347
+ filename: args.path,
348
+ // node_modules dist files may be ESM or CJS/UMD; let Babel decide.
349
+ sourceType: 'unambiguous',
350
+ plugins: [unicodePropertyRegexPlugin],
351
+ ast: false,
352
+ sourceMaps: false,
353
+ configFile: false,
354
+ babelrc: false,
355
+ });
356
+ if (result?.code) {
357
+ if (debug) {
358
+ console.log('[ns-vendor-unicode-regex] transformed', args.path);
359
+ }
360
+ return { contents: result.code, loader: 'js' };
361
+ }
362
+ }
363
+ catch (e) {
364
+ console.warn(`[ns-vendor-unicode-regex] failed to transform ${args.path}:`, e?.message || e);
365
+ }
366
+ return undefined;
367
+ });
368
+ },
369
+ };
370
+ }
371
+ /**
372
+ * Minimal esbuild plugin to run Angular linker (Babel) over partial-compiled
373
+ * Angular packages in node_modules. This converts ɵɵngDeclare* calls into
374
+ * ɵɵdefine* so runtime doesn't require the JIT compiler.
375
+ */
376
+ export function angularLinkerEsbuildPlugin(projectRoot) {
377
+ // Restrict to Angular framework packages to minimize esbuild memory usage.
378
+ const FILTER = /node_modules[\\/](?:@angular|@nativescript[\\/]angular)[\\/].*\.[mc]?js$/;
379
+ return {
380
+ name: 'ns-angular-linker',
381
+ async setup(build) {
382
+ const debug = process.env.VITE_DEBUG_LOGS === 'true' || process.env.VITE_DEBUG_LOGS === '1';
383
+ const { babel, createLinker } = await getAngularLinkerFactory(projectRoot);
384
+ if (!babel || !createLinker) {
385
+ // Nothing to do if deps unavailable
386
+ return;
387
+ }
388
+ build.onLoad({ filter: FILTER }, async (args) => {
389
+ try {
390
+ const source = await readFile(args.path, 'utf8');
391
+ // Fast-path: only run linker when partial declarations are present
392
+ if (!(source.includes('\u0275\u0275ngDeclare') || source.includes('ɵɵngDeclare'))) {
393
+ return { contents: source, loader: 'js' };
394
+ }
395
+ if (debug) {
396
+ console.log('[ns-angular-linker][vendor] linking', args.path);
397
+ }
398
+ const linked = await runAngularLinker(source, { filename: args.path, projectRoot, freshPlugin: true });
399
+ return { contents: linked || source, loader: 'js' };
400
+ }
401
+ catch {
402
+ return { contents: await readFile(args.path, 'utf8'), loader: 'js' };
403
+ }
404
+ });
405
+ },
406
+ };
407
+ }
408
+ /**
409
+ * Resolve-fallback for OPTIONAL bare imports inside node_modules code.
410
+ *
411
+ * Server-leaning packages guard optional peers with try/catch requires —
412
+ * e.g. `@nestjs/core` lazily requires `@nestjs/microservices` and
413
+ * `@nestjs/websockets/socket-module` and degrades gracefully when they're
414
+ * absent. esbuild resolves eagerly, so ONE such unresolvable specifier fails
415
+ * the entire vendor/deps bundle ("Could not resolve ..."). This plugin lets
416
+ * default resolution run first (onResolve returns undefined when the id
417
+ * resolves); only genuinely unresolvable bare ids — requested FROM inside
418
+ * node_modules — map to a stub module that THROWS on evaluation, preserving
419
+ * the try/catch-optional semantics instead of masking real missing modules
420
+ * with `undefined` exports.
421
+ */
422
+ export function createOptionalDependencyStubEsbuildPlugin(projectRoot) {
423
+ const requireFromProject = createRequire(path.join(projectRoot, 'package.json'));
424
+ // `@scope/name/sub` → `@scope/name`; `pkg/sub` → `pkg`; `.prisma/client/…` → `.prisma`.
425
+ const packageNameOf = (spec) => {
426
+ const parts = spec.split('/');
427
+ return spec.startsWith('@') && parts.length >= 2 ? `${parts[0]}/${parts[1]}` : parts[0];
428
+ };
429
+ // Is the package physically installed? Walk Node's node_modules lookup
430
+ // chain from the importer, then the project root. Presence is judged by the
431
+ // package DIRECTORY (its package.json file), never by entry resolution.
432
+ const presenceCache = new Map();
433
+ const isPackageInstalled = (pkgName, fromDir) => {
434
+ const cacheKey = `${pkgName}\0${fromDir}`;
435
+ const cached = presenceCache.get(cacheKey);
436
+ if (cached !== undefined)
437
+ return cached;
438
+ let present = false;
439
+ let dir = fromDir;
440
+ for (;;) {
441
+ if (fs.existsSync(path.join(dir, 'node_modules', pkgName, 'package.json'))) {
442
+ present = true;
443
+ break;
444
+ }
445
+ const parent = path.dirname(dir);
446
+ if (parent === dir)
447
+ break;
448
+ dir = parent;
449
+ }
450
+ if (!present)
451
+ present = fs.existsSync(path.join(projectRoot, 'node_modules', pkgName, 'package.json'));
452
+ presenceCache.set(cacheKey, present);
453
+ return present;
454
+ };
455
+ const stubbed = new Set();
456
+ return {
457
+ name: 'ns-optional-dependency-stub',
458
+ setup(build) {
459
+ // Bare-specifier classification mirrors Node's: only `./x`, `../x`, `.`,
460
+ // `..` and absolute paths are non-bare. A leading dot does NOT make a
461
+ // specifier relative — `.prisma/client/index-browser` (Prisma's generated
462
+ // client, required by `@prisma/client`) is a bare id that resolves through
463
+ // node_modules, and must be stub-eligible when the generated package is
464
+ // absent. esbuild plugin filters are Go RE2 (no lookahead), hence the
465
+ // three-alternation form: bare start, `.x…`, `..x…`.
466
+ build.onResolve({ filter: /^[^./]|^\.[^./]|^\.\.[^/]/ }, (args) => {
467
+ // Only bare ids requested by node_modules code; app-code imports
468
+ // should keep failing loudly so misconfiguration stays visible.
469
+ if (!args.importer || !/node_modules[\\/]/.test(args.importer))
470
+ return undefined;
471
+ if (args.path.startsWith('node:'))
472
+ return undefined;
473
+ try {
474
+ requireFromProject.resolve(args.path, { paths: [path.dirname(args.importer)] });
475
+ return undefined; // resolvable — let esbuild handle it normally
476
+ }
477
+ catch {
478
+ // Node's resolver failing is NOT proof the package is missing:
479
+ // NativeScript plugins commonly ship extensionless platform mains
480
+ // (`"main": "./index"` with only index.ios.js/index.android.js on
481
+ // disk) that only esbuild's platform resolveExtensions can resolve.
482
+ // Stubbing an INSTALLED package plants an eagerly-thrown bomb in
483
+ // the bundle (ESM imports of the stub evaluate at bundle start —
484
+ // observed killing dev-session bootstrap via
485
+ // @nativescript-community/text under @nativescript-community/
486
+ // ui-label). Only genuinely ABSENT packages are stub-eligible;
487
+ // present-but-unresolvable ones fall through to esbuild, which
488
+ // either resolves them or fails the BUILD loudly with importer
489
+ // attribution — a diagnosable build error instead of a device
490
+ // bootstrap fatal.
491
+ if (isPackageInstalled(packageNameOf(args.path), path.dirname(args.importer))) {
492
+ return undefined;
493
+ }
494
+ stubbed.add(args.path);
495
+ return { path: args.path, namespace: 'ns-optional-dep-stub' };
496
+ }
497
+ });
498
+ build.onLoad({ filter: /.*/, namespace: 'ns-optional-dep-stub' }, (args) => ({
499
+ contents: `throw new Error(${JSON.stringify(`Cannot find module '${args.path}'`)});`,
500
+ loader: 'js',
501
+ }));
502
+ // Loud, counted summary (fail-open safety nets must not be silent):
503
+ // every stub is a module that will THROW if its importer's try/catch
504
+ // guard doesn't cover it on device.
505
+ build.onEnd(() => {
506
+ if (stubbed.size) {
507
+ console.log(`[ns-vendor] stubbed ${stubbed.size} absent optional dependenc${stubbed.size === 1 ? 'y' : 'ies'} (throw-on-evaluate): ${Array.from(stubbed).sort().join(', ')}`);
508
+ stubbed.clear();
509
+ }
510
+ });
511
+ },
512
+ };
513
+ }
514
+ /**
515
+ * Stub native Node addons (`*.node` binaries) in vendored node_modules code.
516
+ *
517
+ * Compiled addons can never evaluate on the device runtime, and esbuild has no
518
+ * loader for them — a single `require('./fsevents.node')` reached transitively
519
+ * (fsevents is an optional dep of file watchers like chokidar) hard-fails the
520
+ * ENTIRE vendor/deps bundle with "No loader is configured for .node files".
521
+ * Loading such a file as a module that THROWS mirrors exactly what happens on
522
+ * any platform where the binary is absent/incompatible (e.g. fsevents on
523
+ * Linux), so consumers' try/catch-optional guards keep working.
524
+ *
525
+ * onLoad (not onResolve) so only real resolved `.node` FILES are stubbed — a
526
+ * package whose name merely ends in `.node` still resolves to its JS entry and
527
+ * never hits this filter.
528
+ */
529
+ export function createNativeAddonStubEsbuildPlugin() {
530
+ return {
531
+ name: 'ns-native-addon-stub',
532
+ setup(build) {
533
+ build.onLoad({ filter: /node_modules[\\/].*\.node$/ }, (args) => ({
534
+ contents: `throw new Error(${JSON.stringify(`Cannot load native addon '${path.basename(args.path)}' on the NativeScript runtime`)});`,
535
+ loader: 'js',
536
+ }));
537
+ },
538
+ };
539
+ }
540
+ //# sourceMappingURL=vendor-esbuild-plugins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vendor-esbuild-plugins.js","sourceRoot":"","sources":["../../../../../../packages/vite/hmr/shared/vendor/vendor-esbuild-plugins.ts"],"names":[],"mappings":"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"}