You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
"use strict";
/** @typedef {import('eslint').ESLint} ESLint */
/** @typedef {import('eslint').ESLint.Options} ESLintOptions */ Object.assign(module.exports, { lintFiles, setup }); /** @type {{ new (arg0: import("eslint").ESLint.Options): import("eslint").ESLint; outputFixes: (arg0: import("eslint").ESLint.LintResult[]) => any; }} */
let ESLint; /** @type {ESLint} */
let eslint; /** @type {boolean} */
let fix; /** * @typedef {object} setupOptions * @property {string=} eslintPath - import path of eslint * @property {ESLintOptions=} eslintOptions - linter options * * @param {setupOptions} arg0 - setup worker */
function setup({ eslintPath, eslintOptions = {} }) { fix = !!(eslintOptions && eslintOptions.fix); ({ ESLint } = require(eslintPath || 'eslint')); eslint = new ESLint(eslintOptions); } /** * @param {string | string[]} files */
async function lintFiles(files) { const result = await eslint.lintFiles(files); // if enabled, use eslint autofixing where possible
if (fix) { await ESLint.outputFixes(result); }
return result; }
|