UNPKG

hivessh

Version:

HiveSsh is an innovative library designed to streamline SSH2 connections and simplify task execution on Linux servers.

39 lines 6.36 kB
import { AbstractPackageManagerWrapper } from "./apm.js"; import { initAptApm } from "./impl/apt.js"; import { initDnfApm } from "./impl/dnf.js"; import { initYumApm } from "./impl/yum.js"; export const apmChecker = []; /** * @deprecated The AbstractPackageManager (APM) feature will be removed in the future to more focus on the core problems and solutions */ export async function getApm(sshHost) { for (const apmCheck of apmChecker) { const apm = await apmCheck(sshHost); if (apm) { return new AbstractPackageManagerWrapper(apm); } } throw new Error("No package manager found for:\n" + " " + sshHost.settings.user + "@" + sshHost.settings.host + ":" + sshHost.settings.port); } export function registerDefaultApmMapperChecker() { apmChecker.push(async (sshHost) => { if (await sshHost.cmdExists("apt") && await sshHost.cmdExists("apt-get")) { return initAptApm(sshHost); } }); apmChecker.push(async (sshHost) => { if (await sshHost.cmdExists("dnf")) { return initDnfApm(sshHost); } }); apmChecker.push(async (sshHost) => { if (await sshHost.cmdExists("yum")) { return initYumApm(sshHost); } }); } registerDefaultApmMapperChecker(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcG0vY2hlY2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFnQjFDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBaUIsRUFBRSxDQUFBO0FBRTFDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxNQUFNLENBQ3hCLE9BQWdCO0lBRWhCLEtBQUssTUFBTSxRQUFRLElBQUksVUFBVSxFQUFFLENBQUM7UUFDaEMsTUFBTSxHQUFHLEdBQUcsTUFBTSxRQUFRLENBQ3RCLE9BQU8sQ0FDVixDQUFBO1FBQ0QsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNOLE9BQU8sSUFBSSw2QkFBNkIsQ0FDcEMsR0FBRyxDQUNOLENBQUE7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sSUFBSSxLQUFLLENBQ1gsaUNBQWlDO1FBQ2pDLElBQUksR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxHQUFHO1FBQ2xDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDdEQsQ0FBQTtBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsK0JBQStCO0lBQzNDLFVBQVUsQ0FBQyxJQUFJLENBQ1gsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQ2QsSUFDSSxNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1lBQzlCLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFDcEMsQ0FBQztZQUNDLE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQzlCLENBQUM7SUFDTCxDQUFDLENBQ0osQ0FBQTtJQUVELFVBQVUsQ0FBQyxJQUFJLENBQ1gsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQ2QsSUFDSSxNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQ2hDLENBQUM7WUFDQyxPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUM5QixDQUFDO0lBQ0wsQ0FBQyxDQUNKLENBQUE7SUFFRCxVQUFVLENBQUMsSUFBSSxDQUNYLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUNkLElBQ0ksTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUNoQyxDQUFDO1lBQ0MsT0FBTyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDOUIsQ0FBQztJQUNMLENBQUMsQ0FDSixDQUFBO0FBQ0wsQ0FBQztBQUVELCtCQUErQixFQUFFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTc2hIb3N0IH0gZnJvbSBcIi4uL1NzaEhvc3QuanNcIlxuaW1wb3J0IHsgQXdhaXRhYmxlIH0gZnJvbSBcIi4uL3V0aWxzL2Jhc2UuanNcIlxuaW1wb3J0IHsgQWJzdHJhY3RQYWNrYWdlTWFuYWdlciB9IGZyb20gXCIuL0FwbUludGVyZmFjZS5qc1wiXG5pbXBvcnQgeyBBYnN0cmFjdFBhY2thZ2VNYW5hZ2VyV3JhcHBlciB9IGZyb20gXCIuL2FwbS5qc1wiXG5pbXBvcnQgeyBpbml0QXB0QXBtIH0gZnJvbSBcIi4vaW1wbC9hcHQuanNcIlxuaW1wb3J0IHsgaW5pdERuZkFwbSB9IGZyb20gXCIuL2ltcGwvZG5mLmpzXCJcbmltcG9ydCB7IGluaXRZdW1BcG0gfSBmcm9tIFwiLi9pbXBsL3l1bS5qc1wiXG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVGhlIEFic3RyYWN0UGFja2FnZU1hbmFnZXIgKEFQTSkgZmVhdHVyZSB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIGZ1dHVyZSB0byBtb3JlIGZvY3VzIG9uIHRoZSBjb3JlIHByb2JsZW1zIGFuZCBzb2x1dGlvbnNcbiAqL1xuZXhwb3J0IHR5cGUgQXBtSW5pdCA9IChcbiAgICBzc2hIb3N0OiBTc2hIb3N0XG4pID0+IEF3YWl0YWJsZTxBYnN0cmFjdFBhY2thZ2VNYW5hZ2VyPlxuXG4vKipcbiAqIEBkZXByZWNhdGVkIFRoZSBBYnN0cmFjdFBhY2thZ2VNYW5hZ2VyIChBUE0pIGZlYXR1cmUgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBmdXR1cmUgdG8gbW9yZSBmb2N1cyBvbiB0aGUgY29yZSBwcm9ibGVtcyBhbmQgc29sdXRpb25zXG4gKi9cbmV4cG9ydCB0eXBlIEFwbUNoZWNrZXIgPSAoXG4gICAgc3NoSG9zdDogU3NoSG9zdCxcbikgPT4gQXdhaXRhYmxlPEFic3RyYWN0UGFja2FnZU1hbmFnZXIgfCB1bmRlZmluZWQgfCB2b2lkPlxuXG5leHBvcnQgY29uc3QgYXBtQ2hlY2tlcjogQXBtQ2hlY2tlcltdID0gW11cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBUaGUgQWJzdHJhY3RQYWNrYWdlTWFuYWdlciAoQVBNKSBmZWF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgZnV0dXJlIHRvIG1vcmUgZm9jdXMgb24gdGhlIGNvcmUgcHJvYmxlbXMgYW5kIHNvbHV0aW9uc1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0QXBtKFxuICAgIHNzaEhvc3Q6IFNzaEhvc3Rcbik6IFByb21pc2U8QWJzdHJhY3RQYWNrYWdlTWFuYWdlcldyYXBwZXI+IHtcbiAgICBmb3IgKGNvbnN0IGFwbUNoZWNrIG9mIGFwbUNoZWNrZXIpIHtcbiAgICAgICAgY29uc3QgYXBtID0gYXdhaXQgYXBtQ2hlY2soXG4gICAgICAgICAgICBzc2hIb3N0LFxuICAgICAgICApXG4gICAgICAgIGlmIChhcG0pIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgQWJzdHJhY3RQYWNrYWdlTWFuYWdlcldyYXBwZXIoXG4gICAgICAgICAgICAgICAgYXBtXG4gICAgICAgICAgICApXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiTm8gcGFja2FnZSBtYW5hZ2VyIGZvdW5kIGZvcjpcXG5cIiArXG4gICAgICAgIFwiICBcIiArIHNzaEhvc3Quc2V0dGluZ3MudXNlciArIFwiQFwiICtcbiAgICAgICAgc3NoSG9zdC5zZXR0aW5ncy5ob3N0ICsgXCI6XCIgKyBzc2hIb3N0LnNldHRpbmdzLnBvcnRcbiAgICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckRlZmF1bHRBcG1NYXBwZXJDaGVja2VyKCk6IHZvaWQge1xuICAgIGFwbUNoZWNrZXIucHVzaChcbiAgICAgICAgYXN5bmMgKHNzaEhvc3QpID0+IHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBhd2FpdCBzc2hIb3N0LmNtZEV4aXN0cyhcImFwdFwiKSAmJlxuICAgICAgICAgICAgICAgIGF3YWl0IHNzaEhvc3QuY21kRXhpc3RzKFwiYXB0LWdldFwiKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGluaXRBcHRBcG0oc3NoSG9zdClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIClcblxuICAgIGFwbUNoZWNrZXIucHVzaChcbiAgICAgICAgYXN5bmMgKHNzaEhvc3QpID0+IHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBhd2FpdCBzc2hIb3N0LmNtZEV4aXN0cyhcImRuZlwiKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGluaXREbmZBcG0oc3NoSG9zdClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIClcblxuICAgIGFwbUNoZWNrZXIucHVzaChcbiAgICAgICAgYXN5bmMgKHNzaEhvc3QpID0+IHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBhd2FpdCBzc2hIb3N0LmNtZEV4aXN0cyhcInl1bVwiKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGluaXRZdW1BcG0oc3NoSG9zdClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIClcbn1cblxucmVnaXN0ZXJEZWZhdWx0QXBtTWFwcGVyQ2hlY2tlcigpXG5cbiJdfQ==