@expo/require-utils 56.1.0 → 56.1.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/build/load.js CHANGED
@@ -194,7 +194,11 @@ function compileModule(code, filename, opts) {
194
194
  }
195
195
  if (mapPath) {
196
196
  inputCode = stripSourceMappingURL(code);
197
- // NOTE This needs to be a plain absolute path because Node rejects file: URLs
197
+ // NOTE(@kitten): This needs to be a plain absolute path because Node rejects file: URLs
198
+ // On Windows, it additionally needs to be a URL.pathname-like format (POSIX with a leading slash)
199
+ if (_nodePath().default.sep !== '/') {
200
+ mapPath = `/${mapPath.replaceAll(_nodePath().default.sep, '/')}`;
201
+ }
198
202
  inputCode += `\n//# sourceMappingURL=${mapPath}`;
199
203
  priorSourceMapsState = getSourceMapsState();
200
204
  (0, _stacktrace().installSourceMapStackTrace)();
package/build/load.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"load.js","names":["_nodeFs","data","_interopRequireDefault","require","nodeModule","_interopRequireWildcard","_nodeOs","_nodePath","_nodeUrl","_codeframe","_stacktrace","_transform","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_ts","loadTypescript","undefined","error","code","parent","module","tsExtensionMapping","maybeReadFileSync","filename","fs","readFileSync","toFormat","isLegacy","endsWith","toRealDirname","filePath","normalized","path","resolve","realpathSync","dirname","hasModuleSourceMapsSupport","setSourceMapsSupport","getSourceMapsState","getSourceMapsSupport","enabled","process","sourceMapsEnabled","setSourceMapsState","state","nodeModules","generatedCode","setSourceMapsEnabled","makeSourceMapTempPath","basename","queryIdx","search","slice","join","os","tmpdir","pid","stripSourceMappingURL","replace","compileModule","opts","format","shouldCache","cache","prependPaths","paths","basePath","nodeModulePaths","_nodeModulePaths","inputCode","compileFilename","sourceMap","basePart","queryPart","isAbsolute","mapPath","priorSourceMapsState","isBun","writeFileSync","console","warn","message","installSourceMapStackTrace","mod","assign","Module","childIdx","children","indexOf","splice","_compile","loaded","unlinkSync","hasStripTypeScriptTypes","stripTypeScriptTypes","evalModule","inputFilename","diagnostic","ts","ModuleKind","CommonJS","ESNext","Preserve","output","transpileModule","fileName","reportDiagnostics","compilerOptions","moduleResolution","ModuleResolutionKind","Bundler","verbatimModuleSyntax","target","ScriptTarget","newLine","NewLineKind","LineFeed","inlineSourceMap","esModuleInterop","outputText","diagnostics","length","mode","ext","extname","inputExt","toCommonJS","exports","diagnosticError","formatDiagnostic","annotateError","requireOrImport","Promise","url","pathToFileURL","toString","then","s","loadModule","loadModuleSync","isTypeScript"],"sources":["../src/load.ts"],"sourcesContent":["import fs from 'node:fs';\nimport * as nodeModule from 'node:module';\nimport os from 'node:os';\nimport path from 'node:path';\nimport url from 'node:url';\nimport type * as ts from 'typescript';\n\nimport { annotateError, formatDiagnostic } from './codeframe';\nimport { installSourceMapStackTrace } from './stacktrace';\nimport { toCommonJS } from './transform';\n\ndeclare module 'node:module' {\n export function _nodeModulePaths(base: string): readonly string[];\n}\n\ndeclare global {\n namespace NodeJS {\n export interface Module {\n _compile(\n code: string,\n filename: string,\n format?: 'module' | 'commonjs' | 'commonjs-typescript' | 'module-typescript' | 'typescript'\n ): unknown;\n }\n export interface Process {\n isBun?: boolean;\n }\n }\n}\n\nlet _ts: typeof import('typescript') | null | undefined;\nfunction loadTypescript() {\n if (_ts === undefined) {\n try {\n _ts = require('typescript');\n } catch (error: any) {\n if (error.code !== 'MODULE_NOT_FOUND') {\n throw error;\n } else {\n _ts = null;\n }\n }\n }\n return _ts;\n}\n\nconst parent = module;\n\nconst tsExtensionMapping: Record<string, string | undefined> = {\n '.ts': '.js',\n '.cts': '.cjs',\n '.mts': '.mjs',\n};\n\nfunction maybeReadFileSync(filename: string) {\n try {\n return fs.readFileSync(filename, 'utf8');\n } catch (error: any) {\n if (error.code === 'ENOENT') {\n return null;\n }\n throw error;\n }\n}\n\ntype Format = 'commonjs' | 'module' | 'module-typescript' | 'commonjs-typescript' | 'typescript';\n\nfunction toFormat(filename: string, isLegacy: true): Format;\nfunction toFormat(filename: string, isLegacy: false): Format | null;\nfunction toFormat(filename: string, isLegacy: boolean): Format | null {\n if (filename.endsWith('.cjs')) {\n return 'commonjs';\n } else if (filename.endsWith('.mjs')) {\n return 'module';\n } else if (filename.endsWith('.js')) {\n return isLegacy ? 'commonjs' : null;\n } else if (filename.endsWith('.mts')) {\n return 'module-typescript';\n } else if (filename.endsWith('.cts')) {\n return 'commonjs-typescript';\n } else if (filename.endsWith('.ts')) {\n return isLegacy ? 'commonjs-typescript' : 'typescript';\n } else {\n return null;\n }\n}\n\nexport interface ModuleOptions {\n paths?: string[];\n sourceMap?: string;\n cache?: boolean;\n}\n\nfunction toRealDirname(filePath: string): string {\n let normalized = path.resolve(filePath);\n // Try resolving the filename itself first\n try {\n normalized = fs.realpathSync(normalized);\n return path.dirname(normalized);\n } catch (error: any) {\n normalized = path.dirname(normalized);\n // If we're getting another error than an ENOENT, return the dirname unchanged\n if (error?.code !== 'ENOENT') {\n return normalized;\n }\n }\n // Alternatively, if it's a fake path, resolve the directory directly instead\n try {\n return fs.realpathSync(normalized);\n } catch {\n return normalized;\n }\n}\n\nconst hasModuleSourceMapsSupport = typeof nodeModule.setSourceMapsSupport === 'function';\n\ninterface SourceMapsState {\n enabled: boolean;\n nodeModules?: boolean;\n generatedCode?: boolean;\n}\n\nfunction getSourceMapsState(): SourceMapsState {\n return typeof nodeModule.getSourceMapsSupport === 'function'\n ? nodeModule.getSourceMapsSupport()\n : { enabled: !!process.sourceMapsEnabled };\n}\n\nfunction setSourceMapsState(state: SourceMapsState): void {\n if (hasModuleSourceMapsSupport) {\n nodeModule.setSourceMapsSupport(state.enabled, {\n nodeModules: state.nodeModules ?? false,\n generatedCode: state.generatedCode ?? false,\n });\n } else {\n process.setSourceMapsEnabled(state.enabled);\n }\n}\n\nfunction makeSourceMapTempPath(filename: string) {\n let basename = path.basename(filename);\n const queryIdx = basename.search(/[?#]/);\n if (queryIdx >= 0) {\n basename = basename.slice(0, queryIdx);\n }\n return path.join(os.tmpdir(), `require-utils-${process.pid}-${basename}.map`);\n}\n\nfunction stripSourceMappingURL(code: string): string {\n return code.replace(/^[ \\t]*\\/\\/[#@][ \\t]+sourceMappingURL=.*$/gm, '');\n}\n\nfunction compileModule(code: string, filename: string, opts: ModuleOptions) {\n const format = toFormat(filename, false);\n const shouldCache = opts.cache ?? true;\n const prependPaths = opts.paths ?? [];\n // See: https://github.com/nodejs/node/blob/ff080948666f28fbd767548d26bea034d30bc277/lib/internal/modules/cjs/loader.js#L767\n // If we get a symlinked path instead of the realpath, we assume the realpath is needed for Node module resolution\n const basePath = toRealDirname(filename);\n const nodeModulePaths = nodeModule._nodeModulePaths(basePath);\n const paths = [...prependPaths, ...nodeModulePaths];\n\n let inputCode = code;\n\n // We may get a Metro SSR relative path here, which isn't a valid absolute path, and we need to normalize\n // the filename before proceeding\n let compileFilename = filename;\n if (opts.sourceMap) {\n const queryIdx = filename.search(/[?#]/);\n const basePart = queryIdx >= 0 ? filename.slice(0, queryIdx) : filename;\n const queryPart = queryIdx >= 0 ? filename.slice(queryIdx) : '';\n if (!path.isAbsolute(basePart)) {\n compileFilename = path.resolve(basePart) + queryPart;\n }\n }\n\n let mapPath: string | undefined;\n let priorSourceMapsState: SourceMapsState | undefined;\n if (opts.sourceMap && !process.isBun) {\n try {\n mapPath = makeSourceMapTempPath(compileFilename);\n fs.writeFileSync(mapPath, opts.sourceMap);\n } catch (error: any) {\n mapPath = undefined;\n // If we fail to write the source map, we can still continue without it, but log a warning since it's likely a misconfiguration\n console.warn(\n `Warning: Failed to write source map for ${filename} to ${mapPath}. Source maps will be unavailable for this module.\\n${error?.message || error}`\n );\n }\n\n if (mapPath) {\n inputCode = stripSourceMappingURL(code);\n // NOTE This needs to be a plain absolute path because Node rejects file: URLs\n inputCode += `\\n//# sourceMappingURL=${mapPath}`;\n\n priorSourceMapsState = getSourceMapsState();\n installSourceMapStackTrace();\n setSourceMapsState({ enabled: true, nodeModules: true });\n }\n }\n\n const mod = Object.assign(new nodeModule.Module(compileFilename, parent), {\n filename: compileFilename,\n paths,\n });\n\n const childIdx = parent?.children?.indexOf(mod) ?? -1;\n if (childIdx >= 0) {\n parent.children!.splice(childIdx, 1);\n }\n\n try {\n mod._compile(inputCode, compileFilename, format != null ? format : undefined);\n mod.loaded = true;\n if (shouldCache) {\n require.cache[compileFilename] = mod;\n if (compileFilename !== filename) {\n require.cache[filename] = mod;\n }\n }\n return mod;\n } catch (error: any) {\n if (shouldCache) {\n delete require.cache[compileFilename];\n if (compileFilename !== filename) {\n delete require.cache[filename];\n }\n }\n throw error;\n } finally {\n if (mapPath) {\n // Restore, so subsequent requires of node_modules won't have their source-maps read\n setSourceMapsState(priorSourceMapsState ?? { enabled: false });\n // Node parses source maps eagerly during _compile, so the file can be removed now.\n try {\n fs.unlinkSync(mapPath);\n } catch {\n /* noop */\n }\n }\n }\n}\n\nconst hasStripTypeScriptTypes = typeof nodeModule.stripTypeScriptTypes === 'function';\n\nfunction evalModule(\n code: string,\n filename: string,\n opts: ModuleOptions = {},\n format: Format = toFormat(filename, true)\n) {\n const shouldCache = opts.cache ?? true;\n\n let inputCode = code;\n let inputFilename = filename;\n let diagnostic: ts.Diagnostic | undefined;\n if (\n format === 'typescript' ||\n format === 'module-typescript' ||\n format === 'commonjs-typescript'\n ) {\n const ts = loadTypescript();\n\n if (ts) {\n let module: ts.ModuleKind;\n if (format === 'commonjs-typescript') {\n module = ts.ModuleKind.CommonJS;\n } else if (format === 'module-typescript') {\n module = ts.ModuleKind.ESNext;\n } else {\n // NOTE(@kitten): We can \"preserve\" the output, meaning, it can either be ESM or CJS\n // and stop TypeScript from either transpiling it to CommonJS or adding an `export {}`\n // if no exports are used. This allows the user to choose if this file is CJS or ESM\n // (but not to mix both)\n module = ts.ModuleKind.Preserve;\n }\n const output = ts.transpileModule(code, {\n fileName: filename,\n reportDiagnostics: true,\n compilerOptions: {\n module,\n moduleResolution: ts.ModuleResolutionKind.Bundler,\n // `verbatimModuleSyntax` needs to be off, to erase as many imports as possible\n verbatimModuleSyntax: false,\n target: ts.ScriptTarget.ESNext,\n newLine: ts.NewLineKind.LineFeed,\n inlineSourceMap: true,\n esModuleInterop: true,\n },\n });\n inputCode = output?.outputText || inputCode;\n if (output?.diagnostics?.length) {\n diagnostic = output.diagnostics[0];\n }\n }\n\n if (hasStripTypeScriptTypes && inputCode === code) {\n // This may throw its own error, but this contains a code-frame already\n inputCode = nodeModule.stripTypeScriptTypes(code, {\n mode: 'transform',\n sourceMap: true,\n });\n }\n\n if (inputCode !== code) {\n const ext = path.extname(filename);\n const inputExt = tsExtensionMapping[ext] ?? ext;\n if (inputExt !== ext) {\n inputFilename = path.join(path.dirname(filename), path.basename(filename, ext) + inputExt);\n }\n }\n } else if (format === 'commonjs') {\n inputCode = toCommonJS(filename, code);\n }\n\n try {\n const mod = compileModule(inputCode, inputFilename, opts);\n if (shouldCache && inputFilename !== filename) {\n require.cache[filename] = mod;\n }\n return mod.exports;\n } catch (error: any) {\n // If we have a diagnostic from TypeScript, we issue its error with a codeframe first,\n // since it's likely more useful than the eval error\n const diagnosticError = formatDiagnostic(diagnostic);\n if (diagnosticError) {\n throw diagnosticError;\n }\n throw annotateError(code, filename, error) ?? error;\n }\n}\n\nasync function requireOrImport(filename: string) {\n try {\n return require(filename);\n } catch {\n return await import(\n path.isAbsolute(filename) ? url.pathToFileURL(filename).toString() : filename\n );\n }\n}\n\nasync function loadModule(filename: string) {\n try {\n return await requireOrImport(filename);\n } catch (error: any) {\n if (error.code === 'ERR_UNKNOWN_FILE_EXTENSION' || error.code === 'MODULE_NOT_FOUND') {\n return loadModuleSync(filename);\n } else {\n throw error;\n }\n }\n}\n\n/** Require module or evaluate with TypeScript\n * NOTE: Requiring ESM has been added in all LTS versions (Node 20.19+, 22.12+, 24).\n * This already forms the minimum required Node version as of Expo SDK 54 */\nfunction loadModuleSync(filename: string) {\n const format = toFormat(filename, true);\n const isTypeScript =\n format === 'module-typescript' || format === 'commonjs-typescript' || format === 'typescript';\n try {\n if (format !== 'module' && !isTypeScript) {\n return require(filename);\n }\n } catch (error: any) {\n if (error.code === 'MODULE_NOT_FOUND') {\n throw error;\n } else if (format == null) {\n const code = maybeReadFileSync(filename);\n throw annotateError(code, filename, error) || error;\n }\n // We fallback to always evaluating the entrypoint module\n // This is out of safety, since we're not trusting the requiring ESM feature\n // and evaluating the module manually bypasses the error when it's flagged off\n }\n\n // Load from cache manually, if `loaded` is set and exports are defined, to avoid\n // double transform or double evaluation\n if (require.cache[filename]?.exports && require.cache[filename].loaded) {\n return require.cache[filename].exports;\n }\n\n const code = fs.readFileSync(filename, 'utf8');\n return evalModule(code, filename, {}, format);\n}\n\nexport { evalModule, loadModule, loadModuleSync };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"load.js","names":["_nodeFs","data","_interopRequireDefault","require","nodeModule","_interopRequireWildcard","_nodeOs","_nodePath","_nodeUrl","_codeframe","_stacktrace","_transform","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_ts","loadTypescript","undefined","error","code","parent","module","tsExtensionMapping","maybeReadFileSync","filename","fs","readFileSync","toFormat","isLegacy","endsWith","toRealDirname","filePath","normalized","path","resolve","realpathSync","dirname","hasModuleSourceMapsSupport","setSourceMapsSupport","getSourceMapsState","getSourceMapsSupport","enabled","process","sourceMapsEnabled","setSourceMapsState","state","nodeModules","generatedCode","setSourceMapsEnabled","makeSourceMapTempPath","basename","queryIdx","search","slice","join","os","tmpdir","pid","stripSourceMappingURL","replace","compileModule","opts","format","shouldCache","cache","prependPaths","paths","basePath","nodeModulePaths","_nodeModulePaths","inputCode","compileFilename","sourceMap","basePart","queryPart","isAbsolute","mapPath","priorSourceMapsState","isBun","writeFileSync","console","warn","message","sep","replaceAll","installSourceMapStackTrace","mod","assign","Module","childIdx","children","indexOf","splice","_compile","loaded","unlinkSync","hasStripTypeScriptTypes","stripTypeScriptTypes","evalModule","inputFilename","diagnostic","ts","ModuleKind","CommonJS","ESNext","Preserve","output","transpileModule","fileName","reportDiagnostics","compilerOptions","moduleResolution","ModuleResolutionKind","Bundler","verbatimModuleSyntax","target","ScriptTarget","newLine","NewLineKind","LineFeed","inlineSourceMap","esModuleInterop","outputText","diagnostics","length","mode","ext","extname","inputExt","toCommonJS","exports","diagnosticError","formatDiagnostic","annotateError","requireOrImport","Promise","url","pathToFileURL","toString","then","s","loadModule","loadModuleSync","isTypeScript"],"sources":["../src/load.ts"],"sourcesContent":["import fs from 'node:fs';\nimport * as nodeModule from 'node:module';\nimport os from 'node:os';\nimport path from 'node:path';\nimport url from 'node:url';\nimport type * as ts from 'typescript';\n\nimport { annotateError, formatDiagnostic } from './codeframe';\nimport { installSourceMapStackTrace } from './stacktrace';\nimport { toCommonJS } from './transform';\n\ndeclare module 'node:module' {\n export function _nodeModulePaths(base: string): readonly string[];\n}\n\ndeclare global {\n namespace NodeJS {\n export interface Module {\n _compile(\n code: string,\n filename: string,\n format?: 'module' | 'commonjs' | 'commonjs-typescript' | 'module-typescript' | 'typescript'\n ): unknown;\n }\n export interface Process {\n isBun?: boolean;\n }\n }\n}\n\nlet _ts: typeof import('typescript') | null | undefined;\nfunction loadTypescript() {\n if (_ts === undefined) {\n try {\n _ts = require('typescript');\n } catch (error: any) {\n if (error.code !== 'MODULE_NOT_FOUND') {\n throw error;\n } else {\n _ts = null;\n }\n }\n }\n return _ts;\n}\n\nconst parent = module;\n\nconst tsExtensionMapping: Record<string, string | undefined> = {\n '.ts': '.js',\n '.cts': '.cjs',\n '.mts': '.mjs',\n};\n\nfunction maybeReadFileSync(filename: string) {\n try {\n return fs.readFileSync(filename, 'utf8');\n } catch (error: any) {\n if (error.code === 'ENOENT') {\n return null;\n }\n throw error;\n }\n}\n\ntype Format = 'commonjs' | 'module' | 'module-typescript' | 'commonjs-typescript' | 'typescript';\n\nfunction toFormat(filename: string, isLegacy: true): Format;\nfunction toFormat(filename: string, isLegacy: false): Format | null;\nfunction toFormat(filename: string, isLegacy: boolean): Format | null {\n if (filename.endsWith('.cjs')) {\n return 'commonjs';\n } else if (filename.endsWith('.mjs')) {\n return 'module';\n } else if (filename.endsWith('.js')) {\n return isLegacy ? 'commonjs' : null;\n } else if (filename.endsWith('.mts')) {\n return 'module-typescript';\n } else if (filename.endsWith('.cts')) {\n return 'commonjs-typescript';\n } else if (filename.endsWith('.ts')) {\n return isLegacy ? 'commonjs-typescript' : 'typescript';\n } else {\n return null;\n }\n}\n\nexport interface ModuleOptions {\n paths?: string[];\n sourceMap?: string;\n cache?: boolean;\n}\n\nfunction toRealDirname(filePath: string): string {\n let normalized = path.resolve(filePath);\n // Try resolving the filename itself first\n try {\n normalized = fs.realpathSync(normalized);\n return path.dirname(normalized);\n } catch (error: any) {\n normalized = path.dirname(normalized);\n // If we're getting another error than an ENOENT, return the dirname unchanged\n if (error?.code !== 'ENOENT') {\n return normalized;\n }\n }\n // Alternatively, if it's a fake path, resolve the directory directly instead\n try {\n return fs.realpathSync(normalized);\n } catch {\n return normalized;\n }\n}\n\nconst hasModuleSourceMapsSupport = typeof nodeModule.setSourceMapsSupport === 'function';\n\ninterface SourceMapsState {\n enabled: boolean;\n nodeModules?: boolean;\n generatedCode?: boolean;\n}\n\nfunction getSourceMapsState(): SourceMapsState {\n return typeof nodeModule.getSourceMapsSupport === 'function'\n ? nodeModule.getSourceMapsSupport()\n : { enabled: !!process.sourceMapsEnabled };\n}\n\nfunction setSourceMapsState(state: SourceMapsState): void {\n if (hasModuleSourceMapsSupport) {\n nodeModule.setSourceMapsSupport(state.enabled, {\n nodeModules: state.nodeModules ?? false,\n generatedCode: state.generatedCode ?? false,\n });\n } else {\n process.setSourceMapsEnabled(state.enabled);\n }\n}\n\nfunction makeSourceMapTempPath(filename: string) {\n let basename = path.basename(filename);\n const queryIdx = basename.search(/[?#]/);\n if (queryIdx >= 0) {\n basename = basename.slice(0, queryIdx);\n }\n return path.join(os.tmpdir(), `require-utils-${process.pid}-${basename}.map`);\n}\n\nfunction stripSourceMappingURL(code: string): string {\n return code.replace(/^[ \\t]*\\/\\/[#@][ \\t]+sourceMappingURL=.*$/gm, '');\n}\n\nfunction compileModule(code: string, filename: string, opts: ModuleOptions) {\n const format = toFormat(filename, false);\n const shouldCache = opts.cache ?? true;\n const prependPaths = opts.paths ?? [];\n // See: https://github.com/nodejs/node/blob/ff080948666f28fbd767548d26bea034d30bc277/lib/internal/modules/cjs/loader.js#L767\n // If we get a symlinked path instead of the realpath, we assume the realpath is needed for Node module resolution\n const basePath = toRealDirname(filename);\n const nodeModulePaths = nodeModule._nodeModulePaths(basePath);\n const paths = [...prependPaths, ...nodeModulePaths];\n\n let inputCode = code;\n\n // We may get a Metro SSR relative path here, which isn't a valid absolute path, and we need to normalize\n // the filename before proceeding\n let compileFilename = filename;\n if (opts.sourceMap) {\n const queryIdx = filename.search(/[?#]/);\n const basePart = queryIdx >= 0 ? filename.slice(0, queryIdx) : filename;\n const queryPart = queryIdx >= 0 ? filename.slice(queryIdx) : '';\n if (!path.isAbsolute(basePart)) {\n compileFilename = path.resolve(basePart) + queryPart;\n }\n }\n\n let mapPath: string | undefined;\n let priorSourceMapsState: SourceMapsState | undefined;\n if (opts.sourceMap && !process.isBun) {\n try {\n mapPath = makeSourceMapTempPath(compileFilename);\n fs.writeFileSync(mapPath, opts.sourceMap);\n } catch (error: any) {\n mapPath = undefined;\n // If we fail to write the source map, we can still continue without it, but log a warning since it's likely a misconfiguration\n console.warn(\n `Warning: Failed to write source map for ${filename} to ${mapPath}. Source maps will be unavailable for this module.\\n${error?.message || error}`\n );\n }\n\n if (mapPath) {\n inputCode = stripSourceMappingURL(code);\n // NOTE(@kitten): This needs to be a plain absolute path because Node rejects file: URLs\n // On Windows, it additionally needs to be a URL.pathname-like format (POSIX with a leading slash)\n if (path.sep !== '/') {\n mapPath = `/${mapPath.replaceAll(path.sep, '/')}`;\n }\n inputCode += `\\n//# sourceMappingURL=${mapPath}`;\n\n priorSourceMapsState = getSourceMapsState();\n installSourceMapStackTrace();\n setSourceMapsState({ enabled: true, nodeModules: true });\n }\n }\n\n const mod = Object.assign(new nodeModule.Module(compileFilename, parent), {\n filename: compileFilename,\n paths,\n });\n\n const childIdx = parent?.children?.indexOf(mod) ?? -1;\n if (childIdx >= 0) {\n parent.children!.splice(childIdx, 1);\n }\n\n try {\n mod._compile(inputCode, compileFilename, format != null ? format : undefined);\n mod.loaded = true;\n if (shouldCache) {\n require.cache[compileFilename] = mod;\n if (compileFilename !== filename) {\n require.cache[filename] = mod;\n }\n }\n return mod;\n } catch (error: any) {\n if (shouldCache) {\n delete require.cache[compileFilename];\n if (compileFilename !== filename) {\n delete require.cache[filename];\n }\n }\n throw error;\n } finally {\n if (mapPath) {\n // Restore, so subsequent requires of node_modules won't have their source-maps read\n setSourceMapsState(priorSourceMapsState ?? { enabled: false });\n // Node parses source maps eagerly during _compile, so the file can be removed now.\n try {\n fs.unlinkSync(mapPath);\n } catch {\n /* noop */\n }\n }\n }\n}\n\nconst hasStripTypeScriptTypes = typeof nodeModule.stripTypeScriptTypes === 'function';\n\nfunction evalModule(\n code: string,\n filename: string,\n opts: ModuleOptions = {},\n format: Format = toFormat(filename, true)\n) {\n const shouldCache = opts.cache ?? true;\n\n let inputCode = code;\n let inputFilename = filename;\n let diagnostic: ts.Diagnostic | undefined;\n if (\n format === 'typescript' ||\n format === 'module-typescript' ||\n format === 'commonjs-typescript'\n ) {\n const ts = loadTypescript();\n\n if (ts) {\n let module: ts.ModuleKind;\n if (format === 'commonjs-typescript') {\n module = ts.ModuleKind.CommonJS;\n } else if (format === 'module-typescript') {\n module = ts.ModuleKind.ESNext;\n } else {\n // NOTE(@kitten): We can \"preserve\" the output, meaning, it can either be ESM or CJS\n // and stop TypeScript from either transpiling it to CommonJS or adding an `export {}`\n // if no exports are used. This allows the user to choose if this file is CJS or ESM\n // (but not to mix both)\n module = ts.ModuleKind.Preserve;\n }\n const output = ts.transpileModule(code, {\n fileName: filename,\n reportDiagnostics: true,\n compilerOptions: {\n module,\n moduleResolution: ts.ModuleResolutionKind.Bundler,\n // `verbatimModuleSyntax` needs to be off, to erase as many imports as possible\n verbatimModuleSyntax: false,\n target: ts.ScriptTarget.ESNext,\n newLine: ts.NewLineKind.LineFeed,\n inlineSourceMap: true,\n esModuleInterop: true,\n },\n });\n inputCode = output?.outputText || inputCode;\n if (output?.diagnostics?.length) {\n diagnostic = output.diagnostics[0];\n }\n }\n\n if (hasStripTypeScriptTypes && inputCode === code) {\n // This may throw its own error, but this contains a code-frame already\n inputCode = nodeModule.stripTypeScriptTypes(code, {\n mode: 'transform',\n sourceMap: true,\n });\n }\n\n if (inputCode !== code) {\n const ext = path.extname(filename);\n const inputExt = tsExtensionMapping[ext] ?? ext;\n if (inputExt !== ext) {\n inputFilename = path.join(path.dirname(filename), path.basename(filename, ext) + inputExt);\n }\n }\n } else if (format === 'commonjs') {\n inputCode = toCommonJS(filename, code);\n }\n\n try {\n const mod = compileModule(inputCode, inputFilename, opts);\n if (shouldCache && inputFilename !== filename) {\n require.cache[filename] = mod;\n }\n return mod.exports;\n } catch (error: any) {\n // If we have a diagnostic from TypeScript, we issue its error with a codeframe first,\n // since it's likely more useful than the eval error\n const diagnosticError = formatDiagnostic(diagnostic);\n if (diagnosticError) {\n throw diagnosticError;\n }\n throw annotateError(code, filename, error) ?? error;\n }\n}\n\nasync function requireOrImport(filename: string) {\n try {\n return require(filename);\n } catch {\n return await import(\n path.isAbsolute(filename) ? url.pathToFileURL(filename).toString() : filename\n );\n }\n}\n\nasync function loadModule(filename: string) {\n try {\n return await requireOrImport(filename);\n } catch (error: any) {\n if (error.code === 'ERR_UNKNOWN_FILE_EXTENSION' || error.code === 'MODULE_NOT_FOUND') {\n return loadModuleSync(filename);\n } else {\n throw error;\n }\n }\n}\n\n/** Require module or evaluate with TypeScript\n * NOTE: Requiring ESM has been added in all LTS versions (Node 20.19+, 22.12+, 24).\n * This already forms the minimum required Node version as of Expo SDK 54 */\nfunction loadModuleSync(filename: string) {\n const format = toFormat(filename, true);\n const isTypeScript =\n format === 'module-typescript' || format === 'commonjs-typescript' || format === 'typescript';\n try {\n if (format !== 'module' && !isTypeScript) {\n return require(filename);\n }\n } catch (error: any) {\n if (error.code === 'MODULE_NOT_FOUND') {\n throw error;\n } else if (format == null) {\n const code = maybeReadFileSync(filename);\n throw annotateError(code, filename, error) || error;\n }\n // We fallback to always evaluating the entrypoint module\n // This is out of safety, since we're not trusting the requiring ESM feature\n // and evaluating the module manually bypasses the error when it's flagged off\n }\n\n // Load from cache manually, if `loaded` is set and exports are defined, to avoid\n // double transform or double evaluation\n if (require.cache[filename]?.exports && require.cache[filename].loaded) {\n return require.cache[filename].exports;\n }\n\n const code = fs.readFileSync(filename, 'utf8');\n return evalModule(code, filename, {}, format);\n}\n\nexport { evalModule, loadModule, loadModuleSync };\n"],"mappings":"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","ignoreList":[]}
@@ -12,9 +12,9 @@ function nodeModule() {
12
12
  };
13
13
  return data;
14
14
  }
15
- function _nodeUrl() {
16
- const data = _interopRequireDefault(require("node:url"));
17
- _nodeUrl = function () {
15
+ function _nodePath() {
16
+ const data = _interopRequireDefault(require("node:path"));
17
+ _nodePath = function () {
18
18
  return data;
19
19
  };
20
20
  return data;
@@ -121,11 +121,7 @@ function wrapCallSite(site, state) {
121
121
  state.curPosition = null;
122
122
  return String(site);
123
123
  }
124
-
125
- // `originalSource` is a `file://` URL. `fileURLToPath` correctly handles drive letters
126
- // and percent-encoded characters; a naive `file://` strip would yield `/C:/foo/bar.ts`
127
- // on Windows.
128
- const originalSource = entry.originalSource.startsWith('file://') ? _nodeUrl().default.fileURLToPath(entry.originalSource) : entry.originalSource;
124
+ const originalSource = maybeFileURLToPath(entry.originalSource);
129
125
 
130
126
  // Node's runtime exposes a `name` field on the source map entry even though
131
127
  // `@types/node` omits it from `SourceMapping`. Read it defensively.
@@ -155,6 +151,18 @@ function wrapCallSite(site, state) {
155
151
  wrapped.getScriptNameOrSourceURL = () => position.source;
156
152
  return String(wrapped);
157
153
  }
154
+ function maybeFileURLToPath(maybeFileURL) {
155
+ if (maybeFileURL.startsWith('file://')) {
156
+ let pathname = maybeFileURL.slice('file://'.length);
157
+ if (pathname[0] === '/') pathname = pathname.slice(1);
158
+ try {
159
+ pathname = decodeURIComponent(pathname);
160
+ } catch {}
161
+ return _nodePath().default.sep !== '/' ? pathname.replaceAll('/', _nodePath().default.sep) : '/' + pathname;
162
+ } else {
163
+ return maybeFileURL;
164
+ }
165
+ }
158
166
  function cloneCallSite(site) {
159
167
  // We need a plain object whose JS getters mirror the original site's, but whose
160
168
  // `toString` we can replace. Subclassing or proxying the native `CallSite` doesn't
@@ -1 +1 @@
1
- {"version":3,"file":"stacktrace.js","names":["nodeModule","data","_interopRequireWildcard","require","_nodeUrl","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","stackTraceInstalled","installSourceMapStackTrace","Error","prepareStackTrace","error","callSites","errorString","formatErrorHeader","length","state","nextPosition","curPosition","lines","push","wrapCallSite","reverse","join","name","undefined","String","message","site","isNative","scriptName","getFileName","getScriptNameOrSourceURL","lineNumber","getLineNumber","columnNumber","getColumnNumber","sm","findSourceMap","entry","findEntry","originalSource","startsWith","url","fileURLToPath","mappedName","position","source","line","originalLine","column","originalColumn","wrapped","cloneCallSite","originalGetFunctionName","getFunctionName","nameFromNext","clone","proto","getPrototypeOf","getOwnPropertyNames","value","test","bind","toString","callSiteToString","fileLocation","isEval","getEvalOrigin","functionName","addSuffix","isConstructor","isMethodCall","isToplevel","typeName","getTypeName","methodName","getMethodName","indexOf"],"sources":["../src/stacktrace.ts"],"sourcesContent":["// MIT License, Copyright (c) 2014 Evan Wallace\n// Derived from: https://github.com/evanw/node-source-map-support/blob/7b5b81e/source-map-support.js\n\nimport * as nodeModule from 'node:module';\nimport url from 'node:url';\n\nlet stackTraceInstalled = false;\n\n/**\n * Install a JS-level `Error.prepareStackTrace` that symbolicates frames using Node's\n * source map cache (`module.findSourceMap`). Idempotent — calling more than once is a no-op.\n *\n * Background: Node's automatic stack symbolication is gated on source maps being enabled.\n * `compileModule` toggles source maps on only during `_compile` (to keep the cache scoped\n * to our bundles rather than every `require()`'d package), so by the time an error from\n * the bundle is formatted, automatic symbolication is off. This shim restores it.\n *\n * Implementation closely follows\n * https://github.com/evanw/node-source-map-support/blob/master/source-map-support.js,\n * the canonical reference for this kind of `prepareStackTrace` shim:\n *\n * - Source-mapped frames are wrapped in cloned plain-object call sites that override\n * `getFileName`, `getLineNumber`, `getColumnNumber`, `getFunctionName`,\n * `getScriptNameOrSourceURL`, and `toString`. V8's native\n * `CallSite.prototype.toString` is implemented in C++ and reads internal slots\n * directly, ignoring overridden JS getters; so we reimplement `toString` in JS\n * (`callSiteToString`) on the clone, which consults the overridden getters.\n *\n * - The stack is processed in reverse so we can use the source map's `name` from the\n * *next* frame (the caller side) when overriding the *current* frame's function\n * name. Source map V3's `name` at a position identifies the symbol being *called*\n * at that position — i.e. the function whose body lives at the next-out frame —\n * which is more accurate than V8's `getFunctionName()` for that frame.\n *\n * - Non-source-mapped frames pass through unchanged; their native\n * `CallSite.prototype.toString` is invoked via template-literal coercion in\n * `prepareStackTrace`. This preserves V8's canonical formatting for every frame\n * variant we don't symbolicate (top-level `at file:line:col`, `at TypeName.method`,\n * `at new Class`, `at fn [as alias]`, native frames, eval frames, etc.).\n */\nexport function installSourceMapStackTrace(): void {\n if (stackTraceInstalled) {\n return;\n } else {\n stackTraceInstalled = true;\n }\n Error.prepareStackTrace = (error, callSites) => {\n const errorString = formatErrorHeader(error);\n if (callSites.length === 0) {\n return errorString;\n }\n const state: WalkState = { nextPosition: null, curPosition: null };\n const lines: string[] = [];\n for (let i = callSites.length - 1; i >= 0; i--) {\n lines.push('\\n at ' + wrapCallSite(callSites[i]!, state));\n state.nextPosition = state.curPosition;\n }\n lines.reverse();\n return errorString + lines.join('');\n };\n}\n\nfunction formatErrorHeader(error: unknown): string {\n // Match V8's default `Error.prototype.toString` semantics. We can't call it directly\n // because `error` may not actually be an Error instance.\n const name =\n (error as { name?: unknown })?.name === undefined\n ? 'Error'\n : String((error as { name: unknown }).name);\n const message =\n (error as { message?: unknown })?.message === undefined\n ? ''\n : String((error as { message: unknown }).message);\n if (!name) return message;\n if (!message) return name;\n return `${name}: ${message}`;\n}\n\ninterface MappedPosition {\n source: string;\n line: number;\n column: number; // 1-based\n name: string | null;\n}\n\ninterface WalkState {\n nextPosition: MappedPosition | null;\n curPosition: MappedPosition | null;\n}\n\nfunction wrapCallSite(site: NodeJS.CallSite, state: WalkState): string {\n if (site.isNative()) {\n state.curPosition = null;\n return String(site);\n }\n\n // Most call sites surface their script identity via `getFileName()`. Code passed to\n // `eval()` (or otherwise compiled with a `//# sourceURL=...` directive) only exposes\n // it via `getScriptNameOrSourceURL()` — falling through to that catches those cases.\n const scriptName = site.getFileName() ?? site.getScriptNameOrSourceURL();\n if (!scriptName) {\n state.curPosition = null;\n return String(site);\n }\n\n const lineNumber = site.getLineNumber();\n const columnNumber = site.getColumnNumber();\n if (lineNumber == null || columnNumber == null) {\n state.curPosition = null;\n return String(site);\n }\n\n const sm = nodeModule.findSourceMap(scriptName);\n if (!sm) {\n state.curPosition = null;\n return String(site);\n }\n\n const entry = sm.findEntry(lineNumber - 1, columnNumber - 1);\n if (!entry || !('originalSource' in entry) || !entry.originalSource) {\n state.curPosition = null;\n return String(site);\n }\n\n // `originalSource` is a `file://` URL. `fileURLToPath` correctly handles drive letters\n // and percent-encoded characters; a naive `file://` strip would yield `/C:/foo/bar.ts`\n // on Windows.\n const originalSource = entry.originalSource.startsWith('file://')\n ? url.fileURLToPath(entry.originalSource)\n : entry.originalSource;\n\n // Node's runtime exposes a `name` field on the source map entry even though\n // `@types/node` omits it from `SourceMapping`. Read it defensively.\n const mappedName = (entry as { name?: string }).name ?? null;\n\n const position: MappedPosition = {\n source: originalSource,\n line: entry.originalLine + 1,\n column: entry.originalColumn + 1,\n name: mappedName,\n };\n state.curPosition = position;\n\n // Build a wrapped call site whose JS getters and `toString` agree on the mapped\n // position. The function-name override consults `state.nextPosition` first because\n // a source map's `name` at a position names the symbol being *called*, which lives\n // one frame outward.\n const wrapped = cloneCallSite(site);\n const originalGetFunctionName = wrapped.getFunctionName;\n wrapped.getFunctionName = function () {\n const nameFromNext = state.nextPosition?.name;\n if (nameFromNext) return nameFromNext;\n return originalGetFunctionName();\n };\n wrapped.getFileName = () => position.source;\n wrapped.getLineNumber = () => position.line;\n wrapped.getColumnNumber = () => position.column;\n wrapped.getScriptNameOrSourceURL = () => position.source;\n return String(wrapped);\n}\n\ninterface ClonedCallSite extends NodeJS.CallSite {\n toString(): string;\n}\n\nfunction cloneCallSite(site: NodeJS.CallSite): ClonedCallSite {\n // We need a plain object whose JS getters mirror the original site's, but whose\n // `toString` we can replace. Subclassing or proxying the native `CallSite` doesn't\n // work: `CallSite.prototype.toString` is implemented in C++ and rejects any receiver\n // that isn't the original V8-tagged object (`Method toString called on incompatible\n // receiver`). The only working approach is to build a plain object that re-exposes\n // the `is*`/`get*` methods (bound to the original) and carries our JS toString.\n const clone = {} as Record<string, unknown>;\n const proto = Object.getPrototypeOf(site) as Record<string, unknown>;\n for (const name of Object.getOwnPropertyNames(proto)) {\n const value = (site as unknown as Record<string, unknown>)[name];\n if (/^(?:is|get)/.test(name) && typeof value === 'function') {\n clone[name] = (value as (...args: unknown[]) => unknown).bind(site);\n } else {\n clone[name] = value;\n }\n }\n clone.toString = callSiteToString;\n return clone as unknown as ClonedCallSite;\n}\n\n/**\n * V8's `CallSite.prototype.toString`, reimplemented in JS so it consults overridden\n * getters on a cloned call site. Mirrors the C++ implementation in V8's `messages.cc`\n * (which is also what `evanw/node-source-map-support` ports).\n *\n * Exported for tests, which need a working `toString` on mock plain-object call sites\n * (real V8 CallSites have one natively; plain objects don't).\n */\nexport function callSiteToString(this: NodeJS.CallSite): string {\n let fileLocation = '';\n if (this.isNative()) {\n fileLocation = 'native';\n } else {\n const scriptName = this.getScriptNameOrSourceURL();\n if (!scriptName && this.isEval()) {\n fileLocation = (this.getEvalOrigin() ?? '') + ', ';\n }\n if (scriptName) {\n fileLocation += scriptName;\n } else {\n fileLocation += '<anonymous>';\n }\n const lineNumber = this.getLineNumber();\n if (lineNumber != null) {\n fileLocation += ':' + lineNumber;\n const columnNumber = this.getColumnNumber();\n if (columnNumber) {\n fileLocation += ':' + columnNumber;\n }\n }\n }\n\n let line = '';\n const functionName = this.getFunctionName();\n let addSuffix = true;\n const isConstructor = this.isConstructor();\n const isMethodCall = !(this.isToplevel() || isConstructor);\n\n if (isMethodCall) {\n let typeName: string | null = this.getTypeName();\n // Older Node versions can return `[object Object]` here; normalize to `null`.\n if (typeName === '[object Object]') {\n typeName = 'null';\n }\n const methodName = this.getMethodName();\n if (functionName) {\n if (typeName && functionName.indexOf(typeName) !== 0) {\n line += typeName + '.';\n }\n line += functionName;\n if (\n methodName &&\n functionName.indexOf('.' + methodName) !== functionName.length - methodName.length - 1\n ) {\n line += ' [as ' + methodName + ']';\n }\n } else {\n line += typeName + '.' + (methodName ?? '<anonymous>');\n }\n } else if (isConstructor) {\n line += 'new ' + (functionName ?? '<anonymous>');\n } else if (functionName) {\n line += functionName;\n } else {\n line += fileLocation;\n addSuffix = false;\n }\n\n if (addSuffix) {\n line += ' (' + fileLocation + ')';\n }\n return line;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"stacktrace.js","names":["nodeModule","data","_interopRequireWildcard","require","_nodePath","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","stackTraceInstalled","installSourceMapStackTrace","Error","prepareStackTrace","error","callSites","errorString","formatErrorHeader","length","state","nextPosition","curPosition","lines","push","wrapCallSite","reverse","join","name","undefined","String","message","site","isNative","scriptName","getFileName","getScriptNameOrSourceURL","lineNumber","getLineNumber","columnNumber","getColumnNumber","sm","findSourceMap","entry","findEntry","originalSource","maybeFileURLToPath","mappedName","position","source","line","originalLine","column","originalColumn","wrapped","cloneCallSite","originalGetFunctionName","getFunctionName","nameFromNext","maybeFileURL","startsWith","pathname","slice","decodeURIComponent","path","sep","replaceAll","clone","proto","getPrototypeOf","getOwnPropertyNames","value","test","bind","toString","callSiteToString","fileLocation","isEval","getEvalOrigin","functionName","addSuffix","isConstructor","isMethodCall","isToplevel","typeName","getTypeName","methodName","getMethodName","indexOf"],"sources":["../src/stacktrace.ts"],"sourcesContent":["// MIT License, Copyright (c) 2014 Evan Wallace\n// Derived from: https://github.com/evanw/node-source-map-support/blob/7b5b81e/source-map-support.js\n\nimport * as nodeModule from 'node:module';\nimport path from 'node:path';\n\nlet stackTraceInstalled = false;\n\n/**\n * Install a JS-level `Error.prepareStackTrace` that symbolicates frames using Node's\n * source map cache (`module.findSourceMap`). Idempotent — calling more than once is a no-op.\n *\n * Background: Node's automatic stack symbolication is gated on source maps being enabled.\n * `compileModule` toggles source maps on only during `_compile` (to keep the cache scoped\n * to our bundles rather than every `require()`'d package), so by the time an error from\n * the bundle is formatted, automatic symbolication is off. This shim restores it.\n *\n * Implementation closely follows\n * https://github.com/evanw/node-source-map-support/blob/master/source-map-support.js,\n * the canonical reference for this kind of `prepareStackTrace` shim:\n *\n * - Source-mapped frames are wrapped in cloned plain-object call sites that override\n * `getFileName`, `getLineNumber`, `getColumnNumber`, `getFunctionName`,\n * `getScriptNameOrSourceURL`, and `toString`. V8's native\n * `CallSite.prototype.toString` is implemented in C++ and reads internal slots\n * directly, ignoring overridden JS getters; so we reimplement `toString` in JS\n * (`callSiteToString`) on the clone, which consults the overridden getters.\n *\n * - The stack is processed in reverse so we can use the source map's `name` from the\n * *next* frame (the caller side) when overriding the *current* frame's function\n * name. Source map V3's `name` at a position identifies the symbol being *called*\n * at that position — i.e. the function whose body lives at the next-out frame —\n * which is more accurate than V8's `getFunctionName()` for that frame.\n *\n * - Non-source-mapped frames pass through unchanged; their native\n * `CallSite.prototype.toString` is invoked via template-literal coercion in\n * `prepareStackTrace`. This preserves V8's canonical formatting for every frame\n * variant we don't symbolicate (top-level `at file:line:col`, `at TypeName.method`,\n * `at new Class`, `at fn [as alias]`, native frames, eval frames, etc.).\n */\nexport function installSourceMapStackTrace(): void {\n if (stackTraceInstalled) {\n return;\n } else {\n stackTraceInstalled = true;\n }\n Error.prepareStackTrace = (error, callSites) => {\n const errorString = formatErrorHeader(error);\n if (callSites.length === 0) {\n return errorString;\n }\n const state: WalkState = { nextPosition: null, curPosition: null };\n const lines: string[] = [];\n for (let i = callSites.length - 1; i >= 0; i--) {\n lines.push('\\n at ' + wrapCallSite(callSites[i]!, state));\n state.nextPosition = state.curPosition;\n }\n lines.reverse();\n return errorString + lines.join('');\n };\n}\n\nfunction formatErrorHeader(error: unknown): string {\n // Match V8's default `Error.prototype.toString` semantics. We can't call it directly\n // because `error` may not actually be an Error instance.\n const name =\n (error as { name?: unknown })?.name === undefined\n ? 'Error'\n : String((error as { name: unknown }).name);\n const message =\n (error as { message?: unknown })?.message === undefined\n ? ''\n : String((error as { message: unknown }).message);\n if (!name) return message;\n if (!message) return name;\n return `${name}: ${message}`;\n}\n\ninterface MappedPosition {\n source: string;\n line: number;\n column: number; // 1-based\n name: string | null;\n}\n\ninterface WalkState {\n nextPosition: MappedPosition | null;\n curPosition: MappedPosition | null;\n}\n\nfunction wrapCallSite(site: NodeJS.CallSite, state: WalkState): string {\n if (site.isNative()) {\n state.curPosition = null;\n return String(site);\n }\n\n // Most call sites surface their script identity via `getFileName()`. Code passed to\n // `eval()` (or otherwise compiled with a `//# sourceURL=...` directive) only exposes\n // it via `getScriptNameOrSourceURL()` — falling through to that catches those cases.\n const scriptName = site.getFileName() ?? site.getScriptNameOrSourceURL();\n if (!scriptName) {\n state.curPosition = null;\n return String(site);\n }\n\n const lineNumber = site.getLineNumber();\n const columnNumber = site.getColumnNumber();\n if (lineNumber == null || columnNumber == null) {\n state.curPosition = null;\n return String(site);\n }\n\n const sm = nodeModule.findSourceMap(scriptName);\n if (!sm) {\n state.curPosition = null;\n return String(site);\n }\n\n const entry = sm.findEntry(lineNumber - 1, columnNumber - 1);\n if (!entry || !('originalSource' in entry) || !entry.originalSource) {\n state.curPosition = null;\n return String(site);\n }\n\n const originalSource = maybeFileURLToPath(entry.originalSource);\n\n // Node's runtime exposes a `name` field on the source map entry even though\n // `@types/node` omits it from `SourceMapping`. Read it defensively.\n const mappedName = (entry as { name?: string }).name ?? null;\n\n const position: MappedPosition = {\n source: originalSource,\n line: entry.originalLine + 1,\n column: entry.originalColumn + 1,\n name: mappedName,\n };\n state.curPosition = position;\n\n // Build a wrapped call site whose JS getters and `toString` agree on the mapped\n // position. The function-name override consults `state.nextPosition` first because\n // a source map's `name` at a position names the symbol being *called*, which lives\n // one frame outward.\n const wrapped = cloneCallSite(site);\n const originalGetFunctionName = wrapped.getFunctionName;\n wrapped.getFunctionName = function () {\n const nameFromNext = state.nextPosition?.name;\n if (nameFromNext) return nameFromNext;\n return originalGetFunctionName();\n };\n wrapped.getFileName = () => position.source;\n wrapped.getLineNumber = () => position.line;\n wrapped.getColumnNumber = () => position.column;\n wrapped.getScriptNameOrSourceURL = () => position.source;\n return String(wrapped);\n}\n\nfunction maybeFileURLToPath(maybeFileURL: string): string {\n if (maybeFileURL.startsWith('file://')) {\n let pathname = maybeFileURL.slice('file://'.length);\n if (pathname[0] === '/') pathname = pathname.slice(1);\n try {\n pathname = decodeURIComponent(pathname);\n } catch {}\n return path.sep !== '/' ? pathname.replaceAll('/', path.sep) : '/' + pathname;\n } else {\n return maybeFileURL;\n }\n}\n\ninterface ClonedCallSite extends NodeJS.CallSite {\n toString(): string;\n}\n\nfunction cloneCallSite(site: NodeJS.CallSite): ClonedCallSite {\n // We need a plain object whose JS getters mirror the original site's, but whose\n // `toString` we can replace. Subclassing or proxying the native `CallSite` doesn't\n // work: `CallSite.prototype.toString` is implemented in C++ and rejects any receiver\n // that isn't the original V8-tagged object (`Method toString called on incompatible\n // receiver`). The only working approach is to build a plain object that re-exposes\n // the `is*`/`get*` methods (bound to the original) and carries our JS toString.\n const clone = {} as Record<string, unknown>;\n const proto = Object.getPrototypeOf(site) as Record<string, unknown>;\n for (const name of Object.getOwnPropertyNames(proto)) {\n const value = (site as unknown as Record<string, unknown>)[name];\n if (/^(?:is|get)/.test(name) && typeof value === 'function') {\n clone[name] = (value as (...args: unknown[]) => unknown).bind(site);\n } else {\n clone[name] = value;\n }\n }\n clone.toString = callSiteToString;\n return clone as unknown as ClonedCallSite;\n}\n\n/**\n * V8's `CallSite.prototype.toString`, reimplemented in JS so it consults overridden\n * getters on a cloned call site. Mirrors the C++ implementation in V8's `messages.cc`\n * (which is also what `evanw/node-source-map-support` ports).\n *\n * Exported for tests, which need a working `toString` on mock plain-object call sites\n * (real V8 CallSites have one natively; plain objects don't).\n */\nexport function callSiteToString(this: NodeJS.CallSite): string {\n let fileLocation = '';\n if (this.isNative()) {\n fileLocation = 'native';\n } else {\n const scriptName = this.getScriptNameOrSourceURL();\n if (!scriptName && this.isEval()) {\n fileLocation = (this.getEvalOrigin() ?? '') + ', ';\n }\n if (scriptName) {\n fileLocation += scriptName;\n } else {\n fileLocation += '<anonymous>';\n }\n const lineNumber = this.getLineNumber();\n if (lineNumber != null) {\n fileLocation += ':' + lineNumber;\n const columnNumber = this.getColumnNumber();\n if (columnNumber) {\n fileLocation += ':' + columnNumber;\n }\n }\n }\n\n let line = '';\n const functionName = this.getFunctionName();\n let addSuffix = true;\n const isConstructor = this.isConstructor();\n const isMethodCall = !(this.isToplevel() || isConstructor);\n\n if (isMethodCall) {\n let typeName: string | null = this.getTypeName();\n // Older Node versions can return `[object Object]` here; normalize to `null`.\n if (typeName === '[object Object]') {\n typeName = 'null';\n }\n const methodName = this.getMethodName();\n if (functionName) {\n if (typeName && functionName.indexOf(typeName) !== 0) {\n line += typeName + '.';\n }\n line += functionName;\n if (\n methodName &&\n functionName.indexOf('.' + methodName) !== functionName.length - methodName.length - 1\n ) {\n line += ' [as ' + methodName + ']';\n }\n } else {\n line += typeName + '.' + (methodName ?? '<anonymous>');\n }\n } else if (isConstructor) {\n line += 'new ' + (functionName ?? '<anonymous>');\n } else if (functionName) {\n line += functionName;\n } else {\n line += fileLocation;\n addSuffix = false;\n }\n\n if (addSuffix) {\n line += ' (' + fileLocation + ')';\n }\n return line;\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expo/require-utils",
3
- "version": "56.1.0",
3
+ "version": "56.1.1",
4
4
  "description": "Reusable require and Node resolution utilities library for Expo",
5
5
  "license": "MIT",
6
6
  "main": "./build/index.js",
@@ -41,7 +41,7 @@
41
41
  "publishConfig": {
42
42
  "access": "public"
43
43
  },
44
- "gitHead": "a30353e69ca0d72b9fac5830abc631feda1ba3ae",
44
+ "gitHead": "f26be3dd9396bf7c399a1d607865d0fabdbc0d64",
45
45
  "scripts": {
46
46
  "build": "tsc --emitDeclarationOnly && babel src --out-dir build --extensions \".ts\" --source-maps --ignore \"src/**/__mocks__/*\",\"src/**/__tests__/*\"",
47
47
  "clean": "expo-module clean",