@nativescript/vite 8.0.0-alpha.9 → 8.0.0-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +89 -14
- package/bin/cli.cjs +8 -14
- package/configuration/angular.d.ts +34 -1
- package/configuration/angular.js +196 -217
- package/configuration/angular.js.map +1 -1
- package/configuration/base.js +152 -104
- 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 +11 -92
- package/configuration/typescript.js.map +1 -1
- package/framework.d.ts +22 -0
- package/framework.js +18 -0
- package/framework.js.map +1 -0
- package/helpers/app-components.d.ts +2 -1
- package/helpers/app-components.js.map +1 -1
- package/helpers/app-css-refresh.d.ts +31 -0
- package/helpers/app-css-refresh.js +43 -0
- package/helpers/app-css-refresh.js.map +1 -0
- package/helpers/app-css-state.d.ts +17 -0
- package/helpers/app-css-state.js +51 -0
- package/helpers/app-css-state.js.map +1 -0
- package/helpers/bundler-context.d.ts +11 -0
- package/helpers/bundler-context.js +71 -0
- package/helpers/bundler-context.js.map +1 -0
- package/helpers/cli-flags.d.ts +12 -0
- package/helpers/cli-flags.js +34 -0
- package/helpers/cli-flags.js.map +1 -1
- package/helpers/css-platform-plugin.d.ts +14 -0
- package/helpers/css-platform-plugin.js +43 -25
- package/helpers/css-platform-plugin.js.map +1 -1
- package/helpers/dev-host.d.ts +360 -0
- package/helpers/dev-host.js +694 -0
- package/helpers/dev-host.js.map +1 -0
- package/helpers/dynamic-import-plugin.d.ts +2 -1
- package/helpers/dynamic-import-plugin.js +59 -53
- package/helpers/dynamic-import-plugin.js.map +1 -1
- package/helpers/esbuild-platform-resolver.js +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/flavor.d.ts +31 -0
- package/helpers/flavor.js +53 -2
- package/helpers/flavor.js.map +1 -1
- package/helpers/global-defines.d.ts +100 -33
- package/helpers/global-defines.js +192 -66
- 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 +24 -26
- package/helpers/init.js.map +1 -1
- package/helpers/logging.d.ts +11 -1
- package/helpers/logging.js +45 -2
- package/helpers/logging.js.map +1 -1
- package/helpers/main-entry.d.ts +4 -1
- package/helpers/main-entry.js +293 -40
- package/helpers/main-entry.js.map +1 -1
- package/helpers/nativeclass-esbuild-plugin.d.ts +2 -1
- package/helpers/nativeclass-esbuild-plugin.js +6 -1
- package/helpers/nativeclass-esbuild-plugin.js.map +1 -1
- package/helpers/nativeclass-transform.d.ts +13 -0
- package/helpers/nativeclass-transform.js +37 -7
- package/helpers/nativeclass-transform.js.map +1 -1
- package/helpers/nativeclass-transformer-plugin.js +8 -3
- package/helpers/nativeclass-transformer-plugin.js.map +1 -1
- package/helpers/nativescript-package-resolver.js +10 -62
- package/helpers/nativescript-package-resolver.js.map +1 -1
- package/helpers/normalize-id.d.ts +42 -0
- package/helpers/normalize-id.js +60 -0
- package/helpers/normalize-id.js.map +1 -0
- package/helpers/ns-core-external-urls.d.ts +32 -0
- package/helpers/ns-core-external-urls.js +107 -0
- package/helpers/ns-core-external-urls.js.map +1 -0
- package/helpers/ns-core-url.d.ts +26 -3
- package/helpers/ns-core-url.js +66 -8
- 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/resolve-main-field-platform.d.ts +20 -0
- package/helpers/resolve-main-field-platform.js +49 -0
- package/helpers/resolve-main-field-platform.js.map +1 -0
- package/helpers/resolver.js +17 -2
- package/helpers/resolver.js.map +1 -1
- package/helpers/theme-core-plugins.js +1 -1
- package/helpers/theme-core-plugins.js.map +1 -1
- package/helpers/ts-config-paths.d.ts +32 -0
- package/helpers/ts-config-paths.js +143 -62
- package/helpers/ts-config-paths.js.map +1 -1
- package/helpers/typescript-check.d.ts +3 -3
- package/helpers/typescript-check.js +4 -4
- package/helpers/typescript-check.js.map +1 -1
- package/helpers/ui-registration.d.ts +21 -0
- package/helpers/ui-registration.js +156 -0
- package/helpers/ui-registration.js.map +1 -0
- package/helpers/utils.d.ts +9 -0
- package/helpers/utils.js +22 -2
- package/helpers/utils.js.map +1 -1
- package/helpers/vite-package-version.d.ts +7 -0
- package/helpers/vite-package-version.js +44 -0
- package/helpers/vite-package-version.js.map +1 -0
- package/helpers/workers.d.ts +33 -0
- package/helpers/workers.js +237 -10
- package/helpers/workers.js.map +1 -1
- package/hmr/client/css-handler.d.ts +2 -1
- package/hmr/client/css-handler.js +63 -32
- package/hmr/client/css-handler.js.map +1 -1
- package/hmr/client/css-update-overlay.d.ts +18 -0
- package/hmr/client/css-update-overlay.js +27 -0
- package/hmr/client/css-update-overlay.js.map +1 -0
- package/hmr/client/framework-client-strategy.d.ts +117 -0
- package/hmr/client/framework-client-strategy.js +18 -0
- package/hmr/client/framework-client-strategy.js.map +1 -0
- package/hmr/client/framework.d.ts +31 -0
- package/hmr/client/framework.js +17 -0
- package/hmr/client/framework.js.map +1 -0
- package/hmr/client/hmr-pending-overlay.d.ts +0 -14
- package/hmr/client/hmr-pending-overlay.js +2 -11
- package/hmr/client/hmr-pending-overlay.js.map +1 -1
- package/hmr/client/hot-context.d.ts +89 -0
- package/hmr/client/hot-context.js +404 -0
- package/hmr/client/hot-context.js.map +1 -0
- package/hmr/client/index.d.ts +9 -1
- package/hmr/client/index.js +70 -1970
- package/hmr/client/index.js.map +1 -1
- package/hmr/client/overlay-driver.d.ts +10 -0
- package/hmr/client/overlay-driver.js +33 -0
- package/hmr/client/overlay-driver.js.map +1 -0
- package/hmr/client/protocol-dispatch.d.ts +8 -0
- package/hmr/client/protocol-dispatch.js +308 -0
- package/hmr/client/protocol-dispatch.js.map +1 -0
- package/hmr/client/root-reset.d.ts +15 -0
- package/hmr/client/root-reset.js +358 -0
- package/hmr/client/root-reset.js.map +1 -0
- package/hmr/client/strategy-loader.d.ts +24 -0
- package/hmr/client/strategy-loader.js +136 -0
- package/hmr/client/strategy-loader.js.map +1 -0
- package/hmr/client/update-pipeline.d.ts +27 -0
- package/hmr/client/update-pipeline.js +489 -0
- package/hmr/client/update-pipeline.js.map +1 -0
- package/hmr/client/utils.d.ts +9 -1
- package/hmr/client/utils.js +117 -97
- package/hmr/client/utils.js.map +1 -1
- package/hmr/client/ws-transport.d.ts +21 -0
- package/hmr/client/ws-transport.js +323 -0
- package/hmr/client/ws-transport.js.map +1 -0
- package/hmr/entry-runtime.d.ts +2 -1
- package/hmr/entry-runtime.js +279 -44
- package/hmr/entry-runtime.js.map +1 -1
- package/hmr/framework-flavors.d.ts +59 -0
- package/hmr/framework-flavors.js +108 -0
- package/hmr/framework-flavors.js.map +1 -0
- package/hmr/frameworks/angular/build/angular-linker.d.ts +12 -0
- package/hmr/frameworks/angular/build/angular-linker.js +113 -0
- package/hmr/frameworks/angular/build/angular-linker.js.map +1 -0
- package/{helpers/angular → hmr/frameworks/angular/build}/inject-component-hmr-registration.js +2 -70
- 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/linker-stats.d.ts +18 -0
- package/hmr/frameworks/angular/build/linker-stats.js +29 -0
- package/hmr/frameworks/angular/build/linker-stats.js.map +1 -0
- package/hmr/frameworks/angular/build/shared-linker.d.ts +39 -0
- package/hmr/frameworks/angular/build/shared-linker.js +128 -0
- package/hmr/frameworks/angular/build/shared-linker.js.map +1 -0
- package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.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/hmr/frameworks/angular/build/ts-fallback-transform.d.ts +5 -0
- package/hmr/frameworks/angular/build/ts-fallback-transform.js +138 -0
- package/hmr/frameworks/angular/build/ts-fallback-transform.js.map +1 -0
- package/hmr/frameworks/angular/build/util.js.map +1 -0
- package/hmr/frameworks/angular/build/worker-url-preserve.d.ts +5 -0
- package/hmr/frameworks/angular/build/worker-url-preserve.js +140 -0
- package/hmr/frameworks/angular/build/worker-url-preserve.js.map +1 -0
- package/hmr/frameworks/angular/client/index.d.ts +0 -1
- package/hmr/frameworks/angular/client/index.js +360 -194
- 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/ng-component-route.d.ts +43 -0
- package/hmr/frameworks/angular/server/ng-component-route.js +113 -0
- package/hmr/frameworks/angular/server/ng-component-route.js.map +1 -0
- package/hmr/frameworks/angular/server/strategy.js +668 -13
- 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 +27 -11
- package/hmr/{server → frameworks/angular/server}/websocket-angular-hot-update.js +179 -107
- package/hmr/frameworks/angular/server/websocket-angular-hot-update.js.map +1 -0
- package/hmr/frameworks/react/client/strategy.d.ts +12 -0
- package/hmr/frameworks/react/client/strategy.js +27 -0
- package/hmr/frameworks/react/client/strategy.js.map +1 -0
- package/hmr/frameworks/react/server/strategy.d.ts +2 -0
- package/hmr/frameworks/react/server/strategy.js +230 -0
- package/hmr/frameworks/react/server/strategy.js.map +1 -0
- package/hmr/frameworks/solid/build/solid-jsx-deps.d.ts +15 -0
- package/hmr/frameworks/solid/build/solid-jsx-deps.js +178 -0
- package/hmr/frameworks/solid/build/solid-jsx-deps.js.map +1 -0
- package/hmr/frameworks/solid/client/app-runtime.d.ts +68 -0
- package/hmr/frameworks/solid/client/app-runtime.js +252 -0
- package/hmr/frameworks/solid/client/app-runtime.js.map +1 -0
- package/hmr/frameworks/solid/client/strategy.d.ts +7 -0
- package/hmr/frameworks/solid/client/strategy.js +391 -0
- package/hmr/frameworks/solid/client/strategy.js.map +1 -0
- package/hmr/frameworks/solid/server/strategy.js +293 -16
- package/hmr/frameworks/solid/server/strategy.js.map +1 -1
- package/hmr/frameworks/typescript/client/strategy.d.ts +7 -0
- package/hmr/frameworks/typescript/client/strategy.js +418 -0
- package/hmr/frameworks/typescript/client/strategy.js.map +1 -0
- package/hmr/frameworks/typescript/server/strategy.js +40 -14
- package/hmr/frameworks/typescript/server/strategy.js.map +1 -1
- package/hmr/frameworks/vue/client/dep-propagation.d.ts +44 -0
- package/hmr/frameworks/vue/client/dep-propagation.js +148 -0
- package/hmr/frameworks/vue/client/dep-propagation.js.map +1 -0
- package/hmr/frameworks/vue/client/index.d.ts +10 -1
- package/hmr/frameworks/vue/client/index.js +270 -521
- package/hmr/frameworks/vue/client/index.js.map +1 -1
- package/hmr/frameworks/vue/client/navigate-app.d.ts +3 -0
- package/hmr/frameworks/vue/client/navigate-app.js +178 -0
- package/hmr/frameworks/vue/client/navigate-app.js.map +1 -0
- package/hmr/frameworks/vue/client/strategy.d.ts +33 -0
- package/hmr/frameworks/vue/client/strategy.js +152 -0
- package/hmr/frameworks/vue/client/strategy.js.map +1 -0
- package/hmr/frameworks/vue/client/vue-sfc-update-overlay.d.ts +49 -0
- package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js +124 -0
- package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js.map +1 -0
- package/hmr/frameworks/vue/server/compiler.d.ts +3 -1
- package/hmr/frameworks/vue/server/compiler.js +3 -1
- package/hmr/frameworks/vue/server/compiler.js.map +1 -1
- package/hmr/frameworks/vue/server/sfc-route-assemble.d.ts +7 -0
- package/hmr/frameworks/vue/server/sfc-route-assemble.js +823 -0
- package/hmr/frameworks/vue/server/sfc-route-assemble.js.map +1 -0
- package/hmr/frameworks/vue/server/sfc-route-meta.d.ts +7 -0
- package/hmr/frameworks/vue/server/sfc-route-meta.js +80 -0
- package/hmr/frameworks/vue/server/sfc-route-meta.js.map +1 -0
- package/hmr/frameworks/vue/server/sfc-route-serve.d.ts +8 -0
- package/hmr/frameworks/vue/server/sfc-route-serve.js +462 -0
- package/hmr/frameworks/vue/server/sfc-route-serve.js.map +1 -0
- package/hmr/frameworks/vue/server/sfc-route-shared.d.ts +45 -0
- package/hmr/frameworks/vue/server/sfc-route-shared.js +105 -0
- package/hmr/frameworks/vue/server/sfc-route-shared.js.map +1 -0
- package/hmr/frameworks/vue/server/strategy.d.ts +35 -0
- package/hmr/frameworks/vue/server/strategy.js +291 -7
- package/hmr/frameworks/vue/server/strategy.js.map +1 -1
- package/hmr/frameworks/vue/server/websocket-sfc.d.ts +15 -0
- package/hmr/frameworks/vue/server/websocket-sfc.js +20 -0
- package/hmr/frameworks/vue/server/websocket-sfc.js.map +1 -0
- package/hmr/helpers/ast-normalizer.d.ts +3 -1
- package/hmr/helpers/ast-normalizer.js +109 -14
- package/hmr/helpers/ast-normalizer.js.map +1 -1
- package/hmr/helpers/package-exports.d.ts +16 -0
- package/hmr/helpers/package-exports.js +396 -0
- package/hmr/helpers/package-exports.js.map +1 -0
- package/hmr/helpers/vendor-rewrite.d.ts +1 -1
- package/hmr/helpers/vendor-rewrite.js +5 -3
- package/hmr/helpers/vendor-rewrite.js.map +1 -1
- package/hmr/server/boot-recording.d.ts +51 -0
- package/hmr/server/boot-recording.js +214 -0
- package/hmr/server/boot-recording.js.map +1 -0
- package/hmr/server/constants.js +7 -1
- package/hmr/server/constants.js.map +1 -1
- package/hmr/server/content-css-update.d.ts +54 -0
- package/hmr/server/content-css-update.js +78 -0
- package/hmr/server/content-css-update.js.map +1 -0
- package/hmr/server/core-bundle.d.ts +140 -0
- package/hmr/server/core-bundle.js +614 -0
- package/hmr/server/core-bundle.js.map +1 -0
- package/hmr/server/core-sanitize.d.ts +86 -7
- package/hmr/server/core-sanitize.js +155 -37
- package/hmr/server/core-sanitize.js.map +1 -1
- package/hmr/server/css-connect-sync.d.ts +28 -0
- package/hmr/server/css-connect-sync.js +59 -0
- package/hmr/server/css-connect-sync.js.map +1 -0
- package/hmr/server/css-device-module.d.ts +28 -0
- package/hmr/server/css-device-module.js +44 -0
- package/hmr/server/css-device-module.js.map +1 -0
- package/hmr/server/css-update-message.d.ts +23 -0
- package/hmr/server/css-update-message.js +41 -0
- package/hmr/server/css-update-message.js.map +1 -0
- package/hmr/server/deps-bundle.d.ts +233 -0
- package/hmr/server/deps-bundle.js +1022 -0
- package/hmr/server/deps-bundle.js.map +1 -0
- package/hmr/server/device-transform-helpers.d.ts +24 -0
- package/hmr/server/device-transform-helpers.js +408 -0
- package/hmr/server/device-transform-helpers.js.map +1 -0
- package/hmr/server/framework-strategy.d.ts +182 -11
- package/hmr/server/hmr-module-graph.d.ts +37 -0
- package/hmr/server/hmr-module-graph.js +215 -0
- package/hmr/server/hmr-module-graph.js.map +1 -0
- package/hmr/server/import-map.d.ts +57 -23
- package/hmr/server/import-map.js +142 -70
- 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/node-builtins-route.d.ts +12 -0
- package/hmr/server/node-builtins-route.js +86 -0
- package/hmr/server/node-builtins-route.js.map +1 -0
- package/hmr/server/ns-m-response-memo.d.ts +10 -0
- package/hmr/server/ns-m-response-memo.js +33 -0
- package/hmr/server/ns-m-response-memo.js.map +1 -0
- package/hmr/server/ns-rt-bridge.d.ts +51 -0
- package/hmr/server/ns-rt-bridge.js +131 -0
- package/hmr/server/ns-rt-bridge.js.map +1 -0
- package/hmr/server/ns-rt-route.d.ts +5 -0
- package/hmr/server/ns-rt-route.js +39 -0
- package/hmr/server/ns-rt-route.js.map +1 -0
- package/hmr/server/perf-instrumentation.d.ts +1 -1
- package/hmr/server/perf-instrumentation.js +3 -1
- package/hmr/server/perf-instrumentation.js.map +1 -1
- package/hmr/server/process-code-for-device.d.ts +54 -0
- package/hmr/server/process-code-for-device.js +832 -0
- package/hmr/server/process-code-for-device.js.map +1 -0
- package/hmr/server/require-guard.d.ts +1 -0
- package/hmr/server/require-guard.js +12 -0
- package/hmr/server/require-guard.js.map +1 -0
- package/hmr/server/rewrite-imports.d.ts +2 -0
- package/hmr/server/rewrite-imports.js +631 -0
- package/hmr/server/rewrite-imports.js.map +1 -0
- package/hmr/server/route-helpers.d.ts +7 -0
- package/hmr/server/route-helpers.js +13 -0
- package/hmr/server/route-helpers.js.map +1 -0
- package/hmr/server/runtime-graph-filter.js +8 -1
- package/hmr/server/runtime-graph-filter.js.map +1 -1
- package/hmr/server/server-origin.d.ts +2 -0
- package/hmr/server/server-origin.js +88 -0
- package/hmr/server/server-origin.js.map +1 -0
- package/hmr/server/shared-transform-request.js +1 -2
- package/hmr/server/shared-transform-request.js.map +1 -1
- package/hmr/server/socket-utils.d.ts +10 -0
- package/hmr/server/socket-utils.js +14 -0
- package/hmr/server/socket-utils.js.map +1 -0
- package/hmr/server/transform-cache-invalidation.d.ts +37 -0
- package/hmr/server/transform-cache-invalidation.js +156 -0
- package/hmr/server/transform-cache-invalidation.js.map +1 -0
- package/hmr/server/vendor-bare-module-shims.d.ts +4 -0
- package/hmr/server/vendor-bare-module-shims.js +80 -0
- package/hmr/server/vendor-bare-module-shims.js.map +1 -0
- package/hmr/server/vite-plugin.d.ts +1 -0
- package/hmr/server/vite-plugin.js +211 -53
- package/hmr/server/vite-plugin.js.map +1 -1
- package/hmr/server/websocket-core-bridge.d.ts +51 -4
- package/hmr/server/websocket-core-bridge.js +62 -49
- package/hmr/server/websocket-core-bridge.js.map +1 -1
- package/hmr/server/websocket-device-transform.d.ts +3 -0
- package/hmr/server/websocket-device-transform.js +7 -0
- package/hmr/server/websocket-device-transform.js.map +1 -0
- package/hmr/server/websocket-hmr-pending.d.ts +2 -16
- package/hmr/server/websocket-hmr-pending.js +0 -22
- package/hmr/server/websocket-hmr-pending.js.map +1 -1
- package/hmr/server/websocket-hot-update.d.ts +80 -0
- package/hmr/server/websocket-hot-update.js +299 -0
- package/hmr/server/websocket-hot-update.js.map +1 -0
- package/hmr/server/websocket-import-map-route.d.ts +15 -0
- package/hmr/server/websocket-import-map-route.js +51 -0
- package/hmr/server/websocket-import-map-route.js.map +1 -0
- package/hmr/server/websocket-module-bindings.d.ts +15 -0
- package/hmr/server/websocket-module-bindings.js +36 -3
- package/hmr/server/websocket-module-bindings.js.map +1 -1
- package/hmr/server/websocket-module-specifiers.d.ts +2 -5
- package/hmr/server/websocket-module-specifiers.js +42 -30
- package/hmr/server/websocket-module-specifiers.js.map +1 -1
- package/hmr/server/websocket-ns-core.d.ts +34 -0
- package/hmr/server/websocket-ns-core.js +414 -0
- package/hmr/server/websocket-ns-core.js.map +1 -0
- package/hmr/server/websocket-ns-entry.d.ts +21 -0
- package/hmr/server/websocket-ns-entry.js +163 -0
- package/hmr/server/websocket-ns-entry.js.map +1 -0
- package/hmr/server/websocket-ns-m-paths.d.ts +19 -3
- package/hmr/server/websocket-ns-m-paths.js +98 -75
- package/hmr/server/websocket-ns-m-paths.js.map +1 -1
- package/hmr/server/websocket-ns-m-request.d.ts +2 -1
- package/hmr/server/websocket-ns-m-request.js +3 -2
- package/hmr/server/websocket-ns-m-request.js.map +1 -1
- package/hmr/server/websocket-ns-m.d.ts +52 -0
- package/hmr/server/websocket-ns-m.js +592 -0
- package/hmr/server/websocket-ns-m.js.map +1 -0
- package/hmr/server/websocket-served-module-helpers.d.ts +65 -3
- package/hmr/server/websocket-served-module-helpers.js +457 -140
- package/hmr/server/websocket-served-module-helpers.js.map +1 -1
- package/hmr/server/websocket-txn.js +6 -9
- package/hmr/server/websocket-txn.js.map +1 -1
- package/hmr/server/websocket-vendor-unifier.d.ts +0 -1
- package/hmr/server/websocket-vendor-unifier.js +4 -9
- package/hmr/server/websocket-vendor-unifier.js.map +1 -1
- package/hmr/server/websocket.d.ts +6 -40
- package/hmr/server/websocket.js +661 -6751
- package/hmr/server/websocket.js.map +1 -1
- package/hmr/shared/ns-globals.d.ts +108 -0
- package/hmr/shared/ns-globals.js +29 -0
- package/hmr/shared/ns-globals.js.map +1 -0
- package/hmr/shared/protocol.d.ts +157 -0
- package/hmr/shared/protocol.js +28 -0
- package/hmr/shared/protocol.js.map +1 -0
- package/hmr/shared/runtime/boot-complete.d.ts +14 -0
- package/hmr/shared/runtime/boot-complete.js +32 -0
- package/hmr/shared/runtime/boot-complete.js.map +1 -0
- package/hmr/shared/runtime/boot-placeholder-ui.d.ts +69 -0
- package/hmr/shared/runtime/boot-placeholder-ui.js +101 -0
- package/hmr/shared/runtime/boot-placeholder-ui.js.map +1 -0
- package/hmr/shared/runtime/boot-progress.d.ts +44 -0
- package/hmr/shared/runtime/boot-progress.js +134 -0
- package/hmr/shared/runtime/boot-progress.js.map +1 -0
- package/hmr/shared/runtime/boot-timeline.d.ts +1 -1
- package/hmr/shared/runtime/boot-timeline.js +8 -19
- package/hmr/shared/runtime/boot-timeline.js.map +1 -1
- package/hmr/shared/runtime/browser-runtime-contract.d.ts +58 -25
- package/hmr/shared/runtime/browser-runtime-contract.js +21 -9
- package/hmr/shared/runtime/browser-runtime-contract.js.map +1 -1
- package/hmr/shared/runtime/dev-overlay-ios.d.ts +87 -0
- package/hmr/shared/runtime/dev-overlay-ios.js +521 -0
- package/hmr/shared/runtime/dev-overlay-ios.js.map +1 -0
- package/hmr/shared/runtime/dev-overlay-shared.d.ts +58 -0
- package/hmr/shared/runtime/dev-overlay-shared.js +116 -0
- package/hmr/shared/runtime/dev-overlay-shared.js.map +1 -0
- package/hmr/shared/runtime/dev-overlay-snapshots.d.ts +31 -0
- package/hmr/shared/runtime/dev-overlay-snapshots.js +324 -0
- package/hmr/shared/runtime/dev-overlay-snapshots.js.map +1 -0
- package/hmr/shared/runtime/dev-overlay-tree.d.ts +59 -0
- package/hmr/shared/runtime/dev-overlay-tree.js +712 -0
- package/hmr/shared/runtime/dev-overlay-tree.js.map +1 -0
- package/hmr/shared/runtime/dev-overlay.d.ts +23 -69
- package/hmr/shared/runtime/dev-overlay.js +67 -1011
- 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/launch-bridge.d.ts +9 -0
- package/hmr/shared/runtime/launch-bridge.js +98 -0
- package/hmr/shared/runtime/launch-bridge.js.map +1 -0
- package/hmr/shared/runtime/module-provenance.js +3 -2
- package/hmr/shared/runtime/module-provenance.js.map +1 -1
- package/hmr/shared/runtime/ns-runtime-test-double.d.ts +21 -0
- package/hmr/shared/runtime/ns-runtime-test-double.js +20 -0
- package/hmr/shared/runtime/ns-runtime-test-double.js.map +1 -0
- package/hmr/shared/runtime/overlay-flag.d.ts +9 -0
- package/hmr/shared/runtime/overlay-flag.js +34 -0
- package/hmr/shared/runtime/overlay-flag.js.map +1 -0
- package/hmr/shared/runtime/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 +382 -157
- package/hmr/shared/runtime/root-placeholder.js.map +1 -1
- package/hmr/shared/runtime/session-bootstrap.js +209 -54
- package/hmr/shared/runtime/session-bootstrap.js.map +1 -1
- package/hmr/shared/runtime/vendor-bootstrap.js +2 -1
- package/hmr/shared/runtime/vendor-bootstrap.js.map +1 -1
- package/hmr/shared/runtime/vendor-resolve.d.ts +22 -0
- package/hmr/shared/runtime/vendor-resolve.js +45 -0
- package/hmr/shared/runtime/vendor-resolve.js.map +1 -0
- package/hmr/shared/runtime/worker-tracking.d.ts +28 -0
- package/hmr/shared/runtime/worker-tracking.js +114 -0
- package/hmr/shared/runtime/worker-tracking.js.map +1 -0
- package/hmr/shared/vendor/manifest-collect.d.ts +4 -0
- package/hmr/shared/vendor/manifest-collect.js +909 -0
- package/hmr/shared/vendor/manifest-collect.js.map +1 -0
- package/hmr/shared/vendor/manifest-loader.d.ts +2 -1
- package/hmr/shared/vendor/manifest-loader.js +5 -3
- package/hmr/shared/vendor/manifest-loader.js.map +1 -1
- package/hmr/shared/vendor/manifest.d.ts +10 -35
- package/hmr/shared/vendor/manifest.js +154 -978
- package/hmr/shared/vendor/manifest.js.map +1 -1
- package/hmr/shared/vendor/registry.d.ts +2 -0
- package/hmr/shared/vendor/registry.js +14 -0
- package/hmr/shared/vendor/registry.js.map +1 -1
- package/hmr/shared/vendor/vendor-device-shim.d.ts +1 -0
- package/hmr/shared/vendor/vendor-device-shim.js +208 -0
- package/hmr/shared/vendor/vendor-device-shim.js.map +1 -0
- package/hmr/shared/vendor/vendor-esbuild-plugins.d.ts +107 -0
- package/hmr/shared/vendor/vendor-esbuild-plugins.js +540 -0
- package/hmr/shared/vendor/vendor-esbuild-plugins.js.map +1 -0
- package/package.json +70 -13
- package/runtime/core-aliases-early.js +11 -16
- 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 -185
- package/helpers/angular/angular-linker.js.map +0 -1
- package/helpers/angular/inject-component-hmr-registration.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.map +0 -1
- package/helpers/module-runner-patch.d.ts +0 -3
- package/helpers/module-runner-patch.js +0 -63
- package/helpers/module-runner-patch.js.map +0 -1
- package/helpers/prelink-angular.d.ts +0 -2
- package/helpers/prelink-angular.js +0 -114
- package/helpers/prelink-angular.js.map +0 -1
- package/hmr/server/websocket-angular-entry.js.map +0 -1
- package/hmr/server/websocket-angular-hot-update.js.map +0 -1
- package/hmr/server/websocket-ns-m-finalize.d.ts +0 -22
- package/hmr/server/websocket-ns-m-finalize.js +0 -88
- package/hmr/server/websocket-ns-m-finalize.js.map +0 -1
- package/hmr/server/websocket-runtime-compat.d.ts +0 -19
- package/hmr/server/websocket-runtime-compat.js +0 -287
- 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 -1069
- package/hmr/server/websocket-vue-sfc.js.map +0 -1
- package/hmr/shared/runtime/http-only-boot.d.ts +0 -2
- package/hmr/shared/runtime/http-only-boot.js +0 -171
- package/hmr/shared/runtime/http-only-boot.js.map +0 -1
- package/hmr/vendor-bootstrap.d.ts +0 -3
- package/hmr/vendor-bootstrap.js +0 -32
- package/hmr/vendor-bootstrap.js.map +0 -1
- package/shims/react-reconciler-constants.d.ts +0 -14
- package/shims/react-reconciler-constants.js +0 -21
- package/shims/react-reconciler-constants.js.map +0 -1
- package/shims/react-reconciler.d.ts +0 -8
- package/shims/react-reconciler.js +0 -15
- package/shims/react-reconciler.js.map +0 -1
- package/transformers/NativeClass/index.d.ts +0 -2
- package/transformers/NativeClass/index.js +0 -222
- package/transformers/NativeClass/index.js.map +0 -1
- /package/{helpers/angular → hmr/frameworks/angular/build}/inject-component-hmr-registration.d.ts +0 -0
- /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/{helpers/angular → hmr/frameworks/angular/build}/util.d.ts +0 -0
- /package/{helpers/angular → hmr/frameworks/angular/build}/util.js +0 -0
- /package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.d.ts +0 -0
|
@@ -0,0 +1,540 @@
|
|
|
1
|
+
import * as esbuild from 'esbuild';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import fs from 'fs';
|
|
4
|
+
import { readFile } from 'fs/promises';
|
|
5
|
+
import { createRequire } from 'node:module';
|
|
6
|
+
import { getAngularLinkerFactory, runAngularLinker } from '../../frameworks/angular/build/shared-linker.js';
|
|
7
|
+
import { vendorModuleShim } from './vendor-device-shim.js';
|
|
8
|
+
export function createVendorEsbuildPlugin(projectRoot) {
|
|
9
|
+
return {
|
|
10
|
+
name: 'ns-vendor-resolver',
|
|
11
|
+
setup(build) {
|
|
12
|
+
const debug = process.env.VITE_DEBUG_LOGS === 'true' || process.env.VITE_DEBUG_LOGS === '1';
|
|
13
|
+
build.onResolve({ filter: /^~\/package\.json$/ }, () => ({
|
|
14
|
+
path: path.resolve(projectRoot, 'package.json'),
|
|
15
|
+
}));
|
|
16
|
+
build.onResolve({ filter: /^module$/ }, () => ({
|
|
17
|
+
path: 'ns-vendor-module-shim',
|
|
18
|
+
namespace: 'ns-vendor',
|
|
19
|
+
}));
|
|
20
|
+
build.onLoad({ filter: /^ns-vendor-module-shim$/, namespace: 'ns-vendor' }, () => ({
|
|
21
|
+
contents: vendorModuleShim,
|
|
22
|
+
loader: 'js',
|
|
23
|
+
}));
|
|
24
|
+
// Stub Angular animations in vendor to avoid bundling browser-only code.
|
|
25
|
+
// Provide named exports expected by @nativescript/angular to satisfy esbuild.
|
|
26
|
+
const PB_ANIMATIONS_ID = 'ns-animations-pb-shim';
|
|
27
|
+
const ANIMATIONS_BROWSER_ID = 'ns-animations-browser-shim';
|
|
28
|
+
const ANIMATIONS_ID = 'ns-animations-noop';
|
|
29
|
+
// @angular/platform-browser/animations -> provide concrete named stubs
|
|
30
|
+
build.onResolve({ filter: /^@angular\/platform-browser\/animations(?:\/.*)?$/ }, (args) => {
|
|
31
|
+
if (debug) {
|
|
32
|
+
console.log('[vendor] map', args.path, '->', PB_ANIMATIONS_ID);
|
|
33
|
+
}
|
|
34
|
+
return { path: PB_ANIMATIONS_ID, namespace: 'ns-vendor' };
|
|
35
|
+
});
|
|
36
|
+
build.onLoad({ filter: new RegExp(`^${PB_ANIMATIONS_ID}$`), namespace: 'ns-vendor' }, () => ({
|
|
37
|
+
contents: [
|
|
38
|
+
'export default {};',
|
|
39
|
+
// Commonly imported symbols by @nativescript/angular
|
|
40
|
+
'export class AnimationBuilder {};',
|
|
41
|
+
'export const \u0275BrowserAnimationBuilder = class {};',
|
|
42
|
+
'export const \u0275AnimationEngine = class {};',
|
|
43
|
+
'export const \u0275AnimationRendererFactory = class {};',
|
|
44
|
+
'export const \u0275WebAnimationsStyleNormalizer = class {};',
|
|
45
|
+
// Typical platform-browser/animations APIs exported; safe no-ops
|
|
46
|
+
'export class BrowserAnimationsModule {};',
|
|
47
|
+
'export class NoopAnimationsModule {};',
|
|
48
|
+
'export const provideAnimations = (..._args) => [];',
|
|
49
|
+
'export const provideNoopAnimations = (..._args) => [];',
|
|
50
|
+
// Marker used by some Angular internals
|
|
51
|
+
'export const ANIMATION_MODULE_TYPE = void 0;',
|
|
52
|
+
].join('\n'),
|
|
53
|
+
loader: 'js',
|
|
54
|
+
}));
|
|
55
|
+
// @angular/animations/browser -> provide ɵ* engine/renderer/style normalizer stubs
|
|
56
|
+
build.onResolve({ filter: /^@angular\/animations\/browser(?:\/.*)?$/ }, (args) => {
|
|
57
|
+
if (debug) {
|
|
58
|
+
console.log('[vendor] map', args.path, '->', ANIMATIONS_BROWSER_ID);
|
|
59
|
+
}
|
|
60
|
+
return { path: ANIMATIONS_BROWSER_ID, namespace: 'ns-vendor' };
|
|
61
|
+
});
|
|
62
|
+
build.onLoad({ filter: new RegExp(`^${ANIMATIONS_BROWSER_ID}$`), namespace: 'ns-vendor' }, () => ({
|
|
63
|
+
contents: [
|
|
64
|
+
'export default {};',
|
|
65
|
+
'export class AnimationDriver {};',
|
|
66
|
+
'export const \u0275AnimationRendererFactory = class {};',
|
|
67
|
+
'export const \u0275AnimationStyleNormalizer = class {};',
|
|
68
|
+
'export const \u0275WebAnimationsStyleNormalizer = class {};',
|
|
69
|
+
'export const \u0275AnimationEngine = class {};',
|
|
70
|
+
// Convenience alias if any consumers import non-ɵ name
|
|
71
|
+
'export const AnimationStyleNormalizer = \u0275AnimationStyleNormalizer;',
|
|
72
|
+
].join('\n'),
|
|
73
|
+
loader: 'js',
|
|
74
|
+
}));
|
|
75
|
+
// @angular/animations -> broad no-op surface
|
|
76
|
+
build.onResolve(
|
|
77
|
+
// Keep generic mapping for @angular/animations base; /browser is handled above
|
|
78
|
+
{ filter: /^@angular\/animations(?:$|\/)$/ }, (args) => {
|
|
79
|
+
if (debug) {
|
|
80
|
+
console.log('[vendor] map', args.path, '->', ANIMATIONS_ID);
|
|
81
|
+
}
|
|
82
|
+
return { path: ANIMATIONS_ID, namespace: 'ns-vendor' };
|
|
83
|
+
});
|
|
84
|
+
build.onLoad({ filter: new RegExp(`^${ANIMATIONS_ID}$`), namespace: 'ns-vendor' }, () => ({
|
|
85
|
+
contents: [
|
|
86
|
+
'export default {};',
|
|
87
|
+
// Provide names sometimes (incorrectly) imported from @angular/animations by wrappers
|
|
88
|
+
'export class AnimationBuilder {};',
|
|
89
|
+
'export const \u0275BrowserAnimationBuilder = class {};',
|
|
90
|
+
'export const \u0275AnimationEngine = class {};',
|
|
91
|
+
'export const \u0275AnimationRendererFactory = class {};',
|
|
92
|
+
'export const \u0275WebAnimationsStyleNormalizer = class {};',
|
|
93
|
+
'export const ANIMATION_MODULE_TYPE = void 0;',
|
|
94
|
+
// Export a few common tokens as harmless stubs
|
|
95
|
+
'export const animate = (..._a) => ({});',
|
|
96
|
+
'export const state = (..._a) => ({});',
|
|
97
|
+
'export const style = (..._a) => ({});',
|
|
98
|
+
'export const transition = (..._a) => ({});',
|
|
99
|
+
'export const trigger = (..._a) => ({});',
|
|
100
|
+
'export const sequence = (..._a) => ({});',
|
|
101
|
+
'export const group = (..._a) => ({});',
|
|
102
|
+
'export const query = (..._a) => ({});',
|
|
103
|
+
'export const stagger = (..._a) => ({});',
|
|
104
|
+
'export const keyframes = (..._a) => ({});',
|
|
105
|
+
].join('\n'),
|
|
106
|
+
loader: 'js',
|
|
107
|
+
}));
|
|
108
|
+
},
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* esbuild plugin to compile .jsx/.tsx files from Solid packages through
|
|
113
|
+
* babel-preset-solid. Without this, esbuild uses its default React JSX
|
|
114
|
+
* transform, producing React.createElement calls that crash at runtime.
|
|
115
|
+
*
|
|
116
|
+
* Only applied to files inside node_modules that have .jsx or .tsx extension.
|
|
117
|
+
*/
|
|
118
|
+
export function createSolidJsxEsbuildPlugin(projectRoot) {
|
|
119
|
+
// Lazy-load Babel and the Solid preset so they're only required when
|
|
120
|
+
// the Solid flavor is active.
|
|
121
|
+
let babel;
|
|
122
|
+
let solidPreset;
|
|
123
|
+
return {
|
|
124
|
+
name: 'ns-vendor-solid-jsx',
|
|
125
|
+
setup(build) {
|
|
126
|
+
// Intercept .jsx and .tsx files from node_modules
|
|
127
|
+
build.onLoad({ filter: /node_modules[\\/].*\.[jt]sx$/ }, async (args) => {
|
|
128
|
+
try {
|
|
129
|
+
if (!babel) {
|
|
130
|
+
babel = await import('@babel/core');
|
|
131
|
+
// babel-preset-solid is the standard Solid JSX transform
|
|
132
|
+
solidPreset = (await import('babel-preset-solid')).default;
|
|
133
|
+
}
|
|
134
|
+
const source = await readFile(args.path, 'utf-8');
|
|
135
|
+
const result = await babel.transformAsync(source, {
|
|
136
|
+
filename: args.path,
|
|
137
|
+
presets: [
|
|
138
|
+
[
|
|
139
|
+
solidPreset,
|
|
140
|
+
{
|
|
141
|
+
generate: 'universal',
|
|
142
|
+
hydratable: false,
|
|
143
|
+
moduleName: '@nativescript-community/solid-js',
|
|
144
|
+
},
|
|
145
|
+
],
|
|
146
|
+
],
|
|
147
|
+
parserOpts: {
|
|
148
|
+
plugins: ['jsx', ...(args.path.endsWith('.tsx') ? ['typescript'] : [])],
|
|
149
|
+
},
|
|
150
|
+
ast: false,
|
|
151
|
+
sourceMaps: false,
|
|
152
|
+
configFile: false,
|
|
153
|
+
babelrc: false,
|
|
154
|
+
});
|
|
155
|
+
if (result?.code) {
|
|
156
|
+
return { contents: result.code, loader: 'js' };
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
catch (e) {
|
|
160
|
+
console.warn(`[ns-vendor-solid-jsx] failed to transform ${args.path}:`, e?.message || e);
|
|
161
|
+
}
|
|
162
|
+
// Fall through to esbuild's default handling
|
|
163
|
+
return undefined;
|
|
164
|
+
});
|
|
165
|
+
},
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* esbuild plugin that rewrites Unicode property-escape regular expressions
|
|
170
|
+
* (`\p{…}` / `\P{…}` used with the `u`/`v` flag) in vendored `node_modules`
|
|
171
|
+
* code into explicit character ranges, via
|
|
172
|
+
* `@babel/plugin-transform-unicode-property-regex`.
|
|
173
|
+
*
|
|
174
|
+
* NativeScript's V8 is compiled WITHOUT ICU/Intl, so Unicode property escapes
|
|
175
|
+
* are unrecognized and throw `SyntaxError: Invalid property name in character
|
|
176
|
+
* class` at *compile* time — not at match time. Because the HMR vendor bundle
|
|
177
|
+
* is a single large module, one offending regex (e.g. highlight.js's
|
|
178
|
+
* `TAG_NAME_RE = regex.concat(/[\p{L}_]/u, …)`) aborts the whole `vendor.mjs`
|
|
179
|
+
* compile and takes the entire dev session down with the misleading
|
|
180
|
+
* "ES module returned empty namespace" error.
|
|
181
|
+
*
|
|
182
|
+
* Babel expands the escapes to explicit ranges (`[A-Za-z\xAA…]`) that compile
|
|
183
|
+
* on a non-ICU engine while preserving match semantics — the `u` flag itself
|
|
184
|
+
* works fine without ICU; only the `\p{…}` property lookups need it. The
|
|
185
|
+
* transform is gated on a cheap substring check so only files that actually
|
|
186
|
+
* contain `\p{` / `\P{` pay the parse/regenerate cost, and any failure falls
|
|
187
|
+
* through to the untransformed source rather than aborting the build.
|
|
188
|
+
*/
|
|
189
|
+
/**
|
|
190
|
+
* Resolve node-builtin specifiers to the project's installed npm polyfill
|
|
191
|
+
* package when one exists (`buffer`, `events`, `process`, `punycode`, ...).
|
|
192
|
+
*
|
|
193
|
+
* The deps/vendor builds externalize node builtins because the device runtime
|
|
194
|
+
* cannot resolve them — but several builtin names are ALSO real npm packages
|
|
195
|
+
* that browser-targeting dependencies install and import by name (e.g.
|
|
196
|
+
* feross/buffer: `import { Buffer } from 'buffer'`). Leaving those external
|
|
197
|
+
* emits a bare `from "buffer"` in the served ESM bundle, which the device
|
|
198
|
+
* cannot resolve either — instantiation of the ENTIRE dev-session graph then
|
|
199
|
+
* fails ("The requested module 'buffer' does not provide an export named
|
|
200
|
+
* 'Buffer'"). When the project has the package installed, bundle it like any
|
|
201
|
+
* other dependency; only truly unresolvable builtins stay external.
|
|
202
|
+
*
|
|
203
|
+
* Node's `require.resolve('buffer')` prefers the CORE module over an
|
|
204
|
+
* installed package of the same name, so the probe goes through
|
|
205
|
+
* `<name>/package.json` (which core modules don't have) and lets esbuild
|
|
206
|
+
* finish entry resolution from the package directory.
|
|
207
|
+
*/
|
|
208
|
+
// Builtin names that commonly exist as installed npm polyfill packages.
|
|
209
|
+
// Mirrors the NODE_BUILTINS externalization lists in deps-bundle/core-bundle.
|
|
210
|
+
export const NODE_BUILTIN_POLYFILL_CANDIDATES = ['assert', 'buffer', 'console', 'constants', 'domain', 'events', 'http', 'https', 'os', 'path', 'process', 'punycode', 'querystring', 'stream', 'string_decoder', 'sys', 'timers', 'tty', 'url', 'util', 'vm', 'zlib'];
|
|
211
|
+
export function createNodeBuiltinPolyfillEsbuildPlugin(projectRoot, builtins = NODE_BUILTIN_POLYFILL_CANDIDATES) {
|
|
212
|
+
const projectRequire = createRequire(path.join(projectRoot, 'package.json'));
|
|
213
|
+
// name → package dir, or null when no installed polyfill exists.
|
|
214
|
+
const pkgDirCache = new Map();
|
|
215
|
+
const escaped = builtins.map((b) => b.replace(/[.*+?^${}()|[\]\\/]/g, '\\$&'));
|
|
216
|
+
const filter = new RegExp(`^(?:node:)?(?:${escaped.join('|')})$`);
|
|
217
|
+
return {
|
|
218
|
+
name: 'ns-node-builtin-polyfill',
|
|
219
|
+
setup(build) {
|
|
220
|
+
build.onResolve({ filter }, async (args) => {
|
|
221
|
+
if (args.pluginData?.nsBuiltinPolyfillProbe)
|
|
222
|
+
return undefined;
|
|
223
|
+
const name = args.path.replace(/^node:/, '');
|
|
224
|
+
let pkgDir = pkgDirCache.get(name);
|
|
225
|
+
if (pkgDir === undefined) {
|
|
226
|
+
try {
|
|
227
|
+
pkgDir = path.dirname(projectRequire.resolve(`${name}/package.json`));
|
|
228
|
+
}
|
|
229
|
+
catch {
|
|
230
|
+
pkgDir = null;
|
|
231
|
+
}
|
|
232
|
+
pkgDirCache.set(name, pkgDir);
|
|
233
|
+
}
|
|
234
|
+
if (!pkgDir)
|
|
235
|
+
return undefined; // no installed polyfill → stay external
|
|
236
|
+
const probe = await build.resolve('./', {
|
|
237
|
+
resolveDir: pkgDir,
|
|
238
|
+
kind: args.kind,
|
|
239
|
+
importer: args.importer,
|
|
240
|
+
pluginData: { nsBuiltinPolyfillProbe: true },
|
|
241
|
+
});
|
|
242
|
+
if (probe.errors.length > 0 || !probe.path || probe.external)
|
|
243
|
+
return undefined;
|
|
244
|
+
return { path: probe.path };
|
|
245
|
+
});
|
|
246
|
+
},
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Stub webpack-loader-prefixed specifiers (`nativescript-worker-loader!./x`,
|
|
251
|
+
* `raw-loader!...`, chained `a!b!./x`) to an empty module.
|
|
252
|
+
*
|
|
253
|
+
* Legacy NS 6/7-era plugins still ship branches like
|
|
254
|
+
* `require("nativescript-worker-loader!./commercial-worker.js")` that are
|
|
255
|
+
* dead code at runtime behind `global.TNS_WEBPACK >= 5` checks. webpack
|
|
256
|
+
* tolerates the syntax; esbuild resolves `require()` specifiers eagerly, so a
|
|
257
|
+
* single loader-prefixed specifier anywhere in a dependency hard-fails the
|
|
258
|
+
* ENTIRE vendor/deps bundle with "Could not resolve" — even when the app
|
|
259
|
+
* never imports that package (the deps closure scans every app dependency).
|
|
260
|
+
*
|
|
261
|
+
* Loader syntax can never be valid outside webpack, so resolve such
|
|
262
|
+
* specifiers into a stub module that evaluates to `undefined` — exactly what
|
|
263
|
+
* the dead webpack-4 branch would observe on a webpack-5/vite runtime.
|
|
264
|
+
*/
|
|
265
|
+
export function createWebpackLoaderStubEsbuildPlugin() {
|
|
266
|
+
return {
|
|
267
|
+
name: 'ns-webpack-loader-stub',
|
|
268
|
+
setup(build) {
|
|
269
|
+
build.onResolve({ filter: /!/ }, (args) => {
|
|
270
|
+
const spec = args.path;
|
|
271
|
+
// Only treat it as webpack loader syntax when the request starts
|
|
272
|
+
// with a loader reference: optional `!`/`!!`/`-!` prefix followed
|
|
273
|
+
// by a bare (non-relative, non-absolute) name containing `!`.
|
|
274
|
+
// Relative/absolute paths that merely contain `!` are left to the
|
|
275
|
+
// normal resolver.
|
|
276
|
+
const withoutPrefix = spec.replace(/^-?!!?/, '');
|
|
277
|
+
const bang = withoutPrefix.indexOf('!');
|
|
278
|
+
if (bang <= 0)
|
|
279
|
+
return undefined;
|
|
280
|
+
const loaderRef = withoutPrefix.slice(0, bang);
|
|
281
|
+
if (loaderRef.startsWith('.') || loaderRef.startsWith('/') || /^[A-Za-z]:[\\/]/.test(loaderRef)) {
|
|
282
|
+
return undefined;
|
|
283
|
+
}
|
|
284
|
+
return { path: spec, namespace: 'ns-webpack-loader-stub' };
|
|
285
|
+
});
|
|
286
|
+
build.onLoad({ filter: /.*/, namespace: 'ns-webpack-loader-stub' }, () => ({
|
|
287
|
+
contents: 'module.exports = undefined;',
|
|
288
|
+
loader: 'js',
|
|
289
|
+
}));
|
|
290
|
+
},
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
export function createUnicodeRegexEsbuildPlugin(projectRoot) {
|
|
294
|
+
// Lazy-load Babel and the transform so the cost is only paid when a vendored
|
|
295
|
+
// package actually ships property-escape regexes.
|
|
296
|
+
let babel;
|
|
297
|
+
let unicodePropertyRegexPlugin;
|
|
298
|
+
let toolingUnavailable = false;
|
|
299
|
+
return {
|
|
300
|
+
name: 'ns-vendor-unicode-regex',
|
|
301
|
+
setup(build) {
|
|
302
|
+
const debug = process.env.VITE_DEBUG_LOGS === 'true' || process.env.VITE_DEBUG_LOGS === '1';
|
|
303
|
+
// .js/.mjs/.cjs only — .jsx/.tsx are owned by the Solid JSX pass and
|
|
304
|
+
// Angular partials by the linker pass.
|
|
305
|
+
build.onLoad({ filter: /node_modules[\\/].*\.[mc]?js$/ }, async (args) => {
|
|
306
|
+
// Angular framework files are handled by the linker pass; leave them
|
|
307
|
+
// to it to avoid double-processing the same module.
|
|
308
|
+
if (/[\\/](?:@angular|@nativescript[\\/]angular)[\\/]/.test(args.path)) {
|
|
309
|
+
return undefined;
|
|
310
|
+
}
|
|
311
|
+
let source;
|
|
312
|
+
try {
|
|
313
|
+
source = await readFile(args.path, 'utf-8');
|
|
314
|
+
}
|
|
315
|
+
catch {
|
|
316
|
+
return undefined;
|
|
317
|
+
}
|
|
318
|
+
// Fast path: skip files that cannot contain a property escape.
|
|
319
|
+
if (!source.includes('\\p{') && !source.includes('\\P{')) {
|
|
320
|
+
return undefined;
|
|
321
|
+
}
|
|
322
|
+
if (toolingUnavailable) {
|
|
323
|
+
return undefined;
|
|
324
|
+
}
|
|
325
|
+
try {
|
|
326
|
+
if (!babel) {
|
|
327
|
+
babel = await import('@babel/core');
|
|
328
|
+
// CJS interop: under a CJS-compiled host, `import()` of this
|
|
329
|
+
// package yields { default: { default: fn } } (__importStar
|
|
330
|
+
// wraps module.exports, which itself carries a transpiled
|
|
331
|
+
// `default`). Unwrap both layers or Babel rejects the plugin
|
|
332
|
+
// entry ("plugins[0] must be a string, object, function").
|
|
333
|
+
const mod = await import('@babel/plugin-transform-unicode-property-regex');
|
|
334
|
+
unicodePropertyRegexPlugin = mod.default?.default ?? mod.default ?? mod;
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
catch (e) {
|
|
338
|
+
// Don't fail the build if the optional transform tooling is
|
|
339
|
+
// missing — leave the regex as-is (it only matters if the
|
|
340
|
+
// package is actually evaluated on-device).
|
|
341
|
+
toolingUnavailable = true;
|
|
342
|
+
console.warn(`[ns-vendor-unicode-regex] @babel/plugin-transform-unicode-property-regex unavailable; leaving \\p{} regexes untransformed:`, e?.message || e);
|
|
343
|
+
return undefined;
|
|
344
|
+
}
|
|
345
|
+
try {
|
|
346
|
+
const result = await babel.transformAsync(source, {
|
|
347
|
+
filename: args.path,
|
|
348
|
+
// node_modules dist files may be ESM or CJS/UMD; let Babel decide.
|
|
349
|
+
sourceType: 'unambiguous',
|
|
350
|
+
plugins: [unicodePropertyRegexPlugin],
|
|
351
|
+
ast: false,
|
|
352
|
+
sourceMaps: false,
|
|
353
|
+
configFile: false,
|
|
354
|
+
babelrc: false,
|
|
355
|
+
});
|
|
356
|
+
if (result?.code) {
|
|
357
|
+
if (debug) {
|
|
358
|
+
console.log('[ns-vendor-unicode-regex] transformed', args.path);
|
|
359
|
+
}
|
|
360
|
+
return { contents: result.code, loader: 'js' };
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
catch (e) {
|
|
364
|
+
console.warn(`[ns-vendor-unicode-regex] failed to transform ${args.path}:`, e?.message || e);
|
|
365
|
+
}
|
|
366
|
+
return undefined;
|
|
367
|
+
});
|
|
368
|
+
},
|
|
369
|
+
};
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* Minimal esbuild plugin to run Angular linker (Babel) over partial-compiled
|
|
373
|
+
* Angular packages in node_modules. This converts ɵɵngDeclare* calls into
|
|
374
|
+
* ɵɵdefine* so runtime doesn't require the JIT compiler.
|
|
375
|
+
*/
|
|
376
|
+
export function angularLinkerEsbuildPlugin(projectRoot) {
|
|
377
|
+
// Restrict to Angular framework packages to minimize esbuild memory usage.
|
|
378
|
+
const FILTER = /node_modules[\\/](?:@angular|@nativescript[\\/]angular)[\\/].*\.[mc]?js$/;
|
|
379
|
+
return {
|
|
380
|
+
name: 'ns-angular-linker',
|
|
381
|
+
async setup(build) {
|
|
382
|
+
const debug = process.env.VITE_DEBUG_LOGS === 'true' || process.env.VITE_DEBUG_LOGS === '1';
|
|
383
|
+
const { babel, createLinker } = await getAngularLinkerFactory(projectRoot);
|
|
384
|
+
if (!babel || !createLinker) {
|
|
385
|
+
// Nothing to do if deps unavailable
|
|
386
|
+
return;
|
|
387
|
+
}
|
|
388
|
+
build.onLoad({ filter: FILTER }, async (args) => {
|
|
389
|
+
try {
|
|
390
|
+
const source = await readFile(args.path, 'utf8');
|
|
391
|
+
// Fast-path: only run linker when partial declarations are present
|
|
392
|
+
if (!(source.includes('\u0275\u0275ngDeclare') || source.includes('ɵɵngDeclare'))) {
|
|
393
|
+
return { contents: source, loader: 'js' };
|
|
394
|
+
}
|
|
395
|
+
if (debug) {
|
|
396
|
+
console.log('[ns-angular-linker][vendor] linking', args.path);
|
|
397
|
+
}
|
|
398
|
+
const linked = await runAngularLinker(source, { filename: args.path, projectRoot, freshPlugin: true });
|
|
399
|
+
return { contents: linked || source, loader: 'js' };
|
|
400
|
+
}
|
|
401
|
+
catch {
|
|
402
|
+
return { contents: await readFile(args.path, 'utf8'), loader: 'js' };
|
|
403
|
+
}
|
|
404
|
+
});
|
|
405
|
+
},
|
|
406
|
+
};
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* Resolve-fallback for OPTIONAL bare imports inside node_modules code.
|
|
410
|
+
*
|
|
411
|
+
* Server-leaning packages guard optional peers with try/catch requires —
|
|
412
|
+
* e.g. `@nestjs/core` lazily requires `@nestjs/microservices` and
|
|
413
|
+
* `@nestjs/websockets/socket-module` and degrades gracefully when they're
|
|
414
|
+
* absent. esbuild resolves eagerly, so ONE such unresolvable specifier fails
|
|
415
|
+
* the entire vendor/deps bundle ("Could not resolve ..."). This plugin lets
|
|
416
|
+
* default resolution run first (onResolve returns undefined when the id
|
|
417
|
+
* resolves); only genuinely unresolvable bare ids — requested FROM inside
|
|
418
|
+
* node_modules — map to a stub module that THROWS on evaluation, preserving
|
|
419
|
+
* the try/catch-optional semantics instead of masking real missing modules
|
|
420
|
+
* with `undefined` exports.
|
|
421
|
+
*/
|
|
422
|
+
export function createOptionalDependencyStubEsbuildPlugin(projectRoot) {
|
|
423
|
+
const requireFromProject = createRequire(path.join(projectRoot, 'package.json'));
|
|
424
|
+
// `@scope/name/sub` → `@scope/name`; `pkg/sub` → `pkg`; `.prisma/client/…` → `.prisma`.
|
|
425
|
+
const packageNameOf = (spec) => {
|
|
426
|
+
const parts = spec.split('/');
|
|
427
|
+
return spec.startsWith('@') && parts.length >= 2 ? `${parts[0]}/${parts[1]}` : parts[0];
|
|
428
|
+
};
|
|
429
|
+
// Is the package physically installed? Walk Node's node_modules lookup
|
|
430
|
+
// chain from the importer, then the project root. Presence is judged by the
|
|
431
|
+
// package DIRECTORY (its package.json file), never by entry resolution.
|
|
432
|
+
const presenceCache = new Map();
|
|
433
|
+
const isPackageInstalled = (pkgName, fromDir) => {
|
|
434
|
+
const cacheKey = `${pkgName}\0${fromDir}`;
|
|
435
|
+
const cached = presenceCache.get(cacheKey);
|
|
436
|
+
if (cached !== undefined)
|
|
437
|
+
return cached;
|
|
438
|
+
let present = false;
|
|
439
|
+
let dir = fromDir;
|
|
440
|
+
for (;;) {
|
|
441
|
+
if (fs.existsSync(path.join(dir, 'node_modules', pkgName, 'package.json'))) {
|
|
442
|
+
present = true;
|
|
443
|
+
break;
|
|
444
|
+
}
|
|
445
|
+
const parent = path.dirname(dir);
|
|
446
|
+
if (parent === dir)
|
|
447
|
+
break;
|
|
448
|
+
dir = parent;
|
|
449
|
+
}
|
|
450
|
+
if (!present)
|
|
451
|
+
present = fs.existsSync(path.join(projectRoot, 'node_modules', pkgName, 'package.json'));
|
|
452
|
+
presenceCache.set(cacheKey, present);
|
|
453
|
+
return present;
|
|
454
|
+
};
|
|
455
|
+
const stubbed = new Set();
|
|
456
|
+
return {
|
|
457
|
+
name: 'ns-optional-dependency-stub',
|
|
458
|
+
setup(build) {
|
|
459
|
+
// Bare-specifier classification mirrors Node's: only `./x`, `../x`, `.`,
|
|
460
|
+
// `..` and absolute paths are non-bare. A leading dot does NOT make a
|
|
461
|
+
// specifier relative — `.prisma/client/index-browser` (Prisma's generated
|
|
462
|
+
// client, required by `@prisma/client`) is a bare id that resolves through
|
|
463
|
+
// node_modules, and must be stub-eligible when the generated package is
|
|
464
|
+
// absent. esbuild plugin filters are Go RE2 (no lookahead), hence the
|
|
465
|
+
// three-alternation form: bare start, `.x…`, `..x…`.
|
|
466
|
+
build.onResolve({ filter: /^[^./]|^\.[^./]|^\.\.[^/]/ }, (args) => {
|
|
467
|
+
// Only bare ids requested by node_modules code; app-code imports
|
|
468
|
+
// should keep failing loudly so misconfiguration stays visible.
|
|
469
|
+
if (!args.importer || !/node_modules[\\/]/.test(args.importer))
|
|
470
|
+
return undefined;
|
|
471
|
+
if (args.path.startsWith('node:'))
|
|
472
|
+
return undefined;
|
|
473
|
+
try {
|
|
474
|
+
requireFromProject.resolve(args.path, { paths: [path.dirname(args.importer)] });
|
|
475
|
+
return undefined; // resolvable — let esbuild handle it normally
|
|
476
|
+
}
|
|
477
|
+
catch {
|
|
478
|
+
// Node's resolver failing is NOT proof the package is missing:
|
|
479
|
+
// NativeScript plugins commonly ship extensionless platform mains
|
|
480
|
+
// (`"main": "./index"` with only index.ios.js/index.android.js on
|
|
481
|
+
// disk) that only esbuild's platform resolveExtensions can resolve.
|
|
482
|
+
// Stubbing an INSTALLED package plants an eagerly-thrown bomb in
|
|
483
|
+
// the bundle (ESM imports of the stub evaluate at bundle start —
|
|
484
|
+
// observed killing dev-session bootstrap via
|
|
485
|
+
// @nativescript-community/text under @nativescript-community/
|
|
486
|
+
// ui-label). Only genuinely ABSENT packages are stub-eligible;
|
|
487
|
+
// present-but-unresolvable ones fall through to esbuild, which
|
|
488
|
+
// either resolves them or fails the BUILD loudly with importer
|
|
489
|
+
// attribution — a diagnosable build error instead of a device
|
|
490
|
+
// bootstrap fatal.
|
|
491
|
+
if (isPackageInstalled(packageNameOf(args.path), path.dirname(args.importer))) {
|
|
492
|
+
return undefined;
|
|
493
|
+
}
|
|
494
|
+
stubbed.add(args.path);
|
|
495
|
+
return { path: args.path, namespace: 'ns-optional-dep-stub' };
|
|
496
|
+
}
|
|
497
|
+
});
|
|
498
|
+
build.onLoad({ filter: /.*/, namespace: 'ns-optional-dep-stub' }, (args) => ({
|
|
499
|
+
contents: `throw new Error(${JSON.stringify(`Cannot find module '${args.path}'`)});`,
|
|
500
|
+
loader: 'js',
|
|
501
|
+
}));
|
|
502
|
+
// Loud, counted summary (fail-open safety nets must not be silent):
|
|
503
|
+
// every stub is a module that will THROW if its importer's try/catch
|
|
504
|
+
// guard doesn't cover it on device.
|
|
505
|
+
build.onEnd(() => {
|
|
506
|
+
if (stubbed.size) {
|
|
507
|
+
console.log(`[ns-vendor] stubbed ${stubbed.size} absent optional dependenc${stubbed.size === 1 ? 'y' : 'ies'} (throw-on-evaluate): ${Array.from(stubbed).sort().join(', ')}`);
|
|
508
|
+
stubbed.clear();
|
|
509
|
+
}
|
|
510
|
+
});
|
|
511
|
+
},
|
|
512
|
+
};
|
|
513
|
+
}
|
|
514
|
+
/**
|
|
515
|
+
* Stub native Node addons (`*.node` binaries) in vendored node_modules code.
|
|
516
|
+
*
|
|
517
|
+
* Compiled addons can never evaluate on the device runtime, and esbuild has no
|
|
518
|
+
* loader for them — a single `require('./fsevents.node')` reached transitively
|
|
519
|
+
* (fsevents is an optional dep of file watchers like chokidar) hard-fails the
|
|
520
|
+
* ENTIRE vendor/deps bundle with "No loader is configured for .node files".
|
|
521
|
+
* Loading such a file as a module that THROWS mirrors exactly what happens on
|
|
522
|
+
* any platform where the binary is absent/incompatible (e.g. fsevents on
|
|
523
|
+
* Linux), so consumers' try/catch-optional guards keep working.
|
|
524
|
+
*
|
|
525
|
+
* onLoad (not onResolve) so only real resolved `.node` FILES are stubbed — a
|
|
526
|
+
* package whose name merely ends in `.node` still resolves to its JS entry and
|
|
527
|
+
* never hits this filter.
|
|
528
|
+
*/
|
|
529
|
+
export function createNativeAddonStubEsbuildPlugin() {
|
|
530
|
+
return {
|
|
531
|
+
name: 'ns-native-addon-stub',
|
|
532
|
+
setup(build) {
|
|
533
|
+
build.onLoad({ filter: /node_modules[\\/].*\.node$/ }, (args) => ({
|
|
534
|
+
contents: `throw new Error(${JSON.stringify(`Cannot load native addon '${path.basename(args.path)}' on the NativeScript runtime`)});`,
|
|
535
|
+
loader: 'js',
|
|
536
|
+
}));
|
|
537
|
+
},
|
|
538
|
+
};
|
|
539
|
+
}
|
|
540
|
+
//# sourceMappingURL=vendor-esbuild-plugins.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vendor-esbuild-plugins.js","sourceRoot":"","sources":["../../../../../../packages/vite/hmr/shared/vendor/vendor-esbuild-plugins.ts"],"names":[],"mappings":"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"}
|