mop-cli
Version:
Lint and maintain many projects at once
47 lines (38 loc) • 1.07 kB
JavaScript
;
require('throw-rejects')();
require('root-check')();
const cli = require('meow')(`
Usage
$ mop [rule-name]
Option
--cwd Working directory to search for projects
--reporter How to display and stylize results
Example
$ mop caret-deps
$ mop caret-deps --reporter=eslint
`);
const eslint = require('./reporter/eslint');
const fancy = require('./reporter/fancy');
const mop = require('.');
require('update-notifier')({ pkg : cli.pkg }).notify();
const [ruleName] = cli.input;
if (!ruleName) {
console.error('Please enable at least one rule. Example: $ mop caret-deps');
process.exit(1);
}
mop({
cwd : cli.flags.cwd,
rule : {
[ruleName] : 'error'
}
}).then((failedProjects) => {
const report = cli.flags.reporter === 'eslint' ? eslint : fancy;
console.error(report(failedProjects));
const hasError = failedProjects.some((project) => {
return project.errors.length > 0;
});
if (hasError) {
process.exit(1);
}
});