Files
VA-Log-Parser/commands/startCLI.js
2022-08-10 11:47:23 -05:00

47 lines
1.1 KiB
JavaScript

import inquirer from "inquirer";
import boxen from "boxen";
import ora from "ora";
import fs from "fs";
import parseLogFile from "./parseLogFile.js";
export default function startCLI() {
const spinner = ora();
console.log(
boxen(`VA-Log-Parser`, {
title: `Written by: Luke Hagar`,
titleAlignment: "center",
padding: 5,
})
);
spinner.start(`Getting Current Directory`);
const currentDirectory = process.cwd();
spinner.succeed();
spinner.start(`Reading Directory: ${currentDirectory}`);
let directoryContents = fs.readdirSync(currentDirectory);
spinner.succeed();
inquirer
.prompt([
{
type: "checkbox",
message: "Select Log Files to Parse",
name: "Files",
choices: directoryContents,
validate(answer) {
if (answer.length < 1) {
return "You must choose at least one File.";
}
return true;
},
},
])
.then((answers) => {
for (const logFile of answers.Files) {
try {
parseLogFile(logFile);
} catch {}
}
spinner.succeed("Finished Processing Log Files");
});
}