TypeStrong / fork-ts-checker-webpack-plugin

Webpack plugin that runs typescript type checker on a separate process.
MIT License
1.95k stars 240 forks source link

npm warning EBADENGINE Unsupported engine #794

Closed tpacent closed 1 year ago

tpacent commented 1 year ago

Current behavior

When using Node 16 (LTS) or greater, install/update command triggers a warning:

npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'node-abort-controller@3.1.0',
npm WARN EBADENGINE   required: { node: '<14.7.0' },
npm WARN EBADENGINE   current: { node: 'v16.15.0', npm: '9.2.0' }
npm WARN EBADENGINE }

node-abort-controller docs say its not needed when using Node 14.7.0+.

Expected behavior

No warning is thrown when installing this package using Node 16+.

Steps to reproduce the issue

npm i fork-ts-checker-webpack-plugin

Issue reproduction repository

none needed

Environment

tpacent commented 1 year ago

nevermind, it was a breaking change in node-abort-controller:
https://github.com/southpolesteve/node-abort-controller/issues/39

Use

"overrides": {
    "node-abort-controller": "3.0.1"
  }

to pin the package to the previous build.

avandorp commented 1 year ago

The problem with override is that you have to put it into every package.json of all your tools using directly or indirectly node-abort-controller. Even if you have one in between which declares an override. If node-abort-controller isn't fixed shortly it would be nice if "node-abort-controller": "^3.0.1" could be changed to "node-abort-controller": "3.0.1" in fork-ts-check-webpack-plugin, fixing it for all its users.

tpacent commented 1 year ago

@avandorp correct, override is a temporary fix until either fork-ts-checker or abort-controller release an update.