@nativescript/vite 8.0.0-beta.0 → 8.0.0-dev.0
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 +89 -14
- package/bin/cli.cjs +8 -14
- package/configuration/angular.d.ts +35 -2
- package/configuration/angular.js +541 -216
- package/configuration/angular.js.map +1 -1
- package/configuration/base.js +228 -78
- package/configuration/base.js.map +1 -1
- package/configuration/javascript.js +17 -96
- package/configuration/javascript.js.map +1 -1
- package/configuration/react.js +41 -73
- package/configuration/react.js.map +1 -1
- package/configuration/solid.js +58 -6
- package/configuration/solid.js.map +1 -1
- package/configuration/typescript.js +15 -96
- package/configuration/typescript.js.map +1 -1
- package/framework.d.ts +22 -0
- package/framework.js +18 -0
- package/framework.js.map +1 -0
- package/helpers/app-components.d.ts +2 -1
- package/helpers/app-components.js.map +1 -1
- package/helpers/app-css-refresh.d.ts +31 -0
- package/helpers/app-css-refresh.js +43 -0
- package/helpers/app-css-refresh.js.map +1 -0
- package/helpers/app-css-state.d.ts +17 -0
- package/helpers/app-css-state.js +51 -0
- package/helpers/app-css-state.js.map +1 -0
- package/helpers/bundler-context.d.ts +11 -0
- package/helpers/bundler-context.js +71 -0
- package/helpers/bundler-context.js.map +1 -0
- package/helpers/cli-flags.d.ts +12 -0
- package/helpers/cli-flags.js +34 -0
- package/helpers/cli-flags.js.map +1 -1
- package/helpers/commonjs-plugins.d.ts +5 -2
- package/helpers/commonjs-plugins.js +126 -0
- package/helpers/commonjs-plugins.js.map +1 -1
- package/helpers/config-as-json.js +10 -0
- package/helpers/config-as-json.js.map +1 -1
- package/helpers/css-platform-plugin.d.ts +14 -0
- package/helpers/css-platform-plugin.js +43 -25
- package/helpers/css-platform-plugin.js.map +1 -1
- package/helpers/dev-host.d.ts +360 -0
- package/helpers/dev-host.js +694 -0
- package/helpers/dev-host.js.map +1 -0
- package/helpers/dynamic-import-plugin.d.ts +2 -1
- package/helpers/dynamic-import-plugin.js +59 -53
- package/helpers/dynamic-import-plugin.js.map +1 -1
- package/helpers/esbuild-platform-resolver.js +9 -6
- package/helpers/esbuild-platform-resolver.js.map +1 -1
- package/helpers/external-configs.d.ts +10 -4
- package/helpers/external-configs.js +63 -15
- package/helpers/external-configs.js.map +1 -1
- package/helpers/flavor.d.ts +31 -0
- package/helpers/flavor.js +53 -2
- package/helpers/flavor.js.map +1 -1
- package/helpers/global-defines.d.ts +118 -0
- package/helpers/global-defines.js +214 -11
- 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/import-meta-path.d.ts +4 -0
- package/helpers/import-meta-path.js +5 -0
- package/helpers/import-meta-path.js.map +1 -0
- package/helpers/import-specifier.d.ts +1 -0
- package/helpers/import-specifier.js +18 -0
- package/helpers/import-specifier.js.map +1 -0
- package/helpers/init.js +24 -26
- package/helpers/init.js.map +1 -1
- package/helpers/logging.d.ts +12 -1
- package/helpers/logging.js +81 -5
- package/helpers/logging.js.map +1 -1
- package/helpers/main-entry.d.ts +8 -2
- package/helpers/main-entry.js +622 -120
- package/helpers/main-entry.js.map +1 -1
- package/helpers/nativeclass-esbuild-plugin.d.ts +2 -1
- package/helpers/nativeclass-esbuild-plugin.js +6 -1
- package/helpers/nativeclass-esbuild-plugin.js.map +1 -1
- package/helpers/nativeclass-transform.d.ts +13 -0
- package/helpers/nativeclass-transform.js +42 -131
- package/helpers/nativeclass-transform.js.map +1 -1
- package/helpers/nativeclass-transformer-plugin.d.ts +19 -1
- package/helpers/nativeclass-transformer-plugin.js +324 -37
- package/helpers/nativeclass-transformer-plugin.js.map +1 -1
- package/helpers/nativescript-package-resolver.js +10 -62
- package/helpers/nativescript-package-resolver.js.map +1 -1
- package/helpers/normalize-id.d.ts +42 -0
- package/helpers/normalize-id.js +60 -0
- package/helpers/normalize-id.js.map +1 -0
- package/helpers/ns-core-external-urls.d.ts +32 -0
- package/helpers/ns-core-external-urls.js +107 -0
- package/helpers/ns-core-external-urls.js.map +1 -0
- package/helpers/ns-core-url.d.ts +106 -0
- package/helpers/ns-core-url.js +225 -0
- package/helpers/ns-core-url.js.map +1 -0
- 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 +3 -3
- package/helpers/typescript-check.js +4 -4
- package/helpers/typescript-check.js.map +1 -1
- package/helpers/ui-registration.d.ts +21 -0
- package/helpers/ui-registration.js +156 -0
- package/helpers/ui-registration.js.map +1 -0
- package/helpers/utils.d.ts +9 -0
- package/helpers/utils.js +22 -2
- package/helpers/utils.js.map +1 -1
- package/helpers/vite-package-version.d.ts +7 -0
- package/helpers/vite-package-version.js +44 -0
- package/helpers/vite-package-version.js.map +1 -0
- package/helpers/workers.d.ts +40 -19
- package/helpers/workers.js +312 -13
- package/helpers/workers.js.map +1 -1
- package/hmr/client/css-handler.d.ts +2 -1
- package/hmr/client/css-handler.js +95 -23
- 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 +117 -0
- package/hmr/client/framework-client-strategy.js +18 -0
- package/hmr/client/framework-client-strategy.js.map +1 -0
- package/hmr/client/framework.d.ts +31 -0
- package/hmr/client/framework.js +17 -0
- package/hmr/client/framework.js.map +1 -0
- package/hmr/client/hmr-pending-overlay.d.ts +13 -0
- package/hmr/client/hmr-pending-overlay.js +41 -0
- package/hmr/client/hmr-pending-overlay.js.map +1 -0
- package/hmr/client/hot-context.d.ts +89 -0
- package/hmr/client/hot-context.js +404 -0
- package/hmr/client/hot-context.js.map +1 -0
- package/hmr/client/index.d.ts +9 -1
- package/hmr/client/index.js +91 -1418
- package/hmr/client/index.js.map +1 -1
- package/hmr/client/overlay-driver.d.ts +10 -0
- package/hmr/client/overlay-driver.js +33 -0
- package/hmr/client/overlay-driver.js.map +1 -0
- package/hmr/client/protocol-dispatch.d.ts +8 -0
- package/hmr/client/protocol-dispatch.js +308 -0
- package/hmr/client/protocol-dispatch.js.map +1 -0
- package/hmr/client/root-reset.d.ts +15 -0
- package/hmr/client/root-reset.js +358 -0
- package/hmr/client/root-reset.js.map +1 -0
- package/hmr/client/strategy-loader.d.ts +24 -0
- package/hmr/client/strategy-loader.js +136 -0
- package/hmr/client/strategy-loader.js.map +1 -0
- package/hmr/client/update-pipeline.d.ts +27 -0
- package/hmr/client/update-pipeline.js +489 -0
- package/hmr/client/update-pipeline.js.map +1 -0
- package/hmr/client/utils.d.ts +14 -1
- package/hmr/client/utils.js +265 -54
- package/hmr/client/utils.js.map +1 -1
- package/hmr/client/ws-transport.d.ts +21 -0
- package/hmr/client/ws-transport.js +323 -0
- package/hmr/client/ws-transport.js.map +1 -0
- package/hmr/entry-runtime.d.ts +11 -0
- package/hmr/entry-runtime.js +566 -43
- package/hmr/entry-runtime.js.map +1 -1
- package/hmr/framework-flavors.d.ts +59 -0
- package/hmr/framework-flavors.js +108 -0
- package/hmr/framework-flavors.js.map +1 -0
- package/hmr/frameworks/angular/build/angular-linker.d.ts +12 -0
- package/hmr/frameworks/angular/build/angular-linker.js +113 -0
- package/hmr/frameworks/angular/build/angular-linker.js.map +1 -0
- package/hmr/frameworks/angular/build/inject-component-hmr-registration.d.ts +112 -0
- package/hmr/frameworks/angular/build/inject-component-hmr-registration.js +291 -0
- package/hmr/frameworks/angular/build/inject-component-hmr-registration.js.map +1 -0
- package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.d.ts +75 -0
- package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js +221 -0
- package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js.map +1 -0
- package/hmr/frameworks/angular/build/inline-decorator-component-templates.d.ts +3 -0
- package/hmr/frameworks/angular/build/inline-decorator-component-templates.js +231 -0
- 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/hmr/frameworks/angular/build/js-lexer.js +182 -0
- package/hmr/frameworks/angular/build/js-lexer.js.map +1 -0
- package/hmr/frameworks/angular/build/linker-stats.d.ts +18 -0
- package/hmr/frameworks/angular/build/linker-stats.js +29 -0
- package/hmr/frameworks/angular/build/linker-stats.js.map +1 -0
- package/hmr/frameworks/angular/build/shared-linker.d.ts +39 -0
- package/hmr/frameworks/angular/build/shared-linker.js +128 -0
- package/hmr/frameworks/angular/build/shared-linker.js.map +1 -0
- package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.d.ts +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/hmr/frameworks/angular/build/synthesize-injectable-factories.d.ts +3 -0
- package/hmr/frameworks/angular/build/synthesize-injectable-factories.js +241 -0
- package/hmr/frameworks/angular/build/synthesize-injectable-factories.js.map +1 -0
- package/hmr/frameworks/angular/build/ts-fallback-transform.d.ts +5 -0
- package/hmr/frameworks/angular/build/ts-fallback-transform.js +138 -0
- package/hmr/frameworks/angular/build/ts-fallback-transform.js.map +1 -0
- package/{helpers/angular → hmr/frameworks/angular/build}/util.d.ts +1 -0
- package/hmr/frameworks/angular/build/util.js +155 -0
- package/hmr/frameworks/angular/build/util.js.map +1 -0
- package/hmr/frameworks/angular/build/worker-url-preserve.d.ts +5 -0
- package/hmr/frameworks/angular/build/worker-url-preserve.js +140 -0
- package/hmr/frameworks/angular/build/worker-url-preserve.js.map +1 -0
- package/hmr/frameworks/angular/client/index.d.ts +2 -1
- package/hmr/frameworks/angular/client/index.js +637 -23
- 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 +37 -6
- package/hmr/frameworks/angular/server/linker.js.map +1 -1
- package/hmr/frameworks/angular/server/ng-component-route.d.ts +43 -0
- package/hmr/frameworks/angular/server/ng-component-route.js +113 -0
- package/hmr/frameworks/angular/server/ng-component-route.js.map +1 -0
- package/hmr/frameworks/angular/server/strategy.js +697 -18
- package/hmr/frameworks/angular/server/strategy.js.map +1 -1
- package/hmr/frameworks/angular/server/websocket-angular-entry.d.ts +2 -0
- package/hmr/frameworks/angular/server/websocket-angular-entry.js +68 -0
- package/hmr/frameworks/angular/server/websocket-angular-entry.js.map +1 -0
- package/hmr/frameworks/angular/server/websocket-angular-hot-update.d.ts +94 -0
- package/hmr/frameworks/angular/server/websocket-angular-hot-update.js +485 -0
- package/hmr/frameworks/angular/server/websocket-angular-hot-update.js.map +1 -0
- package/hmr/frameworks/react/client/strategy.d.ts +12 -0
- package/hmr/frameworks/react/client/strategy.js +27 -0
- package/hmr/frameworks/react/client/strategy.js.map +1 -0
- package/hmr/frameworks/react/server/strategy.d.ts +2 -0
- package/hmr/frameworks/react/server/strategy.js +230 -0
- package/hmr/frameworks/react/server/strategy.js.map +1 -0
- package/hmr/frameworks/solid/build/solid-jsx-deps.d.ts +15 -0
- package/hmr/frameworks/solid/build/solid-jsx-deps.js +178 -0
- package/hmr/frameworks/solid/build/solid-jsx-deps.js.map +1 -0
- package/hmr/frameworks/solid/client/app-runtime.d.ts +68 -0
- package/hmr/frameworks/solid/client/app-runtime.js +252 -0
- package/hmr/frameworks/solid/client/app-runtime.js.map +1 -0
- package/hmr/frameworks/solid/client/strategy.d.ts +7 -0
- package/hmr/frameworks/solid/client/strategy.js +391 -0
- package/hmr/frameworks/solid/client/strategy.js.map +1 -0
- package/hmr/frameworks/solid/server/strategy.js +293 -16
- package/hmr/frameworks/solid/server/strategy.js.map +1 -1
- package/hmr/frameworks/typescript/client/strategy.d.ts +7 -0
- package/hmr/frameworks/typescript/client/strategy.js +418 -0
- package/hmr/frameworks/typescript/client/strategy.js.map +1 -0
- package/hmr/frameworks/typescript/server/strategy.js +48 -16
- package/hmr/frameworks/typescript/server/strategy.js.map +1 -1
- package/hmr/frameworks/vue/client/dep-propagation.d.ts +44 -0
- package/hmr/frameworks/vue/client/dep-propagation.js +148 -0
- package/hmr/frameworks/vue/client/dep-propagation.js.map +1 -0
- package/hmr/frameworks/vue/client/index.d.ts +10 -1
- package/hmr/frameworks/vue/client/index.js +287 -562
- package/hmr/frameworks/vue/client/index.js.map +1 -1
- package/hmr/frameworks/vue/client/navigate-app.d.ts +3 -0
- package/hmr/frameworks/vue/client/navigate-app.js +178 -0
- package/hmr/frameworks/vue/client/navigate-app.js.map +1 -0
- package/hmr/frameworks/vue/client/strategy.d.ts +33 -0
- package/hmr/frameworks/vue/client/strategy.js +152 -0
- package/hmr/frameworks/vue/client/strategy.js.map +1 -0
- package/hmr/frameworks/vue/client/vue-sfc-update-overlay.d.ts +49 -0
- package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js +124 -0
- package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js.map +1 -0
- package/hmr/frameworks/vue/server/compiler.d.ts +3 -1
- package/hmr/frameworks/vue/server/compiler.js +3 -1
- package/hmr/frameworks/vue/server/compiler.js.map +1 -1
- package/hmr/frameworks/vue/server/sfc-route-assemble.d.ts +7 -0
- package/hmr/frameworks/vue/server/sfc-route-assemble.js +823 -0
- package/hmr/frameworks/vue/server/sfc-route-assemble.js.map +1 -0
- package/hmr/frameworks/vue/server/sfc-route-meta.d.ts +7 -0
- package/hmr/frameworks/vue/server/sfc-route-meta.js +80 -0
- package/hmr/frameworks/vue/server/sfc-route-meta.js.map +1 -0
- package/hmr/frameworks/vue/server/sfc-route-serve.d.ts +8 -0
- package/hmr/frameworks/vue/server/sfc-route-serve.js +462 -0
- package/hmr/frameworks/vue/server/sfc-route-serve.js.map +1 -0
- package/hmr/frameworks/vue/server/sfc-route-shared.d.ts +45 -0
- package/hmr/frameworks/vue/server/sfc-route-shared.js +105 -0
- package/hmr/frameworks/vue/server/sfc-route-shared.js.map +1 -0
- package/hmr/frameworks/vue/server/strategy.d.ts +35 -0
- package/hmr/frameworks/vue/server/strategy.js +291 -7
- package/hmr/frameworks/vue/server/strategy.js.map +1 -1
- package/hmr/frameworks/vue/server/websocket-sfc.d.ts +15 -0
- package/hmr/frameworks/vue/server/websocket-sfc.js +20 -0
- package/hmr/frameworks/vue/server/websocket-sfc.js.map +1 -0
- package/hmr/helpers/ast-normalizer.d.ts +3 -1
- package/hmr/helpers/ast-normalizer.js +131 -24
- package/hmr/helpers/ast-normalizer.js.map +1 -1
- package/hmr/helpers/cjs-named-exports.d.ts +23 -0
- package/hmr/helpers/cjs-named-exports.js +152 -0
- package/hmr/helpers/cjs-named-exports.js.map +1 -0
- package/hmr/helpers/package-exports.d.ts +16 -0
- package/hmr/helpers/package-exports.js +396 -0
- package/hmr/helpers/package-exports.js.map +1 -0
- package/hmr/helpers/vendor-rewrite.d.ts +1 -1
- package/hmr/helpers/vendor-rewrite.js +5 -3
- package/hmr/helpers/vendor-rewrite.js.map +1 -1
- package/hmr/server/boot-recording.d.ts +51 -0
- package/hmr/server/boot-recording.js +214 -0
- package/hmr/server/boot-recording.js.map +1 -0
- package/hmr/server/constants.d.ts +1 -0
- package/hmr/server/constants.js +21 -4
- package/hmr/server/constants.js.map +1 -1
- package/hmr/server/content-css-update.d.ts +54 -0
- package/hmr/server/content-css-update.js +78 -0
- package/hmr/server/content-css-update.js.map +1 -0
- package/hmr/server/core-bundle.d.ts +140 -0
- package/hmr/server/core-bundle.js +614 -0
- package/hmr/server/core-bundle.js.map +1 -0
- package/hmr/server/core-sanitize.d.ts +130 -4
- package/hmr/server/core-sanitize.js +393 -32
- package/hmr/server/core-sanitize.js.map +1 -1
- package/hmr/server/css-connect-sync.d.ts +28 -0
- package/hmr/server/css-connect-sync.js +59 -0
- package/hmr/server/css-connect-sync.js.map +1 -0
- package/hmr/server/css-device-module.d.ts +28 -0
- package/hmr/server/css-device-module.js +44 -0
- package/hmr/server/css-device-module.js.map +1 -0
- package/hmr/server/css-update-message.d.ts +23 -0
- package/hmr/server/css-update-message.js +41 -0
- package/hmr/server/css-update-message.js.map +1 -0
- package/hmr/server/deps-bundle.d.ts +233 -0
- package/hmr/server/deps-bundle.js +1022 -0
- package/hmr/server/deps-bundle.js.map +1 -0
- package/hmr/server/device-transform-helpers.d.ts +24 -0
- package/hmr/server/device-transform-helpers.js +408 -0
- package/hmr/server/device-transform-helpers.js.map +1 -0
- package/hmr/server/framework-strategy.d.ts +182 -11
- package/hmr/server/hmr-module-graph.d.ts +37 -0
- package/hmr/server/hmr-module-graph.js +215 -0
- package/hmr/server/hmr-module-graph.js.map +1 -0
- package/hmr/server/import-map.d.ts +99 -0
- package/hmr/server/import-map.js +294 -0
- package/hmr/server/import-map.js.map +1 -0
- package/hmr/server/index.d.ts +2 -1
- package/hmr/server/index.js +7 -16
- package/hmr/server/index.js.map +1 -1
- package/hmr/server/node-builtins-route.d.ts +12 -0
- package/hmr/server/node-builtins-route.js +86 -0
- package/hmr/server/node-builtins-route.js.map +1 -0
- package/hmr/server/ns-core-cjs-shape.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-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 +114 -0
- package/hmr/server/perf-instrumentation.js +197 -0
- package/hmr/server/perf-instrumentation.js.map +1 -0
- package/hmr/server/process-code-for-device.d.ts +54 -0
- package/hmr/server/process-code-for-device.js +832 -0
- package/hmr/server/process-code-for-device.js.map +1 -0
- package/hmr/server/require-guard.d.ts +1 -0
- package/hmr/server/require-guard.js +12 -0
- package/hmr/server/require-guard.js.map +1 -0
- package/hmr/server/rewrite-imports.d.ts +2 -0
- package/hmr/server/rewrite-imports.js +631 -0
- package/hmr/server/rewrite-imports.js.map +1 -0
- package/hmr/server/route-helpers.d.ts +7 -0
- package/hmr/server/route-helpers.js +13 -0
- package/hmr/server/route-helpers.js.map +1 -0
- package/hmr/server/runtime-graph-filter.d.ts +5 -0
- package/hmr/server/runtime-graph-filter.js +28 -0
- package/hmr/server/runtime-graph-filter.js.map +1 -0
- package/hmr/server/server-origin.d.ts +2 -0
- package/hmr/server/server-origin.js +88 -0
- package/hmr/server/server-origin.js.map +1 -0
- package/hmr/server/shared-transform-request.d.ts +12 -0
- package/hmr/server/shared-transform-request.js +143 -0
- package/hmr/server/shared-transform-request.js.map +1 -0
- package/hmr/server/socket-utils.d.ts +10 -0
- package/hmr/server/socket-utils.js +14 -0
- package/hmr/server/socket-utils.js.map +1 -0
- package/hmr/server/transform-cache-invalidation.d.ts +37 -0
- package/hmr/server/transform-cache-invalidation.js +156 -0
- package/hmr/server/transform-cache-invalidation.js.map +1 -0
- package/hmr/server/vendor-bare-module-shims.d.ts +4 -0
- package/hmr/server/vendor-bare-module-shims.js +80 -0
- package/hmr/server/vendor-bare-module-shims.js.map +1 -0
- package/hmr/server/vite-plugin.d.ts +22 -1
- package/hmr/server/vite-plugin.js +655 -58
- package/hmr/server/vite-plugin.js.map +1 -1
- package/hmr/server/websocket-core-bridge.d.ts +68 -0
- package/hmr/server/websocket-core-bridge.js +370 -0
- package/hmr/server/websocket-core-bridge.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 +21 -0
- package/hmr/server/websocket-graph-upsert.js +33 -0
- package/hmr/server/websocket-graph-upsert.js.map +1 -0
- package/hmr/server/websocket-hmr-pending.d.ts +29 -0
- package/hmr/server/websocket-hmr-pending.js +33 -0
- package/hmr/server/websocket-hmr-pending.js.map +1 -0
- package/hmr/server/websocket-hot-update.d.ts +80 -0
- package/hmr/server/websocket-hot-update.js +299 -0
- package/hmr/server/websocket-hot-update.js.map +1 -0
- package/hmr/server/websocket-import-map-route.d.ts +15 -0
- package/hmr/server/websocket-import-map-route.js +51 -0
- package/hmr/server/websocket-import-map-route.js.map +1 -0
- package/hmr/server/websocket-module-bindings.d.ts +21 -0
- package/hmr/server/websocket-module-bindings.js +504 -0
- package/hmr/server/websocket-module-bindings.js.map +1 -0
- package/hmr/server/websocket-module-specifiers.d.ts +98 -0
- package/hmr/server/websocket-module-specifiers.js +832 -0
- package/hmr/server/websocket-module-specifiers.js.map +1 -0
- 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 +163 -0
- package/hmr/server/websocket-ns-entry.js.map +1 -0
- package/hmr/server/websocket-ns-m-paths.d.ts +19 -0
- package/hmr/server/websocket-ns-m-paths.js +115 -0
- package/hmr/server/websocket-ns-m-paths.js.map +1 -0
- package/hmr/server/websocket-ns-m-request.d.ts +46 -0
- package/hmr/server/websocket-ns-m-request.js +197 -0
- package/hmr/server/websocket-ns-m-request.js.map +1 -0
- package/hmr/server/websocket-ns-m.d.ts +52 -0
- package/hmr/server/websocket-ns-m.js +592 -0
- package/hmr/server/websocket-ns-m.js.map +1 -0
- package/hmr/server/websocket-served-module-helpers.d.ts +98 -0
- package/hmr/server/websocket-served-module-helpers.js +948 -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 +42 -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 +6 -17
- package/hmr/server/websocket.js +723 -5376
- package/hmr/server/websocket.js.map +1 -1
- package/hmr/shared/ns-globals.d.ts +108 -0
- package/hmr/shared/ns-globals.js +29 -0
- package/hmr/shared/ns-globals.js.map +1 -0
- package/hmr/shared/package-classifier.d.ts +9 -0
- package/hmr/shared/package-classifier.js +58 -0
- package/hmr/shared/package-classifier.js.map +1 -0
- package/hmr/shared/protocol.d.ts +157 -0
- package/hmr/shared/protocol.js +28 -0
- package/hmr/shared/protocol.js.map +1 -0
- package/hmr/shared/runtime/boot-complete.d.ts +14 -0
- package/hmr/shared/runtime/boot-complete.js +32 -0
- package/hmr/shared/runtime/boot-complete.js.map +1 -0
- package/hmr/shared/runtime/boot-placeholder-ui.d.ts +69 -0
- package/hmr/shared/runtime/boot-placeholder-ui.js +101 -0
- package/hmr/shared/runtime/boot-placeholder-ui.js.map +1 -0
- package/hmr/shared/runtime/boot-progress.d.ts +44 -0
- package/hmr/shared/runtime/boot-progress.js +134 -0
- package/hmr/shared/runtime/boot-progress.js.map +1 -0
- package/hmr/shared/runtime/boot-timeline.d.ts +17 -0
- package/hmr/shared/runtime/boot-timeline.js +40 -0
- package/hmr/shared/runtime/boot-timeline.js.map +1 -0
- package/hmr/shared/runtime/browser-runtime-contract.d.ts +97 -0
- package/hmr/shared/runtime/browser-runtime-contract.js +66 -0
- package/hmr/shared/runtime/browser-runtime-contract.js.map +1 -0
- package/hmr/shared/runtime/dev-overlay-ios.d.ts +87 -0
- package/hmr/shared/runtime/dev-overlay-ios.js +521 -0
- package/hmr/shared/runtime/dev-overlay-ios.js.map +1 -0
- package/hmr/shared/runtime/dev-overlay-shared.d.ts +58 -0
- package/hmr/shared/runtime/dev-overlay-shared.js +116 -0
- package/hmr/shared/runtime/dev-overlay-shared.js.map +1 -0
- package/hmr/shared/runtime/dev-overlay-snapshots.d.ts +31 -0
- package/hmr/shared/runtime/dev-overlay-snapshots.js +324 -0
- package/hmr/shared/runtime/dev-overlay-snapshots.js.map +1 -0
- package/hmr/shared/runtime/dev-overlay-tree.d.ts +59 -0
- package/hmr/shared/runtime/dev-overlay-tree.js +712 -0
- package/hmr/shared/runtime/dev-overlay-tree.js.map +1 -0
- package/hmr/shared/runtime/dev-overlay.d.ts +39 -0
- package/hmr/shared/runtime/dev-overlay.js +292 -0
- package/hmr/shared/runtime/dev-overlay.js.map +1 -0
- package/hmr/shared/runtime/global-scope.d.ts +18 -0
- package/hmr/shared/runtime/global-scope.js +21 -0
- package/hmr/shared/runtime/global-scope.js.map +1 -0
- package/hmr/shared/runtime/hooks.js +2 -1
- package/hmr/shared/runtime/hooks.js.map +1 -1
- package/hmr/shared/runtime/launch-bridge.d.ts +9 -0
- package/hmr/shared/runtime/launch-bridge.js +98 -0
- package/hmr/shared/runtime/launch-bridge.js.map +1 -0
- package/hmr/shared/runtime/module-provenance.d.ts +1 -0
- package/hmr/shared/runtime/module-provenance.js +64 -0
- package/hmr/shared/runtime/module-provenance.js.map +1 -0
- package/hmr/shared/runtime/ns-runtime-test-double.d.ts +21 -0
- package/hmr/shared/runtime/ns-runtime-test-double.js +20 -0
- package/hmr/shared/runtime/ns-runtime-test-double.js.map +1 -0
- package/hmr/shared/runtime/overlay-flag.d.ts +9 -0
- package/hmr/shared/runtime/overlay-flag.js +34 -0
- package/hmr/shared/runtime/overlay-flag.js.map +1 -0
- package/hmr/shared/runtime/platform-polyfills.d.ts +26 -0
- package/hmr/shared/runtime/platform-polyfills.js +122 -0
- package/hmr/shared/runtime/platform-polyfills.js.map +1 -0
- package/hmr/shared/runtime/root-placeholder-view.d.ts +19 -0
- package/hmr/shared/runtime/root-placeholder-view.js +311 -0
- package/hmr/shared/runtime/root-placeholder-view.js.map +1 -0
- package/hmr/shared/runtime/root-placeholder.d.ts +1 -0
- package/hmr/shared/runtime/root-placeholder.js +778 -83
- package/hmr/shared/runtime/root-placeholder.js.map +1 -1
- package/hmr/shared/runtime/session-bootstrap.d.ts +1 -0
- package/hmr/shared/runtime/session-bootstrap.js +350 -0
- package/hmr/shared/runtime/session-bootstrap.js.map +1 -0
- package/hmr/shared/runtime/vendor-bootstrap.js +54 -16
- package/hmr/shared/runtime/vendor-bootstrap.js.map +1 -1
- package/hmr/shared/runtime/vendor-resolve.d.ts +22 -0
- package/hmr/shared/runtime/vendor-resolve.js +45 -0
- package/hmr/shared/runtime/vendor-resolve.js.map +1 -0
- package/hmr/shared/runtime/worker-tracking.d.ts +28 -0
- package/hmr/shared/runtime/worker-tracking.js +114 -0
- package/hmr/shared/runtime/worker-tracking.js.map +1 -0
- package/hmr/shared/vendor/manifest-collect.d.ts +4 -0
- package/hmr/shared/vendor/manifest-collect.js +909 -0
- package/hmr/shared/vendor/manifest-collect.js.map +1 -0
- package/hmr/shared/vendor/manifest-loader.d.ts +2 -1
- package/hmr/shared/vendor/manifest-loader.js +5 -3
- package/hmr/shared/vendor/manifest-loader.js.map +1 -1
- package/hmr/shared/vendor/manifest.d.ts +12 -0
- package/hmr/shared/vendor/manifest.js +341 -545
- package/hmr/shared/vendor/manifest.js.map +1 -1
- package/hmr/shared/vendor/registry.d.ts +2 -0
- package/hmr/shared/vendor/registry.js +118 -7
- package/hmr/shared/vendor/registry.js.map +1 -1
- package/hmr/shared/vendor/vendor-device-shim.d.ts +1 -0
- package/hmr/shared/vendor/vendor-device-shim.js +208 -0
- package/hmr/shared/vendor/vendor-device-shim.js.map +1 -0
- package/hmr/shared/vendor/vendor-esbuild-plugins.d.ts +107 -0
- package/hmr/shared/vendor/vendor-esbuild-plugins.js +540 -0
- package/hmr/shared/vendor/vendor-esbuild-plugins.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +5 -0
- package/index.js.map +1 -1
- package/package.json +83 -14
- package/runtime/core-aliases-early.js +103 -81
- 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/shims/solid-jsx-runtime.d.ts +7 -0
- package/shims/solid-jsx-runtime.js +17 -0
- package/shims/solid-jsx-runtime.js.map +1 -0
- package/helpers/angular/angular-linker.d.ts +0 -13
- package/helpers/angular/angular-linker.js +0 -189
- package/helpers/angular/angular-linker.js.map +0 -1
- package/helpers/angular/shared-linker.d.ts +0 -4
- package/helpers/angular/shared-linker.js +0 -39
- package/helpers/angular/shared-linker.js.map +0 -1
- package/helpers/angular/util.js +0 -67
- package/helpers/angular/util.js.map +0 -1
- package/helpers/module-runner-patch.d.ts +0 -3
- package/helpers/module-runner-patch.js +0 -63
- package/helpers/module-runner-patch.js.map +0 -1
- package/helpers/prelink-angular.d.ts +0 -2
- package/helpers/prelink-angular.js +0 -117
- package/helpers/prelink-angular.js.map +0 -1
- package/hmr/shared/runtime/http-only-boot.d.ts +0 -1
- package/hmr/shared/runtime/http-only-boot.js +0 -124
- package/hmr/shared/runtime/http-only-boot.js.map +0 -1
- package/hmr/vendor-bootstrap.d.ts +0 -3
- package/hmr/vendor-bootstrap.js +0 -32
- package/hmr/vendor-bootstrap.js.map +0 -1
- package/shims/react-reconciler-constants.d.ts +0 -14
- package/shims/react-reconciler-constants.js +0 -21
- package/shims/react-reconciler-constants.js.map +0 -1
- package/shims/react-reconciler.d.ts +0 -8
- package/shims/react-reconciler.js +0 -15
- package/shims/react-reconciler.js.map +0 -1
- package/transformers/NativeClass/index.d.ts +0 -2
- package/transformers/NativeClass/index.js +0 -222
- package/transformers/NativeClass/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/client/index.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,4BAA4B;IAC3C,MAAM,CAAC,GAAQ,UAAU,CAAC;IAC1B,IAAI,CAAC,CAAC,mCAAmC,EAAE,CAAC;QAC3C,OAAO;IACR,CAAC;IACD,IAAI,CAAC;QACJ,CAAC,CAAC,mCAAmC,GAAG,IAAI,CAAC;QAC7C,IAAI,kBAAkB,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACrD,CAAC;IACF,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACX,CAAC;AAOD,MAAM,UAAU,6BAA6B,CAAC,GAAQ,EAAE,OAA6B;IACpF,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACJ,MAAM,CAAC,GAAQ,UAAU,CAAC;QAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;QAC5D,MAAM,SAAS,GAAG,CAAC,CAAC,wBAAwB,CAAC;QAC7C,IAAI,OAAO,GAAG,EAAE,aAAa,KAAK,UAAU,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;YACjF,IAAI,OAAO,CAAC,OAAO,IAAI,kBAAkB,EAAE,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;YACzE,CAAC;YACD,IAAI,CAAC;gBACJ,CAAC,CAAC,4BAA4B,GAAG,IAAI,CAAC;YACvC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,GAAG,CAAC,aAAa,CAAC;gBACjB,MAAM,EAAE,GAAG,EAAE;oBACZ,IAAI,CAAC;wBACJ,OAAO,SAAS,EAAE,CAAC;oBACpB,CAAC;4BAAS,CAAC;wBACV,IAAI,CAAC;4BACJ,CAAC,CAAC,4BAA4B,GAAG,KAAK,CAAC;wBACxC,CAAC;wBAAC,MAAM,CAAC,CAAA,CAAC;oBACX,CAAC;gBACF,CAAC;aACD,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACb,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,IAAI,kBAAkB,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,6GAA6G,CAAC,CAAC;QAC7H,CAAC;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC;gBACJ,OAAO,CAAC,IAAI,CAAC,uCAAuC,EAAE,CAAC,KAAK,IAAK,KAAa,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC;YACnG,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACX,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/client/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { FrameworkClientStrategy } from '../../../client/framework-client-strategy.js';
|
|
2
|
+
/**
|
|
3
|
+
* Angular's on-device HMR behavior, surfaced as a `FrameworkClientStrategy` so
|
|
4
|
+
* the shared client never references the Angular client module directly. Both
|
|
5
|
+
* methods delegate to the existing `angular/client` functions — no behavior
|
|
6
|
+
* change. Angular drives its own view refresh inside `handleHotUpdateMessage`,
|
|
7
|
+
* so the mount/navigate/batch hooks stay unimplemented (shared defaults apply).
|
|
8
|
+
*/
|
|
9
|
+
export declare const angularClientStrategy: FrameworkClientStrategy;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { installAngularHmrClientHooks, handleAngularHotUpdateMessage } from './index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Angular's on-device HMR behavior, surfaced as a `FrameworkClientStrategy` so
|
|
4
|
+
* the shared client never references the Angular client module directly. Both
|
|
5
|
+
* methods delegate to the existing `angular/client` functions — no behavior
|
|
6
|
+
* change. Angular drives its own view refresh inside `handleHotUpdateMessage`,
|
|
7
|
+
* so the mount/navigate/batch hooks stay unimplemented (shared defaults apply).
|
|
8
|
+
*/
|
|
9
|
+
export const angularClientStrategy = {
|
|
10
|
+
flavor: 'angular',
|
|
11
|
+
allowNavigateFastPath: true,
|
|
12
|
+
install() {
|
|
13
|
+
installAngularHmrClientHooks();
|
|
14
|
+
},
|
|
15
|
+
handleHotUpdateMessage(msg, ctx) {
|
|
16
|
+
return handleAngularHotUpdateMessage(msg, { getCore: ctx.getCore, verbose: ctx.verbose });
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=strategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/client/strategy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAEzF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA4B;IAC7D,MAAM,EAAE,SAAS;IACjB,qBAAqB,EAAE,IAAI;IAE3B,OAAO;QACN,4BAA4B,EAAE,CAAC;IAChC,CAAC;IAED,sBAAsB,CAAC,GAAQ,EAAE,GAAkC;QAClE,OAAO,6BAA6B,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;CACD,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Identifies the Angular **bootstrap (root) component** of a project from
|
|
3
|
+
* its dev-server entry module, and provides helpers to match Analog's
|
|
4
|
+
* `angular:component-update` events against it.
|
|
5
|
+
*
|
|
6
|
+
* Why this exists
|
|
7
|
+
* ---------------
|
|
8
|
+
* NativeScript's root Angular component hosts the navigation `Frame` (via
|
|
9
|
+
* `<page-router-outlet>`). Analog's in-place template HMR
|
|
10
|
+
* (`ɵɵreplaceMetadata`) recreates the matching `LView`s for the edited
|
|
11
|
+
* component WITHOUT re-running router navigation. For a normal child
|
|
12
|
+
* component that's exactly right — its view re-renders inside an intact
|
|
13
|
+
* page. For the ROOT component it's fatal: replacing the root metadata
|
|
14
|
+
* tears down the `PageRouterOutlet`'s `Frame` and nothing re-navigates,
|
|
15
|
+
* leaving a permanent blank/white screen that no further in-place update
|
|
16
|
+
* can recover.
|
|
17
|
+
*
|
|
18
|
+
* The reboot path (`ns:angular-update` → `__reboot_ng_modules__`) DOES
|
|
19
|
+
* recover the root view (it re-bootstraps and replays route state). So the
|
|
20
|
+
* fix is to route every root-component edit through the reboot path and
|
|
21
|
+
* suppress the destructive in-place update for it. Both halves need to know
|
|
22
|
+
* which file is the root component — that's what this module resolves.
|
|
23
|
+
*
|
|
24
|
+
* Resolution is intentionally dependency-free string/path math so it can be
|
|
25
|
+
* unit-tested without a Vite server or filesystem. It targets the modern
|
|
26
|
+
* standalone bootstrap shape (`bootstrapApplication(AppComponent, …)`),
|
|
27
|
+
* which is what `main.ts` uses; it degrades gracefully to `null` for shapes
|
|
28
|
+
* it can't statically resolve (e.g. NgModule `bootstrap: [...]`), in which
|
|
29
|
+
* case callers keep their existing behavior.
|
|
30
|
+
*/
|
|
31
|
+
export interface BootstrapRootComponent {
|
|
32
|
+
/**
|
|
33
|
+
* Extensionless, project-relative POSIX path with a leading slash —
|
|
34
|
+
* e.g. `/src/app/app.component`. Comparisons are always extensionless so
|
|
35
|
+
* a `.html` template edit and its `.ts` component resolve to the same key.
|
|
36
|
+
*/
|
|
37
|
+
moduleRel: string;
|
|
38
|
+
/**
|
|
39
|
+
* The class name passed to `bootstrapApplication(...)` (best-effort,
|
|
40
|
+
* resolved back to the imported binding name when aliased). Used as a
|
|
41
|
+
* secondary match signal for Analog ids whose path base differs from the
|
|
42
|
+
* project root.
|
|
43
|
+
*/
|
|
44
|
+
className: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Normalizes any project-relative path to a leading-slash, extensionless
|
|
48
|
+
* POSIX key suitable for equality comparison between a `.html`/`.ts` edit
|
|
49
|
+
* and the resolved root component.
|
|
50
|
+
*/
|
|
51
|
+
export declare function toExtensionlessModuleRel(rel: string): string;
|
|
52
|
+
/** True when two project-relative paths refer to the same module (ignoring extension). */
|
|
53
|
+
export declare function isSameAngularModuleRel(a: string | null | undefined, b: string | null | undefined): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Resolves the bootstrap root component from a dev-server entry module's
|
|
56
|
+
* source. Returns `null` when the bootstrap shape can't be statically
|
|
57
|
+
* resolved (callers should then keep their default behavior).
|
|
58
|
+
*/
|
|
59
|
+
export declare function resolveBootstrapRootComponent(options: {
|
|
60
|
+
entrySource: string;
|
|
61
|
+
entryRel: string;
|
|
62
|
+
appRootRel?: string;
|
|
63
|
+
}): BootstrapRootComponent | null;
|
|
64
|
+
/**
|
|
65
|
+
* Decodes Analog's `angular:component-update` payload `id`
|
|
66
|
+
* (`encodeURIComponent(relativePath + '@' + className)`) into a normalized,
|
|
67
|
+
* extensionless module rel plus the class name, so the bridge can compare it
|
|
68
|
+
* against the resolved root component. Returns `null` for empty/invalid ids.
|
|
69
|
+
*/
|
|
70
|
+
export declare function decodeAngularComponentUpdateId(id: unknown): {
|
|
71
|
+
moduleRel: string;
|
|
72
|
+
className: string;
|
|
73
|
+
} | null;
|
|
74
|
+
/**
|
|
75
|
+
* True when an Analog `angular:component-update` `id` targets the resolved
|
|
76
|
+
* root component — matched by module path first (robust to class-name
|
|
77
|
+
* collisions), then by class name as a fallback.
|
|
78
|
+
*/
|
|
79
|
+
export declare function isAngularRootComponentUpdate(root: BootstrapRootComponent | null | undefined, id: unknown): boolean;
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
const BOOTSTRAP_APPLICATION_RE = /\bbootstrapApplication\s*\(\s*([A-Za-z_$][\w$]*)/;
|
|
3
|
+
const IMPORT_STATEMENT_RE = /import\s+([^;'"]+?)\s+from\s+['"]([^'"]+)['"]/g;
|
|
4
|
+
const SOURCE_EXTENSION_RE = /\.(?:tsx?|jsx?|mjs|cjs|html?|css|scss|sass|less)$/i;
|
|
5
|
+
function scanImportBindings(source) {
|
|
6
|
+
const bindings = new Map();
|
|
7
|
+
IMPORT_STATEMENT_RE.lastIndex = 0;
|
|
8
|
+
let match;
|
|
9
|
+
while ((match = IMPORT_STATEMENT_RE.exec(source)) !== null) {
|
|
10
|
+
const clause = match[1].trim();
|
|
11
|
+
const specifier = match[2];
|
|
12
|
+
recordClauseBindings(clause, specifier, bindings);
|
|
13
|
+
}
|
|
14
|
+
return bindings;
|
|
15
|
+
}
|
|
16
|
+
function recordClauseBindings(clause, specifier, out) {
|
|
17
|
+
const namedStart = clause.indexOf('{');
|
|
18
|
+
if (namedStart !== -1) {
|
|
19
|
+
const namedEnd = clause.indexOf('}', namedStart);
|
|
20
|
+
const namedSegment = namedEnd === -1 ? clause.slice(namedStart + 1) : clause.slice(namedStart + 1, namedEnd);
|
|
21
|
+
for (const raw of namedSegment.split(',')) {
|
|
22
|
+
const entry = raw.trim();
|
|
23
|
+
if (!entry)
|
|
24
|
+
continue;
|
|
25
|
+
const asMatch = /^(\S+)\s+as\s+(\S+)$/.exec(entry);
|
|
26
|
+
if (asMatch) {
|
|
27
|
+
out.set(asMatch[2], { specifier, importedName: asMatch[1] });
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
out.set(entry, { specifier, importedName: entry });
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
// Strip the `{ … }` group so a leading default import in the same
|
|
34
|
+
// statement (`import Foo, { Bar } from '…'`) is still captured below.
|
|
35
|
+
clause = (clause.slice(0, namedStart) + clause.slice(namedEnd === -1 ? clause.length : namedEnd + 1)).trim();
|
|
36
|
+
}
|
|
37
|
+
const namespaceMatch = /^\*\s+as\s+([A-Za-z_$][\w$]*)$/.exec(clause);
|
|
38
|
+
if (namespaceMatch) {
|
|
39
|
+
out.set(namespaceMatch[1], { specifier, importedName: '*' });
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const defaultName = clause.replace(/,\s*$/, '').trim();
|
|
43
|
+
if (/^[A-Za-z_$][\w$]*$/.test(defaultName)) {
|
|
44
|
+
out.set(defaultName, { specifier, importedName: 'default' });
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Resolves a (relative or `~`/`@` aliased) module specifier — as written in
|
|
49
|
+
* the entry's import — to an extensionless project-relative POSIX path.
|
|
50
|
+
* Returns `null` for bare/package specifiers (a root component is always a
|
|
51
|
+
* project-local file).
|
|
52
|
+
*/
|
|
53
|
+
function resolveSpecifierToModuleRel(specifier, entryRel, appRootRel) {
|
|
54
|
+
const entryDir = path.posix.dirname(normalizeRel(entryRel));
|
|
55
|
+
if (specifier.startsWith('./') || specifier.startsWith('../')) {
|
|
56
|
+
return toExtensionlessModuleRel(path.posix.join(entryDir, specifier));
|
|
57
|
+
}
|
|
58
|
+
if (specifier.startsWith('~/') || specifier.startsWith('@/')) {
|
|
59
|
+
const base = normalizeRel(appRootRel || entryDir);
|
|
60
|
+
return toExtensionlessModuleRel(path.posix.join(base, specifier.slice(2)));
|
|
61
|
+
}
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
function normalizeRel(rel) {
|
|
65
|
+
let normalized = String(rel || '').replace(/\\/g, '/');
|
|
66
|
+
if (!normalized.startsWith('/'))
|
|
67
|
+
normalized = '/' + normalized;
|
|
68
|
+
return normalized.replace(/\/{2,}/g, '/');
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Normalizes any project-relative path to a leading-slash, extensionless
|
|
72
|
+
* POSIX key suitable for equality comparison between a `.html`/`.ts` edit
|
|
73
|
+
* and the resolved root component.
|
|
74
|
+
*/
|
|
75
|
+
export function toExtensionlessModuleRel(rel) {
|
|
76
|
+
const normalized = normalizeRel(rel);
|
|
77
|
+
return normalized.replace(SOURCE_EXTENSION_RE, '');
|
|
78
|
+
}
|
|
79
|
+
/** True when two project-relative paths refer to the same module (ignoring extension). */
|
|
80
|
+
export function isSameAngularModuleRel(a, b) {
|
|
81
|
+
if (!a || !b)
|
|
82
|
+
return false;
|
|
83
|
+
return toExtensionlessModuleRel(a) === toExtensionlessModuleRel(b);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Resolves the bootstrap root component from a dev-server entry module's
|
|
87
|
+
* source. Returns `null` when the bootstrap shape can't be statically
|
|
88
|
+
* resolved (callers should then keep their default behavior).
|
|
89
|
+
*/
|
|
90
|
+
export function resolveBootstrapRootComponent(options) {
|
|
91
|
+
const { entrySource, entryRel } = options;
|
|
92
|
+
if (!entrySource || !entryRel)
|
|
93
|
+
return null;
|
|
94
|
+
const bootstrapMatch = BOOTSTRAP_APPLICATION_RE.exec(entrySource);
|
|
95
|
+
if (!bootstrapMatch)
|
|
96
|
+
return null;
|
|
97
|
+
const localName = bootstrapMatch[1];
|
|
98
|
+
const binding = scanImportBindings(entrySource).get(localName);
|
|
99
|
+
if (!binding)
|
|
100
|
+
return null;
|
|
101
|
+
const moduleRel = resolveSpecifierToModuleRel(binding.specifier, entryRel, options.appRootRel ?? '');
|
|
102
|
+
if (!moduleRel)
|
|
103
|
+
return null;
|
|
104
|
+
// Prefer the originally-imported name (the declared class) over a local
|
|
105
|
+
// alias so it lines up with the class name Analog encodes in its id.
|
|
106
|
+
const className = binding.importedName && binding.importedName !== 'default' && binding.importedName !== '*' ? binding.importedName : localName;
|
|
107
|
+
return { moduleRel, className };
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Decodes Analog's `angular:component-update` payload `id`
|
|
111
|
+
* (`encodeURIComponent(relativePath + '@' + className)`) into a normalized,
|
|
112
|
+
* extensionless module rel plus the class name, so the bridge can compare it
|
|
113
|
+
* against the resolved root component. Returns `null` for empty/invalid ids.
|
|
114
|
+
*/
|
|
115
|
+
export function decodeAngularComponentUpdateId(id) {
|
|
116
|
+
if (typeof id !== 'string' || !id)
|
|
117
|
+
return null;
|
|
118
|
+
let decoded = id;
|
|
119
|
+
try {
|
|
120
|
+
decoded = decodeURIComponent(id);
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
// Leave as-is — a non-encoded id still splits/normalizes correctly.
|
|
124
|
+
}
|
|
125
|
+
// Class names never contain `@`, but scoped paths can — split on the LAST
|
|
126
|
+
// `@` so `relativePath` keeps any leading `@scope/...` segments intact.
|
|
127
|
+
const at = decoded.lastIndexOf('@');
|
|
128
|
+
const pathPart = at >= 0 ? decoded.slice(0, at) : decoded;
|
|
129
|
+
const className = at >= 0 ? decoded.slice(at + 1) : '';
|
|
130
|
+
if (!pathPart)
|
|
131
|
+
return null;
|
|
132
|
+
return { moduleRel: toExtensionlessModuleRel(pathPart), className };
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* True when an Analog `angular:component-update` `id` targets the resolved
|
|
136
|
+
* root component — matched by module path first (robust to class-name
|
|
137
|
+
* collisions), then by class name as a fallback.
|
|
138
|
+
*/
|
|
139
|
+
export function isAngularRootComponentUpdate(root, id) {
|
|
140
|
+
if (!root)
|
|
141
|
+
return false;
|
|
142
|
+
const decoded = decodeAngularComponentUpdateId(id);
|
|
143
|
+
if (!decoded)
|
|
144
|
+
return false;
|
|
145
|
+
if (isSameAngularModuleRel(root.moduleRel, decoded.moduleRel))
|
|
146
|
+
return true;
|
|
147
|
+
return !!decoded.className && decoded.className === root.className;
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=angular-root-component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"angular-root-component.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/server/angular-root-component.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,39 @@ let cachedDeps = null;
|
|
|
6
6
|
let triedLoad = false;
|
|
7
7
|
let warnedMissing = false;
|
|
8
8
|
const projectRoot = getProjectRootPath();
|
|
9
|
+
/**
|
|
10
|
+
* Resolve the Angular NodeJSFileSystem required by Angular 21+ linker.
|
|
11
|
+
* Without it, the Babel transform throws "Cannot read properties of undefined (reading 'resolve')".
|
|
12
|
+
*/
|
|
13
|
+
function resolveFileSystem(requireBase) {
|
|
14
|
+
try {
|
|
15
|
+
const cliMod = requireBase('@angular/compiler-cli');
|
|
16
|
+
if (cliMod.NodeJSFileSystem) {
|
|
17
|
+
return new cliMod.NodeJSFileSystem();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
catch { }
|
|
21
|
+
// Fallback: minimal fileSystem that satisfies the linker
|
|
22
|
+
return {
|
|
23
|
+
resolve: (...paths) => path.resolve(...paths),
|
|
24
|
+
dirname: (p) => path.dirname(p),
|
|
25
|
+
join: (...paths) => path.join(...paths),
|
|
26
|
+
isRooted: (p) => path.isAbsolute(p),
|
|
27
|
+
exists: (p) => {
|
|
28
|
+
try {
|
|
29
|
+
const fs = requireBase('fs');
|
|
30
|
+
return fs.existsSync(p);
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
readFile: (p) => {
|
|
37
|
+
const fs = requireBase('fs');
|
|
38
|
+
return fs.readFileSync(p, 'utf8');
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
9
42
|
function attemptLoad(requireBase) {
|
|
10
43
|
if (!requireBase)
|
|
11
44
|
return null;
|
|
@@ -14,7 +47,8 @@ function attemptLoad(requireBase) {
|
|
|
14
47
|
const linkerMod = requireBase('@angular/compiler-cli/linker/babel');
|
|
15
48
|
const createLinkerPlugin = (linkerMod && (linkerMod.createLinkerPlugin || linkerMod.createEs2015LinkerPlugin)) || null;
|
|
16
49
|
if (babel && createLinkerPlugin) {
|
|
17
|
-
|
|
50
|
+
const fileSystem = resolveFileSystem(requireBase);
|
|
51
|
+
return { babel, createLinkerPlugin, fileSystem };
|
|
18
52
|
}
|
|
19
53
|
}
|
|
20
54
|
catch { }
|
|
@@ -68,7 +102,7 @@ export function linkAngularPartialsIfNeeded(code, filename = 'hmr-inline.mjs') {
|
|
|
68
102
|
return code;
|
|
69
103
|
}
|
|
70
104
|
try {
|
|
71
|
-
const plugin = deps.createLinkerPlugin({ sourceMapping: false });
|
|
105
|
+
const plugin = deps.createLinkerPlugin({ sourceMapping: false, ...(deps.fileSystem ? { fileSystem: deps.fileSystem } : {}) });
|
|
72
106
|
const result = deps.babel.transformSync(code, {
|
|
73
107
|
filename,
|
|
74
108
|
configFile: false,
|
|
@@ -79,10 +113,7 @@ export function linkAngularPartialsIfNeeded(code, filename = 'hmr-inline.mjs') {
|
|
|
79
113
|
});
|
|
80
114
|
if (result?.code && result.code !== code) {
|
|
81
115
|
if (debug) {
|
|
82
|
-
|
|
83
|
-
console.log('[ns-hmr][angular-linker] linked', filename);
|
|
84
|
-
}
|
|
85
|
-
catch { }
|
|
116
|
+
console.log('[ns-hmr][angular-linker] linked', filename);
|
|
86
117
|
}
|
|
87
118
|
return result.code;
|
|
88
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linker.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/server/linker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,MAAM,kBAAkB,GAAG,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"linker.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/server/linker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { FrameworkModuleRequestContext } from '../../../server/framework-strategy.js';
|
|
2
|
+
/**
|
|
3
|
+
* Intercept AnalogJS Angular component live-reload requests on the `/ns/m`
|
|
4
|
+
* route. Returns `true` when the request was an `/@ng/component` metadata
|
|
5
|
+
* fetch (answered with the no-update stub, or delegated downstream to
|
|
6
|
+
* Analog's middleware with an empty-body guard); `false` for every other
|
|
7
|
+
* request so the shared `/ns/m` pipeline proceeds.
|
|
8
|
+
*
|
|
9
|
+
* Angular 21's `ɵɵgetReplaceMetadataURL` (in @angular/core
|
|
10
|
+
* _debug_node-chunk.mjs) builds the metadata-replacement URL as
|
|
11
|
+
* `new URL('./@ng/component?c=<id>&t=<ts>', import.meta.url).href`.
|
|
12
|
+
* Because `import.meta.url` for a NS-served module is
|
|
13
|
+
* `http://host:port/ns/m/<project-relative>/component.ts`, the resolved
|
|
14
|
+
* metadata URL ends up *nested* under the component's directory:
|
|
15
|
+
* `/ns/m/<dir>/@ng/component?c=...&t=...`.
|
|
16
|
+
*
|
|
17
|
+
* AnalogJS's `liveReloadPlugin` registers a middleware that matches
|
|
18
|
+
* `/@ng/component` anywhere in `req.url` and returns either an empty module
|
|
19
|
+
* body (no HMR update available) or the metadata-replacement code (after a
|
|
20
|
+
* save invalidates the file). Without this delegation the NS `/ns/m/`
|
|
21
|
+
* middleware would treat the path as a file lookup, fail to resolve
|
|
22
|
+
* `@ng/component` against disk, and respond with 404 — which surfaces as
|
|
23
|
+
* `HTTP fetch/compile failed` at the component's own `_HmrLoad(Date.now())`
|
|
24
|
+
* call on initial boot and blocks Angular component bootstrapping.
|
|
25
|
+
*
|
|
26
|
+
* Calling `next()` here lets AnalogJS's middleware (or any other middleware
|
|
27
|
+
* later in the chain) handle the request. Analog's middleware reads only the
|
|
28
|
+
* `?c=` query string and is pathname-agnostic, so we don't need to rewrite
|
|
29
|
+
* `req.url` for it to work.
|
|
30
|
+
*
|
|
31
|
+
* HOWEVER: AnalogJS responds with an EMPTY body (`res.end('')`) for
|
|
32
|
+
* non-invalidated component IDs (initial boot, before any file save). The
|
|
33
|
+
* iOS HTTP ESM loader's `LoadHttpModuleForUrl` (ModuleInternalCallbacks.mm)
|
|
34
|
+
* treats an empty body as a fetch failure (`body.empty() → reject`), even
|
|
35
|
+
* when the HTTP status is 200 OK. That bubbles up as
|
|
36
|
+
* `HTTP fetch/compile failed` at the device's `__ns_import(...)` inside each
|
|
37
|
+
* component's `_HmrLoad(Date.now())` and crashes Angular's component
|
|
38
|
+
* bootstrap. To make Analog's empty "no-update" response acceptable to the
|
|
39
|
+
* iOS loader, we wrap `res.write` / `res.end` and substitute a minimal valid
|
|
40
|
+
* ESM module body (`export {}`) when downstream writes nothing. Non-empty
|
|
41
|
+
* bodies (real HMR update payloads after a save) pass through unchanged.
|
|
42
|
+
*/
|
|
43
|
+
export declare function interceptNgComponentRequest(ctx: FrameworkModuleRequestContext): boolean;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
// Minimal valid ESM body for "no component update available": the iOS HTTP
|
|
2
|
+
// ESM loader (`LoadHttpModuleForUrl`) rejects empty bodies even on HTTP 200,
|
|
3
|
+
// so an actual empty response would crash the component's `_HmrLoad` import.
|
|
4
|
+
const NG_COMPONENT_NO_UPDATE_STUB = '// [ns:m] no Angular component update for this request — substituted with valid empty module to satisfy iOS HTTP loader (rejects empty bodies)\nexport {};\n';
|
|
5
|
+
/**
|
|
6
|
+
* Intercept AnalogJS Angular component live-reload requests on the `/ns/m`
|
|
7
|
+
* route. Returns `true` when the request was an `/@ng/component` metadata
|
|
8
|
+
* fetch (answered with the no-update stub, or delegated downstream to
|
|
9
|
+
* Analog's middleware with an empty-body guard); `false` for every other
|
|
10
|
+
* request so the shared `/ns/m` pipeline proceeds.
|
|
11
|
+
*
|
|
12
|
+
* Angular 21's `ɵɵgetReplaceMetadataURL` (in @angular/core
|
|
13
|
+
* _debug_node-chunk.mjs) builds the metadata-replacement URL as
|
|
14
|
+
* `new URL('./@ng/component?c=<id>&t=<ts>', import.meta.url).href`.
|
|
15
|
+
* Because `import.meta.url` for a NS-served module is
|
|
16
|
+
* `http://host:port/ns/m/<project-relative>/component.ts`, the resolved
|
|
17
|
+
* metadata URL ends up *nested* under the component's directory:
|
|
18
|
+
* `/ns/m/<dir>/@ng/component?c=...&t=...`.
|
|
19
|
+
*
|
|
20
|
+
* AnalogJS's `liveReloadPlugin` registers a middleware that matches
|
|
21
|
+
* `/@ng/component` anywhere in `req.url` and returns either an empty module
|
|
22
|
+
* body (no HMR update available) or the metadata-replacement code (after a
|
|
23
|
+
* save invalidates the file). Without this delegation the NS `/ns/m/`
|
|
24
|
+
* middleware would treat the path as a file lookup, fail to resolve
|
|
25
|
+
* `@ng/component` against disk, and respond with 404 — which surfaces as
|
|
26
|
+
* `HTTP fetch/compile failed` at the component's own `_HmrLoad(Date.now())`
|
|
27
|
+
* call on initial boot and blocks Angular component bootstrapping.
|
|
28
|
+
*
|
|
29
|
+
* Calling `next()` here lets AnalogJS's middleware (or any other middleware
|
|
30
|
+
* later in the chain) handle the request. Analog's middleware reads only the
|
|
31
|
+
* `?c=` query string and is pathname-agnostic, so we don't need to rewrite
|
|
32
|
+
* `req.url` for it to work.
|
|
33
|
+
*
|
|
34
|
+
* HOWEVER: AnalogJS responds with an EMPTY body (`res.end('')`) for
|
|
35
|
+
* non-invalidated component IDs (initial boot, before any file save). The
|
|
36
|
+
* iOS HTTP ESM loader's `LoadHttpModuleForUrl` (ModuleInternalCallbacks.mm)
|
|
37
|
+
* treats an empty body as a fetch failure (`body.empty() → reject`), even
|
|
38
|
+
* when the HTTP status is 200 OK. That bubbles up as
|
|
39
|
+
* `HTTP fetch/compile failed` at the device's `__ns_import(...)` inside each
|
|
40
|
+
* component's `_HmrLoad(Date.now())` and crashes Angular's component
|
|
41
|
+
* bootstrap. To make Analog's empty "no-update" response acceptable to the
|
|
42
|
+
* iOS loader, we wrap `res.write` / `res.end` and substitute a minimal valid
|
|
43
|
+
* ESM module body (`export {}`) when downstream writes nothing. Non-empty
|
|
44
|
+
* bodies (real HMR update payloads after a save) pass through unchanged.
|
|
45
|
+
*/
|
|
46
|
+
export function interceptNgComponentRequest(ctx) {
|
|
47
|
+
const { urlObj, res, next, isLiveComponentUpdateFetch } = ctx;
|
|
48
|
+
if (!urlObj.pathname.includes('/@ng/component'))
|
|
49
|
+
return false;
|
|
50
|
+
// Boot-fetch gate: every compiled component runs
|
|
51
|
+
// `<Class>_HmrLoad(Date.now())` on evaluation, so every cold boot hits
|
|
52
|
+
// this route for every component. Analog serves a REAL
|
|
53
|
+
// metadata-replacement payload whenever the component's module was
|
|
54
|
+
// invalidated at any point in the dev server's lifetime (Vite's
|
|
55
|
+
// `lastInvalidationTimestamp` never resets), and a boot-time
|
|
56
|
+
// `ɵɵreplaceMetadata` on the root component tears down the
|
|
57
|
+
// PageRouterOutlet frame — the "relaunch after an HMR edit → white
|
|
58
|
+
// screen" failure. Only fetches echoing a forwarded
|
|
59
|
+
// `angular:component-update` broadcast's exact `(id, t)` pair may reach
|
|
60
|
+
// Analog; a fresh boot already evaluates the latest transformed source
|
|
61
|
+
// and never needs a replacement payload.
|
|
62
|
+
if (isLiveComponentUpdateFetch) {
|
|
63
|
+
const componentId = urlObj.searchParams.get('c') || '';
|
|
64
|
+
const timestampRaw = urlObj.searchParams.get('t');
|
|
65
|
+
// `Number(null)` is 0 — require an actual `t` param.
|
|
66
|
+
const timestamp = timestampRaw ? Number(timestampRaw) : NaN;
|
|
67
|
+
if (!componentId || !Number.isFinite(timestamp) || !isLiveComponentUpdateFetch(componentId, timestamp)) {
|
|
68
|
+
res.statusCode = 200;
|
|
69
|
+
res.setHeader('Content-Type', 'text/javascript');
|
|
70
|
+
res.setHeader('Cache-Control', 'no-cache');
|
|
71
|
+
res.end(NG_COMPONENT_NO_UPDATE_STUB);
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
const chunks = [];
|
|
76
|
+
const origEnd = res.end.bind(res);
|
|
77
|
+
let ended = false;
|
|
78
|
+
const captureChunk = (chunk) => {
|
|
79
|
+
if (chunk == null)
|
|
80
|
+
return;
|
|
81
|
+
if (typeof chunk === 'string') {
|
|
82
|
+
chunks.push(chunk);
|
|
83
|
+
}
|
|
84
|
+
else if (Buffer.isBuffer(chunk)) {
|
|
85
|
+
chunks.push(chunk.toString('utf8'));
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
chunks.push(String(chunk));
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
res.write = function (chunk, ..._args) {
|
|
92
|
+
captureChunk(chunk);
|
|
93
|
+
return true;
|
|
94
|
+
};
|
|
95
|
+
res.end = function (chunk, ..._args) {
|
|
96
|
+
if (ended)
|
|
97
|
+
return true;
|
|
98
|
+
ended = true;
|
|
99
|
+
captureChunk(chunk);
|
|
100
|
+
let body = chunks.join('');
|
|
101
|
+
if (body.length === 0) {
|
|
102
|
+
body = NG_COMPONENT_NO_UPDATE_STUB;
|
|
103
|
+
}
|
|
104
|
+
try {
|
|
105
|
+
res.setHeader('Content-Length', Buffer.byteLength(body, 'utf8'));
|
|
106
|
+
}
|
|
107
|
+
catch { }
|
|
108
|
+
return origEnd(body);
|
|
109
|
+
};
|
|
110
|
+
next();
|
|
111
|
+
return true;
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=ng-component-route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ng-component-route.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/angular/server/ng-component-route.ts"],"names":[],"mappings":"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"}
|