@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.
- package/README.md +51 -11
- package/bin/cli.cjs +8 -14
- package/configuration/angular.d.ts +34 -1
- package/configuration/angular.js +390 -165
- package/configuration/angular.js.map +1 -1
- package/configuration/base.js +244 -53
- 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-state.d.ts +8 -0
- package/helpers/app-css-state.js +8 -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.js +9 -4
- 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/global-defines.d.ts +100 -13
- package/helpers/global-defines.js +165 -28
- 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 +0 -18
- 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 +368 -53
- 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-url.d.ts +29 -7
- package/helpers/ns-core-url.js +69 -12
- 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 +2 -2
- 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 +48 -19
- package/helpers/workers.js +662 -13
- package/helpers/workers.js.map +1 -1
- package/hmr/client/css-handler.d.ts +2 -1
- package/hmr/client/css-handler.js +50 -26
- 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 +79 -0
- package/hmr/client/framework-client-strategy.js +19 -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 +14 -4
- 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 +284 -0
- package/hmr/client/hot-context.js.map +1 -0
- package/hmr/client/index.js +922 -273
- package/hmr/client/index.js.map +1 -1
- package/hmr/client/utils.d.ts +2 -1
- package/hmr/client/utils.js +111 -99
- package/hmr/client/utils.js.map +1 -1
- package/hmr/entry-runtime.d.ts +2 -1
- package/hmr/entry-runtime.js +279 -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 +109 -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/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/{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/client/index.js +542 -175
- 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/strategy.js +458 -12
- 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 +14 -11
- package/hmr/{server → frameworks/angular/server}/websocket-angular-hot-update.js +108 -111
- package/hmr/frameworks/angular/server/websocket-angular-hot-update.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 +246 -0
- package/hmr/frameworks/solid/client/app-runtime.js.map +1 -0
- package/hmr/frameworks/solid/server/strategy.js +291 -16
- package/hmr/frameworks/solid/server/strategy.js.map +1 -1
- package/hmr/frameworks/typescript/server/strategy.js +38 -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 +9 -0
- package/hmr/frameworks/vue/client/index.js +251 -247
- package/hmr/frameworks/vue/client/index.js.map +1 -1
- package/hmr/frameworks/vue/client/strategy.d.ts +33 -0
- package/hmr/frameworks/vue/client/strategy.js +157 -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 +142 -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 +286 -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 +77 -10
- 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-archive-route.d.ts +40 -0
- package/hmr/server/boot-archive-route.js +154 -0
- package/hmr/server/boot-archive-route.js.map +1 -0
- package/hmr/server/boot-closure-route.d.ts +49 -0
- package/hmr/server/boot-closure-route.js +144 -0
- package/hmr/server/boot-closure-route.js.map +1 -0
- package/hmr/server/boot-recording.d.ts +58 -0
- package/hmr/server/boot-recording.js +228 -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/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 +170 -45
- package/hmr/server/core-sanitize.js.map +1 -1
- 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/deps-bundle.d.ts +218 -0
- package/hmr/server/deps-bundle.js +998 -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 +113 -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 +13 -4
- package/hmr/server/import-map.js +94 -47
- 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/ns-core-cjs-shape.d.ts +2 -4
- package/hmr/server/ns-core-cjs-shape.js +4 -6
- 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 +6 -10
- package/hmr/server/perf-instrumentation.js +5 -6
- package/hmr/server/perf-instrumentation.js.map +1 -1
- package/hmr/server/process-code-for-device.d.ts +30 -0
- package/hmr/server/process-code-for-device.js +791 -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 +638 -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/server-origin.d.ts +2 -0
- package/hmr/server/server-origin.js +83 -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/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 +180 -54
- 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 -54
- package/hmr/server/websocket-core-bridge.js.map +1 -1
- package/hmr/server/websocket-css-hot-update.d.ts +33 -0
- package/hmr/server/websocket-css-hot-update.js +65 -0
- package/hmr/server/websocket-css-hot-update.js.map +1 -0
- 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 +3 -9
- package/hmr/server/websocket-hmr-pending.js +1 -1
- package/hmr/server/websocket-hmr-pending.js.map +1 -1
- package/hmr/server/websocket-hot-update.d.ts +77 -0
- package/hmr/server/websocket-hot-update.js +360 -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 +50 -0
- package/hmr/server/websocket-import-map-route.js.map +1 -0
- package/hmr/server/websocket-module-bindings.js +3 -3
- package/hmr/server/websocket-module-bindings.js.map +1 -1
- package/hmr/server/websocket-module-specifiers.d.ts +66 -2
- package/hmr/server/websocket-module-specifiers.js +191 -20
- 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 +1 -3
- package/hmr/server/websocket-ns-m-paths.js +25 -82
- package/hmr/server/websocket-ns-m-paths.js.map +1 -1
- package/hmr/server/websocket-ns-m-request.d.ts +11 -1
- package/hmr/server/websocket-ns-m-request.js +17 -9
- 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 +835 -0
- package/hmr/server/websocket-ns-m.js.map +1 -0
- package/hmr/server/websocket-served-module-helpers.d.ts +50 -4
- package/hmr/server/websocket-served-module-helpers.js +384 -86
- 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 -39
- package/hmr/server/websocket.js +643 -6716
- package/hmr/server/websocket.js.map +1 -1
- package/hmr/shared/ns-globals.d.ts +108 -0
- package/hmr/shared/ns-globals.js +28 -0
- package/hmr/shared/ns-globals.js.map +1 -0
- package/hmr/shared/protocol.d.ts +145 -0
- package/hmr/shared/protocol.js +28 -0
- package/hmr/shared/protocol.js.map +1 -0
- package/hmr/shared/runtime/boot-archive-format.d.ts +16 -0
- package/hmr/shared/runtime/boot-archive-format.js +31 -0
- package/hmr/shared/runtime/boot-archive-format.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 +2 -1
- package/hmr/shared/runtime/boot-timeline.js +9 -22
- package/hmr/shared/runtime/boot-timeline.js.map +1 -1
- package/hmr/shared/runtime/browser-runtime-contract.d.ts +53 -22
- package/hmr/shared/runtime/browser-runtime-contract.js +6 -9
- package/hmr/shared/runtime/browser-runtime-contract.js.map +1 -1
- 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.d.ts +76 -30
- package/hmr/shared/runtime/dev-overlay.js +767 -408
- 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/http-only-boot.js +7 -6
- package/hmr/shared/runtime/http-only-boot.js.map +1 -1
- package/hmr/shared/runtime/module-provenance.js +4 -6
- package/hmr/shared/runtime/module-provenance.js.map +1 -1
- 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 +398 -204
- package/hmr/shared/runtime/root-placeholder.js.map +1 -1
- package/hmr/shared/runtime/session-bootstrap.js +274 -55
- 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/vendor/manifest-collect.d.ts +4 -0
- package/hmr/shared/vendor/manifest-collect.js +549 -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 +1 -7
- package/hmr/shared/vendor/manifest.js +136 -825
- 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 +76 -0
- package/hmr/shared/vendor/vendor-esbuild-plugins.js +401 -0
- package/hmr/shared/vendor/vendor-esbuild-plugins.js.map +1 -0
- package/hmr/vendor-bootstrap.d.ts +1 -3
- package/hmr/vendor-bootstrap.js +4 -6
- package/hmr/vendor-bootstrap.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +5 -0
- package/index.js.map +1 -1
- package/package.json +65 -11
- package/runtime/core-aliases-early.js +25 -55
- 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/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 -286
- 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/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,25 @@ 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
|
+
// Canonical, unversioned core-bridge URL (see helpers/ns-core-url.ts) — the
|
|
120
|
+
// app graph already loaded this exact URL during boot, so importing it here
|
|
121
|
+
// resolves to the SAME module record/realm instead of minting a new one.
|
|
122
|
+
const coreBridgeUrl = `${normalizedOrigin}/ns/core`;
|
|
84
123
|
return `
|
|
85
124
|
import { installVendorBootstrap as __nsBrowserRuntimeInstallVendorBootstrap } from ${JSON.stringify(vendorBootstrapUrl)};
|
|
86
125
|
import { vendorManifest as __nsBrowserRuntimeVendorManifest, __nsVendorModuleMap as __nsBrowserRuntimeVendorModuleMap } from ${JSON.stringify(vendorBundleUrl)};
|
|
126
|
+
import { installNsHotRegistry as __nsBrowserRuntimeInstallHotRegistry } from ${JSON.stringify(resolvedHotContextImport)};
|
|
127
|
+
|
|
128
|
+
// Install the JS hot registry FIRST: every served app module's injected
|
|
129
|
+
// prelude reads globalThis.__NS_HOT_REGISTRY__ at evaluation time, and this
|
|
130
|
+
// bootstrap is imported before the entry graph (see session-bootstrap.ts).
|
|
131
|
+
try {
|
|
132
|
+
__nsBrowserRuntimeInstallHotRegistry();
|
|
133
|
+
} catch (hotErr) {
|
|
134
|
+
console.warn('[ns-browser-runtime-client] failed to install hot registry', hotErr);
|
|
135
|
+
}
|
|
87
136
|
|
|
88
137
|
const __NS_BROWSER_RUNTIME_WS_URL__ = ${JSON.stringify(options.wsUrl)};
|
|
89
138
|
const __NS_BROWSER_RUNTIME_ORIGIN__ = ${JSON.stringify(options.origin)};
|
|
@@ -118,24 +167,95 @@ function __nsBrowserRuntimeEnsureVendorBootstrap() {
|
|
|
118
167
|
}
|
|
119
168
|
}
|
|
120
169
|
|
|
170
|
+
// Pure-JS CSS apply for the bootstrap fallback client. Prefers the HTTP
|
|
171
|
+
// core realm applier installed by the entry runtime
|
|
172
|
+
// (__NS_HMR_APPLY_CSS__), then falls back to Application.addCss through
|
|
173
|
+
// the vendor realm. No native CSS hook exists anymore.
|
|
174
|
+
function __nsBrowserRuntimeApplyCss(cssText) {
|
|
175
|
+
if (typeof cssText !== 'string' || !cssText.length) {
|
|
176
|
+
return false;
|
|
177
|
+
}
|
|
178
|
+
try {
|
|
179
|
+
const applyInCoreRealm = globalThis.__NS_HMR_APPLY_CSS__;
|
|
180
|
+
if (typeof applyInCoreRealm === 'function') {
|
|
181
|
+
applyInCoreRealm(cssText, true);
|
|
182
|
+
return true;
|
|
183
|
+
}
|
|
184
|
+
} catch (cssErr) {
|
|
185
|
+
if (__NS_BROWSER_RUNTIME_VERBOSE__) {
|
|
186
|
+
console.warn('[ns-browser-runtime-client] __NS_HMR_APPLY_CSS__ threw', cssErr);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
try {
|
|
190
|
+
const registry = globalThis.__nsVendorRegistry;
|
|
191
|
+
const coreMod = registry && typeof registry.get === 'function' ? registry.get('@nativescript/core') : null;
|
|
192
|
+
const core = (coreMod && (coreMod.default || coreMod)) || coreMod;
|
|
193
|
+
const Application = core && core.Application;
|
|
194
|
+
if (Application && typeof Application.addCss === 'function') {
|
|
195
|
+
Application.addCss(cssText);
|
|
196
|
+
try {
|
|
197
|
+
const rootView = typeof Application.getRootView === 'function' ? Application.getRootView() : null;
|
|
198
|
+
if (rootView && typeof rootView._onCssStateChange === 'function') {
|
|
199
|
+
rootView._onCssStateChange();
|
|
200
|
+
}
|
|
201
|
+
} catch {}
|
|
202
|
+
return true;
|
|
203
|
+
}
|
|
204
|
+
} catch (cssErr) {
|
|
205
|
+
if (__NS_BROWSER_RUNTIME_VERBOSE__) {
|
|
206
|
+
console.warn('[ns-browser-runtime-client] Application.addCss fallback threw', cssErr);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
if (__NS_BROWSER_RUNTIME_VERBOSE__) {
|
|
210
|
+
console.warn('[ns-browser-runtime-client] no CSS applier available; skipping CSS update');
|
|
211
|
+
}
|
|
212
|
+
return false;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
async function __nsBrowserRuntimeInstallHttpCoreCssApplier() {
|
|
216
|
+
// Monorepo / per-module core dev boots ship a minimal vendor bundle with NO
|
|
217
|
+
// @nativescript/core, so neither quick applier above exists. Install the
|
|
218
|
+
// same HTTP-core-realm applier the http-bootloader fallback path uses
|
|
219
|
+
// (entry-runtime's installHttpCoreCssSupport): it prefers the pre-parsed
|
|
220
|
+
// app.css AST (globalThis.__NS_HMR_APP_CSS_AST__), applies the seeded CSS,
|
|
221
|
+
// flips __NS_HMR_HTTP_APP_CSS_APPLIED__, and installs __NS_HMR_APPLY_CSS__
|
|
222
|
+
// so later live CSS edits land in the core realm the app actually uses.
|
|
223
|
+
try {
|
|
224
|
+
const entryRuntime = await import(${JSON.stringify(entryRuntimeUrl)});
|
|
225
|
+
const installHttpCoreCssSupport = entryRuntime && entryRuntime.installHttpCoreCssSupport;
|
|
226
|
+
if (typeof installHttpCoreCssSupport !== 'function') {
|
|
227
|
+
if (__NS_BROWSER_RUNTIME_VERBOSE__) {
|
|
228
|
+
console.warn('[ns-browser-runtime-client] entry runtime is missing installHttpCoreCssSupport; skipping CSS install');
|
|
229
|
+
}
|
|
230
|
+
return false;
|
|
231
|
+
}
|
|
232
|
+
const coreBridge = await import(${JSON.stringify(coreBridgeUrl)});
|
|
233
|
+
const applier = installHttpCoreCssSupport(coreBridge, __NS_BROWSER_RUNTIME_VERBOSE__);
|
|
234
|
+
if (applier && __NS_BROWSER_RUNTIME_VERBOSE__) {
|
|
235
|
+
console.info('[ns-entry] app.css applied in HTTP core realm');
|
|
236
|
+
}
|
|
237
|
+
return !!applier;
|
|
238
|
+
} catch (cssErr) {
|
|
239
|
+
if (__NS_BROWSER_RUNTIME_VERBOSE__) {
|
|
240
|
+
console.warn('[ns-browser-runtime-client] HTTP core realm CSS install failed', cssErr);
|
|
241
|
+
}
|
|
242
|
+
return false;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
|
|
121
246
|
async function __nsBrowserRuntimeReplaySeededCss() {
|
|
122
247
|
const cssText = globalThis.__NS_HMR_APP_CSS__;
|
|
123
248
|
if (typeof cssText !== 'string' || !cssText.length || globalThis.__NS_HMR_HTTP_APP_CSS_APPLIED__) {
|
|
124
249
|
return;
|
|
125
250
|
}
|
|
126
|
-
|
|
127
|
-
|
|
251
|
+
if (__nsBrowserRuntimeApplyCss(cssText)) {
|
|
252
|
+
globalThis.__NS_HMR_HTTP_APP_CSS_APPLIED__ = true;
|
|
128
253
|
if (__NS_BROWSER_RUNTIME_VERBOSE__) {
|
|
129
|
-
console.
|
|
254
|
+
console.info('[ns-entry] app.css applied in HTTP core realm');
|
|
130
255
|
}
|
|
131
256
|
return;
|
|
132
257
|
}
|
|
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
|
-
}
|
|
258
|
+
await __nsBrowserRuntimeInstallHttpCoreCssApplier();
|
|
139
259
|
}
|
|
140
260
|
|
|
141
261
|
async function __nsBrowserRuntimeFetchText(url) {
|
|
@@ -158,8 +278,7 @@ async function __nsBrowserRuntimeFetchText(url) {
|
|
|
158
278
|
|
|
159
279
|
async function __nsBrowserRuntimeHandleCssUpdates(msg) {
|
|
160
280
|
const updates = Array.isArray(msg?.updates) ? msg.updates : [];
|
|
161
|
-
|
|
162
|
-
if (!updates.length || typeof apply !== 'function') {
|
|
281
|
+
if (!updates.length) {
|
|
163
282
|
return;
|
|
164
283
|
}
|
|
165
284
|
for (const update of updates) {
|
|
@@ -172,7 +291,7 @@ async function __nsBrowserRuntimeHandleCssUpdates(msg) {
|
|
|
172
291
|
const url = __NS_BROWSER_RUNTIME_ORIGIN__ + cssPath + sep + 'direct=1&t=' + String(timestamp);
|
|
173
292
|
const cssText = await __nsBrowserRuntimeFetchText(url);
|
|
174
293
|
if (typeof cssText === 'string' && cssText.length) {
|
|
175
|
-
|
|
294
|
+
__nsBrowserRuntimeApplyCss(cssText);
|
|
176
295
|
}
|
|
177
296
|
}
|
|
178
297
|
}
|
|
@@ -253,7 +372,9 @@ function __nsBrowserRuntimeCloseFallbackSocket(reason) {
|
|
|
253
372
|
}
|
|
254
373
|
__nsBrowserRuntimeSocket = null;
|
|
255
374
|
globalThis.__NS_HMR_BROWSER_RUNTIME_SOCKET_READY__ = false;
|
|
256
|
-
|
|
375
|
+
if (__NS_BROWSER_RUNTIME_VERBOSE__) {
|
|
376
|
+
console.info('[ns-browser-runtime-client] delegated to full HMR client; closing bootstrap fallback socket', reason || 'delegated');
|
|
377
|
+
}
|
|
257
378
|
}
|
|
258
379
|
|
|
259
380
|
function __nsBrowserRuntimeWaitForDelegation(startedAt) {
|
|
@@ -268,7 +389,12 @@ function __nsBrowserRuntimeWaitForDelegation(startedAt) {
|
|
|
268
389
|
}
|
|
269
390
|
if (!__nsBrowserRuntimeDelegationWarningIssued && Date.now() - startedAt >= 10000) {
|
|
270
391
|
__nsBrowserRuntimeDelegationWarningIssued = true;
|
|
271
|
-
|
|
392
|
+
// Verbose-only: the 10s threshold trips on every real Angular
|
|
393
|
+
// cold boot. The bootstrap fallback keeps running; the message
|
|
394
|
+
// is diagnostic, not actionable.
|
|
395
|
+
if (__NS_BROWSER_RUNTIME_VERBOSE__) {
|
|
396
|
+
console.warn('[ns-browser-runtime-client] full HMR client did not confirm websocket readiness; keeping bootstrap fallback active');
|
|
397
|
+
}
|
|
272
398
|
__nsBrowserRuntimeClearDelegationTimer();
|
|
273
399
|
return;
|
|
274
400
|
}
|
|
@@ -382,7 +508,15 @@ if (!globalThis.__NS_HMR_BROWSER_RUNTIME_CLIENT_ACTIVE__) {
|
|
|
382
508
|
} else {
|
|
383
509
|
if (!__nsBrowserRuntimeBootWaitWarningIssued && Date.now() - __nsBrowserRuntimeBootWaitStartedAt >= 10000) {
|
|
384
510
|
__nsBrowserRuntimeBootWaitWarningIssued = true;
|
|
385
|
-
|
|
511
|
+
// Verbose-only: real Angular cold boots routinely take
|
|
512
|
+
// 15-30s through importing-main. The poller keeps watching
|
|
513
|
+
// __NS_HMR_BOOT_COMPLETE__; until it flips this looks like
|
|
514
|
+
// an error to users but is purely informational.
|
|
515
|
+
// (No backticks: this script body is embedded in a template
|
|
516
|
+
// literal in vite-plugin.ts.)
|
|
517
|
+
if (__NS_BROWSER_RUNTIME_VERBOSE__) {
|
|
518
|
+
console.warn('[ns-browser-runtime-client] boot completion was not observed; full HMR client start is still pending');
|
|
519
|
+
}
|
|
386
520
|
}
|
|
387
521
|
setTimeout(__nsBrowserRuntimeWaitForBoot, 100);
|
|
388
522
|
}
|
|
@@ -394,34 +528,15 @@ if (!globalThis.__NS_HMR_BROWSER_RUNTIME_CLIENT_ACTIVE__) {
|
|
|
394
528
|
export function nsHmrClientVitePlugin(opts) {
|
|
395
529
|
let config;
|
|
396
530
|
const sessionId = new Date().toISOString();
|
|
397
|
-
const guessLanHost = () => {
|
|
398
|
-
try {
|
|
399
|
-
const nets = os.networkInterfaces();
|
|
400
|
-
for (const name of Object.keys(nets)) {
|
|
401
|
-
const addrs = nets[name] || [];
|
|
402
|
-
for (const a of addrs) {
|
|
403
|
-
if (!a)
|
|
404
|
-
continue;
|
|
405
|
-
// Node typings vary across versions; keep checks defensive
|
|
406
|
-
const family = a.family;
|
|
407
|
-
const internal = !!a.internal;
|
|
408
|
-
const address = String(a.address || '');
|
|
409
|
-
if (internal)
|
|
410
|
-
continue;
|
|
411
|
-
if (family === 'IPv4' || family === 4) {
|
|
412
|
-
if (address && address !== '127.0.0.1')
|
|
413
|
-
return address;
|
|
414
|
-
}
|
|
415
|
-
}
|
|
416
|
-
}
|
|
417
|
-
}
|
|
418
|
-
catch { }
|
|
419
|
-
return undefined;
|
|
420
|
-
};
|
|
421
531
|
return {
|
|
422
532
|
name: 'ns-hmr-client',
|
|
423
533
|
configResolved(c) {
|
|
424
534
|
config = c;
|
|
535
|
+
// Capture app-configured `__FOO__` defines so HMR-served modules get a
|
|
536
|
+
// const shim for them (Vite's text-substitution doesn't reach raw-served
|
|
537
|
+
// modules; without a shim a free `__FOO__` is mis-bound to /ns/rt → wrong
|
|
538
|
+
// value under HMR vs the production bundle). See setUserDefineEntries.
|
|
539
|
+
setUserDefineEntries(c.define);
|
|
425
540
|
},
|
|
426
541
|
resolveId(id) {
|
|
427
542
|
if (id === VIRTUAL_ID)
|
|
@@ -440,10 +555,17 @@ export function nsHmrClientVitePlugin(opts) {
|
|
|
440
555
|
const clientFsPath = require.resolve('@nativescript/vite/hmr/client/index.js');
|
|
441
556
|
const projectRoot = config?.root || process.cwd();
|
|
442
557
|
const clientImport = computeClientImportSpecifier({ projectRoot, clientFsPath });
|
|
558
|
+
let hotContextImport;
|
|
559
|
+
try {
|
|
560
|
+
const hotContextFsPath = require.resolve('@nativescript/vite/hmr/client/hot-context.js');
|
|
561
|
+
hotContextImport = computeClientImportSpecifier({ projectRoot, clientFsPath: hotContextFsPath });
|
|
562
|
+
}
|
|
563
|
+
catch { }
|
|
443
564
|
const code = createNsDevClientBootstrapCode({
|
|
444
565
|
origin,
|
|
445
566
|
wsUrl,
|
|
446
567
|
clientImport,
|
|
568
|
+
hotContextImport,
|
|
447
569
|
verbose: opts.verbose,
|
|
448
570
|
});
|
|
449
571
|
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
@@ -496,19 +618,23 @@ export function nsHmrClientVitePlugin(opts) {
|
|
|
496
618
|
// Prefer project root when available; otherwise fall back to cwd.
|
|
497
619
|
const projectRoot = config?.root || process.cwd();
|
|
498
620
|
const clientImport = computeClientImportSpecifier({ projectRoot, clientFsPath });
|
|
499
|
-
// Build ws url from Vite server info
|
|
500
|
-
|
|
501
|
-
//
|
|
502
|
-
//
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
if (isWildcard) {
|
|
506
|
-
host = guessLanHost() || (opts.platform === 'android' ? '10.0.2.2' : 'localhost');
|
|
507
|
-
}
|
|
508
|
-
else if (!host) {
|
|
509
|
-
host = opts.platform === 'android' ? guessLanHost() || '10.0.2.2' : 'localhost';
|
|
510
|
-
}
|
|
621
|
+
// Build ws url from Vite server info. Routes through the same
|
|
622
|
+
// canonical helper as `main-entry.ts` / `base.ts` so the
|
|
623
|
+
// websocket endpoint embedded in `bundle.mjs` and every other
|
|
624
|
+
// `/ns/*` URL share one origin string — required by the iOS
|
|
625
|
+
// HTTP ESM cache identity rule, and necessary for Android
|
|
626
|
+
// emulators that can't reach `0.0.0.0` / `localhost`.
|
|
511
627
|
const port = Number(config?.server?.port || 5173);
|
|
628
|
+
// Pass `port` through so the Android emulator path attempts
|
|
629
|
+
// `adb reverse tcp:<port> tcp:<port>` before falling back to
|
|
630
|
+
// `10.0.2.2`. The websocket URL and bundle.mjs URLs both
|
|
631
|
+
// flow from this same helper, so they stay byte-identical
|
|
632
|
+
// (required by the iOS HTTP ESM cache identity rule).
|
|
633
|
+
const { host } = resolveDeviceReachableHost({
|
|
634
|
+
host: config?.server?.host,
|
|
635
|
+
platform: opts.platform,
|
|
636
|
+
port,
|
|
637
|
+
});
|
|
512
638
|
const secure = !!config?.server?.https;
|
|
513
639
|
const protocol = secure ? 'wss' : 'ws';
|
|
514
640
|
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;
|