Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add limited support for devEngines and .corepack.env #634

Open
wants to merge 12 commits into
base: main
Choose a base branch
from

Conversation

aduh95
Copy link
Contributor

@aduh95 aduh95 commented Feb 6, 2025

This PR introduces the concept of .corepack.env which would allow project maintainers to customize some parts of Corepack. We realistically cannot release it until Node.js 18.x is EOL (env parser is only available on Node.js 20.x LTS and later) in April, EDIT: actually it won't be as big of a deal as I thought, it falls back elegantly when run on a Node.js version without .env support.

devEngines support in this PR is limited to packageManager only, only one packageManager can be specified, the onFail field is ignored.
This PR also does not add support of devEngines to corepack use and corepack up, which should be addressed before releasing. EDIT: this has been addressed

Fixes: #567
Fixes: #402
Fixes: #95

Should unblock fixing: #628

@aduh95 aduh95 marked this pull request as ready for review February 6, 2025 18:45
@aduh95 aduh95 changed the title feat: add limited support for devEngines feat: add limited support for devEngines and .corepack.env Feb 7, 2025
Copy link
Member

@styfle styfle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we separate into two PRs since this sounds like two separate features?

  • add support for devEngines
  • add support for .corepack.env

This way we don't block the devEngines feature on account of any bikesheding that could come from .corepack.env

@GeoffreyBooth
Copy link
Member

devEngines support in this PR is limited to packageManager only, only one packageManager can be specified, the onFail field is ignored.

Can you please explain these limitations?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants