@nativescript/vite 8.0.0-alpha.4 → 8.0.0-alpha.6
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/base.js +57 -0
- package/configuration/base.js.map +1 -1
- package/helpers/config-as-json.js +10 -0
- package/helpers/config-as-json.js.map +1 -1
- package/helpers/global-defines.d.ts +55 -0
- package/helpers/global-defines.js +81 -0
- package/helpers/global-defines.js.map +1 -1
- package/helpers/logging.d.ts +1 -0
- package/helpers/logging.js +36 -3
- package/helpers/logging.js.map +1 -1
- package/helpers/main-entry.js +167 -13
- package/helpers/main-entry.js.map +1 -1
- package/helpers/ns-core-url.d.ts +84 -0
- package/helpers/ns-core-url.js +168 -0
- package/helpers/ns-core-url.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 +72 -1
- package/hmr/client/index.js.map +1 -1
- package/hmr/client/utils.d.ts +5 -0
- package/hmr/client/utils.js +153 -15
- package/hmr/client/utils.js.map +1 -1
- package/hmr/entry-runtime.js +95 -31
- package/hmr/entry-runtime.js.map +1 -1
- package/hmr/frameworks/angular/client/index.d.ts +1 -0
- package/hmr/frameworks/angular/client/index.js +424 -11
- package/hmr/frameworks/angular/client/index.js.map +1 -1
- package/hmr/server/core-sanitize.d.ts +8 -4
- package/hmr/server/core-sanitize.js +71 -41
- package/hmr/server/core-sanitize.js.map +1 -1
- package/hmr/server/import-map.js +7 -3
- package/hmr/server/import-map.js.map +1 -1
- package/hmr/server/ns-core-cjs-shape.d.ts +206 -0
- package/hmr/server/ns-core-cjs-shape.js +273 -0
- package/hmr/server/ns-core-cjs-shape.js.map +1 -0
- package/hmr/server/perf-instrumentation.d.ts +118 -0
- package/hmr/server/perf-instrumentation.js +198 -0
- package/hmr/server/perf-instrumentation.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/websocket-angular-hot-update.d.ts +16 -0
- package/hmr/server/websocket-angular-hot-update.js +163 -1
- package/hmr/server/websocket-angular-hot-update.js.map +1 -1
- package/hmr/server/websocket-core-bridge.d.ts +0 -2
- package/hmr/server/websocket-core-bridge.js +60 -58
- package/hmr/server/websocket-core-bridge.js.map +1 -1
- 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 +43 -0
- package/hmr/server/websocket-hmr-pending.js +55 -0
- package/hmr/server/websocket-hmr-pending.js.map +1 -0
- package/hmr/server/websocket-module-specifiers.js +12 -0
- package/hmr/server/websocket-module-specifiers.js.map +1 -1
- package/hmr/server/websocket-ns-m-finalize.d.ts +0 -10
- package/hmr/server/websocket-ns-m-finalize.js +26 -11
- package/hmr/server/websocket-ns-m-finalize.js.map +1 -1
- package/hmr/server/websocket-ns-m-paths.d.ts +1 -1
- package/hmr/server/websocket-ns-m-paths.js +59 -13
- package/hmr/server/websocket-ns-m-paths.js.map +1 -1
- package/hmr/server/websocket-ns-m-request.js +1 -16
- package/hmr/server/websocket-ns-m-request.js.map +1 -1
- package/hmr/server/websocket-runtime-compat.js.map +1 -1
- package/hmr/server/websocket-served-module-helpers.d.ts +36 -0
- package/hmr/server/websocket-served-module-helpers.js +613 -0
- package/hmr/server/websocket-served-module-helpers.js.map +1 -0
- package/hmr/server/websocket-vue-sfc.d.ts +0 -8
- package/hmr/server/websocket-vue-sfc.js +17 -19
- package/hmr/server/websocket-vue-sfc.js.map +1 -1
- package/hmr/server/websocket.d.ts +5 -5
- package/hmr/server/websocket.js +2867 -252
- package/hmr/server/websocket.js.map +1 -1
- package/hmr/shared/runtime/boot-timeline.d.ts +17 -0
- package/hmr/shared/runtime/boot-timeline.js +54 -0
- package/hmr/shared/runtime/boot-timeline.js.map +1 -0
- package/hmr/shared/runtime/dev-overlay.d.ts +49 -2
- package/hmr/shared/runtime/dev-overlay.js +587 -12
- package/hmr/shared/runtime/dev-overlay.js.map +1 -1
- package/hmr/shared/runtime/session-bootstrap.js +49 -0
- package/hmr/shared/runtime/session-bootstrap.js.map +1 -1
- package/hmr/shared/vendor/manifest.js +114 -12
- package/hmr/shared/vendor/manifest.js.map +1 -1
- package/package.json +1 -1
package/helpers/main-entry.js
CHANGED
|
@@ -6,6 +6,7 @@ import { getProjectFlavor } from './flavor.js';
|
|
|
6
6
|
import { getProjectAppPath, getProjectAppRelativePath, getProjectAppVirtualPath } from './utils.js';
|
|
7
7
|
import { getResolvedAppComponents } from './app-components.js';
|
|
8
8
|
import { toStaticImportSpecifier } from './import-specifier.js';
|
|
9
|
+
import { buildCoreUrl } from './ns-core-url.js';
|
|
9
10
|
// Switched to runtime modules to avoid fragile string injection and enable TS checks
|
|
10
11
|
const projectRoot = getProjectRootPath();
|
|
11
12
|
const appRootDir = getProjectAppPath();
|
|
@@ -68,6 +69,45 @@ export function mainEntryPlugin(opts) {
|
|
|
68
69
|
return null;
|
|
69
70
|
},
|
|
70
71
|
async load(id) {
|
|
72
|
+
// Compute the dev server origin for HMR mode. Under HMR we emit
|
|
73
|
+
// `@nativescript/core*` imports as FULL HTTP URLs so iOS's ESM loader
|
|
74
|
+
// can fetch them directly during bundle.mjs module instantiation —
|
|
75
|
+
// the import map isn't installed yet at that phase. For non-HMR
|
|
76
|
+
// builds, we keep bare specifiers so production bundlers inline core
|
|
77
|
+
// the normal way.
|
|
78
|
+
const getBootOrigin = () => {
|
|
79
|
+
if (!opts.hmrActive)
|
|
80
|
+
return null;
|
|
81
|
+
try {
|
|
82
|
+
const configuredHost = typeof resolvedConfig.server.host === 'string' && resolvedConfig.server.host ? resolvedConfig.server.host : 'localhost';
|
|
83
|
+
const bootHost = (process.env.NS_HMR_HOST || '') || configuredHost;
|
|
84
|
+
const bootProtocol = resolvedConfig.server.https || opts.useHttps ? 'https' : 'http';
|
|
85
|
+
const bootPort = Number(resolvedConfig.server.port || 5173);
|
|
86
|
+
return `${bootProtocol}://${bootHost}:${bootPort}`;
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
// Return a spec string for @nativescript/core or a subpath that is
|
|
93
|
+
// guaranteed to resolve at iOS module-instantiation time. Under HMR
|
|
94
|
+
// this is always a full HTTP URL into the /ns/core bridge (no
|
|
95
|
+
// import-map dependency). Under non-HMR it's the bare specifier for
|
|
96
|
+
// the bundler to handle.
|
|
97
|
+
//
|
|
98
|
+
// Under HMR, delegates to buildCoreUrl() — the ONE canonical URL
|
|
99
|
+
// generator (see Invariant A, HMR_CORE_REALM_DETERMINISTIC_PLAN.md).
|
|
100
|
+
// Every URL emitter in the build/runtime pipeline (this function,
|
|
101
|
+
// ns-core-external-urls, rewriteSpec, runtime import map) uses the
|
|
102
|
+
// same function so iOS's HTTP ESM cache sees byte-identical URLs.
|
|
103
|
+
const coreSpec = (subpath) => {
|
|
104
|
+
const origin = getBootOrigin();
|
|
105
|
+
if (origin) {
|
|
106
|
+
return buildCoreUrl(origin, subpath);
|
|
107
|
+
}
|
|
108
|
+
const sub = subpath ? String(subpath).replace(/^\/+/, '') : '';
|
|
109
|
+
return sub ? `@nativescript/core/${sub}` : '@nativescript/core';
|
|
110
|
+
};
|
|
71
111
|
// Virtual module that processes app.css through PostCSS/Tailwind and returns as a JS string.
|
|
72
112
|
// This avoids using ?inline which conflicts with @analogjs/vite-plugin-angular's CSS
|
|
73
113
|
// interception in Vite 8 — the Angular plugin converts ?inline CSS to JS via its load hook
|
|
@@ -85,7 +125,7 @@ export function mainEntryPlugin(opts) {
|
|
|
85
125
|
// guaranteeing XMLHttpRequest is on globalThis before zone.js or any other code accesses it.
|
|
86
126
|
if (id === XHR_POLYFILL_RESOLVED) {
|
|
87
127
|
return {
|
|
88
|
-
code: [
|
|
128
|
+
code: [`import * as xhrImpl from ${JSON.stringify(coreSpec('xhr'))};`, "var polyfills = ['XMLHttpRequest','FormData','Blob','File','FileReader'];", 'for (var i = 0; i < polyfills.length; i++) {', ' var n = polyfills[i];', ' if (!(n in globalThis) && xhrImpl[n]) globalThis[n] = xhrImpl[n];', '}'].join('\n'),
|
|
89
129
|
moduleType: 'js',
|
|
90
130
|
};
|
|
91
131
|
}
|
|
@@ -93,12 +133,124 @@ export function mainEntryPlugin(opts) {
|
|
|
93
133
|
return null;
|
|
94
134
|
// consistent verbose flag to easily reference below
|
|
95
135
|
let imports = "const __nsVerboseLog = typeof __NS_ENV_VERBOSE__ !== 'undefined' && __NS_ENV_VERBOSE__;\n";
|
|
96
|
-
// Ensure any CommonJS-style tooling requires (e.g. from Babel or
|
|
97
|
-
// build-time libraries that may be accidentally bundled) do
|
|
98
|
-
// to resolve Node built-ins like 'fs' or 'path' on
|
|
99
|
-
// are not used at runtime for NativeScript
|
|
100
|
-
// empty object from a
|
|
101
|
-
|
|
136
|
+
// Ensure any CommonJS-style tooling requires (e.g. from Babel or
|
|
137
|
+
// other build-time libraries that may be accidentally bundled) do
|
|
138
|
+
// not attempt to resolve Node built-ins like 'fs' or 'path' on
|
|
139
|
+
// device. These modules are not used at runtime for NativeScript
|
|
140
|
+
// apps, so we safely return an empty object from a shim.
|
|
141
|
+
//
|
|
142
|
+
// IMPORTANT: Under HMR, vendor packages call the real NativeScript
|
|
143
|
+
// CommonJS require() with `@nativescript/core/<sub>` specifiers
|
|
144
|
+
// (e.g. `require('@nativescript/core/ui/core/view').View` in
|
|
145
|
+
// `@nativescript-community/gesturehandler`). If we overwrite
|
|
146
|
+
// globalThis.require with a blanket stub, every such call returns
|
|
147
|
+
// `{}` and any property access on the result (e.g. `.View`) is
|
|
148
|
+
// `undefined`, cascading into `TypeError: Cannot read properties
|
|
149
|
+
// of undefined (reading 'prototype')` inside `applyMixins` when
|
|
150
|
+
// vendor install() hooks run.
|
|
151
|
+
//
|
|
152
|
+
// Instead, install a DELEGATING shim:
|
|
153
|
+
// - If the specifier is a Node built-in (fs, path, os, …) or
|
|
154
|
+
// a webpack-only runtime hook (require.context), return a
|
|
155
|
+
// safe empty stub.
|
|
156
|
+
// - Otherwise, delegate to the preserved original
|
|
157
|
+
// `globalThis.require` (NativeScript's native CJS loader),
|
|
158
|
+
// which routes `@nativescript/core*` through the HTTP bridge
|
|
159
|
+
// or, for already-HTTP-loaded modules, through the
|
|
160
|
+
// `globalThis.__NS_CORE_MODULES__` registry populated by the
|
|
161
|
+
// `/ns/core` bridge preamble (see Invariant C in
|
|
162
|
+
// HMR_CORE_REALM_DETERMINISTIC_PLAN.md).
|
|
163
|
+
imports += "try { if (typeof globalThis !== 'undefined') {\n";
|
|
164
|
+
imports += " var __nsOrigRequire = typeof globalThis.require === 'function' ? globalThis.require : null;\n";
|
|
165
|
+
imports += ' var __nsNodeBuiltins = { fs: 1, path: 1, os: 1, url: 1, crypto: 1, util: 1, stream: 1, events: 1, buffer: 1, http: 1, https: 1, net: 1, tls: 1, dns: 1, child_process: 1, module: 1, zlib: 1, querystring: 1, assert: 1, constants: 1, vm: 1 };\n';
|
|
166
|
+
// Mirror helpers/ns-core-url.ts normalizeCoreSub() inline so the
|
|
167
|
+
// lookup against __NS_CORE_MODULES__ uses the same keys the
|
|
168
|
+
// /ns/core handler registers under.
|
|
169
|
+
imports += ' var __nsNormSub = function (s) {\n';
|
|
170
|
+
imports += " if (!s) return '';\n";
|
|
171
|
+
imports += " var t = String(s).split('?')[0].split('#')[0].trim();\n";
|
|
172
|
+
imports += " t = t.replace(/^\\/+/, '').replace(/\\/+$/, '');\n";
|
|
173
|
+
imports += " t = t.replace(/\\.(?:mjs|cjs|js)$/, '');\n";
|
|
174
|
+
imports += " if (t.length >= 6 && t.substring(t.length - 6) === '/index') t = t.substring(0, t.length - 6);\n";
|
|
175
|
+
imports += " if (!t || t === 'index') return '';\n";
|
|
176
|
+
imports += ' return t;\n';
|
|
177
|
+
imports += ' };\n';
|
|
178
|
+
// Invariant D: CJS/ESM interop shape helper.
|
|
179
|
+
//
|
|
180
|
+
// Install a global, idempotent shape function that converts
|
|
181
|
+
// ESM Module Namespace Objects (which have [[Prototype]] = null
|
|
182
|
+
// per spec §9.4.6) into plain Objects that inherit from
|
|
183
|
+
// Object.prototype. CJS consumers — especially zone.js's
|
|
184
|
+
// patchMethod() — call `hasOwnProperty`, `toString`, etc. on
|
|
185
|
+
// their require() result; a null-proto namespace throws
|
|
186
|
+
// "X is not a function" on the first such call.
|
|
187
|
+
//
|
|
188
|
+
// Properties:
|
|
189
|
+
// - Recursive: @nativescript/core re-exports Utils/Http/Trace
|
|
190
|
+
// as nested namespaces (`export * as Utils from './utils'`),
|
|
191
|
+
// each also null-proto. Shallow wrapping leaves those.
|
|
192
|
+
// - Identity-preserving via a WeakMap cache keyed on the
|
|
193
|
+
// underlying namespace. zone.js MUTATES its target (stashes
|
|
194
|
+
// delegate symbols, overwrites methods); a fresh copy per
|
|
195
|
+
// require() would lose those mutations on the next lookup.
|
|
196
|
+
// - Installed ONCE on globalThis so the /ns/core handler's
|
|
197
|
+
// registration footer, the vendor shim's createRequire, and
|
|
198
|
+
// any other consumer share the same cache and see
|
|
199
|
+
// mutation-consistent shapes.
|
|
200
|
+
imports += ' var __nsShapeCache = globalThis.__NS_CJS_SHAPE_CACHE__ || (globalThis.__NS_CJS_SHAPE_CACHE__ = new WeakMap());\n';
|
|
201
|
+
imports += ' var __nsShapeCjs = globalThis.__NS_CJS_SHAPE__ || (globalThis.__NS_CJS_SHAPE__ = function __nsShape(obj) {\n';
|
|
202
|
+
imports += " if (!obj || typeof obj !== 'object') return obj;\n";
|
|
203
|
+
imports += ' var proto = Object.getPrototypeOf(obj);\n';
|
|
204
|
+
imports += ' var isNsModule = false;\n';
|
|
205
|
+
imports += " try { isNsModule = obj[Symbol.toStringTag] === 'Module'; } catch (e) {}\n";
|
|
206
|
+
imports += ' if (proto !== null && !isNsModule) return obj;\n';
|
|
207
|
+
imports += ' if (__nsShapeCache.has(obj)) return __nsShapeCache.get(obj);\n';
|
|
208
|
+
imports += ' var out = {};\n';
|
|
209
|
+
imports += ' __nsShapeCache.set(obj, out);\n';
|
|
210
|
+
imports += ' try {\n';
|
|
211
|
+
imports += ' var keys = Object.keys(obj);\n';
|
|
212
|
+
imports += ' for (var i = 0; i < keys.length; i++) {\n';
|
|
213
|
+
imports += ' var k = keys[i];\n';
|
|
214
|
+
imports += ' try { out[k] = __nsShape(obj[k]); } catch (e) {}\n';
|
|
215
|
+
imports += ' }\n';
|
|
216
|
+
imports += ' } catch (e) {}\n';
|
|
217
|
+
imports += ' return out;\n';
|
|
218
|
+
imports += ' });\n';
|
|
219
|
+
imports += ' var _nsReq = function (id) {\n';
|
|
220
|
+
imports += ' try {\n';
|
|
221
|
+
imports += " var n = String(id || '');\n";
|
|
222
|
+
imports += " var stripped = n.indexOf('node:') === 0 ? n.slice(5) : n;\n";
|
|
223
|
+
imports += ' if (__nsNodeBuiltins[stripped]) return {};\n';
|
|
224
|
+
imports += " if (n === '@nativescript/core' || n.indexOf('@nativescript/core/') === 0) {\n";
|
|
225
|
+
imports += ' var table = globalThis.__NS_CORE_MODULES__;\n';
|
|
226
|
+
imports += ' if (table) {\n';
|
|
227
|
+
// Table entries are ALREADY shaped (the /ns/core footer stores
|
|
228
|
+
// the shape, not the raw namespace). But we pass through
|
|
229
|
+
// __nsShapeCjs anyway — it's a no-op on already-shaped values
|
|
230
|
+
// (fast path: `proto !== null && !isNsModule` returns obj as-is)
|
|
231
|
+
// and guards against future changes to how the registry is
|
|
232
|
+
// populated (e.g., by direct assignment from test code).
|
|
233
|
+
imports += ' if (table[n]) return __nsShapeCjs(table[n]);\n';
|
|
234
|
+
imports += " var rawSub = n === '@nativescript/core' ? '' : n.slice('@nativescript/core/'.length);\n";
|
|
235
|
+
imports += ' var normSub = __nsNormSub(rawSub);\n';
|
|
236
|
+
imports += " var bareKey = normSub ? '@nativescript/core/' + normSub : '@nativescript/core';\n";
|
|
237
|
+
imports += ' if (table[bareKey]) return __nsShapeCjs(table[bareKey]);\n';
|
|
238
|
+
imports += ' if (table[normSub]) return __nsShapeCjs(table[normSub]);\n';
|
|
239
|
+
imports += ' }\n';
|
|
240
|
+
imports += ' }\n';
|
|
241
|
+
// Fallback to native require (NativeScript CJS loader via HTTP
|
|
242
|
+
// bridge). Shape the result too — the native loader may return
|
|
243
|
+
// a raw ESM namespace for core subpaths served before the /ns/core
|
|
244
|
+
// footer runs.
|
|
245
|
+
imports += ' if (__nsOrigRequire) return __nsShapeCjs(__nsOrigRequire(id));\n';
|
|
246
|
+
imports += ' } catch (e) {}\n';
|
|
247
|
+
imports += ' return {};\n';
|
|
248
|
+
imports += ' };\n';
|
|
249
|
+
imports += ' _nsReq.context = function () { var _c = { keys: function () { return []; } }; _c.__esModule = true; return _c; };\n';
|
|
250
|
+
imports += ' if (__nsOrigRequire) { try { _nsReq.resolve = __nsOrigRequire.resolve ? __nsOrigRequire.resolve.bind(__nsOrigRequire) : function (id) { return id; }; } catch (e) {} }\n';
|
|
251
|
+
imports += ' globalThis.require = _nsReq;\n';
|
|
252
|
+
imports += ' globalThis.__nsOrigRequire = __nsOrigRequire;\n';
|
|
253
|
+
imports += '} } catch {}\n';
|
|
102
254
|
// Banner diagnostics for visibility at runtime
|
|
103
255
|
if (opts.verbose) {
|
|
104
256
|
imports += `console.info('[ns-entry] begin', { platform: ${JSON.stringify(opts.platform)}, dev: ${JSON.stringify(opts.isDevMode)}, hmr: ${JSON.stringify(opts.hmrActive)}, verbose: ${JSON.stringify(opts.verbose)}, mainEntry: ${JSON.stringify(mainEntry)}, mainRel: ${JSON.stringify(mainEntryRelPosix)}, time: new Date().toISOString() });\n`;
|
|
@@ -128,14 +280,16 @@ export function mainEntryPlugin(opts) {
|
|
|
128
280
|
// Install XHR polyfill FIRST — its virtual module body runs during import evaluation,
|
|
129
281
|
// before any subsequent import (like zone.js) can reference XMLHttpRequest.
|
|
130
282
|
imports += `import '${XHR_POLYFILL_VIRTUAL_ID}';\n`;
|
|
131
|
-
// Load globals early
|
|
132
|
-
|
|
283
|
+
// Load globals early. Under HMR we use a full HTTP URL so iOS's
|
|
284
|
+
// ESM loader can fetch it directly at module-instantiation time —
|
|
285
|
+
// the import map isn't installed yet at that phase.
|
|
286
|
+
imports += `import ${JSON.stringify(coreSpec('globals/index'))};\n`;
|
|
133
287
|
if (opts.verbose) {
|
|
134
288
|
imports += `console.info('[ns-entry] core globals loaded');\n`;
|
|
135
289
|
}
|
|
136
290
|
// Seed the real NativeScript Application singleton before any early HMR/placeholder
|
|
137
291
|
// code runs. Dynamic discovery is too late for iOS placeholder startup.
|
|
138
|
-
imports +=
|
|
292
|
+
imports += `import { Application as __nsEarlyApplication } from ${JSON.stringify(coreSpec('application'))};\n`;
|
|
139
293
|
imports += `try { if (__nsEarlyApplication && (typeof __nsEarlyApplication.run === 'function' || typeof __nsEarlyApplication.on === 'function' || typeof __nsEarlyApplication.resetRootView === 'function')) { globalThis.Application = __nsEarlyApplication; } } catch {}\n`;
|
|
140
294
|
if (opts.verbose) {
|
|
141
295
|
imports += `console.info('[ns-entry] early Application seeded', { hasRun: typeof globalThis.Application?.run === 'function', hasOn: typeof globalThis.Application?.on === 'function', hasResetRootView: typeof globalThis.Application?.resetRootView === 'function' });\n`;
|
|
@@ -171,7 +325,7 @@ export function mainEntryPlugin(opts) {
|
|
|
171
325
|
}
|
|
172
326
|
}
|
|
173
327
|
// Load NS bundle entry points after early hook
|
|
174
|
-
imports +=
|
|
328
|
+
imports += `import ${JSON.stringify(coreSpec('bundle-entry-points'))};\n`;
|
|
175
329
|
if (opts.verbose) {
|
|
176
330
|
imports += `console.info('[ns-entry] bundle-entry-points loaded');\n`;
|
|
177
331
|
}
|
|
@@ -244,7 +398,7 @@ export function mainEntryPlugin(opts) {
|
|
|
244
398
|
imports += `try { globalThis.__NS_HMR_APP_CSS__ = appCssContent; } catch {}\n`;
|
|
245
399
|
}
|
|
246
400
|
}
|
|
247
|
-
imports += `import { Application } from
|
|
401
|
+
imports += `import { Application } from ${JSON.stringify(coreSpec())};\n`;
|
|
248
402
|
if (hasAppCss) {
|
|
249
403
|
imports += `if (appCssContent) { try { Application.addCss(appCssContent); } catch (error) { console.error('Error applying CSS:', error); } }\n`;
|
|
250
404
|
if (opts.verbose) {
|
|
@@ -300,7 +454,7 @@ export function mainEntryPlugin(opts) {
|
|
|
300
454
|
}
|
|
301
455
|
if (opts.isDevMode) {
|
|
302
456
|
// debug tools support
|
|
303
|
-
imports +=
|
|
457
|
+
imports += `import ${JSON.stringify(coreSpec('inspector_modules'))};\n`;
|
|
304
458
|
if (opts.verbose) {
|
|
305
459
|
imports += "console.info('[ns-entry] inspector modules imported');\n";
|
|
306
460
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main-entry.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/main-entry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main-entry.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/main-entry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single canonical URL generator for `@nativescript/core` under HMR.
|
|
3
|
+
*
|
|
4
|
+
* Invariant A (HMR_CORE_REALM_DETERMINISTIC_PLAN.md):
|
|
5
|
+
* Every public-facing reference to `@nativescript/core[/sub]` resolves to
|
|
6
|
+
* exactly one URL string — byte-for-byte identical across every emitter
|
|
7
|
+
* (bundle entry, external-urls plugin, rewriter, import map, runtime
|
|
8
|
+
* require). There is no ambiguity about `?p=` vs path, `.js` vs
|
|
9
|
+
* extensionless, versioned vs unversioned.
|
|
10
|
+
*
|
|
11
|
+
* This module is the ONE site that constructs those URLs. Every caller in
|
|
12
|
+
* the repo should use `buildCoreUrl()` (or `buildCoreUrlPath()` when origin
|
|
13
|
+
* is not known yet). A single violation of canonical form produces a
|
|
14
|
+
* distinct iOS HTTP ESM cache entry for the same file — re-evaluating the
|
|
15
|
+
* module body, re-running `CssAnimationProperty.register(...)` side
|
|
16
|
+
* effects, and crashing with `Cannot redefine property`.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Normalize a user-provided subpath into the canonical form used by the
|
|
20
|
+
* /ns/core bridge. Strips:
|
|
21
|
+
* - Query and hash (`?v=…`, `#…`)
|
|
22
|
+
* - Leading / trailing slashes
|
|
23
|
+
* - Trailing `.js`/`.mjs`/`.cjs` extension (platform-suffixed forms are
|
|
24
|
+
* preserved: `.ios.js` → `.ios`)
|
|
25
|
+
* - Trailing `/index` segment (package-main sibling: `globals/index` →
|
|
26
|
+
* `globals`; `ui/core/view/index` → `ui/core/view`)
|
|
27
|
+
* - Canonical index forms (`index`, `index.js`, empty) → empty string
|
|
28
|
+
*
|
|
29
|
+
* Returns empty string for the main module (`@nativescript/core` itself).
|
|
30
|
+
*/
|
|
31
|
+
export declare function normalizeCoreSub(sub?: string | null): string;
|
|
32
|
+
/**
|
|
33
|
+
* Canonical PATH (no origin) for a core module.
|
|
34
|
+
* Used by middleware/redirects where we don't have the dev-server origin.
|
|
35
|
+
*
|
|
36
|
+
* '' → '/ns/core'
|
|
37
|
+
* 'application' → '/ns/core/application'
|
|
38
|
+
* 'ui/core/view' → '/ns/core/ui/core/view'
|
|
39
|
+
* 'globals/index' → '/ns/core/globals'
|
|
40
|
+
*/
|
|
41
|
+
export declare function buildCoreUrlPath(sub?: string | null): string;
|
|
42
|
+
/**
|
|
43
|
+
* Canonical FULL URL for a core module.
|
|
44
|
+
*
|
|
45
|
+
* origin='http://localhost:5173', sub='application'
|
|
46
|
+
* → 'http://localhost:5173/ns/core/application'
|
|
47
|
+
*
|
|
48
|
+
* Throws if origin is empty — callers that may not have origin should use
|
|
49
|
+
* `buildCoreUrlPath()` instead.
|
|
50
|
+
*/
|
|
51
|
+
export declare function buildCoreUrl(origin: string, sub?: string | null): string;
|
|
52
|
+
/**
|
|
53
|
+
* Detect whether a URL or path references the /ns/core bridge.
|
|
54
|
+
* Accepts both relative `/ns/core/...` and absolute `http(s)://.../ns/core/...`.
|
|
55
|
+
*/
|
|
56
|
+
export declare function isCoreBridgeUrl(input: string): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Extract the canonical sub path from a /ns/core URL.
|
|
59
|
+
* 'http://localhost:5173/ns/core' → ''
|
|
60
|
+
* 'http://localhost:5173/ns/core/application' → 'application'
|
|
61
|
+
* '/ns/core/ui/core/view' → 'ui/core/view'
|
|
62
|
+
* '/ns/core?p=foo' → 'foo' (legacy form tolerated)
|
|
63
|
+
* 'http://example.com/other' → null
|
|
64
|
+
*/
|
|
65
|
+
export declare function extractCoreSub(input: string): string | null;
|
|
66
|
+
/**
|
|
67
|
+
* Convert a bare `@nativescript/core[/sub]` specifier or an absolute path
|
|
68
|
+
* pointing into `@nativescript/core`'s node_modules install into the
|
|
69
|
+
* canonical sub path. Returns null for anything else.
|
|
70
|
+
*
|
|
71
|
+
* '@nativescript/core' → ''
|
|
72
|
+
* '@nativescript/core/application' → 'application'
|
|
73
|
+
* '/node_modules/@nativescript/core/ui/core/view.js' → 'ui/core/view'
|
|
74
|
+
* '/foo/bar/baz' → null
|
|
75
|
+
*/
|
|
76
|
+
export declare function specToCoreSub(spec: string): string | null;
|
|
77
|
+
/**
|
|
78
|
+
* Produce the set of "runtime module id" strings we expose in
|
|
79
|
+
* `globalThis.__NS_CORE_MODULES__` for a given sub. Callers of the vendor
|
|
80
|
+
* CJS shim may request any of these forms for the same module; we register
|
|
81
|
+
* all of them to the one namespace so lookups are never ambiguous.
|
|
82
|
+
*/
|
|
83
|
+
export declare function moduleRegistrationKeys(sub?: string | null): string[];
|
|
84
|
+
export declare const CORE_SCOPE = "@nativescript/core";
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single canonical URL generator for `@nativescript/core` under HMR.
|
|
3
|
+
*
|
|
4
|
+
* Invariant A (HMR_CORE_REALM_DETERMINISTIC_PLAN.md):
|
|
5
|
+
* Every public-facing reference to `@nativescript/core[/sub]` resolves to
|
|
6
|
+
* exactly one URL string — byte-for-byte identical across every emitter
|
|
7
|
+
* (bundle entry, external-urls plugin, rewriter, import map, runtime
|
|
8
|
+
* require). There is no ambiguity about `?p=` vs path, `.js` vs
|
|
9
|
+
* extensionless, versioned vs unversioned.
|
|
10
|
+
*
|
|
11
|
+
* This module is the ONE site that constructs those URLs. Every caller in
|
|
12
|
+
* the repo should use `buildCoreUrl()` (or `buildCoreUrlPath()` when origin
|
|
13
|
+
* is not known yet). A single violation of canonical form produces a
|
|
14
|
+
* distinct iOS HTTP ESM cache entry for the same file — re-evaluating the
|
|
15
|
+
* module body, re-running `CssAnimationProperty.register(...)` side
|
|
16
|
+
* effects, and crashing with `Cannot redefine property`.
|
|
17
|
+
*/
|
|
18
|
+
const CORE_SCOPE_PREFIX = '@nativescript/core';
|
|
19
|
+
/**
|
|
20
|
+
* Normalize a user-provided subpath into the canonical form used by the
|
|
21
|
+
* /ns/core bridge. Strips:
|
|
22
|
+
* - Query and hash (`?v=…`, `#…`)
|
|
23
|
+
* - Leading / trailing slashes
|
|
24
|
+
* - Trailing `.js`/`.mjs`/`.cjs` extension (platform-suffixed forms are
|
|
25
|
+
* preserved: `.ios.js` → `.ios`)
|
|
26
|
+
* - Trailing `/index` segment (package-main sibling: `globals/index` →
|
|
27
|
+
* `globals`; `ui/core/view/index` → `ui/core/view`)
|
|
28
|
+
* - Canonical index forms (`index`, `index.js`, empty) → empty string
|
|
29
|
+
*
|
|
30
|
+
* Returns empty string for the main module (`@nativescript/core` itself).
|
|
31
|
+
*/
|
|
32
|
+
export function normalizeCoreSub(sub) {
|
|
33
|
+
if (!sub)
|
|
34
|
+
return '';
|
|
35
|
+
let s = String(sub).split('?')[0].split('#')[0].trim();
|
|
36
|
+
s = s.replace(/^\/+/, '').replace(/\/+$/, '');
|
|
37
|
+
s = s.replace(/\.(?:mjs|cjs|js)$/, '');
|
|
38
|
+
// Strip trailing `/index` so that `globals/index` → `globals`, matching
|
|
39
|
+
// the bare import form that consumers spell as `@nativescript/core/globals`.
|
|
40
|
+
// The main module case (`index` alone) is handled below.
|
|
41
|
+
if (s.endsWith('/index')) {
|
|
42
|
+
s = s.slice(0, -'/index'.length);
|
|
43
|
+
}
|
|
44
|
+
if (!s || s === 'index')
|
|
45
|
+
return '';
|
|
46
|
+
return s;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Canonical PATH (no origin) for a core module.
|
|
50
|
+
* Used by middleware/redirects where we don't have the dev-server origin.
|
|
51
|
+
*
|
|
52
|
+
* '' → '/ns/core'
|
|
53
|
+
* 'application' → '/ns/core/application'
|
|
54
|
+
* 'ui/core/view' → '/ns/core/ui/core/view'
|
|
55
|
+
* 'globals/index' → '/ns/core/globals'
|
|
56
|
+
*/
|
|
57
|
+
export function buildCoreUrlPath(sub) {
|
|
58
|
+
const s = normalizeCoreSub(sub);
|
|
59
|
+
return s ? `/ns/core/${s}` : '/ns/core';
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Canonical FULL URL for a core module.
|
|
63
|
+
*
|
|
64
|
+
* origin='http://localhost:5173', sub='application'
|
|
65
|
+
* → 'http://localhost:5173/ns/core/application'
|
|
66
|
+
*
|
|
67
|
+
* Throws if origin is empty — callers that may not have origin should use
|
|
68
|
+
* `buildCoreUrlPath()` instead.
|
|
69
|
+
*/
|
|
70
|
+
export function buildCoreUrl(origin, sub) {
|
|
71
|
+
if (!origin) {
|
|
72
|
+
throw new Error('[ns-core-url] buildCoreUrl requires a non-empty origin. Use buildCoreUrlPath() when origin is not yet known.');
|
|
73
|
+
}
|
|
74
|
+
const trimmedOrigin = origin.replace(/\/+$/, '');
|
|
75
|
+
return `${trimmedOrigin}${buildCoreUrlPath(sub)}`;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Detect whether a URL or path references the /ns/core bridge.
|
|
79
|
+
* Accepts both relative `/ns/core/...` and absolute `http(s)://.../ns/core/...`.
|
|
80
|
+
*/
|
|
81
|
+
export function isCoreBridgeUrl(input) {
|
|
82
|
+
if (!input)
|
|
83
|
+
return false;
|
|
84
|
+
return /\/ns\/core(?:\/|$|\?)/.test(input);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Extract the canonical sub path from a /ns/core URL.
|
|
88
|
+
* 'http://localhost:5173/ns/core' → ''
|
|
89
|
+
* 'http://localhost:5173/ns/core/application' → 'application'
|
|
90
|
+
* '/ns/core/ui/core/view' → 'ui/core/view'
|
|
91
|
+
* '/ns/core?p=foo' → 'foo' (legacy form tolerated)
|
|
92
|
+
* 'http://example.com/other' → null
|
|
93
|
+
*/
|
|
94
|
+
export function extractCoreSub(input) {
|
|
95
|
+
if (!isCoreBridgeUrl(input))
|
|
96
|
+
return null;
|
|
97
|
+
try {
|
|
98
|
+
const u = new URL(input, 'http://placeholder.invalid');
|
|
99
|
+
const pathname = u.pathname;
|
|
100
|
+
const pRaw = u.searchParams.get('p');
|
|
101
|
+
if (pRaw)
|
|
102
|
+
return normalizeCoreSub(pRaw);
|
|
103
|
+
const afterCore = pathname.replace(/^.*\/ns\/core(?:\/|$)/, '');
|
|
104
|
+
return normalizeCoreSub(afterCore);
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
// Fall back to literal parsing if URL constructor fails
|
|
108
|
+
const m = input.match(/\/ns\/core(?:\/([^?#]*))?/);
|
|
109
|
+
if (!m)
|
|
110
|
+
return null;
|
|
111
|
+
return normalizeCoreSub(m[1] || '');
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Convert a bare `@nativescript/core[/sub]` specifier or an absolute path
|
|
116
|
+
* pointing into `@nativescript/core`'s node_modules install into the
|
|
117
|
+
* canonical sub path. Returns null for anything else.
|
|
118
|
+
*
|
|
119
|
+
* '@nativescript/core' → ''
|
|
120
|
+
* '@nativescript/core/application' → 'application'
|
|
121
|
+
* '/node_modules/@nativescript/core/ui/core/view.js' → 'ui/core/view'
|
|
122
|
+
* '/foo/bar/baz' → null
|
|
123
|
+
*/
|
|
124
|
+
export function specToCoreSub(spec) {
|
|
125
|
+
if (!spec)
|
|
126
|
+
return null;
|
|
127
|
+
const cleaned = spec.split('?')[0].split('#')[0];
|
|
128
|
+
if (cleaned === CORE_SCOPE_PREFIX)
|
|
129
|
+
return '';
|
|
130
|
+
if (cleaned.startsWith(CORE_SCOPE_PREFIX + '/')) {
|
|
131
|
+
return normalizeCoreSub(cleaned.slice(CORE_SCOPE_PREFIX.length + 1));
|
|
132
|
+
}
|
|
133
|
+
const abs = cleaned.replace(/\\/g, '/').match(/\/node_modules\/@nativescript\/core\/(.+?)$/);
|
|
134
|
+
if (abs)
|
|
135
|
+
return normalizeCoreSub(abs[1]);
|
|
136
|
+
// Case: the path ENDS at the core root (no subpath).
|
|
137
|
+
if (/\/node_modules\/@nativescript\/core\/?$/.test(cleaned.replace(/\\/g, '/'))) {
|
|
138
|
+
return '';
|
|
139
|
+
}
|
|
140
|
+
return null;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Produce the set of "runtime module id" strings we expose in
|
|
144
|
+
* `globalThis.__NS_CORE_MODULES__` for a given sub. Callers of the vendor
|
|
145
|
+
* CJS shim may request any of these forms for the same module; we register
|
|
146
|
+
* all of them to the one namespace so lookups are never ambiguous.
|
|
147
|
+
*/
|
|
148
|
+
export function moduleRegistrationKeys(sub) {
|
|
149
|
+
const s = normalizeCoreSub(sub);
|
|
150
|
+
const keys = new Set();
|
|
151
|
+
if (!s) {
|
|
152
|
+
keys.add(CORE_SCOPE_PREFIX);
|
|
153
|
+
keys.add('');
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
keys.add(`${CORE_SCOPE_PREFIX}/${s}`);
|
|
157
|
+
keys.add(s);
|
|
158
|
+
// Tolerate `.js` tail on the key (some consumers spell it out).
|
|
159
|
+
keys.add(`${CORE_SCOPE_PREFIX}/${s}.js`);
|
|
160
|
+
keys.add(`${s}.js`);
|
|
161
|
+
// Tolerate `/index` / `/index.js` suffix.
|
|
162
|
+
keys.add(`${CORE_SCOPE_PREFIX}/${s}/index`);
|
|
163
|
+
keys.add(`${CORE_SCOPE_PREFIX}/${s}/index.js`);
|
|
164
|
+
}
|
|
165
|
+
return Array.from(keys);
|
|
166
|
+
}
|
|
167
|
+
export const CORE_SCOPE = CORE_SCOPE_PREFIX;
|
|
168
|
+
//# sourceMappingURL=ns-core-url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ns-core-url.js","sourceRoot":"","sources":["../../../../packages/vite/helpers/ns-core-url.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* alpha.62 follow-up — client-side helper for `ns:hmr-pending`.
|
|
3
|
+
*
|
|
4
|
+
* Server emits `ns:hmr-pending` immediately when `handleHotUpdate`
|
|
5
|
+
* fires, BEFORE doing any graph upserts / transforms / dependency
|
|
6
|
+
* analysis. The client uses that hint to drive the HMR-applying
|
|
7
|
+
* overlay's 'received' frame so the user sees an instant reaction
|
|
8
|
+
* to their save instead of waiting ~7–200ms for the framework
|
|
9
|
+
* payload (`ns:angular-update` / `ns:css-updates`) to arrive.
|
|
10
|
+
*
|
|
11
|
+
* This module is intentionally a tiny pure helper so the gating
|
|
12
|
+
* (`__NS_HMR_PROGRESS_OVERLAY_ENABLED__`) and detail-string formatting
|
|
13
|
+
* can be unit-tested without booting the full HMR client.
|
|
14
|
+
*/
|
|
15
|
+
export type HmrOverlayApiLike = {
|
|
16
|
+
setUpdateStage?: (stage: string, info?: {
|
|
17
|
+
detail?: string;
|
|
18
|
+
}) => unknown;
|
|
19
|
+
} | null | undefined;
|
|
20
|
+
export type HmrPendingHandlerDeps = {
|
|
21
|
+
/** Resolves the live overlay API. Returning null/undefined is treated as "no overlay installed". */
|
|
22
|
+
getOverlay: () => HmrOverlayApiLike;
|
|
23
|
+
/** Override the build-time gate for testing. Defaults to reading `__NS_HMR_PROGRESS_OVERLAY_ENABLED__` (or `true` when undefined). */
|
|
24
|
+
overlayEnabled?: boolean;
|
|
25
|
+
};
|
|
26
|
+
export declare function buildHmrPendingDetail(filePath: string | undefined): string;
|
|
27
|
+
export declare function applyHmrPendingFrame(filePath: string | undefined, deps: HmrPendingHandlerDeps): boolean;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* alpha.62 follow-up — client-side helper for `ns:hmr-pending`.
|
|
3
|
+
*
|
|
4
|
+
* Server emits `ns:hmr-pending` immediately when `handleHotUpdate`
|
|
5
|
+
* fires, BEFORE doing any graph upserts / transforms / dependency
|
|
6
|
+
* analysis. The client uses that hint to drive the HMR-applying
|
|
7
|
+
* overlay's 'received' frame so the user sees an instant reaction
|
|
8
|
+
* to their save instead of waiting ~7–200ms for the framework
|
|
9
|
+
* payload (`ns:angular-update` / `ns:css-updates`) to arrive.
|
|
10
|
+
*
|
|
11
|
+
* This module is intentionally a tiny pure helper so the gating
|
|
12
|
+
* (`__NS_HMR_PROGRESS_OVERLAY_ENABLED__`) and detail-string formatting
|
|
13
|
+
* can be unit-tested without booting the full HMR client.
|
|
14
|
+
*/
|
|
15
|
+
export function buildHmrPendingDetail(filePath) {
|
|
16
|
+
if (!filePath || filePath === '<unknown>')
|
|
17
|
+
return 'Preparing update';
|
|
18
|
+
return `Updating ${filePath}`;
|
|
19
|
+
}
|
|
20
|
+
export function applyHmrPendingFrame(filePath, deps) {
|
|
21
|
+
const enabled = typeof deps.overlayEnabled === 'boolean'
|
|
22
|
+
? deps.overlayEnabled
|
|
23
|
+
: (() => {
|
|
24
|
+
try {
|
|
25
|
+
return typeof __NS_HMR_PROGRESS_OVERLAY_ENABLED__ === 'boolean' ? __NS_HMR_PROGRESS_OVERLAY_ENABLED__ : true;
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
})();
|
|
31
|
+
if (!enabled)
|
|
32
|
+
return false;
|
|
33
|
+
let api;
|
|
34
|
+
try {
|
|
35
|
+
api = deps.getOverlay();
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
if (!api || typeof api.setUpdateStage !== 'function')
|
|
41
|
+
return false;
|
|
42
|
+
try {
|
|
43
|
+
api.setUpdateStage('received', { detail: buildHmrPendingDetail(filePath) });
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=hmr-pending-overlay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hmr-pending-overlay.js","sourceRoot":"","sources":["../../../../../packages/vite/hmr/client/hmr-pending-overlay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAkBH,MAAM,UAAU,qBAAqB,CAAC,QAA4B;IACjE,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,WAAW;QAAE,OAAO,kBAAkB,CAAC;IACrE,OAAO,YAAY,QAAQ,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAA4B,EAAE,IAA2B;IAC7F,MAAM,OAAO,GACZ,OAAO,IAAI,CAAC,cAAc,KAAK,SAAS;QACvC,CAAC,CAAC,IAAI,CAAC,cAAc;QACrB,CAAC,CAAC,CAAC,GAAG,EAAE;YACN,IAAI,CAAC;gBACJ,OAAO,OAAO,mCAAmC,KAAK,SAAS,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9G,CAAC;YAAC,MAAM,CAAC;gBACR,OAAO,IAAI,CAAC;YACb,CAAC;QACF,CAAC,CAAC,EAAE,CAAC;IACR,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,IAAI,GAAsB,CAAC;IAC3B,IAAI,CAAC;QACJ,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IACnE,IAAI,CAAC;QACJ,GAAG,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC"}
|