@alu0100901214/espree-logging-module
Version:
Es un programa para parsear un fragmento de código.
61 lines (48 loc) • 1.75 kB
JavaScript
const {program} = require('commander');
const {version, description} = require('../package.json');
const fs = require('fs');
const Regex = require('regex');
const addlogging = require('../src/logging-espree');
let pattern = "";
program.version(version);
program.description(description);
program.usage('[options] <filename> [...]');
program.option('-o, --output <filename>', 'write the output on a filename');
program.option('-p, --pattern <pattern>', 'indicates the pattern of the function you want to add a log');
let inputFilename
if(process.argv.length > 2){
program.parse(process.argv);
inputFilename = program.args.shift();
}
const options = program.opts();
let regexPattern = null;
if (options.pattern){
pattern = options.pattern;
console.log(pattern);
regexPattern = new Regex(pattern);
}
if(!options.pattern)
check = false;
if(inputFilename != null){
try{
if(inputFilename){
fs.readFile(inputFilename, 'utf8', (err,input)=>{
if(err) throw `Error reading '${inputFilename}': ${err}`;
const output = addlogging.addLogging(input, regexPattern);
console.error(`input:\n${input}\n---`);
if(options.output){
fs.writeFile(options.output, output, err => {
if (err) throw `Cant write to '${options.output}': ${err}`;
console.log(`Output in file '${options.output}'`);
})
}else{
console.error(`output:\n`);
console.log(output);
}
})
}else program.help()
}catch(e){
console.error('Hubieron errores: ${e}');
}
}