@nativescript/vite 8.0.0-alpha.7 → 8.0.0-alpha.71
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.
- package/README.md +54 -14
- package/bin/cli.cjs +8 -14
- package/configuration/angular.d.ts +34 -1
- package/configuration/angular.js +293 -172
- package/configuration/angular.js.map +1 -1
- package/configuration/base.js +177 -110
- package/configuration/base.js.map +1 -1
- package/configuration/javascript.js +14 -93
- package/configuration/javascript.js.map +1 -1
- package/configuration/react.js +41 -73
- package/configuration/react.js.map +1 -1
- package/configuration/solid.js +51 -6
- package/configuration/solid.js.map +1 -1
- package/configuration/typescript.js +12 -93
- package/configuration/typescript.js.map +1 -1
- package/helpers/app-components.d.ts +2 -1
- package/helpers/app-components.js.map +1 -1
- package/helpers/app-css-refresh.d.ts +31 -0
- package/helpers/app-css-refresh.js +43 -0
- package/helpers/app-css-refresh.js.map +1 -0
- package/helpers/app-css-state.d.ts +17 -0
- package/helpers/app-css-state.js +51 -0
- package/helpers/app-css-state.js.map +1 -0
- package/helpers/bundler-context.d.ts +11 -0
- package/helpers/bundler-context.js +71 -0
- package/helpers/bundler-context.js.map +1 -0
- package/helpers/cli-flags.d.ts +12 -0
- package/helpers/cli-flags.js +34 -0
- package/helpers/cli-flags.js.map +1 -1
- package/helpers/css-platform-plugin.d.ts +14 -0
- package/helpers/css-platform-plugin.js +43 -25
- package/helpers/css-platform-plugin.js.map +1 -1
- package/helpers/dev-host.d.ts +360 -0
- package/helpers/dev-host.js +694 -0
- package/helpers/dev-host.js.map +1 -0
- package/helpers/dynamic-import-plugin.d.ts +2 -1
- package/helpers/dynamic-import-plugin.js +59 -53
- package/helpers/dynamic-import-plugin.js.map +1 -1
- package/helpers/esbuild-platform-resolver.js +4 -1
- package/helpers/esbuild-platform-resolver.js.map +1 -1
- package/helpers/external-configs.d.ts +10 -12
- package/helpers/external-configs.js +58 -35
- package/helpers/external-configs.js.map +1 -1
- package/helpers/flavor.d.ts +13 -0
- package/helpers/flavor.js +18 -1
- package/helpers/flavor.js.map +1 -1
- package/helpers/global-defines.d.ts +101 -33
- package/helpers/global-defines.js +187 -64
- package/helpers/global-defines.js.map +1 -1
- package/helpers/hmr-scope.d.ts +26 -0
- package/helpers/hmr-scope.js +67 -0
- package/helpers/hmr-scope.js.map +1 -0
- package/helpers/init.js +6 -20
- package/helpers/init.js.map +1 -1
- package/helpers/logging.js +29 -1
- package/helpers/logging.js.map +1 -1
- package/helpers/main-entry.d.ts +4 -1
- package/helpers/main-entry.js +366 -47
- package/helpers/main-entry.js.map +1 -1
- package/helpers/nativeclass-esbuild-plugin.d.ts +2 -1
- package/helpers/nativeclass-esbuild-plugin.js +6 -1
- package/helpers/nativeclass-esbuild-plugin.js.map +1 -1
- package/helpers/nativeclass-transform.d.ts +13 -0
- package/helpers/nativeclass-transform.js +37 -7
- package/helpers/nativeclass-transform.js.map +1 -1
- package/helpers/nativeclass-transformer-plugin.d.ts +9 -2
- package/helpers/nativeclass-transformer-plugin.js +163 -15
- package/helpers/nativeclass-transformer-plugin.js.map +1 -1
- package/helpers/nativescript-package-resolver.js +10 -62
- package/helpers/nativescript-package-resolver.js.map +1 -1
- package/helpers/normalize-id.d.ts +42 -0
- package/helpers/normalize-id.js +60 -0
- package/helpers/normalize-id.js.map +1 -0
- package/helpers/ns-core-external-urls.d.ts +32 -0
- package/helpers/ns-core-external-urls.js +107 -0
- package/helpers/ns-core-external-urls.js.map +1 -0
- package/helpers/ns-core-url.d.ts +26 -3
- package/helpers/ns-core-url.js +66 -8
- package/helpers/ns-core-url.js.map +1 -1
- package/helpers/optimize-deps.d.ts +16 -0
- package/helpers/optimize-deps.js +17 -0
- package/helpers/optimize-deps.js.map +1 -0
- package/helpers/package-platform-aliases.js +34 -49
- package/helpers/package-platform-aliases.js.map +1 -1
- package/helpers/platform-types.d.ts +2 -0
- package/helpers/platform-types.js +2 -0
- package/helpers/platform-types.js.map +1 -0
- package/helpers/postcss-platform-config.d.ts +17 -1
- package/helpers/postcss-platform-config.js +20 -37
- package/helpers/postcss-platform-config.js.map +1 -1
- package/helpers/project.d.ts +35 -0
- package/helpers/project.js +120 -2
- package/helpers/project.js.map +1 -1
- package/helpers/resolve-main-field-platform.d.ts +20 -0
- package/helpers/resolve-main-field-platform.js +49 -0
- package/helpers/resolve-main-field-platform.js.map +1 -0
- package/helpers/resolver.js +17 -2
- package/helpers/resolver.js.map +1 -1
- package/helpers/theme-core-plugins.js +1 -1
- package/helpers/theme-core-plugins.js.map +1 -1
- package/helpers/ts-config-paths.d.ts +32 -0
- package/helpers/ts-config-paths.js +156 -27
- package/helpers/ts-config-paths.js.map +1 -1
- package/helpers/typescript-check.d.ts +2 -1
- package/helpers/typescript-check.js +4 -4
- package/helpers/typescript-check.js.map +1 -1
- package/helpers/ui-registration.d.ts +21 -0
- package/helpers/ui-registration.js +156 -0
- package/helpers/ui-registration.js.map +1 -0
- package/helpers/utils.d.ts +9 -0
- package/helpers/utils.js +22 -2
- package/helpers/utils.js.map +1 -1
- package/helpers/vite-package-version.d.ts +7 -0
- package/helpers/vite-package-version.js +44 -0
- package/helpers/vite-package-version.js.map +1 -0
- package/helpers/workers.d.ts +40 -19
- package/helpers/workers.js +324 -13
- package/helpers/workers.js.map +1 -1
- package/hmr/client/css-handler.d.ts +2 -1
- package/hmr/client/css-handler.js +63 -32
- package/hmr/client/css-handler.js.map +1 -1
- package/hmr/client/css-update-overlay.d.ts +18 -0
- package/hmr/client/css-update-overlay.js +27 -0
- package/hmr/client/css-update-overlay.js.map +1 -0
- package/hmr/client/framework-client-strategy.d.ts +87 -0
- package/hmr/client/framework-client-strategy.js +18 -0
- package/hmr/client/framework-client-strategy.js.map +1 -0
- package/hmr/client/hmr-pending-overlay.d.ts +0 -14
- package/hmr/client/hmr-pending-overlay.js +2 -11
- package/hmr/client/hmr-pending-overlay.js.map +1 -1
- package/hmr/client/hot-context.d.ts +67 -0
- package/hmr/client/hot-context.js +307 -0
- package/hmr/client/hot-context.js.map +1 -0
- package/hmr/client/index.d.ts +9 -1
- package/hmr/client/index.js +70 -1970
- package/hmr/client/index.js.map +1 -1
- package/hmr/client/overlay-driver.d.ts +10 -0
- package/hmr/client/overlay-driver.js +33 -0
- package/hmr/client/overlay-driver.js.map +1 -0
- package/hmr/client/protocol-dispatch.d.ts +8 -0
- package/hmr/client/protocol-dispatch.js +308 -0
- package/hmr/client/protocol-dispatch.js.map +1 -0
- package/hmr/client/root-reset.d.ts +15 -0
- package/hmr/client/root-reset.js +358 -0
- package/hmr/client/root-reset.js.map +1 -0
- package/hmr/client/strategy-loader.d.ts +24 -0
- package/hmr/client/strategy-loader.js +83 -0
- package/hmr/client/strategy-loader.js.map +1 -0
- package/hmr/client/update-pipeline.d.ts +27 -0
- package/hmr/client/update-pipeline.js +464 -0
- package/hmr/client/update-pipeline.js.map +1 -0
- package/hmr/client/utils.d.ts +9 -1
- package/hmr/client/utils.js +117 -97
- package/hmr/client/utils.js.map +1 -1
- package/hmr/client/ws-transport.d.ts +21 -0
- package/hmr/client/ws-transport.js +323 -0
- package/hmr/client/ws-transport.js.map +1 -0
- package/hmr/entry-runtime.d.ts +2 -1
- package/hmr/entry-runtime.js +282 -71
- package/hmr/entry-runtime.js.map +1 -1
- package/hmr/frameworks/angular/build/angular-linker.d.ts +12 -0
- package/hmr/frameworks/angular/build/angular-linker.js +113 -0
- package/hmr/frameworks/angular/build/angular-linker.js.map +1 -0
- package/hmr/frameworks/angular/build/inject-component-hmr-registration.d.ts +112 -0
- package/hmr/frameworks/angular/build/inject-component-hmr-registration.js +291 -0
- package/hmr/frameworks/angular/build/inject-component-hmr-registration.js.map +1 -0
- package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.d.ts +75 -0
- package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js +221 -0
- package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js.map +1 -0
- package/{helpers/angular → hmr/frameworks/angular/build}/inline-decorator-component-templates.js +1 -170
- package/hmr/frameworks/angular/build/inline-decorator-component-templates.js.map +1 -0
- package/hmr/frameworks/angular/build/js-lexer.d.ts +4 -0
- package/{helpers/angular/synthesize-decorator-ctor-parameters.js → hmr/frameworks/angular/build/js-lexer.js} +22 -96
- package/hmr/frameworks/angular/build/js-lexer.js.map +1 -0
- package/hmr/frameworks/angular/build/linker-stats.d.ts +18 -0
- package/hmr/frameworks/angular/build/linker-stats.js +29 -0
- package/hmr/frameworks/angular/build/linker-stats.js.map +1 -0
- package/hmr/frameworks/angular/build/shared-linker.d.ts +39 -0
- package/hmr/frameworks/angular/build/shared-linker.js +128 -0
- package/hmr/frameworks/angular/build/shared-linker.js.map +1 -0
- package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js +88 -0
- package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js.map +1 -0
- package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-injectable-factories.js +1 -174
- package/hmr/frameworks/angular/build/synthesize-injectable-factories.js.map +1 -0
- package/hmr/frameworks/angular/build/ts-fallback-transform.d.ts +5 -0
- package/hmr/frameworks/angular/build/ts-fallback-transform.js +138 -0
- package/hmr/frameworks/angular/build/ts-fallback-transform.js.map +1 -0
- package/{helpers/angular → hmr/frameworks/angular/build}/util.d.ts +1 -0
- package/hmr/frameworks/angular/build/util.js +155 -0
- package/hmr/frameworks/angular/build/util.js.map +1 -0
- package/hmr/frameworks/angular/build/worker-url-preserve.d.ts +5 -0
- package/hmr/frameworks/angular/build/worker-url-preserve.js +140 -0
- package/hmr/frameworks/angular/build/worker-url-preserve.js.map +1 -0
- package/hmr/frameworks/angular/client/index.d.ts +0 -1
- package/hmr/frameworks/angular/client/index.js +459 -223
- package/hmr/frameworks/angular/client/index.js.map +1 -1
- package/hmr/frameworks/angular/client/strategy.d.ts +9 -0
- package/hmr/frameworks/angular/client/strategy.js +19 -0
- package/hmr/frameworks/angular/client/strategy.js.map +1 -0
- package/hmr/frameworks/angular/server/angular-root-component.d.ts +79 -0
- package/hmr/frameworks/angular/server/angular-root-component.js +149 -0
- package/hmr/frameworks/angular/server/angular-root-component.js.map +1 -0
- package/hmr/frameworks/angular/server/linker.js +1 -4
- package/hmr/frameworks/angular/server/linker.js.map +1 -1
- package/hmr/frameworks/angular/server/ng-component-route.d.ts +43 -0
- package/hmr/frameworks/angular/server/ng-component-route.js +113 -0
- package/hmr/frameworks/angular/server/ng-component-route.js.map +1 -0
- package/hmr/frameworks/angular/server/strategy.js +677 -13
- package/hmr/frameworks/angular/server/strategy.js.map +1 -1
- package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.js +2 -2
- package/hmr/frameworks/angular/server/websocket-angular-entry.js.map +1 -0
- package/hmr/{server → frameworks/angular/server}/websocket-angular-hot-update.d.ts +28 -11
- package/hmr/{server → frameworks/angular/server}/websocket-angular-hot-update.js +191 -105
- package/hmr/frameworks/angular/server/websocket-angular-hot-update.js.map +1 -0
- package/hmr/frameworks/react/client/strategy.d.ts +12 -0
- package/hmr/frameworks/react/client/strategy.js +27 -0
- package/hmr/frameworks/react/client/strategy.js.map +1 -0
- package/hmr/frameworks/react/server/strategy.d.ts +2 -0
- package/hmr/frameworks/react/server/strategy.js +230 -0
- package/hmr/frameworks/react/server/strategy.js.map +1 -0
- package/hmr/frameworks/solid/build/solid-jsx-deps.d.ts +15 -0
- package/hmr/frameworks/solid/build/solid-jsx-deps.js +178 -0
- package/hmr/frameworks/solid/build/solid-jsx-deps.js.map +1 -0
- package/hmr/frameworks/solid/client/app-runtime.d.ts +68 -0
- package/hmr/frameworks/solid/client/app-runtime.js +252 -0
- package/hmr/frameworks/solid/client/app-runtime.js.map +1 -0
- package/hmr/frameworks/solid/client/strategy.d.ts +7 -0
- package/hmr/frameworks/solid/client/strategy.js +391 -0
- package/hmr/frameworks/solid/client/strategy.js.map +1 -0
- package/hmr/frameworks/solid/server/strategy.js +293 -16
- package/hmr/frameworks/solid/server/strategy.js.map +1 -1
- package/hmr/frameworks/typescript/client/strategy.d.ts +7 -0
- package/hmr/frameworks/typescript/client/strategy.js +418 -0
- package/hmr/frameworks/typescript/client/strategy.js.map +1 -0
- package/hmr/frameworks/typescript/server/strategy.js +40 -14
- package/hmr/frameworks/typescript/server/strategy.js.map +1 -1
- package/hmr/frameworks/vue/client/dep-propagation.d.ts +44 -0
- package/hmr/frameworks/vue/client/dep-propagation.js +148 -0
- package/hmr/frameworks/vue/client/dep-propagation.js.map +1 -0
- package/hmr/frameworks/vue/client/index.d.ts +10 -1
- package/hmr/frameworks/vue/client/index.js +287 -562
- package/hmr/frameworks/vue/client/index.js.map +1 -1
- package/hmr/frameworks/vue/client/navigate-app.d.ts +3 -0
- package/hmr/frameworks/vue/client/navigate-app.js +178 -0
- package/hmr/frameworks/vue/client/navigate-app.js.map +1 -0
- package/hmr/frameworks/vue/client/strategy.d.ts +33 -0
- package/hmr/frameworks/vue/client/strategy.js +152 -0
- package/hmr/frameworks/vue/client/strategy.js.map +1 -0
- package/hmr/frameworks/vue/client/vue-sfc-update-overlay.d.ts +49 -0
- package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js +124 -0
- package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js.map +1 -0
- package/hmr/frameworks/vue/server/compiler.d.ts +3 -1
- package/hmr/frameworks/vue/server/compiler.js +3 -1
- package/hmr/frameworks/vue/server/compiler.js.map +1 -1
- package/hmr/frameworks/vue/server/sfc-route-assemble.d.ts +7 -0
- package/hmr/frameworks/vue/server/sfc-route-assemble.js +823 -0
- package/hmr/frameworks/vue/server/sfc-route-assemble.js.map +1 -0
- package/hmr/frameworks/vue/server/sfc-route-meta.d.ts +7 -0
- package/hmr/frameworks/vue/server/sfc-route-meta.js +80 -0
- package/hmr/frameworks/vue/server/sfc-route-meta.js.map +1 -0
- package/hmr/frameworks/vue/server/sfc-route-serve.d.ts +8 -0
- package/hmr/frameworks/vue/server/sfc-route-serve.js +462 -0
- package/hmr/frameworks/vue/server/sfc-route-serve.js.map +1 -0
- package/hmr/frameworks/vue/server/sfc-route-shared.d.ts +45 -0
- package/hmr/frameworks/vue/server/sfc-route-shared.js +105 -0
- package/hmr/frameworks/vue/server/sfc-route-shared.js.map +1 -0
- package/hmr/frameworks/vue/server/strategy.d.ts +35 -0
- package/hmr/frameworks/vue/server/strategy.js +291 -7
- package/hmr/frameworks/vue/server/strategy.js.map +1 -1
- package/hmr/frameworks/vue/server/websocket-sfc.d.ts +15 -0
- package/hmr/frameworks/vue/server/websocket-sfc.js +20 -0
- package/hmr/frameworks/vue/server/websocket-sfc.js.map +1 -0
- package/hmr/helpers/ast-normalizer.d.ts +3 -1
- package/hmr/helpers/ast-normalizer.js +109 -14
- package/hmr/helpers/ast-normalizer.js.map +1 -1
- package/hmr/helpers/cjs-named-exports.d.ts +23 -0
- package/hmr/helpers/cjs-named-exports.js +152 -0
- package/hmr/helpers/cjs-named-exports.js.map +1 -0
- package/hmr/helpers/package-exports.d.ts +16 -0
- package/hmr/helpers/package-exports.js +396 -0
- package/hmr/helpers/package-exports.js.map +1 -0
- package/hmr/helpers/vendor-rewrite.d.ts +1 -1
- package/hmr/helpers/vendor-rewrite.js +5 -3
- package/hmr/helpers/vendor-rewrite.js.map +1 -1
- package/hmr/server/boot-recording.d.ts +51 -0
- package/hmr/server/boot-recording.js +214 -0
- package/hmr/server/boot-recording.js.map +1 -0
- package/hmr/server/constants.js +20 -5
- package/hmr/server/constants.js.map +1 -1
- package/hmr/server/content-css-update.d.ts +54 -0
- package/hmr/server/content-css-update.js +78 -0
- package/hmr/server/content-css-update.js.map +1 -0
- package/hmr/server/core-bundle.d.ts +140 -0
- package/hmr/server/core-bundle.js +614 -0
- package/hmr/server/core-bundle.js.map +1 -0
- package/hmr/server/core-sanitize.d.ts +86 -7
- package/hmr/server/core-sanitize.js +164 -39
- package/hmr/server/core-sanitize.js.map +1 -1
- package/hmr/server/css-connect-sync.d.ts +28 -0
- package/hmr/server/css-connect-sync.js +59 -0
- package/hmr/server/css-connect-sync.js.map +1 -0
- package/hmr/server/css-device-module.d.ts +28 -0
- package/hmr/server/css-device-module.js +44 -0
- package/hmr/server/css-device-module.js.map +1 -0
- package/hmr/server/css-update-message.d.ts +23 -0
- package/hmr/server/css-update-message.js +41 -0
- package/hmr/server/css-update-message.js.map +1 -0
- package/hmr/server/deps-bundle.d.ts +233 -0
- package/hmr/server/deps-bundle.js +1022 -0
- package/hmr/server/deps-bundle.js.map +1 -0
- package/hmr/server/device-transform-helpers.d.ts +24 -0
- package/hmr/server/device-transform-helpers.js +408 -0
- package/hmr/server/device-transform-helpers.js.map +1 -0
- package/hmr/server/framework-strategy.d.ts +182 -11
- package/hmr/server/hmr-module-graph.d.ts +37 -0
- package/hmr/server/hmr-module-graph.js +215 -0
- package/hmr/server/hmr-module-graph.js.map +1 -0
- package/hmr/server/import-map.d.ts +51 -19
- package/hmr/server/import-map.js +136 -66
- package/hmr/server/import-map.js.map +1 -1
- package/hmr/server/index.js +7 -16
- package/hmr/server/index.js.map +1 -1
- package/hmr/server/node-builtins-route.d.ts +12 -0
- package/hmr/server/node-builtins-route.js +86 -0
- package/hmr/server/node-builtins-route.js.map +1 -0
- package/hmr/server/ns-core-cjs-shape.js +1 -1
- package/hmr/server/ns-core-cjs-shape.js.map +1 -1
- package/hmr/server/ns-m-response-memo.d.ts +10 -0
- package/hmr/server/ns-m-response-memo.js +33 -0
- package/hmr/server/ns-m-response-memo.js.map +1 -0
- package/hmr/server/ns-rt-bridge.d.ts +51 -0
- package/hmr/server/ns-rt-bridge.js +131 -0
- package/hmr/server/ns-rt-bridge.js.map +1 -0
- package/hmr/server/ns-rt-route.d.ts +5 -0
- package/hmr/server/ns-rt-route.js +39 -0
- package/hmr/server/ns-rt-route.js.map +1 -0
- package/hmr/server/perf-instrumentation.d.ts +1 -1
- package/hmr/server/perf-instrumentation.js +3 -1
- package/hmr/server/perf-instrumentation.js.map +1 -1
- package/hmr/server/process-code-for-device.d.ts +44 -0
- package/hmr/server/process-code-for-device.js +834 -0
- package/hmr/server/process-code-for-device.js.map +1 -0
- package/hmr/server/require-guard.d.ts +1 -0
- package/hmr/server/require-guard.js +12 -0
- package/hmr/server/require-guard.js.map +1 -0
- package/hmr/server/rewrite-imports.d.ts +2 -0
- package/hmr/server/rewrite-imports.js +631 -0
- package/hmr/server/rewrite-imports.js.map +1 -0
- package/hmr/server/route-helpers.d.ts +7 -0
- package/hmr/server/route-helpers.js +13 -0
- package/hmr/server/route-helpers.js.map +1 -0
- package/hmr/server/runtime-graph-filter.js +8 -1
- package/hmr/server/runtime-graph-filter.js.map +1 -1
- package/hmr/server/server-origin.d.ts +2 -0
- package/hmr/server/server-origin.js +88 -0
- package/hmr/server/server-origin.js.map +1 -0
- package/hmr/server/shared-transform-request.js +1 -2
- package/hmr/server/shared-transform-request.js.map +1 -1
- package/hmr/server/socket-utils.d.ts +10 -0
- package/hmr/server/socket-utils.js +14 -0
- package/hmr/server/socket-utils.js.map +1 -0
- package/hmr/server/transform-cache-invalidation.d.ts +37 -0
- package/hmr/server/transform-cache-invalidation.js +156 -0
- package/hmr/server/transform-cache-invalidation.js.map +1 -0
- package/hmr/server/vendor-bare-module-shims.d.ts +4 -0
- package/hmr/server/vendor-bare-module-shims.js +80 -0
- package/hmr/server/vendor-bare-module-shims.js.map +1 -0
- package/hmr/server/vite-plugin.d.ts +1 -0
- package/hmr/server/vite-plugin.js +227 -53
- package/hmr/server/vite-plugin.js.map +1 -1
- package/hmr/server/websocket-core-bridge.d.ts +51 -4
- package/hmr/server/websocket-core-bridge.js +62 -49
- package/hmr/server/websocket-core-bridge.js.map +1 -1
- package/hmr/server/websocket-device-transform.d.ts +3 -0
- package/hmr/server/websocket-device-transform.js +7 -0
- package/hmr/server/websocket-device-transform.js.map +1 -0
- package/hmr/server/websocket-hmr-pending.d.ts +2 -16
- package/hmr/server/websocket-hmr-pending.js +0 -22
- package/hmr/server/websocket-hmr-pending.js.map +1 -1
- package/hmr/server/websocket-hot-update.d.ts +80 -0
- package/hmr/server/websocket-hot-update.js +295 -0
- package/hmr/server/websocket-hot-update.js.map +1 -0
- package/hmr/server/websocket-import-map-route.d.ts +15 -0
- package/hmr/server/websocket-import-map-route.js +51 -0
- package/hmr/server/websocket-import-map-route.js.map +1 -0
- package/hmr/server/websocket-module-bindings.d.ts +15 -0
- package/hmr/server/websocket-module-bindings.js +38 -5
- package/hmr/server/websocket-module-bindings.js.map +1 -1
- package/hmr/server/websocket-module-specifiers.d.ts +66 -7
- package/hmr/server/websocket-module-specifiers.js +219 -49
- package/hmr/server/websocket-module-specifiers.js.map +1 -1
- package/hmr/server/websocket-ns-core.d.ts +34 -0
- package/hmr/server/websocket-ns-core.js +414 -0
- package/hmr/server/websocket-ns-core.js.map +1 -0
- package/hmr/server/websocket-ns-entry.d.ts +21 -0
- package/hmr/server/websocket-ns-entry.js +164 -0
- package/hmr/server/websocket-ns-entry.js.map +1 -0
- package/hmr/server/websocket-ns-m-paths.d.ts +19 -3
- package/hmr/server/websocket-ns-m-paths.js +98 -75
- package/hmr/server/websocket-ns-m-paths.js.map +1 -1
- package/hmr/server/websocket-ns-m-request.d.ts +13 -2
- package/hmr/server/websocket-ns-m-request.js +20 -11
- package/hmr/server/websocket-ns-m-request.js.map +1 -1
- package/hmr/server/websocket-ns-m.d.ts +52 -0
- package/hmr/server/websocket-ns-m.js +590 -0
- package/hmr/server/websocket-ns-m.js.map +1 -0
- package/hmr/server/websocket-served-module-helpers.d.ts +57 -4
- package/hmr/server/websocket-served-module-helpers.js +462 -141
- package/hmr/server/websocket-served-module-helpers.js.map +1 -1
- package/hmr/server/websocket-txn.js +6 -9
- package/hmr/server/websocket-txn.js.map +1 -1
- package/hmr/server/websocket-vendor-unifier.d.ts +0 -1
- package/hmr/server/websocket-vendor-unifier.js +4 -9
- package/hmr/server/websocket-vendor-unifier.js.map +1 -1
- package/hmr/server/websocket.d.ts +7 -40
- package/hmr/server/websocket.js +653 -6734
- package/hmr/server/websocket.js.map +1 -1
- package/hmr/shared/ns-globals.d.ts +106 -0
- package/hmr/shared/ns-globals.js +29 -0
- package/hmr/shared/ns-globals.js.map +1 -0
- package/hmr/shared/protocol.d.ts +157 -0
- package/hmr/shared/protocol.js +28 -0
- package/hmr/shared/protocol.js.map +1 -0
- package/hmr/shared/runtime/boot-complete.d.ts +14 -0
- package/hmr/shared/runtime/boot-complete.js +32 -0
- package/hmr/shared/runtime/boot-complete.js.map +1 -0
- package/hmr/shared/runtime/boot-placeholder-ui.d.ts +69 -0
- package/hmr/shared/runtime/boot-placeholder-ui.js +101 -0
- package/hmr/shared/runtime/boot-placeholder-ui.js.map +1 -0
- package/hmr/shared/runtime/boot-progress.d.ts +44 -0
- package/hmr/shared/runtime/boot-progress.js +134 -0
- package/hmr/shared/runtime/boot-progress.js.map +1 -0
- package/hmr/shared/runtime/boot-timeline.d.ts +1 -1
- package/hmr/shared/runtime/boot-timeline.js +8 -19
- package/hmr/shared/runtime/boot-timeline.js.map +1 -1
- package/hmr/shared/runtime/browser-runtime-contract.d.ts +43 -24
- package/hmr/shared/runtime/browser-runtime-contract.js +21 -9
- package/hmr/shared/runtime/browser-runtime-contract.js.map +1 -1
- package/hmr/shared/runtime/dev-overlay-ios.d.ts +87 -0
- package/hmr/shared/runtime/dev-overlay-ios.js +521 -0
- package/hmr/shared/runtime/dev-overlay-ios.js.map +1 -0
- package/hmr/shared/runtime/dev-overlay-shared.d.ts +58 -0
- package/hmr/shared/runtime/dev-overlay-shared.js +116 -0
- package/hmr/shared/runtime/dev-overlay-shared.js.map +1 -0
- package/hmr/shared/runtime/dev-overlay-snapshots.d.ts +31 -0
- package/hmr/shared/runtime/dev-overlay-snapshots.js +324 -0
- package/hmr/shared/runtime/dev-overlay-snapshots.js.map +1 -0
- package/hmr/shared/runtime/dev-overlay-tree.d.ts +59 -0
- package/hmr/shared/runtime/dev-overlay-tree.js +712 -0
- package/hmr/shared/runtime/dev-overlay-tree.js.map +1 -0
- package/hmr/shared/runtime/dev-overlay.d.ts +23 -69
- package/hmr/shared/runtime/dev-overlay.js +67 -1023
- package/hmr/shared/runtime/dev-overlay.js.map +1 -1
- package/hmr/shared/runtime/global-scope.d.ts +18 -0
- package/hmr/shared/runtime/global-scope.js +21 -0
- package/hmr/shared/runtime/global-scope.js.map +1 -0
- package/hmr/shared/runtime/hooks.js +2 -1
- package/hmr/shared/runtime/hooks.js.map +1 -1
- package/hmr/shared/runtime/launch-bridge.d.ts +9 -0
- package/hmr/shared/runtime/launch-bridge.js +98 -0
- package/hmr/shared/runtime/launch-bridge.js.map +1 -0
- package/hmr/shared/runtime/module-provenance.js +4 -6
- package/hmr/shared/runtime/module-provenance.js.map +1 -1
- package/hmr/shared/runtime/ns-runtime-test-double.d.ts +21 -0
- package/hmr/shared/runtime/ns-runtime-test-double.js +20 -0
- package/hmr/shared/runtime/ns-runtime-test-double.js.map +1 -0
- package/hmr/shared/runtime/overlay-flag.d.ts +9 -0
- package/hmr/shared/runtime/overlay-flag.js +34 -0
- package/hmr/shared/runtime/overlay-flag.js.map +1 -0
- package/hmr/shared/runtime/root-placeholder-view.d.ts +19 -0
- package/hmr/shared/runtime/root-placeholder-view.js +311 -0
- package/hmr/shared/runtime/root-placeholder-view.js.map +1 -0
- package/hmr/shared/runtime/root-placeholder.js +401 -206
- package/hmr/shared/runtime/root-placeholder.js.map +1 -1
- package/hmr/shared/runtime/session-bootstrap.js +203 -58
- package/hmr/shared/runtime/session-bootstrap.js.map +1 -1
- package/hmr/shared/runtime/vendor-bootstrap.js +3 -10
- package/hmr/shared/runtime/vendor-bootstrap.js.map +1 -1
- package/hmr/shared/runtime/vendor-resolve.d.ts +22 -0
- package/hmr/shared/runtime/vendor-resolve.js +45 -0
- package/hmr/shared/runtime/vendor-resolve.js.map +1 -0
- package/hmr/shared/vendor/manifest-collect.d.ts +4 -0
- package/hmr/shared/vendor/manifest-collect.js +909 -0
- package/hmr/shared/vendor/manifest-collect.js.map +1 -0
- package/hmr/shared/vendor/manifest-loader.d.ts +2 -1
- package/hmr/shared/vendor/manifest-loader.js +5 -3
- package/hmr/shared/vendor/manifest-loader.js.map +1 -1
- package/hmr/shared/vendor/manifest.d.ts +12 -7
- package/hmr/shared/vendor/manifest.js +180 -826
- package/hmr/shared/vendor/manifest.js.map +1 -1
- package/hmr/shared/vendor/registry.d.ts +2 -0
- package/hmr/shared/vendor/registry.js +14 -0
- package/hmr/shared/vendor/registry.js.map +1 -1
- package/hmr/shared/vendor/vendor-device-shim.d.ts +1 -0
- package/hmr/shared/vendor/vendor-device-shim.js +208 -0
- package/hmr/shared/vendor/vendor-device-shim.js.map +1 -0
- package/hmr/shared/vendor/vendor-esbuild-plugins.d.ts +107 -0
- package/hmr/shared/vendor/vendor-esbuild-plugins.js +540 -0
- package/hmr/shared/vendor/vendor-esbuild-plugins.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +5 -0
- package/index.js.map +1 -1
- package/package.json +65 -13
- package/runtime/core-aliases-early.js +28 -57
- package/runtime/core-aliases-early.js.map +1 -1
- package/shims/react-jsx-runtime.d.ts +4 -0
- package/shims/react-jsx-runtime.js +61 -0
- package/shims/react-jsx-runtime.js.map +1 -0
- package/helpers/angular/angular-linker.d.ts +0 -13
- package/helpers/angular/angular-linker.js +0 -194
- package/helpers/angular/angular-linker.js.map +0 -1
- package/helpers/angular/inline-decorator-component-templates.js.map +0 -1
- package/helpers/angular/shared-linker.d.ts +0 -11
- package/helpers/angular/shared-linker.js +0 -75
- package/helpers/angular/shared-linker.js.map +0 -1
- package/helpers/angular/synthesize-decorator-ctor-parameters.js.map +0 -1
- package/helpers/angular/synthesize-injectable-factories.js.map +0 -1
- package/helpers/angular/util.js +0 -67
- package/helpers/angular/util.js.map +0 -1
- package/helpers/module-runner-patch.d.ts +0 -3
- package/helpers/module-runner-patch.js +0 -63
- package/helpers/module-runner-patch.js.map +0 -1
- package/helpers/prelink-angular.d.ts +0 -2
- package/helpers/prelink-angular.js +0 -117
- package/helpers/prelink-angular.js.map +0 -1
- package/hmr/server/websocket-angular-entry.js.map +0 -1
- package/hmr/server/websocket-angular-hot-update.js.map +0 -1
- package/hmr/server/websocket-ns-m-finalize.d.ts +0 -22
- package/hmr/server/websocket-ns-m-finalize.js +0 -88
- package/hmr/server/websocket-ns-m-finalize.js.map +0 -1
- package/hmr/server/websocket-runtime-compat.d.ts +0 -19
- package/hmr/server/websocket-runtime-compat.js +0 -287
- package/hmr/server/websocket-runtime-compat.js.map +0 -1
- package/hmr/server/websocket-vue-sfc.d.ts +0 -27
- package/hmr/server/websocket-vue-sfc.js +0 -1114
- package/hmr/server/websocket-vue-sfc.js.map +0 -1
- package/hmr/shared/runtime/http-only-boot.d.ts +0 -2
- package/hmr/shared/runtime/http-only-boot.js +0 -171
- package/hmr/shared/runtime/http-only-boot.js.map +0 -1
- package/hmr/vendor-bootstrap.d.ts +0 -3
- package/hmr/vendor-bootstrap.js +0 -32
- package/hmr/vendor-bootstrap.js.map +0 -1
- package/shims/react-reconciler-constants.d.ts +0 -14
- package/shims/react-reconciler-constants.js +0 -21
- package/shims/react-reconciler-constants.js.map +0 -1
- package/shims/react-reconciler.d.ts +0 -8
- package/shims/react-reconciler.js +0 -15
- package/shims/react-reconciler.js.map +0 -1
- package/transformers/NativeClass/index.d.ts +0 -2
- package/transformers/NativeClass/index.js +0 -222
- package/transformers/NativeClass/index.js.map +0 -1
- /package/{helpers/angular → hmr/frameworks/angular/build}/inline-decorator-component-templates.d.ts +0 -0
- /package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-decorator-ctor-parameters.d.ts +0 -0
- /package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-injectable-factories.d.ts +0 -0
- /package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.d.ts +0 -0
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';
|
|
2
2
|
import fs from 'node:fs';
|
|
3
3
|
import path from 'path';
|
|
4
|
-
import os from 'os';
|
|
5
4
|
import { pathToFileURL } from 'url';
|
|
6
5
|
import { NS_DEFAULT_DEV_FEATURE_FLAGS, NS_DEFAULT_HOST_MODULES } from '../shared/runtime/browser-runtime-contract.js';
|
|
6
|
+
import { resolveDeviceReachableHost } from '../../helpers/dev-host.js';
|
|
7
|
+
import { setUserDefineEntries } from '../../helpers/global-defines.js';
|
|
8
|
+
import { getMonorepoWorkspaceRoot } from '../../helpers/project.js';
|
|
7
9
|
const require = createRequire(import.meta.url);
|
|
8
10
|
const VIRTUAL_ID = 'virtual:ns-hmr-client';
|
|
9
11
|
const RESOLVED_ID = '\0' + VIRTUAL_ID;
|
|
@@ -11,12 +13,39 @@ export function computeClientImportSpecifier(options) {
|
|
|
11
13
|
const { projectRoot, clientFsPath } = options;
|
|
12
14
|
let clientImport = clientFsPath;
|
|
13
15
|
try {
|
|
16
|
+
const fsPosix = clientFsPath.replace(/\\/g, '/');
|
|
14
17
|
const rel = path.relative(projectRoot, clientFsPath);
|
|
15
18
|
const relPosix = rel.replace(/\\/g, '/');
|
|
16
19
|
if (path.isAbsolute(rel)) {
|
|
17
20
|
clientImport = pathToFileURL(clientFsPath).toString();
|
|
18
21
|
}
|
|
19
22
|
else {
|
|
23
|
+
// Prefer routing via the absolute fs path's `node_modules/...` tail. This
|
|
24
|
+
// covers monorepo / pnpm setups where node_modules is hoisted ABOVE the
|
|
25
|
+
// project root and `path.relative` would otherwise produce a
|
|
26
|
+
// "../../node_modules/..." specifier. That relative form is sent to the
|
|
27
|
+
// device's bootstrap as `__NS_BROWSER_RUNTIME_CLIENT_IMPORT__`, where the
|
|
28
|
+
// URL constructor resolves it against `${origin}/__ns_dev__/client` and
|
|
29
|
+
// collapses the leading `..` segments back to `${origin}/node_modules/...`.
|
|
30
|
+
// That URL bypasses the `/ns/m/` AST-normalizer pipeline (which strips
|
|
31
|
+
// browser-only `/@vite/client` imports), so the on-device HTTP loader
|
|
32
|
+
// eventually tries to fetch `/@vite/client` and fails with
|
|
33
|
+
// "HTTP import failed (status=0)" / "Instantiation failed (http-loader)".
|
|
34
|
+
const lastNm = fsPosix.lastIndexOf('/node_modules/');
|
|
35
|
+
if (lastNm !== -1) {
|
|
36
|
+
return `/ns/m${fsPosix.slice(lastNm)}`;
|
|
37
|
+
}
|
|
38
|
+
// Monorepo dist symlink (e.g. `"@nativescript/vite": "file:../../dist/packages/vite"`):
|
|
39
|
+
// require.resolve follows the node_modules symlink to its REAL path under
|
|
40
|
+
// the workspace root, which contains no `/node_modules/` segment. The
|
|
41
|
+
// `../../dist/...` relative form below would resolve on-device to
|
|
42
|
+
// `${origin}/dist/...`, which Vite's middleware 404s (outside root, not
|
|
43
|
+
// /@fs/). Route through /ns/m with a workspace-root-relative path so the
|
|
44
|
+
// fetch goes through the same served-module pipeline as everything else.
|
|
45
|
+
const wsRoot = getMonorepoWorkspaceRoot(projectRoot)?.replace(/\\/g, '/');
|
|
46
|
+
if (wsRoot && fsPosix.startsWith(wsRoot + '/')) {
|
|
47
|
+
return `/ns/m/${fsPosix.slice(wsRoot.length + 1)}`;
|
|
48
|
+
}
|
|
20
49
|
const normalizedRel = (relPosix.startsWith('.') ? relPosix : `/${relPosix}`).replace(/\/+/g, '/');
|
|
21
50
|
clientImport = normalizedRel.startsWith('/node_modules/') ? `/ns/m${normalizedRel}` : normalizedRel;
|
|
22
51
|
}
|
|
@@ -45,11 +74,15 @@ export function createNsDevSessionDescriptor(options) {
|
|
|
45
74
|
const wsProtocol = options.secure ? 'wss' : 'ws';
|
|
46
75
|
const origin = `${protocol}://${options.requestHost}`;
|
|
47
76
|
const entryPathname = options.mainEntryPathname || resolveProjectMainEntryPath(options.projectRoot);
|
|
48
|
-
|
|
77
|
+
// Canonical (untagged) entry URL. Boot-progress instrumentation is
|
|
78
|
+
// injected self-gating by the /ns/m module server (the snippet no-ops
|
|
79
|
+
// once `__NS_HMR_BOOT_COMPLETE__` flips), so the entry URL needs no
|
|
80
|
+
// `__ns_boot__` decoration — module identity IS the URL.
|
|
81
|
+
const canonicalEntryPathname = entryPathname.startsWith('/ns/m/') ? entryPathname : `/ns/m${entryPathname.startsWith('/') ? entryPathname : `/${entryPathname}`}`;
|
|
49
82
|
return {
|
|
50
83
|
sessionId: options.sessionId,
|
|
51
84
|
origin,
|
|
52
|
-
entryUrl: `${origin}${
|
|
85
|
+
entryUrl: `${origin}${canonicalEntryPathname}`,
|
|
53
86
|
clientUrl: `${origin}/__ns_dev__/client`,
|
|
54
87
|
wsUrl: `${wsProtocol}://${options.requestHost}/ns-hmr`,
|
|
55
88
|
platform: options.platform,
|
|
@@ -81,9 +114,41 @@ export function createNsDevClientBootstrapCode(options) {
|
|
|
81
114
|
const resolvedClientImport = resolveBootstrapImportUrl(normalizedOrigin, options.clientImport);
|
|
82
115
|
const vendorBundleUrl = `${normalizedOrigin}/@nativescript/vendor.mjs`;
|
|
83
116
|
const vendorBootstrapUrl = `${normalizedOrigin}/ns/m/node_modules/@nativescript/vite/hmr/shared/runtime/vendor-bootstrap.js`;
|
|
117
|
+
const resolvedHotContextImport = resolveBootstrapImportUrl(normalizedOrigin, options.hotContextImport || '/ns/m/node_modules/@nativescript/vite/hmr/client/hot-context.js');
|
|
118
|
+
const entryRuntimeUrl = `${normalizedOrigin}/ns/m/node_modules/@nativescript/vite/hmr/entry-runtime.js`;
|
|
119
|
+
const cssHandlerUrl = `${normalizedOrigin}/ns/m/node_modules/@nativescript/vite/hmr/client/css-handler.js`;
|
|
120
|
+
// Canonical, unversioned core-bridge URL (see helpers/ns-core-url.ts) — the
|
|
121
|
+
// app graph already loaded this exact URL during boot, so importing it here
|
|
122
|
+
// resolves to the SAME module record/realm instead of minting a new one.
|
|
123
|
+
const coreBridgeUrl = `${normalizedOrigin}/ns/core`;
|
|
124
|
+
const launchBridgeUrl = `${normalizedOrigin}/ns/m/node_modules/@nativescript/vite/hmr/shared/runtime/launch-bridge.js`;
|
|
84
125
|
return `
|
|
85
126
|
import { installVendorBootstrap as __nsBrowserRuntimeInstallVendorBootstrap } from ${JSON.stringify(vendorBootstrapUrl)};
|
|
86
127
|
import { vendorManifest as __nsBrowserRuntimeVendorManifest, __nsVendorModuleMap as __nsBrowserRuntimeVendorModuleMap } from ${JSON.stringify(vendorBundleUrl)};
|
|
128
|
+
import { installNsHotRegistry as __nsBrowserRuntimeInstallHotRegistry } from ${JSON.stringify(resolvedHotContextImport)};
|
|
129
|
+
import { installLaunchNotificationBridge as __nsBrowserRuntimeInstallLaunchBridge } from ${JSON.stringify(launchBridgeUrl)};
|
|
130
|
+
import * as __nsBrowserRuntimeCoreBridge from ${JSON.stringify(coreBridgeUrl)};
|
|
131
|
+
|
|
132
|
+
// Launch-notification bridge — must precede the app entry (this wrapper is
|
|
133
|
+
// imported by the session bootstrap BEFORE the entry graph). Passing the
|
|
134
|
+
// /ns/core realm's Application: that is the instance app code gets, and the
|
|
135
|
+
// only deterministic wrap point (the full HMR client evaluates async and
|
|
136
|
+
// loses the race against the entry). See shared/runtime/launch-bridge.ts.
|
|
137
|
+
try {
|
|
138
|
+
const __nsCoreNs = __nsBrowserRuntimeCoreBridge && (__nsBrowserRuntimeCoreBridge.default ?? __nsBrowserRuntimeCoreBridge);
|
|
139
|
+
__nsBrowserRuntimeInstallLaunchBridge(__nsCoreNs && __nsCoreNs.Application);
|
|
140
|
+
} catch (launchBridgeErr) {
|
|
141
|
+
console.warn('[ns-browser-runtime-client] launch-notification bridge install failed', launchBridgeErr);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// Install the JS hot registry FIRST: every served app module's injected
|
|
145
|
+
// prelude reads globalThis.__NS_HOT_REGISTRY__ at evaluation time, and this
|
|
146
|
+
// bootstrap is imported before the entry graph (see session-bootstrap.ts).
|
|
147
|
+
try {
|
|
148
|
+
__nsBrowserRuntimeInstallHotRegistry();
|
|
149
|
+
} catch (hotErr) {
|
|
150
|
+
console.warn('[ns-browser-runtime-client] failed to install hot registry', hotErr);
|
|
151
|
+
}
|
|
87
152
|
|
|
88
153
|
const __NS_BROWSER_RUNTIME_WS_URL__ = ${JSON.stringify(options.wsUrl)};
|
|
89
154
|
const __NS_BROWSER_RUNTIME_ORIGIN__ = ${JSON.stringify(options.origin)};
|
|
@@ -118,24 +183,95 @@ function __nsBrowserRuntimeEnsureVendorBootstrap() {
|
|
|
118
183
|
}
|
|
119
184
|
}
|
|
120
185
|
|
|
186
|
+
// Pure-JS CSS apply for the bootstrap fallback client. Prefers the HTTP
|
|
187
|
+
// core realm applier installed by the entry runtime
|
|
188
|
+
// (__NS_HMR_APPLY_CSS__), then falls back to Application.addCss through
|
|
189
|
+
// the vendor realm. No native CSS hook exists anymore.
|
|
190
|
+
function __nsBrowserRuntimeApplyCss(cssText) {
|
|
191
|
+
if (typeof cssText !== 'string' || !cssText.length) {
|
|
192
|
+
return false;
|
|
193
|
+
}
|
|
194
|
+
try {
|
|
195
|
+
const applyInCoreRealm = globalThis.__NS_HMR_APPLY_CSS__;
|
|
196
|
+
if (typeof applyInCoreRealm === 'function') {
|
|
197
|
+
applyInCoreRealm(cssText, true);
|
|
198
|
+
return true;
|
|
199
|
+
}
|
|
200
|
+
} catch (cssErr) {
|
|
201
|
+
if (__NS_BROWSER_RUNTIME_VERBOSE__) {
|
|
202
|
+
console.warn('[ns-browser-runtime-client] __NS_HMR_APPLY_CSS__ threw', cssErr);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
try {
|
|
206
|
+
const registry = globalThis.__nsVendorRegistry;
|
|
207
|
+
const coreMod = registry && typeof registry.get === 'function' ? registry.get('@nativescript/core') : null;
|
|
208
|
+
const core = (coreMod && (coreMod.default || coreMod)) || coreMod;
|
|
209
|
+
const Application = core && core.Application;
|
|
210
|
+
if (Application && typeof Application.addCss === 'function') {
|
|
211
|
+
Application.addCss(cssText);
|
|
212
|
+
try {
|
|
213
|
+
const rootView = typeof Application.getRootView === 'function' ? Application.getRootView() : null;
|
|
214
|
+
if (rootView && typeof rootView._onCssStateChange === 'function') {
|
|
215
|
+
rootView._onCssStateChange();
|
|
216
|
+
}
|
|
217
|
+
} catch {}
|
|
218
|
+
return true;
|
|
219
|
+
}
|
|
220
|
+
} catch (cssErr) {
|
|
221
|
+
if (__NS_BROWSER_RUNTIME_VERBOSE__) {
|
|
222
|
+
console.warn('[ns-browser-runtime-client] Application.addCss fallback threw', cssErr);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
if (__NS_BROWSER_RUNTIME_VERBOSE__) {
|
|
226
|
+
console.warn('[ns-browser-runtime-client] no CSS applier available; skipping CSS update');
|
|
227
|
+
}
|
|
228
|
+
return false;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
async function __nsBrowserRuntimeInstallHttpCoreCssApplier() {
|
|
232
|
+
// Monorepo / per-module core dev boots ship a minimal vendor bundle with NO
|
|
233
|
+
// @nativescript/core, so neither quick applier above exists. Install the
|
|
234
|
+
// same HTTP-core-realm applier the http-bootloader fallback path uses
|
|
235
|
+
// (entry-runtime's installHttpCoreCssSupport): it prefers the pre-parsed
|
|
236
|
+
// app.css AST (globalThis.__NS_HMR_APP_CSS_AST__), applies the seeded CSS,
|
|
237
|
+
// flips __NS_HMR_HTTP_APP_CSS_APPLIED__, and installs __NS_HMR_APPLY_CSS__
|
|
238
|
+
// so later live CSS edits land in the core realm the app actually uses.
|
|
239
|
+
try {
|
|
240
|
+
const entryRuntime = await import(${JSON.stringify(entryRuntimeUrl)});
|
|
241
|
+
const installHttpCoreCssSupport = entryRuntime && entryRuntime.installHttpCoreCssSupport;
|
|
242
|
+
if (typeof installHttpCoreCssSupport !== 'function') {
|
|
243
|
+
if (__NS_BROWSER_RUNTIME_VERBOSE__) {
|
|
244
|
+
console.warn('[ns-browser-runtime-client] entry runtime is missing installHttpCoreCssSupport; skipping CSS install');
|
|
245
|
+
}
|
|
246
|
+
return false;
|
|
247
|
+
}
|
|
248
|
+
const coreBridge = await import(${JSON.stringify(coreBridgeUrl)});
|
|
249
|
+
const applier = installHttpCoreCssSupport(coreBridge, __NS_BROWSER_RUNTIME_VERBOSE__);
|
|
250
|
+
if (applier && __NS_BROWSER_RUNTIME_VERBOSE__) {
|
|
251
|
+
console.info('[ns-entry] app.css applied in HTTP core realm');
|
|
252
|
+
}
|
|
253
|
+
return !!applier;
|
|
254
|
+
} catch (cssErr) {
|
|
255
|
+
if (__NS_BROWSER_RUNTIME_VERBOSE__) {
|
|
256
|
+
console.warn('[ns-browser-runtime-client] HTTP core realm CSS install failed', cssErr);
|
|
257
|
+
}
|
|
258
|
+
return false;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
|
|
121
262
|
async function __nsBrowserRuntimeReplaySeededCss() {
|
|
122
263
|
const cssText = globalThis.__NS_HMR_APP_CSS__;
|
|
123
264
|
if (typeof cssText !== 'string' || !cssText.length || globalThis.__NS_HMR_HTTP_APP_CSS_APPLIED__) {
|
|
124
265
|
return;
|
|
125
266
|
}
|
|
126
|
-
|
|
127
|
-
|
|
267
|
+
if (__nsBrowserRuntimeApplyCss(cssText)) {
|
|
268
|
+
globalThis.__NS_HMR_HTTP_APP_CSS_APPLIED__ = true;
|
|
128
269
|
if (__NS_BROWSER_RUNTIME_VERBOSE__) {
|
|
129
|
-
console.
|
|
270
|
+
console.info('[ns-entry] app.css applied in HTTP core realm');
|
|
130
271
|
}
|
|
131
272
|
return;
|
|
132
273
|
}
|
|
133
|
-
|
|
134
|
-
apply({ url: cssUrl, cssText });
|
|
135
|
-
globalThis.__NS_HMR_HTTP_APP_CSS_APPLIED__ = true;
|
|
136
|
-
if (__NS_BROWSER_RUNTIME_VERBOSE__) {
|
|
137
|
-
console.info('[ns-entry] app.css applied in HTTP core realm');
|
|
138
|
-
}
|
|
274
|
+
await __nsBrowserRuntimeInstallHttpCoreCssApplier();
|
|
139
275
|
}
|
|
140
276
|
|
|
141
277
|
async function __nsBrowserRuntimeFetchText(url) {
|
|
@@ -156,13 +292,46 @@ async function __nsBrowserRuntimeFetchText(url) {
|
|
|
156
292
|
return '';
|
|
157
293
|
}
|
|
158
294
|
|
|
295
|
+
let __nsBrowserRuntimeCssHandlerPromise;
|
|
296
|
+
function __nsBrowserRuntimeLoadCssHandler() {
|
|
297
|
+
if (!__nsBrowserRuntimeCssHandlerPromise) {
|
|
298
|
+
__nsBrowserRuntimeCssHandlerPromise = import(${JSON.stringify(cssHandlerUrl)}).catch((error) => {
|
|
299
|
+
// Allow a retry on the next update instead of caching the failure.
|
|
300
|
+
__nsBrowserRuntimeCssHandlerPromise = undefined;
|
|
301
|
+
throw error;
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
return __nsBrowserRuntimeCssHandlerPromise;
|
|
305
|
+
}
|
|
306
|
+
|
|
159
307
|
async function __nsBrowserRuntimeHandleCssUpdates(msg) {
|
|
160
308
|
const updates = Array.isArray(msg?.updates) ? msg.updates : [];
|
|
161
|
-
|
|
162
|
-
if (!updates.length || typeof apply !== 'function') {
|
|
309
|
+
if (!updates.length) {
|
|
163
310
|
return;
|
|
164
311
|
}
|
|
312
|
+
// Delegate to the shared client css-handler — the ONE fetch+apply pipeline
|
|
313
|
+
// for bootstrap and full client alike, honoring per-update tags (a
|
|
314
|
+
// component styleUrls update must replace under its own tag; the inline
|
|
315
|
+
// applier below only knows the global stylesheet).
|
|
316
|
+
try {
|
|
317
|
+
const cssHandler = await __nsBrowserRuntimeLoadCssHandler();
|
|
318
|
+
if (cssHandler && typeof cssHandler.handleCssUpdates === 'function') {
|
|
319
|
+
await cssHandler.handleCssUpdates(updates, __NS_BROWSER_RUNTIME_ORIGIN__);
|
|
320
|
+
return;
|
|
321
|
+
}
|
|
322
|
+
} catch (cssHandlerErr) {
|
|
323
|
+
if (__NS_BROWSER_RUNTIME_VERBOSE__) {
|
|
324
|
+
console.warn('[ns-browser-runtime-client] shared css-handler unavailable; using inline fallback', cssHandlerErr);
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
// Inline fallback (css-handler import failed): GLOBAL updates only. The
|
|
328
|
+
// inline applier replaces under the global app.css tag, so applying a
|
|
329
|
+
// component-tagged update here would clobber the global stylesheet.
|
|
165
330
|
for (const update of updates) {
|
|
331
|
+
if (update && typeof update.tag === 'string' && update.tag) {
|
|
332
|
+
console.warn('[ns-browser-runtime-client] skipped component CSS update (tagged applier unavailable):', update.tag);
|
|
333
|
+
continue;
|
|
334
|
+
}
|
|
166
335
|
const cssPath = update?.path || update?.acceptedPath || '';
|
|
167
336
|
if (!cssPath) {
|
|
168
337
|
continue;
|
|
@@ -172,7 +341,7 @@ async function __nsBrowserRuntimeHandleCssUpdates(msg) {
|
|
|
172
341
|
const url = __NS_BROWSER_RUNTIME_ORIGIN__ + cssPath + sep + 'direct=1&t=' + String(timestamp);
|
|
173
342
|
const cssText = await __nsBrowserRuntimeFetchText(url);
|
|
174
343
|
if (typeof cssText === 'string' && cssText.length) {
|
|
175
|
-
|
|
344
|
+
__nsBrowserRuntimeApplyCss(cssText);
|
|
176
345
|
}
|
|
177
346
|
}
|
|
178
347
|
}
|
|
@@ -270,7 +439,12 @@ function __nsBrowserRuntimeWaitForDelegation(startedAt) {
|
|
|
270
439
|
}
|
|
271
440
|
if (!__nsBrowserRuntimeDelegationWarningIssued && Date.now() - startedAt >= 10000) {
|
|
272
441
|
__nsBrowserRuntimeDelegationWarningIssued = true;
|
|
273
|
-
|
|
442
|
+
// Verbose-only: the 10s threshold trips on every real Angular
|
|
443
|
+
// cold boot. The bootstrap fallback keeps running; the message
|
|
444
|
+
// is diagnostic, not actionable.
|
|
445
|
+
if (__NS_BROWSER_RUNTIME_VERBOSE__) {
|
|
446
|
+
console.warn('[ns-browser-runtime-client] full HMR client did not confirm websocket readiness; keeping bootstrap fallback active');
|
|
447
|
+
}
|
|
274
448
|
__nsBrowserRuntimeClearDelegationTimer();
|
|
275
449
|
return;
|
|
276
450
|
}
|
|
@@ -384,7 +558,15 @@ if (!globalThis.__NS_HMR_BROWSER_RUNTIME_CLIENT_ACTIVE__) {
|
|
|
384
558
|
} else {
|
|
385
559
|
if (!__nsBrowserRuntimeBootWaitWarningIssued && Date.now() - __nsBrowserRuntimeBootWaitStartedAt >= 10000) {
|
|
386
560
|
__nsBrowserRuntimeBootWaitWarningIssued = true;
|
|
387
|
-
|
|
561
|
+
// Verbose-only: real Angular cold boots routinely take
|
|
562
|
+
// 15-30s through importing-main. The poller keeps watching
|
|
563
|
+
// __NS_HMR_BOOT_COMPLETE__; until it flips this looks like
|
|
564
|
+
// an error to users but is purely informational.
|
|
565
|
+
// (No backticks: this script body is embedded in a template
|
|
566
|
+
// literal in vite-plugin.ts.)
|
|
567
|
+
if (__NS_BROWSER_RUNTIME_VERBOSE__) {
|
|
568
|
+
console.warn('[ns-browser-runtime-client] boot completion was not observed; full HMR client start is still pending');
|
|
569
|
+
}
|
|
388
570
|
}
|
|
389
571
|
setTimeout(__nsBrowserRuntimeWaitForBoot, 100);
|
|
390
572
|
}
|
|
@@ -396,34 +578,15 @@ if (!globalThis.__NS_HMR_BROWSER_RUNTIME_CLIENT_ACTIVE__) {
|
|
|
396
578
|
export function nsHmrClientVitePlugin(opts) {
|
|
397
579
|
let config;
|
|
398
580
|
const sessionId = new Date().toISOString();
|
|
399
|
-
const guessLanHost = () => {
|
|
400
|
-
try {
|
|
401
|
-
const nets = os.networkInterfaces();
|
|
402
|
-
for (const name of Object.keys(nets)) {
|
|
403
|
-
const addrs = nets[name] || [];
|
|
404
|
-
for (const a of addrs) {
|
|
405
|
-
if (!a)
|
|
406
|
-
continue;
|
|
407
|
-
// Node typings vary across versions; keep checks defensive
|
|
408
|
-
const family = a.family;
|
|
409
|
-
const internal = !!a.internal;
|
|
410
|
-
const address = String(a.address || '');
|
|
411
|
-
if (internal)
|
|
412
|
-
continue;
|
|
413
|
-
if (family === 'IPv4' || family === 4) {
|
|
414
|
-
if (address && address !== '127.0.0.1')
|
|
415
|
-
return address;
|
|
416
|
-
}
|
|
417
|
-
}
|
|
418
|
-
}
|
|
419
|
-
}
|
|
420
|
-
catch { }
|
|
421
|
-
return undefined;
|
|
422
|
-
};
|
|
423
581
|
return {
|
|
424
582
|
name: 'ns-hmr-client',
|
|
425
583
|
configResolved(c) {
|
|
426
584
|
config = c;
|
|
585
|
+
// Capture app-configured `__FOO__` defines so HMR-served modules get a
|
|
586
|
+
// const shim for them (Vite's text-substitution doesn't reach raw-served
|
|
587
|
+
// modules; without a shim a free `__FOO__` is mis-bound to /ns/rt → wrong
|
|
588
|
+
// value under HMR vs the production bundle). See setUserDefineEntries.
|
|
589
|
+
setUserDefineEntries(c.define);
|
|
427
590
|
},
|
|
428
591
|
resolveId(id) {
|
|
429
592
|
if (id === VIRTUAL_ID)
|
|
@@ -442,10 +605,17 @@ export function nsHmrClientVitePlugin(opts) {
|
|
|
442
605
|
const clientFsPath = require.resolve('@nativescript/vite/hmr/client/index.js');
|
|
443
606
|
const projectRoot = config?.root || process.cwd();
|
|
444
607
|
const clientImport = computeClientImportSpecifier({ projectRoot, clientFsPath });
|
|
608
|
+
let hotContextImport;
|
|
609
|
+
try {
|
|
610
|
+
const hotContextFsPath = require.resolve('@nativescript/vite/hmr/client/hot-context.js');
|
|
611
|
+
hotContextImport = computeClientImportSpecifier({ projectRoot, clientFsPath: hotContextFsPath });
|
|
612
|
+
}
|
|
613
|
+
catch { }
|
|
445
614
|
const code = createNsDevClientBootstrapCode({
|
|
446
615
|
origin,
|
|
447
616
|
wsUrl,
|
|
448
617
|
clientImport,
|
|
618
|
+
hotContextImport,
|
|
449
619
|
verbose: opts.verbose,
|
|
450
620
|
});
|
|
451
621
|
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
@@ -498,19 +668,23 @@ export function nsHmrClientVitePlugin(opts) {
|
|
|
498
668
|
// Prefer project root when available; otherwise fall back to cwd.
|
|
499
669
|
const projectRoot = config?.root || process.cwd();
|
|
500
670
|
const clientImport = computeClientImportSpecifier({ projectRoot, clientFsPath });
|
|
501
|
-
// Build ws url from Vite server info
|
|
502
|
-
|
|
503
|
-
//
|
|
504
|
-
//
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
if (isWildcard) {
|
|
508
|
-
host = guessLanHost() || (opts.platform === 'android' ? '10.0.2.2' : 'localhost');
|
|
509
|
-
}
|
|
510
|
-
else if (!host) {
|
|
511
|
-
host = opts.platform === 'android' ? guessLanHost() || '10.0.2.2' : 'localhost';
|
|
512
|
-
}
|
|
671
|
+
// Build ws url from Vite server info. Routes through the same
|
|
672
|
+
// canonical helper as `main-entry.ts` / `base.ts` so the
|
|
673
|
+
// websocket endpoint embedded in `bundle.mjs` and every other
|
|
674
|
+
// `/ns/*` URL share one origin string — required by the iOS
|
|
675
|
+
// HTTP ESM cache identity rule, and necessary for Android
|
|
676
|
+
// emulators that can't reach `0.0.0.0` / `localhost`.
|
|
513
677
|
const port = Number(config?.server?.port || 5173);
|
|
678
|
+
// Pass `port` through so the Android emulator path attempts
|
|
679
|
+
// `adb reverse tcp:<port> tcp:<port>` before falling back to
|
|
680
|
+
// `10.0.2.2`. The websocket URL and bundle.mjs URLs both
|
|
681
|
+
// flow from this same helper, so they stay byte-identical
|
|
682
|
+
// (required by the iOS HTTP ESM cache identity rule).
|
|
683
|
+
const { host } = resolveDeviceReachableHost({
|
|
684
|
+
host: config?.server?.host,
|
|
685
|
+
platform: opts.platform,
|
|
686
|
+
port,
|
|
687
|
+
});
|
|
514
688
|
const secure = !!config?.server?.https;
|
|
515
689
|
const protocol = secure ? 'wss' : 'ws';
|
|
516
690
|
const wsUrl = `${protocol}://${host}:${port}/ns-hmr`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/vite-plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/vite-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,17 +5,64 @@ export type CoreExportOrigin = {
|
|
|
5
5
|
canonicalSubpath?: string;
|
|
6
6
|
};
|
|
7
7
|
export type ParsedCoreBridgeRequest = {
|
|
8
|
-
hasExplicitVersion: boolean;
|
|
9
|
-
ver: string;
|
|
10
8
|
sub: string;
|
|
11
9
|
normalizedSub: string | null;
|
|
12
10
|
key: string;
|
|
11
|
+
/**
|
|
12
|
+
* Set when the incoming path's sub-spec is not in canonical form
|
|
13
|
+
* (e.g. trailing `.js`, `/index`, platform suffix). The middleware
|
|
14
|
+
* should emit a 301 redirect to this path so iOS only ever caches
|
|
15
|
+
* the canonical URL.
|
|
16
|
+
*
|
|
17
|
+
* `normalizeCoreSub` strips `.js`/`.mjs`/`.cjs`/`.ts` extensions,
|
|
18
|
+
* trailing `/index`, and platform suffixes (`.ios`, `.android`,
|
|
19
|
+
* `.visionos`) because Vite's path resolver legitimately emits those
|
|
20
|
+
* shapes when it follows a package's `exports` map to a
|
|
21
|
+
* platform-specific file (`ui/text-base/index.ios.js`) for the
|
|
22
|
+
* extensionless import (`@nativescript/core/ui/text-base`). The 301
|
|
23
|
+
* is therefore a real canonicalisation step, not legacy back-compat:
|
|
24
|
+
* the rewriter's URL has to round-trip through file-system resolution
|
|
25
|
+
* occasionally, and the device must end up on the single canonical
|
|
26
|
+
* URL so iOS's HTTP-ESM cache key is shared with every other
|
|
27
|
+
* emitter (vendor `require`, import map, AST normaliser, etc.).
|
|
28
|
+
*/
|
|
29
|
+
canonicalPath?: string;
|
|
13
30
|
};
|
|
31
|
+
/**
|
|
32
|
+
* Full JS identifier alphabet — Unicode-aware, NOT ASCII `\w`. Angular's
|
|
33
|
+
* runtime API surface is `ɵɵdefineInjectable`-style (U+0275 is ID_Start);
|
|
34
|
+
* an ASCII filter silently drops every such export from generated shims.
|
|
35
|
+
*/
|
|
36
|
+
export declare const JS_IDENTIFIER_RE: RegExp;
|
|
14
37
|
export declare function extractDirectExportedNames(code: string): string[];
|
|
38
|
+
export declare function parseExportSpecList(specList: string): Array<{
|
|
39
|
+
importedName: string;
|
|
40
|
+
exportedName: string;
|
|
41
|
+
}>;
|
|
15
42
|
export declare function resolveRuntimeCoreModulePath(normalizedSubpath: string, resolveModuleId: (moduleId: string) => Promise<string | null> | string | null): Promise<string | null>;
|
|
16
43
|
export declare function collectStaticExportNamesFromFile(modulePath: string, seen?: Set<string>): string[];
|
|
17
44
|
export declare function collectStaticExportOriginsFromFile(modulePath: string, rootEntryPath?: string, seen?: Set<string>): Record<string, CoreExportOrigin[]>;
|
|
18
45
|
export declare function normalizeCoreExportOriginsForRuntime(exportOrigins: Record<string, CoreExportOrigin[]>, resolveModuleId: (moduleId: string) => Promise<string | null> | string | null, rootModulePath: string): Promise<Record<string, CoreExportOrigin[]>>;
|
|
19
|
-
export declare function ensureVersionedCoreImports(code: string, _origin: string, ver: number): string;
|
|
20
46
|
export declare function hasModuleDefaultExport(moduleCode: string): boolean;
|
|
21
|
-
|
|
47
|
+
/**
|
|
48
|
+
* Parse an incoming `/ns/core` bridge request.
|
|
49
|
+
*
|
|
50
|
+
* Accepted shapes:
|
|
51
|
+
* - `/ns/core` → package main
|
|
52
|
+
* - `/ns/core/<sub>` → subpath form (`<sub>` may carry a
|
|
53
|
+
* `.js`/`/index`/platform-suffix tail
|
|
54
|
+
* that we strip via `normalizeCoreSub`
|
|
55
|
+
* and report through `canonicalPath` so
|
|
56
|
+
* the middleware can 301)
|
|
57
|
+
*
|
|
58
|
+
* Anything else returns `null` so the middleware falls through to
|
|
59
|
+
* `next()` and a downstream 404 surfaces the offending emitter.
|
|
60
|
+
*
|
|
61
|
+
* URL contract:
|
|
62
|
+
* - No version segment. `/ns/core/<digits>` was an experimental
|
|
63
|
+
* cache-busting shape that split iOS's HTTP-ESM module cache from
|
|
64
|
+
* the unversioned URL emitted by the runtime import map. Removed.
|
|
65
|
+
* - No `?p=<sub>` query form. The canonical path form
|
|
66
|
+
* `/ns/core/<sub>` is the only spelling every emitter produces.
|
|
67
|
+
*/
|
|
68
|
+
export declare function parseCoreBridgeRequest(pathname: string, _searchParams: URLSearchParams, _currentGraphVersion: number): ParsedCoreBridgeRequest | null;
|