breautek commented on PR #175:
URL: https://github.com/apache/cordova-plugman/pull/175#issuecomment-4733086133
@erisu
> It may be worth reviewing all dependencies and sub-dependencies to confirm
whether >=20.17.0 || >=22.9.0 is still the minimum requirement.
I had Claude to do a dependency and src code scan to ensure APIs used and
direct dependencies satisfies the engine requirements `>=20.17.0 || >=22.9.0`.
In short, it only flagged that it didn't quite match `nopt` because `nopt` uses
`^20.17.0 || >=22.9.0` therefore it restricts NodeJS 21.x -- while we don't
technically support non-LTS versions of NodeJS not sure if we want to include
that restriction as it will **probably** still work -- users responsibility of
understanding the consequences of using bleeding edge versions of software.
<details>
<summary>Full Claude Response</summary>
```
Here's what I found:
Dependency engine requirements:
┌────────────────┬─────────┬───────────────────────┬────────────────┐
│ Package │ Version │ Engine requirement │ Compatible? │
├────────────────┼─────────┼───────────────────────┼────────────────┤
│ cordova-lib │ 13.0.0 │ >=20.17.0 || >=22.9.0 │ ✅ Exact match │
├────────────────┼─────────┼───────────────────────┼────────────────┤
│ nopt │ 9.0.0 │ ^20.17.0 || >=22.9.0 │ ⚠️ See below │
├────────────────┼─────────┼───────────────────────┼────────────────┤
│ loud-rejection │ 2.2.0 │ >=8 │ ✅ │
├────────────────┼─────────┼───────────────────────┼────────────────┤
│ p-each-series │ 2.2.0 │ >=8 │ ✅ │
├────────────────┼─────────┼───────────────────────┼────────────────┤
│ p-try │ 2.2.0 │ >=6 │ ✅ │
└────────────────┴─────────┴───────────────────────┴────────────────┘
Node.js APIs in src/:
- src/help.js: uses node:fs and node:path — the node: prefix requires Node
≥14.18.0, well within your range. ✅
- src/commands.js: no direct Node built-in API usage. ✅
The one mismatch — nopt:
Your restriction >=20.17.0 || >=22.9.0 technically allows Node 21.x (since
>=20.17.0 includes 21.x). But nopt's ^20.17.0 || >=22.9.0 excludes Node 21.x
(^20.17.0 =
>=20.17.0 <21.0.0).
This means your engine field is slightly more permissive than what nopt
supports. If someone runs on Node 21, your engine check passes but nopt may
misbehave.
Recommendation: Change your restriction to ^20.17.0 || >=22.9.0 to align
precisely with nopt and make it explicit that Node 21 is not supported. This
also better
communicates the LTS-only intent (Node 21 is EOL).
```
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]