UNPKG

@wocker/ws

Version:

Docker workspace for web projects

31 lines (30 loc) 1.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PnpmProvider = void 0; const PackageManagerProvider_1 = require("../types/PackageManagerProvider"); const utils_1 = require("../../../utils"); class PnpmProvider extends PackageManagerProvider_1.PackageManagerProvider { async getPackages() { const res = await (0, utils_1.exec)("pnpm ls -g --json"), data = JSON.parse(res), dependencies = Array.isArray(data) ? data[0]?.dependencies : data.dependencies, packages = []; if (dependencies) { for (const name in dependencies) { packages.push({ name, version: dependencies[name].version }); } } return packages; } async install(name, version) { const command = `pnpm add -g ${version ? `${name}@${version}` : name}`; console.info(`> ${command}`); await (0, utils_1.exec)(command); } async uninstall(name) { const command = `pnpm remove -g ${name}`; console.info(`> ${command}`); await (0, utils_1.exec)(command); } } exports.PnpmProvider = PnpmProvider;