beautifier/js-beautify

1.14.1x is not compatible with 1.14.9

softworm opened this issue · 4 comments

Description

version 1.14.10 and 1.14.11 are not compatible with 1.14.9

Input

Just add js-beautify as a dependency in project

package.json

"dependencies": {
  "js-beautify": "^1.14.9"
}

Expected Output

run yarn install successfully

Actual Output

error lru-cache@10.0.1: The engine "node" is incompatible with this module. Expected version "14 || >=16.14". Got "16.13.1"
error Found incompatible module.

Environment

node: 16.13.1

More

I found in version 1.14.10 the dependency 'glob' is upgraded to ^10.3.3, which causes the problem.

  • glob@10.x add a new dependency 'path-scurry' which needs 'lru-cache@^9.1.1 || ^10.0.0'.
  • lru-cache@^9.1.1 || ^10.0.0 both requires node version >= 16.14.

then we got the node version error.

I hope this issue can be fixed. Thank you for your outstanding work

@softworm

This project does it's best to support older versions of node and browsers, but makes no guarantees. This can cause unpleasant surprises like this one (and #2168). My apologies.

You said your environment is node: 16.13.1. The latest version of Node.js v16.x is v16.20.2 . This is still within the v16 line, perhaps you could upgrade you node version?

OK, the dependency issue is indeed complex. I will consider upgrading our node version. Thank you.

@bitwiseman related to this issue; why was this change (requiring a higher Node version) done in a patch version instead of a major release like many other projects in the ecosystem do?

@WikiRik
That is not the only way to do things. This project has sunset unsupported runtimes for quite some time without updating major versions. This isn't a change in policy, it just happens to be one the people have noticed because there are apparently a lot of people running ancient versions of nodejs.

If you want to commit time to maintaining more backward compatibility in the project or keeping better track of dependency changes, I would be happy to have the help.