UNPKG

@yeger/eslint-config

Version:

ESLint config preset based on @antfu/eslint-config.

47 lines (37 loc) 1.13 kB
#!/usr/bin/env node import { argv, exit } from 'node:process' import ESLint from 'eslint/use-at-your-own-risk' import colors from 'picocolors' const { FlatESLint } = ESLint const { green } = colors async function main() { // 1. Create an instance. const fix = argv.includes('--fix') const eslint = new FlatESLint({ fix }) // 2. Lint files. const results = await eslint.lintFiles([ './**/*.{astro,cjs,html,js,jsx,json,md,mjs,mts,svelte,ts,tsx,vue,yaml,yml}', ]) const hasErrors = results.some( ({ errorCount, fatalErrorCount }) => errorCount > 0 || fatalErrorCount > 0, ) if (fix) { await FlatESLint.outputFixes(results) } // 3. Format the results. const formatter = await eslint.loadFormatter('stylish') const resultText = formatter.format(results) // 4. Output it. if (resultText.length > 0) { // eslint-disable-next-line no-console console.log(resultText) } else { // eslint-disable-next-line no-console console.log(green('✔ No ESLint warnings or errors')) } exit(hasErrors > 0 ? 1 : 0) } main().catch((error) => { console.error(error) exit(1) })