-
-
Notifications
You must be signed in to change notification settings - Fork 26.6k
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
eslint-config-react-app@7.0.0
: @typescript-eslint/eslint-plugin
should be peer dependency
#12400
Comments
Dup of #11828 but with repro |
eslint-config-react-app@7.0.0
: @typescript-eslint/eslint-plugin should be peer dependency
eslint-config-react-app@7.0.0
: @typescript-eslint/eslint-plugin should be peer dependencyeslint-config-react-app@7.0.0
: @typescript-eslint/eslint-plugin
should be peer dependency
"@typescript-eslint" be declared as a peer dependency maybe is not a mistake. Because
|
Remove the duplicate "@typescript-eslint" from your // .eslintrc.json
{
"extends": [
"react-app"
],
} |
How to "remove the duplicate from "@typescript-eslint" " in practice to resolve the issue? Not clear for me. |
Describe the bug
The current version of
eslint-config-react-app
defines@typescript-eslint/eslint-plugin
and the like as dependency.This cause
eslint
to fail when@typescript-eslint/eslint-plugin
not resolved uniquely in the dependency tree.Here is an example:
It should be declared as a peer dependency and the consuming repo install it themselves.
In a plugin architecture, when one plugin uses another plugin, it should always be a peer dependency.
This will be a breaking change and must be released as a new major release.
Did you try recovering your dependencies?
Removing lock file and node_modules will not help in this case.
I have also experience this with
yarn@3
withnode_modules
which I tried to dedupe and cannot resolve the problem.Even when I tried to get all parties to use the same version of
@typescript-eslint/eslint-plugin
(5.23.0
),It still end up having two links, one under
./node_modules
and one under./eslint-config-react-app/node_modules
.I think that is a bug on
yarn@3
, but the problem should also be addressed byeslint-config-react-app
.Which terms did you search for in User Guide?
@typescript-eslint
ESLint couldn't determine the plugin "@typescript-eslint" uniquely.
peer dependency
eslint-cofnig-react-app
Environment
This happens on all platforms, with npm, yarn@1-3
Steps to reproduce
Create a dummy repo with this
package.json
:and this
.eslintrc.json
:create a dummy
src/index.ts
:Run:
Expected behavior
ESLint will work
Actual behavior
ESLint failed with:
Reproducible demo
https://github.com/unional/typescript-guidelines/tree/main/examples/eslint-plugin-peer
Added some more information here: https://unional.github.io/typescript-guidelines/blog/2022-eslint-plugin-peer-deps
The text was updated successfully, but these errors were encountered: