UNPKG

@northbrook/eslint

Version:
64 lines (40 loc) 1.64 kB
'use strict'; 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 }; }