1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.BunPackageManager = void 0;
4const BasePackageManager_1 = require("./BasePackageManager");
5const nodeWorkspaces_1 = require("../utils/nodeWorkspaces");
6class BunPackageManager extends BasePackageManager_1.BasePackageManager {
7    constructor() {
8        super(...arguments);
9        this.name = 'bun';
10        this.bin = 'bun';
11        this.lockFile = nodeWorkspaces_1.BUN_LOCK_FILE;
12    }
13    workspaceRoot() {
14        const root = (0, nodeWorkspaces_1.findYarnOrNpmWorkspaceRoot)(this.ensureCwdDefined('workspaceRoot'));
15        if (root) {
16            return new BunPackageManager({
17                ...this.options,
18                silent: this.silent,
19                log: this.log,
20                cwd: root,
21            });
22        }
23        return null;
24    }
25    installAsync(namesOrFlags = []) {
26        return this.runAsync(['install', ...namesOrFlags]);
27    }
28    addAsync(namesOrFlags = []) {
29        if (!namesOrFlags.length) {
30            return this.installAsync();
31        }
32        const res = this.runAsync(['add', ...namesOrFlags]);
33        console.log(res);
34        return res;
35    }
36    addDevAsync(namesOrFlags = []) {
37        if (!namesOrFlags.length) {
38            return this.installAsync();
39        }
40        return this.runAsync(['add', '--dev', ...namesOrFlags]);
41    }
42    addGlobalAsync(namesOrFlags = []) {
43        if (!namesOrFlags.length) {
44            return this.installAsync();
45        }
46        return this.runAsync(['add', '--global', ...namesOrFlags]);
47    }
48    removeAsync(namesOrFlags) {
49        return this.runAsync(['remove', ...namesOrFlags]);
50    }
51    removeDevAsync(namesOrFlags) {
52        return this.runAsync(['remove', ...namesOrFlags]);
53    }
54    removeGlobalAsync(namesOrFlags) {
55        return this.runAsync(['remove', '--global', ...namesOrFlags]);
56    }
57}
58exports.BunPackageManager = BunPackageManager;
59//# sourceMappingURL=BunPackageManager.js.map