@expo/require-utils
Advanced tools
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.__esModule = true; | ||
| exports.annotateError = annotateError; | ||
@@ -17,5 +15,4 @@ exports.formatDiagnostic = formatDiagnostic; | ||
| function errorToLoc(filename, error) { | ||
| if (error.name === 'ReferenceError' || error.name === 'SyntaxError') { | ||
| let stack = `${error.stack || ''}`; | ||
| stack = stack.slice(error.name.length + 2 /* '${name}: ' prefix */); | ||
| if (typeof error.name === 'string' && typeof error.stack === 'string') { | ||
| let stack = error.stack.slice(error.name.length + 2 /* '${name}: ' prefix */); | ||
| stack = stack.slice(error.message.length); | ||
@@ -22,0 +19,0 @@ const trace = stack.match(/at ([^\n]+):(\d+):(\d+)/m); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"codeframe.js","names":["_nodeUrl","data","_interopRequireDefault","require","e","__esModule","default","errorToLoc","filename","error","name","stack","slice","length","message","trace","match","url","pathToFileURL","href","line","Number","isSafeInteger","column","undefined","formatDiagnostic","diagnostic","start","file","messageText","codeFrameColumns","character","getLineAndCharacterOfPosition","loc","codeFrame","getText","highlightCode","annotatedError","SyntaxError","annotateError","code"],"sources":["../src/codeframe.ts"],"sourcesContent":["import url from 'node:url';\nimport type { Diagnostic } from 'typescript';\n\nfunction errorToLoc(filename: string, error: Error) {\n if (error.name === 'ReferenceError' || error.name === 'SyntaxError') {\n let stack = `${error.stack || ''}`;\n stack = stack.slice(error.name.length + 2 /* '${name}: ' prefix */);\n stack = stack.slice(error.message.length);\n const trace = stack.match(/at ([^\\n]+):(\\d+):(\\d+)/m);\n if (url.pathToFileURL(filename).href === trace?.[1]) {\n const line = Number(trace[2]);\n return Number.isSafeInteger(line) ? { line, column: Number(trace[3]) || undefined } : null;\n }\n }\n return null;\n}\n\nexport function formatDiagnostic(diagnostic: Diagnostic | undefined) {\n if (!diagnostic) {\n return null;\n }\n const { start, file, messageText } = diagnostic;\n if (file && messageText && start != null) {\n const { codeFrameColumns }: typeof import('@babel/code-frame') = require('@babel/code-frame');\n const { line, character } = file.getLineAndCharacterOfPosition(start);\n const loc = { line: line + 1, column: character + 1 };\n const codeFrame = codeFrameColumns(file.getText(), { start: loc }, { highlightCode: true });\n const annotatedError = new SyntaxError(`${messageText}\\n${codeFrame}`) as SyntaxError & {\n codeFrame: string;\n };\n annotatedError.codeFrame = codeFrame;\n delete annotatedError.stack;\n return annotatedError;\n }\n return null;\n}\n\nexport function annotateError(code: string | null, filename: string, error: Error) {\n if (typeof error !== 'object' || error == null) {\n return null;\n }\n if (code) {\n const loc = errorToLoc(filename, error);\n if (loc) {\n const { codeFrameColumns }: typeof import('@babel/code-frame') = require('@babel/code-frame');\n const codeFrame = codeFrameColumns(code, { start: loc }, { highlightCode: true });\n const annotatedError = error as Error & { codeFrame: string };\n annotatedError.codeFrame = codeFrame;\n annotatedError.message += `\\n${codeFrame}`;\n delete annotatedError.stack;\n return annotatedError;\n }\n }\n return null;\n}\n"],"mappings":"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","ignoreList":[]} | ||
| {"version":3,"file":"codeframe.js","names":["_nodeUrl","data","_interopRequireDefault","require","e","__esModule","default","errorToLoc","filename","error","name","stack","slice","length","message","trace","match","url","pathToFileURL","href","line","Number","isSafeInteger","column","undefined","formatDiagnostic","diagnostic","start","file","messageText","codeFrameColumns","character","getLineAndCharacterOfPosition","loc","codeFrame","getText","highlightCode","annotatedError","SyntaxError","annotateError","code"],"sources":["../src/codeframe.ts"],"sourcesContent":["import url from 'node:url';\nimport type { Diagnostic } from 'typescript';\n\nfunction errorToLoc(filename: string, error: Error) {\n if (typeof error.name === 'string' && typeof error.stack === 'string') {\n let stack = error.stack.slice(error.name.length + 2 /* '${name}: ' prefix */);\n stack = stack.slice(error.message.length);\n const trace = stack.match(/at ([^\\n]+):(\\d+):(\\d+)/m);\n if (url.pathToFileURL(filename).href === trace?.[1]) {\n const line = Number(trace[2]);\n return Number.isSafeInteger(line) ? { line, column: Number(trace[3]) || undefined } : null;\n }\n }\n return null;\n}\n\nexport function formatDiagnostic(diagnostic: Diagnostic | undefined) {\n if (!diagnostic) {\n return null;\n }\n const { start, file, messageText } = diagnostic;\n if (file && messageText && start != null) {\n const { codeFrameColumns }: typeof import('@babel/code-frame') = require('@babel/code-frame');\n const { line, character } = file.getLineAndCharacterOfPosition(start);\n const loc = { line: line + 1, column: character + 1 };\n const codeFrame = codeFrameColumns(file.getText(), { start: loc }, { highlightCode: true });\n const annotatedError = new SyntaxError(`${messageText}\\n${codeFrame}`) as SyntaxError & {\n codeFrame: string;\n };\n annotatedError.codeFrame = codeFrame;\n delete annotatedError.stack;\n return annotatedError;\n }\n return null;\n}\n\nexport function annotateError(code: string | null, filename: string, error: Error) {\n if (typeof error !== 'object' || error == null) {\n return null;\n }\n if (code) {\n const loc = errorToLoc(filename, error);\n if (loc) {\n const { codeFrameColumns }: typeof import('@babel/code-frame') = require('@babel/code-frame');\n const codeFrame = codeFrameColumns(code, { start: loc }, { highlightCode: true });\n const annotatedError = error as Error & { codeFrame: string };\n annotatedError.codeFrame = codeFrame;\n annotatedError.message += `\\n${codeFrame}`;\n delete annotatedError.stack;\n return annotatedError;\n }\n }\n return null;\n}\n"],"mappings":"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","ignoreList":[]} |
+4
-21
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.__esModule = true; | ||
| var _load = require("./load"); | ||
@@ -10,8 +8,3 @@ Object.keys(_load).forEach(function (key) { | ||
| if (key in exports && exports[key] === _load[key]) return; | ||
| Object.defineProperty(exports, key, { | ||
| enumerable: true, | ||
| get: function () { | ||
| return _load[key]; | ||
| } | ||
| }); | ||
| exports[key] = _load[key]; | ||
| }); | ||
@@ -22,8 +15,3 @@ var _resolve = require("./resolve"); | ||
| if (key in exports && exports[key] === _resolve[key]) return; | ||
| Object.defineProperty(exports, key, { | ||
| enumerable: true, | ||
| get: function () { | ||
| return _resolve[key]; | ||
| } | ||
| }); | ||
| exports[key] = _resolve[key]; | ||
| }); | ||
@@ -34,9 +22,4 @@ var _resolveGlobal = require("./resolveGlobal"); | ||
| if (key in exports && exports[key] === _resolveGlobal[key]) return; | ||
| Object.defineProperty(exports, key, { | ||
| enumerable: true, | ||
| get: function () { | ||
| return _resolveGlobal[key]; | ||
| } | ||
| }); | ||
| exports[key] = _resolveGlobal[key]; | ||
| }); | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","names":["_load","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_resolve","_resolveGlobal"],"sources":["../src/index.ts"],"sourcesContent":["export * from './load';\nexport * from './resolve';\nexport * from './resolveGlobal';\n"],"mappings":";;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,KAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,KAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,KAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,QAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,QAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,QAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,QAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,cAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,cAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,cAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,cAAA,CAAAN,GAAA;IAAA;EAAA;AAAA","ignoreList":[]} | ||
| {"version":3,"file":"index.js","names":["_load","require","Object","keys","forEach","key","exports","_resolve","_resolveGlobal"],"sources":["../src/index.ts"],"sourcesContent":["export * from './load';\nexport * from './resolve';\nexport * from './resolveGlobal';\n"],"mappings":";;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,KAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,KAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,KAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,QAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,QAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,QAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,QAAA,CAAAF,GAAA;AAAA;AACA,IAAAG,cAAA,GAAAP,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAK,cAAA,EAAAJ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAG,cAAA,CAAAH,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAG,cAAA,CAAAH,GAAA;AAAA","ignoreList":[]} |
+4
-1
@@ -11,3 +11,6 @@ declare module 'node:module' { | ||
| } | ||
| type Format = 'commonjs' | 'module' | 'module-typescript' | 'commonjs-typescript' | 'typescript'; | ||
| interface Format { | ||
| mode: 'commonjs' | 'module' | 'module-typescript' | 'commonjs-typescript' | 'typescript' | undefined; | ||
| legacy: boolean; | ||
| } | ||
| export interface ModuleOptions { | ||
@@ -14,0 +17,0 @@ paths?: string[]; |
+51
-19
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.__esModule = true; | ||
| exports.evalModule = evalModule; | ||
@@ -37,2 +35,9 @@ exports.loadModule = loadModule; | ||
| } | ||
| function _nodeVm() { | ||
| const data = _interopRequireDefault(require("node:vm")); | ||
| _nodeVm = function () { | ||
| return data; | ||
| }; | ||
| return data; | ||
| } | ||
| function _codeframe() { | ||
@@ -87,17 +92,23 @@ const data = require("./codeframe"); | ||
| function toFormat(filename, isLegacy) { | ||
| let mode; | ||
| let legacy = false; | ||
| if (filename.endsWith('.cjs')) { | ||
| return 'commonjs'; | ||
| mode = 'commonjs'; | ||
| } else if (filename.endsWith('.mjs')) { | ||
| return 'module'; | ||
| mode = 'module'; | ||
| } else if (filename.endsWith('.js')) { | ||
| return isLegacy ? 'commonjs' : null; | ||
| legacy = isLegacy; | ||
| mode = isLegacy ? 'commonjs' : undefined; | ||
| } else if (filename.endsWith('.mts')) { | ||
| return 'module-typescript'; | ||
| mode = 'module-typescript'; | ||
| } else if (filename.endsWith('.cts')) { | ||
| return 'commonjs-typescript'; | ||
| mode = 'commonjs-typescript'; | ||
| } else if (filename.endsWith('.ts')) { | ||
| return isLegacy ? 'commonjs-typescript' : 'typescript'; | ||
| } else { | ||
| return null; | ||
| legacy = isLegacy; | ||
| mode = isLegacy ? 'commonjs-typescript' : 'typescript'; | ||
| } | ||
| return { | ||
| mode, | ||
| legacy | ||
| }; | ||
| } | ||
@@ -137,3 +148,3 @@ function toRealDirname(filePath) { | ||
| }); | ||
| mod._compile(code, filename, format != null ? format : undefined); | ||
| mod._compile(code, filename, format.mode); | ||
| mod.loaded = true; | ||
@@ -148,2 +159,15 @@ require.cache[filename] = mod; | ||
| } | ||
| function containsModuleSyntax(code) { | ||
| // Fast-path: We can assume that if there's no ESM keyword, we don't need to check at all | ||
| if (!/\b(?:import|export|await)\b/.test(code)) { | ||
| return false; | ||
| } | ||
| try { | ||
| const CJS_WRAP_PARAMS = ['exports', 'require', 'module', '__filename', '__dirname']; | ||
| _nodeVm().default.compileFunction(code, CJS_WRAP_PARAMS); | ||
| return false; | ||
| } catch { | ||
| return true; | ||
| } | ||
| } | ||
| const hasStripTypeScriptTypes = typeof nodeModule().stripTypeScriptTypes === 'function'; | ||
@@ -154,9 +178,9 @@ function evalModule(code, filename, opts = {}, format = toFormat(filename, true)) { | ||
| let diagnostic; | ||
| if (format === 'typescript' || format === 'module-typescript' || format === 'commonjs-typescript') { | ||
| if (format.mode === 'typescript' || format.mode === 'module-typescript' || format.mode === 'commonjs-typescript') { | ||
| const ts = loadTypescript(); | ||
| if (ts) { | ||
| let module; | ||
| if (format === 'commonjs-typescript') { | ||
| if (format.mode === 'commonjs-typescript') { | ||
| module = ts.ModuleKind.CommonJS; | ||
| } else if (format === 'module-typescript') { | ||
| } else if (format.mode === 'module-typescript') { | ||
| module = ts.ModuleKind.ESNext; | ||
@@ -203,5 +227,13 @@ } else { | ||
| } | ||
| } else if (format === 'commonjs') { | ||
| } else if (format.mode === 'commonjs') { | ||
| inputCode = (0, _transform().toCommonJS)(filename, code); | ||
| } | ||
| // NOTE(@kitten): If we've transpiling to CommonJS ourselves above, we should check if | ||
| // the output contains module syntax, which prevents us from loading this file as CommonJS. | ||
| // If it does, we run the non-legacy ESM code path instead | ||
| if (format.legacy && (format.mode === 'commonjs' || format.mode === 'commonjs-typescript') && containsModuleSyntax(inputCode)) { | ||
| format = toFormat(filename, false); | ||
| return evalModule(code, filename, opts, format); | ||
| } | ||
| try { | ||
@@ -247,5 +279,5 @@ const mod = compileModule(inputCode, inputFilename, opts); | ||
| const format = toFormat(filename, true); | ||
| const isTypeScript = format === 'module-typescript' || format === 'commonjs-typescript' || format === 'typescript'; | ||
| const isTypeScript = format.mode === 'module-typescript' || format.mode === 'commonjs-typescript' || format.mode === 'typescript'; | ||
| try { | ||
| if (format !== 'module' && !isTypeScript) { | ||
| if (format.mode !== 'module' && !isTypeScript) { | ||
| return require(filename); | ||
@@ -256,3 +288,3 @@ } | ||
| throw error; | ||
| } else if (format == null) { | ||
| } else if (format.mode == null) { | ||
| const code = maybeReadFileSync(filename); | ||
@@ -259,0 +291,0 @@ throw (0, _codeframe().annotateError)(code, filename, error) || error; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"load.js","names":["_nodeFs","data","_interopRequireDefault","require","nodeModule","_interopRequireWildcard","_nodePath","_nodeUrl","_codeframe","_transform","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_ts","loadTypescript","undefined","error","code","parent","module","tsExtensionMapping","maybeReadFileSync","filename","fs","readFileSync","toFormat","isLegacy","endsWith","toRealDirname","filePath","normalized","path","resolve","realpathSync","dirname","compileModule","opts","format","prependPaths","paths","basePath","nodeModulePaths","_nodeModulePaths","mod","assign","Module","_compile","loaded","cache","children","splice","indexOf","hasStripTypeScriptTypes","stripTypeScriptTypes","evalModule","inputCode","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","sourceMap","ext","extname","inputExt","join","basename","toCommonJS","exports","diagnosticError","formatDiagnostic","annotateError","requireOrImport","Promise","isAbsolute","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 path from 'node:path';\nimport url from 'node:url';\nimport type * as ts from 'typescript';\n\nimport { annotateError, formatDiagnostic } from './codeframe';\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 }\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}\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\nfunction compileModule(code: string, filename: string, opts: ModuleOptions) {\n const format = toFormat(filename, false);\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 try {\n const mod = Object.assign(new nodeModule.Module(filename, parent), { filename, paths });\n mod._compile(code, filename, format != null ? format : undefined);\n mod.loaded = true;\n require.cache[filename] = mod;\n parent?.children?.splice(parent.children.indexOf(mod), 1);\n return mod;\n } catch (error: any) {\n delete require.cache[filename];\n throw error;\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 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 (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":[]} | ||
| {"version":3,"file":"load.js","names":["_nodeFs","data","_interopRequireDefault","require","nodeModule","_interopRequireWildcard","_nodePath","_nodeUrl","_nodeVm","_codeframe","_transform","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_ts","loadTypescript","undefined","error","code","parent","module","tsExtensionMapping","maybeReadFileSync","filename","fs","readFileSync","toFormat","isLegacy","mode","legacy","endsWith","toRealDirname","filePath","normalized","path","resolve","realpathSync","dirname","compileModule","opts","format","prependPaths","paths","basePath","nodeModulePaths","_nodeModulePaths","mod","assign","Module","_compile","loaded","cache","children","splice","indexOf","containsModuleSyntax","test","CJS_WRAP_PARAMS","vm","compileFunction","hasStripTypeScriptTypes","stripTypeScriptTypes","evalModule","inputCode","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","sourceMap","ext","extname","inputExt","join","basename","toCommonJS","exports","diagnosticError","formatDiagnostic","annotateError","requireOrImport","Promise","isAbsolute","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 path from 'node:path';\nimport url from 'node:url';\nimport vm from 'node:vm';\nimport type * as ts from 'typescript';\n\nimport { annotateError, formatDiagnostic } from './codeframe';\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 }\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\ninterface Format {\n mode:\n | 'commonjs'\n | 'module'\n | 'module-typescript'\n | 'commonjs-typescript'\n | 'typescript'\n | undefined;\n legacy: boolean;\n}\n\nfunction toFormat(filename: string, isLegacy: boolean): Format {\n let mode: Format['mode'];\n let legacy = false;\n if (filename.endsWith('.cjs')) {\n mode = 'commonjs';\n } else if (filename.endsWith('.mjs')) {\n mode = 'module';\n } else if (filename.endsWith('.js')) {\n legacy = isLegacy;\n mode = isLegacy ? 'commonjs' : undefined;\n } else if (filename.endsWith('.mts')) {\n mode = 'module-typescript';\n } else if (filename.endsWith('.cts')) {\n mode = 'commonjs-typescript';\n } else if (filename.endsWith('.ts')) {\n legacy = isLegacy;\n mode = isLegacy ? 'commonjs-typescript' : 'typescript';\n }\n return { mode, legacy };\n}\n\nexport interface ModuleOptions {\n paths?: string[];\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\nfunction compileModule(code: string, filename: string, opts: ModuleOptions) {\n const format = toFormat(filename, false);\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 try {\n const mod = Object.assign(new nodeModule.Module(filename, parent), { filename, paths });\n mod._compile(code, filename, format.mode);\n mod.loaded = true;\n require.cache[filename] = mod;\n parent?.children?.splice(parent.children.indexOf(mod), 1);\n return mod;\n } catch (error: any) {\n delete require.cache[filename];\n throw error;\n }\n}\n\nfunction containsModuleSyntax(code: string): boolean {\n // Fast-path: We can assume that if there's no ESM keyword, we don't need to check at all\n if (!/\\b(?:import|export|await)\\b/.test(code)) {\n return false;\n }\n try {\n const CJS_WRAP_PARAMS = ['exports', 'require', 'module', '__filename', '__dirname'];\n vm.compileFunction(code, CJS_WRAP_PARAMS);\n return false;\n } catch {\n return true;\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 let inputCode = code;\n let inputFilename = filename;\n let diagnostic: ts.Diagnostic | undefined;\n if (\n format.mode === 'typescript' ||\n format.mode === 'module-typescript' ||\n format.mode === 'commonjs-typescript'\n ) {\n const ts = loadTypescript();\n\n if (ts) {\n let module: ts.ModuleKind;\n if (format.mode === 'commonjs-typescript') {\n module = ts.ModuleKind.CommonJS;\n } else if (format.mode === '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.mode === 'commonjs') {\n inputCode = toCommonJS(filename, code);\n }\n\n // NOTE(@kitten): If we've transpiling to CommonJS ourselves above, we should check if\n // the output contains module syntax, which prevents us from loading this file as CommonJS.\n // If it does, we run the non-legacy ESM code path instead\n if (\n format.legacy &&\n (format.mode === 'commonjs' || format.mode === 'commonjs-typescript') &&\n containsModuleSyntax(inputCode)\n ) {\n format = toFormat(filename, false);\n return evalModule(code, filename, opts, format);\n }\n\n try {\n const mod = compileModule(inputCode, inputFilename, opts);\n if (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.mode === 'module-typescript' ||\n format.mode === 'commonjs-typescript' ||\n format.mode === 'typescript';\n try {\n if (format.mode !== '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.mode == 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
-3
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.__esModule = true; | ||
| exports.resolveFrom = resolveFrom; | ||
@@ -7,0 +5,0 @@ function _nodeFs() { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"resolve.js","names":["_nodeFs","data","_interopRequireDefault","require","_nodeModule","_nodePath","e","__esModule","default","resolveFrom","fromDirectory","moduleId","params","exts","extensions","Object","keys","Module","_extensions","resolved","path","resolve","fs","existsSync","ext","withExt","followSymlinks","resolvedDir","moduleDirs","_nodeModulePaths","modulesDir","candidate","join","candidateWithExt","nativeResolveFrom","maybeResolve","fromFile","_resolveFilename","id","filename","paths","target","process","cwd","realpathSync"],"sources":["../src/resolve.ts"],"sourcesContent":["import fs from 'node:fs';\nimport Module from 'node:module';\nimport path from 'node:path';\n\ndeclare module 'node:module' {\n export function _nodeModulePaths(base: string): readonly string[];\n export function _resolveFilename(mod: string, parent?: Partial<Module>): string;\n export const _extensions: Record<string, unknown>;\n}\n\nexport interface ResolveFromParams {\n followSymlinks?: boolean;\n extensions?: readonly string[];\n}\n\nexport function resolveFrom(\n fromDirectory: string,\n moduleId: string,\n params?: ResolveFromParams\n): string | null {\n const exts = params?.extensions ?? Object.keys(Module._extensions);\n const resolved = path.resolve(fromDirectory, moduleId);\n // (1) check direct path / exact match\n if (fs.existsSync(resolved)) {\n return resolved;\n }\n\n // (2) check against direct path matches with extensions\n for (let ext of exts) {\n ext = ext[0] !== '.' ? `.${ext}` : ext;\n const withExt = resolved + ext;\n if (fs.existsSync(withExt)) {\n return withExt;\n }\n }\n\n // (3) if we're not following symlinks, we try to resolve against `node_modules` folders unresolved\n if (!params?.followSymlinks) {\n const resolvedDir = path.resolve(fromDirectory);\n const moduleDirs = Module._nodeModulePaths(resolvedDir);\n for (const modulesDir of moduleDirs) {\n const candidate = path.join(modulesDir, moduleId);\n // (3.1) direct match\n if (fs.existsSync(candidate)) {\n return candidate;\n }\n // (3.2) check against match with extensions\n for (let ext of exts) {\n ext = ext[0] !== '.' ? `.${ext}` : ext;\n const candidateWithExt = candidate + ext;\n if (fs.existsSync(candidateWithExt)) {\n return candidateWithExt;\n }\n }\n }\n }\n\n // (4): Fallback to native Node resolution\n return nativeResolveFrom(fromDirectory, moduleId);\n}\n\nfunction nativeResolveFrom(fromDirectory: string, moduleId: string): string | null {\n try {\n const resolvedDir = maybeResolve(fromDirectory);\n const fromFile = path.join(resolvedDir, 'index.js');\n return Module._resolveFilename(moduleId, {\n id: fromFile,\n filename: fromFile,\n paths: [...Module._nodeModulePaths(resolvedDir)],\n });\n } catch {\n return null;\n }\n}\n\nfunction maybeResolve(target: string): string {\n target = path.resolve(process.cwd(), target);\n try {\n return fs.realpathSync(target);\n } catch {\n return target;\n }\n}\n"],"mappings":"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","ignoreList":[]} | ||
| {"version":3,"file":"resolve.js","names":["_nodeFs","data","_interopRequireDefault","require","_nodeModule","_nodePath","e","__esModule","default","resolveFrom","fromDirectory","moduleId","params","exts","extensions","Object","keys","Module","_extensions","resolved","path","resolve","fs","existsSync","ext","withExt","followSymlinks","resolvedDir","moduleDirs","_nodeModulePaths","modulesDir","candidate","join","candidateWithExt","nativeResolveFrom","maybeResolve","fromFile","_resolveFilename","id","filename","paths","target","process","cwd","realpathSync"],"sources":["../src/resolve.ts"],"sourcesContent":["import fs from 'node:fs';\nimport Module from 'node:module';\nimport path from 'node:path';\n\ndeclare module 'node:module' {\n export function _nodeModulePaths(base: string): readonly string[];\n export function _resolveFilename(mod: string, parent?: Partial<Module>): string;\n export const _extensions: Record<string, unknown>;\n}\n\nexport interface ResolveFromParams {\n followSymlinks?: boolean;\n extensions?: readonly string[];\n}\n\nexport function resolveFrom(\n fromDirectory: string,\n moduleId: string,\n params?: ResolveFromParams\n): string | null {\n const exts = params?.extensions ?? Object.keys(Module._extensions);\n const resolved = path.resolve(fromDirectory, moduleId);\n // (1) check direct path / exact match\n if (fs.existsSync(resolved)) {\n return resolved;\n }\n\n // (2) check against direct path matches with extensions\n for (let ext of exts) {\n ext = ext[0] !== '.' ? `.${ext}` : ext;\n const withExt = resolved + ext;\n if (fs.existsSync(withExt)) {\n return withExt;\n }\n }\n\n // (3) if we're not following symlinks, we try to resolve against `node_modules` folders unresolved\n if (!params?.followSymlinks) {\n const resolvedDir = path.resolve(fromDirectory);\n const moduleDirs = Module._nodeModulePaths(resolvedDir);\n for (const modulesDir of moduleDirs) {\n const candidate = path.join(modulesDir, moduleId);\n // (3.1) direct match\n if (fs.existsSync(candidate)) {\n return candidate;\n }\n // (3.2) check against match with extensions\n for (let ext of exts) {\n ext = ext[0] !== '.' ? `.${ext}` : ext;\n const candidateWithExt = candidate + ext;\n if (fs.existsSync(candidateWithExt)) {\n return candidateWithExt;\n }\n }\n }\n }\n\n // (4): Fallback to native Node resolution\n return nativeResolveFrom(fromDirectory, moduleId);\n}\n\nfunction nativeResolveFrom(fromDirectory: string, moduleId: string): string | null {\n try {\n const resolvedDir = maybeResolve(fromDirectory);\n const fromFile = path.join(resolvedDir, 'index.js');\n return Module._resolveFilename(moduleId, {\n id: fromFile,\n filename: fromFile,\n paths: [...Module._nodeModulePaths(resolvedDir)],\n });\n } catch {\n return null;\n }\n}\n\nfunction maybeResolve(target: string): string {\n target = path.resolve(process.cwd(), target);\n try {\n return fs.realpathSync(target);\n } catch {\n return target;\n }\n}\n"],"mappings":"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","ignoreList":[]} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.__esModule = true; | ||
| exports.resolveGlobal = void 0; | ||
@@ -7,0 +5,0 @@ function _nodeChild_process() { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"resolveGlobal.js","names":["_nodeChild_process","data","require","_nodeFs","_interopRequireDefault","_nodeModule","_nodeOs","_nodePath","e","__esModule","default","memoize","fn","result","args","undefined","value","isWindows","process","platform","getDelimitedPaths","delimited","split","path","delimiter","map","target","normalized","normalize","trim","isAbsolute","resolve","cwd","filter","execGetPaths","cmd","spawnSync","encoding","error","status","stdout","paths","replace","fs","existsSync","getNativeNodePaths","Array","isArray","Module","globalPaths","getHomePath","os","homedir","env","UserProfile","USERPROFILE","HOME","getNpmDefaultPaths","prefix","localAppData","LocalAppData","LOCALAPPDATA","push","getNpmPrefixPaths","npmPrefix","getYarnDefaultPaths","homePath","dataHomePath","XDG_DATA_HOME","join","getYarnPrefixPaths","getPnpmPrefixPaths","getBunPrefixPaths","bunPath","moduleEntry","readdirSync","withFileTypes","find","entry","isSymbolicLink","name","moduleTarget","realpathSync","splitIdx","indexOf","sep","modulePath","slice","getPaths","resolveGlobal","id","exports"],"sources":["../src/resolveGlobal.ts"],"sourcesContent":["import { spawnSync } from 'node:child_process';\nimport fs from 'node:fs';\nimport Module from 'node:module';\nimport os from 'node:os';\nimport path from 'node:path';\n\ndeclare module 'node:module' {\n namespace Module {\n const globalPaths: readonly string[] | void;\n }\n}\n\nconst memoize = <Args extends any[], T>(fn: (...args: Args) => T): ((...args: Args) => T) => {\n let result: { value: T } | undefined;\n return (...args: Args): T => {\n if (result === undefined) {\n result = { value: fn(...args) };\n }\n return result.value;\n };\n};\n\nconst isWindows = process.platform === 'win32';\n\nconst getDelimitedPaths = (delimited: string): string[] =>\n delimited\n .split(path.delimiter)\n .map((target) => {\n try {\n const normalized = path.normalize(target.trim());\n if (!normalized) {\n return null;\n } else if (!path.isAbsolute(normalized)) {\n return path.resolve(process.cwd(), normalized);\n } else {\n return normalized;\n }\n } catch {\n return null;\n }\n })\n .filter((target): target is string => !!target);\n\nconst execGetPaths = (cmd: string, args: string[]): string[] => {\n const result = spawnSync(cmd, args, { encoding: 'utf8' });\n if (!result.error && result.status === 0 && result.stdout) {\n const paths = getDelimitedPaths(result.stdout.replace(/[\\r\\n]+/g, path.delimiter));\n return paths.filter((target) => fs.existsSync(target));\n }\n return [];\n};\n\nconst getNativeNodePaths = () => {\n if (Array.isArray(Module.globalPaths)) {\n return Module.globalPaths;\n } else {\n return [];\n }\n};\n\nconst getHomePath = memoize(() => {\n try {\n return os.homedir();\n } catch {\n return isWindows ? (process.env.UserProfile ?? process.env.USERPROFILE) : process.env.HOME;\n }\n});\n\nconst getNpmDefaultPaths = () => {\n const prefix = [];\n const localAppData = process.env.LocalAppData || process.env.LOCALAPPDATA;\n if (isWindows && localAppData) {\n prefix.push(path.resolve(localAppData, 'npm'));\n } else if (!isWindows) {\n prefix.push('/usr/local/lib/node_modules');\n }\n return prefix.filter((target) => fs.existsSync(target));\n};\n\nconst getNpmPrefixPaths = memoize(() => {\n const npmPrefix = execGetPaths(isWindows ? 'npm.cmd' : 'npm', ['config', '-g', 'get', 'prefix']);\n return npmPrefix.map((prefix) => path.resolve(prefix, 'lib'));\n});\n\nconst getYarnDefaultPaths = () => {\n const prefix = [];\n const homePath = getHomePath();\n const localAppData = process.env.LocalAppData || process.env.LOCALAPPDATA;\n const dataHomePath =\n process.env.XDG_DATA_HOME || (homePath && path.join(homePath, '.local', 'share'));\n if (isWindows && localAppData) {\n prefix.push(path.resolve(localAppData, 'Yarn', 'global'));\n }\n if (dataHomePath) {\n prefix.push(path.resolve(dataHomePath, 'yarn', 'global'));\n }\n if (homePath) {\n prefix.push(path.resolve(homePath, '.yarn', 'global'));\n }\n return prefix.filter((target) => fs.existsSync(target));\n};\n\nconst getYarnPrefixPaths = memoize(() => {\n return execGetPaths(isWindows ? 'yarn.cmd' : 'yarn', ['global', 'dir']);\n});\n\nconst getPnpmPrefixPaths = memoize(() => {\n return execGetPaths(isWindows ? 'pnpm.cmd' : 'pnpm', ['root', '-g']);\n});\n\nconst getBunPrefixPaths = memoize(() => {\n const prefix = [];\n const bunPath = execGetPaths(isWindows ? 'bun.cmd' : 'bun', ['pm', 'bin', '-g'])[0];\n if (!bunPath) {\n return [];\n }\n prefix.push(path.resolve(bunPath, 'global'));\n const moduleEntry = fs.readdirSync(bunPath, { withFileTypes: true }).find((entry) => {\n return entry.isSymbolicLink() && entry.name !== 'global';\n });\n if (moduleEntry) {\n try {\n const moduleTarget = fs.realpathSync(path.resolve(bunPath, moduleEntry.name));\n const splitIdx = moduleTarget.indexOf(path.sep + 'node_modules' + path.sep);\n if (splitIdx > -1) {\n const modulePath = moduleTarget.slice(0, splitIdx);\n prefix.push(modulePath);\n }\n } catch {}\n }\n return prefix.filter((target) => fs.existsSync(target));\n});\n\nconst getPaths = () => [\n ...getNpmDefaultPaths(),\n ...getNpmPrefixPaths(),\n ...getYarnDefaultPaths(),\n ...getYarnPrefixPaths(),\n ...getPnpmPrefixPaths(),\n ...getBunPrefixPaths(),\n ...getNativeNodePaths(),\n process.cwd(),\n];\n\n/** Resolve a globally installed module before a locally installed one */\nexport const resolveGlobal = (id: string): string => {\n return require.resolve(id, { paths: getPaths() });\n};\n"],"mappings":"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","ignoreList":[]} | ||
| {"version":3,"file":"resolveGlobal.js","names":["_nodeChild_process","data","require","_nodeFs","_interopRequireDefault","_nodeModule","_nodeOs","_nodePath","e","__esModule","default","memoize","fn","result","args","undefined","value","isWindows","process","platform","getDelimitedPaths","delimited","split","path","delimiter","map","target","normalized","normalize","trim","isAbsolute","resolve","cwd","filter","execGetPaths","cmd","spawnSync","encoding","error","status","stdout","paths","replace","fs","existsSync","getNativeNodePaths","Array","isArray","Module","globalPaths","getHomePath","os","homedir","env","UserProfile","USERPROFILE","HOME","getNpmDefaultPaths","prefix","localAppData","LocalAppData","LOCALAPPDATA","push","getNpmPrefixPaths","npmPrefix","getYarnDefaultPaths","homePath","dataHomePath","XDG_DATA_HOME","join","getYarnPrefixPaths","getPnpmPrefixPaths","getBunPrefixPaths","bunPath","moduleEntry","readdirSync","withFileTypes","find","entry","isSymbolicLink","name","moduleTarget","realpathSync","splitIdx","indexOf","sep","modulePath","slice","getPaths","resolveGlobal","id","exports"],"sources":["../src/resolveGlobal.ts"],"sourcesContent":["import { spawnSync } from 'node:child_process';\nimport fs from 'node:fs';\nimport Module from 'node:module';\nimport os from 'node:os';\nimport path from 'node:path';\n\ndeclare module 'node:module' {\n namespace Module {\n const globalPaths: readonly string[] | void;\n }\n}\n\nconst memoize = <Args extends any[], T>(fn: (...args: Args) => T): ((...args: Args) => T) => {\n let result: { value: T } | undefined;\n return (...args: Args): T => {\n if (result === undefined) {\n result = { value: fn(...args) };\n }\n return result.value;\n };\n};\n\nconst isWindows = process.platform === 'win32';\n\nconst getDelimitedPaths = (delimited: string): string[] =>\n delimited\n .split(path.delimiter)\n .map((target) => {\n try {\n const normalized = path.normalize(target.trim());\n if (!normalized) {\n return null;\n } else if (!path.isAbsolute(normalized)) {\n return path.resolve(process.cwd(), normalized);\n } else {\n return normalized;\n }\n } catch {\n return null;\n }\n })\n .filter((target): target is string => !!target);\n\nconst execGetPaths = (cmd: string, args: string[]): string[] => {\n const result = spawnSync(cmd, args, { encoding: 'utf8' });\n if (!result.error && result.status === 0 && result.stdout) {\n const paths = getDelimitedPaths(result.stdout.replace(/[\\r\\n]+/g, path.delimiter));\n return paths.filter((target) => fs.existsSync(target));\n }\n return [];\n};\n\nconst getNativeNodePaths = () => {\n if (Array.isArray(Module.globalPaths)) {\n return Module.globalPaths;\n } else {\n return [];\n }\n};\n\nconst getHomePath = memoize(() => {\n try {\n return os.homedir();\n } catch {\n return isWindows ? (process.env.UserProfile ?? process.env.USERPROFILE) : process.env.HOME;\n }\n});\n\nconst getNpmDefaultPaths = () => {\n const prefix = [];\n const localAppData = process.env.LocalAppData || process.env.LOCALAPPDATA;\n if (isWindows && localAppData) {\n prefix.push(path.resolve(localAppData, 'npm'));\n } else if (!isWindows) {\n prefix.push('/usr/local/lib/node_modules');\n }\n return prefix.filter((target) => fs.existsSync(target));\n};\n\nconst getNpmPrefixPaths = memoize(() => {\n const npmPrefix = execGetPaths(isWindows ? 'npm.cmd' : 'npm', ['config', '-g', 'get', 'prefix']);\n return npmPrefix.map((prefix) => path.resolve(prefix, 'lib'));\n});\n\nconst getYarnDefaultPaths = () => {\n const prefix = [];\n const homePath = getHomePath();\n const localAppData = process.env.LocalAppData || process.env.LOCALAPPDATA;\n const dataHomePath =\n process.env.XDG_DATA_HOME || (homePath && path.join(homePath, '.local', 'share'));\n if (isWindows && localAppData) {\n prefix.push(path.resolve(localAppData, 'Yarn', 'global'));\n }\n if (dataHomePath) {\n prefix.push(path.resolve(dataHomePath, 'yarn', 'global'));\n }\n if (homePath) {\n prefix.push(path.resolve(homePath, '.yarn', 'global'));\n }\n return prefix.filter((target) => fs.existsSync(target));\n};\n\nconst getYarnPrefixPaths = memoize(() => {\n return execGetPaths(isWindows ? 'yarn.cmd' : 'yarn', ['global', 'dir']);\n});\n\nconst getPnpmPrefixPaths = memoize(() => {\n return execGetPaths(isWindows ? 'pnpm.cmd' : 'pnpm', ['root', '-g']);\n});\n\nconst getBunPrefixPaths = memoize(() => {\n const prefix = [];\n const bunPath = execGetPaths(isWindows ? 'bun.cmd' : 'bun', ['pm', 'bin', '-g'])[0];\n if (!bunPath) {\n return [];\n }\n prefix.push(path.resolve(bunPath, 'global'));\n const moduleEntry = fs.readdirSync(bunPath, { withFileTypes: true }).find((entry) => {\n return entry.isSymbolicLink() && entry.name !== 'global';\n });\n if (moduleEntry) {\n try {\n const moduleTarget = fs.realpathSync(path.resolve(bunPath, moduleEntry.name));\n const splitIdx = moduleTarget.indexOf(path.sep + 'node_modules' + path.sep);\n if (splitIdx > -1) {\n const modulePath = moduleTarget.slice(0, splitIdx);\n prefix.push(modulePath);\n }\n } catch {}\n }\n return prefix.filter((target) => fs.existsSync(target));\n});\n\nconst getPaths = () => [\n ...getNpmDefaultPaths(),\n ...getNpmPrefixPaths(),\n ...getYarnDefaultPaths(),\n ...getYarnPrefixPaths(),\n ...getPnpmPrefixPaths(),\n ...getBunPrefixPaths(),\n ...getNativeNodePaths(),\n process.cwd(),\n];\n\n/** Resolve a globally installed module before a locally installed one */\nexport const resolveGlobal = (id: string): string => {\n return require.resolve(id, { paths: getPaths() });\n};\n"],"mappings":"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","ignoreList":[]} |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.__esModule = true; | ||
| exports.toCommonJS = toCommonJS; | ||
@@ -7,0 +5,0 @@ function _core() { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"transform.js","names":["_core","data","require","toCommonJS","filename","code","result","transformSync","babelrc","configFile","plugins","importInterop","loose"],"sources":["../src/transform.ts"],"sourcesContent":["import { transformSync } from '@babel/core';\n\nexport function toCommonJS(filename: string, code: string) {\n const result = transformSync(code, {\n filename,\n babelrc: false,\n configFile: false,\n plugins: [\n [\n require('@babel/plugin-transform-modules-commonjs'),\n {\n // NOTE(@kitten): We used to use sucrase to transform, which is why\n // we're doing this CJS-to-ESM transform in the first place. Our\n // previous transformation isn't 100% compatible with the standard\n // Node ESM loading. In Babel, this is the \"node\" flag (although\n // node behaviour is explicitly different from this). This skips\n // the `__esModule -> default` wrapper\n importInterop: 'node',\n loose: true,\n },\n ],\n ],\n });\n return result?.code ?? code;\n}\n"],"mappings":";;;;;;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,SAASE,UAAUA,CAACC,QAAgB,EAAEC,IAAY,EAAE;EACzD,MAAMC,MAAM,GAAG,IAAAC,qBAAa,EAACF,IAAI,EAAE;IACjCD,QAAQ;IACRI,OAAO,EAAE,KAAK;IACdC,UAAU,EAAE,KAAK;IACjBC,OAAO,EAAE,CACP,CACER,OAAO,CAAC,0CAA0C,CAAC,EACnD;MACE;MACA;MACA;MACA;MACA;MACA;MACAS,aAAa,EAAE,MAAM;MACrBC,KAAK,EAAE;IACT,CAAC,CACF;EAEL,CAAC,CAAC;EACF,OAAON,MAAM,EAAED,IAAI,IAAIA,IAAI;AAC7B","ignoreList":[]} | ||
| {"version":3,"file":"transform.js","names":["_core","data","require","toCommonJS","filename","code","result","transformSync","babelrc","configFile","plugins","importInterop","loose"],"sources":["../src/transform.ts"],"sourcesContent":["import { transformSync } from '@babel/core';\n\nexport function toCommonJS(filename: string, code: string) {\n const result = transformSync(code, {\n filename,\n babelrc: false,\n configFile: false,\n plugins: [\n [\n require('@babel/plugin-transform-modules-commonjs'),\n {\n // NOTE(@kitten): We used to use sucrase to transform, which is why\n // we're doing this CJS-to-ESM transform in the first place. Our\n // previous transformation isn't 100% compatible with the standard\n // Node ESM loading. In Babel, this is the \"node\" flag (although\n // node behaviour is explicitly different from this). This skips\n // the `__esModule -> default` wrapper\n importInterop: 'node',\n loose: true,\n },\n ],\n ],\n });\n return result?.code ?? code;\n}\n"],"mappings":";;;;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,SAASE,UAAUA,CAACC,QAAgB,EAAEC,IAAY,EAAE;EACzD,MAAMC,MAAM,GAAG,IAAAC,qBAAa,EAACF,IAAI,EAAE;IACjCD,QAAQ;IACRI,OAAO,EAAE,KAAK;IACdC,UAAU,EAAE,KAAK;IACjBC,OAAO,EAAE,CACP,CACER,OAAO,CAAC,0CAA0C,CAAC,EACnD;MACE;MACA;MACA;MACA;MACA;MACA;MACAS,aAAa,EAAE,MAAM;MACrBC,KAAK,EAAE;IACT,CAAC,CACF;EAEL,CAAC,CAAC;EACF,OAAON,MAAM,EAAED,IAAI,IAAIA,IAAI;AAC7B","ignoreList":[]} |
+2
-2
| { | ||
| "name": "@expo/require-utils", | ||
| "version": "55.0.5", | ||
| "version": "55.0.6", | ||
| "description": "Reusable require and Node resolution utilities library for Expo", | ||
@@ -52,3 +52,3 @@ "license": "MIT", | ||
| }, | ||
| "gitHead": "7c081282cf88968f81732feb67a71840e769a40f" | ||
| "gitHead": "c8f16914a2713c37fe446c46d613004626b3e6b3" | ||
| } |
Debug access
Supply chain riskUses debug, reflection and dynamic code execution features.
72656
3.48%719
1.13%18
5.88%