UNPKG

@naandalist/patch-package

Version:
63 lines (62 loc) 7.78 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.detectPackageManager = void 0; const fs_extra_1 = __importDefault(require("fs-extra")); const path_1 = require("./path"); const chalk_1 = __importDefault(require("chalk")); const process_1 = __importDefault(require("process")); const find_workspaces_1 = require("find-workspaces"); function printNoYarnLockfileError() { console.log(` ${chalk_1.default.red.bold("**ERROR**")} ${chalk_1.default.red(`The --use-yarn option was specified but there is no yarn.lock file`)} `); } function printNoLockfilesError() { console.log(` ${chalk_1.default.red.bold("**ERROR**")} ${chalk_1.default.red(`No package-lock.json, npm-shrinkwrap.json, or yarn.lock file. You must use either npm@>=5, yarn, or npm-shrinkwrap to manage this project's dependencies.`)} `); } function printSelectingDefaultMessage() { console.info(`${chalk_1.default.bold("patch-package")}: you have both yarn.lock and package-lock.json Defaulting to using ${chalk_1.default.bold("npm")} You can override this setting by passing --use-yarn or deleting package-lock.json if you don't need it `); } const detectPackageManager = (appPath, overridePackageManager) => { var _a, _b; const lockfilePath = (_b = (_a = (0, find_workspaces_1.findWorkspacesRoot)(appPath)) === null || _a === void 0 ? void 0 : _a.location) !== null && _b !== void 0 ? _b : appPath; const packageLockExists = fs_extra_1.default.existsSync((0, path_1.join)(lockfilePath, "package-lock.json")); const shrinkWrapExists = fs_extra_1.default.existsSync((0, path_1.join)(lockfilePath, "npm-shrinkwrap.json")); const yarnLockExists = fs_extra_1.default.existsSync((0, path_1.join)(lockfilePath, "yarn.lock")); if ((packageLockExists || shrinkWrapExists) && yarnLockExists) { if (overridePackageManager) { return overridePackageManager; } else { printSelectingDefaultMessage(); return shrinkWrapExists ? "npm-shrinkwrap" : "npm"; } } else if (packageLockExists || shrinkWrapExists) { if (overridePackageManager === "yarn") { printNoYarnLockfileError(); process_1.default.exit(1); } else { return shrinkWrapExists ? "npm-shrinkwrap" : "npm"; } } else if (yarnLockExists) { return "yarn"; } printNoLockfilesError(); process_1.default.exit(1); }; exports.detectPackageManager = detectPackageManager; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0ZWN0UGFja2FnZU1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGV0ZWN0UGFja2FnZU1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsd0RBQXlCO0FBQ3pCLGlDQUE2QjtBQUM3QixrREFBeUI7QUFDekIsc0RBQTZCO0FBQzdCLHFEQUFvRDtBQUlwRCxTQUFTLHdCQUF3QjtJQUMvQixPQUFPLENBQUMsR0FBRyxDQUFDO0VBQ1osZUFBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksZUFBSyxDQUFDLEdBQUcsQ0FDdEMsb0VBQW9FLENBQ3JFO0NBQ0YsQ0FBQyxDQUFBO0FBQ0YsQ0FBQztBQUVELFNBQVMscUJBQXFCO0lBQzVCLE9BQU8sQ0FBQyxHQUFHLENBQUM7RUFDWixlQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxlQUFLLENBQUMsR0FBRyxDQUN0Qzs7O2NBR1UsQ0FDWDtDQUNGLENBQUMsQ0FBQTtBQUNGLENBQUM7QUFFRCxTQUFTLDRCQUE0QjtJQUNuQyxPQUFPLENBQUMsSUFBSSxDQUNWLEdBQUcsZUFBSyxDQUFDLElBQUksQ0FDWCxlQUFlLENBQ2hCO3NCQUNpQixlQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQzs7O0NBR3RDLENBQ0UsQ0FBQTtBQUNILENBQUM7QUFFTSxNQUFNLG9CQUFvQixHQUFHLENBQ2xDLE9BQWUsRUFDZixzQkFBNkMsRUFDN0IsRUFBRTs7SUFDbEIsTUFBTSxZQUFZLEdBQUcsTUFBQSxNQUFBLElBQUEsb0NBQWtCLEVBQUMsT0FBTyxDQUFDLDBDQUFFLFFBQVEsbUNBQUksT0FBTyxDQUFBO0lBQ3JFLE1BQU0saUJBQWlCLEdBQUcsa0JBQUUsQ0FBQyxVQUFVLENBQ3JDLElBQUEsV0FBSSxFQUFDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQyxDQUN4QyxDQUFBO0lBQ0QsTUFBTSxnQkFBZ0IsR0FBRyxrQkFBRSxDQUFDLFVBQVUsQ0FDcEMsSUFBQSxXQUFJLEVBQUMsWUFBWSxFQUFFLHFCQUFxQixDQUFDLENBQzFDLENBQUE7SUFDRCxNQUFNLGNBQWMsR0FBRyxrQkFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFBLFdBQUksRUFBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQTtJQUVyRSxJQUFJLENBQUMsaUJBQWlCLElBQUksZ0JBQWdCLENBQUMsSUFBSSxjQUFjLEVBQUU7UUFDN0QsSUFBSSxzQkFBc0IsRUFBRTtZQUMxQixPQUFPLHNCQUFzQixDQUFBO1NBQzlCO2FBQU07WUFDTCw0QkFBNEIsRUFBRSxDQUFBO1lBQzlCLE9BQU8sZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7U0FDbkQ7S0FDRjtTQUFNLElBQUksaUJBQWlCLElBQUksZ0JBQWdCLEVBQUU7UUFDaEQsSUFBSSxzQkFBc0IsS0FBSyxNQUFNLEVBQUU7WUFDckMsd0JBQXdCLEVBQUUsQ0FBQTtZQUMxQixpQkFBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUNoQjthQUFNO1lBQ0wsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtTQUNuRDtLQUNGO1NBQU0sSUFBSSxjQUFjLEVBQUU7UUFDekIsT0FBTyxNQUFNLENBQUE7S0FDZDtJQUNELHFCQUFxQixFQUFFLENBQUE7SUFDdkIsaUJBQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDakIsQ0FBQyxDQUFBO0FBaENZLFFBQUEsb0JBQW9CLHdCQWdDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCB7IGpvaW4gfSBmcm9tIFwiLi9wYXRoXCJcbmltcG9ydCBjaGFsayBmcm9tIFwiY2hhbGtcIlxuaW1wb3J0IHByb2Nlc3MgZnJvbSBcInByb2Nlc3NcIlxuaW1wb3J0IHsgZmluZFdvcmtzcGFjZXNSb290IH0gZnJvbSBcImZpbmQtd29ya3NwYWNlc1wiXG5cbmV4cG9ydCB0eXBlIFBhY2thZ2VNYW5hZ2VyID0gXCJ5YXJuXCIgfCBcIm5wbVwiIHwgXCJucG0tc2hyaW5rd3JhcFwiXG5cbmZ1bmN0aW9uIHByaW50Tm9ZYXJuTG9ja2ZpbGVFcnJvcigpIHtcbiAgY29uc29sZS5sb2coYFxuJHtjaGFsay5yZWQuYm9sZChcIioqRVJST1IqKlwiKX0gJHtjaGFsay5yZWQoXG4gICAgYFRoZSAtLXVzZS15YXJuIG9wdGlvbiB3YXMgc3BlY2lmaWVkIGJ1dCB0aGVyZSBpcyBubyB5YXJuLmxvY2sgZmlsZWAsXG4gICl9XG5gKVxufVxuXG5mdW5jdGlvbiBwcmludE5vTG9ja2ZpbGVzRXJyb3IoKSB7XG4gIGNvbnNvbGUubG9nKGBcbiR7Y2hhbGsucmVkLmJvbGQoXCIqKkVSUk9SKipcIil9ICR7Y2hhbGsucmVkKFxuICAgIGBObyBwYWNrYWdlLWxvY2suanNvbiwgbnBtLXNocmlua3dyYXAuanNvbiwgb3IgeWFybi5sb2NrIGZpbGUuXG5cbllvdSBtdXN0IHVzZSBlaXRoZXIgbnBtQD49NSwgeWFybiwgb3IgbnBtLXNocmlua3dyYXAgdG8gbWFuYWdlIHRoaXMgcHJvamVjdCdzXG5kZXBlbmRlbmNpZXMuYCxcbiAgKX1cbmApXG59XG5cbmZ1bmN0aW9uIHByaW50U2VsZWN0aW5nRGVmYXVsdE1lc3NhZ2UoKSB7XG4gIGNvbnNvbGUuaW5mbyhcbiAgICBgJHtjaGFsay5ib2xkKFxuICAgICAgXCJwYXRjaC1wYWNrYWdlXCIsXG4gICAgKX06IHlvdSBoYXZlIGJvdGggeWFybi5sb2NrIGFuZCBwYWNrYWdlLWxvY2suanNvblxuRGVmYXVsdGluZyB0byB1c2luZyAke2NoYWxrLmJvbGQoXCJucG1cIil9XG5Zb3UgY2FuIG92ZXJyaWRlIHRoaXMgc2V0dGluZyBieSBwYXNzaW5nIC0tdXNlLXlhcm4gb3IgZGVsZXRpbmdcbnBhY2thZ2UtbG9jay5qc29uIGlmIHlvdSBkb24ndCBuZWVkIGl0XG5gLFxuICApXG59XG5cbmV4cG9ydCBjb25zdCBkZXRlY3RQYWNrYWdlTWFuYWdlciA9IChcbiAgYXBwUGF0aDogc3RyaW5nLFxuICBvdmVycmlkZVBhY2thZ2VNYW5hZ2VyOiBQYWNrYWdlTWFuYWdlciB8IG51bGwsXG4pOiBQYWNrYWdlTWFuYWdlciA9PiB7XG4gIGNvbnN0IGxvY2tmaWxlUGF0aCA9IGZpbmRXb3Jrc3BhY2VzUm9vdChhcHBQYXRoKT8ubG9jYXRpb24gPz8gYXBwUGF0aFxuICBjb25zdCBwYWNrYWdlTG9ja0V4aXN0cyA9IGZzLmV4aXN0c1N5bmMoXG4gICAgam9pbihsb2NrZmlsZVBhdGgsIFwicGFja2FnZS1sb2NrLmpzb25cIiksXG4gIClcbiAgY29uc3Qgc2hyaW5rV3JhcEV4aXN0cyA9IGZzLmV4aXN0c1N5bmMoXG4gICAgam9pbihsb2NrZmlsZVBhdGgsIFwibnBtLXNocmlua3dyYXAuanNvblwiKSxcbiAgKVxuICBjb25zdCB5YXJuTG9ja0V4aXN0cyA9IGZzLmV4aXN0c1N5bmMoam9pbihsb2NrZmlsZVBhdGgsIFwieWFybi5sb2NrXCIpKVxuXG4gIGlmICgocGFja2FnZUxvY2tFeGlzdHMgfHwgc2hyaW5rV3JhcEV4aXN0cykgJiYgeWFybkxvY2tFeGlzdHMpIHtcbiAgICBpZiAob3ZlcnJpZGVQYWNrYWdlTWFuYWdlcikge1xuICAgICAgcmV0dXJuIG92ZXJyaWRlUGFja2FnZU1hbmFnZXJcbiAgICB9IGVsc2Uge1xuICAgICAgcHJpbnRTZWxlY3RpbmdEZWZhdWx0TWVzc2FnZSgpXG4gICAgICByZXR1cm4gc2hyaW5rV3JhcEV4aXN0cyA/IFwibnBtLXNocmlua3dyYXBcIiA6IFwibnBtXCJcbiAgICB9XG4gIH0gZWxzZSBpZiAocGFja2FnZUxvY2tFeGlzdHMgfHwgc2hyaW5rV3JhcEV4aXN0cykge1xuICAgIGlmIChvdmVycmlkZVBhY2thZ2VNYW5hZ2VyID09PSBcInlhcm5cIikge1xuICAgICAgcHJpbnROb1lhcm5Mb2NrZmlsZUVycm9yKClcbiAgICAgIHByb2Nlc3MuZXhpdCgxKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gc2hyaW5rV3JhcEV4aXN0cyA/IFwibnBtLXNocmlua3dyYXBcIiA6IFwibnBtXCJcbiAgICB9XG4gIH0gZWxzZSBpZiAoeWFybkxvY2tFeGlzdHMpIHtcbiAgICByZXR1cm4gXCJ5YXJuXCJcbiAgfVxuICBwcmludE5vTG9ja2ZpbGVzRXJyb3IoKVxuICBwcm9jZXNzLmV4aXQoMSlcbn1cbiJdfQ==