| 123456789101112131415161718192021222324252627282930 |
- import path from "path";
- import resolve from "resolve";
- export default function (moduleName, dirname, absoluteRuntime) {
- if (absoluteRuntime === false) return moduleName;
- return resolveAbsoluteRuntime(
- moduleName,
- path.resolve(dirname, absoluteRuntime === true ? "." : absoluteRuntime),
- );
- }
- function resolveAbsoluteRuntime(moduleName: string, dirname: string) {
- try {
- return path
- .dirname(resolve.sync(`${moduleName}/package.json`, { basedir: dirname }))
- .replace(/\\/g, "/");
- } catch (err) {
- if (err.code !== "MODULE_NOT_FOUND") throw err;
- throw Object.assign(
- new Error(`Failed to resolve "${moduleName}" relative to "${dirname}"`),
- {
- code: "BABEL_RUNTIME_NOT_FOUND",
- runtime: moduleName,
- dirname,
- },
- );
- }
- }
|