ipfs/aegir

Do not automate addition of engines field to all modules

achingbrain opened this issue · 0 comments

When the engines field is specified and the current node version doesn't meet it, npm shows a warning but yarn errors.

It's kept in sync with the aegir check-project command so gets updated occasionally.

In CI we only test on npm because we cannot support every permutation of every module installer. The intention behind the engines field is to be helpful to the user but when they use yarn it can end up breaking them unnecessarily.

Not all modules actually require the version set by check-project but it's too much work to go around and audit each individual module to work out which one requires what so I propose dropping the field from our semi-automated config updates.

If an individual module requires a certain minor release of node lts, it can add an engines field to it's package.json but we don't to need enforce that every module requires node 18+.

Refs: multiformats/js-mafmt#154 (comment)
Refs: multiformats/js-mafmt#152 (comment)

cc @SgtPooki @whizzzkid