import process from 'node:process'; import { ESLint } from 'eslint'; const eslint = new ESLint({ fix: true }); const candidates = []; for (const filePath of process.argv.slice(2)) { if (!(await eslint.isPathIgnored(filePath))) { candidates.push(filePath); } } if (candidates.length === 0) { process.exit(0); } const results = await eslint.lintFiles(candidates); await ESLint.outputFixes(results); const formatter = await eslint.loadFormatter('stylish'); const output = formatter.format(results); if (output) { process.stderr.write(output); } const errorCount = results.reduce((sum, result) => sum + result.errorCount, 0); const warningCount = results.reduce( (sum, result) => sum + result.warningCount, 0, ); if (errorCount > 0 || warningCount > 0) { process.exitCode = 1; }