@nativescript/vite 8.0.0-alpha.3 → 8.0.0-alpha.31
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/configuration/angular.d.ts +34 -1
- package/configuration/angular.js +373 -163
- package/configuration/angular.js.map +1 -1
- package/configuration/base.js +184 -14
- package/configuration/base.js.map +1 -1
- package/configuration/javascript.js +5 -72
- package/configuration/javascript.js.map +1 -1
- package/configuration/solid.js +27 -1
- package/configuration/solid.js.map +1 -1
- package/configuration/typescript.js +5 -75
- 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/config-as-json.js +10 -0
- package/helpers/config-as-json.js.map +1 -1
- package/helpers/dev-host.d.ts +341 -0
- package/helpers/dev-host.js +617 -0
- package/helpers/dev-host.js.map +1 -0
- package/helpers/esbuild-platform-resolver.js +4 -1
- package/helpers/esbuild-platform-resolver.js.map +1 -1
- package/helpers/global-defines.d.ts +51 -0
- package/helpers/global-defines.js +77 -0
- 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.d.ts +1 -0
- package/helpers/logging.js +63 -3
- package/helpers/logging.js.map +1 -1
- package/helpers/main-entry.d.ts +2 -1
- package/helpers/main-entry.js +430 -47
- package/helpers/main-entry.js.map +1 -1
- package/helpers/nativeclass-esbuild-plugin.d.ts +2 -1
- package/helpers/nativeclass-esbuild-plugin.js.map +1 -1
- package/helpers/nativeclass-transform.js.map +1 -1
- package/helpers/nativeclass-transformer-plugin.d.ts +9 -2
- package/helpers/nativeclass-transformer-plugin.js +157 -14
- package/helpers/nativeclass-transformer-plugin.js.map +1 -1
- package/helpers/nativescript-package-resolver.js +8 -3
- 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 +88 -0
- package/helpers/ns-core-url.js +191 -0
- package/helpers/ns-core-url.js.map +1 -0
- package/helpers/package-platform-aliases.js +4 -3
- 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/project.d.ts +35 -0
- package/helpers/project.js +120 -2
- package/helpers/project.js.map +1 -1
- package/helpers/resolver.js +17 -2
- package/helpers/resolver.js.map +1 -1
- package/helpers/ts-config-paths.d.ts +14 -0
- package/helpers/ts-config-paths.js +89 -8
- package/helpers/ts-config-paths.js.map +1 -1
- package/helpers/typescript-check.d.ts +2 -1
- package/helpers/typescript-check.js.map +1 -1
- package/helpers/workers.d.ts +20 -19
- package/helpers/workers.js +624 -4
- package/helpers/workers.js.map +1 -1
- package/hmr/client/css-handler.d.ts +1 -0
- package/hmr/client/css-handler.js +33 -20
- 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 +73 -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 +27 -0
- package/hmr/client/hmr-pending-overlay.js +50 -0
- package/hmr/client/hmr-pending-overlay.js.map +1 -0
- package/hmr/client/index.js +459 -164
- package/hmr/client/index.js.map +1 -1
- package/hmr/client/utils.d.ts +6 -1
- package/hmr/client/utils.js +184 -8
- package/hmr/client/utils.js.map +1 -1
- package/hmr/entry-runtime.d.ts +2 -1
- package/hmr/entry-runtime.js +252 -65
- 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.d.ts +1 -0
- package/hmr/frameworks/angular/client/index.js +778 -20
- 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 +448 -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 +17 -11
- package/hmr/frameworks/angular/server/websocket-angular-hot-update.js +336 -0
- package/hmr/frameworks/angular/server/websocket-angular-hot-update.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/server/strategy.js +360 -16
- package/hmr/frameworks/solid/server/strategy.js.map +1 -1
- package/hmr/frameworks/typescript/server/strategy.js +28 -14
- package/hmr/frameworks/typescript/server/strategy.js.map +1 -1
- package/hmr/frameworks/vue/client/index.js +30 -199
- package/hmr/frameworks/vue/client/index.js.map +1 -1
- package/hmr/frameworks/vue/client/strategy.d.ts +7 -0
- package/hmr/frameworks/vue/client/strategy.js +83 -0
- package/hmr/frameworks/vue/client/strategy.js.map +1 -0
- package/hmr/frameworks/vue/client/vue-sfc-update-overlay.d.ts +82 -0
- package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js +133 -0
- package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js.map +1 -0
- package/hmr/frameworks/vue/server/sfc-route-assemble.d.ts +7 -0
- package/hmr/frameworks/vue/server/sfc-route-assemble.js +706 -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 +457 -0
- package/hmr/frameworks/vue/server/sfc-route-serve.js.map +1 -0
- package/hmr/frameworks/vue/server/sfc-route-shared.d.ts +19 -0
- package/hmr/frameworks/vue/server/sfc-route-shared.js +14 -0
- package/hmr/frameworks/vue/server/sfc-route-shared.js.map +1 -0
- package/hmr/frameworks/vue/server/strategy.js +244 -0
- 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.js +52 -5
- 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/server/constants.js +13 -4
- package/hmr/server/constants.js.map +1 -1
- package/hmr/server/core-sanitize.d.ts +90 -7
- package/hmr/server/core-sanitize.js +211 -56
- package/hmr/server/core-sanitize.js.map +1 -1
- package/hmr/server/device-transform-helpers.d.ts +24 -0
- package/hmr/server/device-transform-helpers.js +327 -0
- package/hmr/server/device-transform-helpers.js.map +1 -0
- package/hmr/server/framework-strategy.d.ts +95 -11
- package/hmr/server/hmr-module-graph.d.ts +37 -0
- package/hmr/server/hmr-module-graph.js +214 -0
- package/hmr/server/hmr-module-graph.js.map +1 -0
- package/hmr/server/import-map.d.ts +11 -2
- package/hmr/server/import-map.js +59 -40
- 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 +204 -0
- package/hmr/server/ns-core-cjs-shape.js +271 -0
- package/hmr/server/ns-core-cjs-shape.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 +35 -0
- package/hmr/server/ns-rt-route.js.map +1 -0
- package/hmr/server/perf-instrumentation.d.ts +114 -0
- package/hmr/server/perf-instrumentation.js +195 -0
- package/hmr/server/perf-instrumentation.js.map +1 -0
- package/hmr/server/process-code-for-device.d.ts +15 -0
- package/hmr/server/process-code-for-device.js +654 -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 +604 -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 +12 -0
- package/hmr/server/server-origin.js +66 -0
- package/hmr/server/server-origin.js.map +1 -0
- package/hmr/server/shared-transform-request.js +12 -5
- package/hmr/server/shared-transform-request.js.map +1 -1
- package/hmr/server/transform-cache-invalidation.d.ts +11 -0
- package/hmr/server/transform-cache-invalidation.js +84 -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.js +60 -42
- package/hmr/server/vite-plugin.js.map +1 -1
- package/hmr/server/websocket-core-bridge.d.ts +41 -6
- package/hmr/server/websocket-core-bridge.js +72 -75
- 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-graph-upsert.d.ts +15 -0
- package/hmr/server/websocket-graph-upsert.js +20 -0
- package/hmr/server/websocket-graph-upsert.js.map +1 -1
- package/hmr/server/websocket-hmr-pending.d.ts +37 -0
- package/hmr/server/websocket-hmr-pending.js +55 -0
- package/hmr/server/websocket-hmr-pending.js.map +1 -0
- package/hmr/server/websocket-hot-update.d.ts +77 -0
- package/hmr/server/websocket-hot-update.js +330 -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 +46 -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 +202 -19
- package/hmr/server/websocket-module-specifiers.js.map +1 -1
- package/hmr/server/websocket-ns-core.d.ts +21 -0
- package/hmr/server/websocket-ns-core.js +306 -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 +150 -0
- package/hmr/server/websocket-ns-entry.js.map +1 -0
- package/hmr/server/websocket-ns-m-paths.d.ts +3 -0
- package/hmr/server/websocket-ns-m-paths.js +92 -0
- package/hmr/server/websocket-ns-m-paths.js.map +1 -0
- package/hmr/server/websocket-ns-m-request.d.ts +45 -0
- package/hmr/server/websocket-ns-m-request.js +196 -0
- package/hmr/server/websocket-ns-m-request.js.map +1 -0
- package/hmr/server/websocket-ns-m.d.ts +33 -0
- package/hmr/server/websocket-ns-m.js +748 -0
- package/hmr/server/websocket-ns-m.js.map +1 -0
- package/hmr/server/websocket-served-module-helpers.d.ts +39 -0
- package/hmr/server/websocket-served-module-helpers.js +654 -0
- package/hmr/server/websocket-served-module-helpers.js.map +1 -0
- package/hmr/server/websocket-txn.d.ts +6 -0
- package/hmr/server/websocket-txn.js +39 -0
- package/hmr/server/websocket-txn.js.map +1 -0
- package/hmr/server/websocket-vendor-unifier.d.ts +9 -0
- package/hmr/server/websocket-vendor-unifier.js +46 -0
- package/hmr/server/websocket-vendor-unifier.js.map +1 -0
- package/hmr/server/websocket.d.ts +8 -39
- package/hmr/server/websocket.js +602 -6049
- package/hmr/server/websocket.js.map +1 -1
- package/hmr/shared/ns-globals.d.ts +118 -0
- package/hmr/shared/ns-globals.js +27 -0
- package/hmr/shared/ns-globals.js.map +1 -0
- package/hmr/shared/protocol.d.ts +136 -0
- package/hmr/shared/protocol.js +28 -0
- package/hmr/shared/protocol.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 +40 -0
- package/hmr/shared/runtime/boot-progress.js +128 -0
- package/hmr/shared/runtime/boot-progress.js.map +1 -0
- package/hmr/shared/runtime/boot-timeline.d.ts +18 -0
- package/hmr/shared/runtime/boot-timeline.js +52 -0
- package/hmr/shared/runtime/boot-timeline.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.d.ts +75 -26
- package/hmr/shared/runtime/dev-overlay.js +990 -260
- package/hmr/shared/runtime/dev-overlay.js.map +1 -1
- package/hmr/shared/runtime/module-provenance.js +1 -4
- 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 +310 -0
- package/hmr/shared/runtime/root-placeholder-view.js.map +1 -0
- package/hmr/shared/runtime/root-placeholder.js +352 -194
- package/hmr/shared/runtime/root-placeholder.js.map +1 -1
- package/hmr/shared/runtime/session-bootstrap.js +164 -1
- package/hmr/shared/runtime/session-bootstrap.js.map +1 -1
- package/hmr/shared/runtime/vendor-bootstrap.js +1 -9
- 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 +512 -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 +3 -2
- 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 +102 -741
- package/hmr/shared/vendor/manifest.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 +16 -0
- package/hmr/shared/vendor/vendor-esbuild-plugins.js +203 -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 +55 -11
- package/runtime/core-aliases-early.js +17 -41
- package/runtime/core-aliases-early.js.map +1 -1
- 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 +0 -239
- package/hmr/server/websocket-angular-hot-update.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
|
@@ -5,19 +5,54 @@ 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
|
};
|
|
14
31
|
export declare function extractDirectExportedNames(code: string): string[];
|
|
15
32
|
export declare function resolveRuntimeCoreModulePath(normalizedSubpath: string, resolveModuleId: (moduleId: string) => Promise<string | null> | string | null): Promise<string | null>;
|
|
16
33
|
export declare function collectStaticExportNamesFromFile(modulePath: string, seen?: Set<string>): string[];
|
|
17
34
|
export declare function collectStaticExportOriginsFromFile(modulePath: string, rootEntryPath?: string, seen?: Set<string>): Record<string, CoreExportOrigin[]>;
|
|
18
35
|
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
36
|
export declare function hasModuleDefaultExport(moduleCode: string): boolean;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
37
|
+
/**
|
|
38
|
+
* Parse an incoming `/ns/core` bridge request.
|
|
39
|
+
*
|
|
40
|
+
* Accepted shapes:
|
|
41
|
+
* - `/ns/core` → package main
|
|
42
|
+
* - `/ns/core/<sub>` → subpath form (`<sub>` may carry a
|
|
43
|
+
* `.js`/`/index`/platform-suffix tail
|
|
44
|
+
* that we strip via `normalizeCoreSub`
|
|
45
|
+
* and report through `canonicalPath` so
|
|
46
|
+
* the middleware can 301)
|
|
47
|
+
*
|
|
48
|
+
* Anything else returns `null` so the middleware falls through to
|
|
49
|
+
* `next()` and a downstream 404 surfaces the offending emitter.
|
|
50
|
+
*
|
|
51
|
+
* URL contract:
|
|
52
|
+
* - No version segment. `/ns/core/<digits>` was an experimental
|
|
53
|
+
* cache-busting shape that split iOS's HTTP-ESM module cache from
|
|
54
|
+
* the unversioned URL emitted by the runtime import map. Removed.
|
|
55
|
+
* - No `?p=<sub>` query form. The canonical path form
|
|
56
|
+
* `/ns/core/<sub>` is the only spelling every emitter produces.
|
|
57
|
+
*/
|
|
58
|
+
export declare function parseCoreBridgeRequest(pathname: string, _searchParams: URLSearchParams, _currentGraphVersion: number): ParsedCoreBridgeRequest | null;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { existsSync, readFileSync, statSync } from 'node:fs';
|
|
2
2
|
import * as path from 'node:path';
|
|
3
|
-
|
|
3
|
+
import { normalizeCoreSub } from '../../helpers/ns-core-url.js';
|
|
4
4
|
export function extractDirectExportedNames(code) {
|
|
5
5
|
const names = new Set();
|
|
6
6
|
const declRe = /\bexport\s+(?:async\s+)?(?:function|class)\s+([A-Za-z_$][\w$]*)/g;
|
|
@@ -146,7 +146,19 @@ function resolveLocalExportTarget(spec, importerId) {
|
|
|
146
146
|
if (!importerPath)
|
|
147
147
|
return null;
|
|
148
148
|
const importerDir = path.dirname(importerPath);
|
|
149
|
-
|
|
149
|
+
// Include platform-specific variants (.ios.js / .android.js / .visionos.js).
|
|
150
|
+
// @nativescript/core ships only platform-specific files for many submodules
|
|
151
|
+
// (e.g. `./application/index.ios.js`, no plain `./application/index.js`), so
|
|
152
|
+
// a plain Node-style resolution misses them and the recursive export-name
|
|
153
|
+
// walk fails to follow `export * from './application'`. Without this, the
|
|
154
|
+
// /ns/core bridge's named-export list omits `Application`, and any static
|
|
155
|
+
// `import { Application } from '@nativescript/core'` through the bridge
|
|
156
|
+
// fails with "module does not provide an export named 'Application'".
|
|
157
|
+
//
|
|
158
|
+
// Prefer .ios variants at the top since the HMR dev server is iOS-first;
|
|
159
|
+
// .android variants are still tried so Android serving also works.
|
|
160
|
+
const platformVariants = ['.ios.ts', '.ios.js', '.ios.mjs', '.android.ts', '.android.js', '.android.mjs', '.visionos.ts', '.visionos.js', '.visionos.mjs'];
|
|
161
|
+
const candidates = [path.resolve(importerDir, spec), path.resolve(importerDir, `${spec}.ts`), path.resolve(importerDir, `${spec}.js`), path.resolve(importerDir, `${spec}.mjs`), ...platformVariants.map((ext) => path.resolve(importerDir, `${spec}${ext}`)), path.resolve(importerDir, spec, 'index.ts'), path.resolve(importerDir, spec, 'index.js'), path.resolve(importerDir, spec, 'index.mjs'), ...platformVariants.map((ext) => path.resolve(importerDir, spec, `index${ext}`))];
|
|
150
162
|
for (const candidate of candidates) {
|
|
151
163
|
if (existsSync(candidate) && !statSync(candidate).isDirectory()) {
|
|
152
164
|
return candidate;
|
|
@@ -173,7 +185,16 @@ export function collectStaticExportOriginsFromFile(modulePath, rootEntryPath = m
|
|
|
173
185
|
}
|
|
174
186
|
const currentModuleId = runtimeModuleIdForFile(cleanedPath, cleanedRoot) || '@nativescript/core';
|
|
175
187
|
const currentCanonicalSubpath = canonicalCoreSubpathForFile(cleanedPath, cleanedRoot);
|
|
176
|
-
|
|
188
|
+
// Use a null-prototype map so keys like `toString`, `constructor`, or
|
|
189
|
+
// `hasOwnProperty` — which DO appear as real exports in some core
|
|
190
|
+
// subpaths (e.g. `@nativescript/core/ui/gestures/gestures-common`
|
|
191
|
+
// re-exports `toString`) — don't collide with Object.prototype's own
|
|
192
|
+
// properties. Previously `origins['toString']` returned the inherited
|
|
193
|
+
// Function, and the subsequent `existing.some(...)` call threw
|
|
194
|
+
// "existing.some is not a function", causing the whole subpath's
|
|
195
|
+
// export discovery to bail and fall back to a pure `export *` which
|
|
196
|
+
// in turn leaked into the "hasKey not provided" downstream crash.
|
|
197
|
+
const origins = Object.create(null);
|
|
177
198
|
for (const name of extractDirectExportedNames(code)) {
|
|
178
199
|
appendCoreExportOrigin(origins, name, { moduleId: currentModuleId, mode: 'named', importedName: name, canonicalSubpath: currentCanonicalSubpath || undefined });
|
|
179
200
|
}
|
|
@@ -208,7 +229,13 @@ export function collectStaticExportOriginsFromFile(modulePath, rootEntryPath = m
|
|
|
208
229
|
appendCoreExportOrigin(origins, exportedName, { moduleId: currentModuleId, mode: 'named', importedName, canonicalSubpath: currentCanonicalSubpath || undefined });
|
|
209
230
|
}
|
|
210
231
|
}
|
|
211
|
-
|
|
232
|
+
// Tolerate trailing comments on `export * from '…'` lines. @nativescript/core
|
|
233
|
+
// has lines like `export * from './layouts'; // barrel export`, and the
|
|
234
|
+
// previous strict `[ \t]*$` anchor refused to match them — which silently
|
|
235
|
+
// skipped recursion into ./layouts, omitting GridLayout/LayoutBase (and
|
|
236
|
+
// any name reached through a similarly-commented star re-export) from the
|
|
237
|
+
// /ns/core bridge's named-export list.
|
|
238
|
+
const starRe = /^[ \t]*export\s+\*\s+from\s+["']([^"']+)["'][^\n]*$/gm;
|
|
212
239
|
while ((match = starRe.exec(code)) !== null) {
|
|
213
240
|
const spec = match[1];
|
|
214
241
|
if (!spec.startsWith('.'))
|
|
@@ -265,96 +292,66 @@ export async function normalizeCoreExportOriginsForRuntime(exportOrigins, resolv
|
|
|
265
292
|
}
|
|
266
293
|
return normalizedOrigins;
|
|
267
294
|
}
|
|
268
|
-
export function ensureVersionedCoreImports(code, _origin, ver) {
|
|
269
|
-
try {
|
|
270
|
-
code = code.replace(/(["'])(?:https?:\/\/[^"']+)?\/ns\/core(?:\/[\d]+)?(\?p=[^"']+)?\1/g, (_m, q, qp) => `${q}/ns/core/${ver}${qp || ''}${q}`);
|
|
271
|
-
code = code.replace(/import\(\s*(["'])(?:https?:\/\/[^"']+)?\/ns\/core(?:\/[\d]+)?(\?p=[^"']+)?\1\s*\)/g, (_m, q, qp) => `import(${q}/ns/core/${ver}${qp || ''}${q})`);
|
|
272
|
-
}
|
|
273
|
-
catch { }
|
|
274
|
-
return code;
|
|
275
|
-
}
|
|
276
295
|
export function hasModuleDefaultExport(moduleCode) {
|
|
277
296
|
if (!moduleCode || typeof moduleCode !== 'string')
|
|
278
297
|
return false;
|
|
279
298
|
return /\bexport\s+default\b/.test(moduleCode) || /\bexport\s*\{[^}]*\bdefault\b[^}]*\}/.test(moduleCode);
|
|
280
299
|
}
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
continue;
|
|
304
|
-
if (staticOriginImports.has(entry.canonicalSubpath))
|
|
305
|
-
continue;
|
|
306
|
-
const localName = `__ns_core_origin_${staticOriginCounter++}`;
|
|
307
|
-
staticOriginImports.set(entry.canonicalSubpath, localName);
|
|
308
|
-
staticOriginImportLines.push(`import * as ${localName} from ${JSON.stringify(`/ns/core/${ver}?p=${entry.canonicalSubpath}`)};`);
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
const staticOriginModulesLiteral = staticOriginImports.size
|
|
312
|
-
? `{ ${Array.from(staticOriginImports.entries())
|
|
313
|
-
.map(([subpath, localName]) => `${JSON.stringify(subpath)}: ${localName}`)
|
|
314
|
-
.join(', ')} }`
|
|
315
|
-
: '{}';
|
|
316
|
-
return ((staticOriginImportLines.length ? `${staticOriginImportLines.join('\n')}\n` : '') +
|
|
317
|
-
REQUIRE_GUARD_SNIPPET +
|
|
318
|
-
`// [ns-core-bridge][v${ver}] HTTP-only ESM bridge\n` +
|
|
319
|
-
`const g = globalThis;\n` +
|
|
320
|
-
`const reg = (g.__nsVendorRegistry ||= new Map());\n` +
|
|
321
|
-
`const __unwrapNsModule = (mod) => {\n if (!mod) return null;\n try { if ((typeof mod === 'object' || typeof mod === 'function') && Object.prototype.hasOwnProperty.call(mod, 'default')) { const keys = Object.keys(mod).filter((entry) => entry !== '__esModule'); if (!keys.length || (keys.length === 1 && keys[0] === 'default')) return mod.default; } } catch {}\n return mod;\n};\n` +
|
|
322
|
-
`const __resolveNsModule = (moduleId) => {\n try { if (typeof g.moduleExists === 'function' && g.moduleExists(moduleId) && typeof g.loadModule === 'function') { const mod = g.loadModule(moduleId); if (mod) return __unwrapNsModule(mod); } } catch {}\n try { if (reg && reg.get) { const mod = reg.get(moduleId); if (mod) return __unwrapNsModule(mod); } } catch {}\n try { const req = g.__nsVendorRequire || g.__nsRequire || g.require; if (typeof req === 'function') { const mod = req(moduleId); if (mod) return __unwrapNsModule(mod); } } catch {}\n try { const nr = g.__nativeRequire; if (typeof nr === 'function') { const mod = nr(moduleId, '/'); if (mod) return __unwrapNsModule(mod); } } catch {}\n return null;\n};\n` +
|
|
323
|
-
`const __pickApplicationApi = (candidate) => {\n if (!candidate) return null;\n const candidates = [candidate, candidate.Application, candidate.app, candidate.application];\n for (const entry of candidates) { if (entry && (typeof entry.run === 'function' || typeof entry.on === 'function' || typeof entry.resetRootView === 'function')) return entry; }\n return null;\n};\n` +
|
|
324
|
-
`let __nsPrimaryCoreReady = false;\nlet __nsPrimaryCore = null;\nconst __getPrimaryCore = () => { if (!__nsPrimaryCoreReady) { __nsPrimaryCore = __resolveNsModule(${JSON.stringify(key)}) || __resolveNsModule('@nativescript/core') || null; __nsPrimaryCoreReady = true; } return __nsPrimaryCore; };\n` +
|
|
325
|
-
`let __nsCoreUiReady = false;\nlet __nsCoreUi = null;\nconst __getCoreUi = () => { if (!__nsCoreUiReady) { __nsCoreUi = __resolveNsModule('@nativescript/core/ui') || null; __nsCoreUiReady = true; } return __nsCoreUi; };\n` +
|
|
326
|
-
`const __nsCoreExportOrigins = ${serializedExportOrigins};\nconst __nsCoreOriginModules = ${staticOriginModulesLiteral};\n` +
|
|
327
|
-
`const __resolveFromExportOrigins = (name) => { const entries = __nsCoreExportOrigins && __nsCoreExportOrigins[name]; if (!entries || !entries.length) return undefined; for (const entry of entries) { try { const mod = (entry.canonicalSubpath && __nsCoreOriginModules[entry.canonicalSubpath]) || __resolveNsModule(entry.moduleId); if (!mod) continue; if (entry.mode === 'module') return mod; const importedName = entry.importedName || name; if (importedName === 'Application') { const picked = __pickApplicationApi(mod); if (picked) return picked; } if (mod && mod[importedName] !== undefined) return mod[importedName]; } catch {} } return undefined; };\n` +
|
|
328
|
-
`const __getCoreExport = (name) => { if (name === 'Application' && g.Application && (typeof g.Application.run === 'function' || typeof g.Application.on === 'function' || typeof g.Application.resetRootView === 'function')) return g.Application; if (name === 'Application') { const appModule = __resolveNsModule('@nativescript/core/application'); const pickedApp = __pickApplicationApi(appModule); if (pickedApp) return pickedApp; } const primary = __getPrimaryCore(); if (name === 'Application') { const pickedPrimary = __pickApplicationApi(primary); if (pickedPrimary) return pickedPrimary; } try { if (primary && primary[name] !== undefined) return primary[name]; } catch {} const ui = __getCoreUi(); try { if (ui && ui[name] !== undefined) return ui[name]; } catch {} const viaOrigins = __resolveFromExportOrigins(name); if (viaOrigins !== undefined) return viaOrigins; try { const v = g[name]; if (v !== undefined) return v; } catch {} return undefined; };\n` +
|
|
329
|
-
namedExportDeclarations +
|
|
330
|
-
`const __nsNamedCore = ${namedExportObjectLiteral};\n` +
|
|
331
|
-
`const __core = new Proxy(__nsNamedCore, { get(_t, p){ if (p === 'default') return __core; if (p === Symbol.toStringTag) return 'Module'; try { if (typeof p === 'string' && Object.prototype.hasOwnProperty.call(__nsNamedCore, p)) { const value = __nsNamedCore[p]; if (value !== undefined) return value; } } catch {} return __getCoreExport(p); } });\n` +
|
|
332
|
-
namedExportStatement +
|
|
333
|
-
`export default __core;\n`);
|
|
334
|
-
}
|
|
335
|
-
export function parseCoreBridgeRequest(pathname, searchParams, currentGraphVersion) {
|
|
300
|
+
/**
|
|
301
|
+
* Parse an incoming `/ns/core` bridge request.
|
|
302
|
+
*
|
|
303
|
+
* Accepted shapes:
|
|
304
|
+
* - `/ns/core` → package main
|
|
305
|
+
* - `/ns/core/<sub>` → subpath form (`<sub>` may carry a
|
|
306
|
+
* `.js`/`/index`/platform-suffix tail
|
|
307
|
+
* that we strip via `normalizeCoreSub`
|
|
308
|
+
* and report through `canonicalPath` so
|
|
309
|
+
* the middleware can 301)
|
|
310
|
+
*
|
|
311
|
+
* Anything else returns `null` so the middleware falls through to
|
|
312
|
+
* `next()` and a downstream 404 surfaces the offending emitter.
|
|
313
|
+
*
|
|
314
|
+
* URL contract:
|
|
315
|
+
* - No version segment. `/ns/core/<digits>` was an experimental
|
|
316
|
+
* cache-busting shape that split iOS's HTTP-ESM module cache from
|
|
317
|
+
* the unversioned URL emitted by the runtime import map. Removed.
|
|
318
|
+
* - No `?p=<sub>` query form. The canonical path form
|
|
319
|
+
* `/ns/core/<sub>` is the only spelling every emitter produces.
|
|
320
|
+
*/
|
|
321
|
+
export function parseCoreBridgeRequest(pathname, _searchParams, _currentGraphVersion) {
|
|
336
322
|
if (!pathname)
|
|
337
323
|
return null;
|
|
338
324
|
if (!(pathname === '/ns/core' || pathname === '/ns/core/' || pathname.startsWith('/ns/core/'))) {
|
|
339
325
|
return null;
|
|
340
326
|
}
|
|
341
|
-
if (/^\/ns\/core\/\d+(?:\/.*)$/.test(pathname)) {
|
|
342
|
-
return null;
|
|
343
|
-
}
|
|
344
327
|
const afterCore = pathname.replace(/^\/ns\/core\/?/, '');
|
|
345
328
|
if (afterCore.startsWith('/')) {
|
|
346
329
|
return null;
|
|
347
330
|
}
|
|
348
|
-
const
|
|
349
|
-
const ver = hasExplicitVersion ? afterCore : String(currentGraphVersion || 0);
|
|
350
|
-
const sub = searchParams.get('p') || (afterCore && !hasExplicitVersion ? afterCore : '');
|
|
331
|
+
const sub = afterCore || '';
|
|
351
332
|
const normalizedSub = sub ? sub.replace(/^\/+/, '') : null;
|
|
333
|
+
let canonicalPath;
|
|
334
|
+
if (normalizedSub) {
|
|
335
|
+
const canonical = normalizeCoreSub(normalizedSub);
|
|
336
|
+
const expectedPath = canonical ? `/ns/core/${canonical}` : '/ns/core';
|
|
337
|
+
if (pathname !== expectedPath) {
|
|
338
|
+
canonicalPath = expectedPath;
|
|
339
|
+
try {
|
|
340
|
+
const g = globalThis;
|
|
341
|
+
g.__NS_BRIDGE_NONCANON__ || (g.__NS_BRIDGE_NONCANON__ = { count: 0, samples: [] });
|
|
342
|
+
g.__NS_BRIDGE_NONCANON__.count++;
|
|
343
|
+
if (g.__NS_BRIDGE_NONCANON__.samples.length < 10) {
|
|
344
|
+
g.__NS_BRIDGE_NONCANON__.samples.push({ raw: normalizedSub, canonical, pathname });
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
catch { }
|
|
348
|
+
}
|
|
349
|
+
}
|
|
352
350
|
return {
|
|
353
|
-
hasExplicitVersion,
|
|
354
|
-
ver,
|
|
355
351
|
sub: normalizedSub || '',
|
|
356
352
|
normalizedSub,
|
|
357
353
|
key: normalizedSub ? `@nativescript/core/${normalizedSub}` : '@nativescript/core',
|
|
354
|
+
canonicalPath,
|
|
358
355
|
};
|
|
359
356
|
}
|
|
360
357
|
//# sourceMappingURL=websocket-core-bridge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-core-bridge.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/websocket-core-bridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"websocket-core-bridge.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/websocket-core-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export interface CollectCssHotUpdatePathsOptions {
|
|
2
|
+
/** Absolute path of the file the watcher saw change. */
|
|
3
|
+
file: string;
|
|
4
|
+
/** Vite dev server `config.root` (project root for the NS app). */
|
|
5
|
+
root: string;
|
|
6
|
+
/** `nativescript.config#appPath` value. Defaults to `'src'`. */
|
|
7
|
+
appRootDir?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Absolute path to the project's primary CSS entry
|
|
10
|
+
* (`<root>/<appRootDir>/app.css`). Required to broadcast for
|
|
11
|
+
* out-of-scope CSS saves — workspace deps `@import`'d from
|
|
12
|
+
* `app.css` invalidate the `virtual:ns-app-css` module, which has
|
|
13
|
+
* no real `.file` to broadcast on its own.
|
|
14
|
+
*/
|
|
15
|
+
appEntryCss?: string | null;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Compute the root-relative POSIX path to broadcast in `ns:css-updates`
|
|
19
|
+
* for a given CSS hot-update.
|
|
20
|
+
*
|
|
21
|
+
* - **In-scope CSS edit** (`<root>/src|core|<appRootDir>/...css`):
|
|
22
|
+
* broadcast that file's path.
|
|
23
|
+
* - **Out-of-scope CSS edit** (workspace dep `@import`'d via
|
|
24
|
+
* `app.css`): broadcast `appEntryCss`. The runtime fetches
|
|
25
|
+
* `app.css?direct=1`, Vite re-runs PostCSS through the `@import`
|
|
26
|
+
* chain, and the merged CSS lands.
|
|
27
|
+
*
|
|
28
|
+
* NS only ever fetches the entry CSS at runtime, so a single
|
|
29
|
+
* `appEntryCss` broadcast covers every workspace-dep CSS save —
|
|
30
|
+
* regardless of how deep the `@import` chain goes. Returns `[]` for
|
|
31
|
+
* non-CSS files or when no broadcast target is available.
|
|
32
|
+
*/
|
|
33
|
+
export declare function collectCssHotUpdatePaths(options: CollectCssHotUpdatePathsOptions): string[];
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
const CSS_EXTENSION = /\.css(?:[?#].*)?$/i;
|
|
3
|
+
function toPosix(value) {
|
|
4
|
+
return value.replace(/\\/g, '/');
|
|
5
|
+
}
|
|
6
|
+
function stripQuery(value) {
|
|
7
|
+
const idx = value.search(/[?#]/);
|
|
8
|
+
return idx === -1 ? value : value.slice(0, idx);
|
|
9
|
+
}
|
|
10
|
+
function isInProjectScope(absPath, root, appRootDir) {
|
|
11
|
+
if (!absPath || !root)
|
|
12
|
+
return false;
|
|
13
|
+
const absPosix = stripQuery(toPosix(absPath));
|
|
14
|
+
const rootPosix = toPosix(root).replace(/\/$/, '');
|
|
15
|
+
const dirs = [`${rootPosix}/src`, `${rootPosix}/core`];
|
|
16
|
+
if (appRootDir && appRootDir !== 'src') {
|
|
17
|
+
dirs.push(`${rootPosix}/${appRootDir}`);
|
|
18
|
+
}
|
|
19
|
+
return dirs.some((dir) => absPosix === dir || absPosix.startsWith(`${dir}/`));
|
|
20
|
+
}
|
|
21
|
+
function toRootRelative(absPath, root) {
|
|
22
|
+
if (!absPath || !root)
|
|
23
|
+
return null;
|
|
24
|
+
const cleaned = stripQuery(toPosix(absPath));
|
|
25
|
+
const rootPosix = toPosix(root).replace(/\/$/, '');
|
|
26
|
+
if (cleaned !== rootPosix && !cleaned.startsWith(`${rootPosix}/`)) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
const rel = path.posix.normalize(path.posix.relative(rootPosix, cleaned));
|
|
30
|
+
if (!rel || rel === '.' || rel.startsWith('..'))
|
|
31
|
+
return null;
|
|
32
|
+
return rel.startsWith('/') ? rel : `/${rel}`;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Compute the root-relative POSIX path to broadcast in `ns:css-updates`
|
|
36
|
+
* for a given CSS hot-update.
|
|
37
|
+
*
|
|
38
|
+
* - **In-scope CSS edit** (`<root>/src|core|<appRootDir>/...css`):
|
|
39
|
+
* broadcast that file's path.
|
|
40
|
+
* - **Out-of-scope CSS edit** (workspace dep `@import`'d via
|
|
41
|
+
* `app.css`): broadcast `appEntryCss`. The runtime fetches
|
|
42
|
+
* `app.css?direct=1`, Vite re-runs PostCSS through the `@import`
|
|
43
|
+
* chain, and the merged CSS lands.
|
|
44
|
+
*
|
|
45
|
+
* NS only ever fetches the entry CSS at runtime, so a single
|
|
46
|
+
* `appEntryCss` broadcast covers every workspace-dep CSS save —
|
|
47
|
+
* regardless of how deep the `@import` chain goes. Returns `[]` for
|
|
48
|
+
* non-CSS files or when no broadcast target is available.
|
|
49
|
+
*/
|
|
50
|
+
export function collectCssHotUpdatePaths(options) {
|
|
51
|
+
const { file, root, appRootDir, appEntryCss } = options;
|
|
52
|
+
if (!file || !root)
|
|
53
|
+
return [];
|
|
54
|
+
if (!CSS_EXTENSION.test(file))
|
|
55
|
+
return [];
|
|
56
|
+
if (isInProjectScope(file, root, appRootDir)) {
|
|
57
|
+
const rel = toRootRelative(file, root);
|
|
58
|
+
return rel ? [rel] : [];
|
|
59
|
+
}
|
|
60
|
+
if (!appEntryCss)
|
|
61
|
+
return [];
|
|
62
|
+
const rel = toRootRelative(appEntryCss, root);
|
|
63
|
+
return rel ? [rel] : [];
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=websocket-css-hot-update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket-css-hot-update.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/websocket-css-hot-update.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { processCodeForDevice, cleanCode, collectImportDependencies, processSfcCode } from './process-code-for-device.js';
|
|
2
|
+
export { rewriteImports, prepareAngularEntryForDevice } from './rewrite-imports.js';
|
|
3
|
+
export { shouldRemapImport } from './device-transform-helpers.js';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// Public entry point for the device code-transform subsystem (the HMR plugin's
|
|
2
|
+
// hot path). The implementation lives in three focused modules; consumers and
|
|
3
|
+
// spec suites import the subsystem's surface from here.
|
|
4
|
+
export { processCodeForDevice, cleanCode, collectImportDependencies, processSfcCode } from './process-code-for-device.js';
|
|
5
|
+
export { rewriteImports, prepareAngularEntryForDevice } from './rewrite-imports.js';
|
|
6
|
+
export { shouldRemapImport } from './device-transform-helpers.js';
|
|
7
|
+
//# sourceMappingURL=websocket-device-transform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket-device-transform.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/websocket-device-transform.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,8EAA8E;AAC9E,wDAAwD;AACxD,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC1H,OAAO,EAAE,cAAc,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -4,3 +4,18 @@ export declare function classifyGraphUpsert(existing: {
|
|
|
4
4
|
deps: string[];
|
|
5
5
|
} | undefined, nextHash: string, nextDeps: string[]): GraphUpsertClassification;
|
|
6
6
|
export declare function shouldBroadcastGraphUpsertDelta(classification: GraphUpsertClassification, emitDeltaOnInsert?: boolean, broadcastEnabled?: boolean): boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Decide whether an upsert should advance the shared graphVersion
|
|
9
|
+
* counter. Serve-time warm-ups (and the background initial-graph walk) pass
|
|
10
|
+
* `bumpVersion: false` so graphVersion stays stable during cold boot — that
|
|
11
|
+
* stability is what lets the dynamic-import helper tag every first-session
|
|
12
|
+
* URL with a consistent `v1` instead of drifting between `live`, `v12`,
|
|
13
|
+
* `v433`... (which would produce double-loaded modules on iOS HTTP ESM).
|
|
14
|
+
* Real live edits (handleHotUpdate and framework hot-update handlers) leave
|
|
15
|
+
* `bumpVersion` unset or true and advance the counter as before.
|
|
16
|
+
*
|
|
17
|
+
* The helper also treats `unchanged` classifications as no-op: they bypass
|
|
18
|
+
* the graph set entirely in upsertGraphModule, so the version must not
|
|
19
|
+
* advance for them either.
|
|
20
|
+
*/
|
|
21
|
+
export declare function shouldBumpGraphVersion(classification: GraphUpsertClassification, bumpVersion?: boolean): boolean;
|
|
@@ -10,4 +10,24 @@ export function classifyGraphUpsert(existing, nextHash, nextDeps) {
|
|
|
10
10
|
export function shouldBroadcastGraphUpsertDelta(classification, emitDeltaOnInsert = false, broadcastEnabled = true) {
|
|
11
11
|
return broadcastEnabled && (classification === 'changed' || (classification === 'inserted' && emitDeltaOnInsert));
|
|
12
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* Decide whether an upsert should advance the shared graphVersion
|
|
15
|
+
* counter. Serve-time warm-ups (and the background initial-graph walk) pass
|
|
16
|
+
* `bumpVersion: false` so graphVersion stays stable during cold boot — that
|
|
17
|
+
* stability is what lets the dynamic-import helper tag every first-session
|
|
18
|
+
* URL with a consistent `v1` instead of drifting between `live`, `v12`,
|
|
19
|
+
* `v433`... (which would produce double-loaded modules on iOS HTTP ESM).
|
|
20
|
+
* Real live edits (handleHotUpdate and framework hot-update handlers) leave
|
|
21
|
+
* `bumpVersion` unset or true and advance the counter as before.
|
|
22
|
+
*
|
|
23
|
+
* The helper also treats `unchanged` classifications as no-op: they bypass
|
|
24
|
+
* the graph set entirely in upsertGraphModule, so the version must not
|
|
25
|
+
* advance for them either.
|
|
26
|
+
*/
|
|
27
|
+
export function shouldBumpGraphVersion(classification, bumpVersion = true) {
|
|
28
|
+
if (classification === 'unchanged') {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
return bumpVersion !== false;
|
|
32
|
+
}
|
|
13
33
|
//# sourceMappingURL=websocket-graph-upsert.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-graph-upsert.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/websocket-graph-upsert.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,mBAAmB,CAAC,QAAsD,EAAE,QAAgB,EAAE,QAAkB;IAC/H,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,UAAU,CAAC;IACnB,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChI,OAAO,WAAW,CAAC;IACpB,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,cAAyC,EAAE,oBAA6B,KAAK,EAAE,mBAA4B,IAAI;IAC9J,OAAO,gBAAgB,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,cAAc,KAAK,UAAU,IAAI,iBAAiB,CAAC,CAAC,CAAC;AACnH,CAAC"}
|
|
1
|
+
{"version":3,"file":"websocket-graph-upsert.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/websocket-graph-upsert.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,mBAAmB,CAAC,QAAsD,EAAE,QAAgB,EAAE,QAAkB;IAC/H,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,UAAU,CAAC;IACnB,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChI,OAAO,WAAW,CAAC;IACpB,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,cAAyC,EAAE,oBAA6B,KAAK,EAAE,mBAA4B,IAAI;IAC9J,OAAO,gBAAgB,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,cAAc,KAAK,UAAU,IAAI,iBAAiB,CAAC,CAAC,CAAC;AACnH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,sBAAsB,CAAC,cAAyC,EAAE,cAAuB,IAAI;IAC5G,IAAI,cAAc,KAAK,WAAW,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,WAAW,KAAK,KAAK,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Early "pending" notification for HMR.
|
|
3
|
+
*
|
|
4
|
+
* When `handleHotUpdate(ctx)` first fires for a save event, the server
|
|
5
|
+
* spends 7–200ms doing graph upserts, transforms and dependency
|
|
6
|
+
* analysis BEFORE broadcasting `ns:angular-update` (or
|
|
7
|
+
* `ns:css-updates`). During that window the client has no idea a
|
|
8
|
+
* change is in flight, so the HMR-applying overlay only appears at
|
|
9
|
+
* the tail end of the cycle and the user perceives the dev loop as
|
|
10
|
+
* laggy.
|
|
11
|
+
*
|
|
12
|
+
* `ns:hmr-pending` is broadcast at the very start of `handleHotUpdate`
|
|
13
|
+
* with just the file path + classified kind. The client reacts by
|
|
14
|
+
* showing the 'received' overlay frame immediately. The authoritative
|
|
15
|
+
* payload (`ns:angular-update` / `ns:css-updates`) follows once the
|
|
16
|
+
* server is ready and walks the rest of the stage progression.
|
|
17
|
+
*
|
|
18
|
+
* This module is intentionally a pure helper so the message shape and
|
|
19
|
+
* narrowing rules can be verified without spinning up a Vite dev
|
|
20
|
+
* server.
|
|
21
|
+
*/
|
|
22
|
+
import type { HmrPendingKind, HmrPendingMessage } from '../shared/protocol.js';
|
|
23
|
+
export type { HmrPendingKind, HmrPendingMessage };
|
|
24
|
+
export declare function createHmrPendingMessage(input: {
|
|
25
|
+
origin: string;
|
|
26
|
+
path: string;
|
|
27
|
+
kind: string;
|
|
28
|
+
timestamp: number;
|
|
29
|
+
}): HmrPendingMessage;
|
|
30
|
+
/**
|
|
31
|
+
* Parser used by the client to identify a pending message regardless of
|
|
32
|
+
* which framework is active. We accept the message only when every
|
|
33
|
+
* expected field is present and well-formed — this guards against
|
|
34
|
+
* accidental matches on legacy server payloads or developer-written
|
|
35
|
+
* mocks during tests.
|
|
36
|
+
*/
|
|
37
|
+
export declare function isHmrPendingMessage(value: unknown): value is HmrPendingMessage;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Early "pending" notification for HMR.
|
|
3
|
+
*
|
|
4
|
+
* When `handleHotUpdate(ctx)` first fires for a save event, the server
|
|
5
|
+
* spends 7–200ms doing graph upserts, transforms and dependency
|
|
6
|
+
* analysis BEFORE broadcasting `ns:angular-update` (or
|
|
7
|
+
* `ns:css-updates`). During that window the client has no idea a
|
|
8
|
+
* change is in flight, so the HMR-applying overlay only appears at
|
|
9
|
+
* the tail end of the cycle and the user perceives the dev loop as
|
|
10
|
+
* laggy.
|
|
11
|
+
*
|
|
12
|
+
* `ns:hmr-pending` is broadcast at the very start of `handleHotUpdate`
|
|
13
|
+
* with just the file path + classified kind. The client reacts by
|
|
14
|
+
* showing the 'received' overlay frame immediately. The authoritative
|
|
15
|
+
* payload (`ns:angular-update` / `ns:css-updates`) follows once the
|
|
16
|
+
* server is ready and walks the rest of the stage progression.
|
|
17
|
+
*
|
|
18
|
+
* This module is intentionally a pure helper so the message shape and
|
|
19
|
+
* narrowing rules can be verified without spinning up a Vite dev
|
|
20
|
+
* server.
|
|
21
|
+
*/
|
|
22
|
+
export function createHmrPendingMessage(input) {
|
|
23
|
+
const allowed = ['ts', 'css', 'html', 'unknown'];
|
|
24
|
+
const kind = allowed.includes(input.kind || '') ? input.kind : 'unknown';
|
|
25
|
+
return {
|
|
26
|
+
type: 'ns:hmr-pending',
|
|
27
|
+
origin: typeof input.origin === 'string' ? input.origin : '',
|
|
28
|
+
path: typeof input.path === 'string' ? input.path : '',
|
|
29
|
+
kind,
|
|
30
|
+
timestamp: typeof input.timestamp === 'number' && Number.isFinite(input.timestamp) ? input.timestamp : 0,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Parser used by the client to identify a pending message regardless of
|
|
35
|
+
* which framework is active. We accept the message only when every
|
|
36
|
+
* expected field is present and well-formed — this guards against
|
|
37
|
+
* accidental matches on legacy server payloads or developer-written
|
|
38
|
+
* mocks during tests.
|
|
39
|
+
*/
|
|
40
|
+
export function isHmrPendingMessage(value) {
|
|
41
|
+
if (!value || typeof value !== 'object')
|
|
42
|
+
return false;
|
|
43
|
+
const v = value;
|
|
44
|
+
if (v.type !== 'ns:hmr-pending')
|
|
45
|
+
return false;
|
|
46
|
+
if (typeof v.path !== 'string' || !v.path)
|
|
47
|
+
return false;
|
|
48
|
+
if (typeof v.timestamp !== 'number' || !Number.isFinite(v.timestamp))
|
|
49
|
+
return false;
|
|
50
|
+
const allowed = ['ts', 'css', 'html', 'unknown'];
|
|
51
|
+
if (!allowed.includes(v.kind || ''))
|
|
52
|
+
return false;
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=websocket-hmr-pending.js.map
|