Overview
Implement the spec at openjs-foundation/package-metadata-interoperability-working-group#15
The Plan
Because this has a complete overlap with existing checks we do for installs, npm-install-checks will still be where this logic lives. It will be changed to expect the data in this new format, and things that currently call it will conform their existing calls to that format. Then npm itself can also directly ask npm-install-checks passing it devEngines
# The Tasks
- [x] add functionality to `npm-install-checks`
- [x] move `npm-pick-manifest` over to new format of data
- [x] have `npm install` et al pass `devEngines` and react accordingly
- [x] docs
- [x] add `libc` to `package.json` docs in cli https://github.com/npm/cli/pull/7822
- [ ] https://github.com/npm/types/pull/85
- [x] Make sure `engines` is still used in global install if `devEngines` is present
Overview
Implement the spec at openjs-foundation/package-metadata-interoperability-working-group#15
The Plan
Because this has a complete overlap with existing checks we do for installs,
npm-install-checkswill still be where this logic lives. It will be changed to expect the data in this new format, and things that currently call it will conform their existing calls to that format. Then npm itself can also directly asknpm-install-checkspassing itdevEngines