Skip to content

Conversation

@erunion
Copy link
Member

@erunion erunion commented Jun 2, 2025

🧰 Changes

  • Drops support for Node 18
  • Adds support for ESLint 9 and drops support for 8
  • Migrates eslint-config, eslint-plugin and all of our ESLint configs here over to the new flat config format
  • Migrating eslint-plugin over to a TS codebase
  • Removing eslint-plugin-jest-formatting
    • The core ruleset for this was migrated into eslint-plugin-jest last year.
  • Removing a circular dependency on eslint-config from inside eslint-plugin
  • Replacing eslint-plugin-node with eslint-plugin-n
    • eslint-plugin-node is no longer under development.
  • Replacing eslint-plugin-import with eslint-plugin-import-x
    • eslint-plugin-import insists on supporting 10 year old versions of Node and ESLint and as such has to load in a lot of dependencies to make that happen. eslint-plugin-import-x targets LTS and has better support for Typescript and ESM codebases.
  • Replacing eslint-plugin-eslint-comments with @eslint-community/eslint-comments
    • eslint-plugin-eslint-comments is no longer under development.
  • Migrating eslint-config-airbnb-base in house
    • It has been a real pain to get the maintainers to give this the support it needs for ESLint 9 to happen and since the config is fully static we shouldn't need to deal with its maintainership overhead.
  • Migrating eslint-plugin-try-catch-failsafe in house
    • It's no longer under any active development and does not support ESLint 9.

@erunion erunion added the enhancement New feature or request label Jun 2, 2025
erunion added a commit to readmeio/rdme that referenced this pull request Jul 11, 2025
## 🧰 Changes

I've been staring down the barrel of upgrading our shared ESLint config
to support ESLint 9 over in
readmeio/standards#993 and... I honestly would
rather live my life instead. I've been really interested in
https://biomejs.dev/ as of late and after playing around with it for not
even 10 minutes I am sold.

* It's almost a fully drop-in replacement for ESLint
* I was able to configure and retain our opinionated import grouping
ruleset[^1] without any trouble.
* It found and fixed issues that ESLint didn't, and can't, detect!
* It linted our codebase in half a second vs ESLint taking 4.

They're still working on supporting Markdown and YAML so we can't fully
ditch Prettier too but as it is Biome has got the juice.

[^1]:
https://github.com/readmeio/standards/blob/bc29338858c55da37631addb36582ec5feac11b0/packages/eslint-config/index.js#L25-L36

---------

Co-authored-by: Kanad Gupta <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants