UNPKG

@bconnorwhite/bob

Version:

Bob is a toolkit for TypeScript projects

82 lines (64 loc) 2.81 kB
"use strict"; exports.__esModule = true; exports.lintTest = lintTest; exports.lintTestAction = lintTestAction; exports["default"] = void 0; var _commanderVersion = require("commander-version"); var _ora = _interopRequireDefault(require("ora")); var _packageRun = _interopRequireDefault(require("package-run")); var _structure = require("../../structure"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } var warning = 'Warning: React version was set to "detect" in eslint-plugin-react settings, but the "react" package is not installed. Assuming latest React version for linting.'; function lintTest() { return _lintTest.apply(this, arguments); } function _lintTest() { _lintTest = _asyncToGenerator(function* () { return (0, _packageRun["default"])({ command: "eslint", args: [(0, _structure.getTestDir)().relative, { "ext": ".ts,tsx", "no-error-on-unmatched-pattern": true }], silent: true }, { silent: true }); }); return _lintTest.apply(this, arguments); } function lintTestAction() { return _lintTestAction.apply(this, arguments); } function _lintTestAction() { _lintTestAction = _asyncToGenerator(function* () { var test = (0, _structure.getTestDir)().relative; var spinner = (0, _ora["default"])("Linting '" + test + "'...").start(); return lintTest().then(function (_ref) { var output = _ref.output, error = _ref.error; var cleanError = error.replace(warning, ""); var message = "Linted '" + test + "'"; if (output || cleanError) { if (cleanError) { spinner.fail(message); } else { spinner.warn(message); } if (output) { console.info(output); } if (cleanError) { console.error(cleanError); } } else { spinner.succeed(message); } }); }); return _lintTestAction.apply(this, arguments); } var _default = (0, _commanderVersion.createCommand)("test").description("lint test files with ESLint").action(lintTestAction); exports["default"] = _default;