pnpm_11: init at 11.1.0#505103
Conversation
dec08e5 to
ee96a1b
Compare
|
@gepbird this is early work to get pnpm 11 working in nixpkgs. Some pain points:
I also added a package test specifically for pnpm 11 to have an end-to-end test in tree. |
9c02563 to
cf340e0
Compare
cf340e0 to
b3b73b4
Compare
b3b73b4 to
92aff0c
Compare
5af5a70 to
3afcef8
Compare
3afcef8 to
85fee3e
Compare
ab0769d to
b0f3e41
Compare
fa79f25 to
c4d7569
Compare
f12a715 to
5e31bd3
Compare
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
pnpm 11 does not support configuring some options through its new global config format. As a workaround, we can define these environment variables instead. This also adds support for the new pmOnFail option in pnpm 11 that replaces managePackageManagerVersions. Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
5e31bd3 to
0a5d7bf
Compare
|
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
0a5d7bf to
7d318df
Compare
|
|
Derivations that use Might be something to add to the pnpmConfigHook error handling in future. |
|
To avoid this within nixpkgs I was thinking about converting But extending the error reported by the config hook is also a good improvement. |
|
This PR changes FOD hashes: I wrongly blamed #522703 for this first. I think this is an architectural problem. FODs only invalidate if either Below is a technique i used in my own projects to add a hash of the input arguments that should invalidate the fod via its name, if they ever change. (I.e. a change in the build-script) fodAttrs = fodArgs // {
pname = builtins.hashString "md5" (builtins.toJSON fodArgs); # Probably better used as a suffix
}; |
|
@hsjobeki are you using the We rebuilt all packages (#505103 (comment)) to make sure the build script changes didn't change existing FOD hashes, and we found no issues in nixpkgs packages. If your project is public I can take a look why our changes broke it. Otherwise can you provide more info on how you're using pnpm? |
Ah it seems this was indeed the problem. I thought pnpm was pinned to pnpm_10. |
|
Would it be reasonable to force fetchPnpmDeps to always take a |
|
That said, I'm really glad you did the fod-mass-rebuild. A warning for unpinned would be nice, especially since presumably a lot of people adopted this from the old docs |
|
I proposed #522535 for a solution within nixpkgs |
Hints for reviewers
pnpmas an input (I usedrg "pnpm,"), but not sure if that missed anything.pnpmtopnpm-fixup-state-dbmight break splicing? Not sure.Wishlist
versionAtLeastboth in the fetcher and config hook to set pnpm config values based on versions. What if we create a setup hook for some helper functions like apnpm-set-config <key> <value>that handles these version differences for us.Things done
passthru.tests.nixpkgs-reviewon this PR. See nixpkgs-review usage../result/bin/.