@nativescript/vite 8.0.0-alpha.5 → 8.0.0-alpha.51
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 +241 -51
- 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 +1 -1
- 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 +142 -0
- package/helpers/global-defines.js +213 -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/init.js +0 -18
- package/helpers/init.js.map +1 -1
- package/helpers/logging.d.ts +1 -0
- package/helpers/logging.js +65 -4
- package/helpers/logging.js.map +1 -1
- package/helpers/main-entry.d.ts +3 -1
- package/helpers/main-entry.js +301 -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 +14 -0
- package/helpers/ts-config-paths.js +90 -9
- 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/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 +13 -0
- package/hmr/client/hmr-pending-overlay.js +60 -0
- package/hmr/client/hmr-pending-overlay.js.map +1 -0
- package/hmr/client/index.js +891 -220
- package/hmr/client/index.js.map +1 -1
- package/hmr/client/utils.d.ts +7 -1
- package/hmr/client/utils.js +207 -29
- package/hmr/client/utils.js.map +1 -1
- package/hmr/entry-runtime.d.ts +2 -1
- package/hmr/entry-runtime.js +256 -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.d.ts +1 -0
- package/hmr/frameworks/angular/client/index.js +859 -21
- 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 +460 -12
- package/hmr/frameworks/angular/server/strategy.js.map +1 -1
- package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.js +2 -2
- package/hmr/frameworks/angular/server/websocket-angular-entry.js.map +1 -0
- package/hmr/{server → frameworks/angular/server}/websocket-angular-hot-update.d.ts +17 -11
- package/hmr/frameworks/angular/server/websocket-angular-hot-update.js +336 -0
- package/hmr/frameworks/angular/server/websocket-angular-hot-update.js.map +1 -0
- package/hmr/frameworks/react/server/strategy.d.ts +2 -0
- package/hmr/frameworks/react/server/strategy.js +150 -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 +54 -0
- package/hmr/frameworks/solid/client/app-runtime.js +184 -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 +36 -0
- package/hmr/frameworks/vue/client/dep-propagation.js +101 -0
- package/hmr/frameworks/vue/client/dep-propagation.js.map +1 -0
- package/hmr/frameworks/vue/client/index.d.ts +8 -0
- package/hmr/frameworks/vue/client/index.js +56 -243
- 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/sfc-route-assemble.d.ts +7 -0
- package/hmr/frameworks/vue/server/sfc-route-assemble.js +747 -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 +459 -0
- package/hmr/frameworks/vue/server/sfc-route-serve.js.map +1 -0
- package/hmr/frameworks/vue/server/sfc-route-shared.d.ts +38 -0
- package/hmr/frameworks/vue/server/sfc-route-shared.js +48 -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 +278 -1
- 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/server/constants.js +20 -5
- package/hmr/server/constants.js.map +1 -1
- 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/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 +108 -11
- package/hmr/server/hmr-module-graph.d.ts +37 -0
- package/hmr/server/hmr-module-graph.js +214 -0
- package/hmr/server/hmr-module-graph.js.map +1 -0
- package/hmr/server/import-map.d.ts +11 -2
- package/hmr/server/import-map.js +92 -45
- 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-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 +38 -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 +14 -0
- package/hmr/server/process-code-for-device.js +699 -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 +13 -7
- 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.js +78 -42
- package/hmr/server/vite-plugin.js.map +1 -1
- package/hmr/server/websocket-core-bridge.d.ts +45 -4
- package/hmr/server/websocket-core-bridge.js +50 -48
- package/hmr/server/websocket-core-bridge.js.map +1 -1
- package/hmr/server/websocket-css-hot-update.d.ts +33 -0
- package/hmr/server/websocket-css-hot-update.js +65 -0
- package/hmr/server/websocket-css-hot-update.js.map +1 -0
- package/hmr/server/websocket-device-transform.d.ts +3 -0
- package/hmr/server/websocket-device-transform.js +7 -0
- package/hmr/server/websocket-device-transform.js.map +1 -0
- package/hmr/server/websocket-graph-upsert.d.ts +15 -0
- package/hmr/server/websocket-graph-upsert.js +20 -0
- package/hmr/server/websocket-graph-upsert.js.map +1 -1
- package/hmr/server/websocket-hmr-pending.d.ts +37 -0
- package/hmr/server/websocket-hmr-pending.js +55 -0
- package/hmr/server/websocket-hmr-pending.js.map +1 -0
- package/hmr/server/websocket-hot-update.d.ts +77 -0
- package/hmr/server/websocket-hot-update.js +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 +21 -0
- package/hmr/server/websocket-ns-core.js +311 -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 -1
- package/hmr/server/websocket-ns-m-paths.js +58 -13
- 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 +18 -25
- package/hmr/server/websocket-ns-m-request.js.map +1 -1
- package/hmr/server/websocket-ns-m.d.ts +33 -0
- package/hmr/server/websocket-ns-m.js +752 -0
- package/hmr/server/websocket-ns-m.js.map +1 -0
- package/hmr/server/websocket-served-module-helpers.d.ts +49 -3
- package/hmr/server/websocket-served-module-helpers.js +403 -87
- package/hmr/server/websocket-served-module-helpers.js.map +1 -1
- package/hmr/server/websocket-txn.js +2 -8
- 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 +8 -39
- package/hmr/server/websocket.js +608 -6300
- package/hmr/server/websocket.js.map +1 -1
- package/hmr/shared/ns-globals.d.ts +118 -0
- package/hmr/shared/ns-globals.js +29 -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-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 +133 -0
- package/hmr/shared/runtime/boot-progress.js.map +1 -0
- package/hmr/shared/runtime/boot-timeline.d.ts +18 -0
- package/hmr/shared/runtime/boot-timeline.js +42 -0
- package/hmr/shared/runtime/boot-timeline.js.map +1 -0
- 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 +119 -26
- package/hmr/shared/runtime/dev-overlay.js +1196 -262
- 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 +393 -200
- package/hmr/shared/runtime/root-placeholder.js.map +1 -1
- package/hmr/shared/runtime/session-bootstrap.js +168 -4
- 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 +84 -819
- package/hmr/shared/vendor/manifest.js.map +1 -1
- package/hmr/shared/vendor/vendor-device-shim.d.ts +1 -0
- package/hmr/shared/vendor/vendor-device-shim.js +208 -0
- package/hmr/shared/vendor/vendor-device-shim.js.map +1 -0
- package/hmr/shared/vendor/vendor-esbuild-plugins.d.ts +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 +61 -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 +0 -239
- 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 -1117
- 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
|
@@ -0,0 +1,408 @@
|
|
|
1
|
+
// Pure helpers for the device code-transform subsystem: import-path
|
|
2
|
+
// normalization, node_modules/vendor specifier resolution, dependency
|
|
3
|
+
// collection support, and provenance preludes. Shared by
|
|
4
|
+
// process-code-for-device.ts and rewrite-imports.ts.
|
|
5
|
+
import * as path from 'path';
|
|
6
|
+
import { existsSync } from 'fs';
|
|
7
|
+
import * as PAT from './constants.js';
|
|
8
|
+
import { getProjectRootPath } from '../../helpers/project.js';
|
|
9
|
+
import { isLikelyNativeScriptRuntimePluginSpecifier, isNativeScriptCoreModule, isNativeScriptPluginModule, normalizeNativeScriptCoreSpecifier, normalizeNodeModulesSpecifier, resolveNodeModulesPackageBoundary, resolveVendorFromCandidate, viteDepsPathToBareSpecifier } from './websocket-module-specifiers.js';
|
|
10
|
+
import { collectTopLevelImportRecords } from './websocket-served-module-helpers.js';
|
|
11
|
+
// Bare specifiers and special skip patterns (virtual, data:, etc.)
|
|
12
|
+
const VENDOR_PACKAGES = /^[A-Za-z@][^:\/\s]*$/;
|
|
13
|
+
const SKIP_PATTERNS = /^(?:data:|blob:|node:|virtual:|vite:|\0|\/@@?id|\/__vite|__vite|__x00__)/;
|
|
14
|
+
// One warning per dep so vendor-manifest misses are visible without spamming
|
|
15
|
+
// the console on every served module.
|
|
16
|
+
const warnedVendorMisses = new Set();
|
|
17
|
+
/**
|
|
18
|
+
* Vendor-manifest miss fallback — e.g. `emoji-regex`, a transitive dep of
|
|
19
|
+
* @nativescript/core that is never part of the vendor bundle. Dropping the
|
|
20
|
+
* import leaves the consumer with an undefined binding at runtime
|
|
21
|
+
* ("emojiRegexModule is not defined"), so instead derive a bare specifier from
|
|
22
|
+
* Vite's flattened prebundle id; the later rewriteImports pass routes it to
|
|
23
|
+
* /ns/m/node_modules/<pkg> and the package is served over HTTP like any other
|
|
24
|
+
* node_modules subpath.
|
|
25
|
+
*
|
|
26
|
+
* Vite's flattenId encodes `/` as `_`, so the decoding is ambiguous (package
|
|
27
|
+
* names may legitimately contain `_`). For scoped ids the first `_` is the
|
|
28
|
+
* scope slash. Each candidate is verified against node_modules on disk before
|
|
29
|
+
* being committed; if nothing resolves, the first candidate is used anyway —
|
|
30
|
+
* a loud 404 on device beats a silent undefined binding.
|
|
31
|
+
*/
|
|
32
|
+
function decodeFlattenedDepId(flat) {
|
|
33
|
+
// Reverse Vite's flattenId, which encodes '.' as '__' and '/' (and ':') as
|
|
34
|
+
// '_'. Split on the '__' (dot) boundaries first so a single '_' inside each
|
|
35
|
+
// segment becomes a '/', then rejoin the segments with '.'. This avoids any
|
|
36
|
+
// placeholder sentinel (a literal NUL would corrupt the served module).
|
|
37
|
+
return flat
|
|
38
|
+
.split('__')
|
|
39
|
+
.map((segment) => segment.replace(/_/g, '/'))
|
|
40
|
+
.join('.');
|
|
41
|
+
}
|
|
42
|
+
function packageIsInstalled(packageName) {
|
|
43
|
+
if (!packageName)
|
|
44
|
+
return false;
|
|
45
|
+
try {
|
|
46
|
+
return existsSync(path.join(getProjectRootPath(), 'node_modules', ...packageName.split('/'), 'package.json'));
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function bareSpecifierFromFlatDepPath(depPath) {
|
|
53
|
+
const flat = depPath.split('?')[0].replace(/\.m?js$/, '');
|
|
54
|
+
// flattenId is lossy (names may contain '_'), so build candidates from the
|
|
55
|
+
// most-decoded form down to the raw flat id and pick the first that maps to a
|
|
56
|
+
// package actually present in node_modules. Without this, a NON-scoped subpath
|
|
57
|
+
// dep such as `solid-js/web` (flattened to `solid-js_web`) was never decoded
|
|
58
|
+
// back — only scoped ids were — so it resolved to the bogus package
|
|
59
|
+
// `solid-js_web` and 404'd over HTTP on device.
|
|
60
|
+
const candidates = [];
|
|
61
|
+
const pushCandidate = (c) => {
|
|
62
|
+
if (c && !candidates.includes(c))
|
|
63
|
+
candidates.push(c);
|
|
64
|
+
};
|
|
65
|
+
pushCandidate(decodeFlattenedDepId(flat));
|
|
66
|
+
if (flat.startsWith('@')) {
|
|
67
|
+
// Scope-only decode: just the first '_' is the scope separator.
|
|
68
|
+
pushCandidate(flat.replace('_', '/'));
|
|
69
|
+
}
|
|
70
|
+
pushCandidate(flat);
|
|
71
|
+
let resolved = null;
|
|
72
|
+
for (const candidate of candidates) {
|
|
73
|
+
try {
|
|
74
|
+
const { packageName } = resolveNodeModulesPackageBoundary(candidate, getProjectRootPath());
|
|
75
|
+
// Require the resolved package to exist on disk so a decode that merely
|
|
76
|
+
// *parses* (e.g. the bogus `solid-js_web`) does not win over the real one.
|
|
77
|
+
if (packageName && packageIsInstalled(packageName)) {
|
|
78
|
+
resolved = candidate;
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
catch { }
|
|
83
|
+
}
|
|
84
|
+
const bareSpecifier = resolved || candidates[0];
|
|
85
|
+
if (!warnedVendorMisses.has(depPath)) {
|
|
86
|
+
warnedVendorMisses.add(depPath);
|
|
87
|
+
console.warn(`[ns-vite] vendor-manifest miss: prebundled dep '${depPath}' is not in the vendor bundle — serving '${bareSpecifier}' over HTTP via /ns/m/node_modules/${resolved ? '' : ' (could not verify the package on disk; the specifier is a best-effort decode of the flattened id)'}.`);
|
|
88
|
+
}
|
|
89
|
+
return bareSpecifier;
|
|
90
|
+
}
|
|
91
|
+
function rewriteVitePrebundleImportsForDevice(code, preserveVendorImports) {
|
|
92
|
+
const imports = collectTopLevelImportRecords(code);
|
|
93
|
+
if (!imports.length) {
|
|
94
|
+
return code;
|
|
95
|
+
}
|
|
96
|
+
const edits = [];
|
|
97
|
+
for (const imp of imports) {
|
|
98
|
+
const source = imp.source;
|
|
99
|
+
const depMatch = source.match(/(?:^|\/)node_modules\/\.vite\/deps\/(.+)$/);
|
|
100
|
+
const depPath = depMatch?.[1] || (source.startsWith('.vite/deps/') ? source.slice('.vite/deps/'.length) : null);
|
|
101
|
+
if (!depPath) {
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
let replacement = '';
|
|
105
|
+
if (preserveVendorImports) {
|
|
106
|
+
const canonical = resolveVendorFromCandidate(`.vite/deps/${depPath}`);
|
|
107
|
+
let bareSpecifier = canonical || viteDepsPathToBareSpecifier(depPath);
|
|
108
|
+
if (!bareSpecifier) {
|
|
109
|
+
bareSpecifier = bareSpecifierFromFlatDepPath(depPath);
|
|
110
|
+
}
|
|
111
|
+
if (bareSpecifier) {
|
|
112
|
+
replacement = imp.text.replace(source, bareSpecifier);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
edits.push({
|
|
116
|
+
start: imp.start,
|
|
117
|
+
end: imp.end,
|
|
118
|
+
text: replacement,
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
if (!edits.length) {
|
|
122
|
+
return code;
|
|
123
|
+
}
|
|
124
|
+
let next = code;
|
|
125
|
+
for (const edit of edits.sort((left, right) => right.start - left.start)) {
|
|
126
|
+
next = next.slice(0, edit.start) + edit.text + next.slice(edit.end);
|
|
127
|
+
}
|
|
128
|
+
return next;
|
|
129
|
+
}
|
|
130
|
+
function buildNodeModuleProvenancePrelude(sourceId) {
|
|
131
|
+
if (!sourceId) {
|
|
132
|
+
return '';
|
|
133
|
+
}
|
|
134
|
+
const cleaned = sourceId.replace(PAT.QUERY_PATTERN, '');
|
|
135
|
+
let normalized = normalizeNodeModulesSpecifier(cleaned);
|
|
136
|
+
if (!normalized) {
|
|
137
|
+
const viteDepsMatch = cleaned.match(/(?:^|\/)node_modules\/\.vite\/deps\/([^?#]+)/);
|
|
138
|
+
if (viteDepsMatch?.[1]) {
|
|
139
|
+
normalized = `.vite/deps/${viteDepsMatch[1]}`;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
if (!normalized) {
|
|
143
|
+
return '';
|
|
144
|
+
}
|
|
145
|
+
let packageSpecifier = normalized;
|
|
146
|
+
let via = 'node_modules';
|
|
147
|
+
if (normalized.startsWith('.vite/deps/')) {
|
|
148
|
+
via = 'vite-deps';
|
|
149
|
+
packageSpecifier = viteDepsPathToBareSpecifier(normalized.slice('.vite/deps/'.length)) || normalized;
|
|
150
|
+
}
|
|
151
|
+
const rootPackage = resolveNodeModulesPackageBoundary(packageSpecifier, getProjectRootPath()).packageName;
|
|
152
|
+
if (!rootPackage) {
|
|
153
|
+
return '';
|
|
154
|
+
}
|
|
155
|
+
return `try { const __nsRecord = globalThis.__NS_RECORD_MODULE_PROVENANCE__; if (typeof __nsRecord === 'function') { __nsRecord(${JSON.stringify(rootPackage)}, ${JSON.stringify({ kind: 'http-esm', specifier: packageSpecifier, url: sourceId, via })}); } } catch {}\n`;
|
|
156
|
+
}
|
|
157
|
+
function shouldRemapImport(spec) {
|
|
158
|
+
if (!spec || typeof spec !== 'string')
|
|
159
|
+
return false;
|
|
160
|
+
if (VENDOR_PACKAGES.test(spec))
|
|
161
|
+
return false;
|
|
162
|
+
if (isNativeScriptCoreModule(spec))
|
|
163
|
+
return false;
|
|
164
|
+
if (isNativeScriptPluginModule(spec))
|
|
165
|
+
return false;
|
|
166
|
+
if (resolveVendorFromCandidate(spec))
|
|
167
|
+
return false;
|
|
168
|
+
if (spec.startsWith('~/'))
|
|
169
|
+
return false;
|
|
170
|
+
if (SKIP_PATTERNS.test(spec))
|
|
171
|
+
return false;
|
|
172
|
+
if (!spec.startsWith('/') && !spec.startsWith('./') && !spec.startsWith('../')) {
|
|
173
|
+
return false;
|
|
174
|
+
}
|
|
175
|
+
return true;
|
|
176
|
+
}
|
|
177
|
+
function removeNamedImports(code, names) {
|
|
178
|
+
const regex = /^(\s*import\s*\{)([^}]*)(\}\s*from\s*['"][^'"]+['"];?)/gm;
|
|
179
|
+
return code.replace(regex, (_m, p1, specList, p3) => {
|
|
180
|
+
const srcMatch = /from\s*['"]\s*([^'"\s]+)\s*['"]/i.exec(_m);
|
|
181
|
+
const src = (srcMatch?.[1] || '').toLowerCase();
|
|
182
|
+
const isVueSource = /^(?:vue|nativescript-vue)(?:\b|\/)/i.test(src);
|
|
183
|
+
if (!isVueSource) {
|
|
184
|
+
return _m;
|
|
185
|
+
}
|
|
186
|
+
const remaining = specList
|
|
187
|
+
.split(',')
|
|
188
|
+
.map((s) => s.trim())
|
|
189
|
+
.filter(Boolean)
|
|
190
|
+
.filter((entry) => {
|
|
191
|
+
const base = entry.split(/\s+as\s+/i)[0].trim();
|
|
192
|
+
return !names.includes(base);
|
|
193
|
+
});
|
|
194
|
+
if (!remaining.length)
|
|
195
|
+
return '';
|
|
196
|
+
return `${p1} ${remaining.join(', ')} ${p3}`;
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
function normalizeImportPath(spec, importerDir) {
|
|
200
|
+
if (!spec)
|
|
201
|
+
return null;
|
|
202
|
+
let key;
|
|
203
|
+
if (spec.startsWith('/')) {
|
|
204
|
+
key = spec;
|
|
205
|
+
}
|
|
206
|
+
else if (spec.startsWith('./') || spec.startsWith('../')) {
|
|
207
|
+
key = path.posix.normalize(path.posix.join(importerDir, spec));
|
|
208
|
+
if (!key.startsWith('/')) {
|
|
209
|
+
key = `/${key}`;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
key = spec;
|
|
214
|
+
}
|
|
215
|
+
return key.replace(PAT.QUERY_PATTERN, '');
|
|
216
|
+
}
|
|
217
|
+
function findDependencyFileName(depFileMap, key) {
|
|
218
|
+
const variants = new Set();
|
|
219
|
+
const base = key.replace(PAT.QUERY_PATTERN, '');
|
|
220
|
+
variants.add(base);
|
|
221
|
+
const normalized = path.posix.normalize(base);
|
|
222
|
+
variants.add(normalized);
|
|
223
|
+
const withSlash = normalized.startsWith('/') ? normalized : `/${normalized}`;
|
|
224
|
+
variants.add(withSlash);
|
|
225
|
+
for (const variant of Array.from(variants)) {
|
|
226
|
+
if (variant.endsWith('.js')) {
|
|
227
|
+
variants.add(variant.replace(/\.js$/i, '.mjs'));
|
|
228
|
+
}
|
|
229
|
+
else if (variant.endsWith('.mjs')) {
|
|
230
|
+
variants.add(variant.replace(/\.mjs$/i, '.js'));
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
for (const variant of variants) {
|
|
234
|
+
const value = depFileMap.get(variant);
|
|
235
|
+
if (value) {
|
|
236
|
+
return value;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
return undefined;
|
|
240
|
+
}
|
|
241
|
+
function isRuntimePluginRootEntrySpecifier(specifier, projectRoot) {
|
|
242
|
+
if (!specifier) {
|
|
243
|
+
return false;
|
|
244
|
+
}
|
|
245
|
+
const cleaned = specifier.replace(PAT.QUERY_PATTERN, '');
|
|
246
|
+
const normalized = normalizeNodeModulesSpecifier(cleaned) || cleaned.replace(/^\/+/, '');
|
|
247
|
+
if (!normalized) {
|
|
248
|
+
return false;
|
|
249
|
+
}
|
|
250
|
+
const { packageName, subpath } = resolveNodeModulesPackageBoundary(normalized, projectRoot);
|
|
251
|
+
if (!packageName || !isLikelyNativeScriptRuntimePluginSpecifier(packageName, projectRoot)) {
|
|
252
|
+
return false;
|
|
253
|
+
}
|
|
254
|
+
if (!subpath) {
|
|
255
|
+
return true;
|
|
256
|
+
}
|
|
257
|
+
if (subpath.includes('/')) {
|
|
258
|
+
return false;
|
|
259
|
+
}
|
|
260
|
+
const pkgBaseName = packageName.split('/').pop() || '';
|
|
261
|
+
const withoutExt = /(?:\.(?:ios|android|visionos))?\.(?:ts|tsx|js|jsx|mjs|mts|cts)$/i.test(subpath) ? subpath.replace(/\.[^.]+$/, '') : subpath;
|
|
262
|
+
const withoutPlatform = withoutExt.replace(/\.(ios|android|visionos)$/i, '');
|
|
263
|
+
return withoutPlatform === 'index' || withoutPlatform === pkgBaseName;
|
|
264
|
+
}
|
|
265
|
+
function collectMixedRuntimePluginHttpRootPackages(code, projectRoot) {
|
|
266
|
+
const nonRootSubpathPackages = new Set();
|
|
267
|
+
const rootEntryPackages = new Set();
|
|
268
|
+
const visitSpecifier = (rawSpecifier) => {
|
|
269
|
+
if (!rawSpecifier) {
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
const specifier = normalizeNativeScriptCoreSpecifier(rawSpecifier).replace(PAT.QUERY_PATTERN, '');
|
|
273
|
+
if (!specifier) {
|
|
274
|
+
return;
|
|
275
|
+
}
|
|
276
|
+
if (/^https?:\/\//.test(specifier) || specifier.startsWith('/ns/')) {
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
if (/^(?:\.|\/)/.test(specifier) && !specifier.includes('/node_modules/')) {
|
|
280
|
+
return;
|
|
281
|
+
}
|
|
282
|
+
const normalized = normalizeNodeModulesSpecifier(specifier) || specifier.replace(/^\/+/, '');
|
|
283
|
+
if (!normalized) {
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
const { packageName } = resolveNodeModulesPackageBoundary(normalized, projectRoot);
|
|
287
|
+
if (!packageName || !isLikelyNativeScriptRuntimePluginSpecifier(packageName, projectRoot)) {
|
|
288
|
+
return;
|
|
289
|
+
}
|
|
290
|
+
if (isRuntimePluginRootEntrySpecifier(normalized, projectRoot)) {
|
|
291
|
+
rootEntryPackages.add(packageName);
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
294
|
+
nonRootSubpathPackages.add(packageName);
|
|
295
|
+
};
|
|
296
|
+
for (const pattern of [PAT.IMPORT_PATTERN_1, PAT.IMPORT_PATTERN_2, PAT.IMPORT_PATTERN_3, PAT.IMPORT_PATTERN_SIDE_EFFECT]) {
|
|
297
|
+
pattern.lastIndex = 0;
|
|
298
|
+
let match;
|
|
299
|
+
while ((match = pattern.exec(code)) !== null) {
|
|
300
|
+
visitSpecifier(match[2]);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
return new Set(Array.from(nonRootSubpathPackages).filter((packageName) => rootEntryPackages.has(packageName)));
|
|
304
|
+
}
|
|
305
|
+
// Application import helpers
|
|
306
|
+
/**
|
|
307
|
+
* Check if a path is an application module (not node_modules, not vendor, not relative)
|
|
308
|
+
* This is generic and works for ANY project structure.
|
|
309
|
+
*
|
|
310
|
+
* Examples of application imports: /core/v4/store.ts, /src/utils/helper.ts, /custom/module.ts
|
|
311
|
+
* Examples of NON-application imports: node_modules/..., ~/vendor.mjs, ./relative.ts, ../parent.ts
|
|
312
|
+
*/
|
|
313
|
+
function isApplicationImport(importPath) {
|
|
314
|
+
if (!importPath.startsWith('/')) {
|
|
315
|
+
return false; // Relative paths (./..., ../...) are not application imports
|
|
316
|
+
}
|
|
317
|
+
// Exclude node_modules and special paths
|
|
318
|
+
if (importPath.includes('node_modules') || importPath.startsWith('/@') || importPath.startsWith('~/')) {
|
|
319
|
+
return false;
|
|
320
|
+
}
|
|
321
|
+
return true;
|
|
322
|
+
}
|
|
323
|
+
function stripToProjectRelative(importPath, projectRoot) {
|
|
324
|
+
if (!importPath) {
|
|
325
|
+
return '';
|
|
326
|
+
}
|
|
327
|
+
let normalized = importPath.replace(/\\/g, '/');
|
|
328
|
+
normalized = normalized.replace(/^\/?@fs\//, '/');
|
|
329
|
+
if (normalized.startsWith('file://')) {
|
|
330
|
+
normalized = normalized.replace(/^file:\/\//, '/');
|
|
331
|
+
}
|
|
332
|
+
const documentsMarker = '/Documents/';
|
|
333
|
+
const documentsIndex = normalized.indexOf(documentsMarker);
|
|
334
|
+
if (documentsIndex !== -1) {
|
|
335
|
+
return normalized.substring(documentsIndex + documentsMarker.length);
|
|
336
|
+
}
|
|
337
|
+
if (projectRoot) {
|
|
338
|
+
const normalizedRoot = projectRoot.replace(/\\/g, '/').replace(/\/+$/, '');
|
|
339
|
+
const rootIndex = normalized.indexOf(normalizedRoot);
|
|
340
|
+
if (rootIndex !== -1) {
|
|
341
|
+
const sliced = normalized.substring(rootIndex + normalizedRoot.length);
|
|
342
|
+
return sliced.replace(/^\/+/, '');
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
return normalized.replace(/^\/+/, '');
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Convert absolute application import to relative .mjs path for Documents folder
|
|
349
|
+
* /core/v4/store.ts → ./core/v4/store.mjs
|
|
350
|
+
*/
|
|
351
|
+
function getProjectRelativeImportPath(importPath, projectRoot) {
|
|
352
|
+
if (!importPath) {
|
|
353
|
+
return null;
|
|
354
|
+
}
|
|
355
|
+
let normalized = importPath.replace(PAT.QUERY_PATTERN, '');
|
|
356
|
+
normalized = normalized.replace(/\\/g, '/');
|
|
357
|
+
if (normalized.startsWith('file://')) {
|
|
358
|
+
normalized = normalized.replace(/^file:\/\//, '/');
|
|
359
|
+
}
|
|
360
|
+
const documentsMarker = '/Documents/';
|
|
361
|
+
const documentsIndex = normalized.indexOf(documentsMarker);
|
|
362
|
+
if (documentsIndex !== -1) {
|
|
363
|
+
normalized = normalized.substring(documentsIndex + documentsMarker.length);
|
|
364
|
+
}
|
|
365
|
+
else if (projectRoot) {
|
|
366
|
+
const normalizedRoot = projectRoot.replace(/\\/g, '/').replace(/\/+$/, '');
|
|
367
|
+
const rootIndex = normalized.indexOf(normalizedRoot);
|
|
368
|
+
if (rootIndex !== -1) {
|
|
369
|
+
normalized = normalized.substring(rootIndex + normalizedRoot.length);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
normalized = normalized.replace(/^\/+/, '');
|
|
373
|
+
if (!normalized) {
|
|
374
|
+
return null;
|
|
375
|
+
}
|
|
376
|
+
if (normalized.startsWith('dep-')) {
|
|
377
|
+
return null;
|
|
378
|
+
}
|
|
379
|
+
if (normalized.startsWith('sfc-')) {
|
|
380
|
+
return null;
|
|
381
|
+
}
|
|
382
|
+
normalized = path.posix.normalize(normalized);
|
|
383
|
+
if (!normalized) {
|
|
384
|
+
return null;
|
|
385
|
+
}
|
|
386
|
+
normalized = normalized.replace(/\.(ts|js|tsx|jsx|mjs|mts|cts)$/i, '.mjs');
|
|
387
|
+
if (!normalized.endsWith('.mjs')) {
|
|
388
|
+
normalized = `${normalized}.mjs`;
|
|
389
|
+
}
|
|
390
|
+
return normalized.replace(/^\/+/, '');
|
|
391
|
+
}
|
|
392
|
+
function toAppModuleBaseId(importPath, projectRoot) {
|
|
393
|
+
const projectRelative = getProjectRelativeImportPath(importPath, projectRoot);
|
|
394
|
+
if (!projectRelative) {
|
|
395
|
+
return null;
|
|
396
|
+
}
|
|
397
|
+
const base = projectRelative.replace(/\.mjs$/i, '');
|
|
398
|
+
return `/${base}`;
|
|
399
|
+
}
|
|
400
|
+
function toNodeModulesHttpModuleId(importPath) {
|
|
401
|
+
const nodeModulesSpecifier = normalizeNodeModulesSpecifier(importPath);
|
|
402
|
+
if (!nodeModulesSpecifier) {
|
|
403
|
+
return null;
|
|
404
|
+
}
|
|
405
|
+
return `/ns/m/node_modules/${nodeModulesSpecifier}`;
|
|
406
|
+
}
|
|
407
|
+
export { rewriteVitePrebundleImportsForDevice, buildNodeModuleProvenancePrelude, shouldRemapImport, removeNamedImports, normalizeImportPath, findDependencyFileName, collectMixedRuntimePluginHttpRootPackages, isApplicationImport, stripToProjectRelative, getProjectRelativeImportPath, toAppModuleBaseId, toNodeModulesHttpModuleId };
|
|
408
|
+
//# sourceMappingURL=device-transform-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-transform-helpers.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/device-transform-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { ViteDevServer } from 'vite';
|
|
1
|
+
import type { HmrContext, ViteDevServer } from 'vite';
|
|
2
2
|
import type { WebSocketServer } from 'ws';
|
|
3
|
+
import type { NsHotUpdateContext } from './websocket-hot-update.js';
|
|
3
4
|
export interface FrameworkProcessFileContext {
|
|
4
5
|
filePath: string;
|
|
5
6
|
server: ViteDevServer;
|
|
@@ -39,29 +40,125 @@ export interface FrameworkRegistryContext {
|
|
|
39
40
|
export interface FrameworkCleanContext {
|
|
40
41
|
code: string;
|
|
41
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Inputs for {@link FrameworkServerStrategy.rewriteServedModule}, mirroring the
|
|
45
|
+
* arguments the `/ns/m` served-module pipeline passes to `rewriteImports` /
|
|
46
|
+
* `prepareAngularEntryForDevice` today (the angular/else fork in
|
|
47
|
+
* `websocket-ns-m.ts`).
|
|
48
|
+
*/
|
|
49
|
+
export interface FrameworkServedModuleContext {
|
|
50
|
+
/** Resolved module specifier / URL being served (`resolvedCandidate || spec`). */
|
|
51
|
+
moduleId: string;
|
|
52
|
+
sfcFileMap: Map<string, string>;
|
|
53
|
+
depFileMap: Map<string, string>;
|
|
54
|
+
projectRoot: string;
|
|
55
|
+
serverOrigin: string;
|
|
56
|
+
verbose: boolean;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Inputs for {@link FrameworkServerStrategy.registerRoutes}. A framework that
|
|
60
|
+
* owns dev-only HTTP endpoints (e.g. Vue's `/ns/sfc*`) registers them here;
|
|
61
|
+
* frameworks without extra endpoints leave the hook undefined (no-op default).
|
|
62
|
+
*
|
|
63
|
+
* Carries everything Vue's `registerSfcHandlers` needs (its
|
|
64
|
+
* `RegisterSfcHandlersOptions` shape): the dev server, plugin state
|
|
65
|
+
* (`sfcFileMap`/`depFileMap`/`appVirtualWithSlash`), the live graph-version
|
|
66
|
+
* accessor, and the active strategy. `wss` is included for parity with the
|
|
67
|
+
* other route registrars (the SFC handlers don't consult it today).
|
|
68
|
+
*/
|
|
69
|
+
export interface FrameworkRouteContext {
|
|
70
|
+
server: ViteDevServer;
|
|
71
|
+
wss: WebSocketServer | null;
|
|
72
|
+
sfcFileMap: Map<string, string>;
|
|
73
|
+
depFileMap: Map<string, string>;
|
|
74
|
+
verbose: boolean;
|
|
75
|
+
appVirtualWithSlash: string;
|
|
76
|
+
getGraphVersion(): number;
|
|
77
|
+
getStrategy(): FrameworkServerStrategy;
|
|
78
|
+
}
|
|
42
79
|
export interface FrameworkServerStrategy {
|
|
43
80
|
readonly flavor: string;
|
|
44
81
|
matchesFile(id: string): boolean;
|
|
82
|
+
/** Framework-specific pre-clean phase (remove virtual style imports, etc.). */
|
|
83
|
+
preClean?(code: string): string;
|
|
84
|
+
/** Rewrite framework runtime imports to vendor bundle. */
|
|
85
|
+
rewriteFrameworkImports?(code: string): string;
|
|
86
|
+
/** Framework-specific post-clean phase (strip HMR helpers, etc.). */
|
|
87
|
+
postClean?(code: string): string;
|
|
88
|
+
/** Ensure framework-specific HTTP endpoints/imports are versioned for cache-busting. */
|
|
89
|
+
ensureVersionedImports?(code: string, origin: string, version: number): string;
|
|
90
|
+
/** Optional vendor rewrite hook (e.g. map framework helper imports to vendor). */
|
|
91
|
+
rewriteVendorSpec?(code: string, origin: string, version: number): string;
|
|
45
92
|
/**
|
|
46
|
-
*
|
|
93
|
+
* Full per-framework `handleHotUpdate` implementation. Every flavor owns one:
|
|
94
|
+
* the WebSocket plugin's `handleHotUpdate` Vite hook calls it directly, and
|
|
95
|
+
* the implementation runs the shared {@link NsHotUpdateContext}-driven
|
|
96
|
+
* `runHotUpdatePrologue` followed by its own framework tail.
|
|
47
97
|
*/
|
|
48
|
-
|
|
98
|
+
handleHotUpdate?(ctx: HmrContext, deps: NsHotUpdateContext): Promise<HmrContext['modules'] | void>;
|
|
49
99
|
/**
|
|
50
|
-
*
|
|
100
|
+
* When `true`, the per-module graph delta is NOT broadcast inline during a
|
|
101
|
+
* hot update (the framework drives its own re-fetch/patch instead — Angular
|
|
102
|
+
* & Solid). Defaults to `false` → delta is broadcast (today's TS/Vue path).
|
|
51
103
|
*/
|
|
52
|
-
|
|
104
|
+
readonly deferDeltaBroadcast?: boolean;
|
|
53
105
|
/**
|
|
54
|
-
*
|
|
106
|
+
* When this returns `true` for the changed file, the shared prologue SKIPS
|
|
107
|
+
* its default module-graph delta upsert — the framework's own
|
|
108
|
+
* `handleHotUpdate` tail re-queries the graph and drives the update itself
|
|
109
|
+
* (Angular HTML templates: Analog's in-place swap or the NS reboot path).
|
|
110
|
+
* Defaults to no-skip (the prologue always upserts).
|
|
55
111
|
*/
|
|
56
|
-
|
|
112
|
+
skipDefaultGraphUpdate?(file: string): boolean;
|
|
57
113
|
/**
|
|
58
|
-
*
|
|
114
|
+
* When `true`, the shared prologue does NOT broadcast `ns:css-updates` for a
|
|
115
|
+
* component-scoped style edit (a non-global `.css`) — the framework's own
|
|
116
|
+
* `handleHotUpdate` drives the in-place component update instead. For
|
|
117
|
+
* Angular with Analog `liveReload` active this is essential: Analog emits
|
|
118
|
+
* `angular:component-update` only while the css's `?direct` module is absent
|
|
119
|
+
* from the graph, and the prologue's broadcast makes the device fetch
|
|
120
|
+
* `…?direct=1`, which creates that module and flips Analog to its
|
|
121
|
+
* (NativeScript-inert) Vite css-update branch on every subsequent edit. The
|
|
122
|
+
* global app-entry CSS path is unaffected (it is not component-scoped).
|
|
123
|
+
* Defaults to `false` (every flavor keeps the component-style broadcast).
|
|
59
124
|
*/
|
|
60
|
-
|
|
125
|
+
ownsComponentStyleHmr?(server: ViteDevServer): boolean;
|
|
61
126
|
/**
|
|
62
|
-
*
|
|
127
|
+
* Override the `/ns/m` served-module import rewrite. Defaults to the shared
|
|
128
|
+
* `rewriteImports` (today's non-Angular path); Angular overrides with its
|
|
129
|
+
* entry-preparation pass. Returns the rewritten code.
|
|
63
130
|
*/
|
|
64
|
-
|
|
131
|
+
rewriteServedModule?(code: string, ctx: FrameworkServedModuleContext): string;
|
|
132
|
+
/**
|
|
133
|
+
* Patch a served `node_modules` module before device delivery (e.g. Solid's
|
|
134
|
+
* inline `@solid-refresh` patch). Defaults to identity (code unchanged).
|
|
135
|
+
* `verbose` mirrors the `/ns/m` plugin's `verbose` option and gates the
|
|
136
|
+
* server-side diagnostics the inline patch emitted today (the device process
|
|
137
|
+
* sets `globalThis.__NS_ENV_VERBOSE__`, but the Node server never does).
|
|
138
|
+
*/
|
|
139
|
+
transformNodeModule?(code: string, moduleId: string, verbose?: boolean): string;
|
|
140
|
+
/**
|
|
141
|
+
* Framework SFC post-processing (Vue). Defaults to identity. Mirrors the
|
|
142
|
+
* `processSfcCode` helper currently injected via the registry context.
|
|
143
|
+
*/
|
|
144
|
+
processSfcCode?(code: string): string;
|
|
145
|
+
/**
|
|
146
|
+
* Register framework-owned dev HTTP endpoints (Vue: `/ns/sfc*`). Defaults to
|
|
147
|
+
* no-op for frameworks without extra routes.
|
|
148
|
+
*/
|
|
149
|
+
registerRoutes?(ctx: FrameworkRouteContext): void;
|
|
150
|
+
/**
|
|
151
|
+
* Extra import-map entries for this framework (e.g. Vue → `vue` /
|
|
152
|
+
* `nativescript-vue`; Solid → `solid-js`). Defaults to none. Replaces the
|
|
153
|
+
* `addFrameworkEntries` switch in `import-map.ts`.
|
|
154
|
+
*/
|
|
155
|
+
importMapEntries?(origin: string): Record<string, string>;
|
|
156
|
+
/**
|
|
157
|
+
* Extra volatile URL patterns the device runtime must always re-fetch (Vue →
|
|
158
|
+
* `/@ns/sfc/`, `/@ns/asm/`; Angular → `/@ns/asm/`). Defaults to none.
|
|
159
|
+
* Replaces the framework arm of `getVolatilePatterns`.
|
|
160
|
+
*/
|
|
161
|
+
volatilePatterns?(): string[];
|
|
65
162
|
processFile(ctx: FrameworkProcessFileContext): Promise<void>;
|
|
66
163
|
buildRegistry(ctx: FrameworkRegistryContext): Promise<void>;
|
|
67
164
|
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { WebSocket, WebSocketServer } from 'ws';
|
|
2
|
+
import type { FrameworkServerStrategy } from './framework-strategy.js';
|
|
3
|
+
export interface GraphModule {
|
|
4
|
+
id: string;
|
|
5
|
+
deps: string[];
|
|
6
|
+
hash: string;
|
|
7
|
+
}
|
|
8
|
+
export interface UpsertOptions {
|
|
9
|
+
emitDeltaOnInsert?: boolean;
|
|
10
|
+
broadcastDelta?: boolean;
|
|
11
|
+
bumpVersion?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface HmrModuleGraphDeps {
|
|
14
|
+
verbose: boolean;
|
|
15
|
+
strategy: FrameworkServerStrategy;
|
|
16
|
+
getWss: () => WebSocketServer | null;
|
|
17
|
+
getPluginRoot: () => string | undefined;
|
|
18
|
+
}
|
|
19
|
+
export declare class HmrModuleGraph {
|
|
20
|
+
private readonly deps;
|
|
21
|
+
readonly modules: Map<string, GraphModule>;
|
|
22
|
+
private readonly txnBatches;
|
|
23
|
+
private _version;
|
|
24
|
+
constructor(deps: HmrModuleGraphDeps);
|
|
25
|
+
get version(): number;
|
|
26
|
+
get size(): number;
|
|
27
|
+
get(id: string): GraphModule | undefined;
|
|
28
|
+
getTxnBatch(version: number): string[];
|
|
29
|
+
computeHash(content: string): string;
|
|
30
|
+
normalizeGraphId(raw: string): string;
|
|
31
|
+
computeTxnOrderForChanged(changedIds: string[]): string[];
|
|
32
|
+
private fullGraphPayload;
|
|
33
|
+
emitFullGraph(ws: WebSocket): void;
|
|
34
|
+
emitDelta(changed: GraphModule[], removed: string[]): void;
|
|
35
|
+
upsert(rawId: string, code: string, deps: string[], options?: UpsertOptions): GraphModule | undefined;
|
|
36
|
+
remove(id: string): void;
|
|
37
|
+
}
|