3 ms·
In addition to the points raised by the other comments, a big reason we decided not to use `engines` in Volta is that `engines` can be a range: One of the desig
by charlespierce 5y ago
In addition to the points raised by the other comments, a big reason we decided not to use `engines` in Volta is that `engines` can be a range: One of the design goals of Volta is to allow for reliable, reproducible environments, and a range is necessarily not static (new versions are released all the time).
- jiofih 5y agoSemantic versioning was supposed to prevent breaking changes. I guess this is more akin to package-lock.json then.
- charlespierce 5y agoYeah, conceptually the setting is intended to be closer to a lockfile than a semantic version. Additionally, even with semantic versions, `engines` is often specified as something like `12 || 14 || >= 16`, so they span multiple major versions, which is where breaking changes can (and do) show up.