Skip to content

Changesets doesn't detect changes when updating dependency versions in pnpm workspace catalog #1707

@cyril-sf

Description

@cyril-sf

Environment

Changesets version: @changesets/cli@^2.27.7
Package manager: pnpm with workspaces and catalog feature
Node version: 20.19.1

Current Behavior

When using pnpm workspaces with the catalog feature, updating a dependency version in the catalog section of pnpm-workspace.yaml is not detected as a change by changesets, even though this update affects all packages in the monorepo that reference that dependency via the catalog.

Expected Behavior

Changesets should detect when catalog dependency versions are updated and prompt for changelog entries, since these changes effectively update dependencies across multiple packages in the workspace.

Steps to Reproduce

  1. Set up a monorepo with pnpm workspaces using the catalog feature
  2. Have multiple packages that reference dependencies via the catalog (e.g., "dependency": "catalog:")
  3. Update a dependency version in the catalog section of pnpm-workspace.yaml
  4. Run npx changeset (or similar command based on the type of monorepo)
  5. Observe that no packages have changed according to changesets

AFAIK, the issue is that getChangedPackagesSinceRef in @changesets/git only looks at changed files within packages (getChangedFilesSince). It would also need to look at changes in the catalog, and check if the updated external packages are used by a package from the monorepo.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions