@nativescript/vite 8.0.0-beta.0 → 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 (586) hide show
  1. package/README.md +89 -14
  2. package/bin/cli.cjs +8 -14
  3. package/configuration/angular.d.ts +35 -2
  4. package/configuration/angular.js +541 -216
  5. package/configuration/angular.js.map +1 -1
  6. package/configuration/base.js +228 -78
  7. package/configuration/base.js.map +1 -1
  8. package/configuration/javascript.js +17 -96
  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 +58 -6
  13. package/configuration/solid.js.map +1 -1
  14. package/configuration/typescript.js +15 -96
  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/commonjs-plugins.d.ts +5 -2
  34. package/helpers/commonjs-plugins.js +126 -0
  35. package/helpers/commonjs-plugins.js.map +1 -1
  36. package/helpers/config-as-json.js +10 -0
  37. package/helpers/config-as-json.js.map +1 -1
  38. package/helpers/css-platform-plugin.d.ts +14 -0
  39. package/helpers/css-platform-plugin.js +43 -25
  40. package/helpers/css-platform-plugin.js.map +1 -1
  41. package/helpers/dev-host.d.ts +360 -0
  42. package/helpers/dev-host.js +694 -0
  43. package/helpers/dev-host.js.map +1 -0
  44. package/helpers/dynamic-import-plugin.d.ts +2 -1
  45. package/helpers/dynamic-import-plugin.js +59 -53
  46. package/helpers/dynamic-import-plugin.js.map +1 -1
  47. package/helpers/esbuild-platform-resolver.js +9 -6
  48. package/helpers/esbuild-platform-resolver.js.map +1 -1
  49. package/helpers/external-configs.d.ts +10 -4
  50. package/helpers/external-configs.js +63 -15
  51. package/helpers/external-configs.js.map +1 -1
  52. package/helpers/flavor.d.ts +31 -0
  53. package/helpers/flavor.js +53 -2
  54. package/helpers/flavor.js.map +1 -1
  55. package/helpers/global-defines.d.ts +118 -0
  56. package/helpers/global-defines.js +214 -11
  57. package/helpers/global-defines.js.map +1 -1
  58. package/helpers/hmr-scope.d.ts +26 -0
  59. package/helpers/hmr-scope.js +67 -0
  60. package/helpers/hmr-scope.js.map +1 -0
  61. package/helpers/import-meta-path.d.ts +4 -0
  62. package/helpers/import-meta-path.js +5 -0
  63. package/helpers/import-meta-path.js.map +1 -0
  64. package/helpers/import-specifier.d.ts +1 -0
  65. package/helpers/import-specifier.js +18 -0
  66. package/helpers/import-specifier.js.map +1 -0
  67. package/helpers/init.js +24 -26
  68. package/helpers/init.js.map +1 -1
  69. package/helpers/logging.d.ts +12 -1
  70. package/helpers/logging.js +81 -5
  71. package/helpers/logging.js.map +1 -1
  72. package/helpers/main-entry.d.ts +8 -2
  73. package/helpers/main-entry.js +622 -120
  74. package/helpers/main-entry.js.map +1 -1
  75. package/helpers/nativeclass-esbuild-plugin.d.ts +2 -1
  76. package/helpers/nativeclass-esbuild-plugin.js +6 -1
  77. package/helpers/nativeclass-esbuild-plugin.js.map +1 -1
  78. package/helpers/nativeclass-transform.d.ts +13 -0
  79. package/helpers/nativeclass-transform.js +42 -131
  80. package/helpers/nativeclass-transform.js.map +1 -1
  81. package/helpers/nativeclass-transformer-plugin.d.ts +19 -1
  82. package/helpers/nativeclass-transformer-plugin.js +324 -37
  83. package/helpers/nativeclass-transformer-plugin.js.map +1 -1
  84. package/helpers/nativescript-package-resolver.js +10 -62
  85. package/helpers/nativescript-package-resolver.js.map +1 -1
  86. package/helpers/normalize-id.d.ts +42 -0
  87. package/helpers/normalize-id.js +60 -0
  88. package/helpers/normalize-id.js.map +1 -0
  89. package/helpers/ns-core-external-urls.d.ts +32 -0
  90. package/helpers/ns-core-external-urls.js +107 -0
  91. package/helpers/ns-core-external-urls.js.map +1 -0
  92. package/helpers/ns-core-url.d.ts +106 -0
  93. package/helpers/ns-core-url.js +225 -0
  94. package/helpers/ns-core-url.js.map +1 -0
  95. package/helpers/optimize-deps.d.ts +16 -0
  96. package/helpers/optimize-deps.js +17 -0
  97. package/helpers/optimize-deps.js.map +1 -0
  98. package/helpers/package-platform-aliases.js +34 -49
  99. package/helpers/package-platform-aliases.js.map +1 -1
  100. package/helpers/platform-types.d.ts +2 -0
  101. package/helpers/platform-types.js +2 -0
  102. package/helpers/platform-types.js.map +1 -0
  103. package/helpers/postcss-platform-config.d.ts +17 -1
  104. package/helpers/postcss-platform-config.js +20 -37
  105. package/helpers/postcss-platform-config.js.map +1 -1
  106. package/helpers/project.d.ts +35 -0
  107. package/helpers/project.js +120 -2
  108. package/helpers/project.js.map +1 -1
  109. package/helpers/resolve-main-field-platform.d.ts +20 -0
  110. package/helpers/resolve-main-field-platform.js +49 -0
  111. package/helpers/resolve-main-field-platform.js.map +1 -0
  112. package/helpers/resolver.js +17 -2
  113. package/helpers/resolver.js.map +1 -1
  114. package/helpers/theme-core-plugins.js +1 -1
  115. package/helpers/theme-core-plugins.js.map +1 -1
  116. package/helpers/ts-config-paths.d.ts +32 -0
  117. package/helpers/ts-config-paths.js +156 -27
  118. package/helpers/ts-config-paths.js.map +1 -1
  119. package/helpers/typescript-check.d.ts +3 -3
  120. package/helpers/typescript-check.js +4 -4
  121. package/helpers/typescript-check.js.map +1 -1
  122. package/helpers/ui-registration.d.ts +21 -0
  123. package/helpers/ui-registration.js +156 -0
  124. package/helpers/ui-registration.js.map +1 -0
  125. package/helpers/utils.d.ts +9 -0
  126. package/helpers/utils.js +22 -2
  127. package/helpers/utils.js.map +1 -1
  128. package/helpers/vite-package-version.d.ts +7 -0
  129. package/helpers/vite-package-version.js +44 -0
  130. package/helpers/vite-package-version.js.map +1 -0
  131. package/helpers/workers.d.ts +40 -19
  132. package/helpers/workers.js +312 -13
  133. package/helpers/workers.js.map +1 -1
  134. package/hmr/client/css-handler.d.ts +2 -1
  135. package/hmr/client/css-handler.js +95 -23
  136. package/hmr/client/css-handler.js.map +1 -1
  137. package/hmr/client/css-update-overlay.d.ts +18 -0
  138. package/hmr/client/css-update-overlay.js +27 -0
  139. package/hmr/client/css-update-overlay.js.map +1 -0
  140. package/hmr/client/framework-client-strategy.d.ts +117 -0
  141. package/hmr/client/framework-client-strategy.js +18 -0
  142. package/hmr/client/framework-client-strategy.js.map +1 -0
  143. package/hmr/client/framework.d.ts +31 -0
  144. package/hmr/client/framework.js +17 -0
  145. package/hmr/client/framework.js.map +1 -0
  146. package/hmr/client/hmr-pending-overlay.d.ts +13 -0
  147. package/hmr/client/hmr-pending-overlay.js +41 -0
  148. package/hmr/client/hmr-pending-overlay.js.map +1 -0
  149. package/hmr/client/hot-context.d.ts +89 -0
  150. package/hmr/client/hot-context.js +404 -0
  151. package/hmr/client/hot-context.js.map +1 -0
  152. package/hmr/client/index.d.ts +9 -1
  153. package/hmr/client/index.js +91 -1418
  154. package/hmr/client/index.js.map +1 -1
  155. package/hmr/client/overlay-driver.d.ts +10 -0
  156. package/hmr/client/overlay-driver.js +33 -0
  157. package/hmr/client/overlay-driver.js.map +1 -0
  158. package/hmr/client/protocol-dispatch.d.ts +8 -0
  159. package/hmr/client/protocol-dispatch.js +308 -0
  160. package/hmr/client/protocol-dispatch.js.map +1 -0
  161. package/hmr/client/root-reset.d.ts +15 -0
  162. package/hmr/client/root-reset.js +358 -0
  163. package/hmr/client/root-reset.js.map +1 -0
  164. package/hmr/client/strategy-loader.d.ts +24 -0
  165. package/hmr/client/strategy-loader.js +136 -0
  166. package/hmr/client/strategy-loader.js.map +1 -0
  167. package/hmr/client/update-pipeline.d.ts +27 -0
  168. package/hmr/client/update-pipeline.js +489 -0
  169. package/hmr/client/update-pipeline.js.map +1 -0
  170. package/hmr/client/utils.d.ts +14 -1
  171. package/hmr/client/utils.js +265 -54
  172. package/hmr/client/utils.js.map +1 -1
  173. package/hmr/client/ws-transport.d.ts +21 -0
  174. package/hmr/client/ws-transport.js +323 -0
  175. package/hmr/client/ws-transport.js.map +1 -0
  176. package/hmr/entry-runtime.d.ts +11 -0
  177. package/hmr/entry-runtime.js +566 -43
  178. package/hmr/entry-runtime.js.map +1 -1
  179. package/hmr/framework-flavors.d.ts +59 -0
  180. package/hmr/framework-flavors.js +108 -0
  181. package/hmr/framework-flavors.js.map +1 -0
  182. package/hmr/frameworks/angular/build/angular-linker.d.ts +12 -0
  183. package/hmr/frameworks/angular/build/angular-linker.js +113 -0
  184. package/hmr/frameworks/angular/build/angular-linker.js.map +1 -0
  185. package/hmr/frameworks/angular/build/inject-component-hmr-registration.d.ts +112 -0
  186. package/hmr/frameworks/angular/build/inject-component-hmr-registration.js +291 -0
  187. package/hmr/frameworks/angular/build/inject-component-hmr-registration.js.map +1 -0
  188. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.d.ts +75 -0
  189. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js +221 -0
  190. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js.map +1 -0
  191. package/hmr/frameworks/angular/build/inline-decorator-component-templates.d.ts +3 -0
  192. package/hmr/frameworks/angular/build/inline-decorator-component-templates.js +231 -0
  193. package/hmr/frameworks/angular/build/inline-decorator-component-templates.js.map +1 -0
  194. package/hmr/frameworks/angular/build/js-lexer.d.ts +4 -0
  195. package/hmr/frameworks/angular/build/js-lexer.js +182 -0
  196. package/hmr/frameworks/angular/build/js-lexer.js.map +1 -0
  197. package/hmr/frameworks/angular/build/linker-stats.d.ts +18 -0
  198. package/hmr/frameworks/angular/build/linker-stats.js +29 -0
  199. package/hmr/frameworks/angular/build/linker-stats.js.map +1 -0
  200. package/hmr/frameworks/angular/build/shared-linker.d.ts +39 -0
  201. package/hmr/frameworks/angular/build/shared-linker.js +128 -0
  202. package/hmr/frameworks/angular/build/shared-linker.js.map +1 -0
  203. package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.d.ts +1 -0
  204. package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js +88 -0
  205. package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js.map +1 -0
  206. package/hmr/frameworks/angular/build/synthesize-injectable-factories.d.ts +3 -0
  207. package/hmr/frameworks/angular/build/synthesize-injectable-factories.js +241 -0
  208. package/hmr/frameworks/angular/build/synthesize-injectable-factories.js.map +1 -0
  209. package/hmr/frameworks/angular/build/ts-fallback-transform.d.ts +5 -0
  210. package/hmr/frameworks/angular/build/ts-fallback-transform.js +138 -0
  211. package/hmr/frameworks/angular/build/ts-fallback-transform.js.map +1 -0
  212. package/{helpers/angular → hmr/frameworks/angular/build}/util.d.ts +1 -0
  213. package/hmr/frameworks/angular/build/util.js +155 -0
  214. package/hmr/frameworks/angular/build/util.js.map +1 -0
  215. package/hmr/frameworks/angular/build/worker-url-preserve.d.ts +5 -0
  216. package/hmr/frameworks/angular/build/worker-url-preserve.js +140 -0
  217. package/hmr/frameworks/angular/build/worker-url-preserve.js.map +1 -0
  218. package/hmr/frameworks/angular/client/index.d.ts +2 -1
  219. package/hmr/frameworks/angular/client/index.js +637 -23
  220. package/hmr/frameworks/angular/client/index.js.map +1 -1
  221. package/hmr/frameworks/angular/client/strategy.d.ts +9 -0
  222. package/hmr/frameworks/angular/client/strategy.js +19 -0
  223. package/hmr/frameworks/angular/client/strategy.js.map +1 -0
  224. package/hmr/frameworks/angular/server/angular-root-component.d.ts +79 -0
  225. package/hmr/frameworks/angular/server/angular-root-component.js +149 -0
  226. package/hmr/frameworks/angular/server/angular-root-component.js.map +1 -0
  227. package/hmr/frameworks/angular/server/linker.js +37 -6
  228. package/hmr/frameworks/angular/server/linker.js.map +1 -1
  229. package/hmr/frameworks/angular/server/ng-component-route.d.ts +43 -0
  230. package/hmr/frameworks/angular/server/ng-component-route.js +113 -0
  231. package/hmr/frameworks/angular/server/ng-component-route.js.map +1 -0
  232. package/hmr/frameworks/angular/server/strategy.js +697 -18
  233. package/hmr/frameworks/angular/server/strategy.js.map +1 -1
  234. package/hmr/frameworks/angular/server/websocket-angular-entry.d.ts +2 -0
  235. package/hmr/frameworks/angular/server/websocket-angular-entry.js +68 -0
  236. package/hmr/frameworks/angular/server/websocket-angular-entry.js.map +1 -0
  237. package/hmr/frameworks/angular/server/websocket-angular-hot-update.d.ts +94 -0
  238. package/hmr/frameworks/angular/server/websocket-angular-hot-update.js +485 -0
  239. package/hmr/frameworks/angular/server/websocket-angular-hot-update.js.map +1 -0
  240. package/hmr/frameworks/react/client/strategy.d.ts +12 -0
  241. package/hmr/frameworks/react/client/strategy.js +27 -0
  242. package/hmr/frameworks/react/client/strategy.js.map +1 -0
  243. package/hmr/frameworks/react/server/strategy.d.ts +2 -0
  244. package/hmr/frameworks/react/server/strategy.js +230 -0
  245. package/hmr/frameworks/react/server/strategy.js.map +1 -0
  246. package/hmr/frameworks/solid/build/solid-jsx-deps.d.ts +15 -0
  247. package/hmr/frameworks/solid/build/solid-jsx-deps.js +178 -0
  248. package/hmr/frameworks/solid/build/solid-jsx-deps.js.map +1 -0
  249. package/hmr/frameworks/solid/client/app-runtime.d.ts +68 -0
  250. package/hmr/frameworks/solid/client/app-runtime.js +252 -0
  251. package/hmr/frameworks/solid/client/app-runtime.js.map +1 -0
  252. package/hmr/frameworks/solid/client/strategy.d.ts +7 -0
  253. package/hmr/frameworks/solid/client/strategy.js +391 -0
  254. package/hmr/frameworks/solid/client/strategy.js.map +1 -0
  255. package/hmr/frameworks/solid/server/strategy.js +293 -16
  256. package/hmr/frameworks/solid/server/strategy.js.map +1 -1
  257. package/hmr/frameworks/typescript/client/strategy.d.ts +7 -0
  258. package/hmr/frameworks/typescript/client/strategy.js +418 -0
  259. package/hmr/frameworks/typescript/client/strategy.js.map +1 -0
  260. package/hmr/frameworks/typescript/server/strategy.js +48 -16
  261. package/hmr/frameworks/typescript/server/strategy.js.map +1 -1
  262. package/hmr/frameworks/vue/client/dep-propagation.d.ts +44 -0
  263. package/hmr/frameworks/vue/client/dep-propagation.js +148 -0
  264. package/hmr/frameworks/vue/client/dep-propagation.js.map +1 -0
  265. package/hmr/frameworks/vue/client/index.d.ts +10 -1
  266. package/hmr/frameworks/vue/client/index.js +287 -562
  267. package/hmr/frameworks/vue/client/index.js.map +1 -1
  268. package/hmr/frameworks/vue/client/navigate-app.d.ts +3 -0
  269. package/hmr/frameworks/vue/client/navigate-app.js +178 -0
  270. package/hmr/frameworks/vue/client/navigate-app.js.map +1 -0
  271. package/hmr/frameworks/vue/client/strategy.d.ts +33 -0
  272. package/hmr/frameworks/vue/client/strategy.js +152 -0
  273. package/hmr/frameworks/vue/client/strategy.js.map +1 -0
  274. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.d.ts +49 -0
  275. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js +124 -0
  276. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js.map +1 -0
  277. package/hmr/frameworks/vue/server/compiler.d.ts +3 -1
  278. package/hmr/frameworks/vue/server/compiler.js +3 -1
  279. package/hmr/frameworks/vue/server/compiler.js.map +1 -1
  280. package/hmr/frameworks/vue/server/sfc-route-assemble.d.ts +7 -0
  281. package/hmr/frameworks/vue/server/sfc-route-assemble.js +823 -0
  282. package/hmr/frameworks/vue/server/sfc-route-assemble.js.map +1 -0
  283. package/hmr/frameworks/vue/server/sfc-route-meta.d.ts +7 -0
  284. package/hmr/frameworks/vue/server/sfc-route-meta.js +80 -0
  285. package/hmr/frameworks/vue/server/sfc-route-meta.js.map +1 -0
  286. package/hmr/frameworks/vue/server/sfc-route-serve.d.ts +8 -0
  287. package/hmr/frameworks/vue/server/sfc-route-serve.js +462 -0
  288. package/hmr/frameworks/vue/server/sfc-route-serve.js.map +1 -0
  289. package/hmr/frameworks/vue/server/sfc-route-shared.d.ts +45 -0
  290. package/hmr/frameworks/vue/server/sfc-route-shared.js +105 -0
  291. package/hmr/frameworks/vue/server/sfc-route-shared.js.map +1 -0
  292. package/hmr/frameworks/vue/server/strategy.d.ts +35 -0
  293. package/hmr/frameworks/vue/server/strategy.js +291 -7
  294. package/hmr/frameworks/vue/server/strategy.js.map +1 -1
  295. package/hmr/frameworks/vue/server/websocket-sfc.d.ts +15 -0
  296. package/hmr/frameworks/vue/server/websocket-sfc.js +20 -0
  297. package/hmr/frameworks/vue/server/websocket-sfc.js.map +1 -0
  298. package/hmr/helpers/ast-normalizer.d.ts +3 -1
  299. package/hmr/helpers/ast-normalizer.js +131 -24
  300. package/hmr/helpers/ast-normalizer.js.map +1 -1
  301. package/hmr/helpers/cjs-named-exports.d.ts +23 -0
  302. package/hmr/helpers/cjs-named-exports.js +152 -0
  303. package/hmr/helpers/cjs-named-exports.js.map +1 -0
  304. package/hmr/helpers/package-exports.d.ts +16 -0
  305. package/hmr/helpers/package-exports.js +396 -0
  306. package/hmr/helpers/package-exports.js.map +1 -0
  307. package/hmr/helpers/vendor-rewrite.d.ts +1 -1
  308. package/hmr/helpers/vendor-rewrite.js +5 -3
  309. package/hmr/helpers/vendor-rewrite.js.map +1 -1
  310. package/hmr/server/boot-recording.d.ts +51 -0
  311. package/hmr/server/boot-recording.js +214 -0
  312. package/hmr/server/boot-recording.js.map +1 -0
  313. package/hmr/server/constants.d.ts +1 -0
  314. package/hmr/server/constants.js +21 -4
  315. package/hmr/server/constants.js.map +1 -1
  316. package/hmr/server/content-css-update.d.ts +54 -0
  317. package/hmr/server/content-css-update.js +78 -0
  318. package/hmr/server/content-css-update.js.map +1 -0
  319. package/hmr/server/core-bundle.d.ts +140 -0
  320. package/hmr/server/core-bundle.js +614 -0
  321. package/hmr/server/core-bundle.js.map +1 -0
  322. package/hmr/server/core-sanitize.d.ts +130 -4
  323. package/hmr/server/core-sanitize.js +393 -32
  324. package/hmr/server/core-sanitize.js.map +1 -1
  325. package/hmr/server/css-connect-sync.d.ts +28 -0
  326. package/hmr/server/css-connect-sync.js +59 -0
  327. package/hmr/server/css-connect-sync.js.map +1 -0
  328. package/hmr/server/css-device-module.d.ts +28 -0
  329. package/hmr/server/css-device-module.js +44 -0
  330. package/hmr/server/css-device-module.js.map +1 -0
  331. package/hmr/server/css-update-message.d.ts +23 -0
  332. package/hmr/server/css-update-message.js +41 -0
  333. package/hmr/server/css-update-message.js.map +1 -0
  334. package/hmr/server/deps-bundle.d.ts +233 -0
  335. package/hmr/server/deps-bundle.js +1022 -0
  336. package/hmr/server/deps-bundle.js.map +1 -0
  337. package/hmr/server/device-transform-helpers.d.ts +24 -0
  338. package/hmr/server/device-transform-helpers.js +408 -0
  339. package/hmr/server/device-transform-helpers.js.map +1 -0
  340. package/hmr/server/framework-strategy.d.ts +182 -11
  341. package/hmr/server/hmr-module-graph.d.ts +37 -0
  342. package/hmr/server/hmr-module-graph.js +215 -0
  343. package/hmr/server/hmr-module-graph.js.map +1 -0
  344. package/hmr/server/import-map.d.ts +99 -0
  345. package/hmr/server/import-map.js +294 -0
  346. package/hmr/server/import-map.js.map +1 -0
  347. package/hmr/server/index.d.ts +2 -1
  348. package/hmr/server/index.js +7 -16
  349. package/hmr/server/index.js.map +1 -1
  350. package/hmr/server/node-builtins-route.d.ts +12 -0
  351. package/hmr/server/node-builtins-route.js +86 -0
  352. package/hmr/server/node-builtins-route.js.map +1 -0
  353. package/hmr/server/ns-core-cjs-shape.d.ts +204 -0
  354. package/hmr/server/ns-core-cjs-shape.js +271 -0
  355. package/hmr/server/ns-core-cjs-shape.js.map +1 -0
  356. package/hmr/server/ns-m-response-memo.d.ts +10 -0
  357. package/hmr/server/ns-m-response-memo.js +33 -0
  358. package/hmr/server/ns-m-response-memo.js.map +1 -0
  359. package/hmr/server/ns-rt-bridge.d.ts +51 -0
  360. package/hmr/server/ns-rt-bridge.js +131 -0
  361. package/hmr/server/ns-rt-bridge.js.map +1 -0
  362. package/hmr/server/ns-rt-route.d.ts +5 -0
  363. package/hmr/server/ns-rt-route.js +39 -0
  364. package/hmr/server/ns-rt-route.js.map +1 -0
  365. package/hmr/server/perf-instrumentation.d.ts +114 -0
  366. package/hmr/server/perf-instrumentation.js +197 -0
  367. package/hmr/server/perf-instrumentation.js.map +1 -0
  368. package/hmr/server/process-code-for-device.d.ts +54 -0
  369. package/hmr/server/process-code-for-device.js +832 -0
  370. package/hmr/server/process-code-for-device.js.map +1 -0
  371. package/hmr/server/require-guard.d.ts +1 -0
  372. package/hmr/server/require-guard.js +12 -0
  373. package/hmr/server/require-guard.js.map +1 -0
  374. package/hmr/server/rewrite-imports.d.ts +2 -0
  375. package/hmr/server/rewrite-imports.js +631 -0
  376. package/hmr/server/rewrite-imports.js.map +1 -0
  377. package/hmr/server/route-helpers.d.ts +7 -0
  378. package/hmr/server/route-helpers.js +13 -0
  379. package/hmr/server/route-helpers.js.map +1 -0
  380. package/hmr/server/runtime-graph-filter.d.ts +5 -0
  381. package/hmr/server/runtime-graph-filter.js +28 -0
  382. package/hmr/server/runtime-graph-filter.js.map +1 -0
  383. package/hmr/server/server-origin.d.ts +2 -0
  384. package/hmr/server/server-origin.js +88 -0
  385. package/hmr/server/server-origin.js.map +1 -0
  386. package/hmr/server/shared-transform-request.d.ts +12 -0
  387. package/hmr/server/shared-transform-request.js +143 -0
  388. package/hmr/server/shared-transform-request.js.map +1 -0
  389. package/hmr/server/socket-utils.d.ts +10 -0
  390. package/hmr/server/socket-utils.js +14 -0
  391. package/hmr/server/socket-utils.js.map +1 -0
  392. package/hmr/server/transform-cache-invalidation.d.ts +37 -0
  393. package/hmr/server/transform-cache-invalidation.js +156 -0
  394. package/hmr/server/transform-cache-invalidation.js.map +1 -0
  395. package/hmr/server/vendor-bare-module-shims.d.ts +4 -0
  396. package/hmr/server/vendor-bare-module-shims.js +80 -0
  397. package/hmr/server/vendor-bare-module-shims.js.map +1 -0
  398. package/hmr/server/vite-plugin.d.ts +22 -1
  399. package/hmr/server/vite-plugin.js +655 -58
  400. package/hmr/server/vite-plugin.js.map +1 -1
  401. package/hmr/server/websocket-core-bridge.d.ts +68 -0
  402. package/hmr/server/websocket-core-bridge.js +370 -0
  403. package/hmr/server/websocket-core-bridge.js.map +1 -0
  404. package/hmr/server/websocket-device-transform.d.ts +3 -0
  405. package/hmr/server/websocket-device-transform.js +7 -0
  406. package/hmr/server/websocket-device-transform.js.map +1 -0
  407. package/hmr/server/websocket-graph-upsert.d.ts +21 -0
  408. package/hmr/server/websocket-graph-upsert.js +33 -0
  409. package/hmr/server/websocket-graph-upsert.js.map +1 -0
  410. package/hmr/server/websocket-hmr-pending.d.ts +29 -0
  411. package/hmr/server/websocket-hmr-pending.js +33 -0
  412. package/hmr/server/websocket-hmr-pending.js.map +1 -0
  413. package/hmr/server/websocket-hot-update.d.ts +80 -0
  414. package/hmr/server/websocket-hot-update.js +299 -0
  415. package/hmr/server/websocket-hot-update.js.map +1 -0
  416. package/hmr/server/websocket-import-map-route.d.ts +15 -0
  417. package/hmr/server/websocket-import-map-route.js +51 -0
  418. package/hmr/server/websocket-import-map-route.js.map +1 -0
  419. package/hmr/server/websocket-module-bindings.d.ts +21 -0
  420. package/hmr/server/websocket-module-bindings.js +504 -0
  421. package/hmr/server/websocket-module-bindings.js.map +1 -0
  422. package/hmr/server/websocket-module-specifiers.d.ts +98 -0
  423. package/hmr/server/websocket-module-specifiers.js +832 -0
  424. package/hmr/server/websocket-module-specifiers.js.map +1 -0
  425. package/hmr/server/websocket-ns-core.d.ts +34 -0
  426. package/hmr/server/websocket-ns-core.js +414 -0
  427. package/hmr/server/websocket-ns-core.js.map +1 -0
  428. package/hmr/server/websocket-ns-entry.d.ts +21 -0
  429. package/hmr/server/websocket-ns-entry.js +163 -0
  430. package/hmr/server/websocket-ns-entry.js.map +1 -0
  431. package/hmr/server/websocket-ns-m-paths.d.ts +19 -0
  432. package/hmr/server/websocket-ns-m-paths.js +115 -0
  433. package/hmr/server/websocket-ns-m-paths.js.map +1 -0
  434. package/hmr/server/websocket-ns-m-request.d.ts +46 -0
  435. package/hmr/server/websocket-ns-m-request.js +197 -0
  436. package/hmr/server/websocket-ns-m-request.js.map +1 -0
  437. package/hmr/server/websocket-ns-m.d.ts +52 -0
  438. package/hmr/server/websocket-ns-m.js +592 -0
  439. package/hmr/server/websocket-ns-m.js.map +1 -0
  440. package/hmr/server/websocket-served-module-helpers.d.ts +98 -0
  441. package/hmr/server/websocket-served-module-helpers.js +948 -0
  442. package/hmr/server/websocket-served-module-helpers.js.map +1 -0
  443. package/hmr/server/websocket-txn.d.ts +6 -0
  444. package/hmr/server/websocket-txn.js +42 -0
  445. package/hmr/server/websocket-txn.js.map +1 -0
  446. package/hmr/server/websocket-vendor-unifier.d.ts +9 -0
  447. package/hmr/server/websocket-vendor-unifier.js +46 -0
  448. package/hmr/server/websocket-vendor-unifier.js.map +1 -0
  449. package/hmr/server/websocket.d.ts +6 -17
  450. package/hmr/server/websocket.js +723 -5376
  451. package/hmr/server/websocket.js.map +1 -1
  452. package/hmr/shared/ns-globals.d.ts +108 -0
  453. package/hmr/shared/ns-globals.js +29 -0
  454. package/hmr/shared/ns-globals.js.map +1 -0
  455. package/hmr/shared/package-classifier.d.ts +9 -0
  456. package/hmr/shared/package-classifier.js +58 -0
  457. package/hmr/shared/package-classifier.js.map +1 -0
  458. package/hmr/shared/protocol.d.ts +157 -0
  459. package/hmr/shared/protocol.js +28 -0
  460. package/hmr/shared/protocol.js.map +1 -0
  461. package/hmr/shared/runtime/boot-complete.d.ts +14 -0
  462. package/hmr/shared/runtime/boot-complete.js +32 -0
  463. package/hmr/shared/runtime/boot-complete.js.map +1 -0
  464. package/hmr/shared/runtime/boot-placeholder-ui.d.ts +69 -0
  465. package/hmr/shared/runtime/boot-placeholder-ui.js +101 -0
  466. package/hmr/shared/runtime/boot-placeholder-ui.js.map +1 -0
  467. package/hmr/shared/runtime/boot-progress.d.ts +44 -0
  468. package/hmr/shared/runtime/boot-progress.js +134 -0
  469. package/hmr/shared/runtime/boot-progress.js.map +1 -0
  470. package/hmr/shared/runtime/boot-timeline.d.ts +17 -0
  471. package/hmr/shared/runtime/boot-timeline.js +40 -0
  472. package/hmr/shared/runtime/boot-timeline.js.map +1 -0
  473. package/hmr/shared/runtime/browser-runtime-contract.d.ts +97 -0
  474. package/hmr/shared/runtime/browser-runtime-contract.js +66 -0
  475. package/hmr/shared/runtime/browser-runtime-contract.js.map +1 -0
  476. package/hmr/shared/runtime/dev-overlay-ios.d.ts +87 -0
  477. package/hmr/shared/runtime/dev-overlay-ios.js +521 -0
  478. package/hmr/shared/runtime/dev-overlay-ios.js.map +1 -0
  479. package/hmr/shared/runtime/dev-overlay-shared.d.ts +58 -0
  480. package/hmr/shared/runtime/dev-overlay-shared.js +116 -0
  481. package/hmr/shared/runtime/dev-overlay-shared.js.map +1 -0
  482. package/hmr/shared/runtime/dev-overlay-snapshots.d.ts +31 -0
  483. package/hmr/shared/runtime/dev-overlay-snapshots.js +324 -0
  484. package/hmr/shared/runtime/dev-overlay-snapshots.js.map +1 -0
  485. package/hmr/shared/runtime/dev-overlay-tree.d.ts +59 -0
  486. package/hmr/shared/runtime/dev-overlay-tree.js +712 -0
  487. package/hmr/shared/runtime/dev-overlay-tree.js.map +1 -0
  488. package/hmr/shared/runtime/dev-overlay.d.ts +39 -0
  489. package/hmr/shared/runtime/dev-overlay.js +292 -0
  490. package/hmr/shared/runtime/dev-overlay.js.map +1 -0
  491. package/hmr/shared/runtime/global-scope.d.ts +18 -0
  492. package/hmr/shared/runtime/global-scope.js +21 -0
  493. package/hmr/shared/runtime/global-scope.js.map +1 -0
  494. package/hmr/shared/runtime/hooks.js +2 -1
  495. package/hmr/shared/runtime/hooks.js.map +1 -1
  496. package/hmr/shared/runtime/launch-bridge.d.ts +9 -0
  497. package/hmr/shared/runtime/launch-bridge.js +98 -0
  498. package/hmr/shared/runtime/launch-bridge.js.map +1 -0
  499. package/hmr/shared/runtime/module-provenance.d.ts +1 -0
  500. package/hmr/shared/runtime/module-provenance.js +64 -0
  501. package/hmr/shared/runtime/module-provenance.js.map +1 -0
  502. package/hmr/shared/runtime/ns-runtime-test-double.d.ts +21 -0
  503. package/hmr/shared/runtime/ns-runtime-test-double.js +20 -0
  504. package/hmr/shared/runtime/ns-runtime-test-double.js.map +1 -0
  505. package/hmr/shared/runtime/overlay-flag.d.ts +9 -0
  506. package/hmr/shared/runtime/overlay-flag.js +34 -0
  507. package/hmr/shared/runtime/overlay-flag.js.map +1 -0
  508. package/hmr/shared/runtime/platform-polyfills.d.ts +26 -0
  509. package/hmr/shared/runtime/platform-polyfills.js +122 -0
  510. package/hmr/shared/runtime/platform-polyfills.js.map +1 -0
  511. package/hmr/shared/runtime/root-placeholder-view.d.ts +19 -0
  512. package/hmr/shared/runtime/root-placeholder-view.js +311 -0
  513. package/hmr/shared/runtime/root-placeholder-view.js.map +1 -0
  514. package/hmr/shared/runtime/root-placeholder.d.ts +1 -0
  515. package/hmr/shared/runtime/root-placeholder.js +778 -83
  516. package/hmr/shared/runtime/root-placeholder.js.map +1 -1
  517. package/hmr/shared/runtime/session-bootstrap.d.ts +1 -0
  518. package/hmr/shared/runtime/session-bootstrap.js +350 -0
  519. package/hmr/shared/runtime/session-bootstrap.js.map +1 -0
  520. package/hmr/shared/runtime/vendor-bootstrap.js +54 -16
  521. package/hmr/shared/runtime/vendor-bootstrap.js.map +1 -1
  522. package/hmr/shared/runtime/vendor-resolve.d.ts +22 -0
  523. package/hmr/shared/runtime/vendor-resolve.js +45 -0
  524. package/hmr/shared/runtime/vendor-resolve.js.map +1 -0
  525. package/hmr/shared/runtime/worker-tracking.d.ts +28 -0
  526. package/hmr/shared/runtime/worker-tracking.js +114 -0
  527. package/hmr/shared/runtime/worker-tracking.js.map +1 -0
  528. package/hmr/shared/vendor/manifest-collect.d.ts +4 -0
  529. package/hmr/shared/vendor/manifest-collect.js +909 -0
  530. package/hmr/shared/vendor/manifest-collect.js.map +1 -0
  531. package/hmr/shared/vendor/manifest-loader.d.ts +2 -1
  532. package/hmr/shared/vendor/manifest-loader.js +5 -3
  533. package/hmr/shared/vendor/manifest-loader.js.map +1 -1
  534. package/hmr/shared/vendor/manifest.d.ts +12 -0
  535. package/hmr/shared/vendor/manifest.js +341 -545
  536. package/hmr/shared/vendor/manifest.js.map +1 -1
  537. package/hmr/shared/vendor/registry.d.ts +2 -0
  538. package/hmr/shared/vendor/registry.js +118 -7
  539. package/hmr/shared/vendor/registry.js.map +1 -1
  540. package/hmr/shared/vendor/vendor-device-shim.d.ts +1 -0
  541. package/hmr/shared/vendor/vendor-device-shim.js +208 -0
  542. package/hmr/shared/vendor/vendor-device-shim.js.map +1 -0
  543. package/hmr/shared/vendor/vendor-esbuild-plugins.d.ts +107 -0
  544. package/hmr/shared/vendor/vendor-esbuild-plugins.js +540 -0
  545. package/hmr/shared/vendor/vendor-esbuild-plugins.js.map +1 -0
  546. package/index.d.ts +1 -0
  547. package/index.js +5 -0
  548. package/index.js.map +1 -1
  549. package/package.json +83 -14
  550. package/runtime/core-aliases-early.js +103 -81
  551. package/runtime/core-aliases-early.js.map +1 -1
  552. package/shims/react-jsx-runtime.d.ts +4 -0
  553. package/shims/react-jsx-runtime.js +61 -0
  554. package/shims/react-jsx-runtime.js.map +1 -0
  555. package/shims/solid-jsx-runtime.d.ts +7 -0
  556. package/shims/solid-jsx-runtime.js +17 -0
  557. package/shims/solid-jsx-runtime.js.map +1 -0
  558. package/helpers/angular/angular-linker.d.ts +0 -13
  559. package/helpers/angular/angular-linker.js +0 -189
  560. package/helpers/angular/angular-linker.js.map +0 -1
  561. package/helpers/angular/shared-linker.d.ts +0 -4
  562. package/helpers/angular/shared-linker.js +0 -39
  563. package/helpers/angular/shared-linker.js.map +0 -1
  564. package/helpers/angular/util.js +0 -67
  565. package/helpers/angular/util.js.map +0 -1
  566. package/helpers/module-runner-patch.d.ts +0 -3
  567. package/helpers/module-runner-patch.js +0 -63
  568. package/helpers/module-runner-patch.js.map +0 -1
  569. package/helpers/prelink-angular.d.ts +0 -2
  570. package/helpers/prelink-angular.js +0 -117
  571. package/helpers/prelink-angular.js.map +0 -1
  572. package/hmr/shared/runtime/http-only-boot.d.ts +0 -1
  573. package/hmr/shared/runtime/http-only-boot.js +0 -124
  574. package/hmr/shared/runtime/http-only-boot.js.map +0 -1
  575. package/hmr/vendor-bootstrap.d.ts +0 -3
  576. package/hmr/vendor-bootstrap.js +0 -32
  577. package/hmr/vendor-bootstrap.js.map +0 -1
  578. package/shims/react-reconciler-constants.d.ts +0 -14
  579. package/shims/react-reconciler-constants.js +0 -21
  580. package/shims/react-reconciler-constants.js.map +0 -1
  581. package/shims/react-reconciler.d.ts +0 -8
  582. package/shims/react-reconciler.js +0 -15
  583. package/shims/react-reconciler.js.map +0 -1
  584. package/transformers/NativeClass/index.d.ts +0 -2
  585. package/transformers/NativeClass/index.js +0 -222
  586. package/transformers/NativeClass/index.js.map +0 -1
@@ -0,0 +1,504 @@
1
+ import { parse as babelParse } from '@babel/parser';
2
+ import { existsSync, readFileSync, statSync } from 'fs';
3
+ import * as path from 'path';
4
+ import * as PAT from './constants.js';
5
+ import { astExtractImportsAndStripTypes } from '../helpers/ast-extract.js';
6
+ import { getProjectRootPath } from '../../helpers/project.js';
7
+ import { extractRootPackageName } from '../shared/package-classifier.js';
8
+ import { isEsmFrameworkPackageSpecifier, isLikelyNativeScriptPluginSpecifier, isLikelyNativeScriptRuntimePluginSpecifier, normalizeNodeModulesSpecifier, resolveInternalRuntimePluginBareSpecifier, resolveNodeModulesPackageBoundary, resolveVendorFromCandidate, shouldPreserveBareRuntimePluginSubpathImport } from './websocket-module-specifiers.js';
9
+ import { MODULE_IMPORT_ANALYSIS_PLUGINS } from './websocket-served-module-helpers.js';
10
+ const sourceImportIntentCache = new Map();
11
+ const EXPLICIT_RUNTIME_PLUGIN_SCRIPT_EXT_RE = /(?:\.(?:ios|android|visionos))?\.(?:ts|tsx|js|jsx|mjs|mts|cts)$/i;
12
+ function hasExplicitRuntimePluginScriptExtension(segment) {
13
+ return EXPLICIT_RUNTIME_PLUGIN_SCRIPT_EXT_RE.test(segment);
14
+ }
15
+ function collectTopLevelImportRecords(code) {
16
+ try {
17
+ const ast = babelParse(code, {
18
+ sourceType: 'module',
19
+ plugins: [...MODULE_IMPORT_ANALYSIS_PLUGINS],
20
+ });
21
+ const body = ast?.program?.body;
22
+ if (!Array.isArray(body)) {
23
+ return [];
24
+ }
25
+ return body
26
+ .filter((node) => node?.type === 'ImportDeclaration' && typeof node.start === 'number' && typeof node.end === 'number' && typeof node.source?.value === 'string')
27
+ .map((node) => {
28
+ const text = code.slice(node.start, node.end);
29
+ const clause = Array.isArray(node.specifiers) && node.specifiers.length > 0 ? text.match(/^\s*import\s+([\s\S]*?)\s+from\s+["'][^"']+["'];?\s*$/)?.[1]?.trim() || null : null;
30
+ return {
31
+ start: node.start,
32
+ end: node.end,
33
+ text,
34
+ source: node.source.value,
35
+ clause,
36
+ isTypeOnly: node.importKind === 'type',
37
+ };
38
+ });
39
+ }
40
+ catch {
41
+ return [];
42
+ }
43
+ }
44
+ function stripTopLevelImportRecords(code, records) {
45
+ let stripped = code;
46
+ for (const record of [...records].sort((left, right) => right.start - left.start)) {
47
+ stripped = stripped.slice(0, record.start) + stripped.slice(record.end);
48
+ }
49
+ return stripped;
50
+ }
51
+ export function ensureNativeScriptModuleBindings(code, options) {
52
+ const importRecords = collectTopLevelImportRecords(code);
53
+ if (!importRecords.length) {
54
+ return code;
55
+ }
56
+ const preservedImports = [];
57
+ const modules = new Map();
58
+ const getModuleBinding = (canonical) => {
59
+ let entry = modules.get(canonical);
60
+ if (!entry) {
61
+ entry = {
62
+ default: new Set(),
63
+ namespace: new Set(),
64
+ named: [],
65
+ sideEffectOnly: false,
66
+ };
67
+ modules.set(canonical, entry);
68
+ }
69
+ return entry;
70
+ };
71
+ const parseNamedImports = (clause, binding) => {
72
+ const inner = clause.replace(/^\{/, '').replace(/\}$/, '');
73
+ inner
74
+ .split(',')
75
+ .map((segment) => segment.trim())
76
+ .filter(Boolean)
77
+ .forEach((segment) => {
78
+ const [imported, local] = segment.split(/\s+as\s+/i).map((s) => s.trim());
79
+ const resolvedImported = imported;
80
+ const resolvedLocal = local || imported;
81
+ if (resolvedImported) {
82
+ binding.named.push({
83
+ imported: resolvedImported,
84
+ local: resolvedLocal,
85
+ });
86
+ }
87
+ });
88
+ };
89
+ for (const record of importRecords) {
90
+ const original = record.text.trim();
91
+ if (!original) {
92
+ continue;
93
+ }
94
+ if (record.isTypeOnly) {
95
+ preservedImports.push(original);
96
+ continue;
97
+ }
98
+ const rawSpec = record.source;
99
+ const specifier = rawSpec.replace(PAT.QUERY_PATTERN, '');
100
+ const preservedSpecifier = getPreservedImportSpecifier(specifier, options);
101
+ if (!record.clause) {
102
+ if (preservedSpecifier) {
103
+ preservedImports.push(rewritePreservedImportSpecifier(original, rawSpec, preservedSpecifier));
104
+ continue;
105
+ }
106
+ if (isEsmFrameworkPackageSpecifier(specifier)) {
107
+ preservedImports.push(original);
108
+ continue;
109
+ }
110
+ const runtimePluginBareSpecifier = resolveInternalRuntimePluginBareSpecifier(specifier, getProjectRootPath());
111
+ let canonical = runtimePluginBareSpecifier || resolveVendorFromCandidate(specifier);
112
+ const runtimePluginSpecifier = isLikelyNativeScriptRuntimePluginSpecifier(canonical || specifier, getProjectRootPath());
113
+ // Preserving a bare vendor id is only correct where the IMPORT MAP
114
+ // exists to route it (main realm). Worker realms have no import map —
115
+ // a preserved bare specifier falls through to the runtime's
116
+ // placeholder module and every named import fails instantiation
117
+ // ("does not provide an export named ..."). When vendorImportsAsHttp
118
+ // is set (worker serve), fall through to the HTTP rewrite below.
119
+ if (options?.preserveNonPluginVendorImports && !runtimePluginSpecifier && !options?.vendorImportsAsHttp) {
120
+ preservedImports.push(original);
121
+ continue;
122
+ }
123
+ if (!canonical && isLikelyNativeScriptPluginSpecifier(specifier, getProjectRootPath())) {
124
+ canonical = specifier;
125
+ }
126
+ if (canonical && /^@nativescript\/core(\b|\/)/i.test(canonical)) {
127
+ preservedImports.push(original);
128
+ continue;
129
+ }
130
+ if (!canonical) {
131
+ preservedImports.push(original);
132
+ continue;
133
+ }
134
+ if (options?.vendorImportsAsHttp) {
135
+ // `ns_worker=1` tells the /ns/m route to bypass the deps-bundle
136
+ // bridge and serve the package's own transformed module: the
137
+ // bundle drags the full dependency closure (Angular included)
138
+ // into the worker realm, where injectables like
139
+ // _PlatformLocation reject the whole entry evaluation with
140
+ // "needs to be compiled using the JIT compiler".
141
+ //
142
+ // Keep the CONCRETE module the importer asked for: `canonical`
143
+ // only decides vendor membership. Canonicalization collapses a
144
+ // package-internal file (Vite-transformed `/@fs/...` form of
145
+ // drizzle-orm's `./table.utils.js`) to the package ROOT, which
146
+ // both drops subpath-only exports ("does not provide an export
147
+ // named 'TableName'") and manufactures import cycles through
148
+ // the barrel (lodash-es `add.js` ↔ root → TDZ fatal).
149
+ preservedImports.push(rewritePreservedImportSpecifier(original, rawSpec, `/ns/m/node_modules/${normalizeNodeModulesSpecifier(specifier) || (/^[^./]/.test(specifier) ? specifier : canonical)}?ns_worker=1`));
150
+ continue;
151
+ }
152
+ const binding = getModuleBinding(canonical);
153
+ binding.sideEffectOnly = true;
154
+ continue;
155
+ }
156
+ if (preservedSpecifier) {
157
+ preservedImports.push(rewritePreservedImportSpecifier(original, rawSpec, preservedSpecifier));
158
+ continue;
159
+ }
160
+ if (isEsmFrameworkPackageSpecifier(specifier)) {
161
+ preservedImports.push(original);
162
+ continue;
163
+ }
164
+ const runtimePluginBareSpecifier = resolveInternalRuntimePluginBareSpecifier(specifier, getProjectRootPath());
165
+ let canonical = runtimePluginBareSpecifier || resolveVendorFromCandidate(specifier);
166
+ const runtimePluginSpecifier = isLikelyNativeScriptRuntimePluginSpecifier(canonical || specifier, getProjectRootPath());
167
+ // See the side-effect branch above: bare preservation relies on the main
168
+ // realm's import map; in a worker serve (vendorImportsAsHttp) it must not
169
+ // win over the /ns/m HTTP rewrite.
170
+ if (options?.preserveNonPluginVendorImports && !runtimePluginSpecifier && !options?.vendorImportsAsHttp) {
171
+ preservedImports.push(original);
172
+ continue;
173
+ }
174
+ if (!canonical && isLikelyNativeScriptPluginSpecifier(specifier, getProjectRootPath())) {
175
+ canonical = specifier;
176
+ }
177
+ if (canonical && /^@nativescript\/core(\b|\/)/i.test(canonical)) {
178
+ preservedImports.push(original);
179
+ continue;
180
+ }
181
+ if (!canonical) {
182
+ preservedImports.push(original);
183
+ continue;
184
+ }
185
+ if (options?.vendorImportsAsHttp) {
186
+ // See the side-effect branch above for the `ns_worker=1` rationale
187
+ // and why the URL must keep the importer's concrete subpath.
188
+ preservedImports.push(rewritePreservedImportSpecifier(original, rawSpec, `/ns/m/node_modules/${normalizeNodeModulesSpecifier(specifier) || (/^[^./]/.test(specifier) ? specifier : canonical)}?ns_worker=1`));
189
+ continue;
190
+ }
191
+ const binding = getModuleBinding(canonical);
192
+ const trimmed = record.clause.trim();
193
+ if (!trimmed) {
194
+ binding.sideEffectOnly = true;
195
+ continue;
196
+ }
197
+ if (trimmed.startsWith('*')) {
198
+ const m = trimmed.match(/\*\s+as\s+(\w+)/i);
199
+ if (m?.[1])
200
+ binding.namespace.add(m[1]);
201
+ continue;
202
+ }
203
+ if (trimmed.startsWith('{')) {
204
+ parseNamedImports(trimmed, binding);
205
+ continue;
206
+ }
207
+ if (trimmed.includes(',') && trimmed.includes('{')) {
208
+ const [defaultPart, namedPart] = trimmed.split(/,(.+)/, 2);
209
+ const def = defaultPart.trim();
210
+ if (def)
211
+ binding.default.add(def);
212
+ if (namedPart)
213
+ parseNamedImports(namedPart.trim(), binding);
214
+ continue;
215
+ }
216
+ binding.default.add(trimmed);
217
+ }
218
+ code = stripTopLevelImportRecords(code, importRecords);
219
+ if (!modules.size) {
220
+ if (preservedImports.length) {
221
+ const preserved = preservedImports.join('\n') + '\n';
222
+ return preserved + code;
223
+ }
224
+ return code;
225
+ }
226
+ let injection = 'var __nsVendorRegistry = (globalThis.__nsVendorRegistry ||= new Map());\n';
227
+ injection += "var __NS_VENDOR_SOFT__ = (typeof globalThis.__NS_VENDOR_SOFT__ !== 'undefined' ? !!globalThis.__NS_VENDOR_SOFT__ : true);\n";
228
+ injection += "var __nsVendorRequire = (typeof globalThis.__nsRequire === 'function' ? globalThis.__nsRequire : (typeof globalThis.require === 'function' ? globalThis.require : (spec => { throw new Error('__nsVendorRequire unavailable'); })));\n";
229
+ injection += "try { (globalThis.__NS_VENDOR_ONCE__ ||= { loggedRequireMissing: false }); if (!globalThis.__NS_VENDOR_ONCE__.loggedRequireMissing && typeof __nsVendorRequire !== 'function') { console.warn('[ns-hmr][vendor][require-missing] using soft stubs=', __NS_VENDOR_SOFT__); globalThis.__NS_VENDOR_ONCE__.loggedRequireMissing = true; } } catch {}\n";
230
+ injection += "var __nsMissing = function(name){ try { var fn = function(){ console.warn('[ns-hmr][vendor][stub]', name); }; return new Proxy(fn, { get: (_t, p) => __nsMissing(name + '.' + String(p)) }); } catch { return {}; } };\n";
231
+ injection += "var __nsHasInstall = function(x){ try { return (typeof x === 'function') || (typeof x === 'object' && x && typeof x.install === 'function'); } catch { return false; } };\n";
232
+ injection += "var __nsDefault = function(mod){ try { return (mod && mod['default'] !== undefined) ? mod['default'] : mod; } catch { return mod; } };\n";
233
+ injection += "var __nsNestedDefault = function(mod){ try { return (mod && mod.default && (typeof mod.default.default === 'function' || (typeof mod.default.default === 'object' && mod.default.default && typeof mod.default.default.install === 'function'))) ? mod.default.default : undefined; } catch { return undefined; } };\n";
234
+ injection += "var __nsPick = function(mod, name){ try { if (mod && mod['default'] && mod['default'][name] !== undefined) return mod['default'][name]; } catch {} try { if (mod && mod[name] !== undefined) return mod[name]; } catch {} try { if (mod && typeof mod['default'] === 'function' && mod['default'].name === name) return mod['default']; } catch {} return undefined; };\n";
235
+ let index = 0;
236
+ for (const [canonical, binding] of modules) {
237
+ const cacheKey = JSON.stringify(canonical);
238
+ const moduleVar = `__nsVendorModule_${index++}`;
239
+ injection += `var ${moduleVar} = __nsVendorRegistry.has(${cacheKey}) ? __nsVendorRegistry.get(${cacheKey}) : (() => { try { var mod = __nsVendorRequire(${cacheKey}); __nsVendorRegistry.set(${cacheKey}, mod); return mod; } catch (e) { console.error('[ns-hmr][vendor][require-failed]', ${cacheKey}, (e && (e.message||e)) ); try { if (__NS_VENDOR_SOFT__) { var stub = __nsMissing(${cacheKey}); __nsVendorRegistry.set(${cacheKey}, stub); return stub; } } catch {} throw e; } })();\n`;
240
+ binding.namespace.forEach((alias) => {
241
+ injection += `var ${alias} = ${moduleVar};\n`;
242
+ injection += `(${alias} && typeof ${alias} === 'object' && !('default' in ${alias})) && (${alias}.default = ${alias});\n`;
243
+ });
244
+ if (binding.named.length) {
245
+ for (const { imported, local } of binding.named) {
246
+ injection += `var ${local} = __nsPick(${moduleVar}, ${JSON.stringify(imported)});\n`;
247
+ }
248
+ }
249
+ if (binding.default.size) {
250
+ const defVar = `${moduleVar}__def`;
251
+ injection += `var ${defVar} = __nsDefault(${moduleVar});\n`;
252
+ binding.default.forEach((localName) => {
253
+ injection += `var ${localName} = (__nsHasInstall(${defVar})
254
+ ? ${defVar}
255
+ : (__nsHasInstall(${moduleVar})
256
+ ? ${moduleVar}
257
+ : (function(){ const _n = __nsNestedDefault(${moduleVar}); return _n !== undefined ? _n : ${defVar}; })()));\n`;
258
+ });
259
+ }
260
+ if (binding.sideEffectOnly && !binding.namespace.size && !binding.named.length && !binding.default.size) {
261
+ injection += `void ${moduleVar};\n`;
262
+ }
263
+ }
264
+ injection += '\n';
265
+ const preserved = preservedImports.length ? preservedImports.join('\n') + '\n' : '';
266
+ return preserved + injection + code;
267
+ }
268
+ function normalizeExtensionlessRuntimePluginSourceSpecifier(spec, projectRoot) {
269
+ if (!spec) {
270
+ return null;
271
+ }
272
+ const cleaned = spec.replace(PAT.QUERY_PATTERN, '');
273
+ if (!cleaned || /^(?:\.|\/|https?:\/\/)/i.test(cleaned)) {
274
+ return null;
275
+ }
276
+ const normalized = normalizeNodeModulesSpecifier(cleaned) || cleaned.replace(/^\/+/, '');
277
+ const rootPackageName = extractRootPackageName(normalized);
278
+ if (!rootPackageName || !isLikelyNativeScriptRuntimePluginSpecifier(rootPackageName, projectRoot)) {
279
+ return null;
280
+ }
281
+ const { packageName, subpath } = resolveNodeModulesPackageBoundary(normalized, projectRoot);
282
+ if (!subpath || packageName !== rootPackageName) {
283
+ return null;
284
+ }
285
+ const lastSegment = subpath.split('/').pop() || '';
286
+ if (hasExplicitRuntimePluginScriptExtension(lastSegment)) {
287
+ return null;
288
+ }
289
+ return normalized;
290
+ }
291
+ function normalizeRuntimePluginSourceSpecifier(spec, sourceFilePath, projectRoot) {
292
+ if (!spec) {
293
+ return null;
294
+ }
295
+ const relativeSpecifier = normalizeRelativeRuntimePluginSourceSpecifier(spec, sourceFilePath, projectRoot);
296
+ if (relativeSpecifier) {
297
+ return relativeSpecifier;
298
+ }
299
+ const cleaned = spec.replace(PAT.QUERY_PATTERN, '');
300
+ if (!cleaned || /^(?:https?:\/\/)/i.test(cleaned)) {
301
+ return null;
302
+ }
303
+ const normalized = normalizeNodeModulesSpecifier(cleaned) || cleaned.replace(/^\/+/, '');
304
+ const rootPackageName = extractRootPackageName(normalized);
305
+ if (!rootPackageName || !isLikelyNativeScriptRuntimePluginSpecifier(rootPackageName, projectRoot)) {
306
+ return null;
307
+ }
308
+ return normalized;
309
+ }
310
+ function isRuntimePluginRootEntrySpecifier(specifier, projectRoot) {
311
+ if (!specifier) {
312
+ return false;
313
+ }
314
+ const cleaned = specifier.replace(PAT.QUERY_PATTERN, '');
315
+ const normalized = normalizeNodeModulesSpecifier(cleaned) || cleaned.replace(/^\/+/, '');
316
+ if (!normalized) {
317
+ return false;
318
+ }
319
+ const { packageName, subpath } = resolveNodeModulesPackageBoundary(normalized, projectRoot);
320
+ if (!packageName || !isLikelyNativeScriptRuntimePluginSpecifier(packageName, projectRoot)) {
321
+ return false;
322
+ }
323
+ if (!subpath) {
324
+ return true;
325
+ }
326
+ if (subpath.includes('/')) {
327
+ return false;
328
+ }
329
+ const packageBaseName = packageName.split('/').pop() || '';
330
+ const withoutExt = hasExplicitRuntimePluginScriptExtension(subpath) ? subpath.replace(/\.[^.]+$/, '') : subpath;
331
+ const withoutPlatform = withoutExt.replace(/\.(ios|android|visionos)$/i, '');
332
+ return withoutPlatform === 'index' || withoutPlatform === packageBaseName;
333
+ }
334
+ function collectMixedRuntimePluginRootPackages(source, projectRoot, sourceFilePath) {
335
+ const rootEntryPackages = new Set();
336
+ const nonRootSubpathPackages = new Set();
337
+ const extracted = astExtractImportsAndStripTypes(source);
338
+ for (const importCode of extracted.imports) {
339
+ const sourceSpecifier = importCode.match(/from\s+["']([^"']+)["']/)?.[1] || importCode.match(/^\s*import\s+["']([^"']+)["']/)?.[1] || null;
340
+ const normalizedSpecifier = sourceSpecifier ? normalizeRuntimePluginSourceSpecifier(sourceSpecifier, sourceFilePath, projectRoot) : null;
341
+ if (!normalizedSpecifier) {
342
+ continue;
343
+ }
344
+ const { packageName } = resolveNodeModulesPackageBoundary(normalizedSpecifier, projectRoot);
345
+ if (!packageName) {
346
+ continue;
347
+ }
348
+ if (isRuntimePluginRootEntrySpecifier(normalizedSpecifier, projectRoot)) {
349
+ rootEntryPackages.add(packageName);
350
+ continue;
351
+ }
352
+ nonRootSubpathPackages.add(packageName);
353
+ }
354
+ return new Set(Array.from(rootEntryPackages).filter((packageName) => nonRootSubpathPackages.has(packageName)));
355
+ }
356
+ function normalizeRelativeRuntimePluginSourceSpecifier(spec, sourceFilePath, projectRoot) {
357
+ if (!spec || !sourceFilePath) {
358
+ return null;
359
+ }
360
+ const cleaned = spec.replace(PAT.QUERY_PATTERN, '');
361
+ if (!cleaned || !/^\.\.?\//.test(cleaned)) {
362
+ return null;
363
+ }
364
+ const lastSegment = cleaned.split('/').pop() || '';
365
+ if (hasExplicitRuntimePluginScriptExtension(lastSegment)) {
366
+ return null;
367
+ }
368
+ const sourceNodeModulesSpecifier = normalizeNodeModulesSpecifier(sourceFilePath);
369
+ if (!sourceNodeModulesSpecifier) {
370
+ return null;
371
+ }
372
+ const { packageName, subpath } = resolveNodeModulesPackageBoundary(sourceNodeModulesSpecifier, projectRoot);
373
+ if (!packageName || !subpath || !isLikelyNativeScriptRuntimePluginSpecifier(packageName, projectRoot)) {
374
+ return null;
375
+ }
376
+ const sourceDir = path.posix.dirname(subpath);
377
+ const resolvedSubpath = path.posix.normalize(path.posix.join(sourceDir === '.' ? '' : sourceDir, cleaned)).replace(/^\/+/, '');
378
+ if (!resolvedSubpath || resolvedSubpath.startsWith('../') || resolvedSubpath === '.') {
379
+ return null;
380
+ }
381
+ const normalized = `${packageName}/${resolvedSubpath}`;
382
+ return shouldPreserveBareRuntimePluginSubpathImport(normalized, projectRoot) ? normalized : null;
383
+ }
384
+ function getResolvedSpecifierCandidateKeys(sourceSpecifier) {
385
+ const normalized = sourceSpecifier.replace(PAT.QUERY_PATTERN, '').replace(/^\/+/, '');
386
+ if (!normalized) {
387
+ return [];
388
+ }
389
+ const suffixes = ['', '.js', '.ts', '.mjs', '.cjs', '.ios.js', '.android.js', '.visionos.js', '/index.js', '/index.ts', '/index.mjs', '/index.ios.js', '/index.android.js', '/index.visionos.js'];
390
+ return Array.from(new Set(suffixes.map((suffix) => (suffix ? `${normalized}${suffix}` : normalized))));
391
+ }
392
+ function buildResolvedRuntimePluginSpecifierOverrides(source, projectRoot, sourceFilePath) {
393
+ const overrides = new Map();
394
+ const extracted = astExtractImportsAndStripTypes(source);
395
+ const mixedRuntimePluginRootPackages = collectMixedRuntimePluginRootPackages(source, projectRoot, sourceFilePath);
396
+ for (const importCode of extracted.imports) {
397
+ const sourceSpecifier = importCode.match(/from\s+["']([^"']+)["']/)?.[1] || importCode.match(/^\s*import\s+["']([^"']+)["']/)?.[1] || null;
398
+ const normalizedSpecifier = sourceSpecifier ? normalizeRuntimePluginSourceSpecifier(sourceSpecifier, sourceFilePath, projectRoot) : null;
399
+ if (normalizedSpecifier) {
400
+ const { packageName } = resolveNodeModulesPackageBoundary(normalizedSpecifier, projectRoot);
401
+ if (packageName && mixedRuntimePluginRootPackages.has(packageName) && isRuntimePluginRootEntrySpecifier(normalizedSpecifier, projectRoot)) {
402
+ for (const candidateKey of getResolvedSpecifierCandidateKeys(normalizedSpecifier)) {
403
+ overrides.set(candidateKey, candidateKey);
404
+ }
405
+ }
406
+ }
407
+ const preservedSpecifier = sourceSpecifier ? normalizeExtensionlessRuntimePluginSourceSpecifier(sourceSpecifier, projectRoot) || normalizeRelativeRuntimePluginSourceSpecifier(sourceSpecifier, sourceFilePath, projectRoot) : null;
408
+ if (!preservedSpecifier) {
409
+ continue;
410
+ }
411
+ for (const candidateKey of getResolvedSpecifierCandidateKeys(preservedSpecifier)) {
412
+ overrides.set(candidateKey, preservedSpecifier);
413
+ }
414
+ }
415
+ return overrides;
416
+ }
417
+ function resolveProcessCodeSourceFilePath(sourceId, projectRoot) {
418
+ const cleaned = sourceId.replace(PAT.QUERY_PATTERN, '');
419
+ if (!cleaned) {
420
+ return null;
421
+ }
422
+ const expandCandidateVariants = (candidate) => {
423
+ if (!candidate) {
424
+ return [];
425
+ }
426
+ const normalizedCandidate = candidate.replace(/\\/g, '/');
427
+ const lastSegment = normalizedCandidate.split('/').pop() || '';
428
+ const hasExplicitExtension = /(?:\.(?:ios|android|visionos))?\.(?:ts|tsx|js|jsx|mjs|mts|cts)$/i.test(lastSegment);
429
+ if (hasExplicitExtension) {
430
+ return [candidate];
431
+ }
432
+ const suffixes = ['', '.ts', '.tsx', '.js', '.jsx', '.mjs', '.mts', '.cts', '.ios.ts', '.ios.js', '.android.ts', '.android.js', '.visionos.ts', '.visionos.js', '/index.ts', '/index.tsx', '/index.js', '/index.jsx', '/index.mjs', '/index.mts', '/index.cts', '/index.ios.ts', '/index.ios.js', '/index.android.ts', '/index.android.js', '/index.visionos.ts', '/index.visionos.js'];
433
+ return Array.from(new Set(suffixes.map((suffix) => `${candidate}${suffix}`)));
434
+ };
435
+ const candidates = [];
436
+ if (cleaned.startsWith('/@fs/')) {
437
+ candidates.push(...expandCandidateVariants(cleaned.slice('/@fs'.length)));
438
+ }
439
+ if (/^(?:[A-Za-z]:)?\//.test(cleaned)) {
440
+ candidates.push(...expandCandidateVariants(cleaned));
441
+ candidates.push(...expandCandidateVariants(path.resolve(projectRoot, `.${cleaned}`)));
442
+ }
443
+ else {
444
+ candidates.push(...expandCandidateVariants(path.resolve(projectRoot, cleaned.replace(/^\.\//, ''))));
445
+ }
446
+ for (const candidate of Array.from(new Set(candidates))) {
447
+ try {
448
+ if (candidate && existsSync(candidate) && statSync(candidate).isFile()) {
449
+ return candidate;
450
+ }
451
+ }
452
+ catch { }
453
+ }
454
+ return null;
455
+ }
456
+ export function getProcessCodeResolvedSpecifierOverrides(sourceId, projectRoot) {
457
+ if (!sourceId) {
458
+ return undefined;
459
+ }
460
+ const sourceFilePath = resolveProcessCodeSourceFilePath(sourceId, projectRoot);
461
+ if (!sourceFilePath) {
462
+ return undefined;
463
+ }
464
+ try {
465
+ const stats = statSync(sourceFilePath);
466
+ const cached = sourceImportIntentCache.get(sourceFilePath);
467
+ if (cached && cached.mtimeMs === stats.mtimeMs && cached.size === stats.size) {
468
+ return cached.resolvedSpecifierOverrides;
469
+ }
470
+ const source = readFileSync(sourceFilePath, 'utf8');
471
+ const resolvedSpecifierOverrides = buildResolvedRuntimePluginSpecifierOverrides(source, projectRoot, sourceFilePath);
472
+ sourceImportIntentCache.set(sourceFilePath, {
473
+ mtimeMs: stats.mtimeMs,
474
+ size: stats.size,
475
+ resolvedSpecifierOverrides,
476
+ });
477
+ return resolvedSpecifierOverrides;
478
+ }
479
+ catch {
480
+ return undefined;
481
+ }
482
+ }
483
+ function getPreservedImportSpecifier(specifier, options) {
484
+ if (!specifier) {
485
+ return null;
486
+ }
487
+ const cleaned = specifier.replace(PAT.QUERY_PATTERN, '');
488
+ const normalized = normalizeNodeModulesSpecifier(cleaned) || cleaned.replace(/^\/+/, '');
489
+ const overrideSpecifier = options?.resolvedSpecifierOverrides?.get(cleaned) || options?.resolvedSpecifierOverrides?.get(normalized);
490
+ if (overrideSpecifier) {
491
+ return overrideSpecifier;
492
+ }
493
+ if (shouldPreserveBareRuntimePluginSubpathImport(cleaned, getProjectRootPath())) {
494
+ return cleaned;
495
+ }
496
+ return null;
497
+ }
498
+ function rewritePreservedImportSpecifier(original, rawSpecifier, preservedSpecifier) {
499
+ if (!rawSpecifier || rawSpecifier === preservedSpecifier) {
500
+ return original;
501
+ }
502
+ return original.replace(rawSpecifier, preservedSpecifier);
503
+ }
504
+ //# sourceMappingURL=websocket-module-bindings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-module-bindings.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/websocket-module-bindings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACxD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,8BAA8B,EAAE,mCAAmC,EAAE,0CAA0C,EAAE,6BAA6B,EAAE,yCAAyC,EAAE,iCAAiC,EAAE,0BAA0B,EAAE,4CAA4C,EAAE,MAAM,kCAAkC,CAAC;AAC1V,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AA4CtF,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAwC,CAAC;AAChF,MAAM,qCAAqC,GAAG,kEAAkE,CAAC;AAEjH,SAAS,uCAAuC,CAAC,OAAe;IAC/D,OAAO,qCAAqC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAY;IACjD,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE;YAC5B,UAAU,EAAE,QAAQ;YACpB,OAAO,EAAE,CAAC,GAAG,8BAA8B,CAAC;SAC5C,CAAQ,CAAC;QACV,MAAM,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACX,CAAC;QAED,OAAO,IAAI;aACT,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,mBAAmB,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,KAAK,QAAQ,CAAC;aACrK,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;YAClB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAe,EAAE,IAAI,CAAC,GAAa,CAAC,CAAC;YAClE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,uDAAuD,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9K,OAAO;gBACN,KAAK,EAAE,IAAI,CAAC,KAAe;gBAC3B,GAAG,EAAE,IAAI,CAAC,GAAa;gBACvB,IAAI;gBACJ,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAe;gBACnC,MAAM;gBACN,UAAU,EAAE,IAAI,CAAC,UAAU,KAAK,MAAM;aACtC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;AACF,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAY,EAAE,OAA+B;IAChF,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACnF,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,IAAY,EAAE,OAAiD;IAC/G,MAAM,aAAa,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAqC,CAAC;IAE7D,MAAM,gBAAgB,GAAG,CAAC,SAAiB,EAAE,EAAE;QAC9C,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,KAAK,GAAG;gBACP,OAAO,EAAE,IAAI,GAAG,EAAU;gBAC1B,SAAS,EAAE,IAAI,GAAG,EAAU;gBAC5B,KAAK,EAAE,EAAE;gBACT,cAAc,EAAE,KAAK;aACrB,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAE,OAAkC,EAAE,EAAE;QAChF,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3D,KAAK;aACH,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aAChC,MAAM,CAAC,OAAO,CAAC;aACf,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACpB,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1E,MAAM,gBAAgB,GAAG,QAAQ,CAAC;YAClC,MAAM,aAAa,GAAG,KAAK,IAAI,QAAQ,CAAC;YACxC,IAAI,gBAAgB,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;oBAClB,QAAQ,EAAE,gBAAgB;oBAC1B,KAAK,EAAE,aAAa;iBACpB,CAAC,CAAC;YACJ,CAAC;QACF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,SAAS;QACV,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACvB,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,SAAS;QACV,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACzD,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE3E,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACpB,IAAI,kBAAkB,EAAE,CAAC;gBACxB,gBAAgB,CAAC,IAAI,CAAC,+BAA+B,CAAC,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;gBAC9F,SAAS;YACV,CAAC;YACD,IAAI,8BAA8B,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/C,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAChC,SAAS;YACV,CAAC;YACD,MAAM,0BAA0B,GAAG,yCAAyC,CAAC,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC9G,IAAI,SAAS,GAAG,0BAA0B,IAAI,0BAA0B,CAAC,SAAS,CAAC,CAAC;YACpF,MAAM,sBAAsB,GAAG,0CAA0C,CAAC,SAAS,IAAI,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;YACxH,mEAAmE;YACnE,sEAAsE;YACtE,4DAA4D;YAC5D,gEAAgE;YAChE,qEAAqE;YACrE,iEAAiE;YACjE,IAAI,OAAO,EAAE,8BAA8B,IAAI,CAAC,sBAAsB,IAAI,CAAC,OAAO,EAAE,mBAAmB,EAAE,CAAC;gBACzG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAChC,SAAS;YACV,CAAC;YACD,IAAI,CAAC,SAAS,IAAI,mCAAmC,CAAC,SAAS,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;gBACxF,SAAS,GAAG,SAAS,CAAC;YACvB,CAAC;YACD,IAAI,SAAS,IAAI,8BAA8B,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjE,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAChC,SAAS;YACV,CAAC;YACD,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChB,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAChC,SAAS;YACV,CAAC;YACD,IAAI,OAAO,EAAE,mBAAmB,EAAE,CAAC;gBAClC,gEAAgE;gBAChE,6DAA6D;gBAC7D,8DAA8D;gBAC9D,gDAAgD;gBAChD,2DAA2D;gBAC3D,iDAAiD;gBACjD,EAAE;gBACF,+DAA+D;gBAC/D,+DAA+D;gBAC/D,6DAA6D;gBAC7D,+DAA+D;gBAC/D,+DAA+D;gBAC/D,6DAA6D;gBAC7D,sDAAsD;gBACtD,gBAAgB,CAAC,IAAI,CAAC,+BAA+B,CAAC,QAAQ,EAAE,OAAO,EAAE,sBAAsB,6BAA6B,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC9M,SAAS;YACV,CAAC;YACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAC5C,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;YAC9B,SAAS;QACV,CAAC;QAED,IAAI,kBAAkB,EAAE,CAAC;YACxB,gBAAgB,CAAC,IAAI,CAAC,+BAA+B,CAAC,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;YAC9F,SAAS;QACV,CAAC;QACD,IAAI,8BAA8B,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/C,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,SAAS;QACV,CAAC;QACD,MAAM,0BAA0B,GAAG,yCAAyC,CAAC,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC9G,IAAI,SAAS,GAAG,0BAA0B,IAAI,0BAA0B,CAAC,SAAS,CAAC,CAAC;QACpF,MAAM,sBAAsB,GAAG,0CAA0C,CAAC,SAAS,IAAI,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACxH,yEAAyE;QACzE,0EAA0E;QAC1E,mCAAmC;QACnC,IAAI,OAAO,EAAE,8BAA8B,IAAI,CAAC,sBAAsB,IAAI,CAAC,OAAO,EAAE,mBAAmB,EAAE,CAAC;YACzG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,SAAS;QACV,CAAC;QACD,IAAI,CAAC,SAAS,IAAI,mCAAmC,CAAC,SAAS,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;YACxF,SAAS,GAAG,SAAS,CAAC;QACvB,CAAC;QACD,IAAI,SAAS,IAAI,8BAA8B,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,SAAS;QACV,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,SAAS;QACV,CAAC;QACD,IAAI,OAAO,EAAE,mBAAmB,EAAE,CAAC;YAClC,mEAAmE;YACnE,6DAA6D;YAC7D,gBAAgB,CAAC,IAAI,CAAC,+BAA+B,CAAC,QAAQ,EAAE,OAAO,EAAE,sBAAsB,6BAA6B,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;YAC9M,SAAS;QACV,CAAC;QAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;YAC9B,SAAS;QACV,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAC5C,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,SAAS;QACV,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACpC,SAAS;QACV,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACpD,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC3D,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;YAC/B,IAAI,GAAG;gBAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,SAAS;gBAAE,iBAAiB,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;YAC5D,SAAS;QACV,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,GAAG,0BAA0B,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAEvD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACrD,OAAO,SAAS,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,SAAS,GAAG,2EAA2E,CAAC;IAC5F,SAAS,IAAI,6HAA6H,CAAC;IAC3I,SAAS,IAAI,wOAAwO,CAAC;IACtP,SAAS,IAAI,qVAAqV,CAAC;IACnW,SAAS,IAAI,0NAA0N,CAAC;IACxO,SAAS,IAAI,6KAA6K,CAAC;IAC3L,SAAS,IAAI,0IAA0I,CAAC;IACxJ,SAAS,IAAI,wTAAwT,CAAC;IACtU,SAAS,IAAI,2WAA2W,CAAC;IAEzX,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,oBAAoB,KAAK,EAAE,EAAE,CAAC;QAChD,SAAS,IAAI,OAAO,SAAS,6BAA6B,QAAQ,8BAA8B,QAAQ,kDAAkD,QAAQ,6BAA6B,QAAQ,uFAAuF,QAAQ,qFAAqF,QAAQ,6BAA6B,QAAQ,uDAAuD,CAAC;QAEhe,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACnC,SAAS,IAAI,OAAO,KAAK,MAAM,SAAS,KAAK,CAAC;YAC9C,SAAS,IAAI,IAAI,KAAK,cAAc,KAAK,mCAAmC,KAAK,UAAU,KAAK,cAAc,KAAK,MAAM,CAAC;QAC3H,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC1B,KAAK,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACjD,SAAS,IAAI,OAAO,KAAK,eAAe,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YACtF,CAAC;QACF,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,GAAG,SAAS,OAAO,CAAC;YACnC,SAAS,IAAI,OAAO,MAAM,kBAAkB,SAAS,MAAM,CAAC;YAC5D,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;gBACrC,SAAS,IAAI,OAAO,SAAS,sBAAsB,MAAM;cAC/C,MAAM;8BACU,SAAS;gBACvB,SAAS;0DACiC,SAAS,qCAAqC,MAAM,aAAa,CAAC;YACzH,CAAC,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACzG,SAAS,IAAI,QAAQ,SAAS,KAAK,CAAC;QACrC,CAAC;IACF,CAAC;IAED,SAAS,IAAI,IAAI,CAAC;IAClB,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACpF,OAAO,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC;AACrC,CAAC;AAED,SAAS,kDAAkD,CAAC,IAAY,EAAE,WAAmB;IAC5F,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACpD,IAAI,CAAC,OAAO,IAAI,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACzD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,UAAU,GAAG,6BAA6B,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzF,MAAM,eAAe,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC3D,IAAI,CAAC,eAAe,IAAI,CAAC,0CAA0C,CAAC,eAAe,EAAE,WAAW,CAAC,EAAE,CAAC;QACnG,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,iCAAiC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC5F,IAAI,CAAC,OAAO,IAAI,WAAW,KAAK,eAAe,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IACnD,IAAI,uCAAuC,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,SAAS,qCAAqC,CAAC,IAAY,EAAE,cAAsB,EAAE,WAAmB;IACvG,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,iBAAiB,GAAG,6CAA6C,CAAC,IAAI,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;IAC3G,IAAI,iBAAiB,EAAE,CAAC;QACvB,OAAO,iBAAiB,CAAC;IAC1B,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACpD,IAAI,CAAC,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,UAAU,GAAG,6BAA6B,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzF,MAAM,eAAe,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC3D,IAAI,CAAC,eAAe,IAAI,CAAC,0CAA0C,CAAC,eAAe,EAAE,WAAW,CAAC,EAAE,CAAC;QACnG,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,SAAS,iCAAiC,CAAC,SAAiB,EAAE,WAAmB;IAChF,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,6BAA6B,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzF,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,iCAAiC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC5F,IAAI,CAAC,WAAW,IAAI,CAAC,0CAA0C,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC;QAC3F,OAAO,KAAK,CAAC;IACd,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IAC3D,MAAM,UAAU,GAAG,uCAAuC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAChH,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC;IAC7E,OAAO,eAAe,KAAK,OAAO,IAAI,eAAe,KAAK,eAAe,CAAC;AAC3E,CAAC;AAED,SAAS,qCAAqC,CAAC,MAAc,EAAE,WAAmB,EAAE,cAAsB;IACzG,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5C,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAU,CAAC;IACjD,MAAM,SAAS,GAAG,8BAA8B,CAAC,MAAM,CAAC,CAAC;IAEzD,KAAK,MAAM,UAAU,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QAC5C,MAAM,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,+BAA+B,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC3I,MAAM,mBAAmB,GAAG,eAAe,CAAC,CAAC,CAAC,qCAAqC,CAAC,eAAe,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1B,SAAS;QACV,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,GAAG,iCAAiC,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;QAC5F,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,SAAS;QACV,CAAC;QAED,IAAI,iCAAiC,CAAC,mBAAmB,EAAE,WAAW,CAAC,EAAE,CAAC;YACzE,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACnC,SAAS;QACV,CAAC;QAED,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAChH,CAAC;AAED,SAAS,6CAA6C,CAAC,IAAY,EAAE,cAAsB,EAAE,WAAmB;IAC/G,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACpD,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IACnD,IAAI,uCAAuC,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,0BAA0B,GAAG,6BAA6B,CAAC,cAAc,CAAC,CAAC;IACjF,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,iCAAiC,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAC;IAC5G,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO,IAAI,CAAC,0CAA0C,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC;QACvG,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/H,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,eAAe,KAAK,GAAG,EAAE,CAAC;QACtF,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,WAAW,IAAI,eAAe,EAAE,CAAC;IACvD,OAAO,4CAA4C,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AAClG,CAAC;AAED,SAAS,iCAAiC,CAAC,eAAuB;IACjE,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtF,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;IAClM,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACxG,CAAC;AAED,SAAS,4CAA4C,CAAC,MAAc,EAAE,WAAmB,EAAE,cAAsB;IAChH,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,MAAM,SAAS,GAAG,8BAA8B,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,8BAA8B,GAAG,qCAAqC,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IAElH,KAAK,MAAM,UAAU,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QAC5C,MAAM,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,+BAA+B,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC3I,MAAM,mBAAmB,GAAG,eAAe,CAAC,CAAC,CAAC,qCAAqC,CAAC,eAAe,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzI,IAAI,mBAAmB,EAAE,CAAC;YACzB,MAAM,EAAE,WAAW,EAAE,GAAG,iCAAiC,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;YAC5F,IAAI,WAAW,IAAI,8BAA8B,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,iCAAiC,CAAC,mBAAmB,EAAE,WAAW,CAAC,EAAE,CAAC;gBAC3I,KAAK,MAAM,YAAY,IAAI,iCAAiC,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBACnF,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;gBAC3C,CAAC;YACF,CAAC;QACF,CAAC;QAED,MAAM,kBAAkB,GAAG,eAAe,CAAC,CAAC,CAAC,kDAAkD,CAAC,eAAe,EAAE,WAAW,CAAC,IAAI,6CAA6C,CAAC,eAAe,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpO,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACzB,SAAS;QACV,CAAC;QAED,KAAK,MAAM,YAAY,IAAI,iCAAiC,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAClF,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QACjD,CAAC;IACF,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,gCAAgC,CAAC,QAAgB,EAAE,WAAmB;IAC9E,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,uBAAuB,GAAG,CAAC,SAAiB,EAAY,EAAE;QAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACX,CAAC;QAED,MAAM,mBAAmB,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QAC/D,MAAM,oBAAoB,GAAG,kEAAkE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClH,IAAI,oBAAoB,EAAE,CAAC;YAC1B,OAAO,CAAC,SAAS,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;QAExX,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,SAAS,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC,CAAC;IAEF,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,UAAU,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,UAAU,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC;QACrD,UAAU,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IACvF,CAAC;SAAM,CAAC;QACP,UAAU,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtG,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC;YACJ,IAAI,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;gBACxE,OAAO,SAAS,CAAC;YAClB,CAAC;QACF,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACX,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,UAAU,wCAAwC,CAAC,QAA4B,EAAE,WAAmB;IACzG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,cAAc,GAAG,gCAAgC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC/E,IAAI,CAAC,cAAc,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;YAC9E,OAAO,MAAM,CAAC,0BAA0B,CAAC;QAC1C,CAAC;QAED,MAAM,MAAM,GAAG,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,0BAA0B,GAAG,4CAA4C,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QACrH,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE;YAC3C,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,0BAA0B;SAC1B,CAAC,CAAC;QACH,OAAO,0BAA0B,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC;AAED,SAAS,2BAA2B,CAAC,SAAiB,EAAE,OAAiD;IACxG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,6BAA6B,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzF,MAAM,iBAAiB,GAAG,OAAO,EAAE,0BAA0B,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,EAAE,0BAA0B,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACpI,IAAI,iBAAiB,EAAE,CAAC;QACvB,OAAO,iBAAiB,CAAC;IAC1B,CAAC;IAED,IAAI,4CAA4C,CAAC,OAAO,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;QACjF,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,+BAA+B,CAAC,QAAgB,EAAE,YAAoB,EAAE,kBAA0B;IAC1G,IAAI,CAAC,YAAY,IAAI,YAAY,KAAK,kBAAkB,EAAE,CAAC;QAC1D,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,OAAO,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,98 @@
1
+ import type { VendorManifest } from '../shared/vendor/manifest.js';
2
+ export declare function extractVitePrebundleId(spec: string): string | null;
3
+ export declare function getFlattenedManifestMap(manifest: VendorManifest): Map<string, string>;
4
+ export declare function normalizeNativeScriptCoreSpecifier(spec: string): string;
5
+ export declare function normalizeNodeModulesSpecifier(spec: string): string | null;
6
+ export declare function isEsmFrameworkPackageSpecifier(spec: string): boolean;
7
+ export declare function isCoreGlobalsReference(spec: string): boolean;
8
+ export declare function isNativeScriptCoreModule(spec: string): boolean;
9
+ export declare function isNativeScriptPluginModule(spec: string): boolean;
10
+ /** A registered flavor's client package is dev tooling the device loads per-module, like `@nativescript/vite`. */
11
+ export declare function isFlavorClientPackageSpecifier(spec: string): boolean;
12
+ export declare function getBlockedDeviceNodeModulesReason(spec: string): string | null;
13
+ export declare function isLikelyNativeScriptRuntimePluginSpecifier(spec: string, projectRoot?: string): boolean;
14
+ export declare function isLikelyNativeScriptPluginSpecifier(spec: string, projectRoot?: string): boolean;
15
+ export declare function tryReadRawExplicitJavaScriptModule(spec: string, projectRoot: string): {
16
+ code: string;
17
+ resolvedId: string;
18
+ } | null;
19
+ export declare function resolveVendorFromCandidate(specifier: string | null | undefined): string | null;
20
+ /**
21
+ * Resolve a candidate URL ('/node_modules/...', '/@fs/...', or an
22
+ * absolute fs path) to a real file on disk under one of the allowed
23
+ * roots, returning the absolute fs path or `null`.
24
+ *
25
+ * `workspaceRoot` is consulted ONLY when the candidate cannot be
26
+ * resolved under `projectRoot` — this keeps the existing app-local
27
+ * behaviour identical and adds a fallback for monorepos where
28
+ * `node_modules/` is hoisted above the app dir (Nx, Rush, Turborepo,
29
+ * etc.). Without this fallback, every `/ns/m/node_modules/<hoisted-pkg>`
30
+ * request to the dev server's bridge fails with a "transform miss"
31
+ * 404 even though the file is right there at the workspace root.
32
+ */
33
+ export declare function resolveCandidateFilePath(candidate: string, projectRoot: string, workspaceRoot?: string | null): string | null;
34
+ /**
35
+ * Rewrite a `/@fs/<abs-path>` URL into a `/ns/m/<rel>` URL so the chain
36
+ * stays inside our HMR pipeline.
37
+ *
38
+ * Vite's transform output emits `/@fs/<abs-path>` for any module whose
39
+ * resolved id lives outside the configured `root` — including hoisted
40
+ * `node_modules/<pkg>/...` entries and workspace libraries in monorepos
41
+ * (Nx, Rush, Turborepo, pnpm/yarn/npm workspaces, etc.). If we leave
42
+ * those URLs untouched, the device fetches them through Vite's standard
43
+ * middleware which does NOT apply our CJS/UMD-wrapping pipeline; UMD
44
+ * modules like papaparse then crash because top-level `this` is
45
+ * `undefined` in ESM context (the `(function(root, factory) { ... })(this,
46
+ * function moduleFactory() { ... })` IIFE passes `undefined` as `root`
47
+ * and the third branch tries to do `undefined.Papa = factory()`).
48
+ *
49
+ * The conversion preserves any `?...` / `#...` suffix and tries roots in
50
+ * this order:
51
+ * 1. `projectRoot` — app-local files; mirrors the URL shape we already
52
+ * emit for relative imports under the app's own dir.
53
+ * 2. `workspaceRoot` — hoisted `node_modules` and monorepo workspace
54
+ * libs. The `/ns/m/` handler resolves these via its
55
+ * `buildFsCandidate` fallback that probes both roots.
56
+ *
57
+ * Returns `null` when the absolute path is outside both roots; the
58
+ * caller should then leave the original `/@fs/` URL alone (defensive).
59
+ */
60
+ export declare function rewriteFsAbsoluteToNsM(spec: string, projectRoot: string, workspaceRoot?: string | null): string | null;
61
+ /**
62
+ * Filter `candidates` (variations of `spec` with different extensions /
63
+ * `index.*`) down to those that exist on disk under `projectRoot` or
64
+ * `workspaceRoot`. Workspace-root-only matches are rewritten to their
65
+ * `/@fs/<abs-path>` form so the downstream `transformRequest` call can
66
+ * load them directly without having to go through Vite's bare-specifier
67
+ * resolver — which is gated by the package's `package.json#exports`
68
+ * field and refuses internal sub-paths even when the file is on disk
69
+ * (e.g. `css-tree/lib/syntax/index.js`).
70
+ *
71
+ * Candidates whose real path (after symlink resolution) lives OUTSIDE
72
+ * any `node_modules` directory are also rewritten to `/@fs/<real-path>`.
73
+ * Vite's built-in esbuild transform plugin excludes `node_modules` paths
74
+ * from TS->JS conversion, so a workspace TypeScript package re-exposed
75
+ * via `node_modules/<scope>/<pkg>` (a common monorepo pattern: e.g.
76
+ * `node_modules/@blackout/plugins -> ../../plugins/src`) would otherwise
77
+ * be served as raw TypeScript and fail at the device with `Missing
78
+ * initializer in const declaration` on type annotations like
79
+ * `export const X: string = '...'`. Routing through the realpath makes
80
+ * Vite see a non-`node_modules` path and the TS transform applies.
81
+ *
82
+ * App-local candidates whose real path is also app-local are returned
83
+ * unchanged so existing behaviour is preserved bit-for-bit.
84
+ */
85
+ export declare function filterExistingNodeModulesTransformCandidates(spec: string, candidates: string[], projectRoot: string, workspaceRoot?: string | null): string[];
86
+ export declare function viteDepsPathToBareSpecifier(depPath: string): string | null;
87
+ export declare function resolveNodeModulesPackageBoundary(nodeModulesSpec: string, projectRoot: string): {
88
+ packageName: string;
89
+ subpath: string;
90
+ };
91
+ export declare function resolveInternalRuntimePluginBareSpecifier(spec: string, projectRoot: string): string | null;
92
+ export declare function shouldPreserveBareRuntimePluginSubpathImport(spec: string, projectRoot: string): boolean;
93
+ export declare function resolveVendorRouting(nodeModulesSpec: string, projectRoot: string): {
94
+ route: 'vendor';
95
+ bareSpec: string;
96
+ } | {
97
+ route: 'http';
98
+ } | null;