@nativescript/vite 8.0.0-alpha.6 → 8.0.0-alpha.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +51 -11
- package/bin/cli.cjs +8 -14
- package/configuration/angular.d.ts +34 -1
- package/configuration/angular.js +376 -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 +4 -2
- 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 +149 -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.map +1 -1
- package/helpers/nativeclass-transform.js +5 -6
- 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 +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 +20 -19
- package/helpers/workers.js +624 -4
- 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 +271 -69
- 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 +984 -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 +630 -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 +824 -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 +255 -50
- 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 +125 -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 +38 -0
- package/hmr/shared/vendor/vendor-esbuild-plugins.js +296 -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,44 +1,7 @@
|
|
|
1
|
-
import { getProjectAppVirtualPath } from '
|
|
2
|
-
import { isRuntimeGraphExcludedPath
|
|
1
|
+
import { getProjectAppVirtualPath } from '../../../../helpers/utils.js';
|
|
2
|
+
import { isRuntimeGraphExcludedPath } from '../../../server/runtime-graph-filter.js';
|
|
3
|
+
import { canonicalizeTransformRequestCacheKey } from '../../../server/transform-cache-invalidation.js';
|
|
3
4
|
const APP_VIRTUAL_WITH_SLASH = `${getProjectAppVirtualPath()}/`;
|
|
4
|
-
export function canonicalizeTransformRequestCacheKey(url, projectRoot) {
|
|
5
|
-
if (!url)
|
|
6
|
-
return url;
|
|
7
|
-
const [rawPath, rawQuery = ''] = url.split('?', 2);
|
|
8
|
-
let normalizedPath = rawPath;
|
|
9
|
-
const root = projectRoot ? projectRoot.replace(/\\/g, '/') : '';
|
|
10
|
-
if (normalizedPath.startsWith('/@fs/')) {
|
|
11
|
-
const fsPath = normalizedPath.slice('/@fs'.length).replace(/\\/g, '/');
|
|
12
|
-
if (root && fsPath.startsWith(root)) {
|
|
13
|
-
const rel = fsPath.slice(root.length);
|
|
14
|
-
normalizedPath = rel.startsWith('/') ? rel : `/${rel}`;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
else if (root && normalizedPath.replace(/\\/g, '/').startsWith(root)) {
|
|
18
|
-
const rel = normalizedPath.replace(/\\/g, '/').slice(root.length);
|
|
19
|
-
normalizedPath = rel.startsWith('/') ? rel : `/${rel}`;
|
|
20
|
-
}
|
|
21
|
-
if (!rawQuery) {
|
|
22
|
-
return normalizedPath;
|
|
23
|
-
}
|
|
24
|
-
const params = new URLSearchParams(rawQuery);
|
|
25
|
-
params.delete('t');
|
|
26
|
-
params.delete('v');
|
|
27
|
-
const kept = Array.from(params.entries()).sort(([leftKey, leftValue], [rightKey, rightValue]) => {
|
|
28
|
-
if (leftKey === rightKey) {
|
|
29
|
-
return leftValue.localeCompare(rightValue);
|
|
30
|
-
}
|
|
31
|
-
return leftKey.localeCompare(rightKey);
|
|
32
|
-
});
|
|
33
|
-
if (!kept.length) {
|
|
34
|
-
return normalizedPath;
|
|
35
|
-
}
|
|
36
|
-
const normalizedQuery = new URLSearchParams();
|
|
37
|
-
for (const [key, value] of kept) {
|
|
38
|
-
normalizedQuery.append(key, value);
|
|
39
|
-
}
|
|
40
|
-
return `${normalizedPath}?${normalizedQuery.toString()}`;
|
|
41
|
-
}
|
|
42
5
|
export function collectGraphUpdateModulesForHotUpdate(options) {
|
|
43
6
|
const targets = new Map();
|
|
44
7
|
const addTarget = (mod) => {
|
|
@@ -52,18 +15,32 @@ export function collectGraphUpdateModulesForHotUpdate(options) {
|
|
|
52
15
|
}
|
|
53
16
|
};
|
|
54
17
|
if (options.flavor === 'angular' && /\.(html|htm)$/i.test(options.file)) {
|
|
18
|
+
const importerIdsSeen = [];
|
|
19
|
+
const importerIdsAccepted = [];
|
|
55
20
|
for (const mod of options.modules || []) {
|
|
56
21
|
for (const importer of mod?.importers || []) {
|
|
57
22
|
const importerId = importer?.id || '';
|
|
23
|
+
importerIdsSeen.push(importerId);
|
|
58
24
|
if (/\.[cm]?[jt]sx?(?:$|\?)/i.test(importerId)) {
|
|
59
25
|
addTarget(importer);
|
|
26
|
+
importerIdsAccepted.push(importerId);
|
|
60
27
|
}
|
|
61
28
|
}
|
|
62
29
|
}
|
|
63
|
-
|
|
30
|
+
const fellBackToFile = !targets.size;
|
|
31
|
+
if (fellBackToFile) {
|
|
64
32
|
addTarget(options.getModuleById(options.file.replace(/\.(html|htm)$/i, '.ts')));
|
|
65
33
|
addTarget(options.getModuleById(options.file.replace(/\.(html|htm)$/i, '.js')));
|
|
66
34
|
}
|
|
35
|
+
if (options.verbose) {
|
|
36
|
+
console.info(`[ns-hmr][server] collectGraphUpdateModulesForHotUpdate(html) file=${options.file} importersSeen=${importerIdsSeen.length} importersAccepted=${importerIdsAccepted.length} fellBackToFile=${fellBackToFile} targets=${targets.size}`);
|
|
37
|
+
if (importerIdsSeen.length) {
|
|
38
|
+
console.info(`[ns-hmr][server] importersSeen sample=`, importerIdsSeen.slice(0, 8));
|
|
39
|
+
}
|
|
40
|
+
if (importerIdsAccepted.length) {
|
|
41
|
+
console.info(`[ns-hmr][server] importersAccepted sample=`, importerIdsAccepted.slice(0, 8));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
67
44
|
return Array.from(targets.values());
|
|
68
45
|
}
|
|
69
46
|
if (!options.file.endsWith('.vue')) {
|
|
@@ -121,55 +98,15 @@ export function collectAngularHotUpdateRoots(options) {
|
|
|
121
98
|
}
|
|
122
99
|
return roots;
|
|
123
100
|
}
|
|
124
|
-
|
|
125
|
-
const visited = new Set();
|
|
126
|
-
const collected = new Map();
|
|
127
|
-
const isExcluded = options.isExcluded ?? ((id) => id.includes('/node_modules/') || isRuntimeGraphExcludedPath(id));
|
|
128
|
-
const maxDepth = Math.max(1, Math.floor(options.maxDepth ?? 16));
|
|
129
|
-
const normalizeId = (value) => normalizeRuntimeGraphPath(value ?? '');
|
|
130
|
-
const walk = (mod, depth) => {
|
|
131
|
-
if (!mod || visited.has(mod)) {
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
visited.add(mod);
|
|
135
|
-
if (depth >= maxDepth) {
|
|
136
|
-
return;
|
|
137
|
-
}
|
|
138
|
-
const importers = mod.importers;
|
|
139
|
-
if (!importers) {
|
|
140
|
-
return;
|
|
141
|
-
}
|
|
142
|
-
for (const importer of importers) {
|
|
143
|
-
if (!importer)
|
|
144
|
-
continue;
|
|
145
|
-
const importerId = normalizeId(importer.id);
|
|
146
|
-
if (!importerId) {
|
|
147
|
-
walk(importer, depth + 1);
|
|
148
|
-
continue;
|
|
149
|
-
}
|
|
150
|
-
if (isExcluded(importerId)) {
|
|
151
|
-
continue;
|
|
152
|
-
}
|
|
153
|
-
if (!collected.has(importerId)) {
|
|
154
|
-
collected.set(importerId, importer);
|
|
155
|
-
}
|
|
156
|
-
walk(importer, depth + 1);
|
|
157
|
-
}
|
|
158
|
-
};
|
|
159
|
-
for (const mod of options.modules || []) {
|
|
160
|
-
walk(mod, 0);
|
|
161
|
-
}
|
|
162
|
-
return Array.from(collected.values());
|
|
163
|
-
}
|
|
164
|
-
// Round-six narrowing: a TS/JS file needs to invalidate its transitive
|
|
101
|
+
// Angular narrowing: a TS/JS file needs to invalidate its transitive
|
|
165
102
|
// importers only when it carries Angular semantics (a top-level @Component,
|
|
166
103
|
// @Directive, @Pipe, @Injectable, or @NgModule decorator). Files that only
|
|
167
104
|
// export constants, types, enums, plain functions, or plain classes are
|
|
168
105
|
// "leaf" modules — ES modules' live bindings deliver the new exports to
|
|
169
106
|
// importers automatically once V8 re-evaluates the changed module. Forcing
|
|
170
107
|
// every importer to re-transform on a constants edit is what produces the
|
|
171
|
-
//
|
|
172
|
-
//
|
|
108
|
+
// large invalidation waves that dominate the `refresh` phase on
|
|
109
|
+
// constants-style edits in big apps.
|
|
173
110
|
//
|
|
174
111
|
// Regex anchors at line start with only whitespace before `@Decorator(` so
|
|
175
112
|
// we don't false-match on string literals, JSDoc references, or commented-
|
|
@@ -188,18 +125,17 @@ export function shouldInvalidateAngularTransitiveImporters(options) {
|
|
|
188
125
|
// Template-only (.html/.htm) edits change the component's view but never
|
|
189
126
|
// its exported symbol shape, so importers of the component do not need to
|
|
190
127
|
// re-transform. Skipping the transitive walk here is the single biggest
|
|
191
|
-
// latency win for template HMR
|
|
192
|
-
// HMR_CORE_REALM_DETERMINISTIC_PLAN.md).
|
|
128
|
+
// latency win for template HMR.
|
|
193
129
|
if (!/\.(?:(m|c)?[jt]sx?)$/i.test(options.file)) {
|
|
194
130
|
return false;
|
|
195
131
|
}
|
|
196
|
-
//
|
|
197
|
-
//
|
|
198
|
-
//
|
|
199
|
-
//
|
|
200
|
-
//
|
|
201
|
-
//
|
|
202
|
-
//
|
|
132
|
+
// When source is available, narrow to "files whose changes can affect
|
|
133
|
+
// the Angular semantics of their importers". Files without a top-level
|
|
134
|
+
// @Component/@Directive/@Pipe/@Injectable/@NgModule decorator are leaf
|
|
135
|
+
// modules — invalidating the file itself is sufficient. When source is
|
|
136
|
+
// undefined/null (e.g. ctx.read() failed or the caller didn't plumb it
|
|
137
|
+
// through), fall back to the conservative behavior: invalidate
|
|
138
|
+
// transitively.
|
|
203
139
|
if (typeof options.source === 'string') {
|
|
204
140
|
return angularSourceHasSemanticDecorator(options.source);
|
|
205
141
|
}
|
|
@@ -234,12 +170,11 @@ export function collectAngularTransformCacheInvalidationUrls(options) {
|
|
|
234
170
|
}
|
|
235
171
|
return Array.from(urls);
|
|
236
172
|
}
|
|
237
|
-
//
|
|
173
|
+
// Stable URL + Explicit Invalidation.
|
|
238
174
|
//
|
|
239
175
|
// Compute the set of fully-qualified `/ns/m/<rel>` URLs that the runtime
|
|
240
|
-
// should drop from `g_moduleRegistry` before re-importing main.ts. The
|
|
241
|
-
// must satisfy
|
|
242
|
-
// HMR_STABLE_URL_INVALIDATION_PLAN.md §5:
|
|
176
|
+
// should drop from `g_moduleRegistry` before re-importing main.ts. The
|
|
177
|
+
// set must satisfy these invariants:
|
|
243
178
|
//
|
|
244
179
|
// * The changed file itself (so V8 fetches the new source).
|
|
245
180
|
// * Every transitive importer up to the entry (so the new exports are
|
|
@@ -252,13 +187,13 @@ export function collectAngularTransformCacheInvalidationUrls(options) {
|
|
|
252
187
|
//
|
|
253
188
|
// The output URLs are origin-absolute (e.g.
|
|
254
189
|
// `http://localhost:5173/ns/m/src/main.ts`) so the runtime can feed the
|
|
255
|
-
// list directly into `
|
|
256
|
-
// resolution work. The runtime canonicalizer
|
|
257
|
-
//
|
|
258
|
-
//
|
|
259
|
-
//
|
|
190
|
+
// list directly into `__NS_DEV__.invalidateModules` without any further
|
|
191
|
+
// resolution work. The runtime canonicalizer collapses any residual
|
|
192
|
+
// `__ns_hmr__/<tag>/` or `__ns_boot__/b1/` segments, so the effective
|
|
193
|
+
// registry key is `/ns/m/<rel>` regardless of any tag a stale V8 cache
|
|
194
|
+
// entry might still carry.
|
|
260
195
|
//
|
|
261
|
-
//
|
|
196
|
+
// Extensionless canonical key.
|
|
262
197
|
//
|
|
263
198
|
// Vite emits ES module import statements with extensions stripped (this
|
|
264
199
|
// is how `resolve.extensions` works for Angular/TS apps), so V8 in the
|
|
@@ -281,8 +216,7 @@ export function collectAngularTransformCacheInvalidationUrls(options) {
|
|
|
281
216
|
// .cjs/.cts`, emit BOTH the extensioned URL AND the extension-stripped
|
|
282
217
|
// canonical URL. The runtime evicts whichever shape V8 actually has;
|
|
283
218
|
// the other is a harmless `remove:miss`. Cost: at most 2x URLs in
|
|
284
|
-
// `evictPaths` (still tiny relative to the JSON payload).
|
|
285
|
-
// change is what unsticks visual updates for the heykiddo case.
|
|
219
|
+
// `evictPaths` (still tiny relative to the JSON payload).
|
|
286
220
|
//
|
|
287
221
|
// Returning a `Set` of URLs (rather than an array) lets the caller
|
|
288
222
|
// collapse multiple sources (changed file + roots + transitive
|
|
@@ -327,12 +261,13 @@ export function collectAngularEvictionUrls(options) {
|
|
|
327
261
|
urls.add(`${origin}/ns/m${rel}`);
|
|
328
262
|
// V8 in the iOS runtime keys `g_moduleRegistry` by the URL Vite
|
|
329
263
|
// emitted in the *generated* import statement, which strips JS/TS
|
|
330
|
-
// extensions (see the
|
|
331
|
-
// registry key for an app TS/JS module is the
|
|
332
|
-
// Emit it alongside the `.ts` form so the
|
|
333
|
-
// whatever shape the runtime actually
|
|
334
|
-
// false-positive: at most one of the two URLs
|
|
335
|
-
// and `
|
|
264
|
+
// extensions (see the extensionless-key block above). So the
|
|
265
|
+
// canonical registry key for an app TS/JS module is the
|
|
266
|
+
// extensionless form. Emit it alongside the `.ts` form so the
|
|
267
|
+
// explicit eviction matches whatever shape the runtime actually
|
|
268
|
+
// stored. This cannot false-positive: at most one of the two URLs
|
|
269
|
+
// maps to a real entry, and `__NS_DEV__.invalidateModules` treats unknown
|
|
270
|
+
// keys as no-ops.
|
|
336
271
|
const extMatch = rel.match(/\.(?:[mc]?[jt]sx?)$/i);
|
|
337
272
|
if (extMatch) {
|
|
338
273
|
urls.add(`${origin}/ns/m${rel.slice(0, -extMatch[0].length)}`);
|
|
@@ -358,6 +293,68 @@ export function collectAngularEvictionUrls(options) {
|
|
|
358
293
|
}
|
|
359
294
|
return Array.from(urls);
|
|
360
295
|
}
|
|
296
|
+
// ============================================================================
|
|
297
|
+
// `/@ng/component` live-broadcast ledger
|
|
298
|
+
// ============================================================================
|
|
299
|
+
//
|
|
300
|
+
// Every compiled component body (Analog `liveReload` mode) runs
|
|
301
|
+
// `<Class>_HmrLoad(Date.now())` at module-evaluation time — meaning EVERY
|
|
302
|
+
// cold boot fetches `/@ng/component?c=<id>&t=<now>` for every component.
|
|
303
|
+
// Analog's middleware serves the real `_UpdateMetadata` payload whenever the
|
|
304
|
+
// component's module carries a `lastInvalidationTimestamp` in Vite's module
|
|
305
|
+
// graph — state that persists until the dev server restarts. After any TS
|
|
306
|
+
// edit whose invalidation wave touches component modules, the NEXT app
|
|
307
|
+
// relaunch therefore boot-fetches real metadata-replacement payloads, and
|
|
308
|
+
// `ɵɵreplaceMetadata` runs after the root view commits. For the bootstrap
|
|
309
|
+
// component that recreates the root LView and tears down the
|
|
310
|
+
// `<page-router-outlet>` frame — the "relaunch to white screen" failure. The
|
|
311
|
+
// websocket bridge's root-component guard only covers the *event* path;
|
|
312
|
+
// boot-time fetches bypass it entirely.
|
|
313
|
+
//
|
|
314
|
+
// A fresh boot always evaluates the latest transformed source, so a boot-time
|
|
315
|
+
// replacement is never needed on NativeScript. The only legitimate consumer
|
|
316
|
+
// of a real payload is a live `angular:component-update` event — and the
|
|
317
|
+
// device echoes the server's exact broadcast timestamp back as `t`. This
|
|
318
|
+
// ledger records every broadcast the bridge forwards to `/ns-hmr` clients;
|
|
319
|
+
// the `/ns/m` middleware only delegates `(c, t)` pairs that match a recorded
|
|
320
|
+
// broadcast to Analog and answers everything else with the empty no-update
|
|
321
|
+
// stub (see `registerNsModuleServerRoute`'s
|
|
322
|
+
// `isLiveAngularComponentUpdateFetch`).
|
|
323
|
+
/**
|
|
324
|
+
* Decode an Analog component id (`src%2Fapp%2F…%40Class`) to its canonical
|
|
325
|
+
* form (`src/app/….ts@Class`) — the shape `URLSearchParams` yields for the
|
|
326
|
+
* `c` query param on the device's metadata fetch.
|
|
327
|
+
*/
|
|
328
|
+
export function normalizeAngularComponentUpdateId(raw) {
|
|
329
|
+
if (typeof raw !== 'string' || !raw)
|
|
330
|
+
return null;
|
|
331
|
+
try {
|
|
332
|
+
return decodeURIComponent(raw);
|
|
333
|
+
}
|
|
334
|
+
catch {
|
|
335
|
+
return raw;
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
const MAX_RECORDED_TIMESTAMPS_PER_COMPONENT = 16;
|
|
339
|
+
export function createAngularComponentUpdateLedger() {
|
|
340
|
+
const broadcasts = new Map();
|
|
341
|
+
return {
|
|
342
|
+
record(data) {
|
|
343
|
+
const id = normalizeAngularComponentUpdateId(data?.id);
|
|
344
|
+
const timestamp = data?.timestamp;
|
|
345
|
+
if (!id || typeof timestamp !== 'number' || !Number.isFinite(timestamp))
|
|
346
|
+
return;
|
|
347
|
+
const list = broadcasts.get(id) ?? [];
|
|
348
|
+
list.push(timestamp);
|
|
349
|
+
if (list.length > MAX_RECORDED_TIMESTAMPS_PER_COMPONENT)
|
|
350
|
+
list.shift();
|
|
351
|
+
broadcasts.set(id, list);
|
|
352
|
+
},
|
|
353
|
+
isLive(componentId, timestamp) {
|
|
354
|
+
return (broadcasts.get(componentId) ?? []).includes(timestamp);
|
|
355
|
+
},
|
|
356
|
+
};
|
|
357
|
+
}
|
|
361
358
|
export function shouldSuppressDefaultViteHotUpdate(options) {
|
|
362
359
|
if (options.flavor !== 'angular') {
|
|
363
360
|
return false;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket-angular-hot-update.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/server/websocket-angular-hot-update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,oCAAoC,EAAE,MAAM,iDAAiD,CAAC;AAEvG,MAAM,sBAAsB,GAAG,GAAG,wBAAwB,EAAE,GAAG,CAAC;AAQhE,MAAM,UAAU,qCAAqC,CAAC,OAA+K;IACpO,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoC,CAAC;IAC5D,MAAM,SAAS,GAAG,CAAC,GAAqC,EAAE,EAAE;QAC3D,MAAM,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,IAAI,0BAA0B,CAAC,EAAE,CAAC;YAAE,OAAO;QAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,GAAI,CAAC,CAAC;QACvB,CAAC;IACF,CAAC,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzE,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,MAAM,mBAAmB,GAAa,EAAE,CAAC;QACzC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACzC,KAAK,MAAM,QAAQ,IAAI,GAAG,EAAE,SAAS,IAAI,EAAE,EAAE,CAAC;gBAC7C,MAAM,UAAU,GAAG,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC;gBACtC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACjC,IAAI,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBAChD,SAAS,CAAC,QAAQ,CAAC,CAAC;oBACpB,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtC,CAAC;YACF,CAAC;QACF,CAAC;QAED,MAAM,cAAc,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;QACrC,IAAI,cAAc,EAAE,CAAC;YACpB,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YAChF,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACjF,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,qEAAqE,OAAO,CAAC,IAAI,kBAAkB,eAAe,CAAC,MAAM,sBAAsB,mBAAmB,CAAC,MAAM,mBAAmB,cAAc,YAAY,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACnP,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;gBAC5B,OAAO,CAAC,IAAI,CAAC,wCAAwC,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC;YACD,IAAI,mBAAmB,CAAC,MAAM,EAAE,CAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,4CAA4C,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7F,CAAC;QACF,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;IAChG,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,OAAwO;IACpR,MAAM,KAAK,GAA+B,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,WAAW,GAAG,IAAI,GAAG,EAA4B,CAAC;IAExD,MAAM,OAAO,GAAG,CAAC,GAAqC,EAAE,EAAE;QACzD,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACR,CAAC;QAED,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,0BAA0B,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxC,OAAO;YACR,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACzB,OAAO;YACR,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChB,OAAO;QACR,CAAC;QAED,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO;QACR,CAAC;QACD,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC,CAAC;IAEF,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,KAAK,MAAM,GAAG,IAAI,qCAAqC,CAAC;YACvD,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,aAAa,EAAE,OAAO,CAAC,aAAa;SACpC,CAAC,EAAE,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACd,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,qEAAqE;AACrE,4EAA4E;AAC5E,2EAA2E;AAC3E,wEAAwE;AACxE,wEAAwE;AACxE,2EAA2E;AAC3E,0EAA0E;AAC1E,gEAAgE;AAChE,qCAAqC;AACrC,EAAE;AACF,2EAA2E;AAC3E,2EAA2E;AAC3E,2EAA2E;AAC3E,2BAA2B;AAC3B,MAAM,gCAAgC,GAAG,kEAAkE,CAAC;AAE5G,MAAM,UAAU,iCAAiC,CAAC,MAAc;IAC/D,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACjD,OAAO,gCAAgC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,0CAA0C,CAAC,OAAiE;IAC3H,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACd,CAAC;IAED,yEAAyE;IACzE,0EAA0E;IAC1E,wEAAwE;IACxE,gCAAgC;IAChC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,sEAAsE;IACtE,uEAAuE;IACvE,uEAAuE;IACvE,uEAAuE;IACvE,uEAAuE;IACvE,+DAA+D;IAC/D,gBAAgB;IAChB,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,iCAAiC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,2CAA2C,CAAC,EAAU;IAC9D,OAAO,EAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,uCAAuC,CAAC,OAAoB,EAAE,KAAgC,EAAE,WAAoB;IAC5H,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,EAAE,CAAC;QACT,OAAO;IACR,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,oCAAoC,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEtB,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACnD,IAAI,CAAC,2CAA2C,CAAC,YAAY,CAAC,EAAE,CAAC;QAChE,OAAO;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,4CAA4C,CAAC,OAAwK;IACpO,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,uCAAuC,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;QAChD,uCAAuC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,mBAAmB,IAAI,EAAE,EAAE,CAAC;QACrD,uCAAuC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,sCAAsC;AACtC,EAAE;AACF,yEAAyE;AACzE,uEAAuE;AACvE,qCAAqC;AACrC,EAAE;AACF,4DAA4D;AAC5D,sEAAsE;AACtE,uEAAuE;AACvE,mBAAmB;AACnB,2EAA2E;AAC3E,2DAA2D;AAC3D,yEAAyE;AACzE,mEAAmE;AACnE,EAAE;AACF,4CAA4C;AAC5C,wEAAwE;AACxE,wEAAwE;AACxE,oEAAoE;AACpE,sEAAsE;AACtE,uEAAuE;AACvE,2BAA2B;AAC3B,EAAE;AACF,+BAA+B;AAC/B,EAAE;AACF,wEAAwE;AACxE,uEAAuE;AACvE,wEAAwE;AACxE,kEAAkE;AAClE,oDAAoD;AACpD,2CAA2C;AAC3C,gEAAgE;AAChE,mDAAmD;AACnD,qDAAqD;AACrD,sEAAsE;AACtE,kEAAkE;AAClE,uEAAuE;AACvE,gEAAgE;AAChE,kEAAkE;AAClE,uEAAuE;AACvE,mDAAmD;AACnD,EAAE;AACF,mEAAmE;AACnE,uEAAuE;AACvE,qEAAqE;AACrE,kEAAkE;AAClE,0DAA0D;AAC1D,EAAE;AACF,mEAAmE;AACnE,+DAA+D;AAC/D,qDAAqD;AAErD,SAAS,+BAA+B,CAAC,KAAgC,EAAE,WAA+B;IACzG,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACzD,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IACrB,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,IAAI,IAAI,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;IACf,CAAC;IACD,IAAI,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,0BAA0B,CAAC,EAAE,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACb,CAAC;IACD,0DAA0D;IAC1D,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACvE,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAqP;IAC/R,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;IAEjC,MAAM,MAAM,GAAG,CAAC,GAAkB,EAAE,EAAE;QACrC,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,qEAAqE;QACrE,iDAAiD;QACjD,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,QAAQ,GAAG,EAAE,CAAC,CAAC;QACjC,gEAAgE;QAChE,kEAAkE;QAClE,6DAA6D;QAC7D,wDAAwD;QACxD,8DAA8D;QAC9D,gEAAgE;QAChE,kEAAkE;QAClE,0EAA0E;QAC1E,kBAAkB;QAClB,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACnD,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,CAAC,+BAA+B,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAE5D,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;QAChD,MAAM,CAAC,+BAA+B,CAAC,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,mBAAmB,IAAI,EAAE,EAAE,CAAC;QACrD,MAAM,CAAC,+BAA+B,CAAC,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,wEAAwE;IACxE,mEAAmE;IACnE,uEAAuE;IACvE,qEAAqE;IACrE,uEAAuE;IACvE,sEAAsE;IACtE,gEAAgE;IAChE,gBAAgB;IAChB,IAAI,OAAO,OAAO,CAAC,cAAc,KAAK,QAAQ,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC1E,MAAM,CAAC,+BAA+B,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,+EAA+E;AAC/E,yCAAyC;AACzC,+EAA+E;AAC/E,EAAE;AACF,gEAAgE;AAChE,0EAA0E;AAC1E,yEAAyE;AACzE,6EAA6E;AAC7E,4EAA4E;AAC5E,0EAA0E;AAC1E,uEAAuE;AACvE,0EAA0E;AAC1E,0EAA0E;AAC1E,6DAA6D;AAC7D,6EAA6E;AAC7E,wEAAwE;AACxE,wCAAwC;AACxC,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,yEAAyE;AACzE,yEAAyE;AACzE,2EAA2E;AAC3E,6EAA6E;AAC7E,2EAA2E;AAC3E,4CAA4C;AAC5C,wCAAwC;AAExC;;;;GAIG;AACH,MAAM,UAAU,iCAAiC,CAAC,GAAY;IAC7D,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACjD,IAAI,CAAC;QACJ,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,GAAG,CAAC;IACZ,CAAC;AACF,CAAC;AAED,MAAM,qCAAqC,GAAG,EAAE,CAAC;AASjD,MAAM,UAAU,kCAAkC;IACjD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC/C,OAAO;QACN,MAAM,CAAC,IAAI;YACV,MAAM,EAAE,GAAG,iCAAiC,CAAE,IAA4C,EAAE,EAAE,CAAC,CAAC;YAChG,MAAM,SAAS,GAAI,IAAmD,EAAE,SAAS,CAAC;YAClF,IAAI,CAAC,EAAE,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAE,OAAO;YAChF,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrB,IAAI,IAAI,CAAC,MAAM,GAAG,qCAAqC;gBAAE,IAAI,CAAC,KAAK,EAAE,CAAC;YACtE,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,MAAM,CAAC,WAAW,EAAE,SAAS;YAC5B,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAChE,CAAC;KACD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,OAAyC;IAC3F,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACd,CAAC;IAED,OAAO,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAQD,MAAM,UAAU,2BAA2B,CAAC,GAAW,EAAE,IAAa;IACrE,IAAI,UAAU,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;SAChC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACb,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAE5B,IAAI,IAAI,EAAE,CAAC;QACV,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChD,IAAI,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAC3C,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;IACF,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IAC/B,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,OAAsH;IACzK,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAClD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IAEtC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,2BAA2B,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtI,MAAM,kBAAkB,GAAG,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,2BAA2B,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEnI,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,IAAI,GAAG,EAAE,CAAC;YACtC,SAAS;QACV,CAAC;QAED,IAAI,kBAAkB,KAAK,KAAK,CAAC,OAAO,IAAI,kBAAkB,KAAK,KAAK,CAAC,OAAO,IAAI,WAAW,KAAK,KAAK,CAAC,OAAO,IAAI,WAAW,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;YACpJ,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
2
|
+
import { readFileSync, existsSync } from 'node:fs';
|
|
3
|
+
import * as path from 'node:path';
|
|
4
|
+
import { typescriptServerStrategy } from '../../typescript/server/strategy.js';
|
|
5
|
+
import { runHotUpdatePrologue } from '../../../server/websocket-hot-update.js';
|
|
6
|
+
import { purgeTransformCachesForHotUpdate } from '../../../server/transform-cache-invalidation.js';
|
|
7
|
+
// React server strategy for NativeScript HMR.
|
|
8
|
+
//
|
|
9
|
+
// React renders through DOMiNATIVE via `@nativescript-community/react` and runs
|
|
10
|
+
// WITHOUT React Fast Refresh (module-level reload, mirroring the Solid flavor's
|
|
11
|
+
// `hot: false`). It therefore needs no framework-specific HMR transform — it
|
|
12
|
+
// reuses the generic TypeScript strategy's device-module pipeline verbatim
|
|
13
|
+
// (HTTP-loaded modules, vendor bridge, shared graph delta on hot update).
|
|
14
|
+
//
|
|
15
|
+
// The important part is that this is REGISTERED in `STRATEGY_REGISTRY`: the
|
|
16
|
+
// server-side HMR plugin (which installs the `/ns/*` device routes — `/ns/core`,
|
|
17
|
+
// `/ns/import-map.json`, `/ns/m`, `/ns/entry-rt`, …) is only added for flavors
|
|
18
|
+
// with a registered strategy. Without it, a React project's dev server serves no
|
|
19
|
+
// `/ns/*` routes and the app fails at boot fetching `/ns/core/xhr` (404).
|
|
20
|
+
// ── React-ecosystem CJS named-export interop (the `transformNodeModule` hook) ──
|
|
21
|
+
//
|
|
22
|
+
// React and friends ship the classic prod/dev conditional re-export wrapper:
|
|
23
|
+
//
|
|
24
|
+
// if (process.env.NODE_ENV === 'production') module.exports = require('./cjs/x.production.js');
|
|
25
|
+
// else module.exports = require('./cjs/x.development.js');
|
|
26
|
+
//
|
|
27
|
+
// Served raw over `/ns/m`, that wrapper exposes ONLY a default export — the device's
|
|
28
|
+
// ESM loader can't see the names (`jsx`, `useSyncExternalStoreWithSelector`, …)
|
|
29
|
+
// because they materialize on `module.exports` only at runtime, through the
|
|
30
|
+
// conditional require. So a consumer's `import { useSyncExternalStoreWithSelector }`
|
|
31
|
+
// (or `{ jsx }` from react/jsx-runtime, etc.) fails with "does not provide an export
|
|
32
|
+
// named …". The non-HMR rolldown build bundles these fine; this only affects the
|
|
33
|
+
// HMR/dev `/ns/m` path.
|
|
34
|
+
//
|
|
35
|
+
// The DEVELOPMENT target file is plain CJS (`exports.x = …`), whose named exports
|
|
36
|
+
// the `/ns/m` pipeline DOES statically surface. So we rewrite the wrapper to
|
|
37
|
+
// re-export EXPLICIT names from its development target. (We can't `export *` — the
|
|
38
|
+
// device transform downgrades export-star to a side-effect import — so we read the
|
|
39
|
+
// dev file and list the names.) Generic: works for any such wrapper, no per-package
|
|
40
|
+
// shim.
|
|
41
|
+
const projectRequire = createRequire(path.join(process.cwd(), 'package.json'));
|
|
42
|
+
// react/jsx-runtime is the hottest of these (every JSX module imports it). Serve a
|
|
43
|
+
// self-contained shim built on React.createElement so it never depends on the
|
|
44
|
+
// internals of react's dev jsx-runtime file. (App-code imports are already routed
|
|
45
|
+
// here by the resolve alias in configuration/react.ts; this covers vendored
|
|
46
|
+
// importers served through `/ns/m`.)
|
|
47
|
+
const REACT_JSX_RUNTIME_RE = /(^|[\\/])react[\\/]jsx-(?:dev-)?runtime(?:[\\/.]|$)/;
|
|
48
|
+
const REACT_JSX_RUNTIME_SHIM = [
|
|
49
|
+
`import { createElement, Fragment as __NS_Fragment } from 'react';`,
|
|
50
|
+
`export const Fragment = __NS_Fragment;`,
|
|
51
|
+
`function __ns_jsx(type, config, maybeKey) {`,
|
|
52
|
+
` if (maybeKey !== undefined) return createElement(type, Object.assign({}, config || {}, { key: maybeKey }));`,
|
|
53
|
+
` return createElement(type, config);`,
|
|
54
|
+
`}`,
|
|
55
|
+
`export function jsx(type, config, maybeKey) { return __ns_jsx(type, config, maybeKey); }`,
|
|
56
|
+
`export function jsxs(type, config, maybeKey) { return __ns_jsx(type, config, maybeKey); }`,
|
|
57
|
+
`export function jsxDEV(type, config, maybeKey) { return __ns_jsx(type, config, maybeKey); }`,
|
|
58
|
+
].join('\n');
|
|
59
|
+
// Lex `exports.NAME = …` / `Object.defineProperty(exports, "NAME", …)` from a CJS
|
|
60
|
+
// development file (the prod/dev targets are plain CJS, statically lexable).
|
|
61
|
+
function lexCjsExportNames(filePath) {
|
|
62
|
+
let src = '';
|
|
63
|
+
try {
|
|
64
|
+
src = readFileSync(filePath, 'utf8');
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
return [];
|
|
68
|
+
}
|
|
69
|
+
const names = new Set();
|
|
70
|
+
for (const m of src.matchAll(/\bexports\.([A-Za-z_$][\w$]*)\s*=/g))
|
|
71
|
+
names.add(m[1]);
|
|
72
|
+
for (const m of src.matchAll(/Object\.defineProperty\(\s*exports\s*,\s*['"]([A-Za-z_$][\w$]*)['"]/g))
|
|
73
|
+
names.add(m[1]);
|
|
74
|
+
names.delete('default');
|
|
75
|
+
names.delete('__esModule');
|
|
76
|
+
return Array.from(names);
|
|
77
|
+
}
|
|
78
|
+
// Resolve a wrapper module's development-target relative require (`devRel`) to an
|
|
79
|
+
// absolute fs path. `moduleId` is the wrapper's id (an fs path, or a
|
|
80
|
+
// `…/node_modules/<pkg>/<sub>` url/id). We find the wrapper's fs path — directly if
|
|
81
|
+
// it's already absolute, otherwise by resolving its public package subpath spec —
|
|
82
|
+
// then join `devRel` against the wrapper's directory (the dev file is internal, so
|
|
83
|
+
// it can't be import-resolved directly under an `exports` map).
|
|
84
|
+
function resolveDevTargetPath(moduleId, devRel) {
|
|
85
|
+
const clean = (moduleId || '').replace(/[?#].*$/, '');
|
|
86
|
+
if (!clean)
|
|
87
|
+
return null;
|
|
88
|
+
let wrapperPath = null;
|
|
89
|
+
if (path.isAbsolute(clean) && existsSync(clean)) {
|
|
90
|
+
wrapperPath = clean;
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
const nm = clean.match(/node_modules[\\/]((?:@[^\\/]+[\\/])?[^\\/]+[\\/].*)$/);
|
|
94
|
+
if (nm) {
|
|
95
|
+
const subpath = nm[1].split(path.sep).join('/');
|
|
96
|
+
for (const spec of [subpath.replace(/\.(?:js|mjs|cjs)$/, ''), subpath]) {
|
|
97
|
+
try {
|
|
98
|
+
wrapperPath = projectRequire.resolve(spec);
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
catch { }
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
if (!wrapperPath)
|
|
106
|
+
return null;
|
|
107
|
+
const devPath = path.resolve(path.dirname(wrapperPath), devRel);
|
|
108
|
+
return existsSync(devPath) ? devPath : null;
|
|
109
|
+
}
|
|
110
|
+
// If `code` is a prod/dev conditional re-export wrapper, return an ESM module that
|
|
111
|
+
// re-exports the development target's explicit named exports (+ default). Returns
|
|
112
|
+
// null otherwise so non-matching modules pass through untouched. Detection is
|
|
113
|
+
// intentionally narrow (requires the `module.exports = require(...)` indirection
|
|
114
|
+
// AND both a `.production.js` and `.development.js` target) so it only fires on the
|
|
115
|
+
// React-ecosystem prod/dev idiom.
|
|
116
|
+
function buildCondRequireReexport(code, moduleId) {
|
|
117
|
+
if (!/module\.exports\s*=\s*require\(/.test(code))
|
|
118
|
+
return null;
|
|
119
|
+
const devMatch = code.match(/require\(\s*['"]([^'"]+\.development\.js)['"]\s*\)/);
|
|
120
|
+
const hasProd = /require\(\s*['"][^'"]+\.production\.js['"]\s*\)/.test(code);
|
|
121
|
+
if (!devMatch || !hasProd)
|
|
122
|
+
return null;
|
|
123
|
+
const devRel = devMatch[1]; // e.g. '../cjs/use-sync-external-store-shim/with-selector.development.js'
|
|
124
|
+
// Resolve the dev target to an fs path so we can lex its export names. The dev
|
|
125
|
+
// file is an INTERNAL package file — usually exports-gated, so it can't be
|
|
126
|
+
// resolved as `pkg/cjs/…` directly. Instead resolve the (public) WRAPPER to its
|
|
127
|
+
// fs path and join the relative dev path against the wrapper's directory.
|
|
128
|
+
const devPath = resolveDevTargetPath(moduleId, devRel);
|
|
129
|
+
if (!devPath)
|
|
130
|
+
return null;
|
|
131
|
+
const names = lexCjsExportNames(devPath);
|
|
132
|
+
// Re-export by the ORIGINAL relative path so the device transform rewrites it to
|
|
133
|
+
// the dev target's `/ns/m` URL (served with real named exports). Explicit names
|
|
134
|
+
// only — `export *` is downgraded to a side-effect import by the device transform.
|
|
135
|
+
const target = JSON.stringify(devRel);
|
|
136
|
+
const lines = [];
|
|
137
|
+
if (names.length)
|
|
138
|
+
lines.push(`export { ${names.join(', ')} } from ${target};`);
|
|
139
|
+
lines.push(`export { default } from ${target};`);
|
|
140
|
+
return lines.join('\n');
|
|
141
|
+
}
|
|
142
|
+
export const reactServerStrategy = {
|
|
143
|
+
...typescriptServerStrategy,
|
|
144
|
+
flavor: 'react',
|
|
145
|
+
transformNodeModule(code, moduleId, _verbose) {
|
|
146
|
+
if (moduleId && REACT_JSX_RUNTIME_RE.test(moduleId)) {
|
|
147
|
+
return REACT_JSX_RUNTIME_SHIM;
|
|
148
|
+
}
|
|
149
|
+
return buildCondRequireReexport(code, moduleId || '') ?? code;
|
|
150
|
+
},
|
|
151
|
+
// Like Solid (and unlike plain TypeScript, which recovers via a full
|
|
152
|
+
// `resetRootView`), React HMR applies an edit by having the CLIENT re-fetch +
|
|
153
|
+
// re-evaluate the just-changed route module and read its fresh
|
|
154
|
+
// `Route.options.component`. So the server MUST purge its transform caches
|
|
155
|
+
// BEFORE the client re-imports — otherwise the client races the server and the
|
|
156
|
+
// `/ns/m` re-fetch returns the PREVIOUS save's transform → V8 evaluates stale
|
|
157
|
+
// code → the visible page is "one save behind". The default TS strategy
|
|
158
|
+
// broadcasts the delta immediately (no purge), which is why React edits never
|
|
159
|
+
// applied. We mirror Solid's contract: defer the prologue's delta broadcast,
|
|
160
|
+
// purge the shared + Vite transform caches for the file AND its transitive
|
|
161
|
+
// importers (the route tree statically imports the route), re-transform fresh,
|
|
162
|
+
// then broadcast the delta.
|
|
163
|
+
deferDeltaBroadcast: true,
|
|
164
|
+
async handleHotUpdate(ctx, deps) {
|
|
165
|
+
const state = await runHotUpdatePrologue(ctx, deps);
|
|
166
|
+
if (!state)
|
|
167
|
+
return;
|
|
168
|
+
const { root, metrics, emitSummary } = state;
|
|
169
|
+
const { moduleGraph, verbose, sharedTransformRequest } = deps;
|
|
170
|
+
const { file, server } = ctx;
|
|
171
|
+
const isAppScriptFile = /\.(tsx?|jsx?)$/i.test(file);
|
|
172
|
+
if (!isAppScriptFile) {
|
|
173
|
+
emitSummary();
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
metrics.tAfterFramework = Date.now();
|
|
177
|
+
try {
|
|
178
|
+
const rel = '/' + path.posix.normalize(path.relative(root, file)).split(path.sep).join('/');
|
|
179
|
+
const normalizedId = moduleGraph.normalizeGraphId(rel);
|
|
180
|
+
if (!moduleGraph.get(normalizedId)) {
|
|
181
|
+
moduleGraph.upsert(rel, `/* react-hmr ${Date.now()} */`, [], { emitDeltaOnInsert: true });
|
|
182
|
+
}
|
|
183
|
+
// Purge BOTH the shared transform-request cache and Vite's moduleGraph
|
|
184
|
+
// transformResult for the changed file + its bounded transitive importers
|
|
185
|
+
// (route tree → route file), so the client's re-import evaluates fresh code.
|
|
186
|
+
purgeTransformCachesForHotUpdate({ file, server, sharedTransformRequest, verbose, label: 'react' });
|
|
187
|
+
// Re-transform AFTER invalidation so the broadcast hash matches fresh
|
|
188
|
+
// content (the prologue's upsert ran before Vite's auto-invalidate fired).
|
|
189
|
+
try {
|
|
190
|
+
const ext = file.match(/\.(?:[mc]?[jt]sx?)$/i)?.[0] || '';
|
|
191
|
+
const baseSpec = '/' + path.posix.normalize(path.relative(root, file)).split(path.sep).join('/');
|
|
192
|
+
const baseNoExt = ext ? baseSpec.replace(/\.(?:[mc]?[jt]sx?)$/i, '') : baseSpec;
|
|
193
|
+
const candidates = Array.from(new Set([baseSpec, baseNoExt, baseNoExt + '.ts', baseNoExt + '.tsx', baseNoExt + '.js', baseNoExt + '.jsx', baseNoExt + '.mjs', file]));
|
|
194
|
+
let freshCode = '';
|
|
195
|
+
for (const cand of candidates) {
|
|
196
|
+
try {
|
|
197
|
+
const fresh = await sharedTransformRequest(cand, 30000);
|
|
198
|
+
if (fresh?.code && !freshCode)
|
|
199
|
+
freshCode = fresh.code;
|
|
200
|
+
}
|
|
201
|
+
catch { }
|
|
202
|
+
}
|
|
203
|
+
if (freshCode) {
|
|
204
|
+
const existingGm = moduleGraph.get(normalizedId);
|
|
205
|
+
moduleGraph.upsert(normalizedId, freshCode, (existingGm?.deps || []), { broadcastDelta: false });
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
catch (e) {
|
|
209
|
+
if (verbose)
|
|
210
|
+
console.warn('[hmr-ws][react] post-invalidation re-transform failed', e);
|
|
211
|
+
}
|
|
212
|
+
// Broadcast the now-fresh delta, AFTER cache invalidation.
|
|
213
|
+
try {
|
|
214
|
+
const gm = moduleGraph.get(normalizedId);
|
|
215
|
+
if (gm)
|
|
216
|
+
moduleGraph.emitDelta([gm], []);
|
|
217
|
+
}
|
|
218
|
+
catch (e) {
|
|
219
|
+
if (verbose)
|
|
220
|
+
console.warn('[hmr-ws][react] post-invalidation broadcast failed', e);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
catch (e) {
|
|
224
|
+
if (verbose)
|
|
225
|
+
console.warn('[hmr-ws][react] failed to handle hot update for', file, e);
|
|
226
|
+
}
|
|
227
|
+
emitSummary();
|
|
228
|
+
},
|
|
229
|
+
};
|
|
230
|
+
//# sourceMappingURL=strategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/react/server/strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Find installed packages whose pre-bundle output would smuggle JSX into
|
|
3
|
+
* Vite's import-analysis stage. Returned names are safe to drop into
|
|
4
|
+
* `optimizeDeps.exclude` — the dev server will serve them through the
|
|
5
|
+
* normal module pipeline, where `vite-plugin-solid` can transform their
|
|
6
|
+
* original `.jsx`/`.tsx` files.
|
|
7
|
+
*
|
|
8
|
+
* The function is intentionally synchronous and best-effort: filesystem
|
|
9
|
+
* errors are swallowed, missing directories are skipped, and the scan
|
|
10
|
+
* caps at {@link MAX_SCAN_DEPTH} levels per package. Callers should
|
|
11
|
+
* treat the empty-array result as "no exclusions needed", not "scan
|
|
12
|
+
* failed". A nullable `monorepoRoot` is accepted so workspace hoisting
|
|
13
|
+
* is covered without forcing every caller to compute it.
|
|
14
|
+
*/
|
|
15
|
+
export declare function findSolidPackagesShippingJsx(projectRoot: string, monorepoRoot?: string | null): string[];
|