Skip to content

Conversation

@colincasey
Copy link
Contributor

Corepack will no longer be bundled with Node.js starting with the 25.0.0 release. For this buildpack the Corepack tooling is not actually required to install a package manager, it was just a convenient alternative. It's simpler to just remove the tooling and switch to installing the requested package managers using the npm registry.

This means developers can still choose to use Corepack tooling locally and this buildpack will respect their configuration via the packageManager field in package.json.

Node.js TSC Vote
Node.js v25.0.0 Release Notes
Node.js v25.0.0 Corepack docs

W-20075541, W-20075528

Corepack will no longer be bundled with Node.js starting with the 25.0.0 release. For this buildpack the Corepack tooling is not actually required to install a package manager, it was just a convenient alternative. It's simpler to just remove the tooling and switch to installing the requested package managers using the npm registry.

This means developers can still choose to use Corepack tooling locally and this buildpack will respect their configuration via the `packageManager` field in `package.json`.

[Node.js TSC Vote](nodejs/TSC#1697 (comment))
[Node.js v25.0.0 Release Notes](https://github.com/nodejs/node/releases/tag/v25.0.0)
[Node.js v25.0.0 Corepack docs](https://nodejs.org/dist/latest/docs/api/corepack.html)
@colincasey colincasey self-assigned this Jan 9, 2026
@colincasey colincasey marked this pull request as ready for review January 9, 2026 16:54
@colincasey colincasey requested a review from a team as a code owner January 9, 2026 16:54
Copy link
Contributor

@schneems schneems left a comment

Choose a reason for hiding this comment

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

Not blocking, requested in chat: Can you write me a changelog entry for the heroku site that tells me what a customer should expect from their perspective?

i.e. if they were previously relying on this behavior what just works and what needs adjustment? Any likely failure modes? Anything they can do about them?

VENDOR_PATH=$(get_yarn_path "$BUILD_DIR")

# if we're installing yarn via corepack we don't need to fail
# if we're installing yarn via packageManager we don't need to fail
Copy link
Contributor

Choose a reason for hiding this comment

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

I think we're referencing the variable in the code which is snake case.

Suggested change
# if we're installing yarn via packageManager we don't need to fail
# if we're installing yarn via package_manager we don't need to fail

Copy link
Contributor

Choose a reason for hiding this comment

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

Actually I think this refers to the packageManager field of the customer's app.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants