-
-
Notifications
You must be signed in to change notification settings - Fork 14k
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
pnpm.fetchDeps: init #290715
pnpm.fetchDeps: init #290715
Conversation
this could be a near drop-in replacement for methods used in geph, kiwitalk, pot, vesktop, and youtube-music edit: can also be used in gitbutler and modrinth-app |
d9e613d
to
c4cc9f6
Compare
I got rid of the |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
Needs a rebased :3 |
c4cc9f6
to
85a46a9
Compare
85a46a9
to
d39acd5
Compare
We should have put the overrides for pnpm for the consuming packages inside the packages. pnpm is really bitchy about a wrong version and that needs to be closely tracked. Also maybe we can add some small script, to detect this and catch this error early.
|
I don't understand this sentence... |
They are right now in all-packages where you can easily miss them and wonder why your pnpmDeps build is failing for no apparent reason, since the error message is so bad. see #317739 for my idea on how to improve that |
I'm trying to package renovate using pnpm.fetchDeps, but I get the error I can only reproduce it inside the nix sandbox, outside of it (and in a network namespace without internet access), it works fine, not sure how to debug this further. build log: |
Dropping in here to ask about monorepo/workspaces support. I'm packaging a monorepo project and noticed from the discussion here that it isn't supported yet. Is there an issue or, better yet, a draft PR that I can track for this? |
I believe you're looking for #316908 |
@NyCodeGHG since the issue #309100 was diagnosed as a workspaces issue, perhaps your issue with |
I'm not sure if thats the problem, renovate has a pnpm-workspace.yaml file without a single member |
Does it help to simply remove it? :) |
i just tried, no. |
Since c896aa3, we haven't been able to build the Grafbase CLI as a nix derivation, due to the breaking upgrade to pnpm 9 and the lack of support for pnpm 9 in pnpm2nix. Fortunately, NixOS/nixpkgs#290715 was recently merging into nixpkgs, so we can use pnpm_9.fetchDeps to re-instate the cli-app derivation, and as a cascading effect build the cli derivation again.
Since c896aa3, we haven't been able to build the Grafbase CLI as a nix derivation, due to the breaking upgrade to pnpm 9 and the lack of support for pnpm 9 in pnpm2nix. Fortunately, NixOS/nixpkgs#290715 was recently merging into nixpkgs, so we can use pnpm_9.fetchDeps to re-instate the cli-app derivation, and as a cascading effect build the cli derivation again.
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/help-wanted-planning-for-summer-of-nix-2025/47556/1 |
This has to be applied to node2nix otherwise it wont stick |
Description of changes
Nowadays pnpm is almost unavoidable when working with any larger Node.js project. In an effort to support this package manager in Nixpkgs, this PR introduces
pnpm.fetchDeps
which produces a FOD containing a pnpm store that can be used for a reproducible offline build.Closes #231513
To-dos
withNode
forpnpm
when used in a derivationpnpm server start
script topnpmDeps
FODspnpm-workspace.yaml
projectsThings done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.