UNPKG

surgio

Version:

Generating rules for Surge, Clash, Quantumult like a PRO

49 lines 1.96 kB
"use strict"; // istanbul ignore file var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.check = exports.checkAndFix = exports.createCli = void 0; const eslint_1 = require("eslint"); const lodash_1 = __importDefault(require("lodash")); const createCli = (cliConfig) => { const linterConfig = { // 在测试情况下 fixture 目录不包含 eslintrc,避免 eslint 读取根目录的 eslintrc useEslintrc: process.env.NODE_ENV !== 'test', extensions: ['.js'], baseConfig: { extends: ['@surgio/eslint-config-surgio'].map( // @ts-ignore require.resolve), }, }; return new eslint_1.ESLint({ ...linterConfig, ...cliConfig, }); }; exports.createCli = createCli; const checkAndFix = async (cwd) => { const cli = (0, exports.createCli)({ fix: true, cwd }); const results = await cli.lintFiles(['.']); const errorCount = lodash_1.default.sumBy(results, (curr) => curr.errorCount); const fixableErrorCount = lodash_1.default.sumBy(results, (curr) => curr.fixableErrorCount); await eslint_1.ESLint.outputFixes(results); const formatter = await cli.loadFormatter('stylish'); const resultText = formatter.format(results); console.log(resultText); return errorCount - fixableErrorCount === 0; }; exports.checkAndFix = checkAndFix; const check = async (cwd) => { const cli = (0, exports.createCli)({ cwd }); const results = await cli.lintFiles(['.']); const errorCount = lodash_1.default.sumBy(results, (curr) => curr.errorCount); const formatter = await cli.loadFormatter('stylish'); const resultText = formatter.format(results); console.log(resultText); return errorCount === 0; }; exports.check = check; //# sourceMappingURL=linter.js.map