UNPKG

2.72 kBJavaScriptView Raw
1"use strict";
2var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4 return new (P || (P = Promise))(function (resolve, reject) {
5 function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6 function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7 function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8 step((generator = generator.apply(thisArg, _arguments || [])).next());
9 });
10};
11Object.defineProperty(exports, "__esModule", { value: true });
12exports.PackageManagerFactory = void 0;
13const fs_1 = require("fs");
14const npm_package_manager_1 = require("./npm.package-manager");
15const package_manager_1 = require("./package-manager");
16const yarn_package_manager_1 = require("./yarn.package-manager");
17const pnpm_package_manager_1 = require("./pnpm.package-manager");
18class PackageManagerFactory {
19 static create(name) {
20 switch (name) {
21 case package_manager_1.PackageManager.NPM:
22 return new npm_package_manager_1.NpmPackageManager();
23 case package_manager_1.PackageManager.YARN:
24 return new yarn_package_manager_1.YarnPackageManager();
25 case package_manager_1.PackageManager.PNPM:
26 return new pnpm_package_manager_1.PnpmPackageManager();
27 default:
28 throw new Error(`Package manager ${name} is not managed.`);
29 }
30 }
31 static find() {
32 return __awaiter(this, void 0, void 0, function* () {
33 return new Promise((resolve) => {
34 (0, fs_1.readdir)(process.cwd(), (error, files) => {
35 if (error) {
36 resolve(this.create(package_manager_1.PackageManager.NPM));
37 }
38 else {
39 if (files.findIndex((filename) => filename === 'yarn.lock') > -1) {
40 resolve(this.create(package_manager_1.PackageManager.YARN));
41 }
42 else if (files.findIndex((filename) => filename === 'pnpm-lock.yaml') > -1) {
43 resolve(this.create(package_manager_1.PackageManager.PNPM));
44 }
45 else {
46 resolve(this.create(package_manager_1.PackageManager.NPM));
47 }
48 }
49 });
50 });
51 });
52 }
53}
54exports.PackageManagerFactory = PackageManagerFactory;