Skip to content

Releases: xojs/eslint-config-xo

v0.53.2

17 Jun 08:33

Choose a tag to compare

  • Disable unicorn/require-array-sort-compare in favor of TS version for TS code (#105) c67e766

v0.53.1...v0.53.2

v0.53.1

16 Jun 22:39

Choose a tag to compare


v0.53.0...v0.53.1

v0.53.0

16 Jun 21:35

Choose a tag to compare

Breaking

  • Require TypeScript 6

Prettier integration

A new prettier option lets you combine the rules with Prettier:

export default defineConfig([
	...eslintConfigXo({prettier: true}),
]);
  • true — Runs Prettier as an ESLint rule using XO's Prettier style, and disables the stylistic rules that would conflict with it. Requires prettier to be installed.
  • 'compat' — Only disables the stylistic rules that conflict with Prettier, for when you run Prettier separately (for example, from your editor).

Anything XO does not configure (like printWidth or Prettier plugins) still respects your .prettierrc, but XO's own style settings take precedence. prettier is an optional peer dependency.

CSS linting

.css files are now linted out of the box via @eslint/css: duplicate imports, empty blocks, invalid at-rules, unmatchable selectors, invalid named grid areas, and more.

New rules

Read more

v0.52.0

15 May 07:24

Choose a tag to compare

Breaking

New rules

Improvements

  • Add eslint-plugin-jsdoc support ca9780b
  • Add eslint-plugin-regexp support 2eba483
  • Add Markdown support 2bb9c6c
  • Add HTML support 5da39d4
  • Make TypeScript optional for JavaScript-only projects 717184b
  • Use eslint-import-resolver-typescript for import resolution 600b604
  • naming-convention rule: Ignore all exotic/quoted keys bd171ba
  • naming-convention rule: Allow UPPER_CASE for static readonly class properties ce92257
  • naming-convention rule: Allow UPPER_CASE for module-level const variables 0b4bcce
  • Add ?? to no-mixed-operators groups 9117295
  • Require description for file-wide eslint-disable comments 55b6ae1
  • Discourage npm packages with native alternatives 92549e8
  • Remove deprecated rules 7e2747d
  • Disable redundant ESLint rules for TypeScript files f474625
  • capitalized-comments: Don't capitalize commented-out code aedc832

v0.51.0...v0.52.0

v0.51.0

24 Mar 13:37

Choose a tag to compare

Breaking

  • The package now exports a function instead of an array. Update your eslint.config.js:
-export default eslintConfigXo;
+export default [...eslintConfigXo()];
  • Removed the ./space and ./browser sub-path exports. Use the space and browser options instead:
export default [...eslintConfigXo({space: true, browser: true})];
  • Requires ESLint 10 and Node.js 20.19+.

Improvements

  • Merged eslint-config-xo-typescript: TypeScript rules are now included. No need to install a separate package.
  • Merged plugin configs from XO: Includes eslint-plugin-unicorn, eslint-plugin-import-x, eslint-plugin-n, eslint-plugin-ava, @eslint-community/eslint-plugin-eslint-comments, and a built-in no-use-extend-native rule. Previously these were only available through the XO CLI.
  • Added semicolon option
  • Added TypeScript declaration file
  • Add no-shadow rule 4cec7d2

v0.50.0...v0.51.0

v0.50.0

07 Feb 07:25

Choose a tag to compare

v0.49.0

19 Aug 19:19

Choose a tag to compare

v0.48.0

22 Jul 12:02

Choose a tag to compare


v0.47.0...v0.48.0

v0.47.0

24 Apr 11:28

Choose a tag to compare

  • capitalized-comments: Support biome ignore comments (#90) 518f523
  • Add @stylistic/curly-newline rule e1fe11c
  • Add JSON plugin 6a547b5
  • capitalized-comments: Add v8 to the ignorePattern option (#88) 4bb2399

v0.46.0...v0.47.0

v0.46.0

03 Aug 15:18

Choose a tag to compare

New rules

Breaking

Improvements

v0.45.0...v0.46.0