UNPKG

jsm-utilities

Version:
22 lines (21 loc) 939 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getDiskUsage = getDiskUsage; const child_process_1 = require("child_process"); function getDiskUsage(path = "/") { return new Promise((resolve, reject) => { (0, child_process_1.exec)(`df -k '${path}'`, (error, stdout) => { if (error) return reject(error); const lines = stdout.trim().split("\n"); if (lines.length < 2) return reject(new Error("Unexpected df output")); const parts = lines[1].split(/\s+/); const size = parseInt(parts[1], 10) * 1024; // total in bytes const used = parseInt(parts[2], 10) * 1024; // used in bytes const available = parseInt(parts[3], 10) * 1024; const percent = parseInt(parts[4].replace("%", ""), 10); resolve({ size, used, available, percent }); }); }); }