-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to configure with eslint.config.js
with ESM?
#3685
Comments
PRs are welcome, but i don’t use flat config yet. |
Correction: the new format is already supported! |
Indeed, but eslint has FlatCompat for that. |
Ah cool! So could this issue could be resolved by docs explaining how to use FlatCompat with eslint-plugin-react? |
That would be a fine interim solution, yes - altho we'd just link to eslint's explanation, we don't need any prose here. |
I realized that the Configuration (new: eslint.config.js) section in the readme covers setup with flat files. @rakleed, are you looking for a version of this documentation that uses ESM instead of CommonJS? Or is this documentation missing some other information that you need? |
Yes, exactly. |
Ah, thanks for clearing that up! An ESM version of that documentation would replace import reactRecommended from 'eslint-plugin-react/configs/recommended';
export default [
…
reactRecommended, // This is not a plugin object, but a shareable config object
…
]; A readme a with two versions of each example would be helpful for folks who are using ESM, but it could be difficult to read and maintain. Perhaps the readme could include a single ESM example, or a link to more details about the difference between ESM and CommonJS? |
I think that if translating the basic CJS example to ESM in your head requires documentation, then using native ESM is probably a bit premature. |
@rdebeasi thanks, this works for most cases, although you need to add the But in my case it doesn't work. I'm using the Airbnb config for React, which doesn't support Flat Config, so I use the Here is my example: import reactJsxRuntime from 'eslint-plugin-react/configs/jsx-runtime.js';
export default [
…
...compat.extends('airbnb', 'airbnb/hooks'),
reactJsxRuntime,
…
]; |
Oh interesting! That sounds like a different problem from what's described in this issue. If you no longer need the readme update, consider closing this issue. If you'd like to dig into that issue further, you could:
Caveat: I'm not associated with the |
Am I missing something? I see in docs there are flat configs exported. But I cannot find the flat configs that in the actual code. |
@GerroDen be sure you're looking at the docs for the last released tag on github - everywhere on github, things on main might be unreleased. |
The plugin lacks exports definitions in package.json, which is why we see errors with some Typescript or ESM configs. |
@magne4000 since adding |
The latest version (v7.35.0) supports eslint 9 and flat config. Please file a new issue if you're having trouble with that version. |
Can you please add information in the README on how to set up the plugin and config when using flat config in ESLint (
eslint.config.js
) with ESM?The text was updated successfully, but these errors were encountered: