import-js / eslint-plugin-import

ESLint plugin with rules that help validate proper imports.
MIT License
5.57k stars 1.57k forks source link

Conflict in peer dependency while installing eslint-plugin-import (v2.30.0) with eslint v9.10.0. #3064

Closed Munaf-Divan closed 2 months ago

Munaf-Divan commented 2 months ago

I am trying to use eslint-plugin-import v2.30.0 with Eslint v.9.10.0. Below is the log I got while installing the package and installation failed.

npm error code ERESOLVE
npm error ERESOLVE unable to resolve dependency tree
npm error
npm error While resolving: react-basic@0.0.0
npm error Found: eslint@9.10.0
npm error node_modules/eslint
npm error   dev eslint@"^9.10.0" from the root project
npm error
npm error Could not resolve dependency:
npm error peer eslint@"^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" from eslint-plugin-import@2.30.0
npm error node_modules/eslint-plugin-import
npm error   dev eslint-plugin-import@"*" from the root project
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error

Here are the other major package versions I have used:

Package Version
Node 20.17.0
React 18.3.1
Vite 5.4.1
TypeScript 5.5.3
ESLint 9.10.0
dirkluijk commented 2 months ago

This is probably intentional, as support for ESLint 9 is still being worked on.

See https://github.com/import-js/eslint-plugin-import/issues/2948 and https://github.com/import-js/eslint-plugin-import/pull/2996.

Munaf-Divan commented 2 months ago

Okay, thanks, so should we link this to that issue?

ljharb commented 2 months ago

The comment linked it.

When peer deps conflict, it's not a bug, it means the two things aren't compatible (in this case, yet).

Duplicate of #2948.

robertIsaac commented 2 months ago

hi @ljharb the duplicated ticket is locked and no one understand what's going on at this point is this plugin still maintained or not? eslint v9 has been released 5 and half months ago and that leave support for eslint v8 is for only couple more weeks and the upgrade is blocked by this plugin if help is needed please state with what exactly I'm willing to contribute to this plugin

ljharb commented 2 months ago

@robertisaac of course the plugin is still maintained.

every eslint major takes at least 6 months for the entire ecosystem to support, and eslint 9 is much more disruptive a change, so it'll probably be over a year until that's the case. (however, I'm hopeful this plugin will ship eslint 9 support soon)

Are you aware you can just stay on eslint 8, whether it's supported or not?

robertIsaac commented 2 months ago

I'm aware, but if one of its dependency or the package itself become vulnerable they won't release a patch to fix it/support new version Which means the whole company will be left vulnerable