-
Notifications
You must be signed in to change notification settings - Fork 6
Description
Is your feature request related to a problem? Please describe.
The devEngines proposal provides the following options for onFail
The
onFailfield defines what should happen if validation fails:
ignore: nothing.warn: print something and continue.error: print something and exit.download: remediate the validation failure by downloading the requested tool/version.
At the time of issue creation, only npm has implemented devEngines proposal and they're not planning to implement onFail=download because of security concern, as per npm/cli#8004 (comment)
pnpm, if they implement devEngines proposal, will likely follow npm's implementation as per pnpm/pnpm#8153 (comment)
Other projects, like yarn and corepack, haven't commented on whether they'll adopt devEngines.
It looks like onFail=download is not going to be implemented in the JavaScript ecosystem, assuming implementors follow npm.
I'm an existing user of corepack, and I love how it smoothly manages my package manager version behind the scenes.
Describe the solution you'd like
Follow-up with vendors (npm) to implement devEngines onFail=download in npm/cli#8004
This can include addressing the security concern they're worried about.
- The implementation PR does not have any details of the concern feat: devEngines npm/cli#7766 (comment)
- In corepack, one of the users had requested package manager to be downloaded from npm downloads package managers only from npm by default nodejs/corepack#495
An alternative is to remove onFail=download specification altogether
Describe alternatives you've considered
Explicitly download the devEngines packageManager version in all environments. This will require adding instructions for local environments, and adding explicit installs in CI setup. It's not as smooth as corepack.
Switch back to corepack, and it's packageManager field. Remove devEngines specification from package.json till corepack adds support for it.