@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
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { mergeConfig } from 'vite';
|
|
2
|
-
import { readFileSync, readdirSync, statSync } from 'node:fs';
|
|
3
2
|
import path from 'node:path';
|
|
4
3
|
import { baseConfig } from './base.js';
|
|
5
|
-
import {
|
|
4
|
+
import { resolvePlatform } from '../helpers/cli-flags.js';
|
|
6
5
|
import { getPackageJson, getProjectFilePath, getProjectRootPath } from '../helpers/project.js';
|
|
7
6
|
import { getProjectAppPath } from '../helpers/utils.js';
|
|
8
7
|
import { getTypeCheckPlugins } from '../helpers/typescript-check.js';
|
|
8
|
+
import { createXmlLoaderPlugin, shouldExcludePlatformFile, toContextImportSpecifier, walkAppFiles } from '../helpers/bundler-context.js';
|
|
9
9
|
/**
|
|
10
10
|
* TypeScript + XML NativeScript Vite configuration.
|
|
11
11
|
* Adds a virtual require.context style registry (xml, js, ts, css, scss) similar to webpack5.
|
|
@@ -14,8 +14,7 @@ import { getTypeCheckPlugins } from '../helpers/typescript-check.js';
|
|
|
14
14
|
function createBundlerContextPlugin() {
|
|
15
15
|
const VIRTUAL_ID = 'virtual:ns-bundler-context';
|
|
16
16
|
const RESOLVED_ID = '\0' + VIRTUAL_ID;
|
|
17
|
-
const
|
|
18
|
-
const platform = flags.android ? 'android' : flags.ios ? 'ios' : flags.visionos ? 'visionos' : undefined;
|
|
17
|
+
const platform = resolvePlatform();
|
|
19
18
|
// Determine the app's declared main entry to avoid eagerly importing it (which would execute Application.run too early)
|
|
20
19
|
const projectRoot = getProjectRootPath();
|
|
21
20
|
const pkg = getPackageJson();
|
|
@@ -41,56 +40,7 @@ function createBundlerContextPlugin() {
|
|
|
41
40
|
return null;
|
|
42
41
|
// Build platform-filtered static module registry similar to webpack's require.context.
|
|
43
42
|
// Generic: only XML, styles and their paired code-behind files. Test/app specific additions belong in app vite.config.ts.
|
|
44
|
-
const
|
|
45
|
-
function walk(dir, out) {
|
|
46
|
-
let entries = [];
|
|
47
|
-
try {
|
|
48
|
-
entries = readdirSync(dir);
|
|
49
|
-
}
|
|
50
|
-
catch {
|
|
51
|
-
return out;
|
|
52
|
-
}
|
|
53
|
-
for (const entry of entries) {
|
|
54
|
-
const full = path.posix.join(dir, entry);
|
|
55
|
-
let st;
|
|
56
|
-
try {
|
|
57
|
-
st = statSync(full);
|
|
58
|
-
}
|
|
59
|
-
catch {
|
|
60
|
-
continue;
|
|
61
|
-
}
|
|
62
|
-
if (st.isDirectory())
|
|
63
|
-
walk(full, out);
|
|
64
|
-
else
|
|
65
|
-
out.push(full);
|
|
66
|
-
}
|
|
67
|
-
return out;
|
|
68
|
-
}
|
|
69
|
-
function listAll() {
|
|
70
|
-
const files = [];
|
|
71
|
-
for (const r of roots)
|
|
72
|
-
walk(r, files);
|
|
73
|
-
return files;
|
|
74
|
-
}
|
|
75
|
-
function shouldExcludeAbsolute(p) {
|
|
76
|
-
const file = p.split('/').pop() || '';
|
|
77
|
-
if (file.startsWith('_'))
|
|
78
|
-
return true;
|
|
79
|
-
if (/\.d\.ts$/.test(p))
|
|
80
|
-
return true;
|
|
81
|
-
if (/([.-]worker)\.(ts|js)$/.test(file))
|
|
82
|
-
return true;
|
|
83
|
-
const isAndroidTagged = /\.android\./.test(p);
|
|
84
|
-
const isIosTagged = /\.ios\./.test(p) || /\.visionos\./.test(p);
|
|
85
|
-
if (platform === 'android' && isIosTagged)
|
|
86
|
-
return true;
|
|
87
|
-
if (['ios', 'visionos'].includes(platform) && isAndroidTagged)
|
|
88
|
-
return true;
|
|
89
|
-
return false;
|
|
90
|
-
}
|
|
91
|
-
function toImportSpecifier(abs) {
|
|
92
|
-
return '/' + abs.replace(/^\/+/, '');
|
|
93
|
-
}
|
|
43
|
+
const toImportSpecifier = toContextImportSpecifier;
|
|
94
44
|
function toCtxKey(abs) {
|
|
95
45
|
let rel = abs;
|
|
96
46
|
if (rel.startsWith(appRootPrefix))
|
|
@@ -99,7 +49,7 @@ function createBundlerContextPlugin() {
|
|
|
99
49
|
rel = rel.slice('packages/core/src/'.length);
|
|
100
50
|
return './' + rel;
|
|
101
51
|
}
|
|
102
|
-
const allFiles =
|
|
52
|
+
const allFiles = walkAppFiles(appRoot).filter((f) => !shouldExcludePlatformFile(f, platform));
|
|
103
53
|
const xmlFiles = allFiles.filter((f) => f.endsWith('.xml'));
|
|
104
54
|
const styleFiles = allFiles.filter((f) => /\.(css|scss|less|sass)$/.test(f));
|
|
105
55
|
// Import only code-behind files paired with XML (mirrors webpack's contextual resolution)
|
|
@@ -114,9 +64,9 @@ function createBundlerContextPlugin() {
|
|
|
114
64
|
codeFiles.push(jsCandidate);
|
|
115
65
|
}
|
|
116
66
|
// Do not include additional modules beyond XML-paired code-behind to avoid early side effects.
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
67
|
+
const importLines = [];
|
|
68
|
+
const registryEntries = [];
|
|
69
|
+
const moduleMapLines = [];
|
|
120
70
|
let index = 0;
|
|
121
71
|
function pushImport(abs, raw) {
|
|
122
72
|
const idLocal = `__m${index++}`;
|
|
@@ -131,47 +81,16 @@ function createBundlerContextPlugin() {
|
|
|
131
81
|
// Sort code files as well for determinism (some tests rely on early registration of core pages/components)
|
|
132
82
|
codeFiles.sort((a, b) => a.localeCompare(b)).forEach((f) => pushImport(f, false));
|
|
133
83
|
// We no longer manually register nickname modules here; core's registerBundlerModules already adds nicknames.
|
|
134
|
-
const code = `// Generated virtual bundler context (platform=${platform || 'unknown'})\n${importLines.join('\n')}\n(function(){\n const registry = new Map();\n const all = {};\n ${moduleMapLines.join('\n ')}\n ${registryEntries.join('\n ')}\n function context(key){\n const real = registry.get(key);\n if(!real) throw new Error('[ns-vite] Module not found in context: '+key);\n return all[real];\n }\n context.keys = function(){ return Array.from(registry.keys()); };\n // Register modules now with extension map so .ts/.scss nicknames resolve like webpack\n try { if (global.registerBundlerModules) { global.registerBundlerModules(context, { '.ts': '.js', '.scss': '.css', '.sass': '.css', '.less': '.css' }); } } catch(e) {
|
|
84
|
+
const code = `// Generated virtual bundler context (platform=${platform || 'unknown'})\n${importLines.join('\n')}\n(function(){\n const registry = new Map();\n const all = {};\n ${moduleMapLines.join('\n ')}\n ${registryEntries.join('\n ')}\n function context(key){\n const real = registry.get(key);\n if(!real) throw new Error('[ns-vite] Module not found in context: '+key);\n return all[real];\n }\n context.keys = function(){ return Array.from(registry.keys()); };\n // Register modules now with extension map so .ts/.scss nicknames resolve like webpack\n try { if (global.registerBundlerModules) { global.registerBundlerModules(context, { '.ts': '.js', '.scss': '.css', '.sass': '.css', '.less': '.css' }); } } catch(e) { console.warn('[ns-vite] registerBundlerModules error', e); }\n // Safety: ensure main-page nickname exists if XML present\n try {\n const hasMainPageXml = context.keys().some(k => /(^\\.\\/?main-page\\.xml$|\\/main-page\\.xml$)/.test(k));\n if (hasMainPageXml && global.moduleExists && !global.moduleExists('main-page') && global.registerBundlerModules) {\n global.registerBundlerModules(context, { '.ts': '.js', '.scss': '.css', '.sass': '.css', '.less': '.css' });\n }\n } catch(_) {}\n})();`;
|
|
135
85
|
return { code, map: null };
|
|
136
86
|
},
|
|
137
|
-
transform(code, id) {
|
|
138
|
-
// Ensure style system is initialized before any UI component modules register CSS properties
|
|
139
|
-
// and ensure the bundler context is imported early in the virtual entry (parity with JS config)
|
|
140
|
-
if (id.endsWith('virtual:entry-with-polyfills')) {
|
|
141
|
-
const marker = "import '@nativescript/core/bundle-entry-points';";
|
|
142
|
-
if (code.includes(marker)) {
|
|
143
|
-
const injected = `${marker}\nimport '@nativescript/core/ui/styling/style';\nimport '@nativescript/core/ui/styling/style-properties';\nimport * as __nsCoreUi from '@nativescript/core/ui';\nimport 'virtual:ns-bundler-context';\n(function(){\n try {\n const __ui = __nsCoreUi;\n if (global.registerModule) {\n const existsFn = global.moduleExists ? (n) => global.moduleExists(n) : () => false;\n if (!existsFn('@nativescript/core/ui')) {\n try { global.registerModule('@nativescript/core/ui', () => __ui); } catch(_) {}\n }\n Object.keys(__ui || {}).forEach(k => {\n if (k && k[0] === k[0].toUpperCase() && !existsFn(k)) {\n try { global.registerModule(k, () => ({ [k]: __ui[k] })); } catch(_) {}\n }\n });\n }\n if (__ui && __ui.View) {\n const View = __ui.View;\n const props = ['order','flexGrow','flexShrink','flexWrapBefore','alignSelf'];\n for (const p of props) {\n const d = Object.getOwnPropertyDescriptor(View.prototype, p);\n if (d && typeof d.set === 'function') {\n const origSet = d.set;\n Object.defineProperty(View.prototype, p, {\n configurable: true,\n enumerable: d.enumerable,\n get: d.get,\n set(value){\n if (value === undefined || value === null) return;\n if (!this || !this._style) {\n try { if (this && !this._style) this._style = this.style; } catch(_) {}\n if (!this || !this._style) return;\n }\n return origSet.call(this, value);\n }\n });\n }\n }\n // Force layout invalidation for alignment/visibility/size property changes \n const forceProps = ['horizontalAlignment','verticalAlignment','visibility','height','width'];\n for (const p of forceProps) {\n const d = Object.getOwnPropertyDescriptor(View.prototype, p);\n if (d && typeof d.set === 'function') {\n const orig = d.set;\n Object.defineProperty(View.prototype, p, {\n configurable: true,\n enumerable: d.enumerable,\n get: d.get,\n set(value){\n const prev = this[p];\n try { orig.call(this, value); } finally {\n if (prev !== value) { try { this && this.requestLayout && this.requestLayout(); } catch(_) {} }\n }\n }\n });\n }\n }\n }\n } catch(_) {}\n})();\n`;
|
|
144
|
-
return { code: code.replace(marker, injected), map: null };
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
return null;
|
|
148
|
-
},
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
function createXmlLoaderPlugin() {
|
|
152
|
-
return {
|
|
153
|
-
name: 'ns-xml-loader-ts',
|
|
154
|
-
enforce: 'pre',
|
|
155
|
-
load(id) {
|
|
156
|
-
if (!id.endsWith('.xml'))
|
|
157
|
-
return null;
|
|
158
|
-
try {
|
|
159
|
-
const src = readFileSync(id, 'utf-8');
|
|
160
|
-
const xml = JSON.stringify(src)
|
|
161
|
-
.replace(/\u2028/g, '\\u2028')
|
|
162
|
-
.replace(/\u2029/g, '\\u2029');
|
|
163
|
-
const code = `const ___XML___ = ${xml};\nexport default ___XML___;`;
|
|
164
|
-
return { code, map: null };
|
|
165
|
-
}
|
|
166
|
-
catch {
|
|
167
|
-
return null;
|
|
168
|
-
}
|
|
169
|
-
},
|
|
170
87
|
};
|
|
171
88
|
}
|
|
172
89
|
export const typescriptConfig = ({ mode }, options = {}) => {
|
|
90
|
+
// Note: the virtual:ns-ui-registration plugin is registered by baseConfig
|
|
91
|
+
// from the declared flavor, paired with the entry import emission.
|
|
173
92
|
return mergeConfig(baseConfig({ mode, flavor: 'typescript' }), {
|
|
174
|
-
plugins: [...getTypeCheckPlugins('typescript', options.typeCheck), createXmlLoaderPlugin(), createBundlerContextPlugin()],
|
|
93
|
+
plugins: [...getTypeCheckPlugins('typescript', options.typeCheck), createXmlLoaderPlugin('ns-xml-loader-ts'), createBundlerContextPlugin()],
|
|
175
94
|
});
|
|
176
95
|
};
|
|
177
96
|
//# sourceMappingURL=typescript.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../../packages/vite/configuration/typescript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgC,MAAM,MAAM,CAAC;AACjE,OAAO,
|
|
1
|
+
{"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../../packages/vite/configuration/typescript.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Plugin } from 'vite';
|
|
2
|
+
import type { Platform } from './platform-types.js';
|
|
2
3
|
export interface AppComponentsOptions {
|
|
3
4
|
/**
|
|
4
5
|
* List of app component paths (relative to project root).
|
|
@@ -6,7 +7,7 @@ export interface AppComponentsOptions {
|
|
|
6
7
|
* Example: ['./app/custom-activity.android.ts', './app/custom-application.android.ts']
|
|
7
8
|
*/
|
|
8
9
|
appComponents?: string[];
|
|
9
|
-
platform:
|
|
10
|
+
platform: Platform;
|
|
10
11
|
verbose?: boolean;
|
|
11
12
|
}
|
|
12
13
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-components.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/app-components.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"app-components.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/app-components.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ViteDevServer } from 'vite';
|
|
2
|
+
/** Tracks the project's `app.css` entry and the files it imports, for HMR invalidation. */
|
|
3
|
+
export interface AppCssState {
|
|
4
|
+
path: string;
|
|
5
|
+
deps: Set<string>;
|
|
6
|
+
}
|
|
7
|
+
export declare function setAppCssState(server: ViteDevServer, state: AppCssState): void;
|
|
8
|
+
export declare function getAppCssState(server: ViteDevServer): AppCssState | undefined;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const appCssStateByServer = new WeakMap();
|
|
2
|
+
export function setAppCssState(server, state) {
|
|
3
|
+
appCssStateByServer.set(server, state);
|
|
4
|
+
}
|
|
5
|
+
export function getAppCssState(server) {
|
|
6
|
+
return appCssStateByServer.get(server);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=app-css-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-css-state.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/app-css-state.ts"],"names":[],"mappings":"AAQA,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAA8B,CAAC;AAEtE,MAAM,UAAU,cAAc,CAAC,MAAqB,EAAE,KAAkB;IACvE,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAqB;IACnD,OAAO,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Plugin } from 'vite';
|
|
2
|
+
import type { Platform } from './platform-types.js';
|
|
3
|
+
export type BundlerPlatform = Platform | undefined;
|
|
4
|
+
/** Recursively collect every file under `dir` (posix paths), tolerating unreadable entries. */
|
|
5
|
+
export declare function walkAppFiles(dir: string, out?: string[]): string[];
|
|
6
|
+
/** Skip partials (`_`-prefixed), `.d.ts`, worker modules, and platform-mismatched files. */
|
|
7
|
+
export declare function shouldExcludePlatformFile(p: string, platform: BundlerPlatform): boolean;
|
|
8
|
+
/** Absolute app path → root-anchored import specifier the dev server can serve. */
|
|
9
|
+
export declare function toContextImportSpecifier(abs: string): string;
|
|
10
|
+
/** Loads `.xml` files as default-exported strings (shared by the JS and TS configs). */
|
|
11
|
+
export declare function createXmlLoaderPlugin(name: string): Plugin;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { readFileSync, readdirSync, statSync } from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
/** Recursively collect every file under `dir` (posix paths), tolerating unreadable entries. */
|
|
4
|
+
export function walkAppFiles(dir, out = []) {
|
|
5
|
+
let entries = [];
|
|
6
|
+
try {
|
|
7
|
+
entries = readdirSync(dir);
|
|
8
|
+
}
|
|
9
|
+
catch {
|
|
10
|
+
return out;
|
|
11
|
+
}
|
|
12
|
+
for (const entry of entries) {
|
|
13
|
+
const full = path.posix.join(dir, entry);
|
|
14
|
+
let st;
|
|
15
|
+
try {
|
|
16
|
+
st = statSync(full);
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
if (st.isDirectory())
|
|
22
|
+
walkAppFiles(full, out);
|
|
23
|
+
else
|
|
24
|
+
out.push(full);
|
|
25
|
+
}
|
|
26
|
+
return out;
|
|
27
|
+
}
|
|
28
|
+
/** Skip partials (`_`-prefixed), `.d.ts`, worker modules, and platform-mismatched files. */
|
|
29
|
+
export function shouldExcludePlatformFile(p, platform) {
|
|
30
|
+
const file = p.split('/').pop() || '';
|
|
31
|
+
if (file.startsWith('_'))
|
|
32
|
+
return true;
|
|
33
|
+
if (/\.d\.ts$/.test(p))
|
|
34
|
+
return true;
|
|
35
|
+
if (/([.-]worker)\.(ts|js)$/.test(file))
|
|
36
|
+
return true;
|
|
37
|
+
const isAndroidTagged = /\.android\./.test(p);
|
|
38
|
+
const isIosTagged = /\.ios\./.test(p) || /\.visionos\./.test(p);
|
|
39
|
+
if (platform === 'android' && isIosTagged)
|
|
40
|
+
return true;
|
|
41
|
+
if ((platform === 'ios' || platform === 'visionos') && isAndroidTagged)
|
|
42
|
+
return true;
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
/** Absolute app path → root-anchored import specifier the dev server can serve. */
|
|
46
|
+
export function toContextImportSpecifier(abs) {
|
|
47
|
+
return '/' + abs.replace(/^\/+/, '');
|
|
48
|
+
}
|
|
49
|
+
/** Loads `.xml` files as default-exported strings (shared by the JS and TS configs). */
|
|
50
|
+
export function createXmlLoaderPlugin(name) {
|
|
51
|
+
return {
|
|
52
|
+
name,
|
|
53
|
+
enforce: 'pre',
|
|
54
|
+
load(id) {
|
|
55
|
+
if (!id.endsWith('.xml'))
|
|
56
|
+
return null;
|
|
57
|
+
try {
|
|
58
|
+
const src = readFileSync(id, 'utf-8');
|
|
59
|
+
const xml = JSON.stringify(src)
|
|
60
|
+
.replace(/\u2028/g, '\\u2028')
|
|
61
|
+
.replace(/\u2029/g, '\\u2029');
|
|
62
|
+
const code = `const ___XML___ = ${xml};\nexport default ___XML___;`;
|
|
63
|
+
return { code, map: null };
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=bundler-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundler-context.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/bundler-context.ts"],"names":[],"mappings":"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"}
|
package/helpers/cli-flags.d.ts
CHANGED
|
@@ -1 +1,13 @@
|
|
|
1
|
+
import type { Platform } from './platform-types.js';
|
|
1
2
|
export declare function getCliFlags(): Record<string, string | boolean>;
|
|
3
|
+
/**
|
|
4
|
+
* Resolve the active build platform.
|
|
5
|
+
*
|
|
6
|
+
* Prefers `NATIVESCRIPT_BUNDLER_ENV` (which the CLI reliably injects into the
|
|
7
|
+
* dev-server process) over argv `--` flags: the post-`--` env flags parsed by
|
|
8
|
+
* `getCliFlags()` aren't always present when the Vite `serve` process resolves
|
|
9
|
+
* them, which previously left visionOS resolving as non-visionOS.
|
|
10
|
+
*
|
|
11
|
+
* @param flags optional pre-fetched flags object; defaults to `getCliFlags()`.
|
|
12
|
+
*/
|
|
13
|
+
export declare function resolvePlatform(flags?: Record<string, unknown>): Platform | undefined;
|
package/helpers/cli-flags.js
CHANGED
|
@@ -12,4 +12,38 @@ export function getCliFlags() {
|
|
|
12
12
|
}
|
|
13
13
|
return cliFlags;
|
|
14
14
|
}
|
|
15
|
+
// Canonical platform priority, used everywhere a build platform is derived
|
|
16
|
+
// from a flags-like object. visionOS is checked BEFORE iOS on purpose:
|
|
17
|
+
// visionOS is an Apple subset and a single run can carry BOTH the `ios` and
|
|
18
|
+
// `visionos` flags, so iOS must lose the tie or visionOS builds mis-resolve
|
|
19
|
+
// as iOS (which surfaced as `__VISIONOS__ === false` in served core modules).
|
|
20
|
+
function pickPlatform(src) {
|
|
21
|
+
if (!src)
|
|
22
|
+
return undefined;
|
|
23
|
+
if (src.android)
|
|
24
|
+
return 'android';
|
|
25
|
+
if (src.visionos)
|
|
26
|
+
return 'visionos';
|
|
27
|
+
if (src.ios)
|
|
28
|
+
return 'ios';
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Resolve the active build platform.
|
|
33
|
+
*
|
|
34
|
+
* Prefers `NATIVESCRIPT_BUNDLER_ENV` (which the CLI reliably injects into the
|
|
35
|
+
* dev-server process) over argv `--` flags: the post-`--` env flags parsed by
|
|
36
|
+
* `getCliFlags()` aren't always present when the Vite `serve` process resolves
|
|
37
|
+
* them, which previously left visionOS resolving as non-visionOS.
|
|
38
|
+
*
|
|
39
|
+
* @param flags optional pre-fetched flags object; defaults to `getCliFlags()`.
|
|
40
|
+
*/
|
|
41
|
+
export function resolvePlatform(flags = getCliFlags()) {
|
|
42
|
+
let envData = null;
|
|
43
|
+
try {
|
|
44
|
+
envData = JSON.parse(process.env.NATIVESCRIPT_BUNDLER_ENV || '{}');
|
|
45
|
+
}
|
|
46
|
+
catch { }
|
|
47
|
+
return pickPlatform(envData) ?? pickPlatform(flags);
|
|
48
|
+
}
|
|
15
49
|
//# sourceMappingURL=cli-flags.js.map
|
package/helpers/cli-flags.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-flags.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/cli-flags.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-flags.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/cli-flags.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAGhC,IAAI,QAAQ,GAA4C,IAAI,CAAC;AAE7D,MAAM,UAAU,WAAW;IAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,QAAQ,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACrD,oBAAoB;YACpB,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxD,OAAO,GAAG,CAAC;QACZ,CAAC,EAAE,EAAE,CAAC,CAAC;IACR,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,2EAA2E;AAC3E,uEAAuE;AACvE,4EAA4E;AAC5E,4EAA4E;AAC5E,8EAA8E;AAC9E,SAAS,YAAY,CAAC,GAA+C;IACpE,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,IAAI,GAAG,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAClC,IAAI,GAAG,CAAC,QAAQ;QAAE,OAAO,UAAU,CAAC;IACpC,IAAI,GAAG,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IAC1B,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,QAAiC,WAAW,EAAE;IAC7E,IAAI,OAAO,GAAmC,IAAI,CAAC;IACnD,IAAI,CAAC;QACJ,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,IAAI,CAAC,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -7,4 +7,18 @@ import type { Plugin } from 'vite';
|
|
|
7
7
|
* Also rewrites relative @import specifiers inside CSS files to platform variants
|
|
8
8
|
* when the generic file does not exist but a platform suffixed version does.
|
|
9
9
|
*/
|
|
10
|
+
/**
|
|
11
|
+
* Rewrites relative `@import "foo.css"` specifiers to their platform-suffixed
|
|
12
|
+
* variants (`foo.android.css` / `foo.ios.css`) when the generic file does not
|
|
13
|
+
* exist on disk but the platform one does. Returns the rewritten code, or
|
|
14
|
+
* `null` when nothing changed.
|
|
15
|
+
*
|
|
16
|
+
* Exported so code paths that feed raw CSS straight into Vite's
|
|
17
|
+
* `preprocessCSS()` (e.g. the `virtual:ns-app-css` module in `main-entry.ts`)
|
|
18
|
+
* can apply the same rewrite — those paths bypass the plugin transform chain,
|
|
19
|
+
* and Vite's internal postcss-import resolver never consults plugin
|
|
20
|
+
* `resolveId` hooks, so without this pre-rewrite they fail with
|
|
21
|
+
* "Unable to resolve @import".
|
|
22
|
+
*/
|
|
23
|
+
export declare function rewritePlatformCssImports(code: string, dir: string, platform: string): string | null;
|
|
10
24
|
export declare function createPlatformCssPlugin(platform: string): Plugin;
|
|
@@ -8,38 +8,56 @@ import { existsSync, readFileSync } from 'fs';
|
|
|
8
8
|
* Also rewrites relative @import specifiers inside CSS files to platform variants
|
|
9
9
|
* when the generic file does not exist but a platform suffixed version does.
|
|
10
10
|
*/
|
|
11
|
+
/**
|
|
12
|
+
* Rewrites relative `@import "foo.css"` specifiers to their platform-suffixed
|
|
13
|
+
* variants (`foo.android.css` / `foo.ios.css`) when the generic file does not
|
|
14
|
+
* exist on disk but the platform one does. Returns the rewritten code, or
|
|
15
|
+
* `null` when nothing changed.
|
|
16
|
+
*
|
|
17
|
+
* Exported so code paths that feed raw CSS straight into Vite's
|
|
18
|
+
* `preprocessCSS()` (e.g. the `virtual:ns-app-css` module in `main-entry.ts`)
|
|
19
|
+
* can apply the same rewrite — those paths bypass the plugin transform chain,
|
|
20
|
+
* and Vite's internal postcss-import resolver never consults plugin
|
|
21
|
+
* `resolveId` hooks, so without this pre-rewrite they fail with
|
|
22
|
+
* "Unable to resolve @import".
|
|
23
|
+
*/
|
|
24
|
+
export function rewritePlatformCssImports(code, dir, platform) {
|
|
25
|
+
if (!code.includes('@import'))
|
|
26
|
+
return null;
|
|
27
|
+
const platformExt = platform === 'android' ? '.android.css' : '.ios.css';
|
|
28
|
+
let changed = false;
|
|
29
|
+
// Support @import "foo.css"; @import 'foo.css'; @import url("foo.css"); preserving rest
|
|
30
|
+
const importRegex = /@import\s+(?:url\()?['"]([^'"()]+\.css)['"]\)?/g;
|
|
31
|
+
const newCode = code.replace(importRegex, (full, spec) => {
|
|
32
|
+
if (/^(https?:|data:)/.test(spec) || spec.includes('nativescript-theme-core') || spec.endsWith(platformExt))
|
|
33
|
+
return full;
|
|
34
|
+
if (!(spec.startsWith('.') || spec.startsWith('/')))
|
|
35
|
+
return full;
|
|
36
|
+
const abs = path.isAbsolute(spec) ? spec : path.resolve(dir, spec);
|
|
37
|
+
if (existsSync(abs))
|
|
38
|
+
return full;
|
|
39
|
+
const alt = abs.replace(/\.css$/, platformExt);
|
|
40
|
+
if (existsSync(alt)) {
|
|
41
|
+
let rel = path.relative(dir, alt).replace(/\\/g, '/');
|
|
42
|
+
if (!rel.startsWith('.'))
|
|
43
|
+
rel = './' + rel;
|
|
44
|
+
changed = true;
|
|
45
|
+
return full.replace(spec, rel);
|
|
46
|
+
}
|
|
47
|
+
return full;
|
|
48
|
+
});
|
|
49
|
+
return changed ? newCode : null;
|
|
50
|
+
}
|
|
11
51
|
export function createPlatformCssPlugin(platform) {
|
|
12
52
|
return {
|
|
13
53
|
name: 'ns-css-platform',
|
|
14
54
|
enforce: 'pre',
|
|
15
55
|
transform(code, id) {
|
|
16
56
|
const baseId = id.split('?')[0];
|
|
17
|
-
if (!baseId.endsWith('.css')
|
|
57
|
+
if (!baseId.endsWith('.css'))
|
|
18
58
|
return null;
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
let changed = false;
|
|
22
|
-
// Support @import "foo.css"; @import 'foo.css'; @import url("foo.css"); preserving rest
|
|
23
|
-
const importRegex = /@import\s+(?:url\()?['"]([^'"()]+\.css)['"]\)?/g;
|
|
24
|
-
const newCode = code.replace(importRegex, (full, spec) => {
|
|
25
|
-
if (/^(https?:|data:)/.test(spec) || spec.includes('nativescript-theme-core') || spec.endsWith(platformExt))
|
|
26
|
-
return full;
|
|
27
|
-
if (!(spec.startsWith('.') || spec.startsWith('/')))
|
|
28
|
-
return full;
|
|
29
|
-
const abs = path.isAbsolute(spec) ? spec : path.resolve(dir, spec);
|
|
30
|
-
if (existsSync(abs))
|
|
31
|
-
return full;
|
|
32
|
-
const alt = abs.replace(/\.css$/, platformExt);
|
|
33
|
-
if (existsSync(alt)) {
|
|
34
|
-
let rel = path.relative(dir, alt).replace(/\\/g, '/');
|
|
35
|
-
if (!rel.startsWith('.'))
|
|
36
|
-
rel = './' + rel;
|
|
37
|
-
changed = true;
|
|
38
|
-
return full.replace(spec, rel);
|
|
39
|
-
}
|
|
40
|
-
return full;
|
|
41
|
-
});
|
|
42
|
-
return changed ? { code: newCode, map: null } : null;
|
|
59
|
+
const newCode = rewritePlatformCssImports(code, path.dirname(baseId), platform);
|
|
60
|
+
return newCode ? { code: newCode, map: null } : null;
|
|
43
61
|
},
|
|
44
62
|
resolveId(id, importer) {
|
|
45
63
|
if (!id || !importer)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css-platform-plugin.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/css-platform-plugin.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"css-platform-plugin.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/css-platform-plugin.ts"],"names":[],"mappings":"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"}
|