vxrn 1.24.2 → 1.24.4
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/config/getAdditionalViteConfig.mjs +16 -0
- package/dist/config/getAdditionalViteConfig.mjs.map +1 -1
- package/dist/config/getAdditionalViteConfig.native.js +16 -0
- package/dist/config/getAdditionalViteConfig.native.js.map +1 -1
- package/dist/exports/dev.mjs +12 -0
- package/dist/exports/dev.mjs.map +1 -1
- package/dist/exports/dev.native.js +18 -0
- package/dist/exports/dev.native.js.map +1 -1
- package/dist/rn-commands/bundle/buildBundle.mjs +2 -1
- package/dist/rn-commands/bundle/buildBundle.mjs.map +1 -1
- package/dist/rn-commands/bundle/buildBundle.native.js +2 -1
- package/dist/rn-commands/bundle/buildBundle.native.js.map +1 -1
- package/dist/utils/bindKeypressInput.mjs +9 -20
- package/dist/utils/bindKeypressInput.mjs.map +1 -1
- package/dist/utils/bindKeypressInput.native.js +9 -20
- package/dist/utils/bindKeypressInput.native.js.map +1 -1
- package/dist/utils/createNativeDevEngine.mjs +10 -17
- package/dist/utils/createNativeDevEngine.mjs.map +1 -1
- package/dist/utils/createNativeDevEngine.native.js +10 -18
- package/dist/utils/createNativeDevEngine.native.js.map +1 -1
- package/dist/utils/createNativeDevEngine.test.mjs +1 -4
- package/dist/utils/createNativeDevEngine.test.mjs.map +1 -1
- package/dist/utils/createNativeDevEngine.test.native.js +1 -4
- package/dist/utils/createNativeDevEngine.test.native.js.map +1 -1
- package/package.json +11 -11
- package/src/config/getAdditionalViteConfig.ts +24 -0
- package/src/exports/dev.ts +31 -0
- package/src/rn-commands/bundle/buildBundle.ts +1 -0
- package/src/utils/bindKeypressInput.ts +23 -29
- package/src/utils/createNativeDevEngine.test.ts +1 -5
- package/src/utils/createNativeDevEngine.ts +23 -24
- package/types/config/getAdditionalViteConfig.d.ts.map +1 -1
- package/types/exports/dev.d.ts.map +1 -1
- package/types/rn-commands/bundle/buildBundle.d.ts.map +1 -1
- package/types/utils/bindKeypressInput.d.ts.map +1 -1
- package/types/utils/createNativeDevEngine.d.ts +2 -1
- package/types/utils/createNativeDevEngine.d.ts.map +1 -1
|
@@ -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","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\texperimental: { lazyBarrel: false },\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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GAAG,MAAM,MAAM,CAAC,WAAW,CAAC;QACzC,MAAMG,WAAW,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":[]}
|
|
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","sourcemap","format","intro","codeSplitting","strictExecutionOrder","postProcessNativeBundle","code","idx","indexOf","beforeMarker","lastIndexOf","lineStart","snippet","slice","includes","afterMarker","end","wrapNativeBundleModuleScope","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","info","Math","round","length","onHmrUpdates","updates","item","update","rebuildStrategy","watch","run","getBundle","timeoutId","Promise","resolve2","reject","value","clearTimeout","setTimeout","ensureLatestBuildOutput","close","buildNativeBundle","entryFile","build","map","toString","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, sourcemap) {\n\treturn {\n\t\tformat: \"esm\",\n\t\tsourcemap,\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\treturn code.slice(0, idx) + \";(function() {\\n\" + code.slice(idx) + \"\\n})();\\n\";\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, false),\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 = { code };\n\t\t\t\tconsole.info(`[vxrn] native bundle ready (${Math.round(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 = [], sourcemap = false } = 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\texperimental: { lazyBarrel: false },\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, sourcemap)\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: sourcemap ? chunk.map?.toString() : void 0\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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AM,EAAE;gBACPC,MAAM,EAAE,YAAY;gBACpB8I,GAAG,EAAE;cACN,CAAC;cACD3J,SAAS,EAAE;gBAAEc,KAAK,EAAE;kBAAE5D,OAAO,EAAE;gBAAW;cAAE,CAAC;cAC7C6D,eAAe,EAAE,KAAK;cACtBC,WAAW,EAAE;gBACZC,oBAAoB,EAAE,IAAI;gBAC1BC,yBAAyB,EAAE;cAC5B;YACD,CAAC;YACDZ,QAAQ,EAAE,CAACgG,EAAE,CAACa,QAAQ,CAAC,MAAM;UAC9B,CAAC,CAAC,EAAEvI;QAAK,CAAC;MACX,CAAC,CAAC,OAAOuC,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,SAASkD,iBAAiB,EAAE3D,qBAAqB,EAAE5H,oBAAoB,EAAEW,wBAAwB,EAAEwD,mBAAmB,EAAEE,kBAAkB,EAAEwB,2BAA2B","ignoreList":[]}
|
|
@@ -168,10 +168,10 @@ function getNativePlugins(root, platform, viteImportGlobPlugin, dev, assetsDest)
|
|
|
168
168
|
assetsDest
|
|
169
169
|
}), hermesCompatSWCPlugin(dev)];
|
|
170
170
|
}
|
|
171
|
-
function getNativeOutputOptions(prelude) {
|
|
171
|
+
function getNativeOutputOptions(prelude, sourcemap) {
|
|
172
172
|
return {
|
|
173
173
|
format: "esm",
|
|
174
|
-
sourcemap
|
|
174
|
+
sourcemap,
|
|
175
175
|
intro: prelude,
|
|
176
176
|
codeSplitting: false,
|
|
177
177
|
strictExecutionOrder: true
|
|
@@ -201,14 +201,7 @@ function postProcessNativeBundle(code) {
|
|
|
201
201
|
function wrapNativeBundleModuleScope(code) {
|
|
202
202
|
var idx = code.indexOf("//#region \\0rolldown/runtime.js");
|
|
203
203
|
if (idx === -1) return code;
|
|
204
|
-
|
|
205
|
-
var close = "\n})();\n";
|
|
206
|
-
var sm = code.match(/\n\/\/# sourceMappingURL=[^\n]*\s*$/);
|
|
207
|
-
if (sm) {
|
|
208
|
-
var smIdx = code.lastIndexOf(sm[0]);
|
|
209
|
-
return code.slice(0, idx) + open + code.slice(idx, smIdx) + close + code.slice(smIdx);
|
|
210
|
-
}
|
|
211
|
-
return code.slice(0, idx) + open + code.slice(idx) + close;
|
|
204
|
+
return code.slice(0, idx) + ";(function() {\n" + code.slice(idx) + "\n})();\n";
|
|
212
205
|
}
|
|
213
206
|
async function downlevelClassFieldsInBundle(code) {
|
|
214
207
|
var startMarker = "//#region \\0rolldown/runtime.js";
|
|
@@ -303,7 +296,7 @@ async function createNativeDevEngine(options) {
|
|
|
303
296
|
dev: true
|
|
304
297
|
}), ...getNativePlugins(root, platform, viteImportGlobPlugin, true), ...userPlugins]
|
|
305
298
|
}, {
|
|
306
|
-
...getNativeOutputOptions(prelude),
|
|
299
|
+
...getNativeOutputOptions(prelude, false),
|
|
307
300
|
outro: `
|
|
308
301
|
try {
|
|
309
302
|
var __WS = (init_WebSocket(), __toCommonJS(WebSocket_exports)).default;
|
|
@@ -343,15 +336,13 @@ try {
|
|
|
343
336
|
return o.type === "chunk" && o.isEntry;
|
|
344
337
|
});
|
|
345
338
|
if (chunk && "code" in chunk) {
|
|
346
|
-
var _chunk_map;
|
|
347
339
|
var code = postProcessNativeBundle(chunk.code);
|
|
348
340
|
code = await downlevelClassFieldsInBundle(code);
|
|
349
341
|
code = wrapNativeBundleModuleScope(code);
|
|
350
342
|
currentBundle = {
|
|
351
|
-
code
|
|
352
|
-
map: (_chunk_map = chunk.map) === null || _chunk_map === void 0 ? void 0 : _chunk_map.toString()
|
|
343
|
+
code
|
|
353
344
|
};
|
|
354
|
-
console.info(`[vxrn] native bundle ready (${Math.round(
|
|
345
|
+
console.info(`[vxrn] native bundle ready (${Math.round(code.length / 1024)}KB)`);
|
|
355
346
|
if (bundleResolve) {
|
|
356
347
|
bundleResolve(currentBundle);
|
|
357
348
|
bundleResolve = null;
|
|
@@ -434,7 +425,8 @@ async function buildNativeBundle(options) {
|
|
|
434
425
|
serverUrl,
|
|
435
426
|
entryFile,
|
|
436
427
|
assetsDest,
|
|
437
|
-
plugins: userPlugins = []
|
|
428
|
+
plugins: userPlugins = [],
|
|
429
|
+
sourcemap = false
|
|
438
430
|
} = options;
|
|
439
431
|
var {
|
|
440
432
|
build
|
|
@@ -464,7 +456,7 @@ async function buildNativeBundle(options) {
|
|
|
464
456
|
plugins: [...(entryFile ? [] : [nativeVirtualEntryPlugin(root, {
|
|
465
457
|
dev
|
|
466
458
|
})]), ...getNativePlugins(root, platform, viteImportGlobPlugin, dev, assetsDest), ...userPlugins],
|
|
467
|
-
output: getNativeOutputOptions(prelude)
|
|
459
|
+
output: getNativeOutputOptions(prelude, sourcemap)
|
|
468
460
|
})).output.find(function (o) {
|
|
469
461
|
return o.type === "chunk" && o.isEntry;
|
|
470
462
|
});
|
|
@@ -473,7 +465,7 @@ async function buildNativeBundle(options) {
|
|
|
473
465
|
code = await downlevelClassFieldsInBundle(code);
|
|
474
466
|
return {
|
|
475
467
|
code,
|
|
476
|
-
map: (_chunk_map = chunk.map) === null || _chunk_map === void 0 ? void 0 : _chunk_map.toString()
|
|
468
|
+
map: sourcemap ? (_chunk_map = chunk.map) === null || _chunk_map === void 0 ? void 0 : _chunk_map.toString() : void 0
|
|
477
469
|
};
|
|
478
470
|
}
|
|
479
471
|
var VIRTUAL_NATIVE_ENTRY = "virtual:native-entry";
|