vxrn 1.21.1 → 1.21.2
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/dist/runtime/native-prelude.mjs +0 -14
- package/dist/runtime/native-prelude.mjs.map +1 -1
- package/dist/runtime/native-prelude.native.js +0 -14
- package/dist/runtime/native-prelude.native.js.map +1 -1
- package/dist/utils/createNativeDevEngine.mjs +48 -9
- package/dist/utils/createNativeDevEngine.mjs.map +1 -1
- package/dist/utils/createNativeDevEngine.native.js +48 -11
- package/dist/utils/createNativeDevEngine.native.js.map +1 -1
- package/dist/utils/createNativeDevEngine.test.mjs +54 -1
- package/dist/utils/createNativeDevEngine.test.mjs.map +1 -1
- package/dist/utils/createNativeDevEngine.test.native.js +57 -1
- package/dist/utils/createNativeDevEngine.test.native.js.map +1 -1
- package/expo-plugin.cjs +52 -1
- package/package.json +11 -11
- package/src/runtime/hmr-types.ts +6 -2
- package/src/runtime/native-prelude.ts +0 -14
- package/src/utils/createNativeDevEngine.test.ts +109 -0
- package/src/utils/createNativeDevEngine.ts +109 -30
- package/types/runtime/hmr-types.d.ts +5 -2
- package/types/runtime/hmr-types.d.ts.map +1 -1
- package/types/runtime/native-prelude.d.ts.map +1 -1
- package/types/utils/createNativeDevEngine.d.ts +28 -0
- package/types/utils/createNativeDevEngine.d.ts.map +1 -1
|
@@ -64,20 +64,6 @@ if (typeof globalThis.URLSearchParams === 'undefined') {
|
|
|
64
64
|
};
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
// suppress HMRClient.setup() error from native side
|
|
68
|
-
// native calls HMRClient.setup() during bundle load but we don't use Metro HMR
|
|
69
|
-
// this intercept catches the error and prevents the red screen
|
|
70
|
-
var __origErrorHandler = globalThis.ErrorUtils && globalThis.ErrorUtils.getGlobalHandler && globalThis.ErrorUtils.getGlobalHandler();
|
|
71
|
-
if (globalThis.ErrorUtils && globalThis.ErrorUtils.setGlobalHandler) {
|
|
72
|
-
globalThis.ErrorUtils.setGlobalHandler(function(error, isFatal) {
|
|
73
|
-
if (error && error.message && error.message.indexOf('HMRClient') !== -1) {
|
|
74
|
-
// suppress HMRClient errors silently
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
if (__origErrorHandler) __origErrorHandler(error, isFatal);
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
|
|
81
67
|
// ensure console exists before any library prelude touches it in release bundles
|
|
82
68
|
globalThis.console = globalThis.console || {};
|
|
83
69
|
var console = globalThis.console;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getNativePrelude","options","dev","JSON","stringify","platform","serverUrl","trim"],"sources":["native-prelude.mjs"],"sourcesContent":["function getNativePrelude(options) {\n\treturn `\nvar __BUNDLE_START_TIME__ = globalThis.nativePerformanceNow ? nativePerformanceNow() : Date.now();\n\nvar global = typeof globalThis !== 'undefined' ? globalThis\n : typeof global !== 'undefined' ? global\n : typeof window !== 'undefined' ? window\n : this;\n\nglobalThis.global = global;\nglobalThis.__DEV__ = ${options.dev};\n\n// react native polyfills\nglobal.__FUSEBOX_HAS_FULL_CONSOLE_SUPPORT__ = false;\nglobal.Event = global.Event || function() { return this; };\nglobal.dispatchEvent = global.dispatchEvent || function() {};\nglobal.window = global.window || global;\nglobal.self = global.self || global;\nglobal.navigator = global.navigator || { product: 'ReactNative', userAgent: '' };\nglobal.performance = global.performance || { now: function() { return Date.now(); } };\n\n// ErrorUtils - used by RN's error handling system\nif (!global.ErrorUtils) {\n var _handler = null;\n global.ErrorUtils = {\n setGlobalHandler: function(h) { _handler = h; },\n getGlobalHandler: function() { return _handler; },\n reportFatalError: function(e) { if (_handler) _handler(e, true); else throw e; },\n reportError: function(e) { if (_handler) _handler(e, false); },\n applyWithGuard: function(fn, ctx, args) { try { return fn.apply(ctx, args); } catch(e) { this.reportError(e); } },\n };\n}\n\nif (typeof process === 'undefined') {\n globalThis.process = { env: {} };\n}\nprocess.env.NODE_ENV = ${JSON.stringify(options.dev ? \"development\" : \"production\")};\nprocess.env.EXPO_OS = ${JSON.stringify(options.platform)};\nprocess.env.TAMAGUI_TARGET = 'native';\n${options.serverUrl ? `process.env.ONE_SERVER_URL = ${JSON.stringify(options.serverUrl)};` : \"\"}\n\n// polyfill setImmediate (used by react-native internals)\nif (typeof globalThis.setImmediate === 'undefined') {\n globalThis.setImmediate = function(fn) { return setTimeout(fn, 0); };\n globalThis.clearImmediate = function(id) { clearTimeout(id); };\n}\n\n// polyfill URLSearchParams early (before whatwg-fetch checks for it)\n// RN's polyfillGlobal sets this up later but some modules check at import time\nif (typeof globalThis.URLSearchParams === 'undefined') {\n // minimal URLSearchParams polyfill - will be overridden by RN's proper one\n globalThis.URLSearchParams = function URLSearchParams(init) {\n this._params = {};\n if (typeof init === 'string') {\n init.replace(/^\\\\?/, '').split('&').forEach(function(p) {\n var kv = p.split('=');\n if (kv[0]) this._params[decodeURIComponent(kv[0])] = decodeURIComponent(kv[1] || '');\n }.bind(this));\n }\n };\n globalThis.URLSearchParams.prototype.get = function(k) { return this._params[k] || null; };\n globalThis.URLSearchParams.prototype.toString = function() {\n return Object.keys(this._params).map(function(k) { return encodeURIComponent(k) + '=' + encodeURIComponent(this._params[k]); }.bind(this)).join('&');\n };\n}\n\n//
|
|
1
|
+
{"version":3,"names":["getNativePrelude","options","dev","JSON","stringify","platform","serverUrl","trim"],"sources":["native-prelude.mjs"],"sourcesContent":["function getNativePrelude(options) {\n\treturn `\nvar __BUNDLE_START_TIME__ = globalThis.nativePerformanceNow ? nativePerformanceNow() : Date.now();\n\nvar global = typeof globalThis !== 'undefined' ? globalThis\n : typeof global !== 'undefined' ? global\n : typeof window !== 'undefined' ? window\n : this;\n\nglobalThis.global = global;\nglobalThis.__DEV__ = ${options.dev};\n\n// react native polyfills\nglobal.__FUSEBOX_HAS_FULL_CONSOLE_SUPPORT__ = false;\nglobal.Event = global.Event || function() { return this; };\nglobal.dispatchEvent = global.dispatchEvent || function() {};\nglobal.window = global.window || global;\nglobal.self = global.self || global;\nglobal.navigator = global.navigator || { product: 'ReactNative', userAgent: '' };\nglobal.performance = global.performance || { now: function() { return Date.now(); } };\n\n// ErrorUtils - used by RN's error handling system\nif (!global.ErrorUtils) {\n var _handler = null;\n global.ErrorUtils = {\n setGlobalHandler: function(h) { _handler = h; },\n getGlobalHandler: function() { return _handler; },\n reportFatalError: function(e) { if (_handler) _handler(e, true); else throw e; },\n reportError: function(e) { if (_handler) _handler(e, false); },\n applyWithGuard: function(fn, ctx, args) { try { return fn.apply(ctx, args); } catch(e) { this.reportError(e); } },\n };\n}\n\nif (typeof process === 'undefined') {\n globalThis.process = { env: {} };\n}\nprocess.env.NODE_ENV = ${JSON.stringify(options.dev ? \"development\" : \"production\")};\nprocess.env.EXPO_OS = ${JSON.stringify(options.platform)};\nprocess.env.TAMAGUI_TARGET = 'native';\n${options.serverUrl ? `process.env.ONE_SERVER_URL = ${JSON.stringify(options.serverUrl)};` : \"\"}\n\n// polyfill setImmediate (used by react-native internals)\nif (typeof globalThis.setImmediate === 'undefined') {\n globalThis.setImmediate = function(fn) { return setTimeout(fn, 0); };\n globalThis.clearImmediate = function(id) { clearTimeout(id); };\n}\n\n// polyfill URLSearchParams early (before whatwg-fetch checks for it)\n// RN's polyfillGlobal sets this up later but some modules check at import time\nif (typeof globalThis.URLSearchParams === 'undefined') {\n // minimal URLSearchParams polyfill - will be overridden by RN's proper one\n globalThis.URLSearchParams = function URLSearchParams(init) {\n this._params = {};\n if (typeof init === 'string') {\n init.replace(/^\\\\?/, '').split('&').forEach(function(p) {\n var kv = p.split('=');\n if (kv[0]) this._params[decodeURIComponent(kv[0])] = decodeURIComponent(kv[1] || '');\n }.bind(this));\n }\n };\n globalThis.URLSearchParams.prototype.get = function(k) { return this._params[k] || null; };\n globalThis.URLSearchParams.prototype.toString = function() {\n return Object.keys(this._params).map(function(k) { return encodeURIComponent(k) + '=' + encodeURIComponent(this._params[k]); }.bind(this)).join('&');\n };\n}\n\n// ensure console exists before any library prelude touches it in release bundles\nglobalThis.console = globalThis.console || {};\nvar console = globalThis.console;\nconsole.log = console.log || function() {};\nconsole.info = console.info || function() {};\nconsole.warn = console.warn || function() {};\nconsole.error = console.error || function() {};\nconsole.debug = console.debug || function() {};\nconsole.trace = console.trace || function() {};\n\n// reanimated compat - these console methods must exist to avoid EXC_BAD_ACCESS crash\nconsole.assert = console.assert || function() {};\nconsole.clear = console.clear || function() {};\nconsole.dir = console.dir || function() {};\nconsole.dirxml = console.dirxml || function() {};\nconsole.profile = console.profile || function() {};\nconsole.profileEnd = console.profileEnd || function() {};\nconsole.table = console.table || function() {};\n\n// react refresh stubs (overridden by react-refresh plugin in dev)\n${options.dev ? `\nvar $RefreshReg$ = function() {};\nvar $RefreshSig$ = function() { return function(v) { return v; }; };\n` : \"\"}\n`.trim();\n}\n\nexport { getNativePrelude };"],"mappings":"AAAA,SAASA,gBAAgBA,CAACC,OAAO,EAAE;EAClC,OAAO;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuBA,OAAO,CAACC,GAAG;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyBC,IAAI,CAACC,SAAS,CAACH,OAAO,CAACC,GAAG,GAAG,aAAa,GAAG,YAAY,CAAC;AACnF,wBAAwBC,IAAI,CAACC,SAAS,CAACH,OAAO,CAACI,QAAQ,CAAC;AACxD;AACA,EAAEJ,OAAO,CAACK,SAAS,GAAG,gCAAgCH,IAAI,CAACC,SAAS,CAACH,OAAO,CAACK,SAAS,CAAC,GAAG,GAAG,EAAE;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAEL,OAAO,CAACC,GAAG,GAAG;AAChB;AACA;AACA,CAAC,GAAG,EAAE;AACN,CAAC,CAACK,IAAI,CAAC,CAAC;AACR;AAEA,SAASP,gBAAgB","ignoreList":[]}
|
|
@@ -64,20 +64,6 @@ if (typeof globalThis.URLSearchParams === 'undefined') {
|
|
|
64
64
|
};
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
// suppress HMRClient.setup() error from native side
|
|
68
|
-
// native calls HMRClient.setup() during bundle load but we don't use Metro HMR
|
|
69
|
-
// this intercept catches the error and prevents the red screen
|
|
70
|
-
var __origErrorHandler = globalThis.ErrorUtils && globalThis.ErrorUtils.getGlobalHandler && globalThis.ErrorUtils.getGlobalHandler();
|
|
71
|
-
if (globalThis.ErrorUtils && globalThis.ErrorUtils.setGlobalHandler) {
|
|
72
|
-
globalThis.ErrorUtils.setGlobalHandler(function(error, isFatal) {
|
|
73
|
-
if (error && error.message && error.message.indexOf('HMRClient') !== -1) {
|
|
74
|
-
// suppress HMRClient errors silently
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
if (__origErrorHandler) __origErrorHandler(error, isFatal);
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
|
|
81
67
|
// ensure console exists before any library prelude touches it in release bundles
|
|
82
68
|
globalThis.console = globalThis.console || {};
|
|
83
69
|
var console = globalThis.console;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getNativePrelude","options","dev","JSON","stringify","platform","serverUrl","trim"],"sources":["native-prelude.native.js"],"sourcesContent":["function getNativePrelude(options) {\n\treturn `\nvar __BUNDLE_START_TIME__ = globalThis.nativePerformanceNow ? nativePerformanceNow() : Date.now();\n\nvar global = typeof globalThis !== 'undefined' ? globalThis\n : typeof global !== 'undefined' ? global\n : typeof window !== 'undefined' ? window\n : this;\n\nglobalThis.global = global;\nglobalThis.__DEV__ = ${options.dev};\n\n// react native polyfills\nglobal.__FUSEBOX_HAS_FULL_CONSOLE_SUPPORT__ = false;\nglobal.Event = global.Event || function() { return this; };\nglobal.dispatchEvent = global.dispatchEvent || function() {};\nglobal.window = global.window || global;\nglobal.self = global.self || global;\nglobal.navigator = global.navigator || { product: 'ReactNative', userAgent: '' };\nglobal.performance = global.performance || { now: function() { return Date.now(); } };\n\n// ErrorUtils - used by RN's error handling system\nif (!global.ErrorUtils) {\n var _handler = null;\n global.ErrorUtils = {\n setGlobalHandler: function(h) { _handler = h; },\n getGlobalHandler: function() { return _handler; },\n reportFatalError: function(e) { if (_handler) _handler(e, true); else throw e; },\n reportError: function(e) { if (_handler) _handler(e, false); },\n applyWithGuard: function(fn, ctx, args) { try { return fn.apply(ctx, args); } catch(e) { this.reportError(e); } },\n };\n}\n\nif (typeof process === 'undefined') {\n globalThis.process = { env: {} };\n}\nprocess.env.NODE_ENV = ${JSON.stringify(options.dev ? \"development\" : \"production\")};\nprocess.env.EXPO_OS = ${JSON.stringify(options.platform)};\nprocess.env.TAMAGUI_TARGET = 'native';\n${options.serverUrl ? `process.env.ONE_SERVER_URL = ${JSON.stringify(options.serverUrl)};` : \"\"}\n\n// polyfill setImmediate (used by react-native internals)\nif (typeof globalThis.setImmediate === 'undefined') {\n globalThis.setImmediate = function(fn) { return setTimeout(fn, 0); };\n globalThis.clearImmediate = function(id) { clearTimeout(id); };\n}\n\n// polyfill URLSearchParams early (before whatwg-fetch checks for it)\n// RN's polyfillGlobal sets this up later but some modules check at import time\nif (typeof globalThis.URLSearchParams === 'undefined') {\n // minimal URLSearchParams polyfill - will be overridden by RN's proper one\n globalThis.URLSearchParams = function URLSearchParams(init) {\n this._params = {};\n if (typeof init === 'string') {\n init.replace(/^\\\\?/, '').split('&').forEach(function(p) {\n var kv = p.split('=');\n if (kv[0]) this._params[decodeURIComponent(kv[0])] = decodeURIComponent(kv[1] || '');\n }.bind(this));\n }\n };\n globalThis.URLSearchParams.prototype.get = function(k) { return this._params[k] || null; };\n globalThis.URLSearchParams.prototype.toString = function() {\n return Object.keys(this._params).map(function(k) { return encodeURIComponent(k) + '=' + encodeURIComponent(this._params[k]); }.bind(this)).join('&');\n };\n}\n\n//
|
|
1
|
+
{"version":3,"names":["getNativePrelude","options","dev","JSON","stringify","platform","serverUrl","trim"],"sources":["native-prelude.native.js"],"sourcesContent":["function getNativePrelude(options) {\n\treturn `\nvar __BUNDLE_START_TIME__ = globalThis.nativePerformanceNow ? nativePerformanceNow() : Date.now();\n\nvar global = typeof globalThis !== 'undefined' ? globalThis\n : typeof global !== 'undefined' ? global\n : typeof window !== 'undefined' ? window\n : this;\n\nglobalThis.global = global;\nglobalThis.__DEV__ = ${options.dev};\n\n// react native polyfills\nglobal.__FUSEBOX_HAS_FULL_CONSOLE_SUPPORT__ = false;\nglobal.Event = global.Event || function() { return this; };\nglobal.dispatchEvent = global.dispatchEvent || function() {};\nglobal.window = global.window || global;\nglobal.self = global.self || global;\nglobal.navigator = global.navigator || { product: 'ReactNative', userAgent: '' };\nglobal.performance = global.performance || { now: function() { return Date.now(); } };\n\n// ErrorUtils - used by RN's error handling system\nif (!global.ErrorUtils) {\n var _handler = null;\n global.ErrorUtils = {\n setGlobalHandler: function(h) { _handler = h; },\n getGlobalHandler: function() { return _handler; },\n reportFatalError: function(e) { if (_handler) _handler(e, true); else throw e; },\n reportError: function(e) { if (_handler) _handler(e, false); },\n applyWithGuard: function(fn, ctx, args) { try { return fn.apply(ctx, args); } catch(e) { this.reportError(e); } },\n };\n}\n\nif (typeof process === 'undefined') {\n globalThis.process = { env: {} };\n}\nprocess.env.NODE_ENV = ${JSON.stringify(options.dev ? \"development\" : \"production\")};\nprocess.env.EXPO_OS = ${JSON.stringify(options.platform)};\nprocess.env.TAMAGUI_TARGET = 'native';\n${options.serverUrl ? `process.env.ONE_SERVER_URL = ${JSON.stringify(options.serverUrl)};` : \"\"}\n\n// polyfill setImmediate (used by react-native internals)\nif (typeof globalThis.setImmediate === 'undefined') {\n globalThis.setImmediate = function(fn) { return setTimeout(fn, 0); };\n globalThis.clearImmediate = function(id) { clearTimeout(id); };\n}\n\n// polyfill URLSearchParams early (before whatwg-fetch checks for it)\n// RN's polyfillGlobal sets this up later but some modules check at import time\nif (typeof globalThis.URLSearchParams === 'undefined') {\n // minimal URLSearchParams polyfill - will be overridden by RN's proper one\n globalThis.URLSearchParams = function URLSearchParams(init) {\n this._params = {};\n if (typeof init === 'string') {\n init.replace(/^\\\\?/, '').split('&').forEach(function(p) {\n var kv = p.split('=');\n if (kv[0]) this._params[decodeURIComponent(kv[0])] = decodeURIComponent(kv[1] || '');\n }.bind(this));\n }\n };\n globalThis.URLSearchParams.prototype.get = function(k) { return this._params[k] || null; };\n globalThis.URLSearchParams.prototype.toString = function() {\n return Object.keys(this._params).map(function(k) { return encodeURIComponent(k) + '=' + encodeURIComponent(this._params[k]); }.bind(this)).join('&');\n };\n}\n\n// ensure console exists before any library prelude touches it in release bundles\nglobalThis.console = globalThis.console || {};\nvar console = globalThis.console;\nconsole.log = console.log || function() {};\nconsole.info = console.info || function() {};\nconsole.warn = console.warn || function() {};\nconsole.error = console.error || function() {};\nconsole.debug = console.debug || function() {};\nconsole.trace = console.trace || function() {};\n\n// reanimated compat - these console methods must exist to avoid EXC_BAD_ACCESS crash\nconsole.assert = console.assert || function() {};\nconsole.clear = console.clear || function() {};\nconsole.dir = console.dir || function() {};\nconsole.dirxml = console.dirxml || function() {};\nconsole.profile = console.profile || function() {};\nconsole.profileEnd = console.profileEnd || function() {};\nconsole.table = console.table || function() {};\n\n// react refresh stubs (overridden by react-refresh plugin in dev)\n${options.dev ? `\nvar $RefreshReg$ = function() {};\nvar $RefreshSig$ = function() { return function(v) { return v; }; };\n` : \"\"}\n`.trim();\n}\n\nexport { getNativePrelude };"],"mappings":"AAAA,SAASA,gBAAgBA,CAACC,OAAO,EAAE;EAClC,OAAO;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuBA,OAAO,CAACC,GAAG;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyBC,IAAI,CAACC,SAAS,CAACH,OAAO,CAACC,GAAG,GAAG,aAAa,GAAG,YAAY,CAAC;AACnF,wBAAwBC,IAAI,CAACC,SAAS,CAACH,OAAO,CAACI,QAAQ,CAAC;AACxD;AACA,EAAEJ,OAAO,CAACK,SAAS,GAAG,gCAAgCH,IAAI,CAACC,SAAS,CAACH,OAAO,CAACK,SAAS,CAAC,GAAG,GAAG,EAAE;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAEL,OAAO,CAACC,GAAG,GAAG;AAChB;AACA;AACA,CAAC,GAAG,EAAE;AACN,CAAC,CAACK,IAAI,CAAC,CAAC;AACR;AAEA,SAASP,gBAAgB","ignoreList":[]}
|
|
@@ -5,6 +5,11 @@ import { normalizePath } from "vite";
|
|
|
5
5
|
import { DEFAULT_ASSET_EXTS } from "../constants/defaults.mjs";
|
|
6
6
|
import { getNativePrelude } from "../runtime/native-prelude.mjs";
|
|
7
7
|
const FLOW_FILE_PATTERN = /node_modules[\\/](?:react-native|@react-native)[\\/].*\.js$/;
|
|
8
|
+
const HERMES_CLASS_TRANSFORMS = ["transform-classes", "transform-class-properties", "transform-class-static-block", "transform-private-methods", "transform-private-property-in-object"];
|
|
9
|
+
const HERMES_PROD_TRANSFORMS = ["transform-async-to-generator"];
|
|
10
|
+
function getHermesSWCIncludes(dev) {
|
|
11
|
+
return [...HERMES_CLASS_TRANSFORMS, ...(dev ? [] : HERMES_PROD_TRANSFORMS)];
|
|
12
|
+
}
|
|
8
13
|
function getResolveExtensions(platform) {
|
|
9
14
|
const platformExts = platform === "ios" ? [".ios.tsx", ".ios.ts", ".ios.jsx", ".ios.js"] : [".android.tsx", ".android.ts", ".android.jsx", ".android.js"];
|
|
10
15
|
const nativeExts = [".native.tsx", ".native.ts", ".native.jsx", ".native.js"];
|
|
@@ -122,13 +127,13 @@ function getNativeTransformConfig(platform, dev, root) {
|
|
|
122
127
|
};
|
|
123
128
|
}
|
|
124
129
|
function getNativePlugins(root, platform, viteImportGlobPlugin, dev, assetsDest) {
|
|
125
|
-
return [...(globalThis.__vxrnAddNativePlugins || []), serverFileExclusionPlugin(), environmentGuardPlugin(), cssStubPlugin(), viteImportGlobPlugin({
|
|
130
|
+
return [...(globalThis.__vxrnAddNativePlugins || []), serverFileExclusionPlugin(), environmentGuardPlugin(), hmrClientNoopPlugin(), cssStubPlugin(), viteImportGlobPlugin({
|
|
126
131
|
root
|
|
127
|
-
}), flowStripPlugin(), nativeAnimatedGuardPlugin(), assetPlugin({
|
|
132
|
+
}), vxrnCompilerPlugin(platform, dev), flowStripPlugin(), nativeAnimatedGuardPlugin(), assetPlugin({
|
|
128
133
|
root,
|
|
129
134
|
platform,
|
|
130
135
|
assetsDest
|
|
131
|
-
}),
|
|
136
|
+
}), hermesCompatSWCPlugin(dev)];
|
|
132
137
|
}
|
|
133
138
|
function getNativeOutputOptions(prelude) {
|
|
134
139
|
return {
|
|
@@ -195,7 +200,7 @@ async function downlevelClassFieldsInBundle(code) {
|
|
|
195
200
|
targets: {
|
|
196
201
|
node: 9999
|
|
197
202
|
},
|
|
198
|
-
include: [
|
|
203
|
+
include: [...HERMES_CLASS_TRANSFORMS]
|
|
199
204
|
},
|
|
200
205
|
jsc: {
|
|
201
206
|
parser: {
|
|
@@ -307,8 +312,6 @@ try {
|
|
|
307
312
|
if (chunk && "code" in chunk) {
|
|
308
313
|
let code = postProcessNativeBundle(chunk.code);
|
|
309
314
|
code = await downlevelClassFieldsInBundle(code);
|
|
310
|
-
const hmrClientStub = `registerCallableModule("HMRClient",{setup:function(){},enable:function(){},disable:function(){},registerBundle:function(){},log:function(){}})`;
|
|
311
|
-
code = code.replace(/registerCallableModule\s*\(\s*["']AppRegistry["']/, match => hmrClientStub + "," + match);
|
|
312
315
|
code = wrapNativeBundleModuleScope(code);
|
|
313
316
|
currentBundle = {
|
|
314
317
|
code,
|
|
@@ -533,6 +536,25 @@ function environmentGuardPlugin() {
|
|
|
533
536
|
}
|
|
534
537
|
};
|
|
535
538
|
}
|
|
539
|
+
function hmrClientNoopPlugin() {
|
|
540
|
+
const RN_HMR_CLIENT_RE = /(^|[\\/])Utilities[\\/]HMRClient(\.[cm]?[jt]sx?)?$/;
|
|
541
|
+
return {
|
|
542
|
+
name: "vxrn:hmr-client-noop",
|
|
543
|
+
resolveId(source, importer) {
|
|
544
|
+
if ((source.startsWith("react-native/") || importer != null && /(^|[\\/])react-native[\\/]/.test(importer)) && RN_HMR_CLIENT_RE.test(source)) return {
|
|
545
|
+
id: "\0vxrn-hmr-client-noop",
|
|
546
|
+
external: false
|
|
547
|
+
};
|
|
548
|
+
},
|
|
549
|
+
load(id) {
|
|
550
|
+
if (id === "\0vxrn-hmr-client-noop") return {
|
|
551
|
+
code: `const HMRClient = { setup() {}, enable() {}, disable() {}, registerBundle() {}, log() {}, isEnabled() { return false } }
|
|
552
|
+
export default HMRClient`,
|
|
553
|
+
moduleType: "js"
|
|
554
|
+
};
|
|
555
|
+
}
|
|
556
|
+
};
|
|
557
|
+
}
|
|
536
558
|
function cssStubPlugin() {
|
|
537
559
|
return {
|
|
538
560
|
name: "vxrn:css-stub",
|
|
@@ -569,7 +591,11 @@ function vxrnCompilerPlugin(platform, dev) {
|
|
|
569
591
|
const existingPlugins = babelOptions?.plugins || [];
|
|
570
592
|
babelOptions = {
|
|
571
593
|
...babelOptions,
|
|
572
|
-
plugins: [...existingPlugins, "react-refresh/babel"
|
|
594
|
+
plugins: [...existingPlugins, ["react-refresh/babel", {
|
|
595
|
+
skipEnvCheck: true,
|
|
596
|
+
refreshReg: "__vxrnRefreshReg",
|
|
597
|
+
refreshSig: "__vxrnRefreshSig"
|
|
598
|
+
}]]
|
|
573
599
|
};
|
|
574
600
|
}
|
|
575
601
|
if (!babelOptions) return;
|
|
@@ -585,6 +611,9 @@ if (globalThis.__ReactRefresh) {
|
|
|
585
611
|
};
|
|
586
612
|
globalThis.$RefreshSig$ = globalThis.__ReactRefresh.createSignatureFunctionForTransform;
|
|
587
613
|
}
|
|
614
|
+
// keep registration calls local so rolldown retains them in the initial bundle.
|
|
615
|
+
var __vxrnRefreshReg = globalThis.$RefreshReg$;
|
|
616
|
+
var __vxrnRefreshSig = globalThis.$RefreshSig$;
|
|
588
617
|
|
|
589
618
|
${out}
|
|
590
619
|
|
|
@@ -697,7 +726,7 @@ function hermesCompatSWCPlugin(dev) {
|
|
|
697
726
|
if (code.length > 5e5) return;
|
|
698
727
|
try {
|
|
699
728
|
if (!swc) swc = await import("@swc/core");
|
|
700
|
-
const envIncludes =
|
|
729
|
+
const envIncludes = getHermesSWCIncludes(dev);
|
|
701
730
|
return {
|
|
702
731
|
code: (await swc.transform(code, {
|
|
703
732
|
filename: id,
|
|
@@ -800,6 +829,16 @@ class ReactNativeDevRuntime extends BaseDevRuntime {
|
|
|
800
829
|
ctx.acceptCallbacks[j].fn(this.modules[moduleId].exports);
|
|
801
830
|
}
|
|
802
831
|
}
|
|
832
|
+
// surface each committed module id to the framework hot-update hook (if one
|
|
833
|
+
// is registered). RN's React Refresh can't repaint frameworks that re-wrap
|
|
834
|
+
// route components away from the edited module's Refresh family (e.g. One),
|
|
835
|
+
// and the web route-update event has no equivalent on the native /hot
|
|
836
|
+
// socket, so this generic vxrn global is the bridge.
|
|
837
|
+
try {
|
|
838
|
+
if (globalThis.__VXRN_ON_MODULE_UPDATED__ && moduleId) globalThis.__VXRN_ON_MODULE_UPDATED__(moduleId);
|
|
839
|
+
} catch (error) {
|
|
840
|
+
console.error('[vxrn HMR]: module update hook failed', error);
|
|
841
|
+
}
|
|
803
842
|
}
|
|
804
843
|
}
|
|
805
844
|
|
|
@@ -836,5 +875,5 @@ class ReactNativeDevRuntime extends BaseDevRuntime {
|
|
|
836
875
|
globalThis.__rolldown_runtime__ = new ReactNativeDevRuntime();
|
|
837
876
|
`;
|
|
838
877
|
}
|
|
839
|
-
export { buildNativeBundle, createNativeDevEngine, getNativeTransformConfig, wrapNativeBundleModuleScope };
|
|
878
|
+
export { buildNativeBundle, createNativeDevEngine, getHermesSWCIncludes, getNativeTransformConfig, hmrClientNoopPlugin, vxrnCompilerPlugin, wrapNativeBundleModuleScope };
|
|
840
879
|
//# sourceMappingURL=createNativeDevEngine.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["basename","dirname","extname","join","relative","resolve","copyFileSync","existsSync","mkdirSync","readFileSync","pathToFileURL","normalizePath","DEFAULT_ASSET_EXTS","getNativePrelude","FLOW_FILE_PATTERN","getResolveExtensions","platform","platformExts","nativeExts","defaultExts","getNativeResolveConfig","extensions","conditionNames","mainFields","getNativeTransformConfig","dev","root","entryConfig","globalThis","__vxrnNativeEntryConfig","setupFileDefines","sf","setupFile","files","client","server","ios","android","native","JSON","stringify","envDefines","defines","mode2","envFile","envPath","content","line","split","match","key","rawVal","val","replace","trim","mode","envObject","MODE","DEV","PROD","SSR","VITE_ENVIRONMENT","VITE_NATIVE","EXPO_OS","TAMAGUI_TARGET","TAMAGUI_ENVIRONMENT","Object","entries","parse","jsx","runtime","define","__DEV__","inject","React","getNativePlugins","viteImportGlobPlugin","assetsDest","__vxrnAddNativePlugins","serverFileExclusionPlugin","environmentGuardPlugin","cssStubPlugin","flowStripPlugin","nativeAnimatedGuardPlugin","assetPlugin","vxrnCompilerPlugin","hermesCompatSWCPlugin","getNativeOutputOptions","prelude","format","sourcemap","intro","codeSplitting","strictExecutionOrder","postProcessNativeBundle","code","idx","indexOf","beforeMarker","lastIndexOf","lineStart","snippet","slice","includes","afterMarker","end","wrapNativeBundleModuleScope","open","close","sm","smIdx","downlevelClassFieldsInBundle","startMarker","endMarker","startIdx","endIdx","runtimeEnd","runtimeSection","result","transform","filename","configFile","swcrc","sourceMaps","inputSourceMap","isModule","env","targets","node","include","jsc","parser","syntax","react","externalHelpers","assumptions","setPublicClassFields","privateFieldsAsProperties","err","console","warn","createNativeDevEngine","options","port","host","serverUrl","plugins","userPlugins","onHmrUpdate","hmrRuntimeSource","getHmrRuntimeSource","currentBundle","bundleResolve","bundlePromise","resolvedHost","engine","input","VIRTUAL_NATIVE_ENTRY","cwd","experimental","devMode","implement","incrementalBuild","lazyBarrel","treeshake","shimMissingExports","moduleTypes","nativeVirtualEntryPlugin","outro","onOutput","Error","error","message","chunk","output","find","o","type","isEntry","hmrClientStub","map","toString","info","Math","round","length","onHmrUpdates","updates","item","update","rebuildStrategy","watch","run","getBundle","timeoutId","Promise","resolve2","reject","value","clearTimeout","setTimeout","ensureLatestBuildOutput","buildNativeBundle","entryFile","build","opts","isDev","resolvedId","routerRoot","flags","linking","setupFileImport","file","resolved","href","routeGlobs","ignoredRouteFiles","pattern","entryCode","name","resolveId","id","load","target","test","moduleType","THROWING","NOOP","source","external","startsWith","handler","endsWith","compiler","isRefreshCandidate","needsRefresh","props","development","environment","reactForRNVersion","babelOptions","getBabelOptions","existingPlugins","transformBabel","out","default","dialect","assetRegex","RegExp","ext","dir","relativePath","assetData","__packager_asset","scales","httpServerLocation","fileSystemLocation","hash","width","height","imageSize","dims","relativeAssetDir","assetDestDir","recursive","swc","hasClass","hasAsync","envIncludes","tsx"],"sources":["createNativeDevEngine.mjs"],"sourcesContent":["import { basename, dirname, extname, join, relative, resolve } from \"node:path\";\nimport { copyFileSync, existsSync, mkdirSync, readFileSync } from \"node:fs\";\nimport { pathToFileURL } from \"node:url\";\nimport { normalizePath } from \"vite\";\nimport { DEFAULT_ASSET_EXTS } from \"../constants/defaults\";\nimport { getNativePrelude } from \"../runtime/native-prelude\";\n\nconst FLOW_FILE_PATTERN = /node_modules[\\\\/](?:react-native|@react-native)[\\\\/].*\\.js$/;\nfunction getResolveExtensions(platform) {\n\tconst platformExts = platform === \"ios\" ? [\n\t\t\".ios.tsx\",\n\t\t\".ios.ts\",\n\t\t\".ios.jsx\",\n\t\t\".ios.js\"\n\t] : [\n\t\t\".android.tsx\",\n\t\t\".android.ts\",\n\t\t\".android.jsx\",\n\t\t\".android.js\"\n\t];\n\tconst nativeExts = [\n\t\t\".native.tsx\",\n\t\t\".native.ts\",\n\t\t\".native.jsx\",\n\t\t\".native.js\"\n\t];\n\tconst defaultExts = [\n\t\t\".tsx\",\n\t\t\".ts\",\n\t\t\".jsx\",\n\t\t\".js\",\n\t\t\".mjs\",\n\t\t\".cjs\",\n\t\t\".json\"\n\t];\n\treturn [\n\t\t...platformExts,\n\t\t...nativeExts,\n\t\t...defaultExts\n\t];\n}\nfunction getNativeResolveConfig(platform) {\n\treturn {\n\t\textensions: getResolveExtensions(platform),\n\t\tconditionNames: [\n\t\t\t\"react-native\",\n\t\t\t\"import\",\n\t\t\t\"require\",\n\t\t\t\"default\"\n\t\t],\n\t\tmainFields: [\n\t\t\t\"react-native\",\n\t\t\t\"module\",\n\t\t\t\"main\"\n\t\t]\n\t};\n}\nfunction getNativeTransformConfig(platform, dev, root) {\n\tconst entryConfig = globalThis.__vxrnNativeEntryConfig || {};\n\tconst setupFileDefines = (() => {\n\t\tconst sf = entryConfig.setupFile;\n\t\tif (!sf) return {};\n\t\tconst files = typeof sf === \"string\" ? {\n\t\t\tclient: sf,\n\t\t\tserver: sf,\n\t\t\tios: sf,\n\t\t\tandroid: sf\n\t\t} : \"native\" in sf ? {\n\t\t\tclient: sf.client,\n\t\t\tserver: sf.server,\n\t\t\tios: sf.native,\n\t\t\tandroid: sf.native\n\t\t} : sf;\n\t\treturn {\n\t\t\t...files.client && { \"process.env.ONE_SETUP_FILE_CLIENT\": JSON.stringify(files.client) },\n\t\t\t...files.server && { \"process.env.ONE_SETUP_FILE_SERVER\": JSON.stringify(files.server) },\n\t\t\t...files.ios && { \"process.env.ONE_SETUP_FILE_IOS\": JSON.stringify(files.ios) },\n\t\t\t...files.android && { \"process.env.ONE_SETUP_FILE_ANDROID\": JSON.stringify(files.android) }\n\t\t};\n\t})();\n\tconst envDefines = (() => {\n\t\tconst defines = {};\n\t\ttry {\n\t\t\tconst mode2 = dev ? \"development\" : \"production\";\n\t\t\tfor (const envFile of [\n\t\t\t\t\".env\",\n\t\t\t\t\".env.local\",\n\t\t\t\t`.env.${mode2}`,\n\t\t\t\t`.env.${mode2}.local`\n\t\t\t]) {\n\t\t\t\tconst envPath = join(root, envFile);\n\t\t\t\tif (!existsSync(envPath)) continue;\n\t\t\t\tconst content = readFileSync(envPath, \"utf8\");\n\t\t\t\tfor (const line of content.split(\"\\n\")) {\n\t\t\t\t\tconst match = line.match(/^\\s*(VITE_\\w+)\\s*=\\s*(.*)$/);\n\t\t\t\t\tif (match) {\n\t\t\t\t\t\tconst [, key, rawVal] = match;\n\t\t\t\t\t\tconst val = rawVal.replace(/^['\"]|['\"]$/g, \"\").trim();\n\t\t\t\t\t\tdefines[`import.meta.env.${key}`] = JSON.stringify(val);\n\t\t\t\t\t\tdefines[`process.env.${key}`] = JSON.stringify(val);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} catch {}\n\t\treturn defines;\n\t})();\n\tconst mode = dev ? \"development\" : \"production\";\n\tconst envObject = {\n\t\tMODE: mode,\n\t\tDEV: dev,\n\t\tPROD: !dev,\n\t\tSSR: false,\n\t\tVITE_ENVIRONMENT: platform,\n\t\tVITE_NATIVE: \"1\",\n\t\tEXPO_OS: platform,\n\t\tTAMAGUI_TARGET: \"native\",\n\t\tTAMAGUI_ENVIRONMENT: platform\n\t};\n\tfor (const [key, val] of Object.entries(envDefines)) {\n\t\tconst match = key.match(/^import\\.meta\\.env\\.(.+)$/);\n\t\tif (match) try {\n\t\t\tenvObject[match[1]] = JSON.parse(val);\n\t\t} catch {\n\t\t\tenvObject[match[1]] = val;\n\t\t}\n\t}\n\treturn {\n\t\tjsx: { runtime: \"classic\" },\n\t\tdefine: {\n\t\t\t\"process.env.NODE_ENV\": JSON.stringify(mode),\n\t\t\t\"process.env.VXRN_REACT_19\": \"false\",\n\t\t\t\"process.env.VITE_ENVIRONMENT\": JSON.stringify(platform),\n\t\t\t\"process.env.VITE_NATIVE\": \"\\\"1\\\"\",\n\t\t\t\"process.env.EXPO_OS\": JSON.stringify(platform),\n\t\t\t\"process.env.TAMAGUI_TARGET\": \"\\\"native\\\"\",\n\t\t\t\"process.env.TAMAGUI_ENVIRONMENT\": JSON.stringify(platform),\n\t\t\t__DEV__: dev ? \"true\" : \"false\",\n\t\t\t\"import.meta.env\": JSON.stringify(envObject),\n\t\t\t\"import.meta.env.MODE\": JSON.stringify(mode),\n\t\t\t\"import.meta.env.DEV\": dev ? \"true\" : \"false\",\n\t\t\t\"import.meta.env.PROD\": dev ? \"false\" : \"true\",\n\t\t\t\"import.meta.env.SSR\": \"false\",\n\t\t\t\"import.meta.env.VITE_ENVIRONMENT\": JSON.stringify(platform),\n\t\t\t\"import.meta.env.VITE_NATIVE\": \"\\\"1\\\"\",\n\t\t\t\"import.meta.env.EXPO_OS\": JSON.stringify(platform),\n\t\t\t\"import.meta.env.TAMAGUI_TARGET\": \"\\\"native\\\"\",\n\t\t\t\"import.meta.env.TAMAGUI_ENVIRONMENT\": JSON.stringify(platform),\n\t\t\t...envDefines,\n\t\t\t...setupFileDefines\n\t\t},\n\t\tinject: { React: \"react\" }\n\t};\n}\nfunction getNativePlugins(root, platform, viteImportGlobPlugin, dev, assetsDest) {\n\treturn [\n\t\t...globalThis.__vxrnAddNativePlugins || [],\n\t\tserverFileExclusionPlugin(),\n\t\tenvironmentGuardPlugin(),\n\t\tcssStubPlugin(),\n\t\tviteImportGlobPlugin({ root }),\n\t\tflowStripPlugin(),\n\t\tnativeAnimatedGuardPlugin(),\n\t\tassetPlugin({\n\t\t\troot,\n\t\t\tplatform,\n\t\t\tassetsDest\n\t\t}),\n\t\tvxrnCompilerPlugin(platform, dev),\n\t\thermesCompatSWCPlugin(dev)\n\t];\n}\nfunction getNativeOutputOptions(prelude) {\n\treturn {\n\t\tformat: \"esm\",\n\t\tsourcemap: true,\n\t\tintro: prelude,\n\t\tcodeSplitting: false,\n\t\tstrictExecutionOrder: true\n\t};\n}\nfunction postProcessNativeBundle(code) {\n\tcode = code.replace(/^\\s*export\\s*\\{[^}]*\\}\\s*;?\\s*$/gm, \"\");\n\tcode = code.replace(/^\\s*export\\s+default\\s+([^;\\n]+);?\\s*$/gm, \"$1;\");\n\tcode = code.replace(/^if \\(import\\.meta\\.hot\\).*$/gm, \"\");\n\t{\n\t\tconst idx = code.indexOf(\"NativeAnimatedModule_default ?? NativeAnimatedTurboModule_default;\");\n\t\tif (idx !== -1) {\n\t\t\tconst beforeMarker = code.lastIndexOf(\"NativeAnimatedModule = \", idx);\n\t\t\tif (beforeMarker !== -1) {\n\t\t\t\tconst lineStart = code.lastIndexOf(\"\\n\", beforeMarker);\n\t\t\t\tconst snippet = code.slice(lineStart + 1, beforeMarker + 50);\n\t\t\t\tif (snippet.includes(\"(function()\") || snippet.includes(\"new Proxy\")) {\n\t\t\t\t\tconst afterMarker = code.indexOf(\"})();\", idx);\n\t\t\t\t\tif (afterMarker !== -1) {\n\t\t\t\t\t\tconst end = afterMarker + 5;\n\t\t\t\t\t\tcode = code.slice(0, beforeMarker) + \"NativeAnimatedModule = NativeAnimatedModule_default ?? NativeAnimatedTurboModule_default;\" + code.slice(end);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn code;\n}\nfunction wrapNativeBundleModuleScope(code) {\n\tconst idx = code.indexOf(\"//#region \\\\0rolldown/runtime.js\");\n\tif (idx === -1) return code;\n\tconst open = \";(function() {\\n\";\n\tconst close = \"\\n})();\\n\";\n\tconst sm = code.match(/\\n\\/\\/# sourceMappingURL=[^\\n]*\\s*$/);\n\tif (sm) {\n\t\tconst smIdx = code.lastIndexOf(sm[0]);\n\t\treturn code.slice(0, idx) + open + code.slice(idx, smIdx) + close + code.slice(smIdx);\n\t}\n\treturn code.slice(0, idx) + open + code.slice(idx) + close;\n}\nasync function downlevelClassFieldsInBundle(code) {\n\tconst startMarker = \"//#region \\\\0rolldown/runtime.js\";\n\tconst endMarker = \"//#endregion\";\n\tconst startIdx = code.indexOf(startMarker);\n\tif (startIdx === -1) return code;\n\tconst endIdx = code.indexOf(endMarker, startIdx);\n\tif (endIdx === -1) return code;\n\tconst runtimeEnd = endIdx + 12;\n\tconst runtimeSection = code.slice(startIdx, runtimeEnd);\n\ttry {\n\t\tconst result = await (await import(\"@swc/core\")).transform(runtimeSection, {\n\t\t\tfilename: \"rolldown-runtime.js\",\n\t\t\tconfigFile: false,\n\t\t\tswcrc: false,\n\t\t\tsourceMaps: false,\n\t\t\tinputSourceMap: false,\n\t\t\tisModule: false,\n\t\t\tenv: {\n\t\t\t\ttargets: { node: 9999 },\n\t\t\t\tinclude: [\n\t\t\t\t\t\"transform-class-properties\",\n\t\t\t\t\t\"transform-class-static-block\",\n\t\t\t\t\t\"transform-private-methods\",\n\t\t\t\t\t\"transform-private-property-in-object\"\n\t\t\t\t]\n\t\t\t},\n\t\t\tjsc: {\n\t\t\t\tparser: { syntax: \"ecmascript\" },\n\t\t\t\ttransform: { react: { runtime: \"preserve\" } },\n\t\t\t\texternalHelpers: false,\n\t\t\t\tassumptions: {\n\t\t\t\t\tsetPublicClassFields: true,\n\t\t\t\t\tprivateFieldsAsProperties: true\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\treturn code.slice(0, startIdx) + result.code + code.slice(runtimeEnd);\n\t} catch (err) {\n\t\tconsole.warn(\"[vxrn] downlevelClassFieldsInBundle failed, returning original:\", err);\n\t\treturn code;\n\t}\n}\nasync function createNativeDevEngine(options) {\n\tconst { root, port, host = \"localhost\", platform, serverUrl, plugins: userPlugins = [], onHmrUpdate } = options;\n\tconst { dev, viteImportGlobPlugin } = await import(\"rolldown/experimental\");\n\tconst hmrRuntimeSource = getHmrRuntimeSource();\n\tconst prelude = getNativePrelude({\n\t\tdev: true,\n\t\tplatform,\n\t\tserverUrl: serverUrl || `http://${host}:${port}`\n\t});\n\tlet currentBundle = null;\n\tlet bundleResolve = null;\n\tlet bundlePromise = null;\n\tconst resolvedHost = host === \"0.0.0.0\" ? \"localhost\" : host;\n\tconst engine = await dev({\n\t\tinput: VIRTUAL_NATIVE_ENTRY,\n\t\tcwd: root,\n\t\tplatform: \"neutral\",\n\t\tresolve: getNativeResolveConfig(platform),\n\t\ttransform: getNativeTransformConfig(platform, true, root),\n\t\texperimental: {\n\t\t\tdevMode: {\n\t\t\t\timplement: hmrRuntimeSource,\n\t\t\t\thost,\n\t\t\t\tport\n\t\t\t},\n\t\t\tincrementalBuild: true,\n\t\t\tlazyBarrel: true\n\t\t},\n\t\ttreeshake: false,\n\t\tshimMissingExports: true,\n\t\tmoduleTypes: { \".js\": \"jsx\" },\n\t\tplugins: [\n\t\t\tnativeVirtualEntryPlugin(root, { dev: true }),\n\t\t\t...getNativePlugins(root, platform, viteImportGlobPlugin, true),\n\t\t\t...userPlugins\n\t\t]\n\t}, {\n\t\t...getNativeOutputOptions(prelude),\n\t\toutro: `\ntry {\n var __WS = (init_WebSocket(), __toCommonJS(WebSocket_exports)).default;\n var __hmrUrl = 'ws://${resolvedHost}:${port}/hot';\n var __hmrWS = new __WS(__hmrUrl);\n __hmrWS.onmessage = function(event) {\n try {\n var msg = JSON.parse(event.data);\n var g = typeof global !== 'undefined' ? global : globalThis;\n if (msg.type === 'hmr:update' && msg.code) {\n if (g.globalEvalWithSourceUrl) g.globalEvalWithSourceUrl(msg.code);\n else (0, eval)(msg.code);\n setTimeout(function() {\n try { if (g.__ReactRefresh) g.__ReactRefresh.performReactRefresh(); } catch(e) {}\n }, 50);\n } else if (msg.type === 'hmr:reload') {\n var ds = g.__turboModuleProxy ? g.__turboModuleProxy('DevSettings') : null;\n if (ds && ds.reload) ds.reload();\n }\n } catch(e) { console.error('[vxrn] HMR eval error:', e); }\n };\n __hmrWS.onopen = function() {\n if (typeof __rolldown_runtime__ !== 'undefined' && __rolldown_runtime__.setup) {\n __rolldown_runtime__.setup(__hmrWS, __hmrUrl.replace('ws://', 'http://'));\n }\n };\n __hmrWS.onerror = function(e) { console.warn('[vxrn] HMR connection error:', e.message || e); };\n} catch(e) {}\n`\n\t}, {\n\t\tonOutput: async (result) => {\n\t\t\tif (result instanceof Error) {\n\t\t\t\tconsole.error(\"[vxrn] native bundle error:\", result.message);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst chunk = result.output.find((o) => o.type === \"chunk\" && o.isEntry);\n\t\t\tif (chunk && \"code\" in chunk) {\n\t\t\t\tlet code = postProcessNativeBundle(chunk.code);\n\t\t\t\tcode = await downlevelClassFieldsInBundle(code);\n\t\t\t\tconst hmrClientStub = `registerCallableModule(\"HMRClient\",{setup:function(){},enable:function(){},disable:function(){},registerBundle:function(){},log:function(){}})`;\n\t\t\t\tcode = code.replace(/registerCallableModule\\s*\\(\\s*[\"']AppRegistry[\"']/, (match) => hmrClientStub + \",\" + match);\n\t\t\t\tcode = wrapNativeBundleModuleScope(code);\n\t\t\t\tcurrentBundle = {\n\t\t\t\t\tcode,\n\t\t\t\t\tmap: chunk.map?.toString()\n\t\t\t\t};\n\t\t\t\tconsole.info(`[vxrn] native bundle ready (${Math.round(chunk.code.length / 1024)}KB)`);\n\t\t\t\tif (bundleResolve) {\n\t\t\t\t\tbundleResolve(currentBundle);\n\t\t\t\t\tbundleResolve = null;\n\t\t\t\t\tbundlePromise = null;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonHmrUpdates: async (result) => {\n\t\t\tif (result instanceof Error) {\n\t\t\t\tconsole.error(\"[vxrn] HMR error:\", result.message);\n\t\t\t\tonHmrUpdate?.({ type: \"hmr:error\" });\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst updates = result.updates || [];\n\t\t\tfor (const item of updates) {\n\t\t\t\tconst update = item.update || item;\n\t\t\t\tif (update.type === \"Patch\" && update.code) onHmrUpdate?.({\n\t\t\t\t\ttype: \"hmr:update\",\n\t\t\t\t\tcode: update.code\n\t\t\t\t});\n\t\t\t\telse if (update.type === \"FullReload\") onHmrUpdate?.({ type: \"hmr:reload\" });\n\t\t\t}\n\t\t\tif (updates.length === 0) onHmrUpdate?.({ type: \"hmr:reload\" });\n\t\t},\n\t\trebuildStrategy: \"auto\",\n\t\twatch: {}\n\t});\n\tawait engine.run();\n\treturn {\n\t\tengine,\n\t\tasync getBundle() {\n\t\t\tif (currentBundle) return currentBundle;\n\t\t\tif (!bundlePromise) {\n\t\t\t\tlet timeoutId;\n\t\t\t\tbundlePromise = new Promise((resolve2, reject) => {\n\t\t\t\t\tbundleResolve = (value) => {\n\t\t\t\t\t\tclearTimeout(timeoutId);\n\t\t\t\t\t\tresolve2(value);\n\t\t\t\t\t};\n\t\t\t\t\ttimeoutId = setTimeout(() => reject(/* @__PURE__ */ new Error(\"[vxrn] bundle build timed out after 120s\")), 12e4);\n\t\t\t\t});\n\t\t\t}\n\t\t\tawait engine.ensureLatestBuildOutput();\n\t\t\tif (currentBundle) return currentBundle;\n\t\t\treturn bundlePromise;\n\t\t},\n\t\tasync close() {\n\t\t\tawait engine.close();\n\t\t}\n\t};\n}\nasync function buildNativeBundle(options) {\n\tconst { root, platform, dev = false, serverUrl, entryFile, assetsDest, plugins: userPlugins = [] } = options;\n\tconst { build } = await import(\"rolldown\");\n\tconst { viteImportGlobPlugin } = await import(\"rolldown/experimental\");\n\tconst prelude = getNativePrelude({\n\t\tdev,\n\t\tplatform,\n\t\tserverUrl\n\t});\n\tconst chunk = (await build({\n\t\tinput: entryFile ? normalizePath(resolve(root, entryFile)) : VIRTUAL_NATIVE_ENTRY,\n\t\tcwd: root,\n\t\tplatform: \"neutral\",\n\t\tresolve: getNativeResolveConfig(platform),\n\t\ttransform: getNativeTransformConfig(platform, dev, root),\n\t\ttreeshake: !dev,\n\t\tshimMissingExports: true,\n\t\tmoduleTypes: { \".js\": \"jsx\" },\n\t\tplugins: [\n\t\t\t...entryFile ? [] : [nativeVirtualEntryPlugin(root, { dev })],\n\t\t\t...getNativePlugins(root, platform, viteImportGlobPlugin, dev, assetsDest),\n\t\t\t...userPlugins\n\t\t],\n\t\toutput: getNativeOutputOptions(prelude)\n\t})).output.find((o) => o.type === \"chunk\" && o.isEntry);\n\tif (!chunk || !(\"code\" in chunk)) throw new Error(\"[vxrn] production build produced no output\");\n\tlet code = postProcessNativeBundle(chunk.code);\n\tcode = await downlevelClassFieldsInBundle(code);\n\treturn {\n\t\tcode,\n\t\tmap: chunk.map?.toString()\n\t};\n}\nconst VIRTUAL_NATIVE_ENTRY = \"virtual:native-entry\";\nfunction nativeVirtualEntryPlugin(root, opts) {\n\tconst isDev = opts?.dev !== false;\n\tconst resolvedId = normalizePath(resolve(root, \"__virtual-native-entry.tsx\"));\n\tconst entryConfig = globalThis.__vxrnNativeEntryConfig || {};\n\tconst routerRoot = entryConfig.routerRoot || \"app\";\n\tconst flags = entryConfig.flags || {};\n\tconst linking = entryConfig.linking;\n\tconst setupFileImport = (() => {\n\t\tconst sf = entryConfig.setupFile;\n\t\tif (!sf) return \"\";\n\t\tconst file = typeof sf === \"string\" ? sf : \"native\" in sf ? sf.native : sf.ios;\n\t\tif (!file) return \"\";\n\t\tconst resolved = pathToFileURL(resolve(root, file)).href;\n\t\treturn `import ${JSON.stringify(resolved)};`;\n\t})();\n\tconst routeGlobs = [\n\t\t`./${routerRoot}/**/*.tsx`,\n\t\t`./${routerRoot}/**/*.ts`,\n\t\t`!./${routerRoot}/**/*+api.*`,\n\t\t`!./${routerRoot}/**/*.test.*`,\n\t\t`!./${routerRoot}/**/*.d.ts`,\n\t\t`!./${routerRoot}/**/*.server.*`,\n\t\t`!./${routerRoot}/**/_middleware.*`,\n\t\t`!./${routerRoot}/**/*.web.*`,\n\t\t...(entryConfig.ignoredRouteFiles || []).map((pattern) => `!./${routerRoot}/${pattern}`)\n\t];\n\tconst entryCode = `\n${isDev ? `\n// react-refresh/runtime MUST initialize before React loads\nimport RefreshRuntime from 'react-refresh/runtime';\nRefreshRuntime.injectIntoGlobalHook(globalThis);\nglobalThis.__ReactRefresh = RefreshRuntime;\nglobalThis.$RefreshReg$ = function(type, id) {\n RefreshRuntime.register(type, id);\n};\nglobalThis.$RefreshSig$ = RefreshRuntime.createSignatureFunctionForTransform;\n` : \"\"}\nimport * as ReactNativeInitializeCore from 'react-native/Libraries/Core/InitializeCore';\nimport NativeWebSocket from 'react-native/Libraries/WebSocket/WebSocket';\n${setupFileImport}\nimport { createApp } from 'one';\n\nvoid ReactNativeInitializeCore;\nglobalThis.WebSocket = NativeWebSocket;\n\nvar _routes = import.meta.glob(${JSON.stringify(routeGlobs)}, { exhaustive: true });\n// fix route keys: One expects '/${routerRoot}/...' prefix but import.meta.glob returns './${routerRoot}/...'\nvar routes = {};\nObject.keys(_routes).forEach(function(key) {\n var normalizedKey = key.replace(/^\\\\.\\\\//, '');\n routes['/' + normalizedKey] = _routes[key];\n});\n\ncreateApp({\n routes: routes,\n routerRoot: ${JSON.stringify(routerRoot)},\n flags: ${JSON.stringify(flags)},\n linking: ${JSON.stringify(linking)},\n});\n`;\n\treturn {\n\t\tname: \"vxrn:native-virtual-entry\",\n\t\tresolveId(id) {\n\t\t\tif (id === VIRTUAL_NATIVE_ENTRY) return resolvedId;\n\t\t},\n\t\tload(id) {\n\t\t\tif (id === resolvedId) return entryCode;\n\t\t}\n\t};\n}\nfunction nativeAnimatedGuardPlugin() {\n\treturn {\n\t\tname: \"vxrn:native-animated-guard\",\n\t\ttransform(code, id) {\n\t\t\tif (!id.includes(\"animated/NativeAnimatedHelper\")) return;\n\t\t\tconst target = \"const method = nullthrows(NativeAnimatedModule)[methodName];\";\n\t\t\tif (!code.includes(target)) return;\n\t\t\treturn { code: code.replace(target, `const method = nullthrows(NativeAnimatedModule)[methodName];\n if (typeof method !== 'function') return;`) };\n\t\t}\n\t};\n}\nfunction serverFileExclusionPlugin() {\n\treturn {\n\t\tname: \"vxrn:server-file-exclusion\",\n\t\tload(id) {\n\t\t\tif (/\\.server\\.\\w+$/.test(id)) return {\n\t\t\t\tcode: \"export default undefined;\",\n\t\t\t\tmoduleType: \"js\"\n\t\t\t};\n\t\t\tif (/[\\\\/]_middleware\\.\\w+$/.test(id)) return {\n\t\t\t\tcode: \"export default undefined;\",\n\t\t\t\tmoduleType: \"js\"\n\t\t\t};\n\t\t}\n\t};\n}\nfunction environmentGuardPlugin() {\n\tconst THROWING = [\n\t\t\"server-only\",\n\t\t\"client-only\",\n\t\t\"web-only\"\n\t];\n\tconst NOOP = [\"native-only\"];\n\treturn {\n\t\tname: \"vxrn:environment-guard\",\n\t\tresolveId(source) {\n\t\t\tif (THROWING.includes(source)) return {\n\t\t\t\tid: `\\0env-guard-throw:${source}`,\n\t\t\t\texternal: false\n\t\t\t};\n\t\t\tif (NOOP.includes(source)) return {\n\t\t\t\tid: `\\0env-guard-noop:${source}`,\n\t\t\t\texternal: false\n\t\t\t};\n\t\t},\n\t\tload(id) {\n\t\t\tif (id.startsWith(\"\\0env-guard-throw:\")) return {\n\t\t\t\tcode: `throw new Error(\"Cannot import '${id.slice(17)}' in a native bundle.\");`,\n\t\t\t\tmoduleType: \"js\"\n\t\t\t};\n\t\t\tif (id.startsWith(\"\\0env-guard-noop:\")) return {\n\t\t\t\tcode: \"\",\n\t\t\t\tmoduleType: \"js\"\n\t\t\t};\n\t\t}\n\t};\n}\nfunction cssStubPlugin() {\n\treturn {\n\t\tname: \"vxrn:css-stub\",\n\t\tload: { handler(id) {\n\t\t\tif (id.endsWith(\".css\")) return {\n\t\t\t\tcode: \"\",\n\t\t\t\tmoduleType: \"js\"\n\t\t\t};\n\t\t} }\n\t};\n}\nfunction vxrnCompilerPlugin(platform, dev) {\n\tlet compiler = null;\n\tconst isRefreshCandidate = (id) => dev && !id.includes(\"node_modules\") && !id.includes(\"__virtual-native-entry\") && /\\.[tj]sx?$/.test(id);\n\treturn {\n\t\tname: \"vxrn:compiler\",\n\t\tasync transform(code, id) {\n\t\t\tif (!/\\.[cm]?[jt]sx?$/.test(id)) return;\n\t\t\tif (id.includes(\"\\0\") || id.includes(\"virtual:\")) return;\n\t\t\tconst needsRefresh = isRefreshCandidate(id);\n\t\t\ttry {\n\t\t\t\tif (!compiler) compiler = await import(\"@vxrn/compiler\");\n\t\t\t\tconst props = {\n\t\t\t\t\tid,\n\t\t\t\t\tcode,\n\t\t\t\t\tdevelopment: dev,\n\t\t\t\t\tenvironment: platform,\n\t\t\t\t\treactForRNVersion: \"19\"\n\t\t\t\t};\n\t\t\t\tlet babelOptions = compiler.getBabelOptions(props);\n\t\t\t\tif (needsRefresh) {\n\t\t\t\t\tconst existingPlugins = babelOptions?.plugins || [];\n\t\t\t\t\tbabelOptions = {\n\t\t\t\t\t\t...babelOptions,\n\t\t\t\t\t\tplugins: [...existingPlugins, \"react-refresh/babel\"]\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif (!babelOptions) return;\n\t\t\t\tconst result = await compiler.transformBabel(id, code, babelOptions);\n\t\t\t\tif (result?.code) {\n\t\t\t\t\tlet out = result.code;\n\t\t\t\t\tif (needsRefresh) out = `\nvar __prevRefreshReg = globalThis.$RefreshReg$;\nvar __prevRefreshSig = globalThis.$RefreshSig$;\nif (globalThis.__ReactRefresh) {\n globalThis.$RefreshReg$ = function(type, id) {\n globalThis.__ReactRefresh.register(type, \"${id.replace(/\\\\/g, \"\\\\\\\\\").replace(/\"/g, \"\\\\\\\"\")}\" + \" \" + id);\n };\n globalThis.$RefreshSig$ = globalThis.__ReactRefresh.createSignatureFunctionForTransform;\n}\n\n${out}\n\nglobalThis.$RefreshReg$ = __prevRefreshReg;\nglobalThis.$RefreshSig$ = __prevRefreshSig;\nif (import.meta.hot) {\n import.meta.hot.accept(function() {\n if (globalThis.__ReactRefresh) {\n setTimeout(function() { globalThis.__ReactRefresh.performReactRefresh(); }, 30);\n }\n });\n}\n`;\n\t\t\t\t\treturn { code: out };\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\tif (dev) console.warn(`[vxrn:compiler] ${id}: ${err.message || err}`);\n\t\t\t\tif (needsRefresh) return { code: code + `\nif (import.meta.hot) { import.meta.hot.accept(); }\n` };\n\t\t\t}\n\t\t}\n\t};\n}\nfunction flowStripPlugin() {\n\treturn {\n\t\tname: \"vxrn:flow-strip\",\n\t\ttransform: { async handler(code, id) {\n\t\t\tif (!FLOW_FILE_PATTERN.test(id)) return;\n\t\t\ttry {\n\t\t\t\tconst result = await (await import(\"fast-flow-transform\")).default({\n\t\t\t\t\tfilename: id,\n\t\t\t\t\tsource: code,\n\t\t\t\t\tsourcemap: true,\n\t\t\t\t\tdialect: \"flow\",\n\t\t\t\t\tformat: \"pretty\"\n\t\t\t\t});\n\t\t\t\treturn {\n\t\t\t\t\tcode: result.code,\n\t\t\t\t\tmap: result.map\n\t\t\t\t};\n\t\t\t} catch (err) {\n\t\t\t\tconsole.warn(`[vxrn:flow-strip] ${id}: ${err.message}`);\n\t\t\t}\n\t\t} }\n\t};\n}\nfunction assetPlugin(opts) {\n\tconst assetRegex = new RegExp(`\\\\.(?:${DEFAULT_ASSET_EXTS.join(\"|\")})$`);\n\treturn {\n\t\tname: \"vxrn:asset\",\n\t\tload: { async handler(id) {\n\t\t\tif (!assetRegex.test(id)) return;\n\t\t\tconst ext = extname(id).slice(1);\n\t\t\tconst name = basename(id, `.${ext}`);\n\t\t\tconst dir = dirname(id);\n\t\t\tconst relativePath = relative(opts.root, id);\n\t\t\tconst assetData = {\n\t\t\t\t__packager_asset: true,\n\t\t\t\tname,\n\t\t\t\ttype: ext,\n\t\t\t\tscales: [1],\n\t\t\t\thttpServerLocation: \"/assets/\" + dirname(relativePath).replace(/\\\\/g, \"/\"),\n\t\t\t\tfileSystemLocation: dir,\n\t\t\t\thash: \"\",\n\t\t\t\twidth: void 0,\n\t\t\t\theight: void 0\n\t\t\t};\n\t\t\tif ([\n\t\t\t\t\"png\",\n\t\t\t\t\"jpg\",\n\t\t\t\t\"jpeg\",\n\t\t\t\t\"gif\",\n\t\t\t\t\"webp\",\n\t\t\t\t\"bmp\"\n\t\t\t].includes(ext)) try {\n\t\t\t\tconst { imageSize } = await import(\"image-size\");\n\t\t\t\tconst dims = imageSize(id);\n\t\t\t\tassetData.width = dims.width;\n\t\t\t\tassetData.height = dims.height;\n\t\t\t} catch {}\n\t\t\tif (opts.assetsDest) {\n\t\t\t\tconst relativeAssetDir = dirname(relativePath).replace(/\\\\/g, \"/\");\n\t\t\t\tconst assetDestDir = join(opts.assetsDest, \"assets\", relativeAssetDir);\n\t\t\t\tmkdirSync(assetDestDir, { recursive: true });\n\t\t\t\tcopyFileSync(id, join(assetDestDir, `${name}.${ext}`));\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tcode: `module.exports = require('react-native/Libraries/Image/AssetRegistry').registerAsset(${JSON.stringify(assetData)});`,\n\t\t\t\tmoduleType: \"js\"\n\t\t\t};\n\t\t} }\n\t};\n}\nfunction hermesCompatSWCPlugin(dev) {\n\tlet swc = null;\n\treturn {\n\t\tname: \"vxrn:hermes-compat\",\n\t\tasync transform(code, id) {\n\t\t\tif (!/\\.[cm]?[jt]sx?$/.test(id)) return;\n\t\t\tif (id.includes(\"\\0\") || id.includes(\"virtual:\")) return;\n\t\t\tconst hasClass = code.includes(\"class \") || code.includes(\"class{\");\n\t\t\tconst hasAsync = !dev && code.includes(\"async \");\n\t\t\tif (!hasClass && !hasAsync) return;\n\t\t\tif (code.length > 5e5) return;\n\t\t\ttry {\n\t\t\t\tif (!swc) swc = await import(\"@swc/core\");\n\t\t\t\tconst envIncludes = [\n\t\t\t\t\t\"transform-class-properties\",\n\t\t\t\t\t\"transform-class-static-block\",\n\t\t\t\t\t\"transform-private-methods\",\n\t\t\t\t\t\"transform-private-property-in-object\",\n\t\t\t\t\t...!dev ? [\"transform-classes\", \"transform-async-to-generator\"] : []\n\t\t\t\t];\n\t\t\t\treturn { code: (await swc.transform(code, {\n\t\t\t\t\tfilename: id,\n\t\t\t\t\tconfigFile: false,\n\t\t\t\t\tswcrc: false,\n\t\t\t\t\tsourceMaps: false,\n\t\t\t\t\tinputSourceMap: false,\n\t\t\t\t\tenv: {\n\t\t\t\t\t\ttargets: { node: 9999 },\n\t\t\t\t\t\tinclude: envIncludes\n\t\t\t\t\t},\n\t\t\t\t\tjsc: {\n\t\t\t\t\t\tparser: {\n\t\t\t\t\t\t\tsyntax: \"typescript\",\n\t\t\t\t\t\t\ttsx: true\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttransform: { react: { runtime: \"preserve\" } },\n\t\t\t\t\t\texternalHelpers: false,\n\t\t\t\t\t\tassumptions: {\n\t\t\t\t\t\t\tsetPublicClassFields: true,\n\t\t\t\t\t\t\tprivateFieldsAsProperties: true\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tisModule: !id.endsWith(\".cjs\")\n\t\t\t\t})).code };\n\t\t\t} catch (err) {}\n\t\t}\n\t};\n}\nfunction getHmrRuntimeSource() {\n\treturn `\n// vxrn HMR runtime for rolldown devMode\nvar BaseDevRuntime = DevRuntime;\n\nclass ReactNativeDevRuntime extends BaseDevRuntime {\n constructor() {\n var _shared = { _socket: null, _queue: [] };\n var clientId = 'rn-' + Date.now() + '-' + Math.random().toString(36).slice(2);\n super({ send: function(msg) {\n var s = JSON.stringify(msg);\n if (_shared._socket && _shared._socket.readyState === 1) { _shared._socket.send(s); }\n else { _shared._queue.push(s); }\n }}, clientId);\n this._shared = _shared;\n this._socket = null;\n this._queue = [];\n this.moduleHotContexts = {};\n }\n\n createModuleHotContext(moduleId) {\n var ctx = {\n acceptCallbacks: [],\n accept: function(cb) {\n if (cb) ctx.acceptCallbacks.push({ deps: [moduleId], fn: cb });\n },\n invalidate: function() {},\n on: function() {},\n off: function() {},\n send: function() {},\n get refresh() { return globalThis.__ReactRefresh; },\n get refreshUtils() {\n return {\n isReactRefreshBoundary: function(exports) {\n if (!globalThis.__ReactRefresh) return false;\n if (globalThis.__ReactRefresh.isLikelyComponentType(exports)) return true;\n if (!exports || typeof exports !== 'object') return false;\n var hasExports = false, allComponents = true;\n for (var key in exports) {\n hasExports = true;\n if (key === '__esModule') continue;\n if (!globalThis.__ReactRefresh.isLikelyComponentType(exports[key])) allComponents = false;\n }\n return hasExports && allComponents;\n },\n enqueueUpdate: function() {\n if (globalThis.__ReactRefresh) {\n setTimeout(function() { globalThis.__ReactRefresh.performReactRefresh(); }, 50);\n }\n }\n };\n }\n };\n this.moduleHotContexts[moduleId] = ctx;\n return ctx;\n }\n\n applyUpdates(boundaries) {\n for (var i = 0; i < boundaries.length; i++) {\n var moduleId = boundaries[i][0];\n var ctx = this.moduleHotContexts[moduleId];\n if (ctx && ctx.acceptCallbacks) {\n for (var j = 0; j < ctx.acceptCallbacks.length; j++) {\n ctx.acceptCallbacks[j].fn(this.modules[moduleId].exports);\n }\n }\n }\n }\n\n setup(socket, origin) {\n if (this._socket) return;\n this._socket = socket;\n // also set the shared messenger socket so queued messages can flush\n if (this._shared) this._shared._socket = socket;\n\n var flushQueues = function() {\n // flush messenger queue\n if (this._shared && this._shared._queue.length) {\n for (var i = 0; i < this._shared._queue.length; i++) socket.send(this._shared._queue[i]);\n this._shared._queue = [];\n }\n // flush instance queue\n for (var i = 0; i < this._queue.length; i++) socket.send(this._queue[i]);\n this._queue = [];\n }.bind(this);\n\n if (socket.readyState === 1) {\n flushQueues();\n } else {\n socket.addEventListener('open', function() {\n flushQueues();\n }, { once: true });\n }\n\n // HMR message handling is done by the outro WebSocket handler\n // the runtime's setup() only needs to flush queued messages\n }\n}\n\nglobalThis.__rolldown_runtime__ = new ReactNativeDevRuntime();\n`;\n}\n\nexport { buildNativeBundle, createNativeDevEngine, getNativeTransformConfig, wrapNativeBundleModuleScope };"],"mappings":"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,CAAC,EAAEzI;QAAK,CAAC;MACX,CAAC,CAAC,OAAO2C,GAAG,EAAE,CAAC;IAChB;EACD,CAAC;AACF;AACA,SAASY,mBAAmBA,CAAA,EAAG;EAC9B,OAAO;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AAEA,SAASoD,iBAAiB,EAAE7D,qBAAqB,EAAErH,wBAAwB,EAAEkF,2BAA2B","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["basename","dirname","extname","join","relative","resolve","copyFileSync","existsSync","mkdirSync","readFileSync","pathToFileURL","normalizePath","DEFAULT_ASSET_EXTS","getNativePrelude","FLOW_FILE_PATTERN","HERMES_CLASS_TRANSFORMS","HERMES_PROD_TRANSFORMS","getHermesSWCIncludes","dev","getResolveExtensions","platform","platformExts","nativeExts","defaultExts","getNativeResolveConfig","extensions","conditionNames","mainFields","getNativeTransformConfig","root","entryConfig","globalThis","__vxrnNativeEntryConfig","setupFileDefines","sf","setupFile","files","client","server","ios","android","native","JSON","stringify","envDefines","defines","mode2","envFile","envPath","content","line","split","match","key","rawVal","val","replace","trim","mode","envObject","MODE","DEV","PROD","SSR","VITE_ENVIRONMENT","VITE_NATIVE","EXPO_OS","TAMAGUI_TARGET","TAMAGUI_ENVIRONMENT","Object","entries","parse","jsx","runtime","define","__DEV__","inject","React","getNativePlugins","viteImportGlobPlugin","assetsDest","__vxrnAddNativePlugins","serverFileExclusionPlugin","environmentGuardPlugin","hmrClientNoopPlugin","cssStubPlugin","vxrnCompilerPlugin","flowStripPlugin","nativeAnimatedGuardPlugin","assetPlugin","hermesCompatSWCPlugin","getNativeOutputOptions","prelude","format","sourcemap","intro","codeSplitting","strictExecutionOrder","postProcessNativeBundle","code","idx","indexOf","beforeMarker","lastIndexOf","lineStart","snippet","slice","includes","afterMarker","end","wrapNativeBundleModuleScope","open","close","sm","smIdx","downlevelClassFieldsInBundle","startMarker","endMarker","startIdx","endIdx","runtimeEnd","runtimeSection","result","transform","filename","configFile","swcrc","sourceMaps","inputSourceMap","isModule","env","targets","node","include","jsc","parser","syntax","react","externalHelpers","assumptions","setPublicClassFields","privateFieldsAsProperties","err","console","warn","createNativeDevEngine","options","port","host","serverUrl","plugins","userPlugins","onHmrUpdate","hmrRuntimeSource","getHmrRuntimeSource","currentBundle","bundleResolve","bundlePromise","resolvedHost","engine","input","VIRTUAL_NATIVE_ENTRY","cwd","experimental","devMode","implement","incrementalBuild","lazyBarrel","treeshake","shimMissingExports","moduleTypes","nativeVirtualEntryPlugin","outro","onOutput","Error","error","message","chunk","output","find","o","type","isEntry","map","toString","info","Math","round","length","onHmrUpdates","updates","item","update","rebuildStrategy","watch","run","getBundle","timeoutId","Promise","resolve2","reject","value","clearTimeout","setTimeout","ensureLatestBuildOutput","buildNativeBundle","entryFile","build","opts","isDev","resolvedId","routerRoot","flags","linking","setupFileImport","file","resolved","href","routeGlobs","ignoredRouteFiles","pattern","entryCode","name","resolveId","id","load","target","test","moduleType","THROWING","NOOP","source","external","startsWith","RN_HMR_CLIENT_RE","importer","handler","endsWith","compiler","isRefreshCandidate","needsRefresh","props","development","environment","reactForRNVersion","babelOptions","getBabelOptions","existingPlugins","skipEnvCheck","refreshReg","refreshSig","transformBabel","out","default","dialect","assetRegex","RegExp","ext","dir","relativePath","assetData","__packager_asset","scales","httpServerLocation","fileSystemLocation","hash","width","height","imageSize","dims","relativeAssetDir","assetDestDir","recursive","swc","hasClass","hasAsync","envIncludes","tsx"],"sources":["createNativeDevEngine.mjs"],"sourcesContent":["import { basename, dirname, extname, join, relative, resolve } from \"node:path\";\nimport { copyFileSync, existsSync, mkdirSync, readFileSync } from \"node:fs\";\nimport { pathToFileURL } from \"node:url\";\nimport { normalizePath } from \"vite\";\nimport { DEFAULT_ASSET_EXTS } from \"../constants/defaults\";\nimport { getNativePrelude } from \"../runtime/native-prelude\";\n\nconst FLOW_FILE_PATTERN = /node_modules[\\\\/](?:react-native|@react-native)[\\\\/].*\\.js$/;\nconst HERMES_CLASS_TRANSFORMS = [\n\t\"transform-classes\",\n\t\"transform-class-properties\",\n\t\"transform-class-static-block\",\n\t\"transform-private-methods\",\n\t\"transform-private-property-in-object\"\n];\nconst HERMES_PROD_TRANSFORMS = [\"transform-async-to-generator\"];\nfunction getHermesSWCIncludes(dev) {\n\treturn [...HERMES_CLASS_TRANSFORMS, ...dev ? [] : HERMES_PROD_TRANSFORMS];\n}\nfunction getResolveExtensions(platform) {\n\tconst platformExts = platform === \"ios\" ? [\n\t\t\".ios.tsx\",\n\t\t\".ios.ts\",\n\t\t\".ios.jsx\",\n\t\t\".ios.js\"\n\t] : [\n\t\t\".android.tsx\",\n\t\t\".android.ts\",\n\t\t\".android.jsx\",\n\t\t\".android.js\"\n\t];\n\tconst nativeExts = [\n\t\t\".native.tsx\",\n\t\t\".native.ts\",\n\t\t\".native.jsx\",\n\t\t\".native.js\"\n\t];\n\tconst defaultExts = [\n\t\t\".tsx\",\n\t\t\".ts\",\n\t\t\".jsx\",\n\t\t\".js\",\n\t\t\".mjs\",\n\t\t\".cjs\",\n\t\t\".json\"\n\t];\n\treturn [\n\t\t...platformExts,\n\t\t...nativeExts,\n\t\t...defaultExts\n\t];\n}\nfunction getNativeResolveConfig(platform) {\n\treturn {\n\t\textensions: getResolveExtensions(platform),\n\t\tconditionNames: [\n\t\t\t\"react-native\",\n\t\t\t\"import\",\n\t\t\t\"require\",\n\t\t\t\"default\"\n\t\t],\n\t\tmainFields: [\n\t\t\t\"react-native\",\n\t\t\t\"module\",\n\t\t\t\"main\"\n\t\t]\n\t};\n}\nfunction getNativeTransformConfig(platform, dev, root) {\n\tconst entryConfig = globalThis.__vxrnNativeEntryConfig || {};\n\tconst setupFileDefines = (() => {\n\t\tconst sf = entryConfig.setupFile;\n\t\tif (!sf) return {};\n\t\tconst files = typeof sf === \"string\" ? {\n\t\t\tclient: sf,\n\t\t\tserver: sf,\n\t\t\tios: sf,\n\t\t\tandroid: sf\n\t\t} : \"native\" in sf ? {\n\t\t\tclient: sf.client,\n\t\t\tserver: sf.server,\n\t\t\tios: sf.native,\n\t\t\tandroid: sf.native\n\t\t} : sf;\n\t\treturn {\n\t\t\t...files.client && { \"process.env.ONE_SETUP_FILE_CLIENT\": JSON.stringify(files.client) },\n\t\t\t...files.server && { \"process.env.ONE_SETUP_FILE_SERVER\": JSON.stringify(files.server) },\n\t\t\t...files.ios && { \"process.env.ONE_SETUP_FILE_IOS\": JSON.stringify(files.ios) },\n\t\t\t...files.android && { \"process.env.ONE_SETUP_FILE_ANDROID\": JSON.stringify(files.android) }\n\t\t};\n\t})();\n\tconst envDefines = (() => {\n\t\tconst defines = {};\n\t\ttry {\n\t\t\tconst mode2 = dev ? \"development\" : \"production\";\n\t\t\tfor (const envFile of [\n\t\t\t\t\".env\",\n\t\t\t\t\".env.local\",\n\t\t\t\t`.env.${mode2}`,\n\t\t\t\t`.env.${mode2}.local`\n\t\t\t]) {\n\t\t\t\tconst envPath = join(root, envFile);\n\t\t\t\tif (!existsSync(envPath)) continue;\n\t\t\t\tconst content = readFileSync(envPath, \"utf8\");\n\t\t\t\tfor (const line of content.split(\"\\n\")) {\n\t\t\t\t\tconst match = line.match(/^\\s*(VITE_\\w+)\\s*=\\s*(.*)$/);\n\t\t\t\t\tif (match) {\n\t\t\t\t\t\tconst [, key, rawVal] = match;\n\t\t\t\t\t\tconst val = rawVal.replace(/^['\"]|['\"]$/g, \"\").trim();\n\t\t\t\t\t\tdefines[`import.meta.env.${key}`] = JSON.stringify(val);\n\t\t\t\t\t\tdefines[`process.env.${key}`] = JSON.stringify(val);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} catch {}\n\t\treturn defines;\n\t})();\n\tconst mode = dev ? \"development\" : \"production\";\n\tconst envObject = {\n\t\tMODE: mode,\n\t\tDEV: dev,\n\t\tPROD: !dev,\n\t\tSSR: false,\n\t\tVITE_ENVIRONMENT: platform,\n\t\tVITE_NATIVE: \"1\",\n\t\tEXPO_OS: platform,\n\t\tTAMAGUI_TARGET: \"native\",\n\t\tTAMAGUI_ENVIRONMENT: platform\n\t};\n\tfor (const [key, val] of Object.entries(envDefines)) {\n\t\tconst match = key.match(/^import\\.meta\\.env\\.(.+)$/);\n\t\tif (match) try {\n\t\t\tenvObject[match[1]] = JSON.parse(val);\n\t\t} catch {\n\t\t\tenvObject[match[1]] = val;\n\t\t}\n\t}\n\treturn {\n\t\tjsx: { runtime: \"classic\" },\n\t\tdefine: {\n\t\t\t\"process.env.NODE_ENV\": JSON.stringify(mode),\n\t\t\t\"process.env.VXRN_REACT_19\": \"false\",\n\t\t\t\"process.env.VITE_ENVIRONMENT\": JSON.stringify(platform),\n\t\t\t\"process.env.VITE_NATIVE\": \"\\\"1\\\"\",\n\t\t\t\"process.env.EXPO_OS\": JSON.stringify(platform),\n\t\t\t\"process.env.TAMAGUI_TARGET\": \"\\\"native\\\"\",\n\t\t\t\"process.env.TAMAGUI_ENVIRONMENT\": JSON.stringify(platform),\n\t\t\t__DEV__: dev ? \"true\" : \"false\",\n\t\t\t\"import.meta.env\": JSON.stringify(envObject),\n\t\t\t\"import.meta.env.MODE\": JSON.stringify(mode),\n\t\t\t\"import.meta.env.DEV\": dev ? \"true\" : \"false\",\n\t\t\t\"import.meta.env.PROD\": dev ? \"false\" : \"true\",\n\t\t\t\"import.meta.env.SSR\": \"false\",\n\t\t\t\"import.meta.env.VITE_ENVIRONMENT\": JSON.stringify(platform),\n\t\t\t\"import.meta.env.VITE_NATIVE\": \"\\\"1\\\"\",\n\t\t\t\"import.meta.env.EXPO_OS\": JSON.stringify(platform),\n\t\t\t\"import.meta.env.TAMAGUI_TARGET\": \"\\\"native\\\"\",\n\t\t\t\"import.meta.env.TAMAGUI_ENVIRONMENT\": JSON.stringify(platform),\n\t\t\t...envDefines,\n\t\t\t...setupFileDefines\n\t\t},\n\t\tinject: { React: \"react\" }\n\t};\n}\nfunction getNativePlugins(root, platform, viteImportGlobPlugin, dev, assetsDest) {\n\treturn [\n\t\t...globalThis.__vxrnAddNativePlugins || [],\n\t\tserverFileExclusionPlugin(),\n\t\tenvironmentGuardPlugin(),\n\t\thmrClientNoopPlugin(),\n\t\tcssStubPlugin(),\n\t\tviteImportGlobPlugin({ root }),\n\t\tvxrnCompilerPlugin(platform, dev),\n\t\tflowStripPlugin(),\n\t\tnativeAnimatedGuardPlugin(),\n\t\tassetPlugin({\n\t\t\troot,\n\t\t\tplatform,\n\t\t\tassetsDest\n\t\t}),\n\t\thermesCompatSWCPlugin(dev)\n\t];\n}\nfunction getNativeOutputOptions(prelude) {\n\treturn {\n\t\tformat: \"esm\",\n\t\tsourcemap: true,\n\t\tintro: prelude,\n\t\tcodeSplitting: false,\n\t\tstrictExecutionOrder: true\n\t};\n}\nfunction postProcessNativeBundle(code) {\n\tcode = code.replace(/^\\s*export\\s*\\{[^}]*\\}\\s*;?\\s*$/gm, \"\");\n\tcode = code.replace(/^\\s*export\\s+default\\s+([^;\\n]+);?\\s*$/gm, \"$1;\");\n\tcode = code.replace(/^if \\(import\\.meta\\.hot\\).*$/gm, \"\");\n\t{\n\t\tconst idx = code.indexOf(\"NativeAnimatedModule_default ?? NativeAnimatedTurboModule_default;\");\n\t\tif (idx !== -1) {\n\t\t\tconst beforeMarker = code.lastIndexOf(\"NativeAnimatedModule = \", idx);\n\t\t\tif (beforeMarker !== -1) {\n\t\t\t\tconst lineStart = code.lastIndexOf(\"\\n\", beforeMarker);\n\t\t\t\tconst snippet = code.slice(lineStart + 1, beforeMarker + 50);\n\t\t\t\tif (snippet.includes(\"(function()\") || snippet.includes(\"new Proxy\")) {\n\t\t\t\t\tconst afterMarker = code.indexOf(\"})();\", idx);\n\t\t\t\t\tif (afterMarker !== -1) {\n\t\t\t\t\t\tconst end = afterMarker + 5;\n\t\t\t\t\t\tcode = code.slice(0, beforeMarker) + \"NativeAnimatedModule = NativeAnimatedModule_default ?? NativeAnimatedTurboModule_default;\" + code.slice(end);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn code;\n}\nfunction wrapNativeBundleModuleScope(code) {\n\tconst idx = code.indexOf(\"//#region \\\\0rolldown/runtime.js\");\n\tif (idx === -1) return code;\n\tconst open = \";(function() {\\n\";\n\tconst close = \"\\n})();\\n\";\n\tconst sm = code.match(/\\n\\/\\/# sourceMappingURL=[^\\n]*\\s*$/);\n\tif (sm) {\n\t\tconst smIdx = code.lastIndexOf(sm[0]);\n\t\treturn code.slice(0, idx) + open + code.slice(idx, smIdx) + close + code.slice(smIdx);\n\t}\n\treturn code.slice(0, idx) + open + code.slice(idx) + close;\n}\nasync function downlevelClassFieldsInBundle(code) {\n\tconst startMarker = \"//#region \\\\0rolldown/runtime.js\";\n\tconst endMarker = \"//#endregion\";\n\tconst startIdx = code.indexOf(startMarker);\n\tif (startIdx === -1) return code;\n\tconst endIdx = code.indexOf(endMarker, startIdx);\n\tif (endIdx === -1) return code;\n\tconst runtimeEnd = endIdx + 12;\n\tconst runtimeSection = code.slice(startIdx, runtimeEnd);\n\ttry {\n\t\tconst result = await (await import(\"@swc/core\")).transform(runtimeSection, {\n\t\t\tfilename: \"rolldown-runtime.js\",\n\t\t\tconfigFile: false,\n\t\t\tswcrc: false,\n\t\t\tsourceMaps: false,\n\t\t\tinputSourceMap: false,\n\t\t\tisModule: false,\n\t\t\tenv: {\n\t\t\t\ttargets: { node: 9999 },\n\t\t\t\tinclude: [...HERMES_CLASS_TRANSFORMS]\n\t\t\t},\n\t\t\tjsc: {\n\t\t\t\tparser: { syntax: \"ecmascript\" },\n\t\t\t\ttransform: { react: { runtime: \"preserve\" } },\n\t\t\t\texternalHelpers: false,\n\t\t\t\tassumptions: {\n\t\t\t\t\tsetPublicClassFields: true,\n\t\t\t\t\tprivateFieldsAsProperties: true\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\treturn code.slice(0, startIdx) + result.code + code.slice(runtimeEnd);\n\t} catch (err) {\n\t\tconsole.warn(\"[vxrn] downlevelClassFieldsInBundle failed, returning original:\", err);\n\t\treturn code;\n\t}\n}\nasync function createNativeDevEngine(options) {\n\tconst { root, port, host = \"localhost\", platform, serverUrl, plugins: userPlugins = [], onHmrUpdate } = options;\n\tconst { dev, viteImportGlobPlugin } = await import(\"rolldown/experimental\");\n\tconst hmrRuntimeSource = getHmrRuntimeSource();\n\tconst prelude = getNativePrelude({\n\t\tdev: true,\n\t\tplatform,\n\t\tserverUrl: serverUrl || `http://${host}:${port}`\n\t});\n\tlet currentBundle = null;\n\tlet bundleResolve = null;\n\tlet bundlePromise = null;\n\tconst resolvedHost = host === \"0.0.0.0\" ? \"localhost\" : host;\n\tconst engine = await dev({\n\t\tinput: VIRTUAL_NATIVE_ENTRY,\n\t\tcwd: root,\n\t\tplatform: \"neutral\",\n\t\tresolve: getNativeResolveConfig(platform),\n\t\ttransform: getNativeTransformConfig(platform, true, root),\n\t\texperimental: {\n\t\t\tdevMode: {\n\t\t\t\timplement: hmrRuntimeSource,\n\t\t\t\thost,\n\t\t\t\tport\n\t\t\t},\n\t\t\tincrementalBuild: true,\n\t\t\tlazyBarrel: true\n\t\t},\n\t\ttreeshake: false,\n\t\tshimMissingExports: true,\n\t\tmoduleTypes: { \".js\": \"jsx\" },\n\t\tplugins: [\n\t\t\tnativeVirtualEntryPlugin(root, { dev: true }),\n\t\t\t...getNativePlugins(root, platform, viteImportGlobPlugin, true),\n\t\t\t...userPlugins\n\t\t]\n\t}, {\n\t\t...getNativeOutputOptions(prelude),\n\t\toutro: `\ntry {\n var __WS = (init_WebSocket(), __toCommonJS(WebSocket_exports)).default;\n var __hmrUrl = 'ws://${resolvedHost}:${port}/hot';\n var __hmrWS = new __WS(__hmrUrl);\n __hmrWS.onmessage = function(event) {\n try {\n var msg = JSON.parse(event.data);\n var g = typeof global !== 'undefined' ? global : globalThis;\n if (msg.type === 'hmr:update' && msg.code) {\n if (g.globalEvalWithSourceUrl) g.globalEvalWithSourceUrl(msg.code);\n else (0, eval)(msg.code);\n setTimeout(function() {\n try { if (g.__ReactRefresh) g.__ReactRefresh.performReactRefresh(); } catch(e) {}\n }, 50);\n } else if (msg.type === 'hmr:reload') {\n var ds = g.__turboModuleProxy ? g.__turboModuleProxy('DevSettings') : null;\n if (ds && ds.reload) ds.reload();\n }\n } catch(e) { console.error('[vxrn] HMR eval error:', e); }\n };\n __hmrWS.onopen = function() {\n if (typeof __rolldown_runtime__ !== 'undefined' && __rolldown_runtime__.setup) {\n __rolldown_runtime__.setup(__hmrWS, __hmrUrl.replace('ws://', 'http://'));\n }\n };\n __hmrWS.onerror = function(e) { console.warn('[vxrn] HMR connection error:', e.message || e); };\n} catch(e) {}\n`\n\t}, {\n\t\tonOutput: async (result) => {\n\t\t\tif (result instanceof Error) {\n\t\t\t\tconsole.error(\"[vxrn] native bundle error:\", result.message);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst chunk = result.output.find((o) => o.type === \"chunk\" && o.isEntry);\n\t\t\tif (chunk && \"code\" in chunk) {\n\t\t\t\tlet code = postProcessNativeBundle(chunk.code);\n\t\t\t\tcode = await downlevelClassFieldsInBundle(code);\n\t\t\t\tcode = wrapNativeBundleModuleScope(code);\n\t\t\t\tcurrentBundle = {\n\t\t\t\t\tcode,\n\t\t\t\t\tmap: chunk.map?.toString()\n\t\t\t\t};\n\t\t\t\tconsole.info(`[vxrn] native bundle ready (${Math.round(chunk.code.length / 1024)}KB)`);\n\t\t\t\tif (bundleResolve) {\n\t\t\t\t\tbundleResolve(currentBundle);\n\t\t\t\t\tbundleResolve = null;\n\t\t\t\t\tbundlePromise = null;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonHmrUpdates: async (result) => {\n\t\t\tif (result instanceof Error) {\n\t\t\t\tconsole.error(\"[vxrn] HMR error:\", result.message);\n\t\t\t\tonHmrUpdate?.({ type: \"hmr:error\" });\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst updates = result.updates || [];\n\t\t\tfor (const item of updates) {\n\t\t\t\tconst update = item.update || item;\n\t\t\t\tif (update.type === \"Patch\" && update.code) onHmrUpdate?.({\n\t\t\t\t\ttype: \"hmr:update\",\n\t\t\t\t\tcode: update.code\n\t\t\t\t});\n\t\t\t\telse if (update.type === \"FullReload\") onHmrUpdate?.({ type: \"hmr:reload\" });\n\t\t\t}\n\t\t\tif (updates.length === 0) onHmrUpdate?.({ type: \"hmr:reload\" });\n\t\t},\n\t\trebuildStrategy: \"auto\",\n\t\twatch: {}\n\t});\n\tawait engine.run();\n\treturn {\n\t\tengine,\n\t\tasync getBundle() {\n\t\t\tif (currentBundle) return currentBundle;\n\t\t\tif (!bundlePromise) {\n\t\t\t\tlet timeoutId;\n\t\t\t\tbundlePromise = new Promise((resolve2, reject) => {\n\t\t\t\t\tbundleResolve = (value) => {\n\t\t\t\t\t\tclearTimeout(timeoutId);\n\t\t\t\t\t\tresolve2(value);\n\t\t\t\t\t};\n\t\t\t\t\ttimeoutId = setTimeout(() => reject(/* @__PURE__ */ new Error(\"[vxrn] bundle build timed out after 120s\")), 12e4);\n\t\t\t\t});\n\t\t\t}\n\t\t\tawait engine.ensureLatestBuildOutput();\n\t\t\tif (currentBundle) return currentBundle;\n\t\t\treturn bundlePromise;\n\t\t},\n\t\tasync close() {\n\t\t\tawait engine.close();\n\t\t}\n\t};\n}\nasync function buildNativeBundle(options) {\n\tconst { root, platform, dev = false, serverUrl, entryFile, assetsDest, plugins: userPlugins = [] } = options;\n\tconst { build } = await import(\"rolldown\");\n\tconst { viteImportGlobPlugin } = await import(\"rolldown/experimental\");\n\tconst prelude = getNativePrelude({\n\t\tdev,\n\t\tplatform,\n\t\tserverUrl\n\t});\n\tconst chunk = (await build({\n\t\tinput: entryFile ? normalizePath(resolve(root, entryFile)) : VIRTUAL_NATIVE_ENTRY,\n\t\tcwd: root,\n\t\tplatform: \"neutral\",\n\t\tresolve: getNativeResolveConfig(platform),\n\t\ttransform: getNativeTransformConfig(platform, dev, root),\n\t\ttreeshake: !dev,\n\t\tshimMissingExports: true,\n\t\tmoduleTypes: { \".js\": \"jsx\" },\n\t\tplugins: [\n\t\t\t...entryFile ? [] : [nativeVirtualEntryPlugin(root, { dev })],\n\t\t\t...getNativePlugins(root, platform, viteImportGlobPlugin, dev, assetsDest),\n\t\t\t...userPlugins\n\t\t],\n\t\toutput: getNativeOutputOptions(prelude)\n\t})).output.find((o) => o.type === \"chunk\" && o.isEntry);\n\tif (!chunk || !(\"code\" in chunk)) throw new Error(\"[vxrn] production build produced no output\");\n\tlet code = postProcessNativeBundle(chunk.code);\n\tcode = await downlevelClassFieldsInBundle(code);\n\treturn {\n\t\tcode,\n\t\tmap: chunk.map?.toString()\n\t};\n}\nconst VIRTUAL_NATIVE_ENTRY = \"virtual:native-entry\";\nfunction nativeVirtualEntryPlugin(root, opts) {\n\tconst isDev = opts?.dev !== false;\n\tconst resolvedId = normalizePath(resolve(root, \"__virtual-native-entry.tsx\"));\n\tconst entryConfig = globalThis.__vxrnNativeEntryConfig || {};\n\tconst routerRoot = entryConfig.routerRoot || \"app\";\n\tconst flags = entryConfig.flags || {};\n\tconst linking = entryConfig.linking;\n\tconst setupFileImport = (() => {\n\t\tconst sf = entryConfig.setupFile;\n\t\tif (!sf) return \"\";\n\t\tconst file = typeof sf === \"string\" ? sf : \"native\" in sf ? sf.native : sf.ios;\n\t\tif (!file) return \"\";\n\t\tconst resolved = pathToFileURL(resolve(root, file)).href;\n\t\treturn `import ${JSON.stringify(resolved)};`;\n\t})();\n\tconst routeGlobs = [\n\t\t`./${routerRoot}/**/*.tsx`,\n\t\t`./${routerRoot}/**/*.ts`,\n\t\t`!./${routerRoot}/**/*+api.*`,\n\t\t`!./${routerRoot}/**/*.test.*`,\n\t\t`!./${routerRoot}/**/*.d.ts`,\n\t\t`!./${routerRoot}/**/*.server.*`,\n\t\t`!./${routerRoot}/**/_middleware.*`,\n\t\t`!./${routerRoot}/**/*.web.*`,\n\t\t...(entryConfig.ignoredRouteFiles || []).map((pattern) => `!./${routerRoot}/${pattern}`)\n\t];\n\tconst entryCode = `\n${isDev ? `\n// react-refresh/runtime MUST initialize before React loads\nimport RefreshRuntime from 'react-refresh/runtime';\nRefreshRuntime.injectIntoGlobalHook(globalThis);\nglobalThis.__ReactRefresh = RefreshRuntime;\nglobalThis.$RefreshReg$ = function(type, id) {\n RefreshRuntime.register(type, id);\n};\nglobalThis.$RefreshSig$ = RefreshRuntime.createSignatureFunctionForTransform;\n` : \"\"}\nimport * as ReactNativeInitializeCore from 'react-native/Libraries/Core/InitializeCore';\nimport NativeWebSocket from 'react-native/Libraries/WebSocket/WebSocket';\n${setupFileImport}\nimport { createApp } from 'one';\n\nvoid ReactNativeInitializeCore;\nglobalThis.WebSocket = NativeWebSocket;\n\nvar _routes = import.meta.glob(${JSON.stringify(routeGlobs)}, { exhaustive: true });\n// fix route keys: One expects '/${routerRoot}/...' prefix but import.meta.glob returns './${routerRoot}/...'\nvar routes = {};\nObject.keys(_routes).forEach(function(key) {\n var normalizedKey = key.replace(/^\\\\.\\\\//, '');\n routes['/' + normalizedKey] = _routes[key];\n});\n\ncreateApp({\n routes: routes,\n routerRoot: ${JSON.stringify(routerRoot)},\n flags: ${JSON.stringify(flags)},\n linking: ${JSON.stringify(linking)},\n});\n`;\n\treturn {\n\t\tname: \"vxrn:native-virtual-entry\",\n\t\tresolveId(id) {\n\t\t\tif (id === VIRTUAL_NATIVE_ENTRY) return resolvedId;\n\t\t},\n\t\tload(id) {\n\t\t\tif (id === resolvedId) return entryCode;\n\t\t}\n\t};\n}\nfunction nativeAnimatedGuardPlugin() {\n\treturn {\n\t\tname: \"vxrn:native-animated-guard\",\n\t\ttransform(code, id) {\n\t\t\tif (!id.includes(\"animated/NativeAnimatedHelper\")) return;\n\t\t\tconst target = \"const method = nullthrows(NativeAnimatedModule)[methodName];\";\n\t\t\tif (!code.includes(target)) return;\n\t\t\treturn { code: code.replace(target, `const method = nullthrows(NativeAnimatedModule)[methodName];\n if (typeof method !== 'function') return;`) };\n\t\t}\n\t};\n}\nfunction serverFileExclusionPlugin() {\n\treturn {\n\t\tname: \"vxrn:server-file-exclusion\",\n\t\tload(id) {\n\t\t\tif (/\\.server\\.\\w+$/.test(id)) return {\n\t\t\t\tcode: \"export default undefined;\",\n\t\t\t\tmoduleType: \"js\"\n\t\t\t};\n\t\t\tif (/[\\\\/]_middleware\\.\\w+$/.test(id)) return {\n\t\t\t\tcode: \"export default undefined;\",\n\t\t\t\tmoduleType: \"js\"\n\t\t\t};\n\t\t}\n\t};\n}\nfunction environmentGuardPlugin() {\n\tconst THROWING = [\n\t\t\"server-only\",\n\t\t\"client-only\",\n\t\t\"web-only\"\n\t];\n\tconst NOOP = [\"native-only\"];\n\treturn {\n\t\tname: \"vxrn:environment-guard\",\n\t\tresolveId(source) {\n\t\t\tif (THROWING.includes(source)) return {\n\t\t\t\tid: `\\0env-guard-throw:${source}`,\n\t\t\t\texternal: false\n\t\t\t};\n\t\t\tif (NOOP.includes(source)) return {\n\t\t\t\tid: `\\0env-guard-noop:${source}`,\n\t\t\t\texternal: false\n\t\t\t};\n\t\t},\n\t\tload(id) {\n\t\t\tif (id.startsWith(\"\\0env-guard-throw:\")) return {\n\t\t\t\tcode: `throw new Error(\"Cannot import '${id.slice(17)}' in a native bundle.\");`,\n\t\t\t\tmoduleType: \"js\"\n\t\t\t};\n\t\t\tif (id.startsWith(\"\\0env-guard-noop:\")) return {\n\t\t\t\tcode: \"\",\n\t\t\t\tmoduleType: \"js\"\n\t\t\t};\n\t\t}\n\t};\n}\nfunction hmrClientNoopPlugin() {\n\tconst RN_HMR_CLIENT_RE = /(^|[\\\\/])Utilities[\\\\/]HMRClient(\\.[cm]?[jt]sx?)?$/;\n\treturn {\n\t\tname: \"vxrn:hmr-client-noop\",\n\t\tresolveId(source, importer) {\n\t\t\tif ((source.startsWith(\"react-native/\") || importer != null && /(^|[\\\\/])react-native[\\\\/]/.test(importer)) && RN_HMR_CLIENT_RE.test(source)) return {\n\t\t\t\tid: \"\\0vxrn-hmr-client-noop\",\n\t\t\t\texternal: false\n\t\t\t};\n\t\t},\n\t\tload(id) {\n\t\t\tif (id === \"\\0vxrn-hmr-client-noop\") return {\n\t\t\t\tcode: `const HMRClient = { setup() {}, enable() {}, disable() {}, registerBundle() {}, log() {}, isEnabled() { return false } }\nexport default HMRClient`,\n\t\t\t\tmoduleType: \"js\"\n\t\t\t};\n\t\t}\n\t};\n}\nfunction cssStubPlugin() {\n\treturn {\n\t\tname: \"vxrn:css-stub\",\n\t\tload: { handler(id) {\n\t\t\tif (id.endsWith(\".css\")) return {\n\t\t\t\tcode: \"\",\n\t\t\t\tmoduleType: \"js\"\n\t\t\t};\n\t\t} }\n\t};\n}\nfunction vxrnCompilerPlugin(platform, dev) {\n\tlet compiler = null;\n\tconst isRefreshCandidate = (id) => dev && !id.includes(\"node_modules\") && !id.includes(\"__virtual-native-entry\") && /\\.[tj]sx?$/.test(id);\n\treturn {\n\t\tname: \"vxrn:compiler\",\n\t\tasync transform(code, id) {\n\t\t\tif (!/\\.[cm]?[jt]sx?$/.test(id)) return;\n\t\t\tif (id.includes(\"\\0\") || id.includes(\"virtual:\")) return;\n\t\t\tconst needsRefresh = isRefreshCandidate(id);\n\t\t\ttry {\n\t\t\t\tif (!compiler) compiler = await import(\"@vxrn/compiler\");\n\t\t\t\tconst props = {\n\t\t\t\t\tid,\n\t\t\t\t\tcode,\n\t\t\t\t\tdevelopment: dev,\n\t\t\t\t\tenvironment: platform,\n\t\t\t\t\treactForRNVersion: \"19\"\n\t\t\t\t};\n\t\t\t\tlet babelOptions = compiler.getBabelOptions(props);\n\t\t\t\tif (needsRefresh) {\n\t\t\t\t\tconst existingPlugins = babelOptions?.plugins || [];\n\t\t\t\t\tbabelOptions = {\n\t\t\t\t\t\t...babelOptions,\n\t\t\t\t\t\tplugins: [...existingPlugins, [\"react-refresh/babel\", {\n\t\t\t\t\t\t\tskipEnvCheck: true,\n\t\t\t\t\t\t\trefreshReg: \"__vxrnRefreshReg\",\n\t\t\t\t\t\t\trefreshSig: \"__vxrnRefreshSig\"\n\t\t\t\t\t\t}]]\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif (!babelOptions) return;\n\t\t\t\tconst result = await compiler.transformBabel(id, code, babelOptions);\n\t\t\t\tif (result?.code) {\n\t\t\t\t\tlet out = result.code;\n\t\t\t\t\tif (needsRefresh) out = `\nvar __prevRefreshReg = globalThis.$RefreshReg$;\nvar __prevRefreshSig = globalThis.$RefreshSig$;\nif (globalThis.__ReactRefresh) {\n globalThis.$RefreshReg$ = function(type, id) {\n globalThis.__ReactRefresh.register(type, \"${id.replace(/\\\\/g, \"\\\\\\\\\").replace(/\"/g, \"\\\\\\\"\")}\" + \" \" + id);\n };\n globalThis.$RefreshSig$ = globalThis.__ReactRefresh.createSignatureFunctionForTransform;\n}\n// keep registration calls local so rolldown retains them in the initial bundle.\nvar __vxrnRefreshReg = globalThis.$RefreshReg$;\nvar __vxrnRefreshSig = globalThis.$RefreshSig$;\n\n${out}\n\nglobalThis.$RefreshReg$ = __prevRefreshReg;\nglobalThis.$RefreshSig$ = __prevRefreshSig;\nif (import.meta.hot) {\n import.meta.hot.accept(function() {\n if (globalThis.__ReactRefresh) {\n setTimeout(function() { globalThis.__ReactRefresh.performReactRefresh(); }, 30);\n }\n });\n}\n`;\n\t\t\t\t\treturn { code: out };\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\tif (dev) console.warn(`[vxrn:compiler] ${id}: ${err.message || err}`);\n\t\t\t\tif (needsRefresh) return { code: code + `\nif (import.meta.hot) { import.meta.hot.accept(); }\n` };\n\t\t\t}\n\t\t}\n\t};\n}\nfunction flowStripPlugin() {\n\treturn {\n\t\tname: \"vxrn:flow-strip\",\n\t\ttransform: { async handler(code, id) {\n\t\t\tif (!FLOW_FILE_PATTERN.test(id)) return;\n\t\t\ttry {\n\t\t\t\tconst result = await (await import(\"fast-flow-transform\")).default({\n\t\t\t\t\tfilename: id,\n\t\t\t\t\tsource: code,\n\t\t\t\t\tsourcemap: true,\n\t\t\t\t\tdialect: \"flow\",\n\t\t\t\t\tformat: \"pretty\"\n\t\t\t\t});\n\t\t\t\treturn {\n\t\t\t\t\tcode: result.code,\n\t\t\t\t\tmap: result.map\n\t\t\t\t};\n\t\t\t} catch (err) {\n\t\t\t\tconsole.warn(`[vxrn:flow-strip] ${id}: ${err.message}`);\n\t\t\t}\n\t\t} }\n\t};\n}\nfunction assetPlugin(opts) {\n\tconst assetRegex = new RegExp(`\\\\.(?:${DEFAULT_ASSET_EXTS.join(\"|\")})$`);\n\treturn {\n\t\tname: \"vxrn:asset\",\n\t\tload: { async handler(id) {\n\t\t\tif (!assetRegex.test(id)) return;\n\t\t\tconst ext = extname(id).slice(1);\n\t\t\tconst name = basename(id, `.${ext}`);\n\t\t\tconst dir = dirname(id);\n\t\t\tconst relativePath = relative(opts.root, id);\n\t\t\tconst assetData = {\n\t\t\t\t__packager_asset: true,\n\t\t\t\tname,\n\t\t\t\ttype: ext,\n\t\t\t\tscales: [1],\n\t\t\t\thttpServerLocation: \"/assets/\" + dirname(relativePath).replace(/\\\\/g, \"/\"),\n\t\t\t\tfileSystemLocation: dir,\n\t\t\t\thash: \"\",\n\t\t\t\twidth: void 0,\n\t\t\t\theight: void 0\n\t\t\t};\n\t\t\tif ([\n\t\t\t\t\"png\",\n\t\t\t\t\"jpg\",\n\t\t\t\t\"jpeg\",\n\t\t\t\t\"gif\",\n\t\t\t\t\"webp\",\n\t\t\t\t\"bmp\"\n\t\t\t].includes(ext)) try {\n\t\t\t\tconst { imageSize } = await import(\"image-size\");\n\t\t\t\tconst dims = imageSize(id);\n\t\t\t\tassetData.width = dims.width;\n\t\t\t\tassetData.height = dims.height;\n\t\t\t} catch {}\n\t\t\tif (opts.assetsDest) {\n\t\t\t\tconst relativeAssetDir = dirname(relativePath).replace(/\\\\/g, \"/\");\n\t\t\t\tconst assetDestDir = join(opts.assetsDest, \"assets\", relativeAssetDir);\n\t\t\t\tmkdirSync(assetDestDir, { recursive: true });\n\t\t\t\tcopyFileSync(id, join(assetDestDir, `${name}.${ext}`));\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tcode: `module.exports = require('react-native/Libraries/Image/AssetRegistry').registerAsset(${JSON.stringify(assetData)});`,\n\t\t\t\tmoduleType: \"js\"\n\t\t\t};\n\t\t} }\n\t};\n}\nfunction hermesCompatSWCPlugin(dev) {\n\tlet swc = null;\n\treturn {\n\t\tname: \"vxrn:hermes-compat\",\n\t\tasync transform(code, id) {\n\t\t\tif (!/\\.[cm]?[jt]sx?$/.test(id)) return;\n\t\t\tif (id.includes(\"\\0\") || id.includes(\"virtual:\")) return;\n\t\t\tconst hasClass = code.includes(\"class \") || code.includes(\"class{\");\n\t\t\tconst hasAsync = !dev && code.includes(\"async \");\n\t\t\tif (!hasClass && !hasAsync) return;\n\t\t\tif (code.length > 5e5) return;\n\t\t\ttry {\n\t\t\t\tif (!swc) swc = await import(\"@swc/core\");\n\t\t\t\tconst envIncludes = getHermesSWCIncludes(dev);\n\t\t\t\treturn { code: (await swc.transform(code, {\n\t\t\t\t\tfilename: id,\n\t\t\t\t\tconfigFile: false,\n\t\t\t\t\tswcrc: false,\n\t\t\t\t\tsourceMaps: false,\n\t\t\t\t\tinputSourceMap: false,\n\t\t\t\t\tenv: {\n\t\t\t\t\t\ttargets: { node: 9999 },\n\t\t\t\t\t\tinclude: envIncludes\n\t\t\t\t\t},\n\t\t\t\t\tjsc: {\n\t\t\t\t\t\tparser: {\n\t\t\t\t\t\t\tsyntax: \"typescript\",\n\t\t\t\t\t\t\ttsx: true\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttransform: { react: { runtime: \"preserve\" } },\n\t\t\t\t\t\texternalHelpers: false,\n\t\t\t\t\t\tassumptions: {\n\t\t\t\t\t\t\tsetPublicClassFields: true,\n\t\t\t\t\t\t\tprivateFieldsAsProperties: true\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tisModule: !id.endsWith(\".cjs\")\n\t\t\t\t})).code };\n\t\t\t} catch (err) {}\n\t\t}\n\t};\n}\nfunction getHmrRuntimeSource() {\n\treturn `\n// vxrn HMR runtime for rolldown devMode\nvar BaseDevRuntime = DevRuntime;\n\nclass ReactNativeDevRuntime extends BaseDevRuntime {\n constructor() {\n var _shared = { _socket: null, _queue: [] };\n var clientId = 'rn-' + Date.now() + '-' + Math.random().toString(36).slice(2);\n super({ send: function(msg) {\n var s = JSON.stringify(msg);\n if (_shared._socket && _shared._socket.readyState === 1) { _shared._socket.send(s); }\n else { _shared._queue.push(s); }\n }}, clientId);\n this._shared = _shared;\n this._socket = null;\n this._queue = [];\n this.moduleHotContexts = {};\n }\n\n createModuleHotContext(moduleId) {\n var ctx = {\n acceptCallbacks: [],\n accept: function(cb) {\n if (cb) ctx.acceptCallbacks.push({ deps: [moduleId], fn: cb });\n },\n invalidate: function() {},\n on: function() {},\n off: function() {},\n send: function() {},\n get refresh() { return globalThis.__ReactRefresh; },\n get refreshUtils() {\n return {\n isReactRefreshBoundary: function(exports) {\n if (!globalThis.__ReactRefresh) return false;\n if (globalThis.__ReactRefresh.isLikelyComponentType(exports)) return true;\n if (!exports || typeof exports !== 'object') return false;\n var hasExports = false, allComponents = true;\n for (var key in exports) {\n hasExports = true;\n if (key === '__esModule') continue;\n if (!globalThis.__ReactRefresh.isLikelyComponentType(exports[key])) allComponents = false;\n }\n return hasExports && allComponents;\n },\n enqueueUpdate: function() {\n if (globalThis.__ReactRefresh) {\n setTimeout(function() { globalThis.__ReactRefresh.performReactRefresh(); }, 50);\n }\n }\n };\n }\n };\n this.moduleHotContexts[moduleId] = ctx;\n return ctx;\n }\n\n applyUpdates(boundaries) {\n for (var i = 0; i < boundaries.length; i++) {\n var moduleId = boundaries[i][0];\n var ctx = this.moduleHotContexts[moduleId];\n if (ctx && ctx.acceptCallbacks) {\n for (var j = 0; j < ctx.acceptCallbacks.length; j++) {\n ctx.acceptCallbacks[j].fn(this.modules[moduleId].exports);\n }\n }\n // surface each committed module id to the framework hot-update hook (if one\n // is registered). RN's React Refresh can't repaint frameworks that re-wrap\n // route components away from the edited module's Refresh family (e.g. One),\n // and the web route-update event has no equivalent on the native /hot\n // socket, so this generic vxrn global is the bridge.\n try {\n if (globalThis.__VXRN_ON_MODULE_UPDATED__ && moduleId) globalThis.__VXRN_ON_MODULE_UPDATED__(moduleId);\n } catch (error) {\n console.error('[vxrn HMR]: module update hook failed', error);\n }\n }\n }\n\n setup(socket, origin) {\n if (this._socket) return;\n this._socket = socket;\n // also set the shared messenger socket so queued messages can flush\n if (this._shared) this._shared._socket = socket;\n\n var flushQueues = function() {\n // flush messenger queue\n if (this._shared && this._shared._queue.length) {\n for (var i = 0; i < this._shared._queue.length; i++) socket.send(this._shared._queue[i]);\n this._shared._queue = [];\n }\n // flush instance queue\n for (var i = 0; i < this._queue.length; i++) socket.send(this._queue[i]);\n this._queue = [];\n }.bind(this);\n\n if (socket.readyState === 1) {\n flushQueues();\n } else {\n socket.addEventListener('open', function() {\n flushQueues();\n }, { once: true });\n }\n\n // HMR message handling is done by the outro WebSocket handler\n // the runtime's setup() only needs to flush queued messages\n }\n}\n\nglobalThis.__rolldown_runtime__ = new ReactNativeDevRuntime();\n`;\n}\n\nexport { buildNativeBundle, createNativeDevEngine, getHermesSWCIncludes, getNativeTransformConfig, hmrClientNoopPlugin, vxrnCompilerPlugin, wrapNativeBundleModuleScope };"],"mappings":"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AAW,GAAGnQ,oBAAoB,CAACC,GAAG,CAAC;QAC7C,OAAO;UAAEiF,IAAI,EAAE,CAAC,MAAM8K,GAAG,CAACtJ,SAAS,CAACxB,IAAI,EAAE;YACzCyB,QAAQ,EAAEoG,EAAE;YACZnG,UAAU,EAAE,KAAK;YACjBC,KAAK,EAAE,KAAK;YACZC,UAAU,EAAE,KAAK;YACjBC,cAAc,EAAE,KAAK;YACrBE,GAAG,EAAE;cACJC,OAAO,EAAE;gBAAEC,IAAI,EAAE;cAAK,CAAC;cACvBC,OAAO,EAAE+I;YACV,CAAC;YACD9I,GAAG,EAAE;cACJC,MAAM,EAAE;gBACPC,MAAM,EAAE,YAAY;gBACpB6I,GAAG,EAAE;cACN,CAAC;cACD1J,SAAS,EAAE;gBAAEc,KAAK,EAAE;kBAAEhE,OAAO,EAAE;gBAAW;cAAE,CAAC;cAC7CiE,eAAe,EAAE,KAAK;cACtBC,WAAW,EAAE;gBACZC,oBAAoB,EAAE,IAAI;gBAC1BC,yBAAyB,EAAE;cAC5B;YACD,CAAC;YACDZ,QAAQ,EAAE,CAAC+F,EAAE,CAACa,QAAQ,CAAC,MAAM;UAC9B,CAAC,CAAC,EAAE1I;QAAK,CAAC;MACX,CAAC,CAAC,OAAO2C,GAAG,EAAE,CAAC;IAChB;EACD,CAAC;AACF;AACA,SAASY,mBAAmBA,CAAA,EAAG;EAC9B,OAAO;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AAEA,SAASmD,iBAAiB,EAAE5D,qBAAqB,EAAEhI,oBAAoB,EAAEW,wBAAwB,EAAEwD,mBAAmB,EAAEE,kBAAkB,EAAEwB,2BAA2B","ignoreList":[]}
|