@wocker/ws
Version:
Docker workspace for web projects
30 lines (29 loc) • 1.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.YarnProvider = void 0;
const PackageManagerProvider_1 = require("../types/PackageManagerProvider");
const utils_1 = require("../../../utils");
class YarnProvider extends PackageManagerProvider_1.PackageManagerProvider {
async getPackages() {
const res = await (0, utils_1.exec)("yarn --cwd `yarn global dir` list --json --depth=0"), three = JSON.parse(res), packages = [];
for (const item of three.data.trees) {
const [, name, version] = /^(.*)@(.*)$/.exec(item.name);
packages.push({
name,
version
});
}
return packages;
}
async install(name, version) {
const command = `yarn global add ${version ? `${name}@${version}` : name}`;
console.info(`> ${command}`);
await (0, utils_1.exec)(command);
}
async uninstall(name) {
const command = `yarn global remove ${name}`;
console.info(`> ${command}`);
await (0, utils_1.exec)(command);
}
}
exports.YarnProvider = YarnProvider;