Skip to content

Follow-up with vendors to implement devEngines onFail=download #33

@trivikr

Description

@trivikr

Is your feature request related to a problem? Please describe.

The devEngines proposal provides the following options for onFail

The onFail field 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.

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions