zedudelist
Version:
The first module I ever made and I'm 12 so don't judge
79 lines (75 loc) • 4.51 kB
JavaScript
const fs = require('fs');
const yargs = require('yargs');
const chalk = require('chalk');
let argv = yargs.argv;
let path = process.env.PWD;
if (argv.l != undefined) {
// this is -l
if (argv.l != true) {
// Direct
path = argv.l;
fs.readdir(path, (err, files) => {
files.join(' ');
for (let i = 0; i < files.length; i++) {
fs.stat(path + "/" + files[i], function (err, stats) {
if (stats.isFile()) {
console.log(chalk.blue('f ' + stats["size"], (stats["mode"] & 1 ? 'x' : '-'), (stats["mode"] & 2 ? 'w' : '-'), (stats["mode"] & 4 ? 'r' : '-'), (stats["mode"] & 10 ? 'x' : '-'), (stats["mode"] & 20 ? 'w' : '-'), (stats["mode"] & 40 ? 'r' : '-'), (stats["mode"] & 100 ? 'x' : '-'), (stats["mode"] & 200 ? 'w' : '-'), (stats["mode"] & 400 ? 'r' : '-'), (stats["mtime"]), files[i]));
} else {
console.log(chalk.green('d ' + stats["size"], (stats["mode"] & 1 ? 'x' : '-'), (stats["mode"] & 2 ? 'w' : '-'), (stats["mode"] & 4 ? 'r' : '-'), (stats["mode"] & 10 ? 'x' : '-'), (stats["mode"] & 20 ? 'w' : '-'), (stats["mode"] & 40 ? 'r' : '-'), (stats["mode"] & 100 ? 'x' : '-'), (stats["mode"] & 200 ? 'w' : '-'), (stats["mode"] & 400 ? 'r' : '-'), (stats["mtime"]), files[i]));
}
});
}
})
} else {
// Defined
if (argv["_"] == undefined) {
path = argv["_"][0];
fs.readdir(path, (err, files) => {
files.join(' ');
for (let i = 0; i < files.length; i++) {
fs.stat(path + "/" + files[i], function (err, stats) {
if (stats.isFile()) {
console.log(chalk.blue('f ' + stats["size"], (stats["mode"] & 1 ? 'x' : '-'), (stats["mode"] & 2 ? 'w' : '-'), (stats["mode"] & 4 ? 'r' : '-'), (stats["mode"] & 10 ? 'x' : '-'), (stats["mode"] & 20 ? 'w' : '-'), (stats["mode"] & 40 ? 'r' : '-'), (stats["mode"] & 100 ? 'x' : '-'), (stats["mode"] & 200 ? 'w' : '-'), (stats["mode"] & 400 ? 'r' : '-'), (stats["mtime"]), files[i]));
} else {
console.log(chalk.green('d ' + stats["size"], (stats["mode"] & 1 ? 'x' : '-'), (stats["mode"] & 2 ? 'w' : '-'), (stats["mode"] & 4 ? 'r' : '-'), (stats["mode"] & 10 ? 'x' : '-'), (stats["mode"] & 20 ? 'w' : '-'), (stats["mode"] & 40 ? 'r' : '-'), (stats["mode"] & 100 ? 'x' : '-'), (stats["mode"] & 200 ? 'w' : '-'), (stats["mode"] & 400 ? 'r' : '-'), (stats["mtime"]), files[i]));
}
});
}
})
} else {
// Not defuines
path = process.env.PWD;
fs.readdir(path, (err, files) => {
files.join(' ');
for (let i = 0; i < files.length; i++) {
fs.stat(path + "/" + files[i], function (err, stats) {
if (stats.isFile()) {
console.log(chalk.blue('f ' + stats["size"], (stats["mode"] & 1 ? 'x' : '-'), (stats["mode"] & 2 ? 'w' : '-'), (stats["mode"] & 4 ? 'r' : '-'), (stats["mode"] & 10 ? 'x' : '-'), (stats["mode"] & 20 ? 'w' : '-'), (stats["mode"] & 40 ? 'r' : '-'), (stats["mode"] & 100 ? 'x' : '-'), (stats["mode"] & 200 ? 'w' : '-'), (stats["mode"] & 400 ? 'r' : '-'), (stats["mtime"]), files[i]));
} else {
console.log(chalk.green('d ' + stats["size"], (stats["mode"] & 1 ? 'x' : '-'), (stats["mode"] & 2 ? 'w' : '-'), (stats["mode"] & 4 ? 'r' : '-'), (stats["mode"] & 10 ? 'x' : '-'), (stats["mode"] & 20 ? 'w' : '-'), (stats["mode"] & 40 ? 'r' : '-'), (stats["mode"] & 100 ? 'x' : '-'), (stats["mode"] & 200 ? 'w' : '-'), (stats["mode"] & 400 ? 'r' : '-'), (stats["mtime"]), files[i]));
}
});
}
})
}
}
} else {
// this is normal
if (argv["_"][0] == undefined) {
path = process.env.PWD;
fs.readdir(path, (err, files) => {
files.join(' ');
for (let i = 0; i < files.length; i++) {
console.log(files[i])
}
})
} else {
path = argv['_'][0];
fs.readdir(path, (err, files) => {
files.join(' ');
for (let i = 0; i < files.length; i++) {
console.log(files[i])
}
})
}
}