@nativescript/vite 8.0.0-alpha.3 → 8.0.0-alpha.31
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/configuration/angular.d.ts +34 -1
- package/configuration/angular.js +373 -163
- package/configuration/angular.js.map +1 -1
- package/configuration/base.js +184 -14
- package/configuration/base.js.map +1 -1
- package/configuration/javascript.js +5 -72
- package/configuration/javascript.js.map +1 -1
- package/configuration/solid.js +27 -1
- package/configuration/solid.js.map +1 -1
- package/configuration/typescript.js +5 -75
- 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/config-as-json.js +10 -0
- package/helpers/config-as-json.js.map +1 -1
- package/helpers/dev-host.d.ts +341 -0
- package/helpers/dev-host.js +617 -0
- package/helpers/dev-host.js.map +1 -0
- package/helpers/esbuild-platform-resolver.js +4 -1
- package/helpers/esbuild-platform-resolver.js.map +1 -1
- package/helpers/global-defines.d.ts +51 -0
- package/helpers/global-defines.js +77 -0
- 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 +63 -3
- package/helpers/logging.js.map +1 -1
- package/helpers/main-entry.d.ts +2 -1
- package/helpers/main-entry.js +430 -47
- 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.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 +8 -3
- 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 +88 -0
- package/helpers/ns-core-url.js +191 -0
- package/helpers/ns-core-url.js.map +1 -0
- package/helpers/package-platform-aliases.js +4 -3
- 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/project.d.ts +35 -0
- package/helpers/project.js +120 -2
- package/helpers/project.js.map +1 -1
- package/helpers/resolver.js +17 -2
- package/helpers/resolver.js.map +1 -1
- package/helpers/ts-config-paths.d.ts +14 -0
- package/helpers/ts-config-paths.js +89 -8
- package/helpers/ts-config-paths.js.map +1 -1
- package/helpers/typescript-check.d.ts +2 -1
- package/helpers/typescript-check.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 +1 -0
- package/hmr/client/css-handler.js +33 -20
- 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 +73 -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 +27 -0
- package/hmr/client/hmr-pending-overlay.js +50 -0
- package/hmr/client/hmr-pending-overlay.js.map +1 -0
- package/hmr/client/index.js +459 -164
- package/hmr/client/index.js.map +1 -1
- package/hmr/client/utils.d.ts +6 -1
- package/hmr/client/utils.js +184 -8
- package/hmr/client/utils.js.map +1 -1
- package/hmr/entry-runtime.d.ts +2 -1
- package/hmr/entry-runtime.js +252 -65
- 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 +778 -20
- 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 +448 -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/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/server/strategy.js +360 -16
- package/hmr/frameworks/solid/server/strategy.js.map +1 -1
- package/hmr/frameworks/typescript/server/strategy.js +28 -14
- package/hmr/frameworks/typescript/server/strategy.js.map +1 -1
- package/hmr/frameworks/vue/client/index.js +30 -199
- package/hmr/frameworks/vue/client/index.js.map +1 -1
- package/hmr/frameworks/vue/client/strategy.d.ts +7 -0
- package/hmr/frameworks/vue/client/strategy.js +83 -0
- package/hmr/frameworks/vue/client/strategy.js.map +1 -0
- package/hmr/frameworks/vue/client/vue-sfc-update-overlay.d.ts +82 -0
- package/hmr/frameworks/vue/client/vue-sfc-update-overlay.js +133 -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 +706 -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 +457 -0
- package/hmr/frameworks/vue/server/sfc-route-serve.js.map +1 -0
- package/hmr/frameworks/vue/server/sfc-route-shared.d.ts +19 -0
- package/hmr/frameworks/vue/server/sfc-route-shared.js +14 -0
- package/hmr/frameworks/vue/server/sfc-route-shared.js.map +1 -0
- package/hmr/frameworks/vue/server/strategy.js +244 -0
- 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.js +52 -5
- 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 +13 -4
- package/hmr/server/constants.js.map +1 -1
- package/hmr/server/core-sanitize.d.ts +90 -7
- package/hmr/server/core-sanitize.js +211 -56
- 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 +327 -0
- package/hmr/server/device-transform-helpers.js.map +1 -0
- package/hmr/server/framework-strategy.d.ts +95 -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 +59 -40
- 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 +204 -0
- package/hmr/server/ns-core-cjs-shape.js +271 -0
- package/hmr/server/ns-core-cjs-shape.js.map +1 -0
- package/hmr/server/ns-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 +35 -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 +195 -0
- package/hmr/server/perf-instrumentation.js.map +1 -0
- package/hmr/server/process-code-for-device.d.ts +15 -0
- package/hmr/server/process-code-for-device.js +654 -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 +604 -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 +12 -0
- package/hmr/server/server-origin.js +66 -0
- package/hmr/server/server-origin.js.map +1 -0
- package/hmr/server/shared-transform-request.js +12 -5
- package/hmr/server/shared-transform-request.js.map +1 -1
- package/hmr/server/transform-cache-invalidation.d.ts +11 -0
- package/hmr/server/transform-cache-invalidation.js +84 -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 +60 -42
- package/hmr/server/vite-plugin.js.map +1 -1
- package/hmr/server/websocket-core-bridge.d.ts +41 -6
- package/hmr/server/websocket-core-bridge.js +72 -75
- 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 +330 -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 +46 -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 +202 -19
- 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 +306 -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 +150 -0
- package/hmr/server/websocket-ns-entry.js.map +1 -0
- package/hmr/server/websocket-ns-m-paths.d.ts +3 -0
- package/hmr/server/websocket-ns-m-paths.js +92 -0
- package/hmr/server/websocket-ns-m-paths.js.map +1 -0
- package/hmr/server/websocket-ns-m-request.d.ts +45 -0
- package/hmr/server/websocket-ns-m-request.js +196 -0
- package/hmr/server/websocket-ns-m-request.js.map +1 -0
- package/hmr/server/websocket-ns-m.d.ts +33 -0
- package/hmr/server/websocket-ns-m.js +748 -0
- package/hmr/server/websocket-ns-m.js.map +1 -0
- package/hmr/server/websocket-served-module-helpers.d.ts +39 -0
- package/hmr/server/websocket-served-module-helpers.js +654 -0
- package/hmr/server/websocket-served-module-helpers.js.map +1 -0
- package/hmr/server/websocket-txn.d.ts +6 -0
- package/hmr/server/websocket-txn.js +39 -0
- package/hmr/server/websocket-txn.js.map +1 -0
- package/hmr/server/websocket-vendor-unifier.d.ts +9 -0
- package/hmr/server/websocket-vendor-unifier.js +46 -0
- package/hmr/server/websocket-vendor-unifier.js.map +1 -0
- package/hmr/server/websocket.d.ts +8 -39
- package/hmr/server/websocket.js +602 -6049
- package/hmr/server/websocket.js.map +1 -1
- package/hmr/shared/ns-globals.d.ts +118 -0
- package/hmr/shared/ns-globals.js +27 -0
- package/hmr/shared/ns-globals.js.map +1 -0
- package/hmr/shared/protocol.d.ts +136 -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 +40 -0
- package/hmr/shared/runtime/boot-progress.js +128 -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 +52 -0
- package/hmr/shared/runtime/boot-timeline.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.d.ts +75 -26
- package/hmr/shared/runtime/dev-overlay.js +990 -260
- package/hmr/shared/runtime/dev-overlay.js.map +1 -1
- package/hmr/shared/runtime/module-provenance.js +1 -4
- 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 +310 -0
- package/hmr/shared/runtime/root-placeholder-view.js.map +1 -0
- package/hmr/shared/runtime/root-placeholder.js +352 -194
- package/hmr/shared/runtime/root-placeholder.js.map +1 -1
- package/hmr/shared/runtime/session-bootstrap.js +164 -1
- package/hmr/shared/runtime/session-bootstrap.js.map +1 -1
- package/hmr/shared/runtime/vendor-bootstrap.js +1 -9
- 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 +512 -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 +3 -2
- 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 +102 -741
- 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 +16 -0
- package/hmr/shared/vendor/vendor-esbuild-plugins.js +203 -0
- package/hmr/shared/vendor/vendor-esbuild-plugins.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +5 -0
- package/index.js.map +1 -1
- package/package.json +55 -11
- package/runtime/core-aliases-early.js +17 -41
- package/runtime/core-aliases-early.js.map +1 -1
- 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/{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,6 +1,8 @@
|
|
|
1
1
|
import * as path from 'path';
|
|
2
|
-
import * as PAT from '../../../server/constants.js';
|
|
3
2
|
import { getProjectAppVirtualPath } from '../../../../helpers/utils.js';
|
|
3
|
+
import { isRuntimeGraphExcludedPath } from '../../../server/runtime-graph-filter.js';
|
|
4
|
+
import { canonicalizeTransformRequestCacheKey, collectTransitiveImportersForInvalidation } from '../../../server/transform-cache-invalidation.js';
|
|
5
|
+
import { runHotUpdatePrologue } from '../../../server/websocket-hot-update.js';
|
|
4
6
|
// Solid server strategy for NativeScript HMR.
|
|
5
7
|
// For Solid we don't have .vue-style SFCs today; this strategy mainly
|
|
6
8
|
// ensures Solid runtime imports can be rewritten to vendor when needed
|
|
@@ -13,23 +15,365 @@ export const solidServerStrategy = {
|
|
|
13
15
|
// Treat app TS/TSX/JS/JSX under the configured app root as Solid candidates.
|
|
14
16
|
return SOLID_FILE_PATTERN.test(id) && id.startsWith(SOLID_APP_PREFIX);
|
|
15
17
|
},
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
// Suppress the prologue's common-block delta broadcast: Solid HMR depends on
|
|
19
|
+
// the client re-fetching the just-changed module to drive
|
|
20
|
+
// `solid-refresh.patchRegistry`, so the broadcast must come AFTER this
|
|
21
|
+
// handler purges the transform caches (see handleHotUpdate's tail). Otherwise
|
|
22
|
+
// the client's evict + re-import races the server's invalidation and serves
|
|
23
|
+
// the previous save's transform.
|
|
24
|
+
deferDeltaBroadcast: true,
|
|
25
|
+
// HMR: emit a graph delta for a changed app TSX/TS/JSX file, then bust the
|
|
26
|
+
// shared + Vite transform caches (file + transitive importers) so the
|
|
27
|
+
// client's re-import evaluates fresh code. Reached via the dispatcher's
|
|
28
|
+
// delegation seam after the shared prologue.
|
|
29
|
+
async handleHotUpdate(ctx, deps) {
|
|
30
|
+
const state = await runHotUpdatePrologue(ctx, deps);
|
|
31
|
+
if (!state)
|
|
32
|
+
return;
|
|
33
|
+
const { root, metrics, emitSummary } = state;
|
|
34
|
+
const { moduleGraph, verbose, sharedTransformRequest } = deps;
|
|
35
|
+
const { file, server } = ctx;
|
|
36
|
+
const isSolidFile = /\.(tsx?|jsx?)$/i.test(file);
|
|
37
|
+
if (!isSolidFile)
|
|
38
|
+
return;
|
|
39
|
+
metrics.tAfterFramework = Date.now();
|
|
40
|
+
try {
|
|
41
|
+
const rel = '/' + path.posix.normalize(path.relative(root, file)).split(path.sep).join('/');
|
|
42
|
+
if (verbose)
|
|
43
|
+
console.log('[hmr-ws][solid] app file hot update', { file, rel });
|
|
44
|
+
// The prologue's common graph-update block may have already emitted a
|
|
45
|
+
// delta if the file was in Vite's module graph. This forces emission
|
|
46
|
+
// for files it missed (e.g. new file, or moduleGraph mismatch).
|
|
47
|
+
const normalizedId = moduleGraph.normalizeGraphId(rel);
|
|
48
|
+
const existing = moduleGraph.get(normalizedId);
|
|
49
|
+
if (!existing) {
|
|
50
|
+
// Module not in graph yet — force upsert with timestamp-based
|
|
51
|
+
// hash so the client sees a change.
|
|
52
|
+
moduleGraph.upsert(rel, `/* solid-hmr ${Date.now()} */`, [], { emitDeltaOnInsert: true });
|
|
53
|
+
}
|
|
54
|
+
// Log what we're sending so devs can trace the flow on the server side.
|
|
55
|
+
if (verbose) {
|
|
56
|
+
const gm = moduleGraph.get(normalizedId);
|
|
57
|
+
console.log('[hmr-ws][solid] delta module', { id: gm?.id, hash: gm?.hash });
|
|
58
|
+
}
|
|
59
|
+
// Purge the shared transform-request cache AND Vite's own
|
|
60
|
+
// moduleGraph transformResult cache for the changed file
|
|
61
|
+
// AND every transitive importer.
|
|
62
|
+
//
|
|
63
|
+
// Why this matters for Solid HMR specifically:
|
|
64
|
+
// - The HMR client evicts V8's module cache for the
|
|
65
|
+
// canonical /ns/m/<path> URL and re-imports the module.
|
|
66
|
+
// - The dev server resolves /ns/m/* by calling
|
|
67
|
+
// `sharedTransformRequest(...)`, which has a 60s TTL on
|
|
68
|
+
// transform results to amortize cost across HMR
|
|
69
|
+
// cycles. The shared cache wraps `server.transformRequest`,
|
|
70
|
+
// which itself caches the compiled output on each
|
|
71
|
+
// `ModuleNode.transformResult`. Both layers must be
|
|
72
|
+
// invalidated, or the re-import resolves to whatever
|
|
73
|
+
// the previous save populated.
|
|
74
|
+
// - Without invalidation at *both* layers, the second
|
|
75
|
+
// save of a file within the cache window returns the
|
|
76
|
+
// FIRST save's transform — V8 evaluates stale code,
|
|
77
|
+
// `solid-refresh.patchRegistry` runs against an
|
|
78
|
+
// unchanged source body, and the visible page picks
|
|
79
|
+
// up the previous save's edit instead of the current
|
|
80
|
+
// one (the "one-save-behind" symptom users reported).
|
|
81
|
+
//
|
|
82
|
+
// Critically, transitive importers must also be invalidated
|
|
83
|
+
// because TanStack file-based routing (and similar frameworks)
|
|
84
|
+
// use route files that statically import their components.
|
|
85
|
+
// When `home.tsx` changes, `routes/index.tsx`'s transform
|
|
86
|
+
// output references the imported home module identity. Even
|
|
87
|
+
// though the route file's source bytes did not change, its
|
|
88
|
+
// *resolved* import target has — and its cached transform
|
|
89
|
+
// might still encode the previous resolution. Forcing a
|
|
90
|
+
// fresh transform of the importer guarantees the route
|
|
91
|
+
// file's `import Home from ...` re-resolves against the
|
|
92
|
+
// freshly evaluated home module on V8 side.
|
|
93
|
+
//
|
|
94
|
+
// The transitive walk is bounded (max depth 16, node_modules /
|
|
95
|
+
// virtual ids excluded) so vendor packages stay hot.
|
|
96
|
+
try {
|
|
97
|
+
const projectRoot = server.config.root || process.cwd();
|
|
98
|
+
const cacheInvalidationUrls = new Set();
|
|
99
|
+
const addCacheKey = (rawId) => {
|
|
100
|
+
const id = String(rawId || '');
|
|
101
|
+
if (!id)
|
|
102
|
+
return;
|
|
103
|
+
const cacheKey = canonicalizeTransformRequestCacheKey(id, projectRoot);
|
|
104
|
+
cacheInvalidationUrls.add(cacheKey);
|
|
105
|
+
const noQuery = cacheKey.replace(/\?.*$/, '');
|
|
106
|
+
const stripped = noQuery.replace(/\.(?:[mc]?[jt]sx?)$/i, '');
|
|
107
|
+
if (stripped !== noQuery) {
|
|
108
|
+
cacheInvalidationUrls.add(stripped);
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
addCacheKey(file);
|
|
112
|
+
const rootModules = server.moduleGraph.getModulesByFile?.(file);
|
|
113
|
+
const transitiveImporters = collectTransitiveImportersForInvalidation({
|
|
114
|
+
modules: rootModules ? Array.from(rootModules) : [],
|
|
115
|
+
isExcluded: (id) => id.includes('/node_modules/') || isRuntimeGraphExcludedPath(id),
|
|
116
|
+
maxDepth: 16,
|
|
117
|
+
});
|
|
118
|
+
// Invalidate Vite's moduleGraph for the changed file +
|
|
119
|
+
// every transitive importer so `server.transformRequest`
|
|
120
|
+
// re-runs the transform pipeline instead of returning
|
|
121
|
+
// the cached `ModuleNode.transformResult`. We call
|
|
122
|
+
// `onFileChange` (Vite's authoritative file-changed
|
|
123
|
+
// signal — walks all module variants including `?v=`,
|
|
124
|
+
// `?import`, `?t=`) AND per-module `invalidateModule`
|
|
125
|
+
// for transitive importers (which onFileChange
|
|
126
|
+
// doesn't reach).
|
|
127
|
+
try {
|
|
128
|
+
server.moduleGraph.onFileChange(file);
|
|
129
|
+
}
|
|
130
|
+
catch { }
|
|
131
|
+
if (rootModules) {
|
|
132
|
+
for (const mod of rootModules) {
|
|
133
|
+
try {
|
|
134
|
+
server.moduleGraph.invalidateModule(mod);
|
|
135
|
+
}
|
|
136
|
+
catch { }
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
for (const mod of transitiveImporters) {
|
|
140
|
+
addCacheKey(mod?.id);
|
|
141
|
+
try {
|
|
142
|
+
server.moduleGraph.invalidateModule(mod);
|
|
143
|
+
}
|
|
144
|
+
catch { }
|
|
145
|
+
}
|
|
146
|
+
if (cacheInvalidationUrls.size && sharedTransformRequest) {
|
|
147
|
+
sharedTransformRequest.invalidateMany(cacheInvalidationUrls);
|
|
148
|
+
if (verbose) {
|
|
149
|
+
console.log('[hmr-ws][solid] purged shared transform cache entries:', cacheInvalidationUrls.size, 'transitiveImporters=', transitiveImporters.length);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
// Sledgehammer: nuke EVERY entry in sharedTransformRequest's
|
|
153
|
+
// result cache. The targeted `invalidateMany` above only
|
|
154
|
+
// clears keys we know about. The `/ns/m/` handler iterates
|
|
155
|
+
// a long list of candidate extensions (`.ts`, `.js`, `.tsx`,
|
|
156
|
+
// `.jsx`, `.mjs`, `.mts`, `.cts`, `.vue`, `index.*`) and
|
|
157
|
+
// EACH candidate is a separate cache key. If a previous
|
|
158
|
+
// serve populated cache for `/src/components/home.js` (via
|
|
159
|
+
// extension fallback that resolves to `home.tsx`), our
|
|
160
|
+
// targeted invalidate misses it and iOS HITs the stale
|
|
161
|
+
// entry — serving the previous save's transformed code.
|
|
162
|
+
try {
|
|
163
|
+
sharedTransformRequest.clear();
|
|
164
|
+
}
|
|
165
|
+
catch { }
|
|
166
|
+
}
|
|
167
|
+
catch (e) {
|
|
168
|
+
if (verbose)
|
|
169
|
+
console.warn('[hmr-ws][solid] transform cache invalidation failed', e);
|
|
170
|
+
}
|
|
171
|
+
// Re-run the transform AFTER all caches are invalidated, then
|
|
172
|
+
// re-upsert the graph so the broadcast hash matches the freshly-
|
|
173
|
+
// transformed content. The prologue's common upsert block ran
|
|
174
|
+
// `server.transformRequest` BEFORE invalidation — at that
|
|
175
|
+
// moment Vite's auto-invalidate hadn't fired yet (it runs after
|
|
176
|
+
// `plugin.handleHotUpdate`), so the result it cached was the
|
|
177
|
+
// previous save's. Without this re-transform, the broadcast
|
|
178
|
+
// carries a stale hash and iOS evaluates the previous save's
|
|
179
|
+
// bytes ("one save behind").
|
|
180
|
+
//
|
|
181
|
+
// We pre-populate the cache for every extension variant Vite's
|
|
182
|
+
// /ns/m/ handler might try, so the first request from iOS hits
|
|
183
|
+
// fresh data regardless of which candidate it resolves first.
|
|
184
|
+
try {
|
|
185
|
+
const ext = file.match(/\.(?:[mc]?[jt]sx?)$/i)?.[0] || '';
|
|
186
|
+
const baseSpec = '/' + path.posix.normalize(path.relative(root, file)).split(path.sep).join('/');
|
|
187
|
+
const baseNoExt = ext ? baseSpec.replace(/\.(?:[mc]?[jt]sx?)$/i, '') : baseSpec;
|
|
188
|
+
const candidates = Array.from(new Set([baseSpec, baseNoExt, baseNoExt + '.ts', baseNoExt + '.tsx', baseNoExt + '.js', baseNoExt + '.jsx', baseNoExt + '.mjs', baseNoExt + '.mts', baseNoExt + '.cts', file]));
|
|
189
|
+
let freshCode = '';
|
|
190
|
+
for (const cand of candidates) {
|
|
191
|
+
try {
|
|
192
|
+
const fresh = await sharedTransformRequest(cand, 30000);
|
|
193
|
+
if (fresh?.code && !freshCode)
|
|
194
|
+
freshCode = fresh.code;
|
|
195
|
+
}
|
|
196
|
+
catch { }
|
|
197
|
+
}
|
|
198
|
+
if (freshCode) {
|
|
199
|
+
const existingGm = moduleGraph.get(normalizedId);
|
|
200
|
+
const existingDeps = existingGm?.deps || [];
|
|
201
|
+
moduleGraph.upsert(normalizedId, freshCode, existingDeps, {
|
|
202
|
+
broadcastDelta: false,
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
catch (e) {
|
|
207
|
+
if (verbose)
|
|
208
|
+
console.warn('[hmr-ws][solid] post-invalidation re-transform failed', e);
|
|
209
|
+
}
|
|
210
|
+
// Broadcast the (now-fresh) delta here, AFTER cache invalidation. The
|
|
211
|
+
// prologue suppresses the common-block broadcast for this flavor (via
|
|
212
|
+
// `deferDeltaBroadcast`), so emitting it now ensures the client's
|
|
213
|
+
// eviction + re-import doesn't race the server's cache invalidation.
|
|
214
|
+
try {
|
|
215
|
+
const gm = moduleGraph.get(normalizedId);
|
|
216
|
+
if (gm) {
|
|
217
|
+
moduleGraph.emitDelta([gm], []);
|
|
218
|
+
if (verbose) {
|
|
219
|
+
console.log('[hmr-ws][solid] broadcast delta after cache invalidation', { id: gm.id, hash: gm.hash });
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
catch (e) {
|
|
224
|
+
if (verbose)
|
|
225
|
+
console.warn('[hmr-ws][solid] post-invalidation broadcast failed', e);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
catch (e) {
|
|
229
|
+
if (verbose)
|
|
230
|
+
console.warn('[hmr-ws][solid] failed to handle hot update for', file, e);
|
|
231
|
+
}
|
|
232
|
+
emitSummary();
|
|
25
233
|
},
|
|
26
|
-
postClean
|
|
27
|
-
|
|
28
|
-
|
|
234
|
+
// preClean/rewriteFrameworkImports/postClean/ensureVersionedImports default to
|
|
235
|
+
// identity: Solid HMR runs through Vite's solid-refresh plugin + the generic
|
|
236
|
+
// vendor bridge, and has no dedicated HTTP endpoints to version.
|
|
237
|
+
//
|
|
238
|
+
// Solid HMR: patch @solid-refresh's $$refreshESM to do inline patching
|
|
239
|
+
// during module re-evaluation instead of deferring to hot.accept() callback.
|
|
240
|
+
// In NativeScript's HTTP ESM environment, accept callbacks are registered
|
|
241
|
+
// but not invoked by the HMR client. By adding a direct patchRegistry()
|
|
242
|
+
// call when hot.data already has a stored registry, component updates
|
|
243
|
+
// apply immediately when the module re-evaluates.
|
|
244
|
+
transformNodeModule(code, moduleId, verbose = false) {
|
|
245
|
+
if (!moduleId.includes('@solid-refresh')) {
|
|
246
|
+
return code;
|
|
247
|
+
}
|
|
248
|
+
const PATCH_SENTINEL = '/* __ns_solid_refresh_patched__ */';
|
|
249
|
+
const alreadyPatched = code.includes(PATCH_SENTINEL);
|
|
250
|
+
if (verbose) {
|
|
251
|
+
console.log('[hmr-ws][solid] @solid-refresh patch check:', { spec: moduleId, alreadyPatched, codeLen: code.length });
|
|
252
|
+
}
|
|
253
|
+
if (alreadyPatched) {
|
|
254
|
+
return code;
|
|
255
|
+
}
|
|
256
|
+
let patchedCode = code;
|
|
257
|
+
// Patch 1: Bypass shouldWarnAndDecline() — the vendor-bundled solid-js
|
|
258
|
+
// may not have the 'development' condition active, making DEV empty/undefined.
|
|
259
|
+
// In NativeScript HMR mode we are always in dev, so force it to return false.
|
|
260
|
+
const declineCheck = 'function shouldWarnAndDecline() {';
|
|
261
|
+
if (patchedCode.includes(declineCheck)) {
|
|
262
|
+
patchedCode = patchedCode.replace(declineCheck, `${PATCH_SENTINEL}\nfunction shouldWarnAndDecline() { return false; /* NS HMR: always allow refresh */ }\nfunction __original_shouldWarnAndDecline() {`);
|
|
263
|
+
if (verbose) {
|
|
264
|
+
console.log('[hmr-ws][solid] bypassed shouldWarnAndDecline() for NativeScript HMR');
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
// Patch 2: Force createMemo path in createProxy.
|
|
268
|
+
// Without the 'development' condition, $DEVCOMP is not set on components,
|
|
269
|
+
// so createProxy falls through to `return s(props)` — a direct call with
|
|
270
|
+
// no reactive subscription. When patchComponent fires update() (the signal
|
|
271
|
+
// setter), nobody is listening. By forcing the createMemo path, HMRComp
|
|
272
|
+
// subscribes to the signal and re-renders when the component changes.
|
|
273
|
+
const proxyCondition = 'if (!s || $DEVCOMP in s) {';
|
|
274
|
+
if (patchedCode.includes(proxyCondition)) {
|
|
275
|
+
patchedCode = patchedCode.replace(proxyCondition, 'if (true) { /* NS HMR: always use createMemo for reactive HMR updates */');
|
|
276
|
+
if (verbose) {
|
|
277
|
+
console.log('[hmr-ws][solid] forced createMemo path in createProxy for NativeScript HMR');
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
// Patch 2b (NS HMR escape hatch): expose `source` on the proxy
|
|
281
|
+
// itself via a non-enumerable, well-known symbol-ish key. This lets
|
|
282
|
+
// our HMR remount path bypass solid-refresh's proxy chain and call
|
|
283
|
+
// the freshly-patched underlying Home function directly. solid-refresh's
|
|
284
|
+
// proxy wraps everything in nested createMemo's, which under
|
|
285
|
+
// universal-renderer + nested-context (TanStack RouterContextProvider)
|
|
286
|
+
// causes accumulating zombie memos that all subscribe to M_initial.source
|
|
287
|
+
// — the visible symptom is "every other save applies".
|
|
288
|
+
//
|
|
289
|
+
// With this hatch we can do `proxy.__$$ns_resolve()` to obtain the
|
|
290
|
+
// current underlying component (e.g. M_initial.proxy after first save,
|
|
291
|
+
// or the actual Home function on the deepest hop) and then call
|
|
292
|
+
// untrack(() => extract until we reach the actual function), then mount
|
|
293
|
+
// against THAT function — no HMRComp memo proxy chain at the page level.
|
|
294
|
+
// NS HMR escape hatch: stash `source` on the HMRComp function
|
|
295
|
+
// itself AND short-circuit the Proxy's `get` handler so that
|
|
296
|
+
// `proxy.__$ns_resolveSource` returns our exposed function.
|
|
297
|
+
// Without the get-handler short-circuit, accessing the property
|
|
298
|
+
// on the Proxy goes through `return source()[property]` — which
|
|
299
|
+
// asks the *current source value* (which may itself be another
|
|
300
|
+
// solid-refresh proxy or the underlying user function) for the
|
|
301
|
+
// property. The user function doesn't have `__$ns_resolveSource`,
|
|
302
|
+
// and a chained proxy would re-enter its own get handler. Either
|
|
303
|
+
// way we end up with `undefined` at the page-level remount and
|
|
304
|
+
// can't unwrap.
|
|
305
|
+
//
|
|
306
|
+
// NOTE: `$$` in String.prototype.replace replacement is treated
|
|
307
|
+
// as a literal `$`. We use a single `$` to avoid that footgun.
|
|
308
|
+
// Match only the unique opening fragment to avoid getting tripped up
|
|
309
|
+
// by whitespace differences after the AST normalizer ran.
|
|
310
|
+
const newProxyMarker = `if (property === 'location' || property === 'name') {`;
|
|
311
|
+
if (patchedCode.includes(newProxyMarker)) {
|
|
312
|
+
// 1. Inject `__$ns_resolveSource` as a property on the HMRComp
|
|
313
|
+
// function itself (so its closure captures `source`).
|
|
314
|
+
// CRITICAL: assign at module-eval time (right after HMRComp
|
|
315
|
+
// is defined / before `return new Proxy(...)`), NOT inside
|
|
316
|
+
// the HMRComp body — the body only runs when the proxy is
|
|
317
|
+
// called, so before first call the property is undefined
|
|
318
|
+
// and the page-level remount unwrap finds nothing.
|
|
319
|
+
const setupMarker = `setComponentProperty(HMRComp, 'name', refreshName);`;
|
|
320
|
+
patchedCode = patchedCode.replace(setupMarker, `HMRComp.__$ns_resolveSource = function() { return source(); }; ${setupMarker}`);
|
|
321
|
+
// 2. Make the Proxy `get` handler short-circuit our property
|
|
322
|
+
// so callers can do `proxy.__$ns_resolveSource()` without
|
|
323
|
+
// going through `source()[property]` (which would unwrap one
|
|
324
|
+
// hop early or reach the user function which doesn't have it).
|
|
325
|
+
patchedCode = patchedCode.replace(newProxyMarker, `if (property === '__$ns_resolveSource') { return HMRComp.__$ns_resolveSource; } ${newProxyMarker}`);
|
|
326
|
+
if (verbose) {
|
|
327
|
+
console.log('[hmr-ws][solid] exposed __$ns_resolveSource on createProxy for NS HMR escape hatch');
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
// Patch 3: Inline patchRegistry call so updates apply immediately
|
|
331
|
+
// on module re-evaluation (accept callbacks are not invoked by the HMR client).
|
|
332
|
+
//
|
|
333
|
+
// The injected diagnostic logs are gated on
|
|
334
|
+
// `globalThis.__NS_ENV_VERBOSE__` so they're silent in
|
|
335
|
+
// normal use but resurface immediately when the user
|
|
336
|
+
// re-runs with verbose logging enabled. The flag is
|
|
337
|
+
// seeded by `mainEntryPlugin` from the same `verbose`
|
|
338
|
+
// option that drives this server-side log gating.
|
|
339
|
+
// Without these the visible HMR signal is just "did it
|
|
340
|
+
// apply" — with them, devs can answer "did `hot.data`
|
|
341
|
+
// persist", "did `patchRegistry` actually swap the
|
|
342
|
+
// proxy's signal source", and "did the registry
|
|
343
|
+
// component count change" without reaching for an
|
|
344
|
+
// inspector.
|
|
345
|
+
const marker = 'hot.data[SOLID_REFRESH] = hot.data[SOLID_REFRESH] || registry;';
|
|
346
|
+
if (patchedCode.includes(marker)) {
|
|
347
|
+
const patchCode = [
|
|
348
|
+
`var __nsRefreshVerbose = (typeof globalThis !== 'undefined') && !!globalThis.__NS_ENV_VERBOSE__;`,
|
|
349
|
+
`if (__nsRefreshVerbose) console.log('[ns-hmr][solid-refresh][$$refreshESM] hot.data has SOLID_REFRESH=', !!(hot.data && hot.data[SOLID_REFRESH]), 'registry components=', registry.components ? registry.components.size : 0);`,
|
|
350
|
+
`if (hot.data[SOLID_REFRESH]) {`,
|
|
351
|
+
` var __nsOldComponents = hot.data[SOLID_REFRESH].components ? hot.data[SOLID_REFRESH].components.size : 0;`,
|
|
352
|
+
` var __nsShouldInvalidate = patchRegistry(hot.data[SOLID_REFRESH], registry);`,
|
|
353
|
+
` if (__nsRefreshVerbose) console.log('[ns-hmr][solid-refresh][$$refreshESM] patched: oldComponents=', __nsOldComponents, 'newComponents=', registry.components ? registry.components.size : 0, 'shouldInvalidate=', __nsShouldInvalidate);`,
|
|
354
|
+
`} else {`,
|
|
355
|
+
` if (__nsRefreshVerbose) console.log('[ns-hmr][solid-refresh][$$refreshESM] first load — no prior registry to patch');`,
|
|
356
|
+
`}`,
|
|
357
|
+
].join('\n ');
|
|
358
|
+
patchedCode = patchedCode.replace(marker, `${patchCode}\n ${marker}`);
|
|
359
|
+
if (verbose) {
|
|
360
|
+
console.log('[hmr-ws][solid] added inline patchRegistry (with diagnostics) for NativeScript HMR');
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
return patchedCode;
|
|
29
364
|
},
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
365
|
+
// ── pin solid-js to the canonical HTTP dev.js URL ─────────────────────
|
|
366
|
+
// The vendor bundle
|
|
367
|
+
// externalizes `solid-js` for this flavor, so all three import sites
|
|
368
|
+
// (vendor's externalized `import 'solid-js'`, user code's alias-rewritten
|
|
369
|
+
// path, and `@solid-refresh`'s rewritten import) MUST converge on this one
|
|
370
|
+
// URL — V8's ESM loader dedupes by URL, giving a single reactive graph.
|
|
371
|
+
// No trailing-slash prefix: subpaths (solid-js/store, /web) resolve via
|
|
372
|
+
// HTTP from discoverInstalledPackages().
|
|
373
|
+
importMapEntries(origin) {
|
|
374
|
+
return {
|
|
375
|
+
'solid-js': `${origin}/ns/m/node_modules/solid-js/dist/dev.js`,
|
|
376
|
+
};
|
|
33
377
|
},
|
|
34
378
|
async processFile(ctx) {
|
|
35
379
|
// For now we rely on the generic pipeline; no per-file Solid SFC registry.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/solid/server/strategy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE,8CAA8C;AAC9C,sEAAsE;AACtE,uEAAuE;AACvE,+CAA+C;AAE/C,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AAC7C,MAAM,gBAAgB,GAAG,GAAG,wBAAwB,EAAE,GAAG,CAAC;AAE1D,MAAM,CAAC,MAAM,mBAAmB,GAA4B;IAC3D,MAAM,EAAE,OAAO;IACf,WAAW,CAAC,EAAU;QACrB,6EAA6E;QAC7E,OAAO,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACvE,CAAC;IACD,QAAQ,CAAC,IAAY;QACpB,mCAAmC;QACnC,OAAO,IAAI,CAAC;IACb,CAAC;IACD,uBAAuB,CAAC,IAAY;QACnC,oEAAoE;QACpE,mEAAmE;QACnE,qEAAqE;QACrE,OAAO,IAAI,CAAC;IACb,CAAC;IACD,SAAS,CAAC,IAAY;QACrB,2CAA2C;QAC3C,OAAO,IAAI,CAAC;IACb,CAAC;IACD,sBAAsB,CAAC,IAAY,EAAE,OAAe,EAAE,QAAgB;QACrE,gEAAgE;QAChE,OAAO,IAAI,CAAC;IACb,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,GAAgC;QACjD,2EAA2E;QAC3E,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QAC1C,IAAI,CAAC;YACJ,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC5D,IAAI,CAAC,WAAW,EAAE,IAAI;gBAAE,OAAO;YAC/B,IAAI,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;YAClD,CAAC;QACF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,IAAI,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;YAClE,CAAC;QACF,CAAC;IACF,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,IAA8B;QACjD,gFAAgF;QAChF,OAAO;IACR,CAAC;CACD,CAAC"}
|
|
1
|
+
{"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/solid/server/strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { getProjectAppPath, getProjectAppVirtualPath } from '../../../../helpers/utils.js';
|
|
2
2
|
import * as path from 'path';
|
|
3
3
|
import { isRuntimeGraphExcludedPath, matchesRuntimeGraphModuleId, shouldIncludeRuntimeGraphFile, shouldSkipRuntimeGraphDirectoryName } from '../../../server/runtime-graph-filter.js';
|
|
4
|
+
import { runHotUpdatePrologue } from '../../../server/websocket-hot-update.js';
|
|
4
5
|
// TypeScript server strategy for NativeScript HMR.
|
|
5
6
|
// This is a lightweight strategy that treats app TS/JS files
|
|
6
7
|
// as HTTP-loaded modules, relying on the shared HMR pipeline
|
|
@@ -13,21 +14,34 @@ export const typescriptServerStrategy = {
|
|
|
13
14
|
// Treat any app TS/JS under the virtual app root as HMR-relevant.
|
|
14
15
|
return matchesRuntimeGraphModuleId(id, TS_APP_PREFIX, TS_FILE_PATTERN);
|
|
15
16
|
},
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
17
|
+
// HMR: reached via the dispatcher's delegation seam. Run the shared
|
|
18
|
+
// prologue (scope gate, pending overlay, common graph upsert, CSS), then —
|
|
19
|
+
// for an in-scope app file — emit a generic graph delta. We treat the changed
|
|
20
|
+
// file as a graph module with no deps so its hash/identity changes and the
|
|
21
|
+
// client sees a delta and can perform a TS root reset; the code body is not
|
|
22
|
+
// used for execution here.
|
|
23
|
+
async handleHotUpdate(ctx, deps) {
|
|
24
|
+
const state = await runHotUpdatePrologue(ctx, deps);
|
|
25
|
+
if (!state)
|
|
26
|
+
return;
|
|
27
|
+
const { root, metrics, emitSummary } = state;
|
|
28
|
+
const { moduleGraph, verbose } = deps;
|
|
29
|
+
const { file } = ctx;
|
|
30
|
+
metrics.tAfterFramework = Date.now();
|
|
31
|
+
try {
|
|
32
|
+
const rel = '/' + path.posix.normalize(path.relative(root, file)).split(path.sep).join('/');
|
|
33
|
+
if (verbose)
|
|
34
|
+
console.log('[hmr-ws][ts] app file hot update', { file, rel });
|
|
35
|
+
moduleGraph.upsert(rel, '', [], { emitDeltaOnInsert: true });
|
|
36
|
+
}
|
|
37
|
+
catch (e) {
|
|
38
|
+
if (verbose)
|
|
39
|
+
console.warn('[hmr-ws][ts] failed to emit delta for', file, e);
|
|
40
|
+
}
|
|
41
|
+
emitSummary();
|
|
30
42
|
},
|
|
43
|
+
// preClean/rewriteFrameworkImports/postClean/ensureVersionedImports default to
|
|
44
|
+
// identity: plain TS apps rely on the generic pipeline (vendor bridge, /ns/entry-rt).
|
|
31
45
|
async processFile(ctx) {
|
|
32
46
|
// Ensure that any TS app module requested by the HTTP realm is transformed once,
|
|
33
47
|
// so that downstream helpers (rewriteImports, vendor bridge) see a stable shape.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/typescript/server/strategy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAC3F,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,mCAAmC,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../../../../../packages/vite/hmr/frameworks/typescript/server/strategy.ts"],"names":[],"mappings":"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"}
|