workspace-root
Version:
A simple utility to get the workspace root
50 lines (45 loc) • 1.66 kB
JavaScript
;
var lernaWorkspaceRoot = require('@node-kit/lerna-workspace-root');
var pnpmWorkspaceRoot = require('@node-kit/pnpm-workspace-root');
var yarnWorkspaceRoot = require('@node-kit/yarn-workspace-root');
function asyncGeneratorStep(n, t, e, r, o, a, c) {
try {
var i = n[a](c),
u = i.value;
} catch (n) {
return void e(n);
}
i.done ? t(u) : Promise.resolve(u).then(r, o);
}
function _asyncToGenerator(n) {
return function () {
var t = this,
e = arguments;
return new Promise(function (r, o) {
var a = n.apply(t, e);
function _next(n) {
asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
}
function _throw(n) {
asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
}
_next(void 0);
});
};
}
function workspaceRoot() {
return _workspaceRoot.apply(this, arguments);
}
function _workspaceRoot() {
_workspaceRoot = _asyncToGenerator(function* () {
var cwd = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : process.cwd();
return (yield pnpmWorkspaceRoot.pnpmWorkspaceRoot(cwd)) || (yield yarnWorkspaceRoot.yarnWorkspaceRoot(cwd)) || (yield lernaWorkspaceRoot.lernaWorkspaceRoot(cwd)) || null;
});
return _workspaceRoot.apply(this, arguments);
}
function workspaceRootSync() {
var cwd = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : process.cwd();
return pnpmWorkspaceRoot.pnpmWorkspaceRootSync(cwd) || yarnWorkspaceRoot.yarnWorkspaceRootSync(cwd) || lernaWorkspaceRoot.lernaWorkspaceRootSync(cwd) || null;
}
exports.workspaceRoot = workspaceRoot;
exports.workspaceRootSync = workspaceRootSync;