1"use strict"; 2var __importDefault = (this && this.__importDefault) || function (mod) { 3 return (mod && mod.__esModule) ? mod : { "default": mod }; 4}; 5Object.defineProperty(exports, "__esModule", { value: true }); 6exports.PnpmPackageManager = void 0; 7const BasePackageManager_1 = require("./BasePackageManager"); 8const env_1 = __importDefault(require("../utils/env")); 9const nodeWorkspaces_1 = require("../utils/nodeWorkspaces"); 10class PnpmPackageManager extends BasePackageManager_1.BasePackageManager { 11 constructor() { 12 super(...arguments); 13 this.name = 'pnpm'; 14 this.bin = 'pnpm'; 15 this.lockFile = nodeWorkspaces_1.PNPM_LOCK_FILE; 16 } 17 workspaceRoot() { 18 const root = (0, nodeWorkspaces_1.findPnpmWorkspaceRoot)(this.ensureCwdDefined('workspaceRoot')); 19 if (root) { 20 return new PnpmPackageManager({ 21 ...this.options, 22 silent: this.silent, 23 log: this.log, 24 cwd: root, 25 }); 26 } 27 return null; 28 } 29 installAsync(namesOrFlags = []) { 30 if (env_1.default.CI && !namesOrFlags.join(' ').includes('frozen-lockfile')) { 31 namesOrFlags.unshift('--no-frozen-lockfile'); 32 } 33 return this.runAsync(['install', ...namesOrFlags]); 34 } 35 addAsync(namesOrFlags = []) { 36 if (!namesOrFlags.length) { 37 return this.installAsync(); 38 } 39 return this.runAsync(['add', ...namesOrFlags]); 40 } 41 addDevAsync(namesOrFlags = []) { 42 if (!namesOrFlags.length) { 43 return this.installAsync(); 44 } 45 return this.runAsync(['add', '--save-dev', ...namesOrFlags]); 46 } 47 addGlobalAsync(namesOrFlags = []) { 48 if (!namesOrFlags.length) { 49 return this.installAsync(); 50 } 51 return this.runAsync(['add', '--global', ...namesOrFlags]); 52 } 53 removeAsync(namesOrFlags) { 54 return this.runAsync(['remove', ...namesOrFlags]); 55 } 56 removeDevAsync(namesOrFlags) { 57 return this.runAsync(['remove', '--save-dev', ...namesOrFlags]); 58 } 59 removeGlobalAsync(namesOrFlags) { 60 return this.runAsync(['remove', '--global', ...namesOrFlags]); 61 } 62} 63exports.PnpmPackageManager = PnpmPackageManager; 64//# sourceMappingURL=PnpmPackageManager.js.map