UNPKG

luxjs

Version:

Lux JS code style checker

66 lines (56 loc) 1.27 kB
var minimist = require('minimist'); var argv = minimist(process.argv.slice(2)); var getFlags = require('./get-flags'); var flags = getFlags(argv); var watchMode = flags.watch || false; var files = flags.files; if (!files.length) { files.push('.'); } var envs = []; if (!flags.es5) { envs.push('es6'); } if (flags.node) { envs.push('node'); } if (flags.browser) { envs.push('browser'); } var LuxJS = require('./luxjs'); var engine = new LuxJS({ files: files, envs: envs, node: flags.node, browser: flags.browser, es5: flags.es5, fix: flags.fix, }); // Use default formatter... var format = null; // ...unless `--tap` flag used if (flags.tap) { format = 'tap'; } var reporter = engine.getFormatter(format); var report = engine.executeOnFiles(files); var didError = report.errorCount > 0; console.log(reporter(report.results)); if (flags.fix) { engine.outputFixes(report); } if (watchMode) { var watch = require('node-watch'); watch(files, function (filename) { var report = engine.executeOnFiles([filename]); var output = reporter(report.results); if (!output) { var chalk = require('chalk'); var tick = '\u2714'; output = chalk.green.bold(tick + ' no problems'); } console.log(output); }); } else if (didError) { process.exit(1); }