vxrn 1.25.8 → 1.25.9

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.
Files changed (45) hide show
  1. package/dist/config/getViteServerConfig.mjs +6 -0
  2. package/dist/config/getViteServerConfig.mjs.map +1 -1
  3. package/dist/config/getViteServerConfig.native.js +6 -0
  4. package/dist/config/getViteServerConfig.native.js.map +1 -1
  5. package/dist/config/getViteServerConfig.test.mjs +26 -0
  6. package/dist/config/getViteServerConfig.test.mjs.map +1 -0
  7. package/dist/config/getViteServerConfig.test.native.js +26 -0
  8. package/dist/config/getViteServerConfig.test.native.js.map +1 -0
  9. package/dist/exports/dev.mjs +26 -1
  10. package/dist/exports/dev.mjs.map +1 -1
  11. package/dist/exports/dev.native.js +26 -1
  12. package/dist/exports/dev.native.js.map +1 -1
  13. package/dist/plugins/reactNativeDevServer.mjs +80 -7
  14. package/dist/plugins/reactNativeDevServer.mjs.map +1 -1
  15. package/dist/plugins/reactNativeDevServer.native.js +80 -7
  16. package/dist/plugins/reactNativeDevServer.native.js.map +1 -1
  17. package/dist/runtime/native-prelude.mjs +7 -0
  18. package/dist/runtime/native-prelude.mjs.map +1 -1
  19. package/dist/runtime/native-prelude.native.js +7 -0
  20. package/dist/runtime/native-prelude.native.js.map +1 -1
  21. package/dist/utils/createNativeDevEngine.mjs +302 -197
  22. package/dist/utils/createNativeDevEngine.mjs.map +1 -1
  23. package/dist/utils/createNativeDevEngine.native.js +410 -221
  24. package/dist/utils/createNativeDevEngine.native.js.map +1 -1
  25. package/dist/utils/createNativeDevEngine.test.mjs +536 -6
  26. package/dist/utils/createNativeDevEngine.test.mjs.map +1 -1
  27. package/dist/utils/createNativeDevEngine.test.native.js +559 -6
  28. package/dist/utils/createNativeDevEngine.test.native.js.map +1 -1
  29. package/package.json +11 -11
  30. package/src/config/getViteServerConfig.test.ts +29 -0
  31. package/src/config/getViteServerConfig.ts +11 -0
  32. package/src/exports/dev.ts +34 -3
  33. package/src/plugins/reactNativeDevServer.ts +89 -12
  34. package/src/runtime/native-prelude.ts +7 -0
  35. package/src/utils/createNativeDevEngine.test.ts +682 -5
  36. package/src/utils/createNativeDevEngine.ts +516 -229
  37. package/types/config/getViteServerConfig.d.ts.map +1 -1
  38. package/types/config/getViteServerConfig.test.d.ts +2 -0
  39. package/types/config/getViteServerConfig.test.d.ts.map +1 -0
  40. package/types/exports/dev.d.ts.map +1 -1
  41. package/types/plugins/reactNativeDevServer.d.ts +1 -0
  42. package/types/plugins/reactNativeDevServer.d.ts.map +1 -1
  43. package/types/runtime/native-prelude.d.ts.map +1 -1
  44. package/types/utils/createNativeDevEngine.d.ts +40 -2
  45. package/types/utils/createNativeDevEngine.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["mkdtemp","rm","writeFile","tmpdir","join","rolldown","dev","describe","expect","it","getHermesSWCIncludes","getHmrRuntimeSource","getNativeTransformConfig","hermesCompatSWCPlugin","hmrClientNoopPlugin","vxrnCompilerPlugin","wrapNativeBundleModuleScope","timeout","testRoot","entry","source","version","resolveInitialOutput","initialOutput","Promise","resolve","resolveHmrUpdate","hmrUpdate","registeredClientId","engine","cwd","input","experimental","devMode","implement","format","onOutput","result","onHmrUpdates","Error","updates","some","item","clientId","update","type","run","initial","chunk","output","find","isEntry","toBeTruthy","globalThis","__rolldown_runtime__","Buffer","from","code","toString","runtime","toBe","registerClient","patch","race","_","reject","setTimeout","applyHmrUpdate","changedIds","seq","__vxrnHmrBody","__vxrnHmrAccepted","close","recursive","force","root","platform","dev2","define","JSON","stringify","envObject","parse","TAMAGUI_TARGET","TAMAGUI_ENVIRONMENT","RUNTIME_MARKER","out","openIdx","indexOf","toBeGreaterThan","toBeLessThan","Function","not","toThrow","CLASS_SET","toEqual","arrayContaining","toContain","build","plugins","generate","plugin","resolveId","load","VIRTUAL_ID","each","importer","id","external","toBeUndefined","moduleType","method","previousNodeEnv","process","env","NODE_ENV","transform"],"sources":["createNativeDevEngine.test.mjs"],"sourcesContent":["import { mkdtemp, rm, writeFile } from \"node:fs/promises\";\nimport { tmpdir } from \"node:os\";\nimport { join } from \"node:path\";\nimport { rolldown } from \"rolldown\";\nimport { dev } from \"rolldown/experimental\";\nimport { describe, expect, it } from \"vitest\";\nimport { getHermesSWCIncludes, getHmrRuntimeSource, getNativeTransformConfig, hermesCompatSWCPlugin, hmrClientNoopPlugin, vxrnCompilerPlugin, wrapNativeBundleModuleScope } from \"./createNativeDevEngine\";\n\ndescribe(\"native Rolldown HMR runtime\", () => {\n\tit(\"registers a Rolldown 1.2 client and applies a self-accepted patch\", { timeout: 3e4 }, async () => {\n\t\tconst testRoot = await mkdtemp(join(tmpdir(), \"vxrn-native-hmr-\"));\n\t\tconst entry = join(testRoot, \"entry.js\");\n\t\tconst source = (version) => `\nglobalThis.__vxrnHmrBody = '${version}'\nexport const value = '${version}'\nif (import.meta.hot) {\n import.meta.hot.accept((next) => {\n globalThis.__vxrnHmrAccepted = next.value\n })\n}\n`;\n\t\tawait writeFile(entry, source(\"v1\"));\n\t\tlet resolveInitialOutput;\n\t\tconst initialOutput = new Promise((resolve) => {\n\t\t\tresolveInitialOutput = resolve;\n\t\t});\n\t\tlet resolveHmrUpdate;\n\t\tconst hmrUpdate = new Promise((resolve) => {\n\t\t\tresolveHmrUpdate = resolve;\n\t\t});\n\t\tlet registeredClientId;\n\t\tconst engine = await dev({\n\t\t\tcwd: testRoot,\n\t\t\tinput: entry,\n\t\t\texperimental: { devMode: { implement: getHmrRuntimeSource() } }\n\t\t}, { format: \"esm\" }, {\n\t\t\tonOutput(result) {\n\t\t\t\tresolveInitialOutput(result);\n\t\t\t},\n\t\t\tonHmrUpdates(result) {\n\t\t\t\tif (!(result instanceof Error) && result.updates.some((item) => item.clientId === registeredClientId && item.update.type === \"Patch\")) resolveHmrUpdate(result);\n\t\t\t}\n\t\t});\n\t\ttry {\n\t\t\tawait engine.run();\n\t\t\tconst initial = await initialOutput;\n\t\t\tif (initial instanceof Error) throw initial;\n\t\t\tconst chunk = initial.output.find((item) => item.type === \"chunk\" && item.isEntry);\n\t\t\texpect(chunk).toBeTruthy();\n\t\t\tdelete globalThis.__rolldown_runtime__;\n\t\t\tawait import(`data:text/javascript;base64,${Buffer.from(chunk.code).toString(\"base64\")}`);\n\t\t\tconst runtime = globalThis.__rolldown_runtime__;\n\t\t\texpect(typeof runtime.clientId).toBe(\"string\");\n\t\t\tregisteredClientId = runtime.clientId;\n\t\t\tawait engine.registerClient(runtime.clientId);\n\t\t\tawait writeFile(entry, source(\"v2\"));\n\t\t\tconst patch = (await Promise.race([hmrUpdate, new Promise((_, reject) => setTimeout(() => reject(/* @__PURE__ */ new Error(\"timed out waiting for HMR patch\")), 1e4))])).updates.find((item) => item.clientId === runtime.clientId && item.update.type === \"Patch\")?.update;\n\t\t\texpect(patch).toBeTruthy();\n\t\t\texpect(runtime.applyHmrUpdate(patch.code, patch.changedIds, patch.seq)).toBe(true);\n\t\t\texpect(globalThis.__vxrnHmrBody).toBe(\"v2\");\n\t\t\texpect(globalThis.__vxrnHmrAccepted).toBe(\"v2\");\n\t\t} finally {\n\t\t\tawait engine.close();\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t\tdelete globalThis.__rolldown_runtime__;\n\t\t\tdelete globalThis.__vxrnHmrBody;\n\t\t\tdelete globalThis.__vxrnHmrAccepted;\n\t\t}\n\t});\n});\nconst root = \"/tmp/vxrn-native-env-define-test-nonexistent\";\ndescribe(\"getNativeTransformConfig platform env defines\", () => {\n\tfor (const platform of [\"ios\", \"android\"]) for (const dev2 of [true, false]) it(`injects TAMAGUI_TARGET=native for ${platform} (dev=${dev2})`, () => {\n\t\tconst { define } = getNativeTransformConfig(platform, dev2, root);\n\t\texpect(define[\"import.meta.env.TAMAGUI_TARGET\"]).toBe(\"\\\"native\\\"\");\n\t\texpect(define[\"process.env.TAMAGUI_TARGET\"]).toBe(\"\\\"native\\\"\");\n\t\texpect(define[\"import.meta.env.TAMAGUI_ENVIRONMENT\"]).toBe(JSON.stringify(platform));\n\t\texpect(define[\"import.meta.env.VITE_ENVIRONMENT\"]).toBe(JSON.stringify(platform));\n\t\texpect(define[\"import.meta.env.VITE_NATIVE\"]).toBe(\"\\\"1\\\"\");\n\t\texpect(define[\"import.meta.env.EXPO_OS\"]).toBe(JSON.stringify(platform));\n\t\tconst envObject = JSON.parse(define[\"import.meta.env\"]);\n\t\texpect(envObject.TAMAGUI_TARGET).toBe(\"native\");\n\t\texpect(envObject.TAMAGUI_ENVIRONMENT).toBe(platform);\n\t});\n});\ndescribe(\"wrapNativeBundleModuleScope\", () => {\n\tconst RUNTIME_MARKER = \"//#region \\\\0rolldown/runtime.js\";\n\tit(\"wraps module code after the prelude so top-level vars do not leak to global\", () => {\n\t\tconst out = wrapNativeBundleModuleScope(`globalThis.global = globalThis;\nglobalThis.__DEV__ = true;\n${RUNTIME_MARKER}\nvar fetch_hot, fetch$1, Headers, Request, Response$1;\nglobalThis.__rolldown_runtime__ = {};\n`);\n\t\tconst openIdx = out.indexOf(\";(function() {\");\n\t\texpect(openIdx).toBeGreaterThan(-1);\n\t\texpect(out.indexOf(\"globalThis.__DEV__\")).toBeLessThan(openIdx);\n\t\texpect(out.indexOf(\"var fetch_hot\")).toBeGreaterThan(openIdx);\n\t\texpect(() => new Function(out)).not.toThrow();\n\t});\n\tit(\"is a no-op when the runtime marker is absent (e.g. prod bundle)\", () => {\n\t\tconst input = \"var x = 1;\\nconsole.log(x);\\n\";\n\t\texpect(wrapNativeBundleModuleScope(input)).toBe(input);\n\t});\n});\ndescribe(\"getHermesSWCIncludes\", () => {\n\tconst CLASS_SET = [\n\t\t\"transform-classes\",\n\t\t\"transform-parameters\",\n\t\t\"transform-class-properties\",\n\t\t\"transform-class-static-block\",\n\t\t\"transform-private-methods\",\n\t\t\"transform-private-property-in-object\"\n\t];\n\tit(\"always includes the full Hermes class-transform set (dev and prod)\", () => {\n\t\texpect(getHermesSWCIncludes(true)).toEqual(expect.arrayContaining(CLASS_SET));\n\t\texpect(getHermesSWCIncludes(false)).toEqual(expect.arrayContaining(CLASS_SET));\n\t});\n\tit(\"adds transform-async-to-generator only in production\", () => {\n\t\texpect(getHermesSWCIncludes(true)).not.toContain(\"transform-async-to-generator\");\n\t\texpect(getHermesSWCIncludes(false)).toContain(\"transform-async-to-generator\");\n\t});\n\tit(\"bundles lowered classes whose constructors use default and rest parameters\", async () => {\n\t\tconst testRoot = await mkdtemp(join(tmpdir(), \"vxrn-hermes-parameters-\"));\n\t\tconst entry = join(testRoot, \"entry.js\");\n\t\tawait writeFile(entry, `\nclass ParameterProbe {\n prefix = 'value'\n\n constructor(value = 'default', ...rest) {\n this.result = [this.prefix, value, ...rest].join(':')\n }\n}\n\nexport const result = new ParameterProbe(undefined, 'rest-a', 'rest-b').result\n`);\n\t\tconst build = await rolldown({\n\t\t\tinput: entry,\n\t\t\tplugins: [hermesCompatSWCPlugin(true)]\n\t\t});\n\t\ttry {\n\t\t\tconst chunk = (await build.generate({ format: \"esm\" })).output.find((item) => item.type === \"chunk\");\n\t\t\texpect(chunk).toBeTruthy();\n\t\t\tif (!chunk) throw new Error(\"Rolldown did not emit a JavaScript chunk\");\n\t\t\texpect((await import(`data:text/javascript;base64,${Buffer.from(chunk.code).toString(\"base64\")}`)).result).toBe(\"value:default:rest-a:rest-b\");\n\t\t} finally {\n\t\t\tawait build.close();\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n});\ndescribe(\"hmrClientNoopPlugin\", () => {\n\tconst plugin = hmrClientNoopPlugin();\n\tconst resolveId = plugin.resolveId;\n\tconst load = plugin.load;\n\tconst VIRTUAL_ID = \"\\0vxrn-hmr-client-noop\";\n\tit.each([\n\t\t[\"react-native/Libraries/Utilities/HMRClient\", void 0],\n\t\t[\"../Utilities/HMRClient\", \"/project/node_modules/react-native/Libraries/Core.js\"],\n\t\t[\"../../Utilities/HMRClient.js\", \"/project/react-native/Libraries/Core.js\"],\n\t\t[\"..\\\\Utilities\\\\HMRClient.js\", \"C:\\\\project\\\\react-native\\\\Libraries\\\\Core.js\"],\n\t\t[\"../Utilities/HMRClient.ts\", \"/project/node_modules/react-native/Core.js\"],\n\t\t[\"../Utilities/HMRClient.tsx\", \"/project/node_modules/react-native/Core.js\"],\n\t\t[\"../Utilities/HMRClient.cjs\", \"/project/node_modules/react-native/Core.js\"]\n\t])(\"aliases RN HMRClient specifier %j to the no-op virtual module\", (source, importer) => {\n\t\texpect(resolveId(source, importer)).toEqual({\n\t\t\tid: VIRTUAL_ID,\n\t\t\texternal: false\n\t\t});\n\t});\n\tit.each([\n\t\t\"react-native/Libraries/Utilities/HMRClientRegistry\",\n\t\t\"some/MyUtilities/HMRClient\",\n\t\t\"react-native/Libraries/Core/setUpDeveloperTools\",\n\t\t\"react\"\n\t])(\"does not touch unrelated specifier %j\", (source) => {\n\t\texpect(resolveId(source)).toBeUndefined();\n\t});\n\tit(\"does not alias an app-authored Utilities/HMRClient module\", () => {\n\t\texpect(resolveId(\"../Utilities/HMRClient\", \"/project/src/App.tsx\")).toBeUndefined();\n\t});\n\tit(\"loads a no-op module exposing every HMRClient method RN calls\", () => {\n\t\tconst result = load(VIRTUAL_ID);\n\t\texpect(result?.moduleType).toBe(\"js\");\n\t\tfor (const method of [\n\t\t\t\"setup\",\n\t\t\t\"enable\",\n\t\t\t\"disable\",\n\t\t\t\"registerBundle\",\n\t\t\t\"log\",\n\t\t\t\"isEnabled\"\n\t\t]) expect(result.code).toContain(method);\n\t\texpect(result.code).toContain(\"export default HMRClient\");\n\t});\n\tit(\"does not load unrelated ids\", () => {\n\t\texpect(load(\"\\0some-other-virtual\")).toBeUndefined();\n\t});\n});\ndescribe(\"vxrnCompilerPlugin React Refresh registration\", () => {\n\tit(\"keeps initial-bundle registrations visible to rolldown\", async () => {\n\t\tconst previousNodeEnv = process.env.NODE_ENV;\n\t\tprocess.env.NODE_ENV = \"test\";\n\t\ttry {\n\t\t\tconst transform = vxrnCompilerPlugin(\"ios\", true).transform;\n\t\t\tconst code = (await transform(\"export const marker = \\\"$RefreshReg$(\\\"; export function Probe() { return <div>probe</div> }\", \"/project/src/Probe.tsx\")).code;\n\t\t\texpect(code).toContain(\"var __vxrnRefreshReg = globalThis.$RefreshReg$\");\n\t\t\texpect(code).toContain(\"__vxrnRefreshReg(\");\n\t\t\texpect(code).toContain(\"\\\"$RefreshReg$(\\\"\");\n\t\t} finally {\n\t\t\tprocess.env.NODE_ENV = previousNodeEnv;\n\t\t}\n\t});\n});\n\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["existsSync","mkdir","mkdtemp","rm","writeFile","tmpdir","join","runInNewContext","rolldown","dev","describe","expect","it","getNativePrelude","buildNativeBundle","createNativeDevAssetRegistry","getHermesSWCIncludes","getHmrRuntimeSource","getNativeAssetData","getNativeTransformConfig","hermesCompatSWCPlugin","hmrClientNoopPlugin","nativeAnimatedGuardPlugin","normalizeNativeCommonJSInterop","vxrnCompilerPlugin","wrapNativeBundleModuleScope","nativeTransformProbe","createWorkletsProject","throwOnTransform","testRoot","packageRoot","recursive","JSON","stringify","name","context","addEventListener","platform","Reflect","get","toBeUndefined","removeEventListener","toBe","timeout","entry","source","version","resolveInitialOutput","initialOutput","Promise","resolve","resolveHmrUpdate","hmrUpdate","registeredClientId","engine","cwd","input","experimental","devMode","implement","format","onOutput","result","onHmrUpdates","Error","updates","some","item","clientId","update","type","run","initial","chunk","output","find","isEntry","toBeTruthy","globalThis","__rolldown_runtime__","Buffer","from","code","toString","runtime","registerClient","patch","race","_","reject","setTimeout","applyHmrUpdate","apply","changedIds","seq","__vxrnHmrBody","__vxrnHmrAccepted","close","force","leaf","previousRefreshRuntime","set","isLikelyComponentType","value","deleteProperty","root","entryFile","not","toContain","process","env","plugin","transform","split","toHaveLength","length","map","toEqual","sources","sourcesContent","names","mappings","dev2","define","envObject","parse","TAMAGUI_TARGET","TAMAGUI_ENVIRONMENT","key","previous","RUNTIME_MARKER","out","openIdx","indexOf","toBeGreaterThan","toBeLessThan","Function","toThrow","CLASS_SET","arrayContaining","build","plugins","generate","resolveId","load","VIRTUAL_ID","each","importer","id","external","moduleType","method","previousNodeEnv","NODE_ENV","compiler","configureVXRNCompilerPlugin","enableReanimated","rejects","resolveOutput","toBeInstanceOf","String","compilerPlugin","hermesPlugin","appRoot","appAssets","packageAssets","assetsDest","assetData","scales","files","file","slice","hash","registry","register","filePath","toMatch","exports","import","require","clearTimeout","console","main","codeSplitting","strictExecutionOrder","nodeModeCode","replace","normalized"],"sources":["createNativeDevEngine.test.mjs"],"sourcesContent":["import { existsSync } from \"node:fs\";\nimport { mkdir, mkdtemp, rm, writeFile } from \"node:fs/promises\";\nimport { tmpdir } from \"node:os\";\nimport { join } from \"node:path\";\nimport { runInNewContext } from \"node:vm\";\nimport { rolldown } from \"rolldown\";\nimport { dev } from \"rolldown/experimental\";\nimport { describe, expect, it } from \"vitest\";\nimport { getNativePrelude } from \"../runtime/native-prelude\";\nimport { buildNativeBundle, createNativeDevAssetRegistry, getHermesSWCIncludes, getHmrRuntimeSource, getNativeAssetData, getNativeTransformConfig, hermesCompatSWCPlugin, hmrClientNoopPlugin, nativeAnimatedGuardPlugin, normalizeNativeCommonJSInterop, vxrnCompilerPlugin, wrapNativeBundleModuleScope } from \"./createNativeDevEngine\";\n\nconst nativeTransformProbe = `\nexport const transformProbe = () => {\n 'worklet'\n return 'transformed'\n}\n`;\nasync function createWorkletsProject(throwOnTransform = true) {\n\tconst testRoot = await mkdtemp(join(tmpdir(), \"vxrn-native-transform-failure-\"));\n\tconst packageRoot = join(testRoot, \"node_modules/react-native-worklets\");\n\tawait mkdir(packageRoot, { recursive: true });\n\tawait writeFile(join(packageRoot, \"package.json\"), JSON.stringify({ name: \"react-native-worklets\" }));\n\tawait writeFile(join(packageRoot, \"plugin.js\"), throwOnTransform ? `module.exports = () => ({\n visitor: {\n Program() {\n throw new Error('NATIVE_TRANSFORM_NEGATIVE_CONTROL')\n }\n }\n })` : `module.exports = () => ({ visitor: {} })`);\n\tawait writeFile(join(testRoot, \"entry.ts\"), nativeTransformProbe);\n\treturn testRoot;\n}\ndescribe(\"native prelude\", () => {\n\tit(\"does not advertise a host event API that cannot remove listeners\", () => {\n\t\tconst context = { addEventListener() {} };\n\t\trunInNewContext(getNativePrelude({\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\"\n\t\t}), context);\n\t\texpect(Reflect.get(context, \"addEventListener\")).toBeUndefined();\n\t});\n\tit(\"preserves a complete host event API\", () => {\n\t\tconst addEventListener = () => {};\n\t\tconst removeEventListener = () => {};\n\t\tconst context = {\n\t\t\taddEventListener,\n\t\t\tremoveEventListener\n\t\t};\n\t\trunInNewContext(getNativePrelude({\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\"\n\t\t}), context);\n\t\texpect(context.addEventListener).toBe(addEventListener);\n\t\texpect(context.removeEventListener).toBe(removeEventListener);\n\t});\n});\ndescribe(\"native Rolldown HMR runtime\", () => {\n\tit(\"registers a Rolldown 1.2 client and applies a self-accepted patch\", { timeout: 3e4 }, async () => {\n\t\tconst testRoot = await mkdtemp(join(tmpdir(), \"vxrn-native-hmr-\"));\n\t\tconst entry = join(testRoot, \"entry.js\");\n\t\tconst source = (version) => `\nglobalThis.__vxrnHmrBody = '${version}'\nexport const value = '${version}'\nif (import.meta.hot) {\n import.meta.hot.accept((next) => {\n globalThis.__vxrnHmrAccepted = next.value\n })\n}\n`;\n\t\tawait writeFile(entry, source(\"v1\"));\n\t\tlet resolveInitialOutput;\n\t\tconst initialOutput = new Promise((resolve) => {\n\t\t\tresolveInitialOutput = resolve;\n\t\t});\n\t\tlet resolveHmrUpdate;\n\t\tconst hmrUpdate = new Promise((resolve) => {\n\t\t\tresolveHmrUpdate = resolve;\n\t\t});\n\t\tlet registeredClientId;\n\t\tconst engine = await dev({\n\t\t\tcwd: testRoot,\n\t\t\tinput: entry,\n\t\t\texperimental: { devMode: { implement: getHmrRuntimeSource() } }\n\t\t}, { format: \"esm\" }, {\n\t\t\tonOutput(result) {\n\t\t\t\tresolveInitialOutput(result);\n\t\t\t},\n\t\t\tonHmrUpdates(result) {\n\t\t\t\tif (!(result instanceof Error) && result.updates.some((item) => item.clientId === registeredClientId && item.update.type === \"Patch\")) resolveHmrUpdate(result);\n\t\t\t}\n\t\t});\n\t\ttry {\n\t\t\tawait engine.run();\n\t\t\tconst initial = await initialOutput;\n\t\t\tif (initial instanceof Error) throw initial;\n\t\t\tconst chunk = initial.output.find((item) => item.type === \"chunk\" && item.isEntry);\n\t\t\texpect(chunk).toBeTruthy();\n\t\t\tdelete globalThis.__rolldown_runtime__;\n\t\t\tawait import(`data:text/javascript;base64,${Buffer.from(chunk.code).toString(\"base64\")}`);\n\t\t\tconst runtime = globalThis.__rolldown_runtime__;\n\t\t\texpect(typeof runtime.clientId).toBe(\"string\");\n\t\t\tregisteredClientId = runtime.clientId;\n\t\t\tawait engine.registerClient(runtime.clientId);\n\t\t\tawait writeFile(entry, source(\"v2\"));\n\t\t\tconst patch = (await Promise.race([hmrUpdate, new Promise((_, reject) => setTimeout(() => reject(/* @__PURE__ */ new Error(\"timed out waiting for HMR patch\")), 1e4))])).updates.find((item) => item.clientId === runtime.clientId && item.update.type === \"Patch\")?.update;\n\t\t\texpect(patch).toBeTruthy();\n\t\t\tconst applyHmrUpdate = Reflect.get(runtime, \"applyHmrUpdate\");\n\t\t\texpect(Reflect.apply(applyHmrUpdate, runtime, [\n\t\t\t\tpatch.code,\n\t\t\t\tpatch.changedIds,\n\t\t\t\tpatch.seq\n\t\t\t])).toBe(true);\n\t\t\texpect(globalThis.__vxrnHmrBody).toBe(\"v2\");\n\t\t\texpect(globalThis.__vxrnHmrAccepted).toBe(\"v2\");\n\t\t} finally {\n\t\t\tawait engine.close();\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t\tdelete globalThis.__rolldown_runtime__;\n\t\t\tdelete globalThis.__vxrnHmrBody;\n\t\t\tdelete globalThis.__vxrnHmrAccepted;\n\t\t}\n\t});\n\tit(\"propagates a non-component update to a React Refresh boundary\", { timeout: 3e4 }, async () => {\n\t\tconst testRoot = await mkdtemp(join(tmpdir(), \"vxrn-native-refresh-boundary-\"));\n\t\tconst entry = join(testRoot, \"entry.js\");\n\t\tconst leaf = join(testRoot, \"leaf.js\");\n\t\tawait writeFile(entry, `\nimport { value } from './leaf.js'\nglobalThis.__vxrnRefreshBoundaryValue = value\nexport function App() {}\nif (import.meta.hot) {\n import.meta.hot.acceptReactRefresh(() => {\n globalThis.__vxrnRefreshBoundaryAccepted = true\n })\n}\n`);\n\t\tawait writeFile(leaf, `export const value = 'v1'`);\n\t\tlet resolveInitialOutput;\n\t\tconst initialOutput = new Promise((resolve) => {\n\t\t\tresolveInitialOutput = resolve;\n\t\t});\n\t\tlet resolveHmrUpdate;\n\t\tconst hmrUpdate = new Promise((resolve) => {\n\t\t\tresolveHmrUpdate = resolve;\n\t\t});\n\t\tlet registeredClientId;\n\t\tconst engine = await dev({\n\t\t\tcwd: testRoot,\n\t\t\tinput: entry,\n\t\t\texperimental: { devMode: { implement: getHmrRuntimeSource() } }\n\t\t}, { format: \"esm\" }, {\n\t\t\tonOutput(result) {\n\t\t\t\tresolveInitialOutput(result);\n\t\t\t},\n\t\t\tonHmrUpdates(result) {\n\t\t\t\tif (!(result instanceof Error) && result.updates.some((item) => item.clientId === registeredClientId && item.update.type === \"Patch\")) resolveHmrUpdate(result);\n\t\t\t}\n\t\t});\n\t\tconst previousRefreshRuntime = Reflect.get(globalThis, \"__ReactRefresh\");\n\t\tReflect.set(globalThis, \"__ReactRefresh\", { isLikelyComponentType(value) {\n\t\t\treturn typeof value === \"function\";\n\t\t} });\n\t\ttry {\n\t\t\tawait engine.run();\n\t\t\tconst initial = await initialOutput;\n\t\t\tif (initial instanceof Error) throw initial;\n\t\t\tconst chunk = initial.output.find((item) => item.type === \"chunk\" && item.isEntry);\n\t\t\texpect(chunk).toBeTruthy();\n\t\t\tReflect.deleteProperty(globalThis, \"__rolldown_runtime__\");\n\t\t\tawait import(`data:text/javascript;base64,${Buffer.from(chunk.code).toString(\"base64\")}`);\n\t\t\tconst runtime = Reflect.get(globalThis, \"__rolldown_runtime__\");\n\t\t\tregisteredClientId = runtime.clientId;\n\t\t\tawait engine.registerClient(runtime.clientId);\n\t\t\tawait writeFile(leaf, `export const value = 'v2'`);\n\t\t\tconst patch = (await Promise.race([hmrUpdate, new Promise((_, reject) => setTimeout(() => reject(/* @__PURE__ */ new Error(\"timed out waiting for HMR patch\")), 1e4))])).updates.find((item) => item.clientId === runtime.clientId && item.update.type === \"Patch\")?.update;\n\t\t\texpect(patch).toBeTruthy();\n\t\t\tconst applyHmrUpdate = Reflect.get(runtime, \"applyHmrUpdate\");\n\t\t\texpect(Reflect.apply(applyHmrUpdate, runtime, [\n\t\t\t\tpatch.code,\n\t\t\t\tpatch.changedIds,\n\t\t\t\tpatch.seq\n\t\t\t])).toBe(true);\n\t\t\texpect(Reflect.get(globalThis, \"__vxrnRefreshBoundaryValue\")).toBe(\"v2\");\n\t\t\texpect(Reflect.get(globalThis, \"__vxrnRefreshBoundaryAccepted\")).toBe(true);\n\t\t} finally {\n\t\t\tawait engine.close();\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t\tReflect.deleteProperty(globalThis, \"__rolldown_runtime__\");\n\t\t\tReflect.deleteProperty(globalThis, \"__vxrnRefreshBoundaryValue\");\n\t\t\tReflect.deleteProperty(globalThis, \"__vxrnRefreshBoundaryAccepted\");\n\t\t\tif (previousRefreshRuntime === void 0) Reflect.deleteProperty(globalThis, \"__ReactRefresh\");\n\t\t\telse Reflect.set(globalThis, \"__ReactRefresh\", previousRefreshRuntime);\n\t\t}\n\t});\n});\ndescribe(\"native production import.meta lowering\", () => {\n\tit(\"emits a Hermes-compatible bundle for guarded import.meta.env reads\", async () => {\n\t\tconst testRoot = await mkdtemp(join(tmpdir(), \"vxrn-native-import-meta-\"));\n\t\tawait writeFile(join(testRoot, \"entry.js\"), `globalThis.__vxrnNativeImportMetaProbe = typeof import.meta !== 'undefined' && import.meta.env.DEV`);\n\t\ttry {\n\t\t\tconst result = await buildNativeBundle({\n\t\t\t\troot: testRoot,\n\t\t\t\tplatform: \"ios\",\n\t\t\t\tentryFile: \"entry.js\"\n\t\t\t});\n\t\t\texpect(result.code).not.toContain(\"typeof import.meta\");\n\t\t\tconst context = {\n\t\t\t\tglobalThis: {},\n\t\t\t\tprocess: { env: {} }\n\t\t\t};\n\t\t\trunInNewContext(result.code, context);\n\t\t\texpect(Reflect.get(context.globalThis, \"__vxrnNativeImportMetaProbe\")).toBe(false);\n\t\t} finally {\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n});\ndescribe(\"native animated guard transform\", () => {\n\tit(\"preserves line count and returns a composable source map\", async () => {\n\t\tconst plugin = nativeAnimatedGuardPlugin();\n\t\tif (typeof plugin.transform !== \"function\") throw new Error(\"native animated guard transform hook is not callable\");\n\t\tconst source = [\n\t\t\t\"function call(methodName) {\",\n\t\t\t\" const method = nullthrows(NativeAnimatedModule)[methodName];\",\n\t\t\t\" method();\",\n\t\t\t\"}\"\n\t\t].join(\"\\n\");\n\t\tconst result = await Reflect.apply(plugin.transform, void 0, [source, \"/project/node_modules/react-native/src/private/animated/NativeAnimatedHelper.js\"]);\n\t\texpect(result.code.split(\"\\n\")).toHaveLength(source.split(\"\\n\").length);\n\t\texpect(result.code).toContain(\"if (typeof method !== 'function') return\");\n\t\texpect(result.map).toEqual({\n\t\t\tversion: 3,\n\t\t\tsources: [\"/project/node_modules/react-native/src/private/animated/NativeAnimatedHelper.js\"],\n\t\t\tsourcesContent: [source],\n\t\t\tnames: [],\n\t\t\tmappings: \"AAAA;AACA;AACA;AACA\"\n\t\t});\n\t});\n});\nconst root = \"/tmp/vxrn-native-env-define-test-nonexistent\";\ndescribe(\"getNativeTransformConfig platform env defines\", () => {\n\tfor (const platform of [\"ios\", \"android\"]) for (const dev2 of [true, false]) it(`injects TAMAGUI_TARGET=native for ${platform} (dev=${dev2})`, () => {\n\t\tconst { define } = getNativeTransformConfig(platform, dev2, root);\n\t\texpect(define[\"import.meta.env.TAMAGUI_TARGET\"]).toBe(\"\\\"native\\\"\");\n\t\texpect(define[\"process.env.TAMAGUI_TARGET\"]).toBe(\"\\\"native\\\"\");\n\t\texpect(define[\"import.meta.env.TAMAGUI_ENVIRONMENT\"]).toBe(JSON.stringify(platform));\n\t\texpect(define[\"import.meta.env.VITE_ENVIRONMENT\"]).toBe(JSON.stringify(platform));\n\t\texpect(define[\"import.meta.env.VITE_NATIVE\"]).toBe(\"\\\"1\\\"\");\n\t\texpect(define[\"import.meta.env.EXPO_OS\"]).toBe(JSON.stringify(platform));\n\t\tconst envObject = JSON.parse(define[\"import.meta.env\"]);\n\t\texpect(envObject.TAMAGUI_TARGET).toBe(\"native\");\n\t\texpect(envObject.TAMAGUI_ENVIRONMENT).toBe(platform);\n\t});\n\tit(\"inlines EXPO_PUBLIC values supplied by the native build environment\", () => {\n\t\tconst key = \"EXPO_PUBLIC_VXRN_NATIVE_ENV_PROBE\";\n\t\tconst previous = process.env[key];\n\t\tprocess.env[key] = \"native-env-value\";\n\t\ttry {\n\t\t\tconst { define } = getNativeTransformConfig(\"ios\", false, root);\n\t\t\texpect(define[`process.env.${key}`]).toBe(\"\\\"native-env-value\\\"\");\n\t\t\texpect(define[`import.meta.env.${key}`]).toBe(\"\\\"native-env-value\\\"\");\n\t\t\texpect(JSON.parse(define[\"import.meta.env\"])[key]).toBe(\"native-env-value\");\n\t\t} finally {\n\t\t\tif (previous === void 0) delete process.env[key];\n\t\t\telse process.env[key] = previous;\n\t\t}\n\t});\n});\ndescribe(\"wrapNativeBundleModuleScope\", () => {\n\tconst RUNTIME_MARKER = \"//#region \\\\0rolldown/runtime.js\";\n\tit(\"wraps module code after the prelude so top-level vars do not leak to global\", () => {\n\t\tconst out = wrapNativeBundleModuleScope(`globalThis.global = globalThis;\nglobalThis.__DEV__ = true;\n${RUNTIME_MARKER}\nvar fetch_hot, fetch$1, Headers, Request, Response$1;\nglobalThis.__rolldown_runtime__ = {};\n`);\n\t\tconst openIdx = out.indexOf(\";(function() {\");\n\t\texpect(openIdx).toBeGreaterThan(-1);\n\t\texpect(out.indexOf(\"globalThis.__DEV__\")).toBeLessThan(openIdx);\n\t\texpect(out.indexOf(\"var fetch_hot\")).toBeGreaterThan(openIdx);\n\t\texpect(() => new Function(out)).not.toThrow();\n\t});\n\tit(\"is a no-op when the runtime marker is absent (e.g. prod bundle)\", () => {\n\t\tconst input = \"var x = 1;\\nconsole.log(x);\\n\";\n\t\texpect(wrapNativeBundleModuleScope(input)).toBe(input);\n\t});\n});\ndescribe(\"getHermesSWCIncludes\", () => {\n\tconst CLASS_SET = [\n\t\t\"transform-classes\",\n\t\t\"transform-parameters\",\n\t\t\"transform-block-scoping\",\n\t\t\"transform-class-properties\",\n\t\t\"transform-class-static-block\",\n\t\t\"transform-private-methods\",\n\t\t\"transform-private-property-in-object\"\n\t];\n\tit(\"always includes the full Hermes class-transform set (dev and prod)\", () => {\n\t\texpect(getHermesSWCIncludes(true)).toEqual(expect.arrayContaining(CLASS_SET));\n\t\texpect(getHermesSWCIncludes(false)).toEqual(expect.arrayContaining(CLASS_SET));\n\t});\n\tit(\"adds transform-async-to-generator in development and production\", () => {\n\t\texpect(getHermesSWCIncludes(true)).toContain(\"transform-async-to-generator\");\n\t\texpect(getHermesSWCIncludes(false)).toContain(\"transform-async-to-generator\");\n\t});\n\tit(\"lowers async generators for the Hermes development interpreter\", async () => {\n\t\tconst plugin = hermesCompatSWCPlugin(true);\n\t\tif (typeof plugin.transform !== \"function\") throw new Error(\"Hermes compatibility transform hook is not callable\");\n\t\tconst result = await Reflect.apply(plugin.transform, void 0, [\"export async function* values() { yield await Promise.resolve(1) }\", \"/project/async-generator.ts\"]);\n\t\texpect(result.code).not.toContain(\"async function*\");\n\t\texpect(result.code).not.toContain(\"async function *\");\n\t});\n\tit(\"preserves per-iteration bindings used by lazy method getters\", async () => {\n\t\tconst plugin = hermesCompatSWCPlugin(true);\n\t\tif (typeof plugin.transform !== \"function\") throw new Error(\"Hermes compatibility transform hook is not callable\");\n\t\tconst result = await Reflect.apply(plugin.transform, void 0, [`\nconst installedGroups = new WeakMap()\nfunction install(inst, methods) {\n const proto = Object.getPrototypeOf(inst)\n for (const key in methods) {\n const fn = methods[key]\n Object.defineProperty(proto, key, {\n get() { return fn.bind(this) }\n })\n }\n}\nfunction Schema() {\n install(this, {\n nullish() { return 'nullish' },\n apply(fn) { return fn(this) }\n })\n}\nglobalThis.__vxrnBlockScopeProbe = new Schema().nullish()\n`, \"/project/block-scope-loop.ts\"]);\n\t\ttry {\n\t\t\tnew Function(result.code)();\n\t\t\texpect(Reflect.get(globalThis, \"__vxrnBlockScopeProbe\")).toBe(\"nullish\");\n\t\t} finally {\n\t\t\tReflect.deleteProperty(globalThis, \"__vxrnBlockScopeProbe\");\n\t\t}\n\t});\n\tit(\"bundles lowered classes whose constructors use default and rest parameters\", async () => {\n\t\tconst testRoot = await mkdtemp(join(tmpdir(), \"vxrn-hermes-parameters-\"));\n\t\tconst entry = join(testRoot, \"entry.js\");\n\t\tawait writeFile(entry, `\nclass ParameterProbe {\n prefix = 'value'\n\n constructor(value = 'default', ...rest) {\n this.result = [this.prefix, value, ...rest].join(':')\n }\n}\n\nexport const result = new ParameterProbe(undefined, 'rest-a', 'rest-b').result\n`);\n\t\tconst build = await rolldown({\n\t\t\tinput: entry,\n\t\t\tplugins: [hermesCompatSWCPlugin(true)]\n\t\t});\n\t\ttry {\n\t\t\tconst chunk = (await build.generate({ format: \"esm\" })).output.find((item) => item.type === \"chunk\");\n\t\t\texpect(chunk).toBeTruthy();\n\t\t\tif (!chunk) throw new Error(\"Rolldown did not emit a JavaScript chunk\");\n\t\t\texpect((await import(`data:text/javascript;base64,${Buffer.from(chunk.code).toString(\"base64\")}`)).result).toBe(\"value:default:rest-a:rest-b\");\n\t\t} finally {\n\t\t\tawait build.close();\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n});\ndescribe(\"hmrClientNoopPlugin\", () => {\n\tconst plugin = hmrClientNoopPlugin();\n\tconst resolveId = plugin.resolveId;\n\tconst load = plugin.load;\n\tconst VIRTUAL_ID = \"\\0vxrn-hmr-client-noop\";\n\tit.each([\n\t\t[\"react-native/Libraries/Utilities/HMRClient\", void 0],\n\t\t[\"../Utilities/HMRClient\", \"/project/node_modules/react-native/Libraries/Core.js\"],\n\t\t[\"../../Utilities/HMRClient.js\", \"/project/react-native/Libraries/Core.js\"],\n\t\t[\"..\\\\Utilities\\\\HMRClient.js\", \"C:\\\\project\\\\react-native\\\\Libraries\\\\Core.js\"],\n\t\t[\"../Utilities/HMRClient.ts\", \"/project/node_modules/react-native/Core.js\"],\n\t\t[\"../Utilities/HMRClient.tsx\", \"/project/node_modules/react-native/Core.js\"],\n\t\t[\"../Utilities/HMRClient.cjs\", \"/project/node_modules/react-native/Core.js\"]\n\t])(\"aliases RN HMRClient specifier %j to the no-op virtual module\", (source, importer) => {\n\t\texpect(resolveId(source, importer)).toEqual({\n\t\t\tid: VIRTUAL_ID,\n\t\t\texternal: false\n\t\t});\n\t});\n\tit.each([\n\t\t\"react-native/Libraries/Utilities/HMRClientRegistry\",\n\t\t\"some/MyUtilities/HMRClient\",\n\t\t\"react-native/Libraries/Core/setUpDeveloperTools\",\n\t\t\"react\"\n\t])(\"does not touch unrelated specifier %j\", (source) => {\n\t\texpect(resolveId(source)).toBeUndefined();\n\t});\n\tit(\"does not alias an app-authored Utilities/HMRClient module\", () => {\n\t\texpect(resolveId(\"../Utilities/HMRClient\", \"/project/src/App.tsx\")).toBeUndefined();\n\t});\n\tit(\"loads a no-op module exposing every HMRClient method RN calls\", () => {\n\t\tconst result = load(VIRTUAL_ID);\n\t\texpect(result?.moduleType).toBe(\"js\");\n\t\tfor (const method of [\n\t\t\t\"setup\",\n\t\t\t\"enable\",\n\t\t\t\"disable\",\n\t\t\t\"registerBundle\",\n\t\t\t\"log\",\n\t\t\t\"isEnabled\"\n\t\t]) expect(result.code).toContain(method);\n\t\texpect(result.code).toContain(\"export default HMRClient\");\n\t});\n\tit(\"does not load unrelated ids\", () => {\n\t\texpect(load(\"\\0some-other-virtual\")).toBeUndefined();\n\t});\n});\ndescribe(\"vxrnCompilerPlugin React Refresh registration\", () => {\n\tit(\"keeps initial-bundle registrations visible to rolldown\", async () => {\n\t\tconst previousNodeEnv = process.env.NODE_ENV;\n\t\tprocess.env.NODE_ENV = \"test\";\n\t\ttry {\n\t\t\tconst transform = vxrnCompilerPlugin(\"ios\", true).transform;\n\t\t\tconst code = (await transform(\"export const marker = \\\"$RefreshReg$(\\\"; export function Probe() { return <div>probe</div> }\", \"/project/src/Probe.tsx\")).code;\n\t\t\texpect(code).toContain(\"var __vxrnRefreshReg = globalThis.$RefreshReg$\");\n\t\t\texpect(code).toContain(\"__vxrnRefreshReg(\");\n\t\t\texpect(code).toContain(\"\\\"$RefreshReg$(\\\"\");\n\t\t\texpect(code).toContain(\"import.meta.hot.acceptReactRefresh(\");\n\t\t} finally {\n\t\t\tprocess.env.NODE_ENV = previousNodeEnv;\n\t\t}\n\t});\n});\ndescribe(\"native required transform failures\", () => {\n\tit.each([true, false])(\"rejects valid worklet source when its required compiler transform fails (dev=%s)\", async (dev2) => {\n\t\tconst testRoot = await createWorkletsProject();\n\t\tconst compiler = await import(\"@vxrn/compiler\");\n\t\tcompiler.configureVXRNCompilerPlugin({ enableReanimated: true });\n\t\ttry {\n\t\t\tconst plugin = vxrnCompilerPlugin(\"ios\", dev2, testRoot);\n\t\t\tif (typeof plugin.transform !== \"function\") throw new Error(\"vxrn compiler transform hook is not callable\");\n\t\t\tawait expect(Reflect.apply(plugin.transform, void 0, [nativeTransformProbe, join(testRoot, \"entry.ts\")])).rejects.toThrow(\"NATIVE_TRANSFORM_NEGATIVE_CONTROL\");\n\t\t} finally {\n\t\t\tcompiler.configureVXRNCompilerPlugin({ enableReanimated: false });\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n\tit(\"returns a dev build error and no output when the required compiler transform fails\", async () => {\n\t\tconst testRoot = await createWorkletsProject();\n\t\tconst compiler = await import(\"@vxrn/compiler\");\n\t\tcompiler.configureVXRNCompilerPlugin({ enableReanimated: true });\n\t\tlet resolveOutput;\n\t\tconst output = new Promise((resolve) => {\n\t\t\tresolveOutput = resolve;\n\t\t});\n\t\tconst engine = await dev({\n\t\t\tcwd: testRoot,\n\t\t\tinput: join(testRoot, \"entry.ts\"),\n\t\t\tplugins: [vxrnCompilerPlugin(\"ios\", true, testRoot)]\n\t\t}, { format: \"esm\" }, { onOutput: resolveOutput });\n\t\ttry {\n\t\t\tawait engine.run();\n\t\t\tconst result = await output;\n\t\t\texpect(result).toBeInstanceOf(Error);\n\t\t\texpect(String(result)).toContain(\"NATIVE_TRANSFORM_NEGATIVE_CONTROL\");\n\t\t} finally {\n\t\t\tawait engine.close();\n\t\t\tcompiler.configureVXRNCompilerPlugin({ enableReanimated: false });\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n\tit(\"emits no production bundle when the required compiler transform fails\", async () => {\n\t\tconst testRoot = await createWorkletsProject();\n\t\tconst compiler = await import(\"@vxrn/compiler\");\n\t\tcompiler.configureVXRNCompilerPlugin({ enableReanimated: true });\n\t\ttry {\n\t\t\tawait expect(buildNativeBundle({\n\t\t\t\troot: testRoot,\n\t\t\t\tplatform: \"ios\",\n\t\t\t\tentryFile: \"entry.ts\"\n\t\t\t})).rejects.toThrow(\"NATIVE_TRANSFORM_NEGATIVE_CONTROL\");\n\t\t} finally {\n\t\t\tcompiler.configureVXRNCompilerPlugin({ enableReanimated: false });\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n\tit(\"rejects Hermes compatibility transform errors instead of returning source\", async () => {\n\t\tconst plugin = hermesCompatSWCPlugin(true);\n\t\tif (typeof plugin.transform !== \"function\") throw new Error(\"Hermes compatibility transform hook is not callable\");\n\t\tawait expect(Reflect.apply(plugin.transform, void 0, [\"class TransformProbe { value = ; }\", \"/project/TransformProbe.ts\"])).rejects.toBeTruthy();\n\t});\n\tit(\"returns maps for every required production transform\", async () => {\n\t\tconst testRoot = await createWorkletsProject(false);\n\t\tconst compiler = await import(\"@vxrn/compiler\");\n\t\tcompiler.configureVXRNCompilerPlugin({ enableReanimated: true });\n\t\ttry {\n\t\t\tconst compilerPlugin = vxrnCompilerPlugin(\"ios\", false, testRoot, true);\n\t\t\tif (typeof compilerPlugin.transform !== \"function\") throw new Error(\"vxrn compiler transform hook is not callable\");\n\t\t\texpect((await Reflect.apply(compilerPlugin.transform, void 0, [nativeTransformProbe, join(testRoot, \"entry.ts\")])).map).toBeTruthy();\n\t\t\tconst hermesPlugin = hermesCompatSWCPlugin(false, true);\n\t\t\tif (typeof hermesPlugin.transform !== \"function\") throw new Error(\"Hermes compatibility transform hook is not callable\");\n\t\t\texpect((await Reflect.apply(hermesPlugin.transform, void 0, [\"export class TransformProbe { value = 1 }\", join(testRoot, \"TransformProbe.ts\")])).map).toBeTruthy();\n\t\t} finally {\n\t\t\tcompiler.configureVXRNCompilerPlugin({ enableReanimated: false });\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n});\ndescribe(\"native production assets\", () => {\n\tit(\"registers scale siblings and keeps monorepo assets inside assetsDest\", async () => {\n\t\tconst testRoot = await mkdtemp(join(tmpdir(), \"vxrn-native-assets-\"));\n\t\tconst appRoot = join(testRoot, \"workspace/apps/native-app\");\n\t\tconst appAssets = join(appRoot, \"assets\");\n\t\tconst packageAssets = join(testRoot, \"workspace/node_modules/example/assets\");\n\t\tconst assetsDest = join(testRoot, \"output\");\n\t\tawait mkdir(appAssets, { recursive: true });\n\t\tawait mkdir(packageAssets, { recursive: true });\n\t\tawait writeFile(join(appAssets, \"icon.png\"), \"icon-1x\");\n\t\tawait writeFile(join(appAssets, \"icon@2x.png\"), \"icon-2x\");\n\t\tawait writeFile(join(appAssets, \"icon@3x.png\"), \"icon-3x\");\n\t\tawait writeFile(join(packageAssets, \"back.png\"), \"back-1x\");\n\t\tawait writeFile(join(packageAssets, \"back@2x.png\"), \"back-2x\");\n\t\tawait writeFile(join(appRoot, \"entry.js\"), `\nimport icon from './assets/icon.png'\nimport back from '../../node_modules/example/assets/back.png'\nglobalThis.__nativeAssetProbe = [icon, back]\n`);\n\t\ttry {\n\t\t\tconst assetData = await getNativeAssetData(join(appAssets, \"icon.png\"), appRoot, \"ios\");\n\t\t\texpect(assetData.scales).toEqual([\n\t\t\t\t1,\n\t\t\t\t2,\n\t\t\t\t3\n\t\t\t]);\n\t\t\texpect(assetData.files.map((file) => file.slice(appAssets.length + 1))).toEqual([\n\t\t\t\t\"icon.png\",\n\t\t\t\t\"icon@2x.png\",\n\t\t\t\t\"icon@3x.png\"\n\t\t\t]);\n\t\t\texpect(assetData.hash).not.toBe(\"\");\n\t\t\tconst registry = createNativeDevAssetRegistry();\n\t\t\tregistry.register(assetData);\n\t\t\texpect(registry.resolve(\"/assets/assets/icon@2x.png\", assetData.hash)?.filePath).toBe(join(appAssets, \"icon@2x.png\"));\n\t\t\texpect(registry.resolve(\"/assets/assets/icon.png\", \"stale-content-hash\")).toBeUndefined();\n\t\t\texpect(registry.resolve(\"/assets/../../package.json\", assetData.hash)).toBeUndefined();\n\t\t\texpect((await buildNativeBundle({\n\t\t\t\troot: appRoot,\n\t\t\t\tplatform: \"ios\",\n\t\t\t\tentryFile: \"entry.js\",\n\t\t\t\tassetsDest\n\t\t\t})).code).toMatch(/\"scales\":\\s*\\[\\s*1,\\s*2,\\s*3\\s*\\]/);\n\t\t\tfor (const file of [\n\t\t\t\t\"icon.png\",\n\t\t\t\t\"icon@2x.png\",\n\t\t\t\t\"icon@3x.png\"\n\t\t\t]) expect(existsSync(join(assetsDest, \"assets/assets\", file))).toBe(true);\n\t\t\tfor (const file of [\"back.png\", \"back@2x.png\"]) expect(existsSync(join(assetsDest, \"assets/_/_/node_modules/example/assets\", file))).toBe(true);\n\t\t\texpect(existsSync(join(testRoot, \"node_modules/example/assets/back.png\"))).toBe(false);\n\t\t} finally {\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n});\ndescribe(\"native conditional exports\", () => {\n\tit(\"uses the require condition for CommonJS calls\", async () => {\n\t\tconst testRoot = await mkdtemp(join(tmpdir(), \"vxrn-native-conditions-\"));\n\t\tconst packageRoot = join(testRoot, \"node_modules/conditional-helper\");\n\t\tawait mkdir(packageRoot, { recursive: true });\n\t\tawait writeFile(join(packageRoot, \"package.json\"), JSON.stringify({\n\t\t\tname: \"conditional-helper\",\n\t\t\texports: { \".\": {\n\t\t\t\timport: \"./esm.js\",\n\t\t\t\trequire: \"./cjs.cjs\"\n\t\t\t} },\n\t\t\ttype: \"module\"\n\t\t}));\n\t\tawait writeFile(join(packageRoot, \"esm.js\"), `export default function helper() { return 'import' }`);\n\t\tawait writeFile(join(packageRoot, \"cjs.cjs\"), `module.exports = function helper() { return 'require' }`);\n\t\tawait writeFile(join(testRoot, \"entry.cjs\"), `\nconst helper = require('conditional-helper')\nglobalThis.__vxrnConditionalExportProbe = helper()\n`);\n\t\ttry {\n\t\t\tconst result = await buildNativeBundle({\n\t\t\t\troot: testRoot,\n\t\t\t\tplatform: \"ios\",\n\t\t\t\tentryFile: \"entry.cjs\",\n\t\t\t\tdev: true\n\t\t\t});\n\t\t\tconst context = {\n\t\t\t\tclearTimeout,\n\t\t\t\tconsole,\n\t\t\t\tprocess: { env: {} },\n\t\t\t\tsetTimeout\n\t\t\t};\n\t\t\trunInNewContext(result.code, context);\n\t\t\texpect(Reflect.get(context, \"__vxrnConditionalExportProbe\")).toBe(\"require\");\n\t\t} finally {\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n\tit(\"unwraps the default export of Babel CommonJS modules in dev output\", { timeout: 3e4 }, async () => {\n\t\tconst testRoot = await mkdtemp(join(tmpdir(), \"vxrn-native-cjs-default-\"));\n\t\tconst packageRoot = join(testRoot, \"node_modules/default-export-helper\");\n\t\tawait mkdir(packageRoot, { recursive: true });\n\t\tawait writeFile(join(packageRoot, \"package.json\"), JSON.stringify({\n\t\t\tname: \"default-export-helper\",\n\t\t\tmain: \"./index.js\"\n\t\t}));\n\t\tawait writeFile(join(packageRoot, \"index.js\"), `Object.defineProperty(exports, '__esModule', { value: true }); exports.default = function Component() {}`);\n\t\tawait writeFile(join(testRoot, \"entry.js\"), `import Component from 'default-export-helper'; globalThis.__vxrnCjsDefaultProbe = typeof Component`);\n\t\tlet resolveOutput;\n\t\tconst output = new Promise((resolve) => {\n\t\t\tresolveOutput = resolve;\n\t\t});\n\t\tconst engine = await dev({\n\t\t\tcwd: testRoot,\n\t\t\tinput: join(testRoot, \"entry.js\"),\n\t\t\texperimental: { devMode: { implement: getHmrRuntimeSource() } }\n\t\t}, {\n\t\t\tformat: \"esm\",\n\t\t\tcodeSplitting: false,\n\t\t\tstrictExecutionOrder: true\n\t\t}, { onOutput: resolveOutput });\n\t\ttry {\n\t\t\tawait engine.run();\n\t\t\tconst result = await output;\n\t\t\tif (result instanceof Error) throw result;\n\t\t\tconst chunk = result.output.find((item) => item.type === \"chunk\" && item.isEntry);\n\t\t\tif (!chunk || chunk.type !== \"chunk\") throw new Error(\"Rolldown did not emit a native dev entry chunk\");\n\t\t\tconst nodeModeCode = chunk.code.replace(/(\\b__toESM(?:\\$\\d+)?\\(\\s*require[\\w$]*\\(\\)\\s*)\\)/, \"$1, 1)\");\n\t\t\texpect(nodeModeCode).not.toBe(chunk.code);\n\t\t\tReflect.deleteProperty(globalThis, \"__rolldown_runtime__\");\n\t\t\tawait import(`data:text/javascript;base64,${Buffer.from(nodeModeCode).toString(\"base64\")}`);\n\t\t\texpect(Reflect.get(globalThis, \"__vxrnCjsDefaultProbe\")).toBe(\"object\");\n\t\t\tReflect.deleteProperty(globalThis, \"__rolldown_runtime__\");\n\t\t\tReflect.deleteProperty(globalThis, \"__vxrnCjsDefaultProbe\");\n\t\t\tconst normalized = normalizeNativeCommonJSInterop(nodeModeCode);\n\t\t\tawait import(`data:text/javascript;base64,${Buffer.from(normalized).toString(\"base64\")}`);\n\t\t\texpect(Reflect.get(globalThis, \"__vxrnCjsDefaultProbe\")).toBe(\"function\");\n\t\t} finally {\n\t\t\tawait engine.close();\n\t\t\tReflect.deleteProperty(globalThis, \"__rolldown_runtime__\");\n\t\t\tReflect.deleteProperty(globalThis, \"__vxrnCjsDefaultProbe\");\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n\tit(\"unwraps the default export of Babel CommonJS modules in production output\", async () => {\n\t\tconst testRoot = await mkdtemp(join(tmpdir(), \"vxrn-native-prod-cjs-default-\"));\n\t\tconst packageRoot = join(testRoot, \"node_modules/default-export-helper\");\n\t\tawait mkdir(packageRoot, { recursive: true });\n\t\tawait writeFile(join(packageRoot, \"package.json\"), JSON.stringify({\n\t\t\tname: \"default-export-helper\",\n\t\t\tmain: \"./index.js\"\n\t\t}));\n\t\tawait writeFile(join(packageRoot, \"index.js\"), `Object.defineProperty(exports, '__esModule', { value: true }); exports.default = function Component() {}`);\n\t\tawait writeFile(join(testRoot, \"entry.js\"), `import Component from 'default-export-helper'; globalThis.__vxrnProdCjsDefaultProbe = typeof Component`);\n\t\ttry {\n\t\t\tconst result = await buildNativeBundle({\n\t\t\t\troot: testRoot,\n\t\t\t\tplatform: \"ios\",\n\t\t\t\tentryFile: \"entry.js\"\n\t\t\t});\n\t\t\tconst context = {\n\t\t\t\tclearTimeout,\n\t\t\t\tconsole,\n\t\t\t\tprocess: { env: {} },\n\t\t\t\tsetTimeout\n\t\t\t};\n\t\t\trunInNewContext(result.code, context);\n\t\t\texpect(Reflect.get(context, \"__vxrnProdCjsDefaultProbe\")).toBe(\"function\");\n\t\t} finally {\n\t\t\tawait rm(testRoot, {\n\t\t\t\trecursive: true,\n\t\t\t\tforce: true\n\t\t\t});\n\t\t}\n\t});\n});\n\n"],"mappings":"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","ignoreList":[]}