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

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 (465) 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 +390 -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 +9 -4
  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 +165 -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 +6 -1
  55. package/helpers/nativeclass-esbuild-plugin.js.map +1 -1
  56. package/helpers/nativeclass-transform.d.ts +13 -0
  57. package/helpers/nativeclass-transform.js +37 -7
  58. package/helpers/nativeclass-transform.js.map +1 -1
  59. package/helpers/nativeclass-transformer-plugin.d.ts +9 -2
  60. package/helpers/nativeclass-transformer-plugin.js +163 -15
  61. package/helpers/nativeclass-transformer-plugin.js.map +1 -1
  62. package/helpers/nativescript-package-resolver.js +10 -62
  63. package/helpers/nativescript-package-resolver.js.map +1 -1
  64. package/helpers/normalize-id.d.ts +42 -0
  65. package/helpers/normalize-id.js +60 -0
  66. package/helpers/normalize-id.js.map +1 -0
  67. package/helpers/ns-core-url.d.ts +29 -7
  68. package/helpers/ns-core-url.js +69 -12
  69. package/helpers/ns-core-url.js.map +1 -1
  70. package/helpers/optimize-deps.d.ts +16 -0
  71. package/helpers/optimize-deps.js +17 -0
  72. package/helpers/optimize-deps.js.map +1 -0
  73. package/helpers/package-platform-aliases.js +34 -49
  74. package/helpers/package-platform-aliases.js.map +1 -1
  75. package/helpers/platform-types.d.ts +2 -0
  76. package/helpers/platform-types.js +2 -0
  77. package/helpers/platform-types.js.map +1 -0
  78. package/helpers/postcss-platform-config.d.ts +17 -1
  79. package/helpers/postcss-platform-config.js +20 -37
  80. package/helpers/postcss-platform-config.js.map +1 -1
  81. package/helpers/project.d.ts +35 -0
  82. package/helpers/project.js +120 -2
  83. package/helpers/project.js.map +1 -1
  84. package/helpers/resolve-main-field-platform.d.ts +20 -0
  85. package/helpers/resolve-main-field-platform.js +49 -0
  86. package/helpers/resolve-main-field-platform.js.map +1 -0
  87. package/helpers/resolver.js +17 -2
  88. package/helpers/resolver.js.map +1 -1
  89. package/helpers/theme-core-plugins.js +1 -1
  90. package/helpers/theme-core-plugins.js.map +1 -1
  91. package/helpers/ts-config-paths.d.ts +32 -0
  92. package/helpers/ts-config-paths.js +156 -27
  93. package/helpers/ts-config-paths.js.map +1 -1
  94. package/helpers/typescript-check.d.ts +2 -1
  95. package/helpers/typescript-check.js +2 -2
  96. package/helpers/typescript-check.js.map +1 -1
  97. package/helpers/ui-registration.d.ts +21 -0
  98. package/helpers/ui-registration.js +156 -0
  99. package/helpers/ui-registration.js.map +1 -0
  100. package/helpers/utils.d.ts +9 -0
  101. package/helpers/utils.js +22 -2
  102. package/helpers/utils.js.map +1 -1
  103. package/helpers/vite-package-version.d.ts +7 -0
  104. package/helpers/vite-package-version.js +44 -0
  105. package/helpers/vite-package-version.js.map +1 -0
  106. package/helpers/workers.d.ts +48 -19
  107. package/helpers/workers.js +662 -13
  108. package/helpers/workers.js.map +1 -1
  109. package/hmr/client/css-handler.d.ts +2 -1
  110. package/hmr/client/css-handler.js +50 -26
  111. package/hmr/client/css-handler.js.map +1 -1
  112. package/hmr/client/css-update-overlay.d.ts +18 -0
  113. package/hmr/client/css-update-overlay.js +27 -0
  114. package/hmr/client/css-update-overlay.js.map +1 -0
  115. package/hmr/client/framework-client-strategy.d.ts +79 -0
  116. package/hmr/client/framework-client-strategy.js +19 -0
  117. package/hmr/client/framework-client-strategy.js.map +1 -0
  118. package/hmr/client/hmr-pending-overlay.d.ts +0 -14
  119. package/hmr/client/hmr-pending-overlay.js +14 -4
  120. package/hmr/client/hmr-pending-overlay.js.map +1 -1
  121. package/hmr/client/hot-context.d.ts +67 -0
  122. package/hmr/client/hot-context.js +284 -0
  123. package/hmr/client/hot-context.js.map +1 -0
  124. package/hmr/client/index.js +922 -273
  125. package/hmr/client/index.js.map +1 -1
  126. package/hmr/client/utils.d.ts +2 -1
  127. package/hmr/client/utils.js +111 -99
  128. package/hmr/client/utils.js.map +1 -1
  129. package/hmr/entry-runtime.d.ts +2 -1
  130. package/hmr/entry-runtime.js +279 -71
  131. package/hmr/entry-runtime.js.map +1 -1
  132. package/hmr/frameworks/angular/build/angular-linker.d.ts +12 -0
  133. package/hmr/frameworks/angular/build/angular-linker.js +109 -0
  134. package/hmr/frameworks/angular/build/angular-linker.js.map +1 -0
  135. package/hmr/frameworks/angular/build/inject-component-hmr-registration.d.ts +112 -0
  136. package/hmr/frameworks/angular/build/inject-component-hmr-registration.js +291 -0
  137. package/hmr/frameworks/angular/build/inject-component-hmr-registration.js.map +1 -0
  138. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.d.ts +75 -0
  139. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js +221 -0
  140. package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js.map +1 -0
  141. package/{helpers/angular → hmr/frameworks/angular/build}/inline-decorator-component-templates.js +1 -170
  142. package/hmr/frameworks/angular/build/inline-decorator-component-templates.js.map +1 -0
  143. package/hmr/frameworks/angular/build/js-lexer.d.ts +4 -0
  144. package/{helpers/angular/synthesize-decorator-ctor-parameters.js → hmr/frameworks/angular/build/js-lexer.js} +22 -96
  145. package/hmr/frameworks/angular/build/js-lexer.js.map +1 -0
  146. package/hmr/frameworks/angular/build/shared-linker.d.ts +39 -0
  147. package/hmr/frameworks/angular/build/shared-linker.js +128 -0
  148. package/hmr/frameworks/angular/build/shared-linker.js.map +1 -0
  149. package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js +88 -0
  150. package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js.map +1 -0
  151. package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-injectable-factories.js +1 -174
  152. package/hmr/frameworks/angular/build/synthesize-injectable-factories.js.map +1 -0
  153. package/{helpers/angular → hmr/frameworks/angular/build}/util.d.ts +1 -0
  154. package/hmr/frameworks/angular/build/util.js +155 -0
  155. package/hmr/frameworks/angular/build/util.js.map +1 -0
  156. package/hmr/frameworks/angular/client/index.js +542 -175
  157. package/hmr/frameworks/angular/client/index.js.map +1 -1
  158. package/hmr/frameworks/angular/client/strategy.d.ts +9 -0
  159. package/hmr/frameworks/angular/client/strategy.js +19 -0
  160. package/hmr/frameworks/angular/client/strategy.js.map +1 -0
  161. package/hmr/frameworks/angular/server/angular-root-component.d.ts +79 -0
  162. package/hmr/frameworks/angular/server/angular-root-component.js +149 -0
  163. package/hmr/frameworks/angular/server/angular-root-component.js.map +1 -0
  164. package/hmr/frameworks/angular/server/linker.js +1 -4
  165. package/hmr/frameworks/angular/server/linker.js.map +1 -1
  166. package/hmr/frameworks/angular/server/strategy.js +458 -12
  167. package/hmr/frameworks/angular/server/strategy.js.map +1 -1
  168. package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.js +2 -2
  169. package/hmr/frameworks/angular/server/websocket-angular-entry.js.map +1 -0
  170. package/hmr/{server → frameworks/angular/server}/websocket-angular-hot-update.d.ts +14 -11
  171. package/hmr/{server → frameworks/angular/server}/websocket-angular-hot-update.js +108 -111
  172. package/hmr/frameworks/angular/server/websocket-angular-hot-update.js.map +1 -0
  173. package/hmr/frameworks/react/server/strategy.d.ts +2 -0
  174. package/hmr/frameworks/react/server/strategy.js +230 -0
  175. package/hmr/frameworks/react/server/strategy.js.map +1 -0
  176. package/hmr/frameworks/solid/build/solid-jsx-deps.d.ts +15 -0
  177. package/hmr/frameworks/solid/build/solid-jsx-deps.js +178 -0
  178. package/hmr/frameworks/solid/build/solid-jsx-deps.js.map +1 -0
  179. package/hmr/frameworks/solid/client/app-runtime.d.ts +68 -0
  180. package/hmr/frameworks/solid/client/app-runtime.js +246 -0
  181. package/hmr/frameworks/solid/client/app-runtime.js.map +1 -0
  182. package/hmr/frameworks/solid/server/strategy.js +291 -16
  183. package/hmr/frameworks/solid/server/strategy.js.map +1 -1
  184. package/hmr/frameworks/typescript/server/strategy.js +38 -14
  185. package/hmr/frameworks/typescript/server/strategy.js.map +1 -1
  186. package/hmr/frameworks/vue/client/dep-propagation.d.ts +44 -0
  187. package/hmr/frameworks/vue/client/dep-propagation.js +148 -0
  188. package/hmr/frameworks/vue/client/dep-propagation.js.map +1 -0
  189. package/hmr/frameworks/vue/client/index.d.ts +9 -0
  190. package/hmr/frameworks/vue/client/index.js +251 -247
  191. package/hmr/frameworks/vue/client/index.js.map +1 -1
  192. package/hmr/frameworks/vue/client/strategy.d.ts +33 -0
  193. package/hmr/frameworks/vue/client/strategy.js +157 -0
  194. package/hmr/frameworks/vue/client/strategy.js.map +1 -0
  195. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.d.ts +49 -0
  196. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js +142 -0
  197. package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js.map +1 -0
  198. package/hmr/frameworks/vue/server/compiler.d.ts +3 -1
  199. package/hmr/frameworks/vue/server/compiler.js +3 -1
  200. package/hmr/frameworks/vue/server/compiler.js.map +1 -1
  201. package/hmr/frameworks/vue/server/sfc-route-assemble.d.ts +7 -0
  202. package/hmr/frameworks/vue/server/sfc-route-assemble.js +823 -0
  203. package/hmr/frameworks/vue/server/sfc-route-assemble.js.map +1 -0
  204. package/hmr/frameworks/vue/server/sfc-route-meta.d.ts +7 -0
  205. package/hmr/frameworks/vue/server/sfc-route-meta.js +80 -0
  206. package/hmr/frameworks/vue/server/sfc-route-meta.js.map +1 -0
  207. package/hmr/frameworks/vue/server/sfc-route-serve.d.ts +8 -0
  208. package/hmr/frameworks/vue/server/sfc-route-serve.js +462 -0
  209. package/hmr/frameworks/vue/server/sfc-route-serve.js.map +1 -0
  210. package/hmr/frameworks/vue/server/sfc-route-shared.d.ts +45 -0
  211. package/hmr/frameworks/vue/server/sfc-route-shared.js +105 -0
  212. package/hmr/frameworks/vue/server/sfc-route-shared.js.map +1 -0
  213. package/hmr/frameworks/vue/server/strategy.d.ts +35 -0
  214. package/hmr/frameworks/vue/server/strategy.js +286 -7
  215. package/hmr/frameworks/vue/server/strategy.js.map +1 -1
  216. package/hmr/frameworks/vue/server/websocket-sfc.d.ts +15 -0
  217. package/hmr/frameworks/vue/server/websocket-sfc.js +20 -0
  218. package/hmr/frameworks/vue/server/websocket-sfc.js.map +1 -0
  219. package/hmr/helpers/ast-normalizer.d.ts +3 -1
  220. package/hmr/helpers/ast-normalizer.js +77 -10
  221. package/hmr/helpers/ast-normalizer.js.map +1 -1
  222. package/hmr/helpers/cjs-named-exports.d.ts +23 -0
  223. package/hmr/helpers/cjs-named-exports.js +152 -0
  224. package/hmr/helpers/cjs-named-exports.js.map +1 -0
  225. package/hmr/helpers/package-exports.d.ts +16 -0
  226. package/hmr/helpers/package-exports.js +396 -0
  227. package/hmr/helpers/package-exports.js.map +1 -0
  228. package/hmr/helpers/vendor-rewrite.d.ts +1 -1
  229. package/hmr/helpers/vendor-rewrite.js +5 -3
  230. package/hmr/helpers/vendor-rewrite.js.map +1 -1
  231. package/hmr/server/boot-archive-route.d.ts +40 -0
  232. package/hmr/server/boot-archive-route.js +154 -0
  233. package/hmr/server/boot-archive-route.js.map +1 -0
  234. package/hmr/server/boot-closure-route.d.ts +49 -0
  235. package/hmr/server/boot-closure-route.js +144 -0
  236. package/hmr/server/boot-closure-route.js.map +1 -0
  237. package/hmr/server/boot-recording.d.ts +58 -0
  238. package/hmr/server/boot-recording.js +228 -0
  239. package/hmr/server/boot-recording.js.map +1 -0
  240. package/hmr/server/constants.js +20 -5
  241. package/hmr/server/constants.js.map +1 -1
  242. package/hmr/server/core-bundle.d.ts +140 -0
  243. package/hmr/server/core-bundle.js +614 -0
  244. package/hmr/server/core-bundle.js.map +1 -0
  245. package/hmr/server/core-sanitize.d.ts +86 -7
  246. package/hmr/server/core-sanitize.js +170 -45
  247. package/hmr/server/core-sanitize.js.map +1 -1
  248. package/hmr/server/css-device-module.d.ts +28 -0
  249. package/hmr/server/css-device-module.js +44 -0
  250. package/hmr/server/css-device-module.js.map +1 -0
  251. package/hmr/server/deps-bundle.d.ts +218 -0
  252. package/hmr/server/deps-bundle.js +998 -0
  253. package/hmr/server/deps-bundle.js.map +1 -0
  254. package/hmr/server/device-transform-helpers.d.ts +24 -0
  255. package/hmr/server/device-transform-helpers.js +408 -0
  256. package/hmr/server/device-transform-helpers.js.map +1 -0
  257. package/hmr/server/framework-strategy.d.ts +113 -11
  258. package/hmr/server/hmr-module-graph.d.ts +37 -0
  259. package/hmr/server/hmr-module-graph.js +215 -0
  260. package/hmr/server/hmr-module-graph.js.map +1 -0
  261. package/hmr/server/import-map.d.ts +13 -4
  262. package/hmr/server/import-map.js +94 -47
  263. package/hmr/server/import-map.js.map +1 -1
  264. package/hmr/server/index.js +7 -16
  265. package/hmr/server/index.js.map +1 -1
  266. package/hmr/server/ns-core-cjs-shape.d.ts +2 -4
  267. package/hmr/server/ns-core-cjs-shape.js +4 -6
  268. package/hmr/server/ns-core-cjs-shape.js.map +1 -1
  269. package/hmr/server/ns-m-response-memo.d.ts +10 -0
  270. package/hmr/server/ns-m-response-memo.js +33 -0
  271. package/hmr/server/ns-m-response-memo.js.map +1 -0
  272. package/hmr/server/ns-rt-bridge.d.ts +51 -0
  273. package/hmr/server/ns-rt-bridge.js +131 -0
  274. package/hmr/server/ns-rt-bridge.js.map +1 -0
  275. package/hmr/server/ns-rt-route.d.ts +5 -0
  276. package/hmr/server/ns-rt-route.js +39 -0
  277. package/hmr/server/ns-rt-route.js.map +1 -0
  278. package/hmr/server/perf-instrumentation.d.ts +6 -10
  279. package/hmr/server/perf-instrumentation.js +5 -6
  280. package/hmr/server/perf-instrumentation.js.map +1 -1
  281. package/hmr/server/process-code-for-device.d.ts +30 -0
  282. package/hmr/server/process-code-for-device.js +791 -0
  283. package/hmr/server/process-code-for-device.js.map +1 -0
  284. package/hmr/server/require-guard.d.ts +1 -0
  285. package/hmr/server/require-guard.js +12 -0
  286. package/hmr/server/require-guard.js.map +1 -0
  287. package/hmr/server/rewrite-imports.d.ts +2 -0
  288. package/hmr/server/rewrite-imports.js +638 -0
  289. package/hmr/server/rewrite-imports.js.map +1 -0
  290. package/hmr/server/route-helpers.d.ts +7 -0
  291. package/hmr/server/route-helpers.js +13 -0
  292. package/hmr/server/route-helpers.js.map +1 -0
  293. package/hmr/server/server-origin.d.ts +2 -0
  294. package/hmr/server/server-origin.js +83 -0
  295. package/hmr/server/server-origin.js.map +1 -0
  296. package/hmr/server/shared-transform-request.js +1 -2
  297. package/hmr/server/shared-transform-request.js.map +1 -1
  298. package/hmr/server/transform-cache-invalidation.d.ts +37 -0
  299. package/hmr/server/transform-cache-invalidation.js +156 -0
  300. package/hmr/server/transform-cache-invalidation.js.map +1 -0
  301. package/hmr/server/vendor-bare-module-shims.d.ts +4 -0
  302. package/hmr/server/vendor-bare-module-shims.js +80 -0
  303. package/hmr/server/vendor-bare-module-shims.js.map +1 -0
  304. package/hmr/server/vite-plugin.d.ts +1 -0
  305. package/hmr/server/vite-plugin.js +180 -54
  306. package/hmr/server/vite-plugin.js.map +1 -1
  307. package/hmr/server/websocket-core-bridge.d.ts +51 -4
  308. package/hmr/server/websocket-core-bridge.js +62 -54
  309. package/hmr/server/websocket-core-bridge.js.map +1 -1
  310. package/hmr/server/websocket-css-hot-update.d.ts +33 -0
  311. package/hmr/server/websocket-css-hot-update.js +65 -0
  312. package/hmr/server/websocket-css-hot-update.js.map +1 -0
  313. package/hmr/server/websocket-device-transform.d.ts +3 -0
  314. package/hmr/server/websocket-device-transform.js +7 -0
  315. package/hmr/server/websocket-device-transform.js.map +1 -0
  316. package/hmr/server/websocket-hmr-pending.d.ts +3 -9
  317. package/hmr/server/websocket-hmr-pending.js +1 -1
  318. package/hmr/server/websocket-hmr-pending.js.map +1 -1
  319. package/hmr/server/websocket-hot-update.d.ts +77 -0
  320. package/hmr/server/websocket-hot-update.js +360 -0
  321. package/hmr/server/websocket-hot-update.js.map +1 -0
  322. package/hmr/server/websocket-import-map-route.d.ts +15 -0
  323. package/hmr/server/websocket-import-map-route.js +50 -0
  324. package/hmr/server/websocket-import-map-route.js.map +1 -0
  325. package/hmr/server/websocket-module-bindings.js +3 -3
  326. package/hmr/server/websocket-module-bindings.js.map +1 -1
  327. package/hmr/server/websocket-module-specifiers.d.ts +66 -2
  328. package/hmr/server/websocket-module-specifiers.js +191 -20
  329. package/hmr/server/websocket-module-specifiers.js.map +1 -1
  330. package/hmr/server/websocket-ns-core.d.ts +34 -0
  331. package/hmr/server/websocket-ns-core.js +414 -0
  332. package/hmr/server/websocket-ns-core.js.map +1 -0
  333. package/hmr/server/websocket-ns-entry.d.ts +21 -0
  334. package/hmr/server/websocket-ns-entry.js +164 -0
  335. package/hmr/server/websocket-ns-entry.js.map +1 -0
  336. package/hmr/server/websocket-ns-m-paths.d.ts +1 -3
  337. package/hmr/server/websocket-ns-m-paths.js +25 -82
  338. package/hmr/server/websocket-ns-m-paths.js.map +1 -1
  339. package/hmr/server/websocket-ns-m-request.d.ts +11 -1
  340. package/hmr/server/websocket-ns-m-request.js +17 -9
  341. package/hmr/server/websocket-ns-m-request.js.map +1 -1
  342. package/hmr/server/websocket-ns-m.d.ts +52 -0
  343. package/hmr/server/websocket-ns-m.js +835 -0
  344. package/hmr/server/websocket-ns-m.js.map +1 -0
  345. package/hmr/server/websocket-served-module-helpers.d.ts +50 -4
  346. package/hmr/server/websocket-served-module-helpers.js +384 -86
  347. package/hmr/server/websocket-served-module-helpers.js.map +1 -1
  348. package/hmr/server/websocket-txn.js +6 -9
  349. package/hmr/server/websocket-txn.js.map +1 -1
  350. package/hmr/server/websocket-vendor-unifier.d.ts +0 -1
  351. package/hmr/server/websocket-vendor-unifier.js +4 -9
  352. package/hmr/server/websocket-vendor-unifier.js.map +1 -1
  353. package/hmr/server/websocket.d.ts +7 -39
  354. package/hmr/server/websocket.js +643 -6716
  355. package/hmr/server/websocket.js.map +1 -1
  356. package/hmr/shared/ns-globals.d.ts +108 -0
  357. package/hmr/shared/ns-globals.js +28 -0
  358. package/hmr/shared/ns-globals.js.map +1 -0
  359. package/hmr/shared/protocol.d.ts +145 -0
  360. package/hmr/shared/protocol.js +28 -0
  361. package/hmr/shared/protocol.js.map +1 -0
  362. package/hmr/shared/runtime/boot-archive-format.d.ts +16 -0
  363. package/hmr/shared/runtime/boot-archive-format.js +31 -0
  364. package/hmr/shared/runtime/boot-archive-format.js.map +1 -0
  365. package/hmr/shared/runtime/boot-complete.d.ts +14 -0
  366. package/hmr/shared/runtime/boot-complete.js +32 -0
  367. package/hmr/shared/runtime/boot-complete.js.map +1 -0
  368. package/hmr/shared/runtime/boot-placeholder-ui.d.ts +69 -0
  369. package/hmr/shared/runtime/boot-placeholder-ui.js +101 -0
  370. package/hmr/shared/runtime/boot-placeholder-ui.js.map +1 -0
  371. package/hmr/shared/runtime/boot-progress.d.ts +44 -0
  372. package/hmr/shared/runtime/boot-progress.js +134 -0
  373. package/hmr/shared/runtime/boot-progress.js.map +1 -0
  374. package/hmr/shared/runtime/boot-timeline.d.ts +2 -1
  375. package/hmr/shared/runtime/boot-timeline.js +9 -22
  376. package/hmr/shared/runtime/boot-timeline.js.map +1 -1
  377. package/hmr/shared/runtime/browser-runtime-contract.d.ts +53 -22
  378. package/hmr/shared/runtime/browser-runtime-contract.js +6 -9
  379. package/hmr/shared/runtime/browser-runtime-contract.js.map +1 -1
  380. package/hmr/shared/runtime/dev-overlay-snapshots.d.ts +31 -0
  381. package/hmr/shared/runtime/dev-overlay-snapshots.js +324 -0
  382. package/hmr/shared/runtime/dev-overlay-snapshots.js.map +1 -0
  383. package/hmr/shared/runtime/dev-overlay.d.ts +76 -30
  384. package/hmr/shared/runtime/dev-overlay.js +767 -408
  385. package/hmr/shared/runtime/dev-overlay.js.map +1 -1
  386. package/hmr/shared/runtime/global-scope.d.ts +18 -0
  387. package/hmr/shared/runtime/global-scope.js +21 -0
  388. package/hmr/shared/runtime/global-scope.js.map +1 -0
  389. package/hmr/shared/runtime/hooks.js +2 -1
  390. package/hmr/shared/runtime/hooks.js.map +1 -1
  391. package/hmr/shared/runtime/http-only-boot.js +7 -6
  392. package/hmr/shared/runtime/http-only-boot.js.map +1 -1
  393. package/hmr/shared/runtime/module-provenance.js +4 -6
  394. package/hmr/shared/runtime/module-provenance.js.map +1 -1
  395. package/hmr/shared/runtime/root-placeholder-view.d.ts +19 -0
  396. package/hmr/shared/runtime/root-placeholder-view.js +311 -0
  397. package/hmr/shared/runtime/root-placeholder-view.js.map +1 -0
  398. package/hmr/shared/runtime/root-placeholder.js +398 -204
  399. package/hmr/shared/runtime/root-placeholder.js.map +1 -1
  400. package/hmr/shared/runtime/session-bootstrap.js +274 -55
  401. package/hmr/shared/runtime/session-bootstrap.js.map +1 -1
  402. package/hmr/shared/runtime/vendor-bootstrap.js +3 -10
  403. package/hmr/shared/runtime/vendor-bootstrap.js.map +1 -1
  404. package/hmr/shared/vendor/manifest-collect.d.ts +4 -0
  405. package/hmr/shared/vendor/manifest-collect.js +549 -0
  406. package/hmr/shared/vendor/manifest-collect.js.map +1 -0
  407. package/hmr/shared/vendor/manifest-loader.d.ts +2 -1
  408. package/hmr/shared/vendor/manifest-loader.js +5 -3
  409. package/hmr/shared/vendor/manifest-loader.js.map +1 -1
  410. package/hmr/shared/vendor/manifest.d.ts +1 -7
  411. package/hmr/shared/vendor/manifest.js +136 -825
  412. package/hmr/shared/vendor/manifest.js.map +1 -1
  413. package/hmr/shared/vendor/registry.d.ts +2 -0
  414. package/hmr/shared/vendor/registry.js +14 -0
  415. package/hmr/shared/vendor/registry.js.map +1 -1
  416. package/hmr/shared/vendor/vendor-device-shim.d.ts +1 -0
  417. package/hmr/shared/vendor/vendor-device-shim.js +208 -0
  418. package/hmr/shared/vendor/vendor-device-shim.js.map +1 -0
  419. package/hmr/shared/vendor/vendor-esbuild-plugins.d.ts +76 -0
  420. package/hmr/shared/vendor/vendor-esbuild-plugins.js +401 -0
  421. package/hmr/shared/vendor/vendor-esbuild-plugins.js.map +1 -0
  422. package/hmr/vendor-bootstrap.d.ts +1 -3
  423. package/hmr/vendor-bootstrap.js +4 -6
  424. package/hmr/vendor-bootstrap.js.map +1 -1
  425. package/index.d.ts +1 -0
  426. package/index.js +5 -0
  427. package/index.js.map +1 -1
  428. package/package.json +65 -11
  429. package/runtime/core-aliases-early.js +25 -55
  430. package/runtime/core-aliases-early.js.map +1 -1
  431. package/shims/react-jsx-runtime.d.ts +4 -0
  432. package/shims/react-jsx-runtime.js +61 -0
  433. package/shims/react-jsx-runtime.js.map +1 -0
  434. package/helpers/angular/angular-linker.d.ts +0 -13
  435. package/helpers/angular/angular-linker.js +0 -194
  436. package/helpers/angular/angular-linker.js.map +0 -1
  437. package/helpers/angular/inline-decorator-component-templates.js.map +0 -1
  438. package/helpers/angular/shared-linker.d.ts +0 -11
  439. package/helpers/angular/shared-linker.js +0 -75
  440. package/helpers/angular/shared-linker.js.map +0 -1
  441. package/helpers/angular/synthesize-decorator-ctor-parameters.js.map +0 -1
  442. package/helpers/angular/synthesize-injectable-factories.js.map +0 -1
  443. package/helpers/angular/util.js +0 -67
  444. package/helpers/angular/util.js.map +0 -1
  445. package/helpers/prelink-angular.d.ts +0 -2
  446. package/helpers/prelink-angular.js +0 -117
  447. package/helpers/prelink-angular.js.map +0 -1
  448. package/hmr/server/websocket-angular-entry.js.map +0 -1
  449. package/hmr/server/websocket-angular-hot-update.js.map +0 -1
  450. package/hmr/server/websocket-ns-m-finalize.d.ts +0 -22
  451. package/hmr/server/websocket-ns-m-finalize.js +0 -88
  452. package/hmr/server/websocket-ns-m-finalize.js.map +0 -1
  453. package/hmr/server/websocket-runtime-compat.d.ts +0 -19
  454. package/hmr/server/websocket-runtime-compat.js +0 -286
  455. package/hmr/server/websocket-runtime-compat.js.map +0 -1
  456. package/hmr/server/websocket-vue-sfc.d.ts +0 -27
  457. package/hmr/server/websocket-vue-sfc.js +0 -1114
  458. package/hmr/server/websocket-vue-sfc.js.map +0 -1
  459. package/transformers/NativeClass/index.d.ts +0 -2
  460. package/transformers/NativeClass/index.js +0 -222
  461. package/transformers/NativeClass/index.js.map +0 -1
  462. /package/{helpers/angular → hmr/frameworks/angular/build}/inline-decorator-component-templates.d.ts +0 -0
  463. /package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-decorator-ctor-parameters.d.ts +0 -0
  464. /package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-injectable-factories.d.ts +0 -0
  465. /package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.d.ts +0 -0
@@ -0,0 +1,614 @@
1
+ /**
2
+ * Single-eval @nativescript/core bundle for device serving (bundle mode).
3
+ *
4
+ * DEFAULT MODE (consumers)
5
+ * ------------------------
6
+ * Instead of serving @nativescript/core per-module through Vite's transform
7
+ * pipeline (~hundreds of serial HTTP fetches + per-file transforms during cold
8
+ * boot), the dev server pre-bundles the ENTIRE core package with esbuild into
9
+ * one ESM payload served at `GET /ns/core-bundle.mjs`. The canonical
10
+ * `/ns/core[/<sub>]` URL space is preserved — those routes serve THIN SHIMS
11
+ * that statically import the bundle and re-export the requested subpath's
12
+ * namespace from the `globalThis.__NS_CORE_MODULES__` registry the bundle
13
+ * populates. Because every shim's only dependency is the one bundle URL,
14
+ * V8/iOS evaluates core exactly once per app lifetime — the single-realm
15
+ * invariant is enforced by construction, with ONE big prefetchable payload
16
+ * instead of a deep serial fetch chain.
17
+ *
18
+ * OPT-IN PER-MODULE MODE (core maintainers)
19
+ * -----------------------------------------
20
+ * Set `NS_CORE_PER_MODULE=1` to keep the classic per-module `/ns/core` bridge
21
+ * (websocket-ns-core.ts). That is the right mode when editing
22
+ * `@nativescript/core` source live inside the NativeScript monorepo: each core
23
+ * module stays individually served/transformed so core edits participate in
24
+ * HMR. Consumers of the published package don't edit core mid-session, so the
25
+ * bundle is both safe and much faster for them.
26
+ *
27
+ * FAILURE FALLBACK
28
+ * ----------------
29
+ * If the esbuild bundle build fails for any reason, the service marks itself
30
+ * failed and `/ns/core[/<sub>]` transparently falls back to the per-module
31
+ * bridge for the whole session (logged loudly once). Boot still works; only
32
+ * the speed win is lost.
33
+ */
34
+ import { createRequire } from 'node:module';
35
+ import { existsSync, mkdirSync, readdirSync, readFileSync, statSync, unlinkSync, writeFileSync } from 'node:fs';
36
+ import * as path from 'node:path';
37
+ import { createHash } from 'node:crypto';
38
+ import * as esbuild from 'esbuild';
39
+ import { getCliFlags } from '../../helpers/cli-flags.js';
40
+ import { getGlobalDefines } from '../../helpers/global-defines.js';
41
+ import { getProjectFlavor } from '../../helpers/flavor.js';
42
+ import { createNativeClassEsbuildPlugin } from '../../helpers/nativeclass-esbuild-plugin.js';
43
+ import { createUnicodeRegexEsbuildPlugin } from '../shared/vendor/vendor-esbuild-plugins.js';
44
+ import { moduleRegistrationKeys, normalizeCoreSub } from '../../helpers/ns-core-url.js';
45
+ import { buildShapeInstallHeader } from './ns-core-cjs-shape.js';
46
+ import { resolveVerboseFlag } from '../../helpers/logging.js';
47
+ import { nsConfigToJson } from '../../helpers/utils.js';
48
+ import { getVitePackageVersion } from '../../helpers/vite-package-version.js';
49
+ import { aliasCssTree } from '../../helpers/css-tree.js';
50
+ import { getWorkspaceCoreSourceRoot } from './websocket-served-module-helpers.js';
51
+ /**
52
+ * Per-module /ns/core serving mode (vs the default single-eval bundle).
53
+ *
54
+ * `NS_CORE_PER_MODULE=1|true` forces it on, `0|false` forces bundle mode.
55
+ * When unset, it AUTO-ENABLES for monorepo core source (packages/core in the
56
+ * NativeScript repo). Two reasons:
57
+ * - core maintainers edit core live, and per-module serving keeps those
58
+ * edits in HMR;
59
+ * - realm safety: the build-time externalizer emits
60
+ * `/ns/m/packages/core/<file>` URLs for workspace-source core (see the
61
+ * `ns-core-external-urls` workspace branch in configuration/base.ts), so
62
+ * the served graph's core realm lives under /ns/m. A bundle-mode
63
+ * `/ns/core-bundle.mjs` would evaluate a complete SECOND copy of core for
64
+ * the entry's `/ns/core/globals|application|…` imports — duplicate native
65
+ * class registrations crash in MetadataBuilder at startup.
66
+ */
67
+ export function isCorePerModuleServingEnabled(env = process.env, hasWorkspaceCoreSource = () => getWorkspaceCoreSourceRoot() !== null) {
68
+ const v = env.NS_CORE_PER_MODULE;
69
+ if (v === '1' || v === 'true')
70
+ return true;
71
+ if (v === '0' || v === 'false')
72
+ return false;
73
+ try {
74
+ return hasWorkspaceCoreSource();
75
+ }
76
+ catch {
77
+ return false;
78
+ }
79
+ }
80
+ /**
81
+ * Resolve the physical @nativescript/core root the same way configuration/
82
+ * base.ts does: prefer monorepo source (`<workspace>/packages/core`), else the
83
+ * node_modules install reachable from the project root.
84
+ */
85
+ export function resolveCoreRootForBundle(projectRoot) {
86
+ const workspaceCorePkg = path.resolve(projectRoot, '../../packages/core/package.json');
87
+ if (existsSync(workspaceCorePkg)) {
88
+ return path.dirname(workspaceCorePkg);
89
+ }
90
+ const req = createRequire(path.join(projectRoot, 'package.json'));
91
+ const corePkg = req.resolve('@nativescript/core/package.json');
92
+ return path.dirname(corePkg);
93
+ }
94
+ // Directories that are not runtime module space. `debugger/` and
95
+ // `inspector_modules` only evaluate when a Web Inspector session loads them
96
+ // (via the app bundle, not HTTP) and carry heavyweight side effects (network
97
+ // interception) that must NOT run on every boot, so they stay out of the
98
+ // bundle. A request for an excluded subpath falls back to per-module serving —
99
+ // realm-safe, because the per-module response's own core imports are rewritten
100
+ // back to `/ns/core/<sub>` shim URLs that resolve into the bundle realm.
101
+ const EXCLUDED_DIRS = new Set(['node_modules', 'platforms', 'cli-hooks', 'debugger', '.git', '__tests__', 'fixtures']);
102
+ const EXCLUDED_TOP_LEVEL_MODULES = new Set(['inspector_modules', 'bundle-entry-points', 'references', 'global-types', 'vite.config', 'vitest.setup']);
103
+ /**
104
+ * True when a canonical core subpath was DELIBERATELY excluded from bundle
105
+ * enumeration (debugger/, inspector_modules, bundle-entry-points, …). Requests
106
+ * for these at boot are normal — the runtime's inspector/debugger plumbing
107
+ * imports them in dev — and the per-module fallback that serves them is
108
+ * by-design and realm-safe. Callers use this to keep the fallback log
109
+ * verbose-only for expected subs while still surfacing unexpected
110
+ * enumeration misses.
111
+ */
112
+ export function isExpectedCoreBundleExclusion(canonicalSub) {
113
+ if (!canonicalSub)
114
+ return false;
115
+ return canonicalSub.split('/').some((seg) => EXCLUDED_TOP_LEVEL_MODULES.has(seg) || EXCLUDED_DIRS.has(seg));
116
+ }
117
+ const MODULE_FILE_RE = /\.(?:ts|tsx|js|mjs)$/;
118
+ const NON_MODULE_FILE_RE = /\.(?:d\.ts|spec\.(?:ts|js|tsx)|test\.(?:ts|js|tsx))$/;
119
+ function platformSuffixOf(baseName) {
120
+ const m = baseName.match(/\.(ios|android|visionos)$/);
121
+ return m?.[1] || null;
122
+ }
123
+ /**
124
+ * Enumerate every importable core subpath (canonical form, per
125
+ * `normalizeCoreSub`) for the given platform. A subpath is included when it
126
+ * has a platform-neutral variant OR a variant for the current platform —
127
+ * other-platform-only modules (e.g. `ui/frame/activity.android` on iOS) are
128
+ * skipped since they can never resolve for this build.
129
+ */
130
+ export function enumerateCoreModuleSubpaths(coreRoot, platform) {
131
+ const isApple = platform !== 'android';
132
+ // canonical sub → has a variant loadable on this platform
133
+ const loadable = new Map();
134
+ const visit = (dirAbs, relPrefix) => {
135
+ let entries;
136
+ try {
137
+ entries = readdirSync(dirAbs, { withFileTypes: true });
138
+ }
139
+ catch {
140
+ return;
141
+ }
142
+ for (const entry of entries) {
143
+ const name = entry.name;
144
+ if (name.startsWith('.'))
145
+ continue;
146
+ const rel = relPrefix ? `${relPrefix}/${name}` : name;
147
+ let isDir = entry.isDirectory();
148
+ if (entry.isSymbolicLink()) {
149
+ try {
150
+ isDir = statSync(path.join(dirAbs, name)).isDirectory();
151
+ }
152
+ catch {
153
+ continue;
154
+ }
155
+ }
156
+ if (isDir) {
157
+ if (EXCLUDED_DIRS.has(name))
158
+ continue;
159
+ visit(path.join(dirAbs, name), rel);
160
+ continue;
161
+ }
162
+ if (!MODULE_FILE_RE.test(name) || NON_MODULE_FILE_RE.test(name))
163
+ continue;
164
+ const relNoExt = rel.replace(MODULE_FILE_RE, '');
165
+ const suffix = platformSuffixOf(relNoExt);
166
+ const platformOk = suffix === null || (isApple ? suffix !== 'android' : suffix === 'android');
167
+ const canonical = normalizeCoreSub(relNoExt);
168
+ // '' is the package main — always included, not part of the sub list.
169
+ if (!canonical)
170
+ continue;
171
+ if (!relPrefix && EXCLUDED_TOP_LEVEL_MODULES.has(canonical))
172
+ continue;
173
+ if (canonical.split('/').some((seg) => EXCLUDED_TOP_LEVEL_MODULES.has(seg) || EXCLUDED_DIRS.has(seg)))
174
+ continue;
175
+ // Cross-platform helper modules without a platform suffix in their
176
+ // own filename (e.g. `ui/frame/frame-helper-for-android`) import
177
+ // siblings that only exist with the OTHER platform's suffix, so
178
+ // force-importing them on this platform can never resolve. They are
179
+ // only reachable from that platform's `index.<platform>` graph.
180
+ if (/-for-android$/.test(canonical) && isApple)
181
+ continue;
182
+ if (/-for-(?:ios|visionos)$/.test(canonical) && !isApple)
183
+ continue;
184
+ loadable.set(canonical, loadable.get(canonical) || false || platformOk);
185
+ }
186
+ };
187
+ visit(coreRoot, '');
188
+ return Array.from(loadable.entries())
189
+ .filter(([, ok]) => ok)
190
+ .map(([sub]) => sub)
191
+ .sort();
192
+ }
193
+ /**
194
+ * Synthetic esbuild entry: evaluate core once, expose every subpath's live
195
+ * namespace through `globalThis.__NS_CORE_MODULES__` (the SAME registry the
196
+ * per-module bridge footers populate, so the vendor CJS `require()` shim and
197
+ * `_nsReq` lookups keep working unchanged), and re-export the package main so
198
+ * `/ns/core-bundle.mjs` itself has core's full named-export surface.
199
+ */
200
+ export function buildCoreBundleEntryCode(subs) {
201
+ const lines = [];
202
+ // Package main first so its side-effect order (globals, bootstrap) matches
203
+ // the package's own intent; esbuild still evaluates shared deps once.
204
+ lines.push(`import * as __ns_core_main__ from ${JSON.stringify('@nativescript/core')};`);
205
+ subs.forEach((sub, i) => {
206
+ lines.push(`import * as __ns_core_m_${i}__ from ${JSON.stringify(`@nativescript/core/${sub}`)};`);
207
+ });
208
+ lines.push('');
209
+ lines.push('const __nsReg = (globalThis.__NS_CORE_MODULES__ || (globalThis.__NS_CORE_MODULES__ = Object.create(null)));');
210
+ lines.push(`const __nsShapeFn = typeof globalThis.__NS_CJS_SHAPE__ === 'function' ? globalThis.__NS_CJS_SHAPE__ : function (x) { return x; };`);
211
+ lines.push('const __nsRegSet = (keys, ns) => { const shaped = __nsShapeFn(ns); for (const k of keys) { __nsReg[k] = shaped; } };');
212
+ lines.push(`__nsRegSet(${JSON.stringify(moduleRegistrationKeys(''))}, __ns_core_main__);`);
213
+ subs.forEach((sub, i) => {
214
+ lines.push(`__nsRegSet(${JSON.stringify(moduleRegistrationKeys(sub))}, __ns_core_m_${i}__);`);
215
+ });
216
+ lines.push(`try { globalThis.__NS_CORE_EVAL_COUNT__ = (globalThis.__NS_CORE_EVAL_COUNT__ || 0) + 1; globalThis.__NS_CORE_BUNDLE_MODE__ = true; } catch (e) {}`);
217
+ lines.push(`export * from ${JSON.stringify('@nativescript/core')};`);
218
+ lines.push('');
219
+ return lines.join('\n');
220
+ }
221
+ // ============================================================================
222
+ // Disk cache — the esbuild core bundle takes ~5-10s to build and its inputs
223
+ // rarely change between dev-server starts, so the built payload is persisted
224
+ // under `node_modules/.ns-vite/` and reloaded when the cache key matches.
225
+ // See computeCoreBundleCacheKey for the exact inputs (corePkgMtimeMs detects
226
+ // reinstalls; the schema counter is bumped when the generation pipeline
227
+ // changes). Opt out with `NS_CORE_BUNDLE_NO_DISK_CACHE=1` (e.g. when
228
+ // hand-editing core inside node_modules).
229
+ // ============================================================================
230
+ const CORE_BUNDLE_DISK_CACHE_SCHEMA = 1;
231
+ function isCoreBundleDiskCacheDisabled(env = process.env) {
232
+ const v = env.NS_CORE_BUNDLE_NO_DISK_CACHE;
233
+ return v === '1' || v === 'true';
234
+ }
235
+ export function computeCoreBundleCacheKey(input) {
236
+ const payload = JSON.stringify({
237
+ schema: CORE_BUNDLE_DISK_CACHE_SCHEMA,
238
+ coreRoot: input.coreRoot.replace(/\\/g, '/'),
239
+ coreVersion: input.coreVersion,
240
+ corePkgMtimeMs: input.corePkgMtimeMs,
241
+ platform: input.platform,
242
+ mode: input.mode,
243
+ flavor: input.flavor,
244
+ defines: input.defines,
245
+ nsConfigJson: input.nsConfigJson,
246
+ subs: input.subs,
247
+ vitePackageVersion: input.vitePackageVersion,
248
+ });
249
+ return createHash('sha1').update(payload).digest('hex');
250
+ }
251
+ function getCoreBundleCacheDir(projectRoot) {
252
+ return path.join(projectRoot, 'node_modules', '.ns-vite');
253
+ }
254
+ function coreBundleCacheFileBase(platform, key) {
255
+ return `core-bundle-${platform}-${key.slice(0, 12)}`;
256
+ }
257
+ export function tryLoadCoreBundleFromDisk(projectRoot, platform, key) {
258
+ try {
259
+ const dir = getCoreBundleCacheDir(projectRoot);
260
+ const base = coreBundleCacheFileBase(platform, key);
261
+ const metaPath = path.join(dir, `${base}.json`);
262
+ const codePath = path.join(dir, `${base}.mjs`);
263
+ if (!existsSync(metaPath) || !existsSync(codePath))
264
+ return null;
265
+ const meta = JSON.parse(readFileSync(metaPath, 'utf-8'));
266
+ if (!meta || meta.schema !== CORE_BUNDLE_DISK_CACHE_SCHEMA || meta.key !== key)
267
+ return null;
268
+ if (!Array.isArray(meta.subs))
269
+ return null;
270
+ const code = readFileSync(codePath, 'utf-8');
271
+ // Integrity check guards against partial writes / manual edits.
272
+ const hash = createHash('sha1').update(code).digest('hex');
273
+ if (hash !== meta.hash)
274
+ return null;
275
+ return {
276
+ code,
277
+ subs: new Set(meta.subs.filter((s) => typeof s === 'string')),
278
+ hash,
279
+ builtAt: typeof meta.builtAt === 'number' ? meta.builtAt : Date.now(),
280
+ buildMs: typeof meta.buildMs === 'number' ? meta.buildMs : 0,
281
+ };
282
+ }
283
+ catch {
284
+ return null;
285
+ }
286
+ }
287
+ export function saveCoreBundleToDisk(projectRoot, platform, key, state, verbose) {
288
+ try {
289
+ const dir = getCoreBundleCacheDir(projectRoot);
290
+ mkdirSync(dir, { recursive: true });
291
+ const base = coreBundleCacheFileBase(platform, key);
292
+ // Prune stale generations for this platform (other platforms keep theirs
293
+ // so dual-platform dev caches both). A failed prune must not abort the
294
+ // save — a leftover generation in a cache directory is harmless.
295
+ try {
296
+ for (const name of readdirSync(dir)) {
297
+ if (name.startsWith(`core-bundle-${platform}-`) && !name.startsWith(base)) {
298
+ unlinkSync(path.join(dir, name));
299
+ }
300
+ }
301
+ }
302
+ catch { }
303
+ writeFileSync(path.join(dir, `${base}.mjs`), state.code);
304
+ writeFileSync(path.join(dir, `${base}.json`), JSON.stringify({
305
+ schema: CORE_BUNDLE_DISK_CACHE_SCHEMA,
306
+ key,
307
+ hash: state.hash,
308
+ builtAt: state.builtAt,
309
+ buildMs: state.buildMs,
310
+ subs: Array.from(state.subs),
311
+ }));
312
+ }
313
+ catch (error) {
314
+ if (verbose) {
315
+ console.warn(`[ns-core-bundle] disk cache write failed (non-fatal): ${error?.message || error}`);
316
+ }
317
+ }
318
+ }
319
+ // Platform-first extension order, mirroring Vite's `platformExtensions` in
320
+ // configuration/base.ts so the bundle resolves the same physical files the
321
+ // per-module bridge would (platform variant preferred over the bare one).
322
+ function coreResolveExtensions(platform) {
323
+ if (platform === 'android') {
324
+ return ['.android.tsx', '.tsx', '.android.jsx', '.jsx', '.android.ts', '.ts', '.android.js', '.js', '.mjs', '.cjs', '.json'];
325
+ }
326
+ return ['.ios.tsx', '.visionos.tsx', '.tsx', '.ios.jsx', '.visionos.jsx', '.jsx', '.ios.ts', '.visionos.ts', '.ts', '.ios.js', '.visionos.js', '.js', '.mjs', '.cjs', '.json'];
327
+ }
328
+ // Node built-ins the device runtime cannot resolve — externalized exactly like
329
+ // the vendor bundle build (see manifest.ts).
330
+ const NODE_BUILTINS = ['assert', 'async_hooks', 'buffer', 'child_process', 'cluster', 'console', 'constants', 'crypto', 'dgram', 'diagnostics_channel', 'dns', 'domain', 'events', 'fs', 'fs/promises', 'http', 'http2', 'https', 'inspector', 'module', 'net', 'os', 'path', 'path/posix', 'path/win32', 'perf_hooks', 'process', 'punycode', 'querystring', 'readline', 'repl', 'stream', 'stream/web', 'stream/promises', 'string_decoder', 'sys', 'timers', 'timers/promises', 'tls', 'trace_events', 'tty', 'url', 'util', 'v8', 'vm', 'wasi', 'worker_threads', 'zlib'];
331
+ const NODE_EXTERNALS = [...NODE_BUILTINS, ...NODE_BUILTINS.map((b) => `node:${b}`)];
332
+ export async function generateCoreBundle(options) {
333
+ const { projectRoot, platform, mode, flavor, verbose } = options;
334
+ const t0 = Date.now();
335
+ const coreRoot = resolveCoreRootForBundle(projectRoot);
336
+ const subs = enumerateCoreModuleSubpaths(coreRoot, String(platform));
337
+ const entryCode = buildCoreBundleEntryCode(subs);
338
+ // Resolve bare @nativescript/core[/sub] specifiers against the resolved
339
+ // core root directly. esbuild's default node-resolution can't be trusted
340
+ // here for two reasons: (1) monorepo apps consume core via a symlink whose
341
+ // realpath escapes the project's node_modules, and (2) the package's
342
+ // `main: "index"` is extensionless. Mapping to `<coreRoot>/<sub>` and
343
+ // letting resolveExtensions pick the platform file mirrors Vite's alias +
344
+ // extension behavior byte-for-byte.
345
+ const coreAliasPlugin = {
346
+ name: 'ns-core-bundle-alias',
347
+ setup(build) {
348
+ build.onResolve({ filter: /^@nativescript\/core(?:\/.*)?$/ }, (args) => {
349
+ const sub = args.path === '@nativescript/core' ? '' : args.path.slice('@nativescript/core/'.length);
350
+ const target = sub ? path.join(coreRoot, sub) : path.join(coreRoot, 'index');
351
+ return build.resolve(target, { kind: args.kind, resolveDir: coreRoot });
352
+ });
353
+ },
354
+ };
355
+ // Mirror the Vite pipeline's css-tree environment aliases: css-tree's ESM
356
+ // files do `import { createRequire } from 'module'` to lazily require JSON
357
+ // data — on device that bare 'module' import must resolve to our polyfill
358
+ // (same replacement `aliasCssTree` feeds Vite's resolver; see
359
+ // helpers/css-tree.ts and polyfills/module.ts). In the source tree the
360
+ // replacement's `.js` file may not exist yet (only `.ts`) — fall back.
361
+ const resolvePolyfillFile = (p) => {
362
+ if (existsSync(p))
363
+ return p;
364
+ const ts = p.replace(/\.js$/, '.ts');
365
+ return existsSync(ts) ? ts : p;
366
+ };
367
+ const polyfillAliases = new Map();
368
+ for (const { find, replacement } of aliasCssTree) {
369
+ polyfillAliases.set(String(find), resolvePolyfillFile(replacement));
370
+ }
371
+ const cssTreeEnvPlugin = {
372
+ name: 'ns-core-bundle-css-tree-env',
373
+ setup(build) {
374
+ build.onResolve({ filter: /^(?:node:)?module$|^mdn-data\/css\// }, (args) => {
375
+ const key = args.path.replace(/^node:/, '');
376
+ const target = polyfillAliases.get(key);
377
+ return target ? { path: target } : undefined;
378
+ });
379
+ },
380
+ };
381
+ // `~/package.json` — core's profiling/style-scope modules import the APP's
382
+ // nativescript.config as JSON through this alias (Vite serves it via the
383
+ // nsvite:nsconfig-json virtual module; see helpers/config-as-json.ts).
384
+ // Mirror that here with the same nsConfigToJson() payload.
385
+ const nsConfigJson = (() => {
386
+ try {
387
+ return JSON.stringify(nsConfigToJson());
388
+ }
389
+ catch {
390
+ // No nativescript.config.ts reachable (tests, bare fixtures) — the
391
+ // importers only read optional profiling/cssParser hints from it.
392
+ return '{}';
393
+ }
394
+ })();
395
+ const nsConfigPlugin = {
396
+ name: 'ns-core-bundle-nsconfig',
397
+ setup(build) {
398
+ build.onResolve({ filter: /^~\/package\.json$/ }, () => ({ path: 'ns-core-bundle:nsconfig-json', namespace: 'ns-core-bundle-virtual' }));
399
+ build.onLoad({ filter: /^ns-core-bundle:nsconfig-json$/, namespace: 'ns-core-bundle-virtual' }, () => ({
400
+ contents: `export default ${nsConfigJson};`,
401
+ loader: 'js',
402
+ }));
403
+ },
404
+ };
405
+ const defines = (() => {
406
+ const raw = getGlobalDefines({
407
+ platform: String(platform),
408
+ targetMode: mode === 'development' ? 'development' : 'production',
409
+ verbose: !!verbose,
410
+ flavor: flavor ?? '',
411
+ isCI: !!process.env.CI,
412
+ });
413
+ const out = {};
414
+ for (const [key, value] of Object.entries(raw)) {
415
+ out[key] = typeof value === 'string' ? value : JSON.stringify(value);
416
+ }
417
+ out['process.env.NODE_ENV'] = JSON.stringify(mode === 'development' ? 'development' : 'production');
418
+ return out;
419
+ })();
420
+ // Disk cache probe — everything above (enumeration, defines, config JSON)
421
+ // is cheap; the esbuild pass below is the ~5-10s cost the cache avoids.
422
+ const diskCacheDisabled = isCoreBundleDiskCacheDisabled();
423
+ let cacheKey = null;
424
+ if (!diskCacheDisabled) {
425
+ let coreVersion = 'unknown';
426
+ let corePkgMtimeMs = 0;
427
+ try {
428
+ const corePkgPath = path.join(coreRoot, 'package.json');
429
+ const corePkg = JSON.parse(readFileSync(corePkgPath, 'utf-8'));
430
+ if (typeof corePkg?.version === 'string')
431
+ coreVersion = corePkg.version;
432
+ corePkgMtimeMs = statSync(corePkgPath).mtimeMs;
433
+ }
434
+ catch {
435
+ // Unreadable core package.json degrades the key inputs, not the
436
+ // probe — a reinstall then changes the mtime back to a real value.
437
+ }
438
+ cacheKey = computeCoreBundleCacheKey({
439
+ coreRoot,
440
+ coreVersion,
441
+ corePkgMtimeMs,
442
+ platform: String(platform),
443
+ mode: String(mode),
444
+ flavor: flavor ?? '',
445
+ defines,
446
+ nsConfigJson,
447
+ subs,
448
+ vitePackageVersion: getVitePackageVersion(),
449
+ });
450
+ const cached = tryLoadCoreBundleFromDisk(projectRoot, String(platform), cacheKey);
451
+ if (cached) {
452
+ if (verbose) {
453
+ console.log(`[ns-core-bundle] loaded from disk cache: ${cached.subs.size} subpaths, ${(cached.code.length / 1024).toFixed(0)}kb in ${Date.now() - t0}ms (hash ${cached.hash.slice(0, 8)}, key ${cacheKey.slice(0, 12)})`);
454
+ }
455
+ return cached;
456
+ }
457
+ }
458
+ const buildResult = await esbuild.build({
459
+ stdin: {
460
+ contents: entryCode,
461
+ resolveDir: projectRoot,
462
+ sourcefile: 'ns-core-bundle-entry.ts',
463
+ loader: 'ts',
464
+ },
465
+ platform: 'neutral',
466
+ format: 'esm',
467
+ bundle: true,
468
+ target: 'es2019',
469
+ // Keep every module body — core relies on registration side effects
470
+ // (CssAnimationProperty.register, global.registerModule, …).
471
+ treeShaking: false,
472
+ sourcemap: false,
473
+ write: false,
474
+ logLevel: 'silent',
475
+ legalComments: 'eof',
476
+ conditions: ['module', 'react-native', 'import', 'browser', 'default'],
477
+ mainFields: ['module', 'browser', 'main'],
478
+ resolveExtensions: coreResolveExtensions(String(platform)),
479
+ loader: {
480
+ '.css': 'text',
481
+ '.json': 'json',
482
+ },
483
+ define: defines,
484
+ plugins: [coreAliasPlugin, cssTreeEnvPlugin, nsConfigPlugin, createNativeClassEsbuildPlugin(platform), createUnicodeRegexEsbuildPlugin(projectRoot)],
485
+ external: NODE_EXTERNALS,
486
+ });
487
+ if (!buildResult.outputFiles?.length) {
488
+ throw new Error('core bundle generation produced no output');
489
+ }
490
+ // The shape installer must run before the registry writes in the entry
491
+ // body so CJS consumers looking up __NS_CORE_MODULES__ always see
492
+ // plain-object-compatible namespaces (Invariant D).
493
+ const code = ['/* /ns/core-bundle.mjs — single-eval @nativescript/core (dev bundle mode) */', buildShapeInstallHeader(), buildResult.outputFiles[0].text].join('\n');
494
+ const hash = createHash('sha1').update(code).digest('hex');
495
+ const state = {
496
+ code,
497
+ subs: new Set(subs),
498
+ hash,
499
+ builtAt: Date.now(),
500
+ buildMs: Date.now() - t0,
501
+ };
502
+ if (verbose) {
503
+ console.log(`[ns-core-bundle] built ${subs.length} subpaths, ${(code.length / 1024).toFixed(0)}kb in ${state.buildMs}ms (hash ${hash.slice(0, 8)})`);
504
+ }
505
+ if (!diskCacheDisabled && cacheKey) {
506
+ saveCoreBundleToDisk(projectRoot, String(platform), cacheKey, state, verbose);
507
+ }
508
+ return state;
509
+ }
510
+ export function createCoreBundleService(options) {
511
+ let state = null;
512
+ let failed = false;
513
+ let building = null;
514
+ const ensureBuilt = async () => {
515
+ if (state)
516
+ return state;
517
+ if (failed)
518
+ return null;
519
+ if (!building) {
520
+ building = generateCoreBundle(options)
521
+ .then((built) => {
522
+ state = built;
523
+ return built;
524
+ })
525
+ .catch((error) => {
526
+ failed = true;
527
+ console.warn(`[ns-core-bundle] bundle build FAILED — falling back to per-module /ns/core serving for this session. Set NS_CORE_PER_MODULE=1 to silence. Error: ${error?.message || error}`);
528
+ return null;
529
+ });
530
+ }
531
+ return building;
532
+ };
533
+ return {
534
+ ensureBuilt,
535
+ getState: () => state,
536
+ hasFailed: () => failed,
537
+ };
538
+ }
539
+ let sharedService = null;
540
+ /**
541
+ * Process-wide bundle service derived from the dev server's config + CLI
542
+ * flags. One dev server per process, so a module-level singleton matches the
543
+ * vendor manifest's lifecycle.
544
+ */
545
+ export function getSharedCoreBundleService(server) {
546
+ if (sharedService)
547
+ return sharedService;
548
+ const cliFlags = (getCliFlags() || {});
549
+ const platform = cliFlags.android ? 'android' : cliFlags.visionos ? 'visionos' : 'ios';
550
+ let flavor = '';
551
+ try {
552
+ flavor = getProjectFlavor();
553
+ }
554
+ catch { }
555
+ sharedService = createCoreBundleService({
556
+ projectRoot: server.config?.root || process.cwd(),
557
+ platform,
558
+ mode: server.config?.mode === 'development' ? 'development' : 'production',
559
+ flavor,
560
+ verbose: resolveVerboseFlag(),
561
+ });
562
+ return sharedService;
563
+ }
564
+ /** Test seam: drop the shared service so specs can mount fresh. */
565
+ export function resetSharedCoreBundleServiceForTests() {
566
+ sharedService = null;
567
+ }
568
+ export const CORE_BUNDLE_PATH = '/ns/core-bundle.mjs';
569
+ /**
570
+ * Shim served at `/ns/core` in bundle mode. `export * from` gives real,
571
+ * live named bindings straight off the bundle module record; the explicit
572
+ * default keeps the "default import + destructure" consumer rewrite working
573
+ * (see buildDefaultExportFooter in ns-core-cjs-shape.ts for that contract).
574
+ */
575
+ export function buildCoreMainShimCode() {
576
+ return [`/* @nativescript/core bridge (bundle mode) — main */`, `import * as __ns_core_bundle_ns__ from ${JSON.stringify(CORE_BUNDLE_PATH)};`, `export * from ${JSON.stringify(CORE_BUNDLE_PATH)};`, `export default __ns_core_bundle_ns__;`, ``].join('\n');
577
+ }
578
+ /**
579
+ * Shim served at `/ns/core/<sub>` in bundle mode. The static bundle import
580
+ * guarantees the registry is populated before the body reads it (ESM deps
581
+ * evaluate first), so the named `export const` bindings snapshot the final
582
+ * class/function values. `exportNames` comes from the same disk-based export
583
+ * discovery the per-module bridge relies on (collectStaticExportNamesFromFile).
584
+ */
585
+ const RESERVED_EXPORT_NAMES = new Set(['default', 'break', 'case', 'catch', 'class', 'const', 'continue', 'debugger', 'delete', 'do', 'else', 'enum', 'export', 'extends', 'false', 'finally', 'for', 'function', 'if', 'import', 'in', 'instanceof', 'new', 'null', 'return', 'super', 'switch', 'this', 'throw', 'true', 'try', 'typeof', 'var', 'void', 'while', 'with', 'let', 'static', 'yield', 'await', 'eval', 'arguments', '__ns_core_sub_ns__']);
586
+ export function buildCoreSubShimCode(sub, exportNames, hasOwnDefaultExport = false) {
587
+ const canonical = normalizeCoreSub(sub);
588
+ const registryKey = `@nativescript/core/${canonical}`;
589
+ const names = Array.from(new Set(exportNames)).filter((n) => /^[A-Za-z_$][\w$]*$/.test(n) && !RESERVED_EXPORT_NAMES.has(n));
590
+ const lines = [];
591
+ lines.push(`/* @nativescript/core bridge (bundle mode) — sub: ${canonical} */`);
592
+ lines.push(`import ${JSON.stringify(CORE_BUNDLE_PATH)};`);
593
+ lines.push(`const __ns_core_sub_ns__ = (globalThis.__NS_CORE_MODULES__ || {})[${JSON.stringify(registryKey)}];`);
594
+ lines.push(`if (!__ns_core_sub_ns__) { throw new Error(${JSON.stringify(`[ns-core] core bundle registry missing '${registryKey}' — restart the dev server or set NS_CORE_PER_MODULE=1`)}); }`);
595
+ for (const name of names) {
596
+ lines.push(`export const ${name} = __ns_core_sub_ns__.${name};`);
597
+ }
598
+ // Deep-subpath contract (see isDeepCoreSubpath / per-module bridge): a sub
599
+ // that declares its own `export default` (e.g. utils/lazy.js's
600
+ // `export default function lazy`) must expose THAT value as the shim's
601
+ // default — consumers like the vendor bundle do
602
+ // `import lazy from '@nativescript/core/utils/lazy'` and call it directly.
603
+ // Subs without an own default keep the self-namespace default so the
604
+ // "default import + destructure" consumer rewrite still works.
605
+ if (hasOwnDefaultExport) {
606
+ lines.push(`export default __ns_core_sub_ns__.default;`);
607
+ }
608
+ else {
609
+ lines.push(`export default __ns_core_sub_ns__;`);
610
+ }
611
+ lines.push('');
612
+ return lines.join('\n');
613
+ }
614
+ //# sourceMappingURL=core-bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-bundle.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/core-bundle.ts"],"names":[],"mappings":"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"}