You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.3 KiB
44 lines
1.3 KiB
3 years ago
|
"use strict";
|
||
|
|
||
|
Object.defineProperty(exports, "__esModule", {
|
||
|
value: true
|
||
|
});
|
||
|
exports.default = _default;
|
||
|
exports.resolveFSPath = resolveFSPath;
|
||
|
|
||
|
var _path = require("path");
|
||
|
|
||
|
var _module = require("module");
|
||
|
|
||
|
function _default(moduleName, dirname, absoluteRuntime) {
|
||
|
if (absoluteRuntime === false) return moduleName;
|
||
|
return resolveAbsoluteRuntime(moduleName, _path.resolve(dirname, absoluteRuntime === true ? "." : absoluteRuntime));
|
||
|
}
|
||
|
|
||
|
function resolveAbsoluteRuntime(moduleName, dirname) {
|
||
|
try {
|
||
|
return _path.dirname((((v, w) => (v = v.split("."), w = w.split("."), +v[0] > +w[0] || v[0] == w[0] && +v[1] >= +w[1]))(process.versions.node, "8.9") ? require.resolve : (r, {
|
||
|
paths: [b]
|
||
|
}, M = require("module")) => {
|
||
|
let f = M._findPath(r, M._nodeModulePaths(b).concat(b));
|
||
|
|
||
|
if (f) return f;
|
||
|
f = new Error(`Cannot resolve module '${r}'`);
|
||
|
f.code = "MODULE_NOT_FOUND";
|
||
|
throw f;
|
||
|
})(`${moduleName}/package.json`, {
|
||
|
paths: [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
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function resolveFSPath(path) {
|
||
|
return require.resolve(path).replace(/\\/g, "/");
|
||
|
}
|