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.
32 lines
1.0 KiB
32 lines
1.0 KiB
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.default = _default;
|
|
|
|
var _path = _interopRequireDefault(require("path"));
|
|
|
|
var _resolve = _interopRequireDefault(require("resolve"));
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
function _default(moduleName, dirname, absoluteRuntime) {
|
|
if (absoluteRuntime === false) return moduleName;
|
|
return resolveAbsoluteRuntime(moduleName, _path.default.resolve(dirname, absoluteRuntime === true ? "." : absoluteRuntime));
|
|
}
|
|
|
|
function resolveAbsoluteRuntime(moduleName, dirname) {
|
|
try {
|
|
return _path.default.dirname(_resolve.default.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
|
|
});
|
|
}
|
|
}
|