@nativescript/vite 8.0.0-alpha.6 → 8.0.0-alpha.60

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 (463) hide show
  1. package/README.md +51 -11
  2. package/bin/cli.cjs +8 -14
  3. package/configuration/angular.d.ts +34 -1
  4. package/configuration/angular.js +376 -165
  5. package/configuration/angular.js.map +1 -1
  6. package/configuration/base.js +244 -53
  7. package/configuration/base.js.map +1 -1
  8. package/configuration/javascript.js +14 -93
  9. package/configuration/javascript.js.map +1 -1
  10. package/configuration/react.js +41 -73
  11. package/configuration/react.js.map +1 -1
  12. package/configuration/solid.js +51 -6
  13. package/configuration/solid.js.map +1 -1
  14. package/configuration/typescript.js +12 -93
  15. package/configuration/typescript.js.map +1 -1
  16. package/helpers/app-components.d.ts +2 -1
  17. package/helpers/app-components.js.map +1 -1
  18. package/helpers/app-css-state.d.ts +8 -0
  19. package/helpers/app-css-state.js +8 -0
  20. package/helpers/app-css-state.js.map +1 -0
  21. package/helpers/bundler-context.d.ts +11 -0
  22. package/helpers/bundler-context.js +71 -0
  23. package/helpers/bundler-context.js.map +1 -0
  24. package/helpers/cli-flags.d.ts +12 -0
  25. package/helpers/cli-flags.js +34 -0
  26. package/helpers/cli-flags.js.map +1 -1
  27. package/helpers/css-platform-plugin.d.ts +14 -0
  28. package/helpers/css-platform-plugin.js +43 -25
  29. package/helpers/css-platform-plugin.js.map +1 -1
  30. package/helpers/dev-host.d.ts +360 -0
  31. package/helpers/dev-host.js +694 -0
  32. package/helpers/dev-host.js.map +1 -0
  33. package/helpers/dynamic-import-plugin.js +4 -2
  34. package/helpers/dynamic-import-plugin.js.map +1 -1
  35. package/helpers/esbuild-platform-resolver.js +4 -1
  36. package/helpers/esbuild-platform-resolver.js.map +1 -1
  37. package/helpers/external-configs.d.ts +10 -12
  38. package/helpers/external-configs.js +58 -35
  39. package/helpers/external-configs.js.map +1 -1
  40. package/helpers/global-defines.d.ts +100 -13
  41. package/helpers/global-defines.js +149 -28
  42. package/helpers/global-defines.js.map +1 -1
  43. package/helpers/hmr-scope.d.ts +26 -0
  44. package/helpers/hmr-scope.js +67 -0
  45. package/helpers/hmr-scope.js.map +1 -0
  46. package/helpers/init.js +0 -18
  47. package/helpers/init.js.map +1 -1
  48. package/helpers/logging.js +29 -1
  49. package/helpers/logging.js.map +1 -1
  50. package/helpers/main-entry.d.ts +4 -1
  51. package/helpers/main-entry.js +368 -53
  52. package/helpers/main-entry.js.map +1 -1
  53. package/helpers/nativeclass-esbuild-plugin.d.ts +2 -1
  54. package/helpers/nativeclass-esbuild-plugin.js.map +1 -1
  55. package/helpers/nativeclass-transform.js +5 -6
  56. package/helpers/nativeclass-transform.js.map +1 -1
  57. package/helpers/nativeclass-transformer-plugin.d.ts +9 -2
  58. package/helpers/nativeclass-transformer-plugin.js +157 -14
  59. package/helpers/nativeclass-transformer-plugin.js.map +1 -1
  60. package/helpers/nativescript-package-resolver.js +10 -62
  61. package/helpers/nativescript-package-resolver.js.map +1 -1
  62. package/helpers/normalize-id.d.ts +42 -0
  63. package/helpers/normalize-id.js +60 -0
  64. package/helpers/normalize-id.js.map +1 -0
  65. package/helpers/ns-core-url.d.ts +29 -7
  66. package/helpers/ns-core-url.js +69 -12
  67. package/helpers/ns-core-url.js.map +1 -1
  68. package/helpers/optimize-deps.d.ts +16 -0
  69. package/helpers/optimize-deps.js +17 -0
  70. package/helpers/optimize-deps.js.map +1 -0
  71. package/helpers/package-platform-aliases.js +34 -49
  72. package/helpers/package-platform-aliases.js.map +1 -1
  73. package/helpers/platform-types.d.ts +2 -0
  74. package/helpers/platform-types.js +2 -0
  75. package/helpers/platform-types.js.map +1 -0
  76. package/helpers/postcss-platform-config.d.ts +17 -1
  77. package/helpers/postcss-platform-config.js +20 -37
  78. package/helpers/postcss-platform-config.js.map +1 -1
  79. package/helpers/project.d.ts +35 -0
  80. package/helpers/project.js +120 -2
  81. package/helpers/project.js.map +1 -1
  82. package/helpers/resolve-main-field-platform.d.ts +20 -0
  83. package/helpers/resolve-main-field-platform.js +49 -0
  84. package/helpers/resolve-main-field-platform.js.map +1 -0
  85. package/helpers/resolver.js +17 -2
  86. package/helpers/resolver.js.map +1 -1
  87. package/helpers/theme-core-plugins.js +1 -1
  88. package/helpers/theme-core-plugins.js.map +1 -1
  89. package/helpers/ts-config-paths.d.ts +32 -0
  90. package/helpers/ts-config-paths.js +156 -27
  91. package/helpers/ts-config-paths.js.map +1 -1
  92. package/helpers/typescript-check.d.ts +2 -1
  93. package/helpers/typescript-check.js +2 -2
  94. package/helpers/typescript-check.js.map +1 -1
  95. package/helpers/ui-registration.d.ts +21 -0
  96. package/helpers/ui-registration.js +156 -0
  97. package/helpers/ui-registration.js.map +1 -0
  98. package/helpers/utils.d.ts +9 -0
  99. package/helpers/utils.js +22 -2
  100. package/helpers/utils.js.map +1 -1
  101. package/helpers/vite-package-version.d.ts +7 -0
  102. package/helpers/vite-package-version.js +44 -0
  103. package/helpers/vite-package-version.js.map +1 -0
  104. package/helpers/workers.d.ts +20 -19
  105. package/helpers/workers.js +624 -4
  106. package/helpers/workers.js.map +1 -1
  107. package/hmr/client/css-handler.d.ts +2 -1
  108. package/hmr/client/css-handler.js +50 -26
  109. package/hmr/client/css-handler.js.map +1 -1
  110. package/hmr/client/css-update-overlay.d.ts +18 -0
  111. package/hmr/client/css-update-overlay.js +27 -0
  112. package/hmr/client/css-update-overlay.js.map +1 -0
  113. package/hmr/client/framework-client-strategy.d.ts +79 -0
  114. package/hmr/client/framework-client-strategy.js +19 -0
  115. package/hmr/client/framework-client-strategy.js.map +1 -0
  116. package/hmr/client/hmr-pending-overlay.d.ts +0 -14
  117. package/hmr/client/hmr-pending-overlay.js +14 -4
  118. package/hmr/client/hmr-pending-overlay.js.map +1 -1
  119. package/hmr/client/hot-context.d.ts +67 -0
  120. package/hmr/client/hot-context.js +284 -0
  121. package/hmr/client/hot-context.js.map +1 -0
  122. package/hmr/client/index.js +922 -273
  123. package/hmr/client/index.js.map +1 -1
  124. package/hmr/client/utils.d.ts +2 -1
  125. package/hmr/client/utils.js +111 -99
  126. package/hmr/client/utils.js.map +1 -1
  127. package/hmr/entry-runtime.d.ts +2 -1
  128. package/hmr/entry-runtime.js +271 -69
  129. package/hmr/entry-runtime.js.map +1 -1
  130. package/hmr/frameworks/angular/build/angular-linker.d.ts +12 -0
  131. package/hmr/frameworks/angular/build/angular-linker.js +109 -0
  132. package/hmr/frameworks/angular/build/angular-linker.js.map +1 -0
  133. package/hmr/frameworks/angular/build/inject-component-hmr-registration.d.ts +112 -0
  134. package/hmr/frameworks/angular/build/inject-component-hmr-registration.js +291 -0
  135. package/hmr/frameworks/angular/build/inject-component-hmr-registration.js.map +1 -0
  136. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.d.ts +75 -0
  137. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js +221 -0
  138. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js.map +1 -0
  139. package/{helpers/angular → hmr/frameworks/angular/build}/inline-decorator-component-templates.js +1 -170
  140. package/hmr/frameworks/angular/build/inline-decorator-component-templates.js.map +1 -0
  141. package/hmr/frameworks/angular/build/js-lexer.d.ts +4 -0
  142. package/{helpers/angular/synthesize-decorator-ctor-parameters.js → hmr/frameworks/angular/build/js-lexer.js} +22 -96
  143. package/hmr/frameworks/angular/build/js-lexer.js.map +1 -0
  144. package/hmr/frameworks/angular/build/shared-linker.d.ts +39 -0
  145. package/hmr/frameworks/angular/build/shared-linker.js +128 -0
  146. package/hmr/frameworks/angular/build/shared-linker.js.map +1 -0
  147. package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js +88 -0
  148. package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js.map +1 -0
  149. package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-injectable-factories.js +1 -174
  150. package/hmr/frameworks/angular/build/synthesize-injectable-factories.js.map +1 -0
  151. package/{helpers/angular → hmr/frameworks/angular/build}/util.d.ts +1 -0
  152. package/hmr/frameworks/angular/build/util.js +155 -0
  153. package/hmr/frameworks/angular/build/util.js.map +1 -0
  154. package/hmr/frameworks/angular/client/index.js +542 -175
  155. package/hmr/frameworks/angular/client/index.js.map +1 -1
  156. package/hmr/frameworks/angular/client/strategy.d.ts +9 -0
  157. package/hmr/frameworks/angular/client/strategy.js +19 -0
  158. package/hmr/frameworks/angular/client/strategy.js.map +1 -0
  159. package/hmr/frameworks/angular/server/angular-root-component.d.ts +79 -0
  160. package/hmr/frameworks/angular/server/angular-root-component.js +149 -0
  161. package/hmr/frameworks/angular/server/angular-root-component.js.map +1 -0
  162. package/hmr/frameworks/angular/server/linker.js +1 -4
  163. package/hmr/frameworks/angular/server/linker.js.map +1 -1
  164. package/hmr/frameworks/angular/server/strategy.js +458 -12
  165. package/hmr/frameworks/angular/server/strategy.js.map +1 -1
  166. package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.js +2 -2
  167. package/hmr/frameworks/angular/server/websocket-angular-entry.js.map +1 -0
  168. package/hmr/{server → frameworks/angular/server}/websocket-angular-hot-update.d.ts +14 -11
  169. package/hmr/{server → frameworks/angular/server}/websocket-angular-hot-update.js +108 -111
  170. package/hmr/frameworks/angular/server/websocket-angular-hot-update.js.map +1 -0
  171. package/hmr/frameworks/react/server/strategy.d.ts +2 -0
  172. package/hmr/frameworks/react/server/strategy.js +230 -0
  173. package/hmr/frameworks/react/server/strategy.js.map +1 -0
  174. package/hmr/frameworks/solid/build/solid-jsx-deps.d.ts +15 -0
  175. package/hmr/frameworks/solid/build/solid-jsx-deps.js +178 -0
  176. package/hmr/frameworks/solid/build/solid-jsx-deps.js.map +1 -0
  177. package/hmr/frameworks/solid/client/app-runtime.d.ts +68 -0
  178. package/hmr/frameworks/solid/client/app-runtime.js +246 -0
  179. package/hmr/frameworks/solid/client/app-runtime.js.map +1 -0
  180. package/hmr/frameworks/solid/server/strategy.js +291 -16
  181. package/hmr/frameworks/solid/server/strategy.js.map +1 -1
  182. package/hmr/frameworks/typescript/server/strategy.js +38 -14
  183. package/hmr/frameworks/typescript/server/strategy.js.map +1 -1
  184. package/hmr/frameworks/vue/client/dep-propagation.d.ts +44 -0
  185. package/hmr/frameworks/vue/client/dep-propagation.js +148 -0
  186. package/hmr/frameworks/vue/client/dep-propagation.js.map +1 -0
  187. package/hmr/frameworks/vue/client/index.d.ts +9 -0
  188. package/hmr/frameworks/vue/client/index.js +251 -247
  189. package/hmr/frameworks/vue/client/index.js.map +1 -1
  190. package/hmr/frameworks/vue/client/strategy.d.ts +33 -0
  191. package/hmr/frameworks/vue/client/strategy.js +157 -0
  192. package/hmr/frameworks/vue/client/strategy.js.map +1 -0
  193. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.d.ts +49 -0
  194. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js +142 -0
  195. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js.map +1 -0
  196. package/hmr/frameworks/vue/server/compiler.d.ts +3 -1
  197. package/hmr/frameworks/vue/server/compiler.js +3 -1
  198. package/hmr/frameworks/vue/server/compiler.js.map +1 -1
  199. package/hmr/frameworks/vue/server/sfc-route-assemble.d.ts +7 -0
  200. package/hmr/frameworks/vue/server/sfc-route-assemble.js +823 -0
  201. package/hmr/frameworks/vue/server/sfc-route-assemble.js.map +1 -0
  202. package/hmr/frameworks/vue/server/sfc-route-meta.d.ts +7 -0
  203. package/hmr/frameworks/vue/server/sfc-route-meta.js +80 -0
  204. package/hmr/frameworks/vue/server/sfc-route-meta.js.map +1 -0
  205. package/hmr/frameworks/vue/server/sfc-route-serve.d.ts +8 -0
  206. package/hmr/frameworks/vue/server/sfc-route-serve.js +462 -0
  207. package/hmr/frameworks/vue/server/sfc-route-serve.js.map +1 -0
  208. package/hmr/frameworks/vue/server/sfc-route-shared.d.ts +45 -0
  209. package/hmr/frameworks/vue/server/sfc-route-shared.js +105 -0
  210. package/hmr/frameworks/vue/server/sfc-route-shared.js.map +1 -0
  211. package/hmr/frameworks/vue/server/strategy.d.ts +35 -0
  212. package/hmr/frameworks/vue/server/strategy.js +286 -7
  213. package/hmr/frameworks/vue/server/strategy.js.map +1 -1
  214. package/hmr/frameworks/vue/server/websocket-sfc.d.ts +15 -0
  215. package/hmr/frameworks/vue/server/websocket-sfc.js +20 -0
  216. package/hmr/frameworks/vue/server/websocket-sfc.js.map +1 -0
  217. package/hmr/helpers/ast-normalizer.d.ts +3 -1
  218. package/hmr/helpers/ast-normalizer.js +77 -10
  219. package/hmr/helpers/ast-normalizer.js.map +1 -1
  220. package/hmr/helpers/cjs-named-exports.d.ts +23 -0
  221. package/hmr/helpers/cjs-named-exports.js +152 -0
  222. package/hmr/helpers/cjs-named-exports.js.map +1 -0
  223. package/hmr/helpers/package-exports.d.ts +16 -0
  224. package/hmr/helpers/package-exports.js +396 -0
  225. package/hmr/helpers/package-exports.js.map +1 -0
  226. package/hmr/helpers/vendor-rewrite.d.ts +1 -1
  227. package/hmr/helpers/vendor-rewrite.js +5 -3
  228. package/hmr/helpers/vendor-rewrite.js.map +1 -1
  229. package/hmr/server/boot-archive-route.d.ts +40 -0
  230. package/hmr/server/boot-archive-route.js +154 -0
  231. package/hmr/server/boot-archive-route.js.map +1 -0
  232. package/hmr/server/boot-closure-route.d.ts +49 -0
  233. package/hmr/server/boot-closure-route.js +144 -0
  234. package/hmr/server/boot-closure-route.js.map +1 -0
  235. package/hmr/server/boot-recording.d.ts +58 -0
  236. package/hmr/server/boot-recording.js +228 -0
  237. package/hmr/server/boot-recording.js.map +1 -0
  238. package/hmr/server/constants.js +20 -5
  239. package/hmr/server/constants.js.map +1 -1
  240. package/hmr/server/core-bundle.d.ts +140 -0
  241. package/hmr/server/core-bundle.js +614 -0
  242. package/hmr/server/core-bundle.js.map +1 -0
  243. package/hmr/server/core-sanitize.d.ts +86 -7
  244. package/hmr/server/core-sanitize.js +170 -45
  245. package/hmr/server/core-sanitize.js.map +1 -1
  246. package/hmr/server/css-device-module.d.ts +28 -0
  247. package/hmr/server/css-device-module.js +44 -0
  248. package/hmr/server/css-device-module.js.map +1 -0
  249. package/hmr/server/deps-bundle.d.ts +218 -0
  250. package/hmr/server/deps-bundle.js +984 -0
  251. package/hmr/server/deps-bundle.js.map +1 -0
  252. package/hmr/server/device-transform-helpers.d.ts +24 -0
  253. package/hmr/server/device-transform-helpers.js +408 -0
  254. package/hmr/server/device-transform-helpers.js.map +1 -0
  255. package/hmr/server/framework-strategy.d.ts +113 -11
  256. package/hmr/server/hmr-module-graph.d.ts +37 -0
  257. package/hmr/server/hmr-module-graph.js +215 -0
  258. package/hmr/server/hmr-module-graph.js.map +1 -0
  259. package/hmr/server/import-map.d.ts +13 -4
  260. package/hmr/server/import-map.js +94 -47
  261. package/hmr/server/import-map.js.map +1 -1
  262. package/hmr/server/index.js +7 -16
  263. package/hmr/server/index.js.map +1 -1
  264. package/hmr/server/ns-core-cjs-shape.d.ts +2 -4
  265. package/hmr/server/ns-core-cjs-shape.js +4 -6
  266. package/hmr/server/ns-core-cjs-shape.js.map +1 -1
  267. package/hmr/server/ns-m-response-memo.d.ts +10 -0
  268. package/hmr/server/ns-m-response-memo.js +33 -0
  269. package/hmr/server/ns-m-response-memo.js.map +1 -0
  270. package/hmr/server/ns-rt-bridge.d.ts +51 -0
  271. package/hmr/server/ns-rt-bridge.js +131 -0
  272. package/hmr/server/ns-rt-bridge.js.map +1 -0
  273. package/hmr/server/ns-rt-route.d.ts +5 -0
  274. package/hmr/server/ns-rt-route.js +39 -0
  275. package/hmr/server/ns-rt-route.js.map +1 -0
  276. package/hmr/server/perf-instrumentation.d.ts +6 -10
  277. package/hmr/server/perf-instrumentation.js +5 -6
  278. package/hmr/server/perf-instrumentation.js.map +1 -1
  279. package/hmr/server/process-code-for-device.d.ts +30 -0
  280. package/hmr/server/process-code-for-device.js +791 -0
  281. package/hmr/server/process-code-for-device.js.map +1 -0
  282. package/hmr/server/require-guard.d.ts +1 -0
  283. package/hmr/server/require-guard.js +12 -0
  284. package/hmr/server/require-guard.js.map +1 -0
  285. package/hmr/server/rewrite-imports.d.ts +2 -0
  286. package/hmr/server/rewrite-imports.js +630 -0
  287. package/hmr/server/rewrite-imports.js.map +1 -0
  288. package/hmr/server/route-helpers.d.ts +7 -0
  289. package/hmr/server/route-helpers.js +13 -0
  290. package/hmr/server/route-helpers.js.map +1 -0
  291. package/hmr/server/server-origin.d.ts +2 -0
  292. package/hmr/server/server-origin.js +83 -0
  293. package/hmr/server/server-origin.js.map +1 -0
  294. package/hmr/server/shared-transform-request.js +1 -2
  295. package/hmr/server/shared-transform-request.js.map +1 -1
  296. package/hmr/server/transform-cache-invalidation.d.ts +37 -0
  297. package/hmr/server/transform-cache-invalidation.js +156 -0
  298. package/hmr/server/transform-cache-invalidation.js.map +1 -0
  299. package/hmr/server/vendor-bare-module-shims.d.ts +4 -0
  300. package/hmr/server/vendor-bare-module-shims.js +80 -0
  301. package/hmr/server/vendor-bare-module-shims.js.map +1 -0
  302. package/hmr/server/vite-plugin.d.ts +1 -0
  303. package/hmr/server/vite-plugin.js +180 -54
  304. package/hmr/server/vite-plugin.js.map +1 -1
  305. package/hmr/server/websocket-core-bridge.d.ts +51 -4
  306. package/hmr/server/websocket-core-bridge.js +62 -54
  307. package/hmr/server/websocket-core-bridge.js.map +1 -1
  308. package/hmr/server/websocket-css-hot-update.d.ts +33 -0
  309. package/hmr/server/websocket-css-hot-update.js +65 -0
  310. package/hmr/server/websocket-css-hot-update.js.map +1 -0
  311. package/hmr/server/websocket-device-transform.d.ts +3 -0
  312. package/hmr/server/websocket-device-transform.js +7 -0
  313. package/hmr/server/websocket-device-transform.js.map +1 -0
  314. package/hmr/server/websocket-hmr-pending.d.ts +3 -9
  315. package/hmr/server/websocket-hmr-pending.js +1 -1
  316. package/hmr/server/websocket-hmr-pending.js.map +1 -1
  317. package/hmr/server/websocket-hot-update.d.ts +77 -0
  318. package/hmr/server/websocket-hot-update.js +360 -0
  319. package/hmr/server/websocket-hot-update.js.map +1 -0
  320. package/hmr/server/websocket-import-map-route.d.ts +15 -0
  321. package/hmr/server/websocket-import-map-route.js +50 -0
  322. package/hmr/server/websocket-import-map-route.js.map +1 -0
  323. package/hmr/server/websocket-module-bindings.js +3 -3
  324. package/hmr/server/websocket-module-bindings.js.map +1 -1
  325. package/hmr/server/websocket-module-specifiers.d.ts +66 -2
  326. package/hmr/server/websocket-module-specifiers.js +191 -20
  327. package/hmr/server/websocket-module-specifiers.js.map +1 -1
  328. package/hmr/server/websocket-ns-core.d.ts +34 -0
  329. package/hmr/server/websocket-ns-core.js +414 -0
  330. package/hmr/server/websocket-ns-core.js.map +1 -0
  331. package/hmr/server/websocket-ns-entry.d.ts +21 -0
  332. package/hmr/server/websocket-ns-entry.js +164 -0
  333. package/hmr/server/websocket-ns-entry.js.map +1 -0
  334. package/hmr/server/websocket-ns-m-paths.d.ts +1 -3
  335. package/hmr/server/websocket-ns-m-paths.js +25 -82
  336. package/hmr/server/websocket-ns-m-paths.js.map +1 -1
  337. package/hmr/server/websocket-ns-m-request.d.ts +11 -1
  338. package/hmr/server/websocket-ns-m-request.js +17 -9
  339. package/hmr/server/websocket-ns-m-request.js.map +1 -1
  340. package/hmr/server/websocket-ns-m.d.ts +52 -0
  341. package/hmr/server/websocket-ns-m.js +824 -0
  342. package/hmr/server/websocket-ns-m.js.map +1 -0
  343. package/hmr/server/websocket-served-module-helpers.d.ts +50 -4
  344. package/hmr/server/websocket-served-module-helpers.js +384 -86
  345. package/hmr/server/websocket-served-module-helpers.js.map +1 -1
  346. package/hmr/server/websocket-txn.js +6 -9
  347. package/hmr/server/websocket-txn.js.map +1 -1
  348. package/hmr/server/websocket-vendor-unifier.d.ts +0 -1
  349. package/hmr/server/websocket-vendor-unifier.js +4 -9
  350. package/hmr/server/websocket-vendor-unifier.js.map +1 -1
  351. package/hmr/server/websocket.d.ts +7 -39
  352. package/hmr/server/websocket.js +643 -6716
  353. package/hmr/server/websocket.js.map +1 -1
  354. package/hmr/shared/ns-globals.d.ts +108 -0
  355. package/hmr/shared/ns-globals.js +28 -0
  356. package/hmr/shared/ns-globals.js.map +1 -0
  357. package/hmr/shared/protocol.d.ts +145 -0
  358. package/hmr/shared/protocol.js +28 -0
  359. package/hmr/shared/protocol.js.map +1 -0
  360. package/hmr/shared/runtime/boot-archive-format.d.ts +16 -0
  361. package/hmr/shared/runtime/boot-archive-format.js +31 -0
  362. package/hmr/shared/runtime/boot-archive-format.js.map +1 -0
  363. package/hmr/shared/runtime/boot-complete.d.ts +14 -0
  364. package/hmr/shared/runtime/boot-complete.js +32 -0
  365. package/hmr/shared/runtime/boot-complete.js.map +1 -0
  366. package/hmr/shared/runtime/boot-placeholder-ui.d.ts +69 -0
  367. package/hmr/shared/runtime/boot-placeholder-ui.js +101 -0
  368. package/hmr/shared/runtime/boot-placeholder-ui.js.map +1 -0
  369. package/hmr/shared/runtime/boot-progress.d.ts +44 -0
  370. package/hmr/shared/runtime/boot-progress.js +134 -0
  371. package/hmr/shared/runtime/boot-progress.js.map +1 -0
  372. package/hmr/shared/runtime/boot-timeline.d.ts +2 -1
  373. package/hmr/shared/runtime/boot-timeline.js +9 -22
  374. package/hmr/shared/runtime/boot-timeline.js.map +1 -1
  375. package/hmr/shared/runtime/browser-runtime-contract.d.ts +53 -22
  376. package/hmr/shared/runtime/browser-runtime-contract.js +6 -9
  377. package/hmr/shared/runtime/browser-runtime-contract.js.map +1 -1
  378. package/hmr/shared/runtime/dev-overlay-snapshots.d.ts +31 -0
  379. package/hmr/shared/runtime/dev-overlay-snapshots.js +324 -0
  380. package/hmr/shared/runtime/dev-overlay-snapshots.js.map +1 -0
  381. package/hmr/shared/runtime/dev-overlay.d.ts +76 -30
  382. package/hmr/shared/runtime/dev-overlay.js +767 -408
  383. package/hmr/shared/runtime/dev-overlay.js.map +1 -1
  384. package/hmr/shared/runtime/global-scope.d.ts +18 -0
  385. package/hmr/shared/runtime/global-scope.js +21 -0
  386. package/hmr/shared/runtime/global-scope.js.map +1 -0
  387. package/hmr/shared/runtime/hooks.js +2 -1
  388. package/hmr/shared/runtime/hooks.js.map +1 -1
  389. package/hmr/shared/runtime/http-only-boot.js +7 -6
  390. package/hmr/shared/runtime/http-only-boot.js.map +1 -1
  391. package/hmr/shared/runtime/module-provenance.js +4 -6
  392. package/hmr/shared/runtime/module-provenance.js.map +1 -1
  393. package/hmr/shared/runtime/root-placeholder-view.d.ts +19 -0
  394. package/hmr/shared/runtime/root-placeholder-view.js +311 -0
  395. package/hmr/shared/runtime/root-placeholder-view.js.map +1 -0
  396. package/hmr/shared/runtime/root-placeholder.js +398 -204
  397. package/hmr/shared/runtime/root-placeholder.js.map +1 -1
  398. package/hmr/shared/runtime/session-bootstrap.js +255 -50
  399. package/hmr/shared/runtime/session-bootstrap.js.map +1 -1
  400. package/hmr/shared/runtime/vendor-bootstrap.js +3 -10
  401. package/hmr/shared/runtime/vendor-bootstrap.js.map +1 -1
  402. package/hmr/shared/vendor/manifest-collect.d.ts +4 -0
  403. package/hmr/shared/vendor/manifest-collect.js +549 -0
  404. package/hmr/shared/vendor/manifest-collect.js.map +1 -0
  405. package/hmr/shared/vendor/manifest-loader.d.ts +2 -1
  406. package/hmr/shared/vendor/manifest-loader.js +5 -3
  407. package/hmr/shared/vendor/manifest-loader.js.map +1 -1
  408. package/hmr/shared/vendor/manifest.d.ts +1 -7
  409. package/hmr/shared/vendor/manifest.js +125 -825
  410. package/hmr/shared/vendor/manifest.js.map +1 -1
  411. package/hmr/shared/vendor/registry.d.ts +2 -0
  412. package/hmr/shared/vendor/registry.js +14 -0
  413. package/hmr/shared/vendor/registry.js.map +1 -1
  414. package/hmr/shared/vendor/vendor-device-shim.d.ts +1 -0
  415. package/hmr/shared/vendor/vendor-device-shim.js +208 -0
  416. package/hmr/shared/vendor/vendor-device-shim.js.map +1 -0
  417. package/hmr/shared/vendor/vendor-esbuild-plugins.d.ts +38 -0
  418. package/hmr/shared/vendor/vendor-esbuild-plugins.js +296 -0
  419. package/hmr/shared/vendor/vendor-esbuild-plugins.js.map +1 -0
  420. package/hmr/vendor-bootstrap.d.ts +1 -3
  421. package/hmr/vendor-bootstrap.js +4 -6
  422. package/hmr/vendor-bootstrap.js.map +1 -1
  423. package/index.d.ts +1 -0
  424. package/index.js +5 -0
  425. package/index.js.map +1 -1
  426. package/package.json +65 -11
  427. package/runtime/core-aliases-early.js +25 -55
  428. package/runtime/core-aliases-early.js.map +1 -1
  429. package/shims/react-jsx-runtime.d.ts +4 -0
  430. package/shims/react-jsx-runtime.js +61 -0
  431. package/shims/react-jsx-runtime.js.map +1 -0
  432. package/helpers/angular/angular-linker.d.ts +0 -13
  433. package/helpers/angular/angular-linker.js +0 -194
  434. package/helpers/angular/angular-linker.js.map +0 -1
  435. package/helpers/angular/inline-decorator-component-templates.js.map +0 -1
  436. package/helpers/angular/shared-linker.d.ts +0 -11
  437. package/helpers/angular/shared-linker.js +0 -75
  438. package/helpers/angular/shared-linker.js.map +0 -1
  439. package/helpers/angular/synthesize-decorator-ctor-parameters.js.map +0 -1
  440. package/helpers/angular/synthesize-injectable-factories.js.map +0 -1
  441. package/helpers/angular/util.js +0 -67
  442. package/helpers/angular/util.js.map +0 -1
  443. package/helpers/prelink-angular.d.ts +0 -2
  444. package/helpers/prelink-angular.js +0 -117
  445. package/helpers/prelink-angular.js.map +0 -1
  446. package/hmr/server/websocket-angular-entry.js.map +0 -1
  447. package/hmr/server/websocket-angular-hot-update.js.map +0 -1
  448. package/hmr/server/websocket-ns-m-finalize.d.ts +0 -22
  449. package/hmr/server/websocket-ns-m-finalize.js +0 -88
  450. package/hmr/server/websocket-ns-m-finalize.js.map +0 -1
  451. package/hmr/server/websocket-runtime-compat.d.ts +0 -19
  452. package/hmr/server/websocket-runtime-compat.js +0 -286
  453. package/hmr/server/websocket-runtime-compat.js.map +0 -1
  454. package/hmr/server/websocket-vue-sfc.d.ts +0 -27
  455. package/hmr/server/websocket-vue-sfc.js +0 -1114
  456. package/hmr/server/websocket-vue-sfc.js.map +0 -1
  457. package/transformers/NativeClass/index.d.ts +0 -2
  458. package/transformers/NativeClass/index.js +0 -222
  459. package/transformers/NativeClass/index.js.map +0 -1
  460. /package/{helpers/angular → hmr/frameworks/angular/build}/inline-decorator-component-templates.d.ts +0 -0
  461. /package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-decorator-ctor-parameters.d.ts +0 -0
  462. /package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-injectable-factories.d.ts +0 -0
  463. /package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.d.ts +0 -0
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Canonicalize a filesystem path so it can serve as a STABLE Rolldown module id
3
+ * that is identical regardless of the host operating system.
4
+ *
5
+ * Why this exists
6
+ * ---------------
7
+ * Rolldown keys its module graph on the raw `resolveId` string. It does NOT
8
+ * unify `C:\proj\node_modules\@nativescript\core\ui\index.js` with
9
+ * `C:/proj/node_modules/@nativescript/core/ui/index.js`, nor `c:/…` with
10
+ * `C:/…`. Any two ids that point at the same physical file but differ in
11
+ * separator style or drive-letter case become two distinct modules — so the
12
+ * file is evaluated twice.
13
+ *
14
+ * NativeScript ships several `enforce: 'pre'` resolver plugins
15
+ * (`NativeScriptPlugin`, `nativescriptPackageResolver`,
16
+ * `packagePlatformResolverPlugin`, the tsconfig-paths resolver). They all build
17
+ * ids with Node's `path.resolve`/`path.join`, which on Windows emit
18
+ * backslashes and inherit the drive-letter case of `process.cwd()`. Meanwhile
19
+ * Vite's alias replacement (`NS_CORE_ROOT`) and Vite's own resolver emit
20
+ * forward-slash ids whose drive case comes from `require.resolve()`/realpath.
21
+ *
22
+ * The result on Windows: `@nativescript/core`'s internal relative imports
23
+ * (resolved by our plugins → backslashes) and the same files reached via bare
24
+ * `@nativescript/core/*` specifiers (resolved by the alias → forward slashes)
25
+ * produce different ids, core is bundled twice, and the second
26
+ * `widthProperty.register(View)` crashes on a non-configurable property.
27
+ *
28
+ * macOS/Linux never hit this because POSIX paths from every code path are
29
+ * already byte-identical — which is exactly why this normalization is a no-op
30
+ * there.
31
+ *
32
+ * Canonical form
33
+ * --------------
34
+ * - forward slashes (the form Vite/Rolldown and our alias replacement use)
35
+ * - uppercase Windows drive letter, matching Node's `realpath()`/
36
+ * `require.resolve()` convention — the source that seeds `NS_CORE_ROOT`.
37
+ *
38
+ * Virtual ids (`\0…`, `virtual:…`), query suffixes (`?worker`), and bare
39
+ * specifiers are preserved as-is apart from separator/drive canonicalization,
40
+ * so it is safe to call on any string a `resolveId` hook might return.
41
+ */
42
+ export function normalizeModuleId(id) {
43
+ if (!id)
44
+ return id;
45
+ // Forward slashes everywhere. Rollup-style virtual prefixes ("\0") use a
46
+ // leading NUL, never a path separator, so this leaves them intact.
47
+ let normalized = id.replace(/\\/g, '/');
48
+ // Uppercase a leading Windows drive letter ("c:/…" → "C:/…"). Matches the
49
+ // case Node's realpath()/require.resolve() returns, which is what feeds
50
+ // NS_CORE_ROOT and therefore every alias-resolved core id.
51
+ if (normalized.length >= 2 && normalized[1] === ':') {
52
+ const drive = normalized.charCodeAt(0);
53
+ // a-z → A-Z
54
+ if (drive >= 97 && drive <= 122) {
55
+ normalized = normalized[0].toUpperCase() + normalized.slice(1);
56
+ }
57
+ }
58
+ return normalized;
59
+ }
60
+ //# sourceMappingURL=normalize-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-id.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/normalize-id.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAU;IAC3C,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC;IACnB,yEAAyE;IACzE,mEAAmE;IACnE,IAAI,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACxC,0EAA0E;IAC1E,wEAAwE;IACxE,2DAA2D;IAC3D,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACvC,YAAY;QACZ,IAAI,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;YACjC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC;IACF,CAAC;IACD,OAAO,UAAU,CAAC;AACnB,CAAC"}
@@ -1,12 +1,17 @@
1
1
  /**
2
2
  * Single canonical URL generator for `@nativescript/core` under HMR.
3
3
  *
4
- * Invariant A (HMR_CORE_REALM_DETERMINISTIC_PLAN.md):
5
- * Every public-facing reference to `@nativescript/core[/sub]` resolves to
6
- * exactly one URL string — byte-for-byte identical across every emitter
7
- * (bundle entry, external-urls plugin, rewriter, import map, runtime
8
- * require). There is no ambiguity about `?p=` vs path, `.js` vs
9
- * extensionless, versioned vs unversioned.
4
+ * Every public-facing reference to `@nativescript/core[/sub]` resolves to
5
+ * exactly one URL string — byte-for-byte identical across every emitter
6
+ * (bundle entry, external-urls plugin, rewriter, import map, runtime
7
+ * require). The only valid shapes are:
8
+ *
9
+ * - `/ns/core` — package main
10
+ * - `/ns/core/<sub>` — subpath form
11
+ *
12
+ * with `<sub>` always run through `normalizeCoreSub` (extensionless, no
13
+ * `/index` tail, no platform suffix). There is no version segment, no
14
+ * `?p=` query form, no `.js` tail.
10
15
  *
11
16
  * This module is the ONE site that constructs those URLs. Every caller in
12
17
  * the repo should use `buildCoreUrl()` (or `buildCoreUrlPath()` when origin
@@ -59,7 +64,6 @@ export declare function isCoreBridgeUrl(input: string): boolean;
59
64
  * 'http://localhost:5173/ns/core' → ''
60
65
  * 'http://localhost:5173/ns/core/application' → 'application'
61
66
  * '/ns/core/ui/core/view' → 'ui/core/view'
62
- * '/ns/core?p=foo' → 'foo' (legacy form tolerated)
63
67
  * 'http://example.com/other' → null
64
68
  */
65
69
  export declare function extractCoreSub(input: string): string | null;
@@ -74,6 +78,24 @@ export declare function extractCoreSub(input: string): string | null;
74
78
  * '/foo/bar/baz' → null
75
79
  */
76
80
  export declare function specToCoreSub(spec: string): string | null;
81
+ /**
82
+ * Convert an absolute path INSIDE a known @nativescript/core root directory
83
+ * into the canonical sub path. Complements {@link specToCoreSub}, which only
84
+ * recognizes bare specifiers and `node_modules` installs: in a monorepo where
85
+ * core is consumed from source (`<workspace>/packages/core` via a `file:`
86
+ * dependency), the resolve-alias step rewrites bare `@nativescript/core[/sub]`
87
+ * specifiers to absolute paths under that source root BEFORE the
88
+ * `ns-core-external-urls` build plugin sees them. Without this mapping those
89
+ * paths escape externalization and the entire core library is inlined into
90
+ * bundle.mjs — a dead second realm whose `Frame.topmost()` is undefined while
91
+ * the dev-server-served realm owns the live UI.
92
+ *
93
+ * corePathToSub('/ws/packages/core', '/ws/packages/core') → ''
94
+ * corePathToSub('/ws/packages/core/ui/frame', '/ws/packages/core') → 'ui/frame'
95
+ * corePathToSub('/ws/packages/core/ui/frame/index.ios.ts', same root) → 'ui/frame'
96
+ * corePathToSub('/elsewhere/file.ts', '/ws/packages/core') → null
97
+ */
98
+ export declare function corePathToSub(spec: string, coreRoot: string | null | undefined): string | null;
77
99
  /**
78
100
  * Produce the set of "runtime module id" strings we expose in
79
101
  * `globalThis.__NS_CORE_MODULES__` for a given sub. Callers of the vendor
@@ -1,12 +1,17 @@
1
1
  /**
2
2
  * Single canonical URL generator for `@nativescript/core` under HMR.
3
3
  *
4
- * Invariant A (HMR_CORE_REALM_DETERMINISTIC_PLAN.md):
5
- * Every public-facing reference to `@nativescript/core[/sub]` resolves to
6
- * exactly one URL string — byte-for-byte identical across every emitter
7
- * (bundle entry, external-urls plugin, rewriter, import map, runtime
8
- * require). There is no ambiguity about `?p=` vs path, `.js` vs
9
- * extensionless, versioned vs unversioned.
4
+ * Every public-facing reference to `@nativescript/core[/sub]` resolves to
5
+ * exactly one URL string — byte-for-byte identical across every emitter
6
+ * (bundle entry, external-urls plugin, rewriter, import map, runtime
7
+ * require). The only valid shapes are:
8
+ *
9
+ * - `/ns/core` — package main
10
+ * - `/ns/core/<sub>` — subpath form
11
+ *
12
+ * with `<sub>` always run through `normalizeCoreSub` (extensionless, no
13
+ * `/index` tail, no platform suffix). There is no version segment, no
14
+ * `?p=` query form, no `.js` tail.
10
15
  *
11
16
  * This module is the ONE site that constructs those URLs. Every caller in
12
17
  * the repo should use `buildCoreUrl()` (or `buildCoreUrlPath()` when origin
@@ -35,6 +40,29 @@ export function normalizeCoreSub(sub) {
35
40
  let s = String(sub).split('?')[0].split('#')[0].trim();
36
41
  s = s.replace(/^\/+/, '').replace(/\/+$/, '');
37
42
  s = s.replace(/\.(?:mjs|cjs|js)$/, '');
43
+ // Strip a trailing platform suffix (`.ios` / `.android` / `.visionos`)
44
+ // so Vite-resolved platform-specific file paths canonicalize to the
45
+ // same form the runtime import map uses for the bare subpath.
46
+ //
47
+ // Why this matters: when the app source has
48
+ // `import { TextBase } from '@nativescript/core/ui/text-base'`, Vite's
49
+ // alias + extension resolver picks `ui/text-base/index.ios.js`. After
50
+ // `.js` is stripped above we have `ui/text-base/index.ios`. Vendor
51
+ // code, by contrast, takes the bare specifier path: the runtime
52
+ // import map's `@nativescript/core/` prefix maps it to
53
+ // `/ns/core/ui/text-base` directly (no `.ios`). The iOS HTTP ESM
54
+ // loader caches by URL string, so two spellings of the same file
55
+ // would produce two distinct V8 module records, re-evaluate
56
+ // `TextBase`, and create a realm split that leaves the
57
+ // `@nativescript-community` plugin's `setTextDecorationAndTransform`
58
+ // override visible to vendor code but invisible to the app.
59
+ //
60
+ // Stripping the suffix here normalises both shapes — `ui/text-base/`
61
+ // `index.ios` and `runtime/runtime.ios` — to the bare form. The
62
+ // trailing `/index` handler below then collapses
63
+ // `ui/text-base/index` → `ui/text-base`, and the final `index`
64
+ // guard collapses the package-main case to ''.
65
+ s = s.replace(/\.(?:ios|android|visionos)$/, '');
38
66
  // Strip trailing `/index` so that `globals/index` → `globals`, matching
39
67
  // the bare import form that consumers spell as `@nativescript/core/globals`.
40
68
  // The main module case (`index` alone) is handled below.
@@ -81,14 +109,13 @@ export function buildCoreUrl(origin, sub) {
81
109
  export function isCoreBridgeUrl(input) {
82
110
  if (!input)
83
111
  return false;
84
- return /\/ns\/core(?:\/|$|\?)/.test(input);
112
+ return /\/ns\/core(?:\/|$)/.test(input);
85
113
  }
86
114
  /**
87
115
  * Extract the canonical sub path from a /ns/core URL.
88
116
  * 'http://localhost:5173/ns/core' → ''
89
117
  * 'http://localhost:5173/ns/core/application' → 'application'
90
118
  * '/ns/core/ui/core/view' → 'ui/core/view'
91
- * '/ns/core?p=foo' → 'foo' (legacy form tolerated)
92
119
  * 'http://example.com/other' → null
93
120
  */
94
121
  export function extractCoreSub(input) {
@@ -97,14 +124,10 @@ export function extractCoreSub(input) {
97
124
  try {
98
125
  const u = new URL(input, 'http://placeholder.invalid');
99
126
  const pathname = u.pathname;
100
- const pRaw = u.searchParams.get('p');
101
- if (pRaw)
102
- return normalizeCoreSub(pRaw);
103
127
  const afterCore = pathname.replace(/^.*\/ns\/core(?:\/|$)/, '');
104
128
  return normalizeCoreSub(afterCore);
105
129
  }
106
130
  catch {
107
- // Fall back to literal parsing if URL constructor fails
108
131
  const m = input.match(/\/ns\/core(?:\/([^?#]*))?/);
109
132
  if (!m)
110
133
  return null;
@@ -139,6 +162,40 @@ export function specToCoreSub(spec) {
139
162
  }
140
163
  return null;
141
164
  }
165
+ /**
166
+ * Convert an absolute path INSIDE a known @nativescript/core root directory
167
+ * into the canonical sub path. Complements {@link specToCoreSub}, which only
168
+ * recognizes bare specifiers and `node_modules` installs: in a monorepo where
169
+ * core is consumed from source (`<workspace>/packages/core` via a `file:`
170
+ * dependency), the resolve-alias step rewrites bare `@nativescript/core[/sub]`
171
+ * specifiers to absolute paths under that source root BEFORE the
172
+ * `ns-core-external-urls` build plugin sees them. Without this mapping those
173
+ * paths escape externalization and the entire core library is inlined into
174
+ * bundle.mjs — a dead second realm whose `Frame.topmost()` is undefined while
175
+ * the dev-server-served realm owns the live UI.
176
+ *
177
+ * corePathToSub('/ws/packages/core', '/ws/packages/core') → ''
178
+ * corePathToSub('/ws/packages/core/ui/frame', '/ws/packages/core') → 'ui/frame'
179
+ * corePathToSub('/ws/packages/core/ui/frame/index.ios.ts', same root) → 'ui/frame'
180
+ * corePathToSub('/elsewhere/file.ts', '/ws/packages/core') → null
181
+ */
182
+ export function corePathToSub(spec, coreRoot) {
183
+ if (!spec || !coreRoot)
184
+ return null;
185
+ const cleaned = spec.split('?')[0].split('#')[0].replace(/\\/g, '/');
186
+ const root = String(coreRoot).replace(/\\/g, '/').replace(/\/+$/, '');
187
+ if (!root)
188
+ return null;
189
+ if (cleaned === root)
190
+ return '';
191
+ if (!cleaned.startsWith(root + '/'))
192
+ return null;
193
+ // Monorepo core is TypeScript source; strip TS extensions before the
194
+ // canonical normalizer (which handles .js/.mjs/.cjs, platform suffixes
195
+ // and trailing /index).
196
+ const rel = cleaned.slice(root.length + 1).replace(/\.(?:ts|tsx|mts|cts)$/, '');
197
+ return normalizeCoreSub(rel);
198
+ }
142
199
  /**
143
200
  * Produce the set of "runtime module id" strings we expose in
144
201
  * `globalThis.__NS_CORE_MODULES__` for a given sub. Callers of the vendor
@@ -1 +1 @@
1
- {"version":3,"file":"ns-core-url.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/ns-core-url.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ns-core-url.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/ns-core-url.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Canonical list of packages that must NEVER be pre-bundled by Vite's
3
+ * dependency scanner.
4
+ *
5
+ * The most load-bearing entries are `module` / `node:module`: they are aliased
6
+ * to local polyfills/shims (see `helpers/css-tree.ts` and the `node:module`
7
+ * alias in `configuration/base.ts`). Vite's depscanner has no awareness of those
8
+ * aliases and, if allowed to pre-bundle them, the HMR `/ns/m/` pipeline can't map
9
+ * the pre-bundle URL back to a real package — dropping the
10
+ * `import { createRequire } from 'module'` line and crashing on device with
11
+ * `ReferenceError: createRequire is not defined` inside `css-tree`.
12
+ *
13
+ * Centralized here so base/angular configs share one source of truth instead of
14
+ * hand-maintaining divergent copies.
15
+ */
16
+ export declare const NS_OPTIMIZE_DEPS_EXCLUDE: readonly ["@nativescript/core", "@valor/nativescript-websockets", "set-value", "react", "react-reconciler", "react-nativescript", "module", "node:module"];
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Canonical list of packages that must NEVER be pre-bundled by Vite's
3
+ * dependency scanner.
4
+ *
5
+ * The most load-bearing entries are `module` / `node:module`: they are aliased
6
+ * to local polyfills/shims (see `helpers/css-tree.ts` and the `node:module`
7
+ * alias in `configuration/base.ts`). Vite's depscanner has no awareness of those
8
+ * aliases and, if allowed to pre-bundle them, the HMR `/ns/m/` pipeline can't map
9
+ * the pre-bundle URL back to a real package — dropping the
10
+ * `import { createRequire } from 'module'` line and crashing on device with
11
+ * `ReferenceError: createRequire is not defined` inside `css-tree`.
12
+ *
13
+ * Centralized here so base/angular configs share one source of truth instead of
14
+ * hand-maintaining divergent copies.
15
+ */
16
+ export const NS_OPTIMIZE_DEPS_EXCLUDE = ['@nativescript/core', '@valor/nativescript-websockets', 'set-value', 'react', 'react-reconciler', 'react-nativescript', 'module', 'node:module'];
17
+ //# sourceMappingURL=optimize-deps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optimize-deps.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/optimize-deps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,oBAAoB,EAAE,gCAAgC,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,QAAQ,EAAE,aAAa,CAAU,CAAC"}
@@ -2,10 +2,19 @@ import path from 'path';
2
2
  import fs from 'fs';
3
3
  import { findPackageInNodeModules } from './module-resolution.js';
4
4
  import { getProjectRootPath } from './project.js';
5
+ import { resolveMainFieldPlatformVariant } from './resolve-main-field-platform.js';
5
6
  const projectRoot = getProjectRootPath();
6
7
  export function packagePlatformResolverPlugin(opts) {
7
8
  // packages used via core transient dependencies and other vite support
8
9
  const commonSkips = ['source-map-js', 'html-entities', 'fast-xml-parser', '@valor/nativescript-websockets'];
10
+ // Memoize the resolved id (or null) per bare package name. This runs on the
11
+ // hot `enforce:'pre'` path for EVERY bare specifier; without a cache it does
12
+ // a full `findPackageInNodeModules` fs-walk + `package.json` read/parse on
13
+ // every resolve. The platform is fixed for this plugin instance (a fresh
14
+ // instance is created per worker build via the `worker.plugins` factory), so
15
+ // the package name is a sufficient key. Mirrors the cache in
16
+ // `nativescript-package-resolver.ts`.
17
+ const resolveCache = new Map();
9
18
  return {
10
19
  name: 'ns-package-platform-resolver',
11
20
  enforce: 'pre',
@@ -24,58 +33,34 @@ export function packagePlatformResolverPlugin(opts) {
24
33
  }
25
34
  // Only handle packages that exist in node_modules (real npm packages)
26
35
  const packageName = id;
27
- const packagePath = findPackageInNodeModules(packageName, projectRoot);
28
- if (packagePath) {
36
+ if (resolveCache.has(packageName)) {
37
+ return resolveCache.get(packageName);
38
+ }
39
+ // Compute once, then memoize (incl. the null "no rewrite" result so a
40
+ // known package short-circuits on the next resolve).
41
+ const resolved = (() => {
42
+ const packagePath = findPackageInNodeModules(packageName, projectRoot);
43
+ if (!packagePath)
44
+ return null;
29
45
  const packageJsonPath = path.join(packagePath, 'package.json');
30
- if (fs.existsSync(packageJsonPath)) {
31
- try {
32
- const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
33
- const mainField = packageJson.main;
34
- if (mainField) {
35
- const mainFilePath = path.join(packagePath, mainField);
36
- // Case 1: Main field has no extension - try to add extensions
37
- if (!mainField.includes('.')) {
38
- // Try platform-specific file first
39
- const platformFile = path.join(packagePath, `${mainField}.${opts.platform}.js`);
40
- if (fs.existsSync(platformFile)) {
41
- if (opts.verbose) {
42
- console.log(`✅ Alias resolver: ${packageName} -> ${mainField}.${opts.platform}.js (extensionless)`);
43
- }
44
- return platformFile;
45
- }
46
- // Fallback to .js
47
- const jsFile = path.join(packagePath, `${mainField}.js`);
48
- if (fs.existsSync(jsFile)) {
49
- if (opts.verbose) {
50
- console.log(`✅ Alias resolver: ${packageName} -> ${mainField}.js (extensionless)`);
51
- }
52
- return jsFile;
53
- }
54
- }
55
- // Case 2: Main field has extension but file doesn't exist - look for platform variants
56
- else if (!fs.existsSync(mainFilePath)) {
57
- // Extract base name and extension
58
- const ext = path.extname(mainField);
59
- const baseName = mainField.slice(0, -ext.length);
60
- // Try platform-specific file first
61
- const platformFile = path.join(packagePath, `${baseName}.${opts.platform}${ext}`);
62
- if (fs.existsSync(platformFile)) {
63
- if (opts.verbose) {
64
- console.log(`✅ Alias resolver: ${packageName} -> ${baseName}.${opts.platform}${ext} (missing main)`);
65
- }
66
- return platformFile;
67
- }
68
- // If main file exists, let normal resolution handle it
69
- // If it doesn't exist and no platform variant found, let it fail naturally
70
- }
71
- }
72
- }
73
- catch (e) {
74
- // Ignore parse errors and fall through
46
+ if (!fs.existsSync(packageJsonPath))
47
+ return null;
48
+ try {
49
+ const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
50
+ // Shared main-field platform-variant rules (Case 1/2).
51
+ const out = resolveMainFieldPlatformVariant(packagePath, packageJson.main, opts.platform);
52
+ if (out && opts.verbose) {
53
+ console.log(`✅ Alias resolver: ${packageName} -> ${out}`);
75
54
  }
55
+ return out;
76
56
  }
77
- }
78
- return null;
57
+ catch {
58
+ // Ignore parse errors and fall through.
59
+ return null;
60
+ }
61
+ })();
62
+ resolveCache.set(packageName, resolved);
63
+ return resolved;
79
64
  },
80
65
  };
81
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"package-platform-aliases.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/package-platform-aliases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package-platform-aliases.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/package-platform-aliases.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AAEnF,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;AAEzC,MAAM,UAAU,6BAA6B,CAAC,IAAoG;IACjJ,uEAAuE;IACvE,MAAM,WAAW,GAAG,CAAC,eAAe,EAAE,eAAe,EAAE,iBAAiB,EAAE,gCAAgC,CAAC,CAAC;IAC5G,4EAA4E;IAC5E,6EAA6E;IAC7E,2EAA2E;IAC3E,yEAAyE;IACzE,6EAA6E;IAC7E,6DAA6D;IAC7D,sCAAsC;IACtC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAyB,CAAC;IACtD,OAAO;QACN,IAAI,EAAE,8BAA8B;QACpC,OAAO,EAAE,KAAK;QACd,SAAS,CAAC,EAAE;YACX,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC3C,OAAO,IAAI,CAAC;YACb,CAAC;YACD,yCAAyC;YACzC,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC;YACb,CAAC;YAED,uDAAuD;YACvD,yDAAyD;YACzD,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;gBACrD,OAAO,IAAI,CAAC;YACb,CAAC;YAED,sEAAsE;YACtE,MAAM,WAAW,GAAG,EAAE,CAAC;YACvB,IAAI,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnC,OAAO,YAAY,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;YACvC,CAAC;YACD,sEAAsE;YACtE,qDAAqD;YACrD,MAAM,QAAQ,GAAG,CAAC,GAAkB,EAAE;gBACrC,MAAM,WAAW,GAAG,wBAAwB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;gBACvE,IAAI,CAAC,WAAW;oBAAE,OAAO,IAAI,CAAC;gBAC9B,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;gBAC/D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC;oBAAE,OAAO,IAAI,CAAC;gBACjD,IAAI,CAAC;oBACJ,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;oBACzE,uDAAuD;oBACvD,MAAM,GAAG,GAAG,+BAA+B,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC1F,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBACzB,OAAO,CAAC,GAAG,CAAC,qBAAqB,WAAW,OAAO,GAAG,EAAE,CAAC,CAAC;oBAC3D,CAAC;oBACD,OAAO,GAAG,CAAC;gBACZ,CAAC;gBAAC,MAAM,CAAC;oBACR,wCAAwC;oBACxC,OAAO,IAAI,CAAC;gBACb,CAAC;YACF,CAAC,CAAC,EAAE,CAAC;YAEL,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACxC,OAAO,QAAQ,CAAC;QACjB,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ /** The platforms NativeScript builds for. Single source of truth for the build pipeline. */
2
+ export type Platform = 'android' | 'ios' | 'visionos';
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=platform-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-types.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/platform-types.ts"],"names":[],"mappings":""}
@@ -5,7 +5,23 @@ interface PostCssConfigOptions {
5
5
  postcssImport: any;
6
6
  }
7
7
  /**
8
- * Builds PostCSS configuration with platform import rewriting + postcss-import fallback.
8
+ * Builds PostCSS configuration with a platform-aware postcss-import fallback.
9
+ *
10
+ * Reality check under Vite 8: whenever the compiled CSS still contains
11
+ * `@import`, Vite UNSHIFTS its own bundled postcss-import ahead of every
12
+ * user plugin in this config — so by the time these plugins run, the import
13
+ * rules have already been inlined (or the build already failed on an
14
+ * unresolvable specifier). Platform-variant rewriting (`foo.css` →
15
+ * `foo.ios.css`) therefore happens BEFORE Vite sees the CSS:
16
+ * - module pipeline: the `ns-css-platform` plugin's transform hook
17
+ * - direct `preprocessCSS()` callers: `rewritePlatformCssImports()`
18
+ * (both in helpers/css-platform-plugin.ts)
19
+ * A previous `ns-postcss-platform-import-rewrite` plugin here duplicated that
20
+ * rewrite at the postcss layer; it was unreachable and has been removed.
21
+ *
22
+ * The postcss-import fallback below is retained as defense-in-depth for
23
+ * preprocessor outputs (sass passes `@import "*.css"` through untouched) in
24
+ * case an app's plugin order ever bypasses Vite's internal inliner.
9
25
  */
10
26
  export declare function createPostCssConfig(opts: PostCssConfigOptions): "./postcss.config.js" | {
11
27
  plugins: any[];
@@ -2,7 +2,23 @@ import path from 'path';
2
2
  import { existsSync, readFileSync } from 'fs';
3
3
  import { findPackageInNodeModules } from './module-resolution.js';
4
4
  /**
5
- * Builds PostCSS configuration with platform import rewriting + postcss-import fallback.
5
+ * Builds PostCSS configuration with a platform-aware postcss-import fallback.
6
+ *
7
+ * Reality check under Vite 8: whenever the compiled CSS still contains
8
+ * `@import`, Vite UNSHIFTS its own bundled postcss-import ahead of every
9
+ * user plugin in this config — so by the time these plugins run, the import
10
+ * rules have already been inlined (or the build already failed on an
11
+ * unresolvable specifier). Platform-variant rewriting (`foo.css` →
12
+ * `foo.ios.css`) therefore happens BEFORE Vite sees the CSS:
13
+ * - module pipeline: the `ns-css-platform` plugin's transform hook
14
+ * - direct `preprocessCSS()` callers: `rewritePlatformCssImports()`
15
+ * (both in helpers/css-platform-plugin.ts)
16
+ * A previous `ns-postcss-platform-import-rewrite` plugin here duplicated that
17
+ * rewrite at the postcss layer; it was unreachable and has been removed.
18
+ *
19
+ * The postcss-import fallback below is retained as defense-in-depth for
20
+ * preprocessor outputs (sass passes `@import "*.css"` through untouched) in
21
+ * case an app's plugin order ever bypasses Vite's internal inliner.
6
22
  */
7
23
  export function createPostCssConfig(opts) {
8
24
  const { platform, projectRoot, themeCoreRoot, postcssImport } = opts;
@@ -10,44 +26,11 @@ export function createPostCssConfig(opts) {
10
26
  return './postcss.config.js';
11
27
  return {
12
28
  plugins: [
13
- {
14
- postcssPlugin: 'ns-postcss-platform-import-rewrite',
15
- Once(root) {
16
- try {
17
- const currentFile = root?.source?.input?.file;
18
- if (!currentFile)
19
- return;
20
- const currentDir = path.dirname(currentFile);
21
- root.walkAtRules('import', (rule) => {
22
- const m = /^\s*(?:url\()?["]?([^"')]+)["]?\)?/.exec(rule.params || '');
23
- if (!m)
24
- return;
25
- const spec = m[1];
26
- if (!spec || !(spec.startsWith('.') || spec.startsWith('/')))
27
- return;
28
- if (!spec.endsWith('.css'))
29
- return;
30
- const abs = path.isAbsolute(spec) ? spec : path.resolve(currentDir, spec);
31
- if (existsSync(abs))
32
- return;
33
- const ext = platform === 'android' ? '.android.css' : '.ios.css';
34
- const alt = abs.replace(/\.css$/, ext);
35
- if (existsSync(alt)) {
36
- let rel = path.relative(currentDir, alt).replace(/\\/g, '/');
37
- if (!rel.startsWith('.'))
38
- rel = './' + rel;
39
- rule.params = rule.params.replace(spec, rel);
40
- }
41
- });
42
- }
43
- catch { }
44
- },
45
- },
46
29
  postcssImport({
47
30
  resolve(id, basedir) {
48
31
  if (id.startsWith('.') || id.startsWith('/')) {
49
32
  const cleanBasedir = basedir ? basedir.split('?')[0] : basedir;
50
- let abs = path.resolve(cleanBasedir || '', id);
33
+ const abs = path.resolve(cleanBasedir || '', id);
51
34
  if (!existsSync(abs) && /\.css$/.test(abs)) {
52
35
  const platformExt = platform === 'android' ? '.android.css' : '.ios.css';
53
36
  const alt = abs.replace(/\.css$/, platformExt);
@@ -60,8 +43,8 @@ export function createPostCssConfig(opts) {
60
43
  const pkgRoot = themeCoreRoot || findPackageInNodeModules('nativescript-theme-core', projectRoot);
61
44
  if (!pkgRoot)
62
45
  return id;
63
- let rel = id.substring('nativescript-theme-core/'.length);
64
- let target = path.join(pkgRoot, rel);
46
+ const rel = id.substring('nativescript-theme-core/'.length);
47
+ const target = path.join(pkgRoot, rel);
65
48
  if (/^css\/.+\.css$/.test(rel)) {
66
49
  const platformExt = platform === 'android' ? '.android.css' : '.ios.css';
67
50
  const base = target.replace(/\.css$/, '');
@@ -1 +1 @@
1
- {"version":3,"file":"postcss-platform-config.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/postcss-platform-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postcss-platform-config.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/postcss-platform-config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AASlE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAA0B;IAC7D,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IACrE,IAAI,CAAC,aAAa;QAAE,OAAO,qBAAqB,CAAC;IACjD,OAAO;QACN,OAAO,EAAE;YACR,aAAa,CAAC;gBACb,OAAO,CAAC,EAAU,EAAE,OAAe;oBAClC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC9C,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;wBAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;wBACjD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC5C,MAAM,WAAW,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC;4BACzE,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;4BAC/C,IAAI,UAAU,CAAC,GAAG,CAAC;gCAAE,OAAO,GAAG,CAAC;wBACjC,CAAC;wBACD,OAAO,GAAG,CAAC;oBACZ,CAAC;oBACD,IAAI,EAAE,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAAE,CAAC;wBAC/C,MAAM,OAAO,GAAG,aAAa,IAAI,wBAAwB,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAAC;wBAClG,IAAI,CAAC,OAAO;4BAAE,OAAO,EAAE,CAAC;wBACxB,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;wBAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;wBACvC,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;4BAChC,MAAM,WAAW,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC;4BACzE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;4BAC1C,MAAM,GAAG,GAAG,IAAI,GAAG,WAAW,CAAC;4BAC/B,IAAI,UAAU,CAAC,GAAG,CAAC;gCAAE,OAAO,GAAG,CAAC;wBACjC,CAAC;wBACD,OAAO,MAAM,CAAC;oBACf,CAAC;oBACD,OAAO,EAAE,CAAC;gBACX,CAAC;gBACD,IAAI,CAAC,QAAgB;oBACpB,IAAI,CAAC;wBACJ,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBACrC,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;4BACvB,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;wBACrC,CAAC;wBACD,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;4BAC1B,MAAM,WAAW,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC;4BACzE,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;4BACjD,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gCACrB,OAAO,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;4BACnC,CAAC;wBACF,CAAC;oBACF,CAAC;oBAAC,MAAM,CAAC,CAAA,CAAC;oBACV,OAAO,SAAgB,CAAC;gBACzB,CAAC;aACD,CAAC;SACF;KACD,CAAC;AACH,CAAC"}
@@ -1,4 +1,39 @@
1
1
  export declare function getProjectRootPath(): string;
2
+ /**
3
+ * Walk up from `start` looking for the nearest monorepo workspace root.
4
+ *
5
+ * Returns the absolute path of the workspace root, or `null` if none of
6
+ * the supported markers are found before reaching the filesystem root. The
7
+ * search returns the FIRST matching ancestor — so a deeply nested app dir
8
+ * inside an Nx monorepo that happens to also live inside a parent pnpm
9
+ * workspace returns the Nx root (closer to the app) rather than the outer
10
+ * pnpm one. This matches Vite's own `searchForWorkspaceRoot` behaviour.
11
+ *
12
+ * Recognized markers (see {@link MONOREPO_WORKSPACE_MARKERS}):
13
+ * - `pnpm-workspace.yaml` / `pnpm-workspace.yml`
14
+ * - `lerna.json`
15
+ * - `nx.json` (Nx)
16
+ * - `rush.json` (Rush)
17
+ * - `turbo.json` (Turborepo)
18
+ * - `deno.json` / `deno.jsonc` containing a `workspace` field
19
+ * - `package.json` containing a `workspaces` field (npm/yarn workspaces)
20
+ */
21
+ export declare function findMonorepoWorkspaceRoot(start?: string): string | null;
22
+ /**
23
+ * Memoized variant of {@link findMonorepoWorkspaceRoot}.
24
+ *
25
+ * The dev server resolves hoisted `node_modules/<pkg>/...` candidates on
26
+ * every `/ns/m/` request, and each lookup walks the directory tree once
27
+ * doing `existsSync` calls. Since the workspace layout doesn't change at
28
+ * runtime, the result is safe to cache per `start` directory for the
29
+ * lifetime of the dev server process.
30
+ */
31
+ export declare function getMonorepoWorkspaceRoot(start?: string): string | null;
32
+ /**
33
+ * Clear the {@link getMonorepoWorkspaceRoot} memoization cache. Intended
34
+ * for tests that mutate the filesystem inside a temp dir between calls.
35
+ */
36
+ export declare function clearMonorepoWorkspaceRootCache(): void;
2
37
  export declare const __dirname: string;
3
38
  interface IPackageJson {
4
39
  name?: string;