Skip to content

Conversation

@aramissennyeydd
Copy link
Contributor

@aramissennyeydd aramissennyeydd commented Nov 25, 2025

Summary

Adds support for defining pnpm catalog values to pnpm-config.json. This makes updating versions across a monorepo way easier because you can specify a version once and it gets picked up in a bunch of other places.

Details

https://pnpm.io/9.x/catalogs, basically this allows using an alias for common versions to reduce the size of changesets that target global versions.

My goal is for this to resemble the existing pnpm options. Weirdly, this needs to be in the pnpm-workspace file and isn't supported as a package.json pnpm property.

How it was tested

Added unit tests.

Tested in our monorepo with a catalog: package for install/update and add. The catalog: specifier works for all 3, for install, a new catalog top level property is added into the lockfile and for add, if catalog: is the global version, add will automatically use it for new packages. I also tested that the temp shrinkwrap files still work, they use the resolved version in the specifier.

I will likely need a preview version to test this with publish to make sure it works there as well.

Impacted documentation

Not sure? Might need additional documentation where pnpm-options values are described.

Signed-off-by: Aramis Sennyey <[email protected]>
Signed-off-by: Aramis Sennyey <[email protected]>
@iclanton iclanton moved this from Needs triage to In Progress in Bug Triage Dec 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

3 participants