@vxrn/vite-plugin-metro 1.26.0 → 2.0.0-beta.33.1
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/cjs/babel-plugins/import-meta-env-plugin.cjs +14 -25
- package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js +14 -25
- package/dist/cjs/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.cjs +3 -4
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +3 -4
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
- package/dist/cjs/transformer/metroNativeWorker.native.js.map +1 -1
- package/dist/cjs/transformer/metroNativeWorker.test.cjs +11 -0
- package/dist/cjs/transformer/metroNativeWorker.test.native.js +15 -0
- package/dist/cjs/transformer/metroNativeWorker.test.native.js.map +1 -1
- package/dist/esm/babel-plugins/import-meta-env-plugin.mjs +1 -1
- package/dist/esm/babel-plugins/import-meta-env-plugin.mjs.map +1 -1
- package/dist/esm/babel-plugins/import-meta-env-plugin.native.js +1 -1
- package/dist/esm/babel-plugins/import-meta-env-plugin.native.js.map +1 -1
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs +3 -4
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -1
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +3 -4
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
- package/dist/esm/transformer/metroNativeWorker.mjs.map +1 -1
- package/dist/esm/transformer/metroNativeWorker.native.js.map +1 -1
- package/dist/esm/transformer/metroNativeWorker.test.mjs +11 -0
- package/dist/esm/transformer/metroNativeWorker.test.mjs.map +1 -1
- package/dist/esm/transformer/metroNativeWorker.test.native.js +15 -0
- package/dist/esm/transformer/metroNativeWorker.test.native.js.map +1 -1
- package/package.json +4 -5
- package/src/babel-plugins/import-meta-env-plugin.ts +1 -2
- package/src/metro-config/getMetroConfigFromViteConfig.ts +11 -18
- package/src/transformer/metroNativeWorker.test.ts +173 -87
- package/src/transformer/metroNativeWorker.ts +241 -62
- package/types/babel-plugins/import-meta-env-plugin.d.ts +1 -1
- package/types/babel-plugins/import-meta-env-plugin.d.ts.map +1 -1
- package/types/metro-config/getMetroConfigFromViteConfig.d.ts.map +1 -1
- package/types/transformer/metroNativeWorker.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["beforeEach","describe","expect","it","vi","vm","parseSync","fs","path","createRequire","applyEnvironmentGuard","applyInlineEnvVars","assertNoUnportedBabelPlugins","extractDependencies","getCacheKey","getRemoveServerCodeRouterRoot","transform","wrapModule","buildMetroConfigInputFromViteConfig","__require","x","require","Proxy","get","a","b","apply","arguments","Error","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","babelCalls","transformSync","transformAsync","transformFromAstSync","parse","mock","importOriginal","actual","fn","_len","length","args","Array","_key","assertZeroBabelCalls","toBe","each","filename","sourceMap","result","minifierPath","import","meta","url","resolve","minifierConfig","Buffer","from","endsWith","dev","minify","platform","type","module","exports","code","map","output","data","runInNewContext","__d","factory","answer","every","entry","source","mangle","msm","fullMap","fromRawMappings","toMap","offset","indexOf","toBeGreaterThan","prefix","slice","split","position","Consumer","originalPositionFor","line","column","at","deps","names","d","name","toContain","not","reactDep","find","isESMImportAtSource","asyncType","toBeNull","locs","loc","start","toBeGreaterThanOrEqual","end","helperDep","isOptional","toBeUndefined","on","allowOptionalDependencies","exclude","wrappedWithoutId","moduleId","dependencyIds","toHaveLength","lineCount","depNames","dependencies","sources","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","iterator","_step","next","done","sourceCode","value","toMatch","err","return","jsonSource","JSON","stringify","version","toEqual","assetRegistryPath","publicPath","key1","globalPrefix","projectRoot","key2","key3","mockViteConfig","root","process","cwd","env","ONE_METRO_NATIVE_TRANSFORMS","configDefault","defaultConfig","transformerPath","transformer","nativeTransforms","depSource","aSource","depRes","aRes","aEmittedCode","polyfillPath","polyfillCode","readFileSync","contextObj","__DEV__","__METRO_GLOBAL_PREFIX__","console","global","createContext","runInContext","doubled","message","res","emitted","syncDep","asyncDep","toBeDefined","index","syncIndex","isArray","tuple","toHaveProperty","consumer","addLineIndex","findIndex","l","includes","mainSource","mainRes","emittedMain","asyncRequirePath","wrappedAsyncRequire","_i","_iter","mainFn","promise","Promise","then","resolved","default","resWrapped","fullMapWrapped","consumerWrapped","linesWrapped","lineIndexWrapped","generatedColWrapped","posWrapped","Number","resUnwrapped","unstable_disableModuleWrapping","fullMapUnwrapped","consumerUnwrapped","linesUnwrapped","lineIndexUnwrapped","generatedColUnwrapped","posUnwrapped","contextDep","contextParams","calls","ctx","req","push","keys","context","asHermesWouldSeeIt","replace","collect","ONE_SERVER_URL","src","out","DEV","VITE_POSTHOG_API_KEY","TAMAGUI_TARGET","VITE_ENVIRONMENT","SSR","API","dynamic","dirname","customTransformOptions","vite","nativeTransformModules","join","withPlugins","plugins","babelConfig","toThrow","routerRoot","alias","parsed","lang","errors","program","body","n"],"sources":["metroNativeWorker.test.native.js"],"sourcesContent":["import { beforeEach, describe, expect, it, vi } from \"vitest\";\nimport * as vm from \"vm\";\nimport { parseSync } from \"oxc-parser\";\nimport * as fs from \"fs\";\nimport * as path from \"path\";\nimport { createRequire } from \"module\";\nimport { applyEnvironmentGuard, applyInlineEnvVars, assertNoUnportedBabelPlugins, extractDependencies, getCacheKey, getRemoveServerCodeRouterRoot, transform, wrapModule } from \"./metroNativeWorker\";\nimport { buildMetroConfigInputFromViteConfig } from \"../metro-config/getMetroConfigFromViteConfig\";\n\nvar __require = /* @__PURE__ */ ((x) => typeof require !== \"undefined\" ? require : typeof Proxy !== \"undefined\" ? new Proxy(x, { get: (a, b) => (typeof require !== \"undefined\" ? require : a)[b] }) : x)(function(x) {\n\tif (typeof require !== \"undefined\") return require.apply(this, arguments);\n\tthrow Error(\"Calling `require` for \\\"\" + x + \"\\\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.\");\n});\n\nfunction _instanceof(left, right) {\n\tif (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) return !!right[Symbol.hasInstance](left);\n\telse return left instanceof right;\n}\nfunction _type_of(obj) {\n\t\"@swc/helpers - typeof\";\n\treturn obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nvar babelCalls = {\n\ttransform: 0,\n\ttransformSync: 0,\n\ttransformAsync: 0,\n\ttransformFromAstSync: 0,\n\tparse: 0,\n\tparseSync: 0\n};\nvi.mock(\"@babel/core\", async function(importOriginal) {\n\tvar actual = await importOriginal();\n\treturn {\n\t\t...actual,\n\t\ttransform: vi.fn(function() {\n\t\t\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n\t\t\tbabelCalls.transform++;\n\t\t\treturn actual.transform(...args);\n\t\t}),\n\t\ttransformSync: vi.fn(function() {\n\t\t\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n\t\t\tbabelCalls.transformSync++;\n\t\t\treturn actual.transformSync(...args);\n\t\t}),\n\t\ttransformAsync: vi.fn(function() {\n\t\t\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n\t\t\tbabelCalls.transformAsync++;\n\t\t\treturn actual.transformAsync(...args);\n\t\t}),\n\t\ttransformFromAstSync: vi.fn(function() {\n\t\t\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n\t\t\tbabelCalls.transformFromAstSync++;\n\t\t\treturn actual.transformFromAstSync(...args);\n\t\t}),\n\t\tparse: vi.fn(function() {\n\t\t\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n\t\t\tbabelCalls.parse++;\n\t\t\treturn actual.parse(...args);\n\t\t}),\n\t\tparseSync: vi.fn(function() {\n\t\t\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n\t\t\tbabelCalls.parseSync++;\n\t\t\treturn actual.parseSync(...args);\n\t\t})\n\t};\n});\nbeforeEach(function() {\n\tbabelCalls.transform = 0;\n\tbabelCalls.transformSync = 0;\n\tbabelCalls.transformAsync = 0;\n\tbabelCalls.transformFromAstSync = 0;\n\tbabelCalls.parse = 0;\n\tbabelCalls.parseSync = 0;\n});\nfunction assertZeroBabelCalls() {\n\texpect(babelCalls.transform).toBe(0);\n\texpect(babelCalls.transformSync).toBe(0);\n\texpect(babelCalls.transformAsync).toBe(0);\n\texpect(babelCalls.transformFromAstSync).toBe(0);\n\texpect(babelCalls.parse).toBe(0);\n\texpect(babelCalls.parseSync).toBe(0);\n}\ndescribe(\"metroNativeWorker\", function() {\n\tit.each([\n\t\t[\"data.json\", true],\n\t\t[\"data.json\", false],\n\t\t[\"data.js\", false]\n\t])(\"minifies %s with source maps enabled=%s without stale mappings\", async function(filename, sourceMap) {\n\t\tvar result = await transform({\n\t\t\tminifierPath: createRequire(import.meta.url).resolve(\"metro-minify-terser\"),\n\t\t\tminifierConfig: { sourceMap }\n\t\t}, \"/project\", filename, Buffer.from(filename.endsWith(\".json\") ? \"{\\\"answer\\\":42}\" : \"module.exports = { answer: 42 }\"), {\n\t\t\tdev: false,\n\t\t\tminify: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tvar module = { exports: {} };\n\t\tvar { code, map } = result.output[0].data;\n\t\tvm.runInNewContext(code, { __d(factory) {\n\t\t\tfactory({}, function() {}, function() {}, function() {}, module, module.exports, []);\n\t\t} });\n\t\texpect(module.exports.answer).toBe(42);\n\t\texpect(map.every(function(entry) {\n\t\t\treturn entry.length === 2;\n\t\t})).toBe(true);\n\t\tassertZeroBabelCalls();\n\t});\n\tit(\"minifies production modules with executable output and original source locations\", async function() {\n\t\tvar source = \"exports.answer = function answer(value) {\\n return value + 42\\n}\\n\";\n\t\tvar { code, map } = (await transform({\n\t\t\tminifierPath: createRequire(import.meta.url).resolve(\"metro-minify-terser\"),\n\t\t\tminifierConfig: { mangle: true }\n\t\t}, \"/project\", \"answer.js\", Buffer.from(source), {\n\t\t\tdev: false,\n\t\t\tminify: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t})).output[0].data;\n\t\tvar module = { exports: {} };\n\t\tvm.runInNewContext(code, { __d(factory) {\n\t\t\tfactory({}, function() {}, function() {}, function() {}, module, module.exports, []);\n\t\t} });\n\t\texpect(module.exports.answer(8)).toBe(50);\n\t\tvar msm = await import(\"metro-source-map\");\n\t\tvar fullMap = msm.fromRawMappings([{\n\t\t\tcode,\n\t\t\tpath: \"answer.js\",\n\t\t\tsource,\n\t\t\tmap\n\t\t}]).toMap();\n\t\tvar offset = code.indexOf(\"42\");\n\t\texpect(offset).toBeGreaterThan(-1);\n\t\tvar prefix = code.slice(0, offset).split(\"\\n\");\n\t\tvar position = new msm.Consumer(fullMap).originalPositionFor({\n\t\t\tline: prefix.length,\n\t\t\tcolumn: prefix.at(-1).length\n\t\t});\n\t\texpect(position.source).toBe(\"answer.js\");\n\t\texpect(position.line).toBe(2);\n\t\texpect(position.column).toBe(17);\n\t\tassertZeroBabelCalls();\n\t});\n\tit(\"extracts all dependencies with oxc-parser and zero Babel\", function() {\n\t\tvar deps = extractDependencies(`\n import React, { useState } from 'react'\n import * as RN from 'react-native'\n import './global.css'\n import type { UserType } from './user-types'\n export { Button } from './Button'\n export * from './icons'\n export type { ThemeType } from './theme-types'\n const helper = require('./helper')\n async function loadAsync() {\n const dyn = await import('./dynamic-module')\n }\n `, \"TestComponent.tsx\");\n\t\tassertZeroBabelCalls();\n\t\tvar names = deps.map(function(d) {\n\t\t\treturn d.name;\n\t\t});\n\t\texpect(names).toContain(\"react\");\n\t\texpect(names).toContain(\"react-native\");\n\t\texpect(names).toContain(\"./global.css\");\n\t\texpect(names).toContain(\"./Button\");\n\t\texpect(names).toContain(\"./icons\");\n\t\texpect(names).toContain(\"./helper\");\n\t\texpect(names).toContain(\"./dynamic-module\");\n\t\texpect(names).not.toContain(\"./user-types\");\n\t\texpect(names).not.toContain(\"./theme-types\");\n\t\tvar reactDep = deps.find(function(d) {\n\t\t\treturn d.name === \"react\";\n\t\t});\n\t\texpect(reactDep.data.isESMImportAtSource).toBe(true);\n\t\texpect(reactDep.data.asyncType).toBeNull();\n\t\texpect(reactDep.data.locs.length).toBeGreaterThan(0);\n\t\tvar loc = reactDep.data.locs[0];\n\t\texpect(loc.start.line).toBeGreaterThan(0);\n\t\texpect(loc.start.column).toBeGreaterThanOrEqual(0);\n\t\texpect(loc.end.line).toBeGreaterThanOrEqual(loc.start.line);\n\t\texpect(loc.end.column).toBeGreaterThanOrEqual(0);\n\t\tvar helperDep = deps.find(function(d) {\n\t\t\treturn d.name === \"./helper\";\n\t\t});\n\t\texpect(helperDep.data.isESMImportAtSource).toBe(false);\n\t\texpect(helperDep.data.asyncType).toBeNull();\n\t\texpect(deps.find(function(d) {\n\t\t\treturn d.name === \"./dynamic-module\";\n\t\t}).data.asyncType).toBe(\"async\");\n\t});\n\tit(\"marks requires inside a try block optional\", function() {\n\t\tvar code = `\n let worklets\n try {\n worklets = require('react-native-worklets-core')\n } catch {}\n const always = require('./always-there')\n `;\n\t\texpect(extractDependencies(code, \"setup.js\").find(function(d) {\n\t\t\treturn d.name === \"react-native-worklets-core\";\n\t\t}).data.isOptional).toBeUndefined();\n\t\tvar on = extractDependencies(code, \"setup.js\", { allowOptionalDependencies: true });\n\t\texpect(on.find(function(d) {\n\t\t\treturn d.name === \"react-native-worklets-core\";\n\t\t}).data.isOptional).toBe(true);\n\t\texpect(on.find(function(d) {\n\t\t\treturn d.name === \"./always-there\";\n\t\t}).data.isOptional).toBeUndefined();\n\t\texpect(extractDependencies(code, \"setup.js\", { allowOptionalDependencies: { exclude: [\"react-native-worklets-core\"] } }).find(function(d) {\n\t\t\treturn d.name === \"react-native-worklets-core\";\n\t\t}).data.isOptional).toBeUndefined();\n\t});\n\tit(\"wraps modules in Metro CommonJS format with and without moduleId\", function() {\n\t\tvar code = \"exports.val = 123;\";\n\t\tvar wrappedWithoutId = wrapModule(code);\n\t\texpect(wrappedWithoutId).toContain(\"__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {\");\n\t\texpect(wrappedWithoutId).toContain(\"var require = _$$_REQUIRE;\");\n\t\texpect(wrappedWithoutId).toContain(\"exports.val = 123;\");\n\t\texpect(wrappedWithoutId.endsWith(\");\")).toBe(true);\n\t\texpect(wrapModule(code, {\n\t\t\tmoduleId: 99,\n\t\t\tdependencyIds: [\n\t\t\t\t1,\n\t\t\t\t2,\n\t\t\t\t3\n\t\t\t]\n\t\t})).toContain(\", 99, [1,2,3]);\");\n\t});\n\tit(\"transforms TSX with React JSX, Hermes lowering, and ZERO Babel\", async function() {\n\t\tvar result = await transform({}, \"/project\", \"Greeter.tsx\", Buffer.from(`\n import React from 'react'\n import { View, Text } from 'react-native'\n const helper = require('./helper')\n\n export class Greeter extends React.Component {\n greeting = 'Hello from Native'\n\n async fetchGreeting() {\n return this.greeting\n }\n\n render() {\n return (\n <View testID=\"greeter\">\n <Text>{this.greeting}</Text>\n </View>\n )\n }\n }\n `, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(result.output).toHaveLength(1);\n\t\tvar output = result.output[0];\n\t\texpect(output.type).toBe(\"js/module\");\n\t\texpect(output.data.lineCount).toBeGreaterThan(0);\n\t\texpect(output.data.map.length).toBeGreaterThan(0);\n\t\tvar code = output.data.code;\n\t\texpect(code).toContain(\"__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {\");\n\t\texpect(code).toContain(\"var require = _$$_REQUIRE;\");\n\t\texpect(code).not.toContain(\"<View\");\n\t\texpect(code).not.toContain(\"<Text\");\n\t\texpect(code).toContain(\"this.greeting = \\\"Hello from Native\\\"\");\n\t\tvar depNames = result.dependencies.map(function(d) {\n\t\t\treturn d.name;\n\t\t});\n\t\texpect(depNames).toContain(\"react\");\n\t\texpect(depNames).toContain(\"react-native\");\n\t\texpect(depNames).toContain(\"./helper\");\n\t\texpect(depNames).toContain(\"react/jsx-dev-runtime\");\n\t});\n\tit(\"lowers async generators, including the method shorthand Hermes also rejects\", async function() {\n\t\tvar sources = {\n\t\t\t\"cursor.ts\": `\n export class Cursor {\n async *rows() {\n yield await Promise.resolve(1)\n }\n }\n `,\n\t\t\t\"stream.ts\": `\n export async function* stream() {\n yield 1\n }\n `,\n\t\t\t\"drain.ts\": `\n export async function drain(src) {\n for await (const x of src) {\n console.log(x)\n }\n }\n `\n\t\t};\n\t\tvar _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n\t\ttry {\n\t\t\tfor (var _iterator = Object.entries(sources)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\t\tvar [filename, sourceCode] = _step.value;\n\t\t\t\tvar result = await transform({}, \"/project\", filename, Buffer.from(sourceCode, \"utf8\"), {\n\t\t\t\t\tdev: true,\n\t\t\t\t\tplatform: \"ios\",\n\t\t\t\t\ttype: \"module\"\n\t\t\t\t});\n\t\t\t\tassertZeroBabelCalls();\n\t\t\t\tvar code = result.output[0].data.code;\n\t\t\t\texpect(code, filename).not.toMatch(/\\basync\\s+function\\s*\\*/);\n\t\t\t\texpect(code, filename).not.toMatch(/\\basync\\s*\\*\\s*[\\w$[]/);\n\t\t\t\texpect(code, filename).not.toMatch(/\\bfor\\s+await\\s*\\(/);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t_didIteratorError = true;\n\t\t\t_iteratorError = err;\n\t\t} finally {\n\t\t\ttry {\n\t\t\t\tif (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();\n\t\t\t} finally {\n\t\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t\t}\n\t\t}\n\t});\n\tit(\"handles JSON files without Babel\", async function() {\n\t\tvar jsonSource = JSON.stringify({\n\t\t\tname: \"my-package\",\n\t\t\tversion: \"1.0.0\"\n\t\t});\n\t\tvar result = await transform({}, \"/project\", \"package.json\", Buffer.from(jsonSource, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(result.dependencies).toEqual([]);\n\t\texpect(result.output).toHaveLength(1);\n\t\texpect(result.output[0].type).toBe(\"js/module\");\n\t\texpect(result.output[0].data.code).toContain(\"module.exports = {\\\"name\\\":\\\"my-package\\\",\\\"version\\\":\\\"1.0.0\\\"}\");\n\t\texpect(result.output[0].data.code).toContain(\"__d(function (global, require\");\n\t});\n\tit(\"handles Asset files without Babel\", async function() {\n\t\tvar result = await transform({\n\t\t\tassetRegistryPath: \"react-native/Libraries/Image/AssetRegistry\",\n\t\t\tpublicPath: \"/assets\"\n\t\t}, \"/project\", \"logo.png\", Buffer.from(\"fake-png-binary-data\", \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"asset\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(result.output[0].type).toBe(\"js/module/asset\");\n\t\texpect(result.output[0].data.code).toContain(\"registerAsset(\");\n\t\texpect(result.output[0].data.code).toContain(\"__d(function\");\n\t\texpect(result.dependencies.map(function(d) {\n\t\t\treturn d.name;\n\t\t})).toContain(\"react-native/Libraries/Image/AssetRegistry\");\n\t});\n\tit(\"handles Flow files by stripping types without Babel\", async function() {\n\t\tvar result = await transform({}, \"/project\", \"math.js\", Buffer.from(`\n // @flow\n function add(a: number, b: number): number {\n return a + b;\n }\n export default add;\n `, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(result.output[0].data.code).not.toContain(\": number\");\n\t\texpect(result.output[0].data.code).toContain(\"function add(a, b)\");\n\t});\n\tit(\"generates a deterministic cache key without Babel\", function() {\n\t\tvar key1 = getCacheKey({\n\t\t\tglobalPrefix: \"__one_\",\n\t\t\tminifierPath: \"terser\"\n\t\t}, { projectRoot: \"/app\" });\n\t\tvar key2 = getCacheKey({\n\t\t\tglobalPrefix: \"__one_\",\n\t\t\tminifierPath: \"terser\"\n\t\t}, { projectRoot: \"/app\" });\n\t\tvar key3 = getCacheKey({ globalPrefix: \"__other_\" }, { projectRoot: \"/app\" });\n\t\tassertZeroBabelCalls();\n\t\texpect(key1).toBe(key2);\n\t\texpect(key1).not.toBe(key3);\n\t\texpect(typeof key1 === \"undefined\" ? \"undefined\" : _type_of(key1)).toBe(\"string\");\n\t\texpect(key1.length).toBe(64);\n\t});\n\tit(\"correctly sets transformerPath in buildMetroConfigInputFromViteConfig when active\", async function() {\n\t\tvar mockViteConfig = { root: process.cwd() };\n\t\tdelete process.env.ONE_METRO_NATIVE_TRANSFORMS;\n\t\tvar configDefault = await buildMetroConfigInputFromViteConfig(mockViteConfig, {});\n\t\texpect(configDefault.defaultConfig.transformerPath).toContain(\"metroNativeWorker\");\n\t\texpect(configDefault.defaultConfig.transformer.transformerPath).toBeUndefined();\n\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, { nativeTransforms: false })).defaultConfig.transformerPath).not.toContain(\"metroNativeWorker\");\n\t\tprocess.env.ONE_METRO_NATIVE_TRANSFORMS = \"0\";\n\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, {})).defaultConfig.transformerPath).not.toContain(\"metroNativeWorker\");\n\t\tprocess.env.ONE_METRO_NATIVE_TRANSFORMS = \"1\";\n\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, { nativeTransforms: false })).defaultConfig.transformerPath).toContain(\"metroNativeWorker\");\n\t\tdelete process.env.ONE_METRO_NATIVE_TRANSFORMS;\n\t});\n\tit(\"transforms and executes a real 2-module Metro bundle through metro-runtime require polyfill\", async function() {\n\t\tvar depSource = \"exports.value = 42;\";\n\t\tvar aSource = \"const dep = require(\\\"./dep\\\"); module.exports = { doubled: dep.value * 2 };\";\n\t\tvar depRes = await transform({}, \"/project\", \"dep.js\", Buffer.from(depSource, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 2,\n\t\t\tdependencyIds: []\n\t\t});\n\t\tvar aRes = await transform({}, \"/project\", \"a.js\", Buffer.from(aSource, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 1,\n\t\t\tdependencyIds: [2]\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(aRes.dependencies).toHaveLength(1);\n\t\texpect(aRes.dependencies[0].name).toBe(\"./dep\");\n\t\tvar aEmittedCode = aRes.output[0].data.code;\n\t\texpect(aEmittedCode).toContain(\"require(_dependencyMap[0], \\\"./dep\\\")\");\n\t\tvar polyfillPath = __require.resolve(\"metro-runtime/src/polyfills/require.js\");\n\t\tvar polyfillCode = fs.readFileSync(polyfillPath, \"utf8\");\n\t\tvar contextObj = {\n\t\t\t__DEV__: false,\n\t\t\t__METRO_GLOBAL_PREFIX__: \"\",\n\t\t\tconsole\n\t\t};\n\t\tcontextObj.global = contextObj;\n\t\tvm.createContext(contextObj);\n\t\tvm.runInContext(polyfillCode, contextObj);\n\t\tvm.runInContext(depRes.output[0].data.code, contextObj);\n\t\tvm.runInContext(aEmittedCode, contextObj);\n\t\texpect(vm.runInContext(\"global.__r(1)\", contextObj)).toEqual({ doubled: 84 });\n\t});\n\tit(\"transforms and executes a 2-module Metro bundle with ESM imports in dev mode\", async function() {\n\t\tvar depSource = \"export const greeting = \\\"Hello Metro Native\\\";\";\n\t\tvar aSource = \"import { greeting } from \\\"./dep\\\"; export const message = greeting.toUpperCase();\";\n\t\tvar depRes = await transform({}, \"/project\", \"dep.js\", Buffer.from(depSource, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 2,\n\t\t\tdependencyIds: []\n\t\t});\n\t\tvar aRes = await transform({}, \"/project\", \"a.js\", Buffer.from(aSource, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 1,\n\t\t\tdependencyIds: [2]\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\tvar polyfillPath = __require.resolve(\"metro-runtime/src/polyfills/require.js\");\n\t\tvar polyfillCode = fs.readFileSync(polyfillPath, \"utf8\");\n\t\tvar contextObj = {\n\t\t\t__DEV__: true,\n\t\t\t__METRO_GLOBAL_PREFIX__: \"\",\n\t\t\tconsole\n\t\t};\n\t\tcontextObj.global = contextObj;\n\t\tvm.createContext(contextObj);\n\t\tvm.runInContext(polyfillCode, contextObj);\n\t\tvm.runInContext(depRes.output[0].data.code, contextObj);\n\t\tvm.runInContext(aRes.output[0].data.code, contextObj);\n\t\texpect(vm.runInContext(\"global.__r(1)\", contextObj).message).toBe(\"HELLO METRO NATIVE\");\n\t});\n\tit(\"respects lexical scope shadowing for require calls (Astra probe)\", async function() {\n\t\tvar res = await transform({}, \"/project\", \"shadowed.js\", Buffer.from(\"function f(require){return require(\\\"./local\\\")}; module.exports=f(x=>x);\", \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 1,\n\t\t\tdependencyIds: []\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(res.dependencies).toHaveLength(0);\n\t\tvar emitted = res.output[0].data.code;\n\t\texpect(emitted).not.toContain(\"_dependencyMap[0]\");\n\t\texpect(emitted).toMatch(/require\\d*\\(\"\\.\\/local\"\\)/);\n\t\tvar polyfillPath = __require.resolve(\"metro-runtime/src/polyfills/require.js\");\n\t\tvar polyfillCode = fs.readFileSync(polyfillPath, \"utf8\");\n\t\tvar contextObj = {\n\t\t\t__DEV__: false,\n\t\t\t__METRO_GLOBAL_PREFIX__: \"\",\n\t\t\tconsole\n\t\t};\n\t\tcontextObj.global = contextObj;\n\t\tvm.createContext(contextObj);\n\t\tvm.runInContext(polyfillCode, contextObj);\n\t\tvm.runInContext(emitted, contextObj);\n\t\texpect(vm.runInContext(\"global.__r(1)\", contextObj)).toBe(\"./local\");\n\t});\n\tit(\"preserves distinct indexed identity for duplicate and mixed sync/async dependencies\", async function() {\n\t\tvar res = await transform({}, \"/project\", \"index.js\", Buffer.from(`\n const a = require('./dep');\n const b = require('./dep');\n async function load() {\n const c = await import('./dep');\n }\n `, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(res.dependencies.map(function(d) {\n\t\t\treturn d.name;\n\t\t})).toContain(\"./dep\");\n\t\tvar syncDep = res.dependencies.find(function(d) {\n\t\t\treturn d.name === \"./dep\" && d.data.asyncType === null;\n\t\t});\n\t\tvar asyncDep = res.dependencies.find(function(d) {\n\t\t\treturn d.name === \"./dep\" && d.data.asyncType === \"async\";\n\t\t});\n\t\texpect(syncDep).toBeDefined();\n\t\texpect(asyncDep).toBeDefined();\n\t\texpect(syncDep.data.index).not.toEqual(asyncDep.data.index);\n\t\tvar emitted = res.output[0].data.code;\n\t\tvar syncIndex = syncDep.data.index;\n\t\texpect(emitted).toContain(`require(_dependencyMap[${syncIndex}], \"./dep\")`);\n\t});\n\tit(\"conforms to Metro map ABI with raw mapping segment tuples and accurate symbolication\", async function() {\n\t\tvar res = await transform({}, \"/project\", \"math.ts\", Buffer.from(`\n export function add(a: number, b: number): number {\n return a + b;\n }\n `, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\tvar map = res.output[0].data.map;\n\t\texpect(Array.isArray(map)).toBe(true);\n\t\texpect(map.length).toBeGreaterThan(0);\n\t\tvar _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n\t\ttry {\n\t\t\tfor (var _iterator = map[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\t\tvar tuple = _step.value;\n\t\t\t\texpect(Array.isArray(tuple)).toBe(true);\n\t\t\t\texpect(_type_of(tuple[0])).toBe(\"number\");\n\t\t\t\texpect(_type_of(tuple[1])).toBe(\"number\");\n\t\t\t\texpect(tuple).not.toHaveProperty(\"version\");\n\t\t\t\texpect(tuple).not.toHaveProperty(\"mappings\");\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t_didIteratorError = true;\n\t\t\t_iteratorError = err;\n\t\t} finally {\n\t\t\ttry {\n\t\t\t\tif (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();\n\t\t\t} finally {\n\t\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t\t}\n\t\t}\n\t\tvar msm = await import(\"metro-source-map\");\n\t\tvar fullMap = msm.fromRawMappings([{\n\t\t\tcode: res.output[0].data.code,\n\t\t\tsource: \"math.ts\",\n\t\t\tmap\n\t\t}]).toMap();\n\t\tvar consumer = new msm.Consumer(fullMap);\n\t\tvar addLineIndex = res.output[0].data.code.split(\"\\n\").findIndex(function(l) {\n\t\t\treturn l.includes(\"function add\");\n\t\t});\n\t\texpect(addLineIndex).toBeGreaterThan(0);\n\t\texpect(consumer.originalPositionFor({\n\t\t\tline: addLineIndex + 1,\n\t\t\tcolumn: 16\n\t\t}).line).toBe(2);\n\t});\n\tit(\"models JS hoisting in ScopeTracker for functions and vars (Astra probe)\", async function() {\n\t\tvar res = await transform({}, \"/project\", \"hoisted.js\", Buffer.from(\"function f(){const x=require(\\\"./local\\\"); function require(x){return x}; return x} module.exports=f();\", \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 1,\n\t\t\tdependencyIds: []\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(res.dependencies).toHaveLength(0);\n\t\tvar emitted = res.output[0].data.code;\n\t\texpect(emitted).not.toContain(\"_dependencyMap[0]\");\n\t\texpect(emitted).toMatch(/require\\d*\\(\"\\.\\/local\"\\)/);\n\t\tvar polyfillPath = __require.resolve(\"metro-runtime/src/polyfills/require.js\");\n\t\tvar polyfillCode = fs.readFileSync(polyfillPath, \"utf8\");\n\t\tvar contextObj = {\n\t\t\t__DEV__: false,\n\t\t\t__METRO_GLOBAL_PREFIX__: \"\",\n\t\t\tconsole\n\t\t};\n\t\tcontextObj.global = contextObj;\n\t\tvm.createContext(contextObj);\n\t\tvm.runInContext(polyfillCode, contextObj);\n\t\tvm.runInContext(emitted, contextObj);\n\t\texpect(vm.runInContext(\"global.__r(1)\", contextObj)).toBe(\"./local\");\n\t});\n\tit(\"rewrites dynamic import to Metro asyncRequire and executes promise resolution in dev and release\", async function() {\n\t\tvar depSource = \"exports.message = \\\"hello dynamic\\\";\";\n\t\tvar mainSource = \"module.exports = () => import(\\\"./dep\\\");\";\n\t\tvar depRes = await transform({}, \"/project\", \"dep.js\", Buffer.from(depSource, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 2,\n\t\t\tdependencyIds: []\n\t\t});\n\t\tvar mainRes = await transform({}, \"/project\", \"main.js\", Buffer.from(mainSource, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 0,\n\t\t\tdependencyIds: [2, 1]\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\tvar depNames = mainRes.dependencies.map(function(d) {\n\t\t\treturn d.name;\n\t\t});\n\t\texpect(depNames).toContain(\"./dep\");\n\t\texpect(depNames).toContain(\"metro-runtime/src/modules/asyncRequire\");\n\t\texpect(mainRes.dependencies.find(function(d) {\n\t\t\treturn d.name === \"./dep\";\n\t\t}).data.asyncType).toBe(\"async\");\n\t\tvar emittedMain = mainRes.output[0].data.code;\n\t\texpect(emittedMain).not.toContain(\"import(\\\"./dep\\\")\");\n\t\texpect(emittedMain).toContain(\"require(_dependencyMap[1], \\\"metro-runtime/src/modules/asyncRequire\\\")(_dependencyMap[0], _dependencyMap.paths, \\\"./dep\\\")\");\n\t\tvar polyfillPath = __require.resolve(\"metro-runtime/src/polyfills/require.js\");\n\t\tvar polyfillCode = fs.readFileSync(polyfillPath, \"utf8\");\n\t\tvar asyncRequirePath = __require.resolve(\"metro-runtime/src/modules/asyncRequire.js\");\n\t\tvar wrappedAsyncRequire = wrapModule(fs.readFileSync(asyncRequirePath, \"utf8\"), {\n\t\t\tmoduleId: 1,\n\t\t\tdependencyIds: []\n\t\t});\n\t\tfor (var _i = 0, _iter = [true, false]; _i < _iter.length; _i++) {\n\t\t\tvar contextObj = {\n\t\t\t\t__DEV__: _iter[_i],\n\t\t\t\t__METRO_GLOBAL_PREFIX__: \"\",\n\t\t\t\tconsole\n\t\t\t};\n\t\t\tcontextObj.global = contextObj;\n\t\t\tvm.createContext(contextObj);\n\t\t\tvm.runInContext(polyfillCode, contextObj);\n\t\t\tvm.runInContext(wrappedAsyncRequire, contextObj);\n\t\t\tvm.runInContext(depRes.output[0].data.code, contextObj);\n\t\t\tvm.runInContext(emittedMain, contextObj);\n\t\t\tvar mainFn = vm.runInContext(\"global.__r(0)\", contextObj);\n\t\t\texpect(typeof mainFn === \"undefined\" ? \"undefined\" : _type_of(mainFn)).toBe(\"function\");\n\t\t\tvar promise = mainFn();\n\t\t\texpect(_instanceof(promise, Promise) || promise && typeof promise.then === \"function\").toBe(true);\n\t\t\tvar resolved = await promise;\n\t\t\texpect(resolved.message).toBe(\"hello dynamic\");\n\t\t\texpect(resolved.default.message).toBe(\"hello dynamic\");\n\t\t}\n\t});\n\tit(\"preserves accurate sourcemap for tokens after rewritten require calls on the same line\", async function() {\n\t\tvar sourceCode = \"const a = require(\\\"./dep\\\"), b = 42;\";\n\t\tvar resWrapped = await transform({}, \"/project\", \"app.js\", Buffer.from(sourceCode, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\tvar msm = await import(\"metro-source-map\");\n\t\tvar fullMapWrapped = msm.fromRawMappings([{\n\t\t\tcode: resWrapped.output[0].data.code,\n\t\t\tsource: \"app.js\",\n\t\t\tmap: resWrapped.output[0].data.map\n\t\t}]).toMap();\n\t\tvar consumerWrapped = new msm.Consumer(fullMapWrapped);\n\t\tvar linesWrapped = resWrapped.output[0].data.code.split(\"\\n\");\n\t\tvar lineIndexWrapped = linesWrapped.findIndex(function(l) {\n\t\t\treturn l.includes(\"b = 42\");\n\t\t});\n\t\texpect(lineIndexWrapped).toBeGreaterThanOrEqual(0);\n\t\tvar generatedColWrapped = linesWrapped[lineIndexWrapped].indexOf(\"b = 42\");\n\t\texpect(generatedColWrapped).toBeGreaterThan(0);\n\t\tvar posWrapped = consumerWrapped.originalPositionFor({\n\t\t\tline: lineIndexWrapped + 1,\n\t\t\tcolumn: generatedColWrapped\n\t\t});\n\t\texpect(posWrapped.line).toBe(1);\n\t\texpect(posWrapped.column).toBe(28);\n\t\texpect(sourceCode.slice(Number(posWrapped.column))).toContain(\"b = 42;\");\n\t\tvar resUnwrapped = await transform({ unstable_disableModuleWrapping: true }, \"/project\", \"app.js\", Buffer.from(sourceCode, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tvar fullMapUnwrapped = msm.fromRawMappings([{\n\t\t\tcode: resUnwrapped.output[0].data.code,\n\t\t\tsource: \"app.js\",\n\t\t\tmap: resUnwrapped.output[0].data.map\n\t\t}]).toMap();\n\t\tvar consumerUnwrapped = new msm.Consumer(fullMapUnwrapped);\n\t\tvar linesUnwrapped = resUnwrapped.output[0].data.code.split(\"\\n\");\n\t\tvar lineIndexUnwrapped = linesUnwrapped.findIndex(function(l) {\n\t\t\treturn l.includes(\"b = 42\");\n\t\t});\n\t\texpect(lineIndexUnwrapped).toBeGreaterThanOrEqual(0);\n\t\tvar generatedColUnwrapped = linesUnwrapped[lineIndexUnwrapped].indexOf(\"b = 42\");\n\t\tvar posUnwrapped = consumerUnwrapped.originalPositionFor({\n\t\t\tline: lineIndexUnwrapped + 1,\n\t\t\tcolumn: generatedColUnwrapped\n\t\t});\n\t\texpect(posUnwrapped.line).toBe(1);\n\t\texpect(posUnwrapped.column).toBe(28);\n\t});\n\tit(\"routes a require.context whose directory is held in a variable through the dependency map\", async function() {\n\t\tvar result = await transform({}, \"/project\", \"entry.js\", Buffer.from(`\n const routeRoot = './app'\n export const ctx = require.context(routeRoot, true, /\\\\.tsx$/)\n `, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tvar contextDep = result.dependencies.find(function(d) {\n\t\t\treturn d.data.contextParams != null;\n\t\t});\n\t\texpect(contextDep === null || contextDep === void 0 ? void 0 : contextDep.name).toBe(\"./app\");\n\t\tvar calls = [];\n\t\tvar ctx;\n\t\tvm.runInNewContext(result.output[0].data.code, { __d: function(factory) {\n\t\t\tvar module = { exports: {} };\n\t\t\tvar req = function() {\n\t\t\t\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n\t\t\t\tcalls.push(args);\n\t\t\t\treturn { keys: function() {\n\t\t\t\t\treturn [];\n\t\t\t\t} };\n\t\t\t};\n\t\t\treq.context = function() {\n\t\t\t\tthrow new Error(\"fallbackRequireContext reached\");\n\t\t\t};\n\t\t\tfactory({}, req, function() {\n\t\t\t\treturn {};\n\t\t\t}, function() {\n\t\t\t\treturn {};\n\t\t\t}, module, module.exports, [\"./app\"]);\n\t\t\tctx = module.exports.ctx;\n\t\t} });\n\t\texpect(ctx).toBeDefined();\n\t\texpect(calls[0][1]).toBe(\"./app\");\n\t});\n\tit(\"gives loop bodies per-iteration bindings that survive a runtime without them\", async function() {\n\t\tvar asHermesWouldSeeIt = (await transform({}, \"/project\", \"loops.ts\", Buffer.from(`\n export function collect() {\n const out = []\n for (let i = 0; i < 2; i++) out.push(() => i)\n for (const label of ['a', 'b']) out.push(() => label)\n for (const key in { x: 1, y: 2 }) out.push(() => key)\n return out.map((f) => f())\n }\n `, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t})).output[0].data.code.replace(/\\bfor\\s*\\(\\s*(let|const)\\b/g, \"for (var\");\n\t\tvar collect;\n\t\tvm.runInNewContext(asHermesWouldSeeIt, { __d: function(factory) {\n\t\t\tvar module = { exports: {} };\n\t\t\tfactory({}, function() {\n\t\t\t\treturn {};\n\t\t\t}, function() {\n\t\t\t\treturn {};\n\t\t\t}, function() {\n\t\t\t\treturn {};\n\t\t\t}, module, module.exports, []);\n\t\t\tcollect = module.exports.collect;\n\t\t} });\n\t\texpect(collect()).toEqual([\n\t\t\t0,\n\t\t\t1,\n\t\t\t\"a\",\n\t\t\t\"b\",\n\t\t\t\"x\",\n\t\t\t\"y\"\n\t\t]);\n\t});\n});\ndescribe(\"one native transform ports\", function() {\n\tit(\"inlines process.env.ONE_SERVER_URL so a native bundle can find its loaders\", function() {\n\t\tprocess.env.ONE_SERVER_URL = \"https://example.test\";\n\t\ttry {\n\t\t\texpect(applyInlineEnvVars(\"export const url = process.env.ONE_SERVER_URL;\", \"loader.ts\", false)).toBe(\"export const url = \\\"https://example.test\\\";\");\n\t\t} finally {\n\t\t\tprocess.env.ONE_SERVER_URL = void 0;\n\t\t}\n\t});\n\tit(\"leaves ONE_SERVER_URL alone when it is only a string\", function() {\n\t\tvar src = \"export const key = \\\"process.env.ONE_SERVER_URL\\\";\";\n\t\texpect(applyInlineEnvVars(src, \"a.ts\", false)).toBe(src);\n\t});\n\tit(\"inlines import.meta.env reads, which oxc otherwise lowers to an empty object\", function() {\n\t\tvar out = applyInlineEnvVars(`export const key = import.meta.env.VITE_POSTHOG_API_KEY;\nexport const target = import.meta.env?.TAMAGUI_TARGET;\nexport const missing = import.meta.env.NOT_SET;\nexport const all = { ...import.meta.env };`, \"env.ts\", true, {\n\t\t\tDEV: false,\n\t\t\tVITE_POSTHOG_API_KEY: \"pk_live\",\n\t\t\tTAMAGUI_TARGET: \"native\"\n\t\t});\n\t\texpect(out).toContain(\"export const key = \\\"pk_live\\\";\");\n\t\texpect(out).toContain(\"export const target = \\\"native\\\";\");\n\t\texpect(out).toContain(\"export const missing = undefined;\");\n\t\texpect(out).toContain(\"\\\"VITE_POSTHOG_API_KEY\\\":\\\"pk_live\\\"\");\n\t\texpect(out).not.toContain(\"import.meta\");\n\t});\n\tit(\"inlines process.env keys the vite env map defines\", function() {\n\t\tvar out = applyInlineEnvVars(\"export const t = process.env.TAMAGUI_TARGET; export const u = process.env.UNKNOWN_THING;\", \"env.ts\", true, { TAMAGUI_TARGET: \"native\" });\n\t\texpect(out).toContain(\"export const t = \\\"native\\\";\");\n\t\texpect(out).toContain(\"process.env.UNKNOWN_THING\");\n\t});\n\tit(\"never rewrites an env read in an assignment target\", function() {\n\t\tvar src = \"process.env.VITE_ENVIRONMENT = \\\"ssr\\\";\";\n\t\texpect(applyInlineEnvVars(src, \"a.ts\", true, { VITE_ENVIRONMENT: \"ios\" })).toBe(src);\n\t});\n\tit(\"folds branches the inlining made constant so metro never resolves dead imports\", function() {\n\t\tvar out = applyInlineEnvVars(`if (import.meta.env.SSR) { require('./server-only-thing') } else { load(import.meta.env.API) }`, \"branch.ts\", true, {\n\t\t\tSSR: false,\n\t\t\tAPI: \"https://api.test\"\n\t\t});\n\t\texpect(out).not.toContain(\"server-only-thing\");\n\t\texpect(out).toContain(\"load(\\\"https://api.test\\\")\");\n\t});\n\tit(\"folds a ternary and keeps a branch it cannot resolve\", function() {\n\t\texpect(applyInlineEnvVars(\"const a = import.meta.env.DEV ? x : y;\", \"a.ts\", true, { DEV: false })).toContain(\"const a = y;\");\n\t\tvar dynamic = \"const a = flag ? x : y;\";\n\t\texpect(applyInlineEnvVars(dynamic, \"a.ts\", true, { DEV: false })).toBe(dynamic);\n\t});\n\tit(\"runs the user native transforms that stand in for their babel plugins\", async function() {\n\t\tvar result = await transform({}, import.meta.dirname, \"ota.ts\", Buffer.from(\"export const id = __EXAMPLE_BUILD_ID; export const from = __EXAMPLE_FILENAME;\", \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tcustomTransformOptions: { vite: { nativeTransformModules: [\"./__fixtures__/exampleNativeTransform.cjs\"] } }\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(result.output[0].data.code).toContain(\"\\\"ios-build\\\"\");\n\t\texpect(result.output[0].data.code).not.toContain(\"__EXAMPLE_BUILD_ID\");\n\t\texpect(result.output[0].data.code).toContain(JSON.stringify(path.join(import.meta.dirname, \"ota.ts\")));\n\t});\n\tit(\"refuses to build when a user babel plugin has no native port\", function() {\n\t\tvar withPlugins = function(plugins) {\n\t\t\treturn { customTransformOptions: { vite: { babelConfig: { plugins } } } };\n\t\t};\n\t\texpect(function() {\n\t\t\treturn assertNoUnportedBabelPlugins(withPlugins([\n\t\t\t\t[\"@vxrn/vite-plugin-metro/babel-plugins/import-meta-env-plugin\", { env: {} }],\n\t\t\t\t\"one/babel-plugin-environment-guard\",\n\t\t\t\t\"hot-updater/babel-plugin\"\n\t\t\t]));\n\t\t}).toThrow(/hot-updater\\/babel-plugin/);\n\t\texpect(function() {\n\t\t\treturn assertNoUnportedBabelPlugins(withPlugins([\n\t\t\t\t[\"@vxrn/vite-plugin-metro/babel-plugins/import-meta-env-plugin\", { env: {} }],\n\t\t\t\t\"one/babel-plugin-environment-guard\",\n\t\t\t\t[\"one/babel-plugin-remove-server-code\", { routerRoot: \"app\" }],\n\t\t\t\t[\"babel-plugin-module-resolver\", { alias: {} }],\n\t\t\t\t[\"one/babel-plugin-one-router-metro\", {}],\n\t\t\t\t\"one/babel-plugin-inline-one-server-url\",\n\t\t\t\t\"babel-plugin-react-compiler\",\n\t\t\t\t\"react-native-reanimated/plugin\"\n\t\t\t]));\n\t\t}).not.toThrow();\n\t});\n\tit(\"turns a server-only import into a throw and drops native-only\", function() {\n\t\tvar out = applyEnvironmentGuard(`import 'native-only'\n\nexport const a = 1`, \"route.ts\");\n\t\texpect(out).not.toContain(\"native-only\");\n\t\texpect(out).toContain(\"server-only cannot be imported in a native environment\");\n\t\tvar parsed = parseSync(\"route.ts\", out, { lang: \"ts\" });\n\t\texpect(parsed.errors).toEqual([]);\n\t\texpect(parsed.program.body.map(function(n) {\n\t\t\treturn n.type;\n\t\t})).toContain(\"ThrowStatement\");\n\t});\n\tit(\"reads the router root off one's remove-server-code plugin entry\", function() {\n\t\texpect(getRemoveServerCodeRouterRoot({ customTransformOptions: { vite: { babelConfig: { plugins: [[\"one/babel-plugin-remove-server-code\", { routerRoot: \"src/app\" }]] } } } })).toBe(\"src/app\");\n\t\texpect(getRemoveServerCodeRouterRoot({ customTransformOptions: {} })).toBe(void 0);\n\t});\n});\n\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["beforeEach","describe","expect","it","vi","vm","parseSync","fs","path","createRequire","applyEnvironmentGuard","applyInlineEnvVars","assertNoUnportedBabelPlugins","extractDependencies","getCacheKey","getRemoveServerCodeRouterRoot","transform","wrapModule","buildMetroConfigInputFromViteConfig","__require","x","require","Proxy","get","a","b","apply","arguments","Error","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","babelCalls","transformSync","transformAsync","transformFromAstSync","parse","mock","importOriginal","actual","fn","_len","length","args","Array","_key","assertZeroBabelCalls","toBe","each","filename","sourceMap","result","minifierPath","import","meta","url","resolve","minifierConfig","Buffer","from","endsWith","dev","minify","platform","type","module","exports","code","map","output","data","runInNewContext","__d","factory","answer","every","entry","source","mangle","msm","fullMap","fromRawMappings","toMap","offset","indexOf","toBeGreaterThan","prefix","slice","split","position","Consumer","originalPositionFor","line","column","at","deps","names","d","name","toContain","not","reactDep","find","isESMImportAtSource","asyncType","toBeNull","locs","loc","start","toBeGreaterThanOrEqual","end","helperDep","isOptional","toBeUndefined","on","allowOptionalDependencies","exclude","wrappedWithoutId","moduleId","dependencyIds","toHaveLength","lineCount","depNames","dependencies","sources","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","iterator","_step","next","done","sourceCode","value","toMatch","err","return","jsonSource","JSON","stringify","version","toEqual","assetRegistryPath","publicPath","key1","globalPrefix","projectRoot","key2","key3","mockViteConfig","root","process","cwd","env","ONE_METRO_NATIVE_TRANSFORMS","configDefault","defaultConfig","transformerPath","transformer","nativeTransforms","blockList","watchman","resolver","isBlocked","file","some","pattern","test","depSource","aSource","depRes","aRes","aEmittedCode","polyfillPath","polyfillCode","readFileSync","contextObj","__DEV__","__METRO_GLOBAL_PREFIX__","console","global","createContext","runInContext","doubled","message","res","emitted","syncDep","asyncDep","toBeDefined","index","syncIndex","isArray","tuple","toHaveProperty","consumer","addLineIndex","findIndex","l","includes","mainSource","mainRes","emittedMain","asyncRequirePath","wrappedAsyncRequire","_i","_iter","mainFn","promise","Promise","then","resolved","default","resWrapped","fullMapWrapped","consumerWrapped","linesWrapped","lineIndexWrapped","generatedColWrapped","posWrapped","Number","resUnwrapped","unstable_disableModuleWrapping","fullMapUnwrapped","consumerUnwrapped","linesUnwrapped","lineIndexUnwrapped","generatedColUnwrapped","posUnwrapped","contextDep","contextParams","calls","ctx","req","push","keys","context","asHermesWouldSeeIt","replace","collect","ONE_SERVER_URL","src","out","DEV","VITE_POSTHOG_API_KEY","TAMAGUI_TARGET","VITE_ENVIRONMENT","SSR","API","dynamic","dirname","customTransformOptions","vite","nativeTransformModules","join","withPlugins","plugins","babelConfig","toThrow","routerRoot","alias","parsed","lang","errors","program","body","n"],"sources":["metroNativeWorker.test.native.js"],"sourcesContent":["import { beforeEach, describe, expect, it, vi } from \"vitest\";\nimport * as vm from \"vm\";\nimport { parseSync } from \"oxc-parser\";\nimport * as fs from \"fs\";\nimport * as path from \"path\";\nimport { createRequire } from \"module\";\nimport { applyEnvironmentGuard, applyInlineEnvVars, assertNoUnportedBabelPlugins, extractDependencies, getCacheKey, getRemoveServerCodeRouterRoot, transform, wrapModule } from \"./metroNativeWorker\";\nimport { buildMetroConfigInputFromViteConfig } from \"../metro-config/getMetroConfigFromViteConfig\";\n\nvar __require = /* @__PURE__ */ ((x) => typeof require !== \"undefined\" ? require : typeof Proxy !== \"undefined\" ? new Proxy(x, { get: (a, b) => (typeof require !== \"undefined\" ? require : a)[b] }) : x)(function(x) {\n\tif (typeof require !== \"undefined\") return require.apply(this, arguments);\n\tthrow Error(\"Calling `require` for \\\"\" + x + \"\\\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.\");\n});\n\nfunction _instanceof(left, right) {\n\tif (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) return !!right[Symbol.hasInstance](left);\n\telse return left instanceof right;\n}\nfunction _type_of(obj) {\n\t\"@swc/helpers - typeof\";\n\treturn obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nvar babelCalls = {\n\ttransform: 0,\n\ttransformSync: 0,\n\ttransformAsync: 0,\n\ttransformFromAstSync: 0,\n\tparse: 0,\n\tparseSync: 0\n};\nvi.mock(\"@babel/core\", async function(importOriginal) {\n\tvar actual = await importOriginal();\n\treturn {\n\t\t...actual,\n\t\ttransform: vi.fn(function() {\n\t\t\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n\t\t\tbabelCalls.transform++;\n\t\t\treturn actual.transform(...args);\n\t\t}),\n\t\ttransformSync: vi.fn(function() {\n\t\t\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n\t\t\tbabelCalls.transformSync++;\n\t\t\treturn actual.transformSync(...args);\n\t\t}),\n\t\ttransformAsync: vi.fn(function() {\n\t\t\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n\t\t\tbabelCalls.transformAsync++;\n\t\t\treturn actual.transformAsync(...args);\n\t\t}),\n\t\ttransformFromAstSync: vi.fn(function() {\n\t\t\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n\t\t\tbabelCalls.transformFromAstSync++;\n\t\t\treturn actual.transformFromAstSync(...args);\n\t\t}),\n\t\tparse: vi.fn(function() {\n\t\t\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n\t\t\tbabelCalls.parse++;\n\t\t\treturn actual.parse(...args);\n\t\t}),\n\t\tparseSync: vi.fn(function() {\n\t\t\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n\t\t\tbabelCalls.parseSync++;\n\t\t\treturn actual.parseSync(...args);\n\t\t})\n\t};\n});\nbeforeEach(function() {\n\tbabelCalls.transform = 0;\n\tbabelCalls.transformSync = 0;\n\tbabelCalls.transformAsync = 0;\n\tbabelCalls.transformFromAstSync = 0;\n\tbabelCalls.parse = 0;\n\tbabelCalls.parseSync = 0;\n});\nfunction assertZeroBabelCalls() {\n\texpect(babelCalls.transform).toBe(0);\n\texpect(babelCalls.transformSync).toBe(0);\n\texpect(babelCalls.transformAsync).toBe(0);\n\texpect(babelCalls.transformFromAstSync).toBe(0);\n\texpect(babelCalls.parse).toBe(0);\n\texpect(babelCalls.parseSync).toBe(0);\n}\ndescribe(\"metroNativeWorker\", function() {\n\tit.each([\n\t\t[\"data.json\", true],\n\t\t[\"data.json\", false],\n\t\t[\"data.js\", false]\n\t])(\"minifies %s with source maps enabled=%s without stale mappings\", async function(filename, sourceMap) {\n\t\tvar result = await transform({\n\t\t\tminifierPath: createRequire(import.meta.url).resolve(\"metro-minify-terser\"),\n\t\t\tminifierConfig: { sourceMap }\n\t\t}, \"/project\", filename, Buffer.from(filename.endsWith(\".json\") ? \"{\\\"answer\\\":42}\" : \"module.exports = { answer: 42 }\"), {\n\t\t\tdev: false,\n\t\t\tminify: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tvar module = { exports: {} };\n\t\tvar { code, map } = result.output[0].data;\n\t\tvm.runInNewContext(code, { __d(factory) {\n\t\t\tfactory({}, function() {}, function() {}, function() {}, module, module.exports, []);\n\t\t} });\n\t\texpect(module.exports.answer).toBe(42);\n\t\texpect(map.every(function(entry) {\n\t\t\treturn entry.length === 2;\n\t\t})).toBe(true);\n\t\tassertZeroBabelCalls();\n\t});\n\tit(\"minifies production modules with executable output and original source locations\", async function() {\n\t\tvar source = \"exports.answer = function answer(value) {\\n return value + 42\\n}\\n\";\n\t\tvar { code, map } = (await transform({\n\t\t\tminifierPath: createRequire(import.meta.url).resolve(\"metro-minify-terser\"),\n\t\t\tminifierConfig: { mangle: true }\n\t\t}, \"/project\", \"answer.js\", Buffer.from(source), {\n\t\t\tdev: false,\n\t\t\tminify: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t})).output[0].data;\n\t\tvar module = { exports: {} };\n\t\tvm.runInNewContext(code, { __d(factory) {\n\t\t\tfactory({}, function() {}, function() {}, function() {}, module, module.exports, []);\n\t\t} });\n\t\texpect(module.exports.answer(8)).toBe(50);\n\t\tvar msm = await import(\"metro-source-map\");\n\t\tvar fullMap = msm.fromRawMappings([{\n\t\t\tcode,\n\t\t\tpath: \"answer.js\",\n\t\t\tsource,\n\t\t\tmap\n\t\t}]).toMap();\n\t\tvar offset = code.indexOf(\"42\");\n\t\texpect(offset).toBeGreaterThan(-1);\n\t\tvar prefix = code.slice(0, offset).split(\"\\n\");\n\t\tvar position = new msm.Consumer(fullMap).originalPositionFor({\n\t\t\tline: prefix.length,\n\t\t\tcolumn: prefix.at(-1).length\n\t\t});\n\t\texpect(position.source).toBe(\"answer.js\");\n\t\texpect(position.line).toBe(2);\n\t\texpect(position.column).toBe(17);\n\t\tassertZeroBabelCalls();\n\t});\n\tit(\"extracts all dependencies with oxc-parser and zero Babel\", function() {\n\t\tvar deps = extractDependencies(`\n import React, { useState } from 'react'\n import * as RN from 'react-native'\n import './global.css'\n import type { UserType } from './user-types'\n export { Button } from './Button'\n export * from './icons'\n export type { ThemeType } from './theme-types'\n const helper = require('./helper')\n async function loadAsync() {\n const dyn = await import('./dynamic-module')\n }\n `, \"TestComponent.tsx\");\n\t\tassertZeroBabelCalls();\n\t\tvar names = deps.map(function(d) {\n\t\t\treturn d.name;\n\t\t});\n\t\texpect(names).toContain(\"react\");\n\t\texpect(names).toContain(\"react-native\");\n\t\texpect(names).toContain(\"./global.css\");\n\t\texpect(names).toContain(\"./Button\");\n\t\texpect(names).toContain(\"./icons\");\n\t\texpect(names).toContain(\"./helper\");\n\t\texpect(names).toContain(\"./dynamic-module\");\n\t\texpect(names).not.toContain(\"./user-types\");\n\t\texpect(names).not.toContain(\"./theme-types\");\n\t\tvar reactDep = deps.find(function(d) {\n\t\t\treturn d.name === \"react\";\n\t\t});\n\t\texpect(reactDep.data.isESMImportAtSource).toBe(true);\n\t\texpect(reactDep.data.asyncType).toBeNull();\n\t\texpect(reactDep.data.locs.length).toBeGreaterThan(0);\n\t\tvar loc = reactDep.data.locs[0];\n\t\texpect(loc.start.line).toBeGreaterThan(0);\n\t\texpect(loc.start.column).toBeGreaterThanOrEqual(0);\n\t\texpect(loc.end.line).toBeGreaterThanOrEqual(loc.start.line);\n\t\texpect(loc.end.column).toBeGreaterThanOrEqual(0);\n\t\tvar helperDep = deps.find(function(d) {\n\t\t\treturn d.name === \"./helper\";\n\t\t});\n\t\texpect(helperDep.data.isESMImportAtSource).toBe(false);\n\t\texpect(helperDep.data.asyncType).toBeNull();\n\t\texpect(deps.find(function(d) {\n\t\t\treturn d.name === \"./dynamic-module\";\n\t\t}).data.asyncType).toBe(\"async\");\n\t});\n\tit(\"marks requires inside a try block optional\", function() {\n\t\tvar code = `\n let worklets\n try {\n worklets = require('react-native-worklets-core')\n } catch {}\n const always = require('./always-there')\n `;\n\t\texpect(extractDependencies(code, \"setup.js\").find(function(d) {\n\t\t\treturn d.name === \"react-native-worklets-core\";\n\t\t}).data.isOptional).toBeUndefined();\n\t\tvar on = extractDependencies(code, \"setup.js\", { allowOptionalDependencies: true });\n\t\texpect(on.find(function(d) {\n\t\t\treturn d.name === \"react-native-worklets-core\";\n\t\t}).data.isOptional).toBe(true);\n\t\texpect(on.find(function(d) {\n\t\t\treturn d.name === \"./always-there\";\n\t\t}).data.isOptional).toBeUndefined();\n\t\texpect(extractDependencies(code, \"setup.js\", { allowOptionalDependencies: { exclude: [\"react-native-worklets-core\"] } }).find(function(d) {\n\t\t\treturn d.name === \"react-native-worklets-core\";\n\t\t}).data.isOptional).toBeUndefined();\n\t});\n\tit(\"wraps modules in Metro CommonJS format with and without moduleId\", function() {\n\t\tvar code = \"exports.val = 123;\";\n\t\tvar wrappedWithoutId = wrapModule(code);\n\t\texpect(wrappedWithoutId).toContain(\"__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {\");\n\t\texpect(wrappedWithoutId).toContain(\"var require = _$$_REQUIRE;\");\n\t\texpect(wrappedWithoutId).toContain(\"exports.val = 123;\");\n\t\texpect(wrappedWithoutId.endsWith(\");\")).toBe(true);\n\t\texpect(wrapModule(code, {\n\t\t\tmoduleId: 99,\n\t\t\tdependencyIds: [\n\t\t\t\t1,\n\t\t\t\t2,\n\t\t\t\t3\n\t\t\t]\n\t\t})).toContain(\", 99, [1,2,3]);\");\n\t});\n\tit(\"transforms TSX with React JSX, Hermes lowering, and ZERO Babel\", async function() {\n\t\tvar result = await transform({}, \"/project\", \"Greeter.tsx\", Buffer.from(`\n import React from 'react'\n import { View, Text } from 'react-native'\n const helper = require('./helper')\n\n export class Greeter extends React.Component {\n greeting = 'Hello from Native'\n\n async fetchGreeting() {\n return this.greeting\n }\n\n render() {\n return (\n <View testID=\"greeter\">\n <Text>{this.greeting}</Text>\n </View>\n )\n }\n }\n `, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(result.output).toHaveLength(1);\n\t\tvar output = result.output[0];\n\t\texpect(output.type).toBe(\"js/module\");\n\t\texpect(output.data.lineCount).toBeGreaterThan(0);\n\t\texpect(output.data.map.length).toBeGreaterThan(0);\n\t\tvar code = output.data.code;\n\t\texpect(code).toContain(\"__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {\");\n\t\texpect(code).toContain(\"var require = _$$_REQUIRE;\");\n\t\texpect(code).not.toContain(\"<View\");\n\t\texpect(code).not.toContain(\"<Text\");\n\t\texpect(code).toContain(\"this.greeting = \\\"Hello from Native\\\"\");\n\t\tvar depNames = result.dependencies.map(function(d) {\n\t\t\treturn d.name;\n\t\t});\n\t\texpect(depNames).toContain(\"react\");\n\t\texpect(depNames).toContain(\"react-native\");\n\t\texpect(depNames).toContain(\"./helper\");\n\t\texpect(depNames).toContain(\"react/jsx-dev-runtime\");\n\t});\n\tit(\"lowers async generators, including the method shorthand Hermes also rejects\", async function() {\n\t\tvar sources = {\n\t\t\t\"cursor.ts\": `\n export class Cursor {\n async *rows() {\n yield await Promise.resolve(1)\n }\n }\n `,\n\t\t\t\"stream.ts\": `\n export async function* stream() {\n yield 1\n }\n `,\n\t\t\t\"drain.ts\": `\n export async function drain(src) {\n for await (const x of src) {\n console.log(x)\n }\n }\n `\n\t\t};\n\t\tvar _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n\t\ttry {\n\t\t\tfor (var _iterator = Object.entries(sources)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\t\tvar [filename, sourceCode] = _step.value;\n\t\t\t\tvar result = await transform({}, \"/project\", filename, Buffer.from(sourceCode, \"utf8\"), {\n\t\t\t\t\tdev: true,\n\t\t\t\t\tplatform: \"ios\",\n\t\t\t\t\ttype: \"module\"\n\t\t\t\t});\n\t\t\t\tassertZeroBabelCalls();\n\t\t\t\tvar code = result.output[0].data.code;\n\t\t\t\texpect(code, filename).not.toMatch(/\\basync\\s+function\\s*\\*/);\n\t\t\t\texpect(code, filename).not.toMatch(/\\basync\\s*\\*\\s*[\\w$[]/);\n\t\t\t\texpect(code, filename).not.toMatch(/\\bfor\\s+await\\s*\\(/);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t_didIteratorError = true;\n\t\t\t_iteratorError = err;\n\t\t} finally {\n\t\t\ttry {\n\t\t\t\tif (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();\n\t\t\t} finally {\n\t\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t\t}\n\t\t}\n\t});\n\tit(\"handles JSON files without Babel\", async function() {\n\t\tvar jsonSource = JSON.stringify({\n\t\t\tname: \"my-package\",\n\t\t\tversion: \"1.0.0\"\n\t\t});\n\t\tvar result = await transform({}, \"/project\", \"package.json\", Buffer.from(jsonSource, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(result.dependencies).toEqual([]);\n\t\texpect(result.output).toHaveLength(1);\n\t\texpect(result.output[0].type).toBe(\"js/module\");\n\t\texpect(result.output[0].data.code).toContain(\"module.exports = {\\\"name\\\":\\\"my-package\\\",\\\"version\\\":\\\"1.0.0\\\"}\");\n\t\texpect(result.output[0].data.code).toContain(\"__d(function (global, require\");\n\t});\n\tit(\"handles Asset files without Babel\", async function() {\n\t\tvar result = await transform({\n\t\t\tassetRegistryPath: \"react-native/Libraries/Image/AssetRegistry\",\n\t\t\tpublicPath: \"/assets\"\n\t\t}, \"/project\", \"logo.png\", Buffer.from(\"fake-png-binary-data\", \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"asset\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(result.output[0].type).toBe(\"js/module/asset\");\n\t\texpect(result.output[0].data.code).toContain(\"registerAsset(\");\n\t\texpect(result.output[0].data.code).toContain(\"__d(function\");\n\t\texpect(result.dependencies.map(function(d) {\n\t\t\treturn d.name;\n\t\t})).toContain(\"react-native/Libraries/Image/AssetRegistry\");\n\t});\n\tit(\"handles Flow files by stripping types without Babel\", async function() {\n\t\tvar result = await transform({}, \"/project\", \"math.js\", Buffer.from(`\n // @flow\n function add(a: number, b: number): number {\n return a + b;\n }\n export default add;\n `, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(result.output[0].data.code).not.toContain(\": number\");\n\t\texpect(result.output[0].data.code).toContain(\"function add(a, b)\");\n\t});\n\tit(\"generates a deterministic cache key without Babel\", function() {\n\t\tvar key1 = getCacheKey({\n\t\t\tglobalPrefix: \"__one_\",\n\t\t\tminifierPath: \"terser\"\n\t\t}, { projectRoot: \"/app\" });\n\t\tvar key2 = getCacheKey({\n\t\t\tglobalPrefix: \"__one_\",\n\t\t\tminifierPath: \"terser\"\n\t\t}, { projectRoot: \"/app\" });\n\t\tvar key3 = getCacheKey({ globalPrefix: \"__other_\" }, { projectRoot: \"/app\" });\n\t\tassertZeroBabelCalls();\n\t\texpect(key1).toBe(key2);\n\t\texpect(key1).not.toBe(key3);\n\t\texpect(typeof key1 === \"undefined\" ? \"undefined\" : _type_of(key1)).toBe(\"string\");\n\t\texpect(key1.length).toBe(64);\n\t});\n\tit(\"correctly sets transformerPath in buildMetroConfigInputFromViteConfig when active\", async function() {\n\t\tvar mockViteConfig = { root: process.cwd() };\n\t\tdelete process.env.ONE_METRO_NATIVE_TRANSFORMS;\n\t\tvar configDefault = await buildMetroConfigInputFromViteConfig(mockViteConfig, {});\n\t\texpect(configDefault.defaultConfig.transformerPath).toContain(\"metroNativeWorker\");\n\t\texpect(configDefault.defaultConfig.transformer.transformerPath).toBeUndefined();\n\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, { nativeTransforms: false })).defaultConfig.transformerPath).not.toContain(\"metroNativeWorker\");\n\t\tprocess.env.ONE_METRO_NATIVE_TRANSFORMS = \"0\";\n\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, {})).defaultConfig.transformerPath).not.toContain(\"metroNativeWorker\");\n\t\tprocess.env.ONE_METRO_NATIVE_TRANSFORMS = \"1\";\n\t\texpect((await buildMetroConfigInputFromViteConfig(mockViteConfig, { nativeTransforms: false })).defaultConfig.transformerPath).toContain(\"metroNativeWorker\");\n\t\tdelete process.env.ONE_METRO_NATIVE_TRANSFORMS;\n\t});\n\tit(\"excludes volatile compiler caches from Metro without hiding package output\", async function() {\n\t\tvar blockList = (await buildMetroConfigInputFromViteConfig({ root: process.cwd() }, { watchman: false })).defaultConfig.resolver.blockList;\n\t\tvar isBlocked = function(file) {\n\t\t\treturn blockList.some(function(pattern) {\n\t\t\t\treturn pattern.test(file);\n\t\t\t});\n\t\t};\n\t\texpect(isBlocked(\"/home/runner/work/one/one/tests/test-app-cases/node_modules/.vxrn/compiler-cache\")).toBe(true);\n\t\texpect(isBlocked(\"C:\\\\workspace\\\\tests\\\\test-app-cases\\\\node_modules\\\\.vxrn\\\\compiler-cache\")).toBe(true);\n\t\texpect(isBlocked(\"/home/runner/work/one/one/packages/one/dist/esm/index.mjs\")).toBe(false);\n\t});\n\tit(\"transforms and executes a real 2-module Metro bundle through metro-runtime require polyfill\", async function() {\n\t\tvar depSource = \"exports.value = 42;\";\n\t\tvar aSource = \"const dep = require(\\\"./dep\\\"); module.exports = { doubled: dep.value * 2 };\";\n\t\tvar depRes = await transform({}, \"/project\", \"dep.js\", Buffer.from(depSource, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 2,\n\t\t\tdependencyIds: []\n\t\t});\n\t\tvar aRes = await transform({}, \"/project\", \"a.js\", Buffer.from(aSource, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 1,\n\t\t\tdependencyIds: [2]\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(aRes.dependencies).toHaveLength(1);\n\t\texpect(aRes.dependencies[0].name).toBe(\"./dep\");\n\t\tvar aEmittedCode = aRes.output[0].data.code;\n\t\texpect(aEmittedCode).toContain(\"require(_dependencyMap[0], \\\"./dep\\\")\");\n\t\tvar polyfillPath = __require.resolve(\"metro-runtime/src/polyfills/require.js\");\n\t\tvar polyfillCode = fs.readFileSync(polyfillPath, \"utf8\");\n\t\tvar contextObj = {\n\t\t\t__DEV__: false,\n\t\t\t__METRO_GLOBAL_PREFIX__: \"\",\n\t\t\tconsole\n\t\t};\n\t\tcontextObj.global = contextObj;\n\t\tvm.createContext(contextObj);\n\t\tvm.runInContext(polyfillCode, contextObj);\n\t\tvm.runInContext(depRes.output[0].data.code, contextObj);\n\t\tvm.runInContext(aEmittedCode, contextObj);\n\t\texpect(vm.runInContext(\"global.__r(1)\", contextObj)).toEqual({ doubled: 84 });\n\t});\n\tit(\"transforms and executes a 2-module Metro bundle with ESM imports in dev mode\", async function() {\n\t\tvar depSource = \"export const greeting = \\\"Hello Metro Native\\\";\";\n\t\tvar aSource = \"import { greeting } from \\\"./dep\\\"; export const message = greeting.toUpperCase();\";\n\t\tvar depRes = await transform({}, \"/project\", \"dep.js\", Buffer.from(depSource, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 2,\n\t\t\tdependencyIds: []\n\t\t});\n\t\tvar aRes = await transform({}, \"/project\", \"a.js\", Buffer.from(aSource, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 1,\n\t\t\tdependencyIds: [2]\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\tvar polyfillPath = __require.resolve(\"metro-runtime/src/polyfills/require.js\");\n\t\tvar polyfillCode = fs.readFileSync(polyfillPath, \"utf8\");\n\t\tvar contextObj = {\n\t\t\t__DEV__: true,\n\t\t\t__METRO_GLOBAL_PREFIX__: \"\",\n\t\t\tconsole\n\t\t};\n\t\tcontextObj.global = contextObj;\n\t\tvm.createContext(contextObj);\n\t\tvm.runInContext(polyfillCode, contextObj);\n\t\tvm.runInContext(depRes.output[0].data.code, contextObj);\n\t\tvm.runInContext(aRes.output[0].data.code, contextObj);\n\t\texpect(vm.runInContext(\"global.__r(1)\", contextObj).message).toBe(\"HELLO METRO NATIVE\");\n\t});\n\tit(\"respects lexical scope shadowing for require calls (Astra probe)\", async function() {\n\t\tvar res = await transform({}, \"/project\", \"shadowed.js\", Buffer.from(\"function f(require){return require(\\\"./local\\\")}; module.exports=f(x=>x);\", \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 1,\n\t\t\tdependencyIds: []\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(res.dependencies).toHaveLength(0);\n\t\tvar emitted = res.output[0].data.code;\n\t\texpect(emitted).not.toContain(\"_dependencyMap[0]\");\n\t\texpect(emitted).toMatch(/require\\d*\\(\"\\.\\/local\"\\)/);\n\t\tvar polyfillPath = __require.resolve(\"metro-runtime/src/polyfills/require.js\");\n\t\tvar polyfillCode = fs.readFileSync(polyfillPath, \"utf8\");\n\t\tvar contextObj = {\n\t\t\t__DEV__: false,\n\t\t\t__METRO_GLOBAL_PREFIX__: \"\",\n\t\t\tconsole\n\t\t};\n\t\tcontextObj.global = contextObj;\n\t\tvm.createContext(contextObj);\n\t\tvm.runInContext(polyfillCode, contextObj);\n\t\tvm.runInContext(emitted, contextObj);\n\t\texpect(vm.runInContext(\"global.__r(1)\", contextObj)).toBe(\"./local\");\n\t});\n\tit(\"preserves distinct indexed identity for duplicate and mixed sync/async dependencies\", async function() {\n\t\tvar res = await transform({}, \"/project\", \"index.js\", Buffer.from(`\n const a = require('./dep');\n const b = require('./dep');\n async function load() {\n const c = await import('./dep');\n }\n `, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(res.dependencies.map(function(d) {\n\t\t\treturn d.name;\n\t\t})).toContain(\"./dep\");\n\t\tvar syncDep = res.dependencies.find(function(d) {\n\t\t\treturn d.name === \"./dep\" && d.data.asyncType === null;\n\t\t});\n\t\tvar asyncDep = res.dependencies.find(function(d) {\n\t\t\treturn d.name === \"./dep\" && d.data.asyncType === \"async\";\n\t\t});\n\t\texpect(syncDep).toBeDefined();\n\t\texpect(asyncDep).toBeDefined();\n\t\texpect(syncDep.data.index).not.toEqual(asyncDep.data.index);\n\t\tvar emitted = res.output[0].data.code;\n\t\tvar syncIndex = syncDep.data.index;\n\t\texpect(emitted).toContain(`require(_dependencyMap[${syncIndex}], \"./dep\")`);\n\t});\n\tit(\"conforms to Metro map ABI with raw mapping segment tuples and accurate symbolication\", async function() {\n\t\tvar res = await transform({}, \"/project\", \"math.ts\", Buffer.from(`\n export function add(a: number, b: number): number {\n return a + b;\n }\n `, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\tvar map = res.output[0].data.map;\n\t\texpect(Array.isArray(map)).toBe(true);\n\t\texpect(map.length).toBeGreaterThan(0);\n\t\tvar _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n\t\ttry {\n\t\t\tfor (var _iterator = map[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\t\tvar tuple = _step.value;\n\t\t\t\texpect(Array.isArray(tuple)).toBe(true);\n\t\t\t\texpect(_type_of(tuple[0])).toBe(\"number\");\n\t\t\t\texpect(_type_of(tuple[1])).toBe(\"number\");\n\t\t\t\texpect(tuple).not.toHaveProperty(\"version\");\n\t\t\t\texpect(tuple).not.toHaveProperty(\"mappings\");\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t_didIteratorError = true;\n\t\t\t_iteratorError = err;\n\t\t} finally {\n\t\t\ttry {\n\t\t\t\tif (!_iteratorNormalCompletion && _iterator.return != null) _iterator.return();\n\t\t\t} finally {\n\t\t\t\tif (_didIteratorError) throw _iteratorError;\n\t\t\t}\n\t\t}\n\t\tvar msm = await import(\"metro-source-map\");\n\t\tvar fullMap = msm.fromRawMappings([{\n\t\t\tcode: res.output[0].data.code,\n\t\t\tsource: \"math.ts\",\n\t\t\tmap\n\t\t}]).toMap();\n\t\tvar consumer = new msm.Consumer(fullMap);\n\t\tvar addLineIndex = res.output[0].data.code.split(\"\\n\").findIndex(function(l) {\n\t\t\treturn l.includes(\"function add\");\n\t\t});\n\t\texpect(addLineIndex).toBeGreaterThan(0);\n\t\texpect(consumer.originalPositionFor({\n\t\t\tline: addLineIndex + 1,\n\t\t\tcolumn: 16\n\t\t}).line).toBe(2);\n\t});\n\tit(\"models JS hoisting in ScopeTracker for functions and vars (Astra probe)\", async function() {\n\t\tvar res = await transform({}, \"/project\", \"hoisted.js\", Buffer.from(\"function f(){const x=require(\\\"./local\\\"); function require(x){return x}; return x} module.exports=f();\", \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 1,\n\t\t\tdependencyIds: []\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(res.dependencies).toHaveLength(0);\n\t\tvar emitted = res.output[0].data.code;\n\t\texpect(emitted).not.toContain(\"_dependencyMap[0]\");\n\t\texpect(emitted).toMatch(/require\\d*\\(\"\\.\\/local\"\\)/);\n\t\tvar polyfillPath = __require.resolve(\"metro-runtime/src/polyfills/require.js\");\n\t\tvar polyfillCode = fs.readFileSync(polyfillPath, \"utf8\");\n\t\tvar contextObj = {\n\t\t\t__DEV__: false,\n\t\t\t__METRO_GLOBAL_PREFIX__: \"\",\n\t\t\tconsole\n\t\t};\n\t\tcontextObj.global = contextObj;\n\t\tvm.createContext(contextObj);\n\t\tvm.runInContext(polyfillCode, contextObj);\n\t\tvm.runInContext(emitted, contextObj);\n\t\texpect(vm.runInContext(\"global.__r(1)\", contextObj)).toBe(\"./local\");\n\t});\n\tit(\"rewrites dynamic import to Metro asyncRequire and executes promise resolution in dev and release\", async function() {\n\t\tvar depSource = \"exports.message = \\\"hello dynamic\\\";\";\n\t\tvar mainSource = \"module.exports = () => import(\\\"./dep\\\");\";\n\t\tvar depRes = await transform({}, \"/project\", \"dep.js\", Buffer.from(depSource, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 2,\n\t\t\tdependencyIds: []\n\t\t});\n\t\tvar mainRes = await transform({}, \"/project\", \"main.js\", Buffer.from(mainSource, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tmoduleId: 0,\n\t\t\tdependencyIds: [2, 1]\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\tvar depNames = mainRes.dependencies.map(function(d) {\n\t\t\treturn d.name;\n\t\t});\n\t\texpect(depNames).toContain(\"./dep\");\n\t\texpect(depNames).toContain(\"metro-runtime/src/modules/asyncRequire\");\n\t\texpect(mainRes.dependencies.find(function(d) {\n\t\t\treturn d.name === \"./dep\";\n\t\t}).data.asyncType).toBe(\"async\");\n\t\tvar emittedMain = mainRes.output[0].data.code;\n\t\texpect(emittedMain).not.toContain(\"import(\\\"./dep\\\")\");\n\t\texpect(emittedMain).toContain(\"require(_dependencyMap[1], \\\"metro-runtime/src/modules/asyncRequire\\\")(_dependencyMap[0], _dependencyMap.paths, \\\"./dep\\\")\");\n\t\tvar polyfillPath = __require.resolve(\"metro-runtime/src/polyfills/require.js\");\n\t\tvar polyfillCode = fs.readFileSync(polyfillPath, \"utf8\");\n\t\tvar asyncRequirePath = __require.resolve(\"metro-runtime/src/modules/asyncRequire.js\");\n\t\tvar wrappedAsyncRequire = wrapModule(fs.readFileSync(asyncRequirePath, \"utf8\"), {\n\t\t\tmoduleId: 1,\n\t\t\tdependencyIds: []\n\t\t});\n\t\tfor (var _i = 0, _iter = [true, false]; _i < _iter.length; _i++) {\n\t\t\tvar contextObj = {\n\t\t\t\t__DEV__: _iter[_i],\n\t\t\t\t__METRO_GLOBAL_PREFIX__: \"\",\n\t\t\t\tconsole\n\t\t\t};\n\t\t\tcontextObj.global = contextObj;\n\t\t\tvm.createContext(contextObj);\n\t\t\tvm.runInContext(polyfillCode, contextObj);\n\t\t\tvm.runInContext(wrappedAsyncRequire, contextObj);\n\t\t\tvm.runInContext(depRes.output[0].data.code, contextObj);\n\t\t\tvm.runInContext(emittedMain, contextObj);\n\t\t\tvar mainFn = vm.runInContext(\"global.__r(0)\", contextObj);\n\t\t\texpect(typeof mainFn === \"undefined\" ? \"undefined\" : _type_of(mainFn)).toBe(\"function\");\n\t\t\tvar promise = mainFn();\n\t\t\texpect(_instanceof(promise, Promise) || promise && typeof promise.then === \"function\").toBe(true);\n\t\t\tvar resolved = await promise;\n\t\t\texpect(resolved.message).toBe(\"hello dynamic\");\n\t\t\texpect(resolved.default.message).toBe(\"hello dynamic\");\n\t\t}\n\t});\n\tit(\"preserves accurate sourcemap for tokens after rewritten require calls on the same line\", async function() {\n\t\tvar sourceCode = \"const a = require(\\\"./dep\\\"), b = 42;\";\n\t\tvar resWrapped = await transform({}, \"/project\", \"app.js\", Buffer.from(sourceCode, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\tvar msm = await import(\"metro-source-map\");\n\t\tvar fullMapWrapped = msm.fromRawMappings([{\n\t\t\tcode: resWrapped.output[0].data.code,\n\t\t\tsource: \"app.js\",\n\t\t\tmap: resWrapped.output[0].data.map\n\t\t}]).toMap();\n\t\tvar consumerWrapped = new msm.Consumer(fullMapWrapped);\n\t\tvar linesWrapped = resWrapped.output[0].data.code.split(\"\\n\");\n\t\tvar lineIndexWrapped = linesWrapped.findIndex(function(l) {\n\t\t\treturn l.includes(\"b = 42\");\n\t\t});\n\t\texpect(lineIndexWrapped).toBeGreaterThanOrEqual(0);\n\t\tvar generatedColWrapped = linesWrapped[lineIndexWrapped].indexOf(\"b = 42\");\n\t\texpect(generatedColWrapped).toBeGreaterThan(0);\n\t\tvar posWrapped = consumerWrapped.originalPositionFor({\n\t\t\tline: lineIndexWrapped + 1,\n\t\t\tcolumn: generatedColWrapped\n\t\t});\n\t\texpect(posWrapped.line).toBe(1);\n\t\texpect(posWrapped.column).toBe(28);\n\t\texpect(sourceCode.slice(Number(posWrapped.column))).toContain(\"b = 42;\");\n\t\tvar resUnwrapped = await transform({ unstable_disableModuleWrapping: true }, \"/project\", \"app.js\", Buffer.from(sourceCode, \"utf8\"), {\n\t\t\tdev: false,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tvar fullMapUnwrapped = msm.fromRawMappings([{\n\t\t\tcode: resUnwrapped.output[0].data.code,\n\t\t\tsource: \"app.js\",\n\t\t\tmap: resUnwrapped.output[0].data.map\n\t\t}]).toMap();\n\t\tvar consumerUnwrapped = new msm.Consumer(fullMapUnwrapped);\n\t\tvar linesUnwrapped = resUnwrapped.output[0].data.code.split(\"\\n\");\n\t\tvar lineIndexUnwrapped = linesUnwrapped.findIndex(function(l) {\n\t\t\treturn l.includes(\"b = 42\");\n\t\t});\n\t\texpect(lineIndexUnwrapped).toBeGreaterThanOrEqual(0);\n\t\tvar generatedColUnwrapped = linesUnwrapped[lineIndexUnwrapped].indexOf(\"b = 42\");\n\t\tvar posUnwrapped = consumerUnwrapped.originalPositionFor({\n\t\t\tline: lineIndexUnwrapped + 1,\n\t\t\tcolumn: generatedColUnwrapped\n\t\t});\n\t\texpect(posUnwrapped.line).toBe(1);\n\t\texpect(posUnwrapped.column).toBe(28);\n\t});\n\tit(\"routes a require.context whose directory is held in a variable through the dependency map\", async function() {\n\t\tvar result = await transform({}, \"/project\", \"entry.js\", Buffer.from(`\n const routeRoot = './app'\n export const ctx = require.context(routeRoot, true, /\\\\.tsx$/)\n `, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t});\n\t\tvar contextDep = result.dependencies.find(function(d) {\n\t\t\treturn d.data.contextParams != null;\n\t\t});\n\t\texpect(contextDep === null || contextDep === void 0 ? void 0 : contextDep.name).toBe(\"./app\");\n\t\tvar calls = [];\n\t\tvar ctx;\n\t\tvm.runInNewContext(result.output[0].data.code, { __d: function(factory) {\n\t\t\tvar module = { exports: {} };\n\t\t\tvar req = function() {\n\t\t\t\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];\n\t\t\t\tcalls.push(args);\n\t\t\t\treturn { keys: function() {\n\t\t\t\t\treturn [];\n\t\t\t\t} };\n\t\t\t};\n\t\t\treq.context = function() {\n\t\t\t\tthrow new Error(\"fallbackRequireContext reached\");\n\t\t\t};\n\t\t\tfactory({}, req, function() {\n\t\t\t\treturn {};\n\t\t\t}, function() {\n\t\t\t\treturn {};\n\t\t\t}, module, module.exports, [\"./app\"]);\n\t\t\tctx = module.exports.ctx;\n\t\t} });\n\t\texpect(ctx).toBeDefined();\n\t\texpect(calls[0][1]).toBe(\"./app\");\n\t});\n\tit(\"gives loop bodies per-iteration bindings that survive a runtime without them\", async function() {\n\t\tvar asHermesWouldSeeIt = (await transform({}, \"/project\", \"loops.ts\", Buffer.from(`\n export function collect() {\n const out = []\n for (let i = 0; i < 2; i++) out.push(() => i)\n for (const label of ['a', 'b']) out.push(() => label)\n for (const key in { x: 1, y: 2 }) out.push(() => key)\n return out.map((f) => f())\n }\n `, \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\"\n\t\t})).output[0].data.code.replace(/\\bfor\\s*\\(\\s*(let|const)\\b/g, \"for (var\");\n\t\tvar collect;\n\t\tvm.runInNewContext(asHermesWouldSeeIt, { __d: function(factory) {\n\t\t\tvar module = { exports: {} };\n\t\t\tfactory({}, function() {\n\t\t\t\treturn {};\n\t\t\t}, function() {\n\t\t\t\treturn {};\n\t\t\t}, function() {\n\t\t\t\treturn {};\n\t\t\t}, module, module.exports, []);\n\t\t\tcollect = module.exports.collect;\n\t\t} });\n\t\texpect(collect()).toEqual([\n\t\t\t0,\n\t\t\t1,\n\t\t\t\"a\",\n\t\t\t\"b\",\n\t\t\t\"x\",\n\t\t\t\"y\"\n\t\t]);\n\t});\n});\ndescribe(\"one native transform ports\", function() {\n\tit(\"inlines process.env.ONE_SERVER_URL so a native bundle can find its loaders\", function() {\n\t\tprocess.env.ONE_SERVER_URL = \"https://example.test\";\n\t\ttry {\n\t\t\texpect(applyInlineEnvVars(\"export const url = process.env.ONE_SERVER_URL;\", \"loader.ts\", false)).toBe(\"export const url = \\\"https://example.test\\\";\");\n\t\t} finally {\n\t\t\tprocess.env.ONE_SERVER_URL = void 0;\n\t\t}\n\t});\n\tit(\"leaves ONE_SERVER_URL alone when it is only a string\", function() {\n\t\tvar src = \"export const key = \\\"process.env.ONE_SERVER_URL\\\";\";\n\t\texpect(applyInlineEnvVars(src, \"a.ts\", false)).toBe(src);\n\t});\n\tit(\"inlines import.meta.env reads, which oxc otherwise lowers to an empty object\", function() {\n\t\tvar out = applyInlineEnvVars(`export const key = import.meta.env.VITE_POSTHOG_API_KEY;\nexport const target = import.meta.env?.TAMAGUI_TARGET;\nexport const missing = import.meta.env.NOT_SET;\nexport const all = { ...import.meta.env };`, \"env.ts\", true, {\n\t\t\tDEV: false,\n\t\t\tVITE_POSTHOG_API_KEY: \"pk_live\",\n\t\t\tTAMAGUI_TARGET: \"native\"\n\t\t});\n\t\texpect(out).toContain(\"export const key = \\\"pk_live\\\";\");\n\t\texpect(out).toContain(\"export const target = \\\"native\\\";\");\n\t\texpect(out).toContain(\"export const missing = undefined;\");\n\t\texpect(out).toContain(\"\\\"VITE_POSTHOG_API_KEY\\\":\\\"pk_live\\\"\");\n\t\texpect(out).not.toContain(\"import.meta\");\n\t});\n\tit(\"inlines process.env keys the vite env map defines\", function() {\n\t\tvar out = applyInlineEnvVars(\"export const t = process.env.TAMAGUI_TARGET; export const u = process.env.UNKNOWN_THING;\", \"env.ts\", true, { TAMAGUI_TARGET: \"native\" });\n\t\texpect(out).toContain(\"export const t = \\\"native\\\";\");\n\t\texpect(out).toContain(\"process.env.UNKNOWN_THING\");\n\t});\n\tit(\"never rewrites an env read in an assignment target\", function() {\n\t\tvar src = \"process.env.VITE_ENVIRONMENT = \\\"ssr\\\";\";\n\t\texpect(applyInlineEnvVars(src, \"a.ts\", true, { VITE_ENVIRONMENT: \"ios\" })).toBe(src);\n\t});\n\tit(\"folds branches the inlining made constant so metro never resolves dead imports\", function() {\n\t\tvar out = applyInlineEnvVars(`if (import.meta.env.SSR) { require('./server-only-thing') } else { load(import.meta.env.API) }`, \"branch.ts\", true, {\n\t\t\tSSR: false,\n\t\t\tAPI: \"https://api.test\"\n\t\t});\n\t\texpect(out).not.toContain(\"server-only-thing\");\n\t\texpect(out).toContain(\"load(\\\"https://api.test\\\")\");\n\t});\n\tit(\"folds a ternary and keeps a branch it cannot resolve\", function() {\n\t\texpect(applyInlineEnvVars(\"const a = import.meta.env.DEV ? x : y;\", \"a.ts\", true, { DEV: false })).toContain(\"const a = y;\");\n\t\tvar dynamic = \"const a = flag ? x : y;\";\n\t\texpect(applyInlineEnvVars(dynamic, \"a.ts\", true, { DEV: false })).toBe(dynamic);\n\t});\n\tit(\"runs the user native transforms that stand in for their babel plugins\", async function() {\n\t\tvar result = await transform({}, import.meta.dirname, \"ota.ts\", Buffer.from(\"export const id = __EXAMPLE_BUILD_ID; export const from = __EXAMPLE_FILENAME;\", \"utf8\"), {\n\t\t\tdev: true,\n\t\t\tplatform: \"ios\",\n\t\t\ttype: \"module\",\n\t\t\tcustomTransformOptions: { vite: { nativeTransformModules: [\"./__fixtures__/exampleNativeTransform.cjs\"] } }\n\t\t});\n\t\tassertZeroBabelCalls();\n\t\texpect(result.output[0].data.code).toContain(\"\\\"ios-build\\\"\");\n\t\texpect(result.output[0].data.code).not.toContain(\"__EXAMPLE_BUILD_ID\");\n\t\texpect(result.output[0].data.code).toContain(JSON.stringify(path.join(import.meta.dirname, \"ota.ts\")));\n\t});\n\tit(\"refuses to build when a user babel plugin has no native port\", function() {\n\t\tvar withPlugins = function(plugins) {\n\t\t\treturn { customTransformOptions: { vite: { babelConfig: { plugins } } } };\n\t\t};\n\t\texpect(function() {\n\t\t\treturn assertNoUnportedBabelPlugins(withPlugins([\n\t\t\t\t[\"@vxrn/vite-plugin-metro/babel-plugins/import-meta-env-plugin\", { env: {} }],\n\t\t\t\t\"one/babel-plugin-environment-guard\",\n\t\t\t\t\"hot-updater/babel-plugin\"\n\t\t\t]));\n\t\t}).toThrow(/hot-updater\\/babel-plugin/);\n\t\texpect(function() {\n\t\t\treturn assertNoUnportedBabelPlugins(withPlugins([\n\t\t\t\t[\"@vxrn/vite-plugin-metro/babel-plugins/import-meta-env-plugin\", { env: {} }],\n\t\t\t\t\"one/babel-plugin-environment-guard\",\n\t\t\t\t[\"one/babel-plugin-remove-server-code\", { routerRoot: \"app\" }],\n\t\t\t\t[\"babel-plugin-module-resolver\", { alias: {} }],\n\t\t\t\t[\"one/babel-plugin-one-router-metro\", {}],\n\t\t\t\t\"one/babel-plugin-inline-one-server-url\",\n\t\t\t\t\"babel-plugin-react-compiler\",\n\t\t\t\t\"react-native-reanimated/plugin\"\n\t\t\t]));\n\t\t}).not.toThrow();\n\t});\n\tit(\"turns a server-only import into a throw and drops native-only\", function() {\n\t\tvar out = applyEnvironmentGuard(`import 'native-only'\n\nexport const a = 1`, \"route.ts\");\n\t\texpect(out).not.toContain(\"native-only\");\n\t\texpect(out).toContain(\"server-only cannot be imported in a native environment\");\n\t\tvar parsed = parseSync(\"route.ts\", out, { lang: \"ts\" });\n\t\texpect(parsed.errors).toEqual([]);\n\t\texpect(parsed.program.body.map(function(n) {\n\t\t\treturn n.type;\n\t\t})).toContain(\"ThrowStatement\");\n\t});\n\tit(\"reads the router root off one's remove-server-code plugin entry\", function() {\n\t\texpect(getRemoveServerCodeRouterRoot({ customTransformOptions: { vite: { babelConfig: { plugins: [[\"one/babel-plugin-remove-server-code\", { routerRoot: \"src/app\" }]] } } } })).toBe(\"src/app\");\n\t\texpect(getRemoveServerCodeRouterRoot({ customTransformOptions: {} })).toBe(void 0);\n\t});\n});\n\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vxrn/vite-plugin-metro",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-beta.33.1",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/cjs",
|
|
@@ -73,11 +73,10 @@
|
|
|
73
73
|
"@babel/helper-plugin-utils": "^7.27.1",
|
|
74
74
|
"@jridgewell/remapping": "^2.3.0",
|
|
75
75
|
"@jridgewell/trace-mapping": "^0.3.25",
|
|
76
|
-
"@babel/types": "^7.28.5",
|
|
77
76
|
"@oxc-project/runtime": "^0.112.0",
|
|
78
|
-
"@vxrn/compiler": "
|
|
79
|
-
"@vxrn/debug": "
|
|
80
|
-
"@vxrn/utils": "
|
|
77
|
+
"@vxrn/compiler": "2.0.0-beta.33.1",
|
|
78
|
+
"@vxrn/debug": "2.0.0-beta.33.1",
|
|
79
|
+
"@vxrn/utils": "2.0.0-beta.33.1",
|
|
81
80
|
"babel-preset-expo": "~57.0.5",
|
|
82
81
|
"esbuild": "^0.25.12",
|
|
83
82
|
"fast-flow-transform": "^0.0.3",
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
+
import { types as t, type PluginObj } from '@babel/core'
|
|
1
2
|
import { declare } from '@babel/helper-plugin-utils'
|
|
2
|
-
import * as t from '@babel/types'
|
|
3
|
-
import type { PluginObj } from '@babel/core'
|
|
4
3
|
import { getPlatformEnv, metroPlatformToViteEnvironment } from '../env/platformEnv'
|
|
5
4
|
|
|
6
5
|
type PluginOptions = {
|
|
@@ -21,6 +21,15 @@ const WATCHMAN_PROBE_TIMEOUT_MS = 2000
|
|
|
21
21
|
const watchmanResponsivePromises = new Map<string, Promise<boolean>>()
|
|
22
22
|
let didWarnAboutWatchmanFallback = false
|
|
23
23
|
const rootIndexBundleRequestPattern = /^(https?:\/\/[^/]+)?\/index\.bundle(?=$|[?#])/
|
|
24
|
+
// keep app build output and volatile caches out of Metro's fallback watcher.
|
|
25
|
+
// package dist directories remain visible because Metro resolves modules from them.
|
|
26
|
+
const metroWatchExclusions = [
|
|
27
|
+
/[/\\]dist[/\\](?:static|server)(?:[/\\]|$)/,
|
|
28
|
+
/[/\\]tests[/\\][^/\\]+[/\\]dist(?:[/\\]|$)/,
|
|
29
|
+
/[/\\]\.docker(?:[/\\]|$)/,
|
|
30
|
+
/[/\\]\.vite(?:[/\\]|$)/,
|
|
31
|
+
/[/\\]node_modules[/\\]\.vxrn(?:[/\\]|$)/,
|
|
32
|
+
]
|
|
24
33
|
|
|
25
34
|
function getPlatformFromBundleUrl(url: string): 'ios' | 'android' {
|
|
26
35
|
const platform = url.match(/[?&]platform=(ios|android)(?:&|$)/)?.[1]
|
|
@@ -156,19 +165,13 @@ export async function buildMetroConfigInputFromViteConfig(
|
|
|
156
165
|
}
|
|
157
166
|
|
|
158
167
|
const existingBlockList = _defaultConfig?.resolver?.blockList
|
|
159
|
-
const buildOutputExclusions = [
|
|
160
|
-
/[/\\]dist[/\\](?:static|server)(?:[/\\]|$)/,
|
|
161
|
-
/[/\\]tests[/\\][^/\\]+[/\\]dist(?:[/\\]|$)/,
|
|
162
|
-
/[/\\]\.docker(?:[/\\]|$)/,
|
|
163
|
-
/[/\\]\.vite(?:[/\\]|$)/,
|
|
164
|
-
]
|
|
165
168
|
const blockList: RegExp[] = [
|
|
166
169
|
...(existingBlockList
|
|
167
170
|
? Array.isArray(existingBlockList)
|
|
168
171
|
? existingBlockList
|
|
169
172
|
: [existingBlockList]
|
|
170
173
|
: []),
|
|
171
|
-
...
|
|
174
|
+
...metroWatchExclusions,
|
|
172
175
|
]
|
|
173
176
|
|
|
174
177
|
// no babel by default. the worker throws on a babel plugin it has no port
|
|
@@ -328,24 +331,14 @@ export async function getMetroConfigFromViteConfig(
|
|
|
328
331
|
}
|
|
329
332
|
}
|
|
330
333
|
|
|
331
|
-
// exclude app-level build output directories from Metro's watcher to prevent
|
|
332
|
-
// FallbackWatcher from crashing on volatile dirs during parallel CI runs.
|
|
333
|
-
// block test app dist dirs and one's web build outputs, but not package
|
|
334
|
-
// dist/ dirs which Metro needs for module resolution.
|
|
335
334
|
const existingBlockList = _defaultConfig?.resolver?.blockList
|
|
336
|
-
const buildOutputExclusions = [
|
|
337
|
-
/[/\\]dist[/\\](?:static|server)(?:[/\\]|$)/,
|
|
338
|
-
/[/\\]tests[/\\][^/\\]+[/\\]dist(?:[/\\]|$)/,
|
|
339
|
-
/[/\\]\.docker(?:[/\\]|$)/,
|
|
340
|
-
/[/\\]\.vite(?:[/\\]|$)/,
|
|
341
|
-
]
|
|
342
335
|
const blockList: RegExp[] = [
|
|
343
336
|
...(existingBlockList
|
|
344
337
|
? Array.isArray(existingBlockList)
|
|
345
338
|
? existingBlockList
|
|
346
339
|
: [existingBlockList]
|
|
347
340
|
: []),
|
|
348
|
-
...
|
|
341
|
+
...metroWatchExclusions,
|
|
349
342
|
]
|
|
350
343
|
|
|
351
344
|
// no babel by default. the worker throws on a babel plugin it has no port
|