npx command extended

This commit is contained in:
Sebastian Hildebrandt
2023-08-10 06:31:50 +02:00
parent a7629903b3
commit 8ee81fee96
5 changed files with 96 additions and 13 deletions
Regular → Executable
+66 -6
View File
@@ -17,15 +17,75 @@
// Dependencies
// ----------------------------------------------------------------------------------
const si = require('./index');
const lib_version = require('../package.json').version;
function capFirst(string) {
return string[0].toUpperCase() + string.slice(1);
}
function printLines(obj) {
for (const property in obj) {
console.log(capFirst(property) + ' '.substring(0, 17 - property.length) + ': ' + (obj[property] || ''));
}
console.log();
}
function info() {
console.log('┌─────────────────────────────────────────────────────────────────────────────────────────┐');
console.log('│ SYSTEMINFORMATION '.substring(0, 80 - lib_version.length) + 'Version: ' + lib_version + ' │');
console.log('└─────────────────────────────────────────────────────────────────────────────────────────┘');
si.osInfo().then(res => {
console.log();
console.log('Operating System:');
console.log('──────────────────────────────────────────────────────────────────────────────────────────');
delete res.serial;
delete res.servicepack;
delete res.logofile;
delete res.fqdn;
delete res.uefi;
printLines(res);
si.system().then(res => {
console.log('System:');
console.log('──────────────────────────────────────────────────────────────────────────────────────────');
delete res.serial;
delete res.uuid;
delete res.sku;
delete res.uuid;
printLines(res);
si.cpu().then(res => {
console.log('CPU:');
console.log('──────────────────────────────────────────────────────────────────────────────────────────');
delete res.cache;
delete res.governor;
delete res.flags;
delete res.virtualization;
delete res.revision;
delete res.voltage;
delete res.vendor;
delete res.speedMin;
delete res.speedMax;
printLines(res);
});
});
});
}
// ----------------------------------------------------------------------------------
// Main
// ----------------------------------------------------------------------------------
(function () {
si.getStaticData().then(
((data) => {
data.time = si.time();
console.log(JSON.stringify(data, null, 2));
}
));
const args = process.argv.slice(2);
if (args[0] === 'info') {
info();
} else {
si.getStaticData().then(
((data) => {
data.time = si.time();
console.log(JSON.stringify(data, null, 2));
}
));
}
})();