Skip to content

Corepack decisions #1518

Closed
Closed
@GeoffreyBooth

Description

Below are the questions I think need resolving in order to wrap up the current Corepack debate.

I gather that some of the members of the TSC are a bit exhausted by all of this; rather than every one of these decisions being handled at the TSC level, another option is to delegate this to the @nodejs/package-maintenance team which has recently suggested chartering with package maintenance being within their scope. We could let them try to address as many of these issues as possible, and either vote or kick back to the TSC the questions that they can’t reach consensus on.

These are the questions/issues that I think need resolution:

  • Do we want to allow “placeholder” executables in general? doc: add policy for “placeholder” executables node#52107

  • If we allow placeholder executables in general, or particularly for package managers:

    • What rules, if any, should govern which projects get placeholder executables?

    • What semver rules would apply to them?

    • How will we handle security vulnerabilities reported in the tools that the placeholders download? (Already addressed by doc: clarify Corepack threat model node#51917 if we go with the Corepack approach.)

    • Do we want to ship placeholder executables for Yarn and pnpm specifically?

  • If we want to ship placeholder executables for Yarn and pnpm, should these executables be:

  • If we want to ship executables for Yarn and pnpm that are symlinks to Corepack, is Corepack ready to be “enabled by default” to achieve this?

  • If we feel that Corepack is not yet ready to be enabled by default and/or marked as stable, what of the following does it need to be considered ready:

    • Does it need a design document and/or documented goals and use cases?

    • Does it need support for the "devEngines" proposal once npm has done so (estimated to happen in April 2024)?

    • What other issues need addressing before it can be enabled by default or marked as stable?

  • If we ship executables for Yarn and pnpm that are symlinks to Corepack, what if either of the Yarn or pnpm projects request a change to this arrangement in the future; for example, if the pnpm team desires the pnpm executable stop using Corepack and instead becomes a script to download and run the pnpm standalone installer?

I think this list includes all the concerns raised in nodejs/node#51886, please let me know if I’ve missed anything.

If the decisions for some of the above questions take us in a direction away from enabling Corepack by default, then the question would become what the future of Corepack should be (nodejs/node#51981); but I don’t think we need to contemplate this unless or until that happens.

@nodejs/tsc @nodejs/corepack

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions