better-npm-init
Version:
A better version of npm init, with templates and more. Usage: better-npm-init <template> [--yarn] [--install] [--git] [--yes] [--help]
33 lines (24 loc) • 2.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = workingDir;
require("source-map-support/register");
var _fsExtra = _interopRequireDefault(require("fs-extra"));
var _path = _interopRequireDefault(require("path"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function workingDir(dir, cwd, checkExisting = true) {
let finalDir = dir;
if (cwd) {
if (_path.default.isAbsolute(cwd) && (!checkExisting || _fsExtra.default.existsSync(cwd))) {
finalDir = cwd;
} else {
const resolved = _path.default.resolve(finalDir, cwd);
if (!checkExisting || _fsExtra.default.existsSync(resolved)) {
finalDir = resolved;
}
}
}
return finalDir;
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL3dvcmtpbmctZGlyLnRzIl0sIm5hbWVzIjpbIndvcmtpbmdEaXIiLCJkaXIiLCJjd2QiLCJjaGVja0V4aXN0aW5nIiwiZmluYWxEaXIiLCJwYXRoIiwiaXNBYnNvbHV0ZSIsImZzIiwiZXhpc3RzU3luYyIsInJlc29sdmVkIiwicmVzb2x2ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7Ozs7QUFFZSxTQUFTQSxVQUFULENBQW9CQyxHQUFwQixFQUFpQ0MsR0FBakMsRUFBOENDLGFBQWEsR0FBRyxJQUE5RCxFQUE0RTtBQUN6RixNQUFJQyxRQUFRLEdBQUdILEdBQWY7O0FBQ0EsTUFBSUMsR0FBSixFQUFTO0FBQ1AsUUFBSUcsY0FBS0MsVUFBTCxDQUFnQkosR0FBaEIsTUFBeUIsQ0FBQ0MsYUFBRCxJQUFrQkksaUJBQUdDLFVBQUgsQ0FBY04sR0FBZCxDQUEzQyxDQUFKLEVBQW9FO0FBQ2xFRSxNQUFBQSxRQUFRLEdBQUdGLEdBQVg7QUFDRCxLQUZELE1BRU87QUFDTCxZQUFNTyxRQUFRLEdBQUdKLGNBQUtLLE9BQUwsQ0FBYU4sUUFBYixFQUF1QkYsR0FBdkIsQ0FBakI7O0FBQ0EsVUFBSSxDQUFDQyxhQUFELElBQWtCSSxpQkFBR0MsVUFBSCxDQUFjQyxRQUFkLENBQXRCLEVBQStDO0FBQzdDTCxRQUFBQSxRQUFRLEdBQUdLLFFBQVg7QUFDRDtBQUNGO0FBQ0Y7O0FBRUQsU0FBT0wsUUFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB3b3JraW5nRGlyKGRpcjogc3RyaW5nLCBjd2Q6IHN0cmluZywgY2hlY2tFeGlzdGluZyA9IHRydWUpOiBzdHJpbmcge1xuICBsZXQgZmluYWxEaXIgPSBkaXI7XG4gIGlmIChjd2QpIHtcbiAgICBpZiAocGF0aC5pc0Fic29sdXRlKGN3ZCkgJiYgKCFjaGVja0V4aXN0aW5nIHx8IGZzLmV4aXN0c1N5bmMoY3dkKSkpIHtcbiAgICAgIGZpbmFsRGlyID0gY3dkO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByZXNvbHZlZCA9IHBhdGgucmVzb2x2ZShmaW5hbERpciwgY3dkKTtcbiAgICAgIGlmICghY2hlY2tFeGlzdGluZyB8fCBmcy5leGlzdHNTeW5jKHJlc29sdmVkKSkge1xuICAgICAgICBmaW5hbERpciA9IHJlc29sdmVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmaW5hbERpcjtcbn1cbiJdfQ==