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

Support pnpm Catalogs #30079

Open
viceice opened this issue Jul 8, 2024 · 8 comments · May be fixed by #33376
Open

Support pnpm Catalogs #30079

viceice opened this issue Jul 8, 2024 · 8 comments · May be fixed by #33376
Assignees
Labels
manager:npm package.json files (npm/yarn/pnpm) priority-3-medium Default priority, "should be done" but isn't prioritised ahead of others type:feature Feature (new functionality)

Comments

@viceice
Copy link
Member

viceice commented Jul 8, 2024

Describe the proposed change(s).

Pnpm v9.51 introduced a new way to share dependencies inside workspaces, they call it catalogs2.

This is related to #25335.

Footnotes

  1. https://github.com/pnpm/pnpm/releases/tag/v9.5.0

  2. https://pnpm.io/catalogs

@faradaytrs
Copy link

is there anyone working on this?

@rarkins
Copy link
Collaborator

rarkins commented Dec 20, 2024

Not yet, so go ahead

@faradaytrs
Copy link

Not yet, so go ahead

I'm afraid I'm not available until after Christmas, please don't assign me till I confirm, thank you

@rarkins
Copy link
Collaborator

rarkins commented Dec 20, 2024

Nobody else will be working on it before then so that's ok. Thanks!

@fpapado
Copy link

fpapado commented Dec 30, 2024

I'm afraid I'm not available until after Christmas, please don't assign me till I confirm, thank you

Chiming in that if @faradaytrs has not started on this, or if you are not sure about your availability, that I would be happy to work on this instead! I sketched out a few approaches a while back, and I have time over the next month to poke at it ✍️

Aside: I will have some open questions about the implementation. For example, since catalogs are managed in pnpm-workspace.yaml instead of package.json, and the npm manager focuses onpackage.json-shaped package files, I wonder if it makes sense to implement a dedicated pnpm-catalog manager. The npm manager does read pnpm-workspace.yaml as a config file, but has not needed to treat it like a package file, so far. Anyway, I can leave some of these notes in a draft PR, just to avoid adding noise to the issue. Thank you for all the work on Renovate over the years 😊

@rarkins rarkins assigned fpapado and unassigned faradaytrs Dec 30, 2024
@rarkins
Copy link
Collaborator

rarkins commented Dec 30, 2024

The npm manager in renovate can return additional package files so I think it's probably best to handle it in the existing manager

@faradaytrs
Copy link

I'm afraid I'm not available until after Christmas, please don't assign me till I confirm, thank you

Chiming in that if @faradaytrs has not started on this, or if you are not sure about your availability, that I would be happy to work on this instead! I sketched out a few approaches a while back, and I have time over the next month to poke at it ✍️

Aside: I will have some open questions about the implementation. For example, since catalogs are managed in pnpm-workspace.yaml instead of package.json, and the npm manager focuses onpackage.json-shaped package files, I wonder if it makes sense to implement a dedicated pnpm-catalog manager. The npm manager does read pnpm-workspace.yaml as a config file, but has not needed to treat it like a package file, so far. Anyway, I can leave some of these notes in a draft PR, just to avoid adding noise to the issue. Thank you for all the work on Renovate over the years 😊

sure, please go ahead

@RahulGautamSingh
Copy link
Collaborator

The npm manager in renovate can return additional package files so I think it's probably best to handle it in the existing manager

npm module is already too big. I think it's better to have a separate manager for this.

We will be moving out yarn and pnpm from the npm module someday so it aligns with that refactor too I think.

@fpapado fpapado linked a pull request Jan 2, 2025 that will close this issue
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
manager:npm package.json files (npm/yarn/pnpm) priority-3-medium Default priority, "should be done" but isn't prioritised ahead of others type:feature Feature (new functionality)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants