@nativescript/vite 8.0.0-alpha.30 → 8.0.0-alpha.32
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/configuration/angular.js +8 -8
- package/configuration/angular.js.map +1 -1
- package/configuration/solid.js +2 -2
- package/configuration/solid.js.map +1 -1
- package/hmr/client/css-handler.d.ts +1 -1
- package/hmr/client/css-handler.js +16 -6
- package/hmr/client/css-handler.js.map +1 -1
- 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/index.js +78 -187
- package/hmr/client/index.js.map +1 -1
- package/hmr/client/utils.js.map +1 -1
- package/hmr/entry-runtime.js.map +1 -1
- package/hmr/frameworks/angular/build/angular-linker.js.map +1 -0
- package/hmr/frameworks/angular/build/inject-component-hmr-registration.js.map +1 -0
- package/hmr/frameworks/angular/build/inject-hmr-vite-ignore.js.map +1 -0
- package/hmr/frameworks/angular/build/inline-decorator-component-templates.js.map +1 -0
- package/hmr/frameworks/angular/build/js-lexer.js.map +1 -0
- package/hmr/frameworks/angular/build/shared-linker.js.map +1 -0
- package/hmr/frameworks/angular/build/synthesize-decorator-ctor-parameters.js.map +1 -0
- package/hmr/frameworks/angular/build/synthesize-injectable-factories.js.map +1 -0
- package/hmr/frameworks/angular/build/util.js.map +1 -0
- 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.js.map +1 -0
- package/hmr/frameworks/angular/server/strategy.js +452 -2
- 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 +0 -11
- package/hmr/{server → frameworks/angular/server}/websocket-angular-hot-update.js +3 -80
- package/hmr/frameworks/angular/server/websocket-angular-hot-update.js.map +1 -0
- package/hmr/frameworks/solid/build/solid-jsx-deps.js.map +1 -0
- package/hmr/frameworks/solid/server/strategy.js +360 -1
- package/hmr/frameworks/solid/server/strategy.js.map +1 -1
- package/hmr/frameworks/typescript/server/strategy.js +27 -0
- package/hmr/frameworks/typescript/server/strategy.js.map +1 -1
- 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 +89 -0
- package/hmr/frameworks/vue/client/strategy.js.map +1 -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/{server/websocket-sfc.js → frameworks/vue/server/sfc-route-assemble.js} +19 -536
- 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/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 +108 -1
- package/hmr/server/hmr-module-graph.js.map +1 -1
- package/hmr/server/import-map.d.ts +11 -2
- package/hmr/server/import-map.js +21 -54
- package/hmr/server/import-map.js.map +1 -1
- package/hmr/server/index.js +7 -17
- package/hmr/server/index.js.map +1 -1
- 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/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/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/websocket-device-transform.d.ts +3 -21
- package/hmr/server/websocket-device-transform.js +6 -1569
- package/hmr/server/websocket-device-transform.js.map +1 -1
- package/hmr/server/websocket-hmr-pending.d.ts +2 -8
- package/hmr/server/websocket-hmr-pending.js.map +1 -1
- package/hmr/server/websocket-hot-update.d.ts +40 -14
- package/hmr/server/websocket-hot-update.js +93 -893
- package/hmr/server/websocket-hot-update.js.map +1 -1
- package/hmr/server/websocket-import-map-route.js +3 -1
- package/hmr/server/websocket-import-map-route.js.map +1 -1
- package/hmr/server/websocket-ns-core.d.ts +4 -4
- package/hmr/server/websocket-ns-core.js +3 -2
- package/hmr/server/websocket-ns-core.js.map +1 -1
- package/hmr/server/websocket-ns-entry.d.ts +0 -1
- package/hmr/server/websocket-ns-entry.js +1 -1
- package/hmr/server/websocket-ns-entry.js.map +1 -1
- package/hmr/server/websocket-ns-m.d.ts +0 -1
- package/hmr/server/websocket-ns-m.js +24 -129
- package/hmr/server/websocket-ns-m.js.map +1 -1
- package/hmr/server/websocket-vendor-unifier.d.ts +0 -1
- package/hmr/server/websocket-vendor-unifier.js +2 -1
- package/hmr/server/websocket-vendor-unifier.js.map +1 -1
- package/hmr/server/websocket.d.ts +11 -12
- package/hmr/server/websocket.js +25 -33
- 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 +145 -0
- package/hmr/shared/protocol.js +28 -0
- package/hmr/shared/protocol.js.map +1 -0
- package/hmr/shared/vendor/manifest-collect.d.ts +0 -28
- package/hmr/shared/vendor/manifest-collect.js +2 -2
- package/hmr/shared/vendor/manifest-collect.js.map +1 -1
- package/hmr/shared/vendor/manifest.d.ts +1 -3
- package/hmr/shared/vendor/manifest.js +1 -3
- package/hmr/shared/vendor/manifest.js.map +1 -1
- package/hmr/shared/vendor/vendor-esbuild-plugins.js +1 -1
- package/hmr/shared/vendor/vendor-esbuild-plugins.js.map +1 -1
- package/package.json +1 -1
- package/helpers/angular/angular-linker.js.map +0 -1
- package/helpers/angular/inject-component-hmr-registration.js.map +0 -1
- package/helpers/angular/inject-hmr-vite-ignore.js.map +0 -1
- package/helpers/angular/inline-decorator-component-templates.js.map +0 -1
- package/helpers/angular/js-lexer.js.map +0 -1
- 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/prelink-angular.d.ts +0 -2
- package/helpers/prelink-angular.js +0 -96
- package/helpers/prelink-angular.js.map +0 -1
- package/helpers/solid-jsx-deps.js.map +0 -1
- package/hmr/client/vue-sfc-update-overlay.js.map +0 -1
- package/hmr/server/angular-root-component.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-sfc.d.ts +0 -24
- package/hmr/server/websocket-sfc.js.map +0 -1
- /package/{helpers/angular → hmr/frameworks/angular/build}/angular-linker.d.ts +0 -0
- /package/{helpers/angular → hmr/frameworks/angular/build}/angular-linker.js +0 -0
- /package/{helpers/angular → hmr/frameworks/angular/build}/inject-component-hmr-registration.d.ts +0 -0
- /package/{helpers/angular → hmr/frameworks/angular/build}/inject-component-hmr-registration.js +0 -0
- /package/{helpers/angular → hmr/frameworks/angular/build}/inject-hmr-vite-ignore.d.ts +0 -0
- /package/{helpers/angular → hmr/frameworks/angular/build}/inject-hmr-vite-ignore.js +0 -0
- /package/{helpers/angular → hmr/frameworks/angular/build}/inline-decorator-component-templates.d.ts +0 -0
- /package/{helpers/angular → hmr/frameworks/angular/build}/inline-decorator-component-templates.js +0 -0
- /package/{helpers/angular → hmr/frameworks/angular/build}/js-lexer.d.ts +0 -0
- /package/{helpers/angular → hmr/frameworks/angular/build}/js-lexer.js +0 -0
- /package/{helpers/angular → hmr/frameworks/angular/build}/shared-linker.d.ts +0 -0
- /package/{helpers/angular → hmr/frameworks/angular/build}/shared-linker.js +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-decorator-ctor-parameters.js +0 -0
- /package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-injectable-factories.d.ts +0 -0
- /package/{helpers/angular → hmr/frameworks/angular/build}/synthesize-injectable-factories.js +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}/angular-root-component.d.ts +0 -0
- /package/hmr/{server → frameworks/angular/server}/angular-root-component.js +0 -0
- /package/hmr/{server → frameworks/angular/server}/websocket-angular-entry.d.ts +0 -0
- /package/{helpers → hmr/frameworks/solid/build}/solid-jsx-deps.d.ts +0 -0
- /package/{helpers → hmr/frameworks/solid/build}/solid-jsx-deps.js +0 -0
- /package/hmr/{client → frameworks/vue/client}/vue-sfc-update-overlay.d.ts +0 -0
- /package/hmr/{client → frameworks/vue/client}/vue-sfc-update-overlay.js +0 -0
package/hmr/server/import-map.js
CHANGED
|
@@ -60,7 +60,7 @@ function getDeviceImportMapExposure(name) {
|
|
|
60
60
|
* Everything else falls through to the runtime's normal resolution.
|
|
61
61
|
*/
|
|
62
62
|
export function generateImportMap(options) {
|
|
63
|
-
const { origin,
|
|
63
|
+
const { origin, strategy, extraEntries } = options;
|
|
64
64
|
const manifest = getVendorManifest();
|
|
65
65
|
const imports = {};
|
|
66
66
|
if (manifest) {
|
|
@@ -116,8 +116,19 @@ export function generateImportMap(options) {
|
|
|
116
116
|
// subpath imports resolve via `${origin}/ns/core/<sub>`.
|
|
117
117
|
imports['@nativescript/core'] = buildCoreUrl(origin);
|
|
118
118
|
imports['@nativescript/core/'] = `${buildCoreUrl(origin)}/`;
|
|
119
|
-
// Add framework-specific entries
|
|
120
|
-
|
|
119
|
+
// Add framework-specific entries (owned by the active strategy). Merge
|
|
120
|
+
// CONDITIONALLY (existing entries win) so Vue's vendor entries (set above)
|
|
121
|
+
// take precedence over the hook's fallback `ns-vendor://` targets, while
|
|
122
|
+
// Solid's `solid-js` (externalized from vendor, so unset here) is added.
|
|
123
|
+
// Insertion order is significant for the generated map.
|
|
124
|
+
const frameworkEntries = strategy?.importMapEntries?.(origin);
|
|
125
|
+
if (frameworkEntries) {
|
|
126
|
+
for (const [specifier, target] of Object.entries(frameworkEntries)) {
|
|
127
|
+
if (!imports[specifier]) {
|
|
128
|
+
imports[specifier] = target;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
121
132
|
// Scan installed packages and add HTTP URL entries for ALL packages
|
|
122
133
|
// (including vendor ones for their subpath imports).
|
|
123
134
|
discoverInstalledPackages(imports, origin);
|
|
@@ -132,22 +143,16 @@ export function generateImportMap(options) {
|
|
|
132
143
|
* These patterns tell the runtime to always re-fetch matching URLs
|
|
133
144
|
* instead of using cached modules.
|
|
134
145
|
*/
|
|
135
|
-
export function getVolatilePatterns(
|
|
146
|
+
export function getVolatilePatterns(strategy) {
|
|
136
147
|
const patterns = [];
|
|
137
148
|
// Version query params (used by HMR for cache busting)
|
|
138
149
|
patterns.push('?v=');
|
|
139
150
|
patterns.push('&v=');
|
|
140
|
-
// Framework-specific volatile patterns
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
patterns.push('/@ns/asm/');
|
|
146
|
-
break;
|
|
147
|
-
case 'angular':
|
|
148
|
-
// Angular template/style URLs may change on edit
|
|
149
|
-
patterns.push('/@ns/asm/');
|
|
150
|
-
break;
|
|
151
|
+
// Framework-specific volatile patterns (owned by the active strategy —
|
|
152
|
+
// Vue → /@ns/sfc/ + /@ns/asm/, Angular → /@ns/asm/).
|
|
153
|
+
const frameworkPatterns = strategy?.volatilePatterns?.();
|
|
154
|
+
if (frameworkPatterns) {
|
|
155
|
+
patterns.push(...frameworkPatterns);
|
|
151
156
|
}
|
|
152
157
|
return patterns;
|
|
153
158
|
}
|
|
@@ -157,50 +162,12 @@ export function getVolatilePatterns(flavor) {
|
|
|
157
162
|
*/
|
|
158
163
|
export function buildRuntimeConfig(options) {
|
|
159
164
|
const importMap = generateImportMap(options);
|
|
160
|
-
const volatilePatterns = getVolatilePatterns(options.
|
|
165
|
+
const volatilePatterns = getVolatilePatterns(options.strategy);
|
|
161
166
|
return {
|
|
162
167
|
importMap: JSON.stringify(importMap),
|
|
163
168
|
volatilePatterns,
|
|
164
169
|
};
|
|
165
170
|
}
|
|
166
|
-
function addFrameworkEntries(imports, origin, flavor) {
|
|
167
|
-
switch (flavor) {
|
|
168
|
-
case 'vue':
|
|
169
|
-
// nativescript-vue should resolve from vendor if available
|
|
170
|
-
if (!imports['nativescript-vue']) {
|
|
171
|
-
imports['nativescript-vue'] = `ns-vendor://nativescript-vue`;
|
|
172
|
-
}
|
|
173
|
-
if (!imports['vue']) {
|
|
174
|
-
imports['vue'] = `ns-vendor://vue`;
|
|
175
|
-
}
|
|
176
|
-
break;
|
|
177
|
-
case 'solid':
|
|
178
|
-
// Solid runtime root MUST resolve to the same HTTP URL that
|
|
179
|
-
// Vite's solid-js alias produces for user code and the
|
|
180
|
-
// HTTP-served `@solid-refresh` middleware. The vendor bundle
|
|
181
|
-
// no longer ships `solid-js` for the Solid flavor — see
|
|
182
|
-
// `manifest.ts`'s `nsSolidJsExternalPlugin` + the matching
|
|
183
|
-
// `addCandidate` skip — so all three import sites (vendor's
|
|
184
|
-
// externalized `import 'solid-js'`, user code's
|
|
185
|
-
// alias-rewritten `/ns/m/node_modules/solid-js/...`, and
|
|
186
|
-
// `@solid-refresh`'s own rewritten import) converge on the
|
|
187
|
-
// dev.js URL below. V8's ESM loader dedupes by URL, so the
|
|
188
|
-
// app sees one `Owner` module-local, one `$DEVCOMP`/`$PROXY`
|
|
189
|
-
// symbol identity, and one reactive graph end-to-end. Without
|
|
190
|
-
// this unification, `solid-refresh`'s `setComp` ticks a
|
|
191
|
-
// signal whose subscribers live in a different solid-js
|
|
192
|
-
// realm than the page tree's render effect → HMR appears to
|
|
193
|
-
// fire (toast shows) but the screen never re-renders, and
|
|
194
|
-
// boot logs the `computations created outside a createRoot`
|
|
195
|
-
// warning because solid-refresh's HMRComp memo is created in
|
|
196
|
-
// the HTTP-side solid-js whose `Owner` was never set by the
|
|
197
|
-
// vendor-side `render()` createRoot.
|
|
198
|
-
imports['solid-js'] = `${origin}/ns/m/node_modules/solid-js/dist/dev.js`;
|
|
199
|
-
// No trailing-slash prefix — subpaths like solid-js/store,
|
|
200
|
-
// solid-js/jsx-runtime resolve via HTTP from discoverInstalledPackages()
|
|
201
|
-
break;
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
171
|
/**
|
|
205
172
|
* Scan the project's node_modules to discover ALL installed packages and
|
|
206
173
|
* add import map entries. Vendor packages get only trailing-slash prefix
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-map.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/import-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;
|
|
1
|
+
{"version":3,"file":"import-map.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/import-map.ts"],"names":[],"mappings":"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"}
|
package/hmr/server/index.js
CHANGED
|
@@ -1,23 +1,13 @@
|
|
|
1
1
|
import { nsHmrClientVitePlugin } from './vite-plugin.js';
|
|
2
|
-
import {
|
|
2
|
+
import { hmrWebSocketPluginForFlavor } from './websocket.js';
|
|
3
3
|
export function getHMRPlugins(opts) {
|
|
4
4
|
const plugins = [nsHmrClientVitePlugin(opts)];
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
break;
|
|
12
|
-
case 'angular':
|
|
13
|
-
plugins.push(hmrWebSocketAngular(opts));
|
|
14
|
-
break;
|
|
15
|
-
case 'typescript':
|
|
16
|
-
plugins.push(hmrWebSocketTypescript(opts));
|
|
17
|
-
break;
|
|
18
|
-
case 'solid':
|
|
19
|
-
plugins.push(hmrWebSocketSolid(opts));
|
|
20
|
-
break;
|
|
5
|
+
// The server-side HMR WebSocket plugin is selected from STRATEGY_REGISTRY by
|
|
6
|
+
// flavor. Flavors without a registered server strategy (e.g. `react`) ship
|
|
7
|
+
// only the client plugin above — no per-flavor switch or no-op special case.
|
|
8
|
+
const frameworkPlugin = hmrWebSocketPluginForFlavor(opts.flavor, opts);
|
|
9
|
+
if (frameworkPlugin) {
|
|
10
|
+
plugins.push(frameworkPlugin);
|
|
21
11
|
}
|
|
22
12
|
return plugins;
|
|
23
13
|
}
|
package/hmr/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/server/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAE7D,MAAM,UAAU,aAAa,CAAC,IAAmE;IAChG,MAAM,OAAO,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,6EAA6E;IAC7E,2EAA2E;IAC3E,6EAA6E;IAC7E,MAAM,eAAe,GAAG,2BAA2B,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACvE,IAAI,eAAe,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { FrameworkServerStrategy } from './framework-strategy.js';
|
|
2
|
+
interface ProcessCodeForDeviceOptions {
|
|
3
|
+
resolvedSpecifierOverrides?: Map<string, string>;
|
|
4
|
+
}
|
|
5
|
+
declare const processSfcCode: (code: string) => string;
|
|
6
|
+
declare function collectImportDependencies(code: string, importerPath: string): Set<string>;
|
|
7
|
+
/**
|
|
8
|
+
* Clean code: remove Vite/Vue noise, rewrite to vendor
|
|
9
|
+
*/
|
|
10
|
+
declare function cleanCode(code: string, strategy: FrameworkServerStrategy): string;
|
|
11
|
+
/**
|
|
12
|
+
* Process code for device: inject globals, remove framework imports
|
|
13
|
+
*/
|
|
14
|
+
declare function processCodeForDevice(code: string, isVitePreBundled: boolean, preserveVendorImports?: boolean, isNodeModule?: boolean, sourceId?: string, options?: ProcessCodeForDeviceOptions): string;
|
|
15
|
+
export { processCodeForDevice, cleanCode, collectImportDependencies, processSfcCode };
|