@expo/require-utils 55.0.2 → 55.0.3-canary-20260429-a5e59cf
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/checks.d.ts +1 -0
- package/build/checks.js +2 -0
- package/build/checks.js.map +1 -0
- package/build/index.d.ts +2 -0
- package/build/index.js +22 -0
- package/build/index.js.map +1 -1
- package/build/load.js +25 -3
- package/build/load.js.map +1 -1
- package/build/resolve.d.ts +11 -0
- package/build/resolve.js +95 -0
- package/build/resolve.js.map +1 -0
- package/build/resolveGlobal.d.ts +7 -0
- package/build/resolveGlobal.js +162 -0
- package/build/resolveGlobal.js.map +1 -0
- package/build/transform.js +1 -0
- package/build/transform.js.map +1 -1
- package/package.json +9 -9
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/build/checks.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checks.js","names":[],"sources":["../src/checks.ts"],"sourcesContent":[""],"mappings":"","ignoreList":[]}
|
package/build/index.d.ts
CHANGED
package/build/index.js
CHANGED
|
@@ -14,4 +14,26 @@ Object.keys(_load).forEach(function (key) {
|
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
16
|
});
|
|
17
|
+
var _resolve = require("./resolve");
|
|
18
|
+
Object.keys(_resolve).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _resolve[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _resolve[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
var _resolveGlobal = require("./resolveGlobal");
|
|
29
|
+
Object.keys(_resolveGlobal).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _resolveGlobal[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () {
|
|
35
|
+
return _resolveGlobal[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
17
39
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_load","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../src/index.ts"],"sourcesContent":["export * from './load';\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","ignoreList":[]}
|
|
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":[]}
|
package/build/load.js
CHANGED
|
@@ -49,8 +49,7 @@ function _transform() {
|
|
|
49
49
|
return data;
|
|
50
50
|
}
|
|
51
51
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
52
|
-
function
|
|
53
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
52
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
54
53
|
let _ts;
|
|
55
54
|
function loadTypescript() {
|
|
56
55
|
if (_ts === undefined) {
|
|
@@ -99,10 +98,33 @@ function toFormat(filename, isLegacy) {
|
|
|
99
98
|
return null;
|
|
100
99
|
}
|
|
101
100
|
}
|
|
101
|
+
function toRealDirname(filePath) {
|
|
102
|
+
let normalized = _nodePath().default.resolve(filePath);
|
|
103
|
+
// Try resolving the filename itself first
|
|
104
|
+
try {
|
|
105
|
+
normalized = _nodeFs().default.realpathSync(normalized);
|
|
106
|
+
return _nodePath().default.dirname(normalized);
|
|
107
|
+
} catch (error) {
|
|
108
|
+
normalized = _nodePath().default.dirname(normalized);
|
|
109
|
+
// If we're getting another error than an ENOENT, return the dirname unchanged
|
|
110
|
+
if (error?.code !== 'ENOENT') {
|
|
111
|
+
return normalized;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
// Alternatively, if it's a fake path, resolve the directory directly instead
|
|
115
|
+
try {
|
|
116
|
+
return _nodeFs().default.realpathSync(normalized);
|
|
117
|
+
} catch {
|
|
118
|
+
return normalized;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
102
121
|
function compileModule(code, filename, opts) {
|
|
103
122
|
const format = toFormat(filename, false);
|
|
104
123
|
const prependPaths = opts.paths ?? [];
|
|
105
|
-
|
|
124
|
+
// See: https://github.com/nodejs/node/blob/ff080948666f28fbd767548d26bea034d30bc277/lib/internal/modules/cjs/loader.js#L767
|
|
125
|
+
// If we get a symlinked path instead of the realpath, we assume the realpath is needed for Node module resolution
|
|
126
|
+
const basePath = toRealDirname(filename);
|
|
127
|
+
const nodeModulePaths = nodeModule()._nodeModulePaths(basePath);
|
|
106
128
|
const paths = [...prependPaths, ...nodeModulePaths];
|
|
107
129
|
try {
|
|
108
130
|
const mod = Object.assign(new (nodeModule().Module)(filename, parent), {
|
package/build/load.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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","compileModule","opts","format","prependPaths","paths","nodeModulePaths","_nodeModulePaths","path","dirname","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","resolve","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 compileModule(code: string, filename: string, opts: ModuleOptions) {\n const format = toFormat(filename, false);\n const prependPaths = opts.paths ?? [];\n const nodeModulePaths = nodeModule._nodeModulePaths(path.dirname(filename));\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":[]}
|
|
1
|
+
{"version":3,"file":"load.js","names":["_nodeFs","data","_interopRequireDefault","require","nodeModule","_interopRequireWildcard","_nodePath","_nodeUrl","_codeframe","_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","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":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
declare module 'node:module' {
|
|
2
|
+
function _nodeModulePaths(base: string): readonly string[];
|
|
3
|
+
function _resolveFilename(mod: string, parent?: Partial<Module>): string;
|
|
4
|
+
const _extensions: Record<string, unknown>;
|
|
5
|
+
}
|
|
6
|
+
export interface ResolveFromParams {
|
|
7
|
+
followSymlinks?: boolean;
|
|
8
|
+
skipNodePath?: boolean;
|
|
9
|
+
extensions?: readonly string[];
|
|
10
|
+
}
|
|
11
|
+
export declare function resolveFrom(fromDirectory: string, moduleId: string, params?: ResolveFromParams): string | null;
|
package/build/resolve.js
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.resolveFrom = resolveFrom;
|
|
7
|
+
function _nodeFs() {
|
|
8
|
+
const data = _interopRequireDefault(require("node:fs"));
|
|
9
|
+
_nodeFs = function () {
|
|
10
|
+
return data;
|
|
11
|
+
};
|
|
12
|
+
return data;
|
|
13
|
+
}
|
|
14
|
+
function _nodeModule() {
|
|
15
|
+
const data = _interopRequireDefault(require("node:module"));
|
|
16
|
+
_nodeModule = function () {
|
|
17
|
+
return data;
|
|
18
|
+
};
|
|
19
|
+
return data;
|
|
20
|
+
}
|
|
21
|
+
function _nodePath() {
|
|
22
|
+
const data = _interopRequireDefault(require("node:path"));
|
|
23
|
+
_nodePath = function () {
|
|
24
|
+
return data;
|
|
25
|
+
};
|
|
26
|
+
return data;
|
|
27
|
+
}
|
|
28
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
29
|
+
function resolveFrom(fromDirectory, moduleId, params) {
|
|
30
|
+
// We exclude extension resolution, if we're resolving a plain JSON file
|
|
31
|
+
const isJSON = moduleId.endsWith('.json');
|
|
32
|
+
const exts = !isJSON ? params?.extensions ?? Object.keys(_nodeModule().default._extensions) : [];
|
|
33
|
+
const skipNodePath = !!params?.skipNodePath;
|
|
34
|
+
const followSymlinks = params?.followSymlinks ?? skipNodePath;
|
|
35
|
+
const resolved = _nodePath().default.resolve(fromDirectory, moduleId);
|
|
36
|
+
// (1) check direct path / exact match
|
|
37
|
+
if (_nodeFs().default.existsSync(resolved)) {
|
|
38
|
+
return resolved;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// (2) check against direct path matches with extensions
|
|
42
|
+
for (let ext of exts) {
|
|
43
|
+
ext = ext[0] !== '.' ? `.${ext}` : ext;
|
|
44
|
+
const withExt = resolved + ext;
|
|
45
|
+
if (_nodeFs().default.existsSync(withExt)) {
|
|
46
|
+
return withExt;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// (3) if we're not following symlinks, we try to resolve against `node_modules` folders unresolved
|
|
51
|
+
if (!followSymlinks || skipNodePath) {
|
|
52
|
+
const resolvedDir = _nodePath().default.resolve(fromDirectory);
|
|
53
|
+
const moduleDirs = _nodeModule().default._nodeModulePaths(resolvedDir);
|
|
54
|
+
for (const modulesDir of moduleDirs) {
|
|
55
|
+
const candidate = _nodePath().default.join(modulesDir, moduleId);
|
|
56
|
+
// (3.1) direct match
|
|
57
|
+
if (_nodeFs().default.existsSync(candidate)) {
|
|
58
|
+
return candidate;
|
|
59
|
+
}
|
|
60
|
+
// (3.2) check against match with extensions
|
|
61
|
+
for (let ext of exts) {
|
|
62
|
+
ext = ext[0] !== '.' ? `.${ext}` : ext;
|
|
63
|
+
const candidateWithExt = candidate + ext;
|
|
64
|
+
if (_nodeFs().default.existsSync(candidateWithExt)) {
|
|
65
|
+
return followSymlinks ? maybeResolve(candidateWithExt) : candidateWithExt;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// (4): Fallback to native Node resolution, if `skipNodePath` is disabled
|
|
72
|
+
return !skipNodePath ? nativeResolveFrom(fromDirectory, moduleId) : null;
|
|
73
|
+
}
|
|
74
|
+
function nativeResolveFrom(fromDirectory, moduleId) {
|
|
75
|
+
try {
|
|
76
|
+
const resolvedDir = maybeResolve(fromDirectory);
|
|
77
|
+
const fromFile = _nodePath().default.join(resolvedDir, 'index.js');
|
|
78
|
+
return _nodeModule().default._resolveFilename(moduleId, {
|
|
79
|
+
id: fromFile,
|
|
80
|
+
filename: fromFile,
|
|
81
|
+
paths: [..._nodeModule().default._nodeModulePaths(resolvedDir)]
|
|
82
|
+
});
|
|
83
|
+
} catch {
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
function maybeResolve(target) {
|
|
88
|
+
target = _nodePath().default.resolve(process.cwd(), target);
|
|
89
|
+
try {
|
|
90
|
+
return _nodeFs().default.realpathSync(target);
|
|
91
|
+
} catch {
|
|
92
|
+
return target;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=resolve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.js","names":["_nodeFs","data","_interopRequireDefault","require","_nodeModule","_nodePath","e","__esModule","default","resolveFrom","fromDirectory","moduleId","params","isJSON","endsWith","exts","extensions","Object","keys","Module","_extensions","skipNodePath","followSymlinks","resolved","path","resolve","fs","existsSync","ext","withExt","resolvedDir","moduleDirs","_nodeModulePaths","modulesDir","candidate","join","candidateWithExt","maybeResolve","nativeResolveFrom","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 skipNodePath?: boolean;\n extensions?: readonly string[];\n}\n\nexport function resolveFrom(\n fromDirectory: string,\n moduleId: string,\n params?: ResolveFromParams\n): string | null {\n // We exclude extension resolution, if we're resolving a plain JSON file\n const isJSON = moduleId.endsWith('.json');\n const exts = !isJSON ? (params?.extensions ?? Object.keys(Module._extensions)) : [];\n\n const skipNodePath = !!params?.skipNodePath;\n const followSymlinks = params?.followSymlinks ?? skipNodePath;\n\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 (!followSymlinks || skipNodePath) {\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 followSymlinks ? maybeResolve(candidateWithExt) : candidateWithExt;\n }\n }\n }\n }\n\n // (4): Fallback to native Node resolution, if `skipNodePath` is disabled\n return !skipNodePath ? nativeResolveFrom(fromDirectory, moduleId) : null;\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":[]}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.resolveGlobal = void 0;
|
|
7
|
+
function _nodeChild_process() {
|
|
8
|
+
const data = require("node:child_process");
|
|
9
|
+
_nodeChild_process = function () {
|
|
10
|
+
return data;
|
|
11
|
+
};
|
|
12
|
+
return data;
|
|
13
|
+
}
|
|
14
|
+
function _nodeFs() {
|
|
15
|
+
const data = _interopRequireDefault(require("node:fs"));
|
|
16
|
+
_nodeFs = function () {
|
|
17
|
+
return data;
|
|
18
|
+
};
|
|
19
|
+
return data;
|
|
20
|
+
}
|
|
21
|
+
function _nodeModule() {
|
|
22
|
+
const data = _interopRequireDefault(require("node:module"));
|
|
23
|
+
_nodeModule = function () {
|
|
24
|
+
return data;
|
|
25
|
+
};
|
|
26
|
+
return data;
|
|
27
|
+
}
|
|
28
|
+
function _nodeOs() {
|
|
29
|
+
const data = _interopRequireDefault(require("node:os"));
|
|
30
|
+
_nodeOs = function () {
|
|
31
|
+
return data;
|
|
32
|
+
};
|
|
33
|
+
return data;
|
|
34
|
+
}
|
|
35
|
+
function _nodePath() {
|
|
36
|
+
const data = _interopRequireDefault(require("node:path"));
|
|
37
|
+
_nodePath = function () {
|
|
38
|
+
return data;
|
|
39
|
+
};
|
|
40
|
+
return data;
|
|
41
|
+
}
|
|
42
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
43
|
+
const memoize = fn => {
|
|
44
|
+
let result;
|
|
45
|
+
return (...args) => {
|
|
46
|
+
if (result === undefined) {
|
|
47
|
+
result = {
|
|
48
|
+
value: fn(...args)
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
return result.value;
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
const isWindows = process.platform === 'win32';
|
|
55
|
+
const getDelimitedPaths = delimited => delimited.split(_nodePath().default.delimiter).map(target => {
|
|
56
|
+
try {
|
|
57
|
+
const normalized = _nodePath().default.normalize(target.trim());
|
|
58
|
+
if (!normalized) {
|
|
59
|
+
return null;
|
|
60
|
+
} else if (!_nodePath().default.isAbsolute(normalized)) {
|
|
61
|
+
return _nodePath().default.resolve(process.cwd(), normalized);
|
|
62
|
+
} else {
|
|
63
|
+
return normalized;
|
|
64
|
+
}
|
|
65
|
+
} catch {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
}).filter(target => !!target);
|
|
69
|
+
const execGetPaths = (cmd, args) => {
|
|
70
|
+
const result = (0, _nodeChild_process().spawnSync)(cmd, args, {
|
|
71
|
+
encoding: 'utf8'
|
|
72
|
+
});
|
|
73
|
+
if (!result.error && result.status === 0 && result.stdout) {
|
|
74
|
+
const paths = getDelimitedPaths(result.stdout.replace(/[\r\n]+/g, _nodePath().default.delimiter));
|
|
75
|
+
return paths.filter(target => _nodeFs().default.existsSync(target));
|
|
76
|
+
}
|
|
77
|
+
return [];
|
|
78
|
+
};
|
|
79
|
+
const getNativeNodePaths = () => {
|
|
80
|
+
if (Array.isArray(_nodeModule().default.globalPaths)) {
|
|
81
|
+
return _nodeModule().default.globalPaths;
|
|
82
|
+
} else {
|
|
83
|
+
return [];
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
const getHomePath = memoize(() => {
|
|
87
|
+
try {
|
|
88
|
+
return _nodeOs().default.homedir();
|
|
89
|
+
} catch {
|
|
90
|
+
return isWindows ? process.env.UserProfile ?? process.env.USERPROFILE : process.env.HOME;
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
const getNpmDefaultPaths = () => {
|
|
94
|
+
const prefix = [];
|
|
95
|
+
const localAppData = process.env.LocalAppData || process.env.LOCALAPPDATA;
|
|
96
|
+
if (isWindows && localAppData) {
|
|
97
|
+
prefix.push(_nodePath().default.resolve(localAppData, 'npm'));
|
|
98
|
+
} else if (!isWindows) {
|
|
99
|
+
prefix.push('/usr/local/lib/node_modules');
|
|
100
|
+
}
|
|
101
|
+
return prefix.filter(target => _nodeFs().default.existsSync(target));
|
|
102
|
+
};
|
|
103
|
+
const getNpmPrefixPaths = memoize(() => {
|
|
104
|
+
const npmPrefix = execGetPaths(isWindows ? 'npm.cmd' : 'npm', ['config', '-g', 'get', 'prefix']);
|
|
105
|
+
return npmPrefix.map(prefix => _nodePath().default.resolve(prefix, 'lib'));
|
|
106
|
+
});
|
|
107
|
+
const getYarnDefaultPaths = () => {
|
|
108
|
+
const prefix = [];
|
|
109
|
+
const homePath = getHomePath();
|
|
110
|
+
const localAppData = process.env.LocalAppData || process.env.LOCALAPPDATA;
|
|
111
|
+
const dataHomePath = process.env.XDG_DATA_HOME || homePath && _nodePath().default.join(homePath, '.local', 'share');
|
|
112
|
+
if (isWindows && localAppData) {
|
|
113
|
+
prefix.push(_nodePath().default.resolve(localAppData, 'Yarn', 'global'));
|
|
114
|
+
}
|
|
115
|
+
if (dataHomePath) {
|
|
116
|
+
prefix.push(_nodePath().default.resolve(dataHomePath, 'yarn', 'global'));
|
|
117
|
+
}
|
|
118
|
+
if (homePath) {
|
|
119
|
+
prefix.push(_nodePath().default.resolve(homePath, '.yarn', 'global'));
|
|
120
|
+
}
|
|
121
|
+
return prefix.filter(target => _nodeFs().default.existsSync(target));
|
|
122
|
+
};
|
|
123
|
+
const getYarnPrefixPaths = memoize(() => {
|
|
124
|
+
return execGetPaths(isWindows ? 'yarn.cmd' : 'yarn', ['global', 'dir']);
|
|
125
|
+
});
|
|
126
|
+
const getPnpmPrefixPaths = memoize(() => {
|
|
127
|
+
return execGetPaths(isWindows ? 'pnpm.cmd' : 'pnpm', ['root', '-g']);
|
|
128
|
+
});
|
|
129
|
+
const getBunPrefixPaths = memoize(() => {
|
|
130
|
+
const prefix = [];
|
|
131
|
+
const bunPath = execGetPaths(isWindows ? 'bun.cmd' : 'bun', ['pm', 'bin', '-g'])[0];
|
|
132
|
+
if (!bunPath) {
|
|
133
|
+
return [];
|
|
134
|
+
}
|
|
135
|
+
prefix.push(_nodePath().default.resolve(bunPath, 'global'));
|
|
136
|
+
const moduleEntry = _nodeFs().default.readdirSync(bunPath, {
|
|
137
|
+
withFileTypes: true
|
|
138
|
+
}).find(entry => {
|
|
139
|
+
return entry.isSymbolicLink() && entry.name !== 'global';
|
|
140
|
+
});
|
|
141
|
+
if (moduleEntry) {
|
|
142
|
+
try {
|
|
143
|
+
const moduleTarget = _nodeFs().default.realpathSync(_nodePath().default.resolve(bunPath, moduleEntry.name));
|
|
144
|
+
const splitIdx = moduleTarget.indexOf(_nodePath().default.sep + 'node_modules' + _nodePath().default.sep);
|
|
145
|
+
if (splitIdx > -1) {
|
|
146
|
+
const modulePath = moduleTarget.slice(0, splitIdx);
|
|
147
|
+
prefix.push(modulePath);
|
|
148
|
+
}
|
|
149
|
+
} catch {}
|
|
150
|
+
}
|
|
151
|
+
return prefix.filter(target => _nodeFs().default.existsSync(target));
|
|
152
|
+
});
|
|
153
|
+
const getPaths = () => [...getNpmDefaultPaths(), ...getNpmPrefixPaths(), ...getYarnDefaultPaths(), ...getYarnPrefixPaths(), ...getPnpmPrefixPaths(), ...getBunPrefixPaths(), ...getNativeNodePaths(), process.cwd()];
|
|
154
|
+
|
|
155
|
+
/** Resolve a globally installed module before a locally installed one */
|
|
156
|
+
const resolveGlobal = id => {
|
|
157
|
+
return require.resolve(id, {
|
|
158
|
+
paths: getPaths()
|
|
159
|
+
});
|
|
160
|
+
};
|
|
161
|
+
exports.resolveGlobal = resolveGlobal;
|
|
162
|
+
//# sourceMappingURL=resolveGlobal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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":[]}
|
package/build/transform.js
CHANGED
|
@@ -15,6 +15,7 @@ function toCommonJS(filename, code) {
|
|
|
15
15
|
const result = (0, _core().transformSync)(code, {
|
|
16
16
|
filename,
|
|
17
17
|
babelrc: false,
|
|
18
|
+
configFile: false,
|
|
18
19
|
plugins: [[require('@babel/plugin-transform-modules-commonjs'), {
|
|
19
20
|
// NOTE(@kitten): We used to use sucrase to transform, which is why
|
|
20
21
|
// we're doing this CJS-to-ESM transform in the first place. Our
|
package/build/transform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","names":["_core","data","require","toCommonJS","filename","code","result","transformSync","babelrc","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 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,OAAO,EAAE,CACP,
|
|
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":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expo/require-utils",
|
|
3
|
-
"version": "55.0.
|
|
3
|
+
"version": "55.0.3-canary-20260429-a5e59cf",
|
|
4
4
|
"description": "Reusable require and Node resolution utilities library for Expo",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "./build/index.js",
|
|
@@ -13,8 +13,7 @@
|
|
|
13
13
|
"clean": "expo-module clean",
|
|
14
14
|
"lint": "expo-module lint",
|
|
15
15
|
"generate": "node ./scripts/generate.js",
|
|
16
|
-
"
|
|
17
|
-
"prepublishOnly": "expo-module prepublishOnly",
|
|
16
|
+
"prepublishOnly": "pnpm run clean && pnpm run build",
|
|
18
17
|
"test": "expo-module test",
|
|
19
18
|
"typecheck": "expo-module typecheck"
|
|
20
19
|
},
|
|
@@ -28,7 +27,7 @@
|
|
|
28
27
|
"url": "https://github.com/expo/expo/issues"
|
|
29
28
|
},
|
|
30
29
|
"peerDependencies": {
|
|
31
|
-
"typescript": "^5.0.0 || ^5.0.0-0"
|
|
30
|
+
"typescript": "^5.0.0 || ^5.0.0-0 || ^6.0.0"
|
|
32
31
|
},
|
|
33
32
|
"peerDependenciesMeta": {
|
|
34
33
|
"typescript": {
|
|
@@ -41,13 +40,14 @@
|
|
|
41
40
|
"@babel/plugin-transform-modules-commonjs": "^7.24.8"
|
|
42
41
|
},
|
|
43
42
|
"devDependencies": {
|
|
43
|
+
"@babel/cli": "^7.23.4",
|
|
44
|
+
"@types/babel__core": "^7.20.5",
|
|
45
|
+
"@types/babel__code-frame": "^7.27.0",
|
|
44
46
|
"@types/node": "^22.14.0",
|
|
45
|
-
"expo-module-scripts": "
|
|
46
|
-
"memfs": "^3.2.0"
|
|
47
|
-
"typescript": "^5.9.2"
|
|
47
|
+
"expo-module-scripts": "workspace:*",
|
|
48
|
+
"memfs": "^3.2.0"
|
|
48
49
|
},
|
|
49
50
|
"publishConfig": {
|
|
50
51
|
"access": "public"
|
|
51
|
-
}
|
|
52
|
-
"gitHead": "b183e5cbd95eb6ee54a878291c7077d8d63e4850"
|
|
52
|
+
}
|
|
53
53
|
}
|