@northbrook/eslint
Version:
Northbrook Plugin for ESlint
64 lines (40 loc) • 1.64 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.runLint = runLint;
var _os = require('os');
var _path = require('path');
var _eslint = require('eslint');
var _findupSync = require('findup-sync');
var _findupSync2 = _interopRequireDefault(_findupSync);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var ESLINT_CONFIGS = ['.eslintrc', '.eslintrc.json'];
function runLint(ref, io) {
var pkg = ref.pkg;
var config = ref.config;
var name = pkg.name;
var path = pkg.path;
var eslint = config.eslint || {};
var globs = eslint.directories || ['src/'];
var patterns = globs.map(function (glob) { return (0, _path.join)(path, glob); });
var eslintConfig = (0, _findupSync2.default)(ESLINT_CONFIGS, { cwd: path }) || (0, _path.join)(__dirname, '../.eslintrc');
io.stdout.write("Running ESlint for " + name + "..." + _os.EOL + _os.EOL);
var ref$1 = lint(eslintConfig, patterns, eslint.formatter);
var report = ref$1.report;
var formatter = ref$1.formatter;
var formattedReport = formatter(report.results);
if (formattedReport) {
io.stderr.write(_os.EOL + formattedReport + _os.EOL);
return Promise.reject(report);
}
io.stdout.write("Completed ESlint for " + name + _os.EOL + _os.EOL);
return Promise.resolve(report);
}
function lint(configFile, globs, fmt) {
if ( fmt === void 0 ) fmt = 'stylish';
var cli = new _eslint.CLIEngine({ configFile: configFile });
var report = cli.executeOnFiles(globs);
var formatter = cli.getFormatter(fmt);
return { report: report, formatter: formatter };
}