-
-
Couldn't load subscription status.
- Fork 53
Description
Current behavior
When yo eslint:plugin is used to generate a new plugin, using the lowest Node.js version 18.18.0
listed under README > Installation, npm EBADENGINE warnings are output for
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: 'commander@14.0.1',
npm WARN EBADENGINE required: { node: '>=20' },
npm WARN EBADENGINE current: { node: 'v18.18.0', npm: '9.8.1' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: 'editorconfig@3.0.1',
npm WARN EBADENGINE required: { node: '>=20' },
npm WARN EBADENGINE current: { node: 'v18.18.0', npm: '9.8.1' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: 'minimatch@10.0.1',
npm WARN EBADENGINE required: { node: '20 || >=22' },
npm WARN EBADENGINE current: { node: 'v18.18.0', npm: '9.8.1' }
npm WARN EBADENGINE }
This is caused by a regression in eslint-doc-generator@2.2.0, released on Jun 19, 2025. This npm module dropped support for Node.js 18 without bumping its major version.
Expected behavior
When yo eslint:plugin is used to generate a new plugin, the README > Installation documentation and the engines key in package.json should specify version ranges of Node.js that do not cause EBADENGINE warnings.
Versions
| Component | Version |
|---|---|
| Ubuntu | 24.04.3 LTS |
| Node.js | v18.18.0 EOL |
| npm | 9.8.1 |
yo |
5.1.0 |
generator-eslint |
5.2.2 |
Steps to reproduce
npm install yo@latest -g
npm install generator-eslint@latest -gcd $(mktemp -d)
yo eslint:pluginand accept defaults:
$ yo eslint:plugin
? What is your name? Tester
? What is the plugin ID? template-test
? Type a short description of this plugin: Template test
? Does this plugin contain custom ESLint rules? Yes
? Does this plugin contain one or more processors? No
create package.json
create eslint.config.mjs
create lib/index.js
create README.md
Logs
Running npm install for you to install the required dependencies.
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: 'commander@14.0.1',
npm WARN EBADENGINE required: { node: '>=20' },
npm WARN EBADENGINE current: { node: 'v18.18.0', npm: '9.8.1' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: 'editorconfig@3.0.1',
npm WARN EBADENGINE required: { node: '>=20' },
npm WARN EBADENGINE current: { node: 'v18.18.0', npm: '9.8.1' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: 'minimatch@10.0.1',
npm WARN EBADENGINE required: { node: '20 || >=22' },
npm WARN EBADENGINE current: { node: 'v18.18.0', npm: '9.8.1' }
npm WARN EBADENGINE }
added 242 packages, and audited 243 packages in 5s
71 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
Other
-
Related issue EBADENGINE installing under Node.js 18 bmish/eslint-doc-generator#807
-
Node.js 18 reached end-of-life on Apr 30, 2025
-
Since eslint-doc-generator@2.2.0 introduced support for flat configurations, pinning to an earlier version in order to support Node.js 18 would not be desirable.
-
This repo (
generator-eslint) should consider now dropping support for Node.js 18, 21 and 23, and then releasing a new major version. Node.js 25 is also close to being released (planned date Oct 15, 2025) and could be added to the CI workflow.