@alu0101265704/addlogging
Version:
[](https://badge.fury.io/js/%40alu0101265704%2Faddlogging)
58 lines (49 loc) • 1.9 kB
JavaScript
const fs = require('fs');
const program = require('commander');
let escodegen = require('escodegen');
let esprima = require('espree');
const espree = require('espree/lib/espree');
let estraverse = require('estraverse');
const { parseOptions } = require('commander');
const { version, description } = require('../package.json');
const { addLogging } = require('../src');
program
.version(version)
.description(description)
.option('-o, --output <output_file> ', 'output file of the program')
.option('-p, --pattern <pattern_name> <output_file> <input_file>', 'function pattern name and output file of the program')
.usage('add-logging [options]');
program.parse(process.argv);
const options = program.opts();
let outputFilename = '';
if (program.args.length === 2)
outputFilename = program.args.shift();
let inputFilename = program.args.shift();
try {
if (inputFilename) {
fs.readFile(inputFilename, 'utf8', (err, input) => {
if (err) throw `Error reading '${inputFilename}':${err}`;
const output = addLogging(input, options.pattern);
if (options.output) {
fs.writeFile(options.output, output, err => {
if (err) throw `It is not possible to write to '${options.output}': ${err}`;
console.log(`Output in file '${options.output}'`);
})
}
else if (options.pattern) {
fs.writeFile(outputFilename, output, err => {
if (err) throw `It is not possible to write to '${options.output}': ${err}`;
console.log(`Output in file '${outputFilename}`);
})
}
else {
program.help();
}
})
} else {
program.help();
}
} catch (e) {
console.log(`There where errors! ${e}`);
}