UNPKG

lint-filter

Version:
144 lines (100 loc) 3.95 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); require('babel-polyfill'); var _lodash = require('lodash'); var _lodash2 = _interopRequireDefault(_lodash); var _getStdin = require('get-stdin'); var _getStdin2 = _interopRequireDefault(_getStdin); var _bluebird = require('bluebird'); var _bluebird2 = _interopRequireDefault(_bluebird); var _cli = require('./cli'); var _checks = require('./checks'); var _formatters = require('./formatters'); var _utils = require('./utils'); var _git = require('./utils/git'); var _checkstyle = require('./utils/checkstyle'); var _setup = require('./setup'); var _setup2 = _interopRequireDefault(_setup); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new _bluebird2.default(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return _bluebird2.default.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; } /* eslint-disable no-console */ function handleResult(result, options) { var output = options.warning ? _lodash2.default.map(result, _checkstyle.setErrorToWarning) : result; console.log((0, _formatters.formatOutput)(options.format, output)); process.exit((0, _utils.hasError)(output) ? 1 : 0); } exports.default = function () { var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { var options, diff, result, input; return regeneratorRuntime.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: options = (0, _cli.parseOptions)(); if (!(options.command === 'generate-config')) { _context.next = 3; break; } return _context.abrupt('return', (0, _setup2.default)(options)); case 3: _context.next = 5; return (0, _git.getDiffInformation)(options); case 5: diff = _context.sent; if (!(options.command === 'list-files')) { _context.next = 8; break; } return _context.abrupt('return', console.log(_lodash2.default.keys(diff).join(' '))); case 8: if (options.command) { _context.next = 25; break; } result = void 0; if (!_lodash2.default.isEmpty(options.files)) { _context.next = 21; break; } _context.next = 13; return (0, _getStdin2.default)(); case 13: input = _context.sent; if (!(input === '')) { _context.next = 16; break; } throw new Error('stdin was empty'); case 16: _context.next = 18; return (0, _checks.checkString)(diff, input, options); case 18: result = _context.sent; _context.next = 24; break; case 21: _context.next = 23; return (0, _checks.checkFiles)(diff, options.files, options); case 23: result = _context.sent; case 24: return _context.abrupt('return', handleResult(result, options)); case 25: throw new Error('Unknown command \'' + options.command + '\''); case 26: case 'end': return _context.stop(); } } }, _callee, this); })); function main() { return _ref.apply(this, arguments); } return main; }(); if (!module.parent) { exports.default(); }