Closed voxpelli closed 2 weeks ago
To get all of the dependents of @eslint-community/eslint-utils
I ran this command:
npx list-dependents list --field engines @eslint-community/eslint-utils --include-historic --field peerDependencies
I piped the output of that into this command to sort it and format it to markdown:
npx list-dependents-cli filter --sort-download --field engines.node --field peerDependencies.eslint --min-downloads=1000 --pretty-print --markdown
It shows that the outlier for this issue and #232 are mainly these plugins:
But I think it also shows that the majority of the users have dropped ESLint versions older than 8 and Node.js versions older than 18.
If we want to be very kind maintainers we could open an issue in each of the mentioned plugins, asking if they are okay with also bumping.
Name | Dependents | Downloads | engines.node | peerDependencies.eslint |
---|---|---|---|---|
eslint | 424118 | 162066540 | ^18.18.0 \|\| ^20.9.0 \|\| >=21.1.0 |
- |
@typescript-eslint/utils | 742 | 158983699 | ^18.18.0 \|\| ^20.9.0 \|\| >=21.1.0 |
^8.57.0 \|\| ^9.0.0 |
eslint-plugin-vue | 47028 | 11711575 | ^14.17.0 \|\| >=16.0.0 |
^6.2.0 \|\| ^7.0.0 \|\| ^8.0.0 \|\| ^9.0.0 |
eslint-plugin-unicorn | 7871 | 11663513 | >=18.18 |
>=8.56.0 |
eslint-plugin-n | 8503 | 11423923 | ^18.18.0 \|\| ^20.9.0 \|\| >=21.1.0 |
>=8.23.0 |
eslint-plugin-es-x | 59 | 6505473 | ^14.18.0 \|\| >=16.0.0 |
>=8 |
eslint-plugin-regexp | 526 | 1512731 | ^18 \|\| >=20 |
>=8.44.0 |
eslint-plugin-jsonc | 1360 | 1463434 | ^12.22.0 \|\| ^14.17.0 \|\| >=16.0.0 |
>=6.0.0 |
eslint-plugin-svelte | 1150 | 1276737 | ^14.17.0 \|\| >=16.0.0 |
^7.0.0 \|\| ^8.0.0-0 \|\| ^9.0.0-0 |
@intlify/unplugin-vue-i18n | 87 | 1164381 | >= 18 |
- |
eslint-plugin-eslint-plugin | 1886 | 833547 | ^18.18.0 \|\| ^20.9.0 \|\| >=21.1.0 |
>=8.23.0 |
eslint-plugin-astro | 112 | 406782 | ^18.18.0 \|\| ^20.9.0 \|\| >=21.1.0 |
>=8.57.0 |
eslint-plugin-json-schema-validator | 84 | 285335 | ^14.18.0 \|\| >=16.0.0 |
>=6.0.0 |
eslint-plugin-vue-scoped-css | 70 | 272719 | ^12.22 \|\| ^14.17 \|\| >=16 |
>=5.0.0 |
eslint-plugin-css | 18 | 52568 | ^12.22.0 \|\| ^14.17.0 \|\| >=16.0.0 |
>=7.0.0 |
eslint-plugin-node-dependencies | 55 | 14052 | >=14.17.0 |
>=6.0.0 |
eslint-plugin-lodash-template | 21 | 6497 | >=18.0.0 |
>=8.0.0 |
eslint-plugin-address | 0 | 1444 | - | >=8.0.0 |
eslint-plugin-storm-software | 0 | 1261 | - | 9.5.0 |
engines.node: ^18.18.0 || ^20.9.0 || >=21.1.0 peerDependencies.eslint: 9.5.0
engines.node: 12.22.0 (eslint-plugin-jsonc, eslint-plugin-vue-scoped-css, eslint-plugin-css) peerDependencies.eslint: 5.0.0 (eslint-plugin-vue-scoped-css)
Generated using list-dependents-cli
.
@ota-meshi Looks like you are a maintainer or co-maintainer of all of the five modules I mentioned as the outliers above – what's your take on bumping ESLint and/or Node versions ranges for those?
I think it's a good idea to remove old versions from supported versions to make maintenance easier.
Some of the plugins I maintain also support old ESLint versions because I haven't had a major update in a long time. When I major update them next time, I'll drop support for the old versions.
Closed by #243
:tada: This issue has been resolved in version 5.0.0-alpha.1 :tada:
The release is available on:
Your semantic-release bot :package::rocket:
Companion issue to #232 – I think it makes sense to simultaneously drop support for a lot of the older ESLint versions.
We could investigate how this would impact the ecosystem that uses
@eslint-community/eslint-utils
/eslint-utils
– which peer dependencies that those plugins have and whether they would be forced into major releases as well or whether we would simply align with what they are already using.Considering that ESLint 8 will reach End-Of-Life in less than a month I would say that we should drop everything older than ESLint 8 and maybe even ESLint 8 itself.
If ESLint themselves are not prepared to keep ESLint 8 up to date, I'm not sure if we should go the extra mile to keep the plugin ecosystem up to date for ESLint 8?
(Maybe we could discuss this at an @eslint-community/core-team level as well?)