github xojs/xo v3.0.0

6 hours ago

Breaking

  • Requires Node.js 22
  • Removed built-in React support.
    • Add eslint-config-xo-react to your config instead.
    • It was removed to keep XO's core lean and framework-agnostic. Bundling eslint-plugin-react for everyone held XO back by its slow ESLint-major support, and there's now a competing plugin, @eslint-react, so picking one for all users no longer makes sense.
  • The bundled rules now live in a single eslint-config-xo package. The separate eslint-config-xo-typescript package is merged into it.
    • If you prefer using ESLint directly, you can get all the rules there now.
  • Replaced the xoToEslintConfig export with the xo/eslint-adapter import for editor/ESLint integration. For example, xoToEslintConfig([{space: true, prettier: true}]) becomes eslintConfigXo({space: true, prettier: true}) from eslint-config-xo, or simply export {default} from 'xo/eslint-adapter';.

Improvements

  • Lint CSS, Markdown, HTML, JSDoc comments, and regular expressions out of the box
  • Add --max-warnings flag to treat warnings as errors (#724)
  • Add ESLint bulk suppression support (#826)
  • Hide warnings when there are errors, so you can focus on what matters (#507)
  • Respect the global gitignore (#803)
  • Allow overriding default ignores with negation patterns (#65)
  • Throw when no files match explicitly provided patterns

New rules


v2.0.2...v3.0.0

Don't miss a new xo release

NewReleases is sending notifications on new releases.