UNPKG

setup-apt

Version:

Setup apt packages and repositories in Debian/Ubuntu-based distributions

46 lines 4.12 kB
import which from "which"; /** * Check if nala is installed */ export function hasNala() { return process.platform === "linux" && which.sync("nala", { nothrow: true }) !== null; } /** * Check if apt-fast is installed */ export function hasAptFast() { return process.platform === "linux" && which.sync("apt-fast", { nothrow: true }) !== null; } /** * Check if apt is installed */ export function hasApt() { return process.platform === "linux" && which.sync("apt", { nothrow: true }) !== null; } /** * Check if apt-get is installed */ export function hasAptGet() { return process.platform === "linux" && which.sync("apt-get", { nothrow: true }) !== null; } /** * Get the apt command to use * If nala is installed, use that, otherwise use apt-get */ export function getApt() { if (hasNala()) { return "nala"; } else if (hasAptFast()) { return "apt-fast"; // } else if (hasApt()) { // return "apt" } else if (hasAptGet()) { return "apt-get"; } else { throw new Error("No apt command found"); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9nZXQtYXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQUV6Qjs7R0FFRztBQUNILE1BQU0sVUFBVSxPQUFPO0lBQ3JCLE9BQU8sT0FBTyxDQUFDLFFBQVEsS0FBSyxPQUFPLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsS0FBSyxJQUFJLENBQUE7QUFDdkYsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFVBQVU7SUFDeEIsT0FBTyxPQUFPLENBQUMsUUFBUSxLQUFLLE9BQU8sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLElBQUksQ0FBQTtBQUMzRixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsTUFBTTtJQUNwQixPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLEtBQUssSUFBSSxDQUFBO0FBQ3RGLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxTQUFTO0lBQ3ZCLE9BQU8sT0FBTyxDQUFDLFFBQVEsS0FBSyxPQUFPLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsS0FBSyxJQUFJLENBQUE7QUFDMUYsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxNQUFNO0lBQ3BCLElBQUksT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUNkLE9BQU8sTUFBTSxDQUFBO0lBQ2YsQ0FBQztTQUFNLElBQUksVUFBVSxFQUFFLEVBQUUsQ0FBQztRQUN4QixPQUFPLFVBQVUsQ0FBQTtRQUNqQix5QkFBeUI7UUFDekIsaUJBQWlCO0lBQ25CLENBQUM7U0FBTSxJQUFJLFNBQVMsRUFBRSxFQUFFLENBQUM7UUFDdkIsT0FBTyxTQUFTLENBQUE7SUFDbEIsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUE7SUFDekMsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgd2hpY2ggZnJvbSBcIndoaWNoXCJcblxuLyoqXG4gKiBDaGVjayBpZiBuYWxhIGlzIGluc3RhbGxlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFzTmFsYSgpIHtcbiAgcmV0dXJuIHByb2Nlc3MucGxhdGZvcm0gPT09IFwibGludXhcIiAmJiB3aGljaC5zeW5jKFwibmFsYVwiLCB7IG5vdGhyb3c6IHRydWUgfSkgIT09IG51bGxcbn1cblxuLyoqXG4gKiBDaGVjayBpZiBhcHQtZmFzdCBpcyBpbnN0YWxsZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc0FwdEZhc3QoKSB7XG4gIHJldHVybiBwcm9jZXNzLnBsYXRmb3JtID09PSBcImxpbnV4XCIgJiYgd2hpY2guc3luYyhcImFwdC1mYXN0XCIsIHsgbm90aHJvdzogdHJ1ZSB9KSAhPT0gbnVsbFxufVxuXG4vKipcbiAqIENoZWNrIGlmIGFwdCBpcyBpbnN0YWxsZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc0FwdCgpIHtcbiAgcmV0dXJuIHByb2Nlc3MucGxhdGZvcm0gPT09IFwibGludXhcIiAmJiB3aGljaC5zeW5jKFwiYXB0XCIsIHsgbm90aHJvdzogdHJ1ZSB9KSAhPT0gbnVsbFxufVxuXG4vKipcbiAqIENoZWNrIGlmIGFwdC1nZXQgaXMgaW5zdGFsbGVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNBcHRHZXQoKSB7XG4gIHJldHVybiBwcm9jZXNzLnBsYXRmb3JtID09PSBcImxpbnV4XCIgJiYgd2hpY2guc3luYyhcImFwdC1nZXRcIiwgeyBub3Rocm93OiB0cnVlIH0pICE9PSBudWxsXG59XG5cbi8qKlxuICogR2V0IHRoZSBhcHQgY29tbWFuZCB0byB1c2VcbiAqIElmIG5hbGEgaXMgaW5zdGFsbGVkLCB1c2UgdGhhdCwgb3RoZXJ3aXNlIHVzZSBhcHQtZ2V0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBcHQoKSB7XG4gIGlmIChoYXNOYWxhKCkpIHtcbiAgICByZXR1cm4gXCJuYWxhXCJcbiAgfSBlbHNlIGlmIChoYXNBcHRGYXN0KCkpIHtcbiAgICByZXR1cm4gXCJhcHQtZmFzdFwiXG4gICAgLy8gfSBlbHNlIGlmIChoYXNBcHQoKSkge1xuICAgIC8vICAgcmV0dXJuIFwiYXB0XCJcbiAgfSBlbHNlIGlmIChoYXNBcHRHZXQoKSkge1xuICAgIHJldHVybiBcImFwdC1nZXRcIlxuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihcIk5vIGFwdCBjb21tYW5kIGZvdW5kXCIpXG4gIH1cbn1cbiJdfQ==