Skip to content

v1.0.0

Compare
Choose a tag to compare
@sindresorhus sindresorhus released this 23 May 12:16
· 10 commits to main since this release

Breaking

  • Requires ESLint flat config
  • Requires Node.js 20.17
  • Configuration now only through package.json and xo.config.{js,cjs,mjs,ts,cts,mts} files
  • Switched from eslint-plugin-import to eslint-plugin-import-x (since it's better maintained)
    • You will have to update ignore comments and config from import to import-x
  • CLI flags removed:
    • --plugin: Configurable via config file
    • --extend: Configurable via config file
    • --global: Configurable via config file
    • --extension: Configurable via config file
    • --env: No longer relevant with new config system
    • --node-version: Removed as it only affected unsupported Node.js versions
    • --reporter: Removed due to potential lookup reliability issues
  • Node.js engines check removed
    • Was only active in unsupported Node.js versions
  • Webpack lookup and import resolution removed
    • Considered too niche for core functionality

Improvements

  • React support
  • Prettier compatibility mode with {prettier: 'compat'} option
    • Disables all Prettier-affected stylistic rules, and maintains existing Prettier functionality otherwise
  • Enhanced stdin handling:
    • --stdin-filename now optional
    • Supports TypeScript files via stdin

New rules

Thanks

Huge thanks to @spence-s for doing most of the work for this 🎉


v0.60.0...v1.0.0