EvgenyOrekhov / eslint-config-hardcore

The most strict (yet practical) ESLint config. 53 plugins. 1342 rules. React, Vue, Node, and pure JS/TS.

Home Page:https://www.npmjs.com/package/eslint-config-hardcore

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Migrate to eslint flat config

dec0dOS opened this issue · comments

Hello! First of all, I want to express my appreciation for your fantastic project! It's great to see the effort and dedication put into it.

One aspect that I'd like to discuss is the configuration format used in eslint-config-hardcore. Currently, it employs a legacy configuration format that might not be as flexible and composable as the new format. This happens to be the main obstacle preventing me from using eslint-config-hardcore.

The ESLint Flat config is a significant improvement for the ecosystem, and it's encouraging to know that the transition from the legacy format is on the horizon. For more information about this exciting development, you can check out the following resources:
https://eslint.org/docs/latest/use/configure/configuration-files-new
https://eslint.org/blog/2023/10/flat-config-rollout-plans
https://www.raulmelo.me/en/blog/migration-eslint-to-flat-config
eslint/eslint#3458
eslint/eslint#10643
eslint/eslint#13481

ESLint v9 migration:

  • Remove "enforceForClassMembers": true option from no-useless-computed-key rule (it's the default in v9)

Thanks!

Need to check whether all the configs that eslint-config-hardcore extends from support the new format.

Sorry, it seems like that's a duplicate of #726
It is possible to use a compatibility layer as described here: https://www.raulmelo.me/en/blog/migration-eslint-to-flat-config#official-utility-for-the-rescue

Good article, by the way. I really recommend that one.

Now eslint 9.0 released

@EvgenyOrekhov any update on this one

@The-Code-Monkey I don't have the capacity to maintain both config formats, so I'll migrate to flat config as soon as TypeScript ESLint v8 gets released and Shopify/web-configs#425 gets fixed. Or maybe even remove Shopify plugin temporarily, if they take longer.