136 Commits

Author SHA1 Message Date
Tom
972ab61a61 pnpmBuildHook: Fix pnpmFlags location, clarify argument segmentation (#550875) 2026-10-24 00:43:23 +00:00
Bang Lee
6692f1219c fetchPnpmDeps: add fetcherVersion 5
The global virtual store contains package payloads that may use JSONC, as well as generated bin shims containing build-directory paths. These files should not be part of the fixed-output dependency store.

Redirect virtual-store materialization to a temporary directory. pnpmConfigHook reconstructs it offline from the archived content-addressable store.

Assisted-by: pi coding agent (GPT-5.6-sol, GPT-6-sol)
2026-10-22 17:51:48 -07:00
Diogo Correia
9f608b0e00 doc/treewide: use lib.getExe or lib.getExe' when possible
Similar to #318290 but for documentation.

All instances of the old pattern were found using `rg '\}\/bin\/' -tmd`.
Some instances were deliberately left as-is, either because it does not
make sense to convert them, or because they were in release notes.
2026-10-16 12:08:40 +01:00
Ross Smyth
5f7e59dca1 doc/javascript: Update the description of the pnpm flags 2026-10-09 16:24:51 -04:00
Diogo Correia
be10a55ced doc/javascript: list available builders and hooks in tools overview 2026-09-27 14:08:37 +01:00
Diogo Correia
d0702e9a4e doc/hooks/pnpm: move to pnpm section in docs/javascript 2026-09-27 14:08:12 +01:00
Diogo Correia
3827d932a5 doc/javascript: small cleanup of yarn berry section 2026-09-27 13:26:35 +01:00
Diogo Correia
887b9e1a5d doc/javascript: remove superfluous section about pinning pnpm
The main example already pins pnpm.

This section had been removed before in
7d318dfe3b, but was (accidentally?) added
back in d925565179.
2026-09-27 13:24:27 +01:00
Diogo Correia
b02c199b3d doc/javascript: add heading to pnpmConfigHook 2026-09-27 13:23:37 +01:00
Alexander Bantyev
1dec9ab545 fetchYarnDeps: make registry URL configurable (#532667) 2026-09-16 09:15:27 +00:00
Enjeck C.
4cdded4d02 doc: address review comments 2026-07-28 19:26:47 +01:00
Enjeck C.
8dfcbe2d53 doc: fix grammatical errors 2026-07-28 19:26:47 +01:00
Enjeck C.
8ddc1668f7 doc: drop the finding-examples section 2026-07-28 19:26:47 +01:00
Enjeck C.
d193b7bb35 doc: break long sentences into short ones 2026-07-28 19:26:47 +01:00
Enjeck C.
dfe2d17e1e doc: use present tense and active voice 2026-07-28 19:26:47 +01:00
Enjeck C.
afbf43f1c5 doc: drop hedging and state facts 2026-07-28 19:26:47 +01:00
Enjeck C.
217e6db613 doc: cut filler and use plain words 2026-07-28 19:26:46 +01:00
Enjeck C.
a6ca6b9a51 doc: remove meta-commentary 2026-07-28 19:26:46 +01:00
Enjeck C.
8c33ba0fdb doc: fix capitalization and use consistent terminology 2026-07-28 19:26:46 +01:00
Sefa Eyeoglu
0202989271 pnpm_8: drop
Insecure and unmaintained. No consumers in nixpkgs anymore so it can go.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2026-07-11 20:04:14 +02:00
Gergő Gutyina
a62df84c37 doc/javascript.section: recommend fetcherVersion 4 (#531246) 2026-07-05 22:24:56 +00:00
K900
8f26ec5602 pnpmConfigHook: allow opt-out
This is sometimes useful when mixing ecosystems, e.g. in buildGoModule.
2026-06-22 18:44:29 +03:00
José Luis Lafuente
f5ac7ff926 fetchYarnDeps: make registry URL configurable 2026-06-17 14:42:21 +02:00
Sizhe Zhao
a742a240a7 doc/javascript.section: recommend fetcherVersion 4 2026-06-13 13:49:37 +08:00
Gergő Gutyina
3604c8c851 pnpm: switch to nodejs-slim (#514575) 2026-06-06 10:46:45 +00:00
Antoine du Hamel
36b6c90e6b pnpm: switch to nodejs-slim 2026-06-06 00:36:37 +02:00
Gergő Gutyina
49ffcc65f9 fetchPnpmDeps: remove fetcherVersion = 1 and 2 (#523933) 2026-06-03 09:03:19 +00:00
Ross Smyth
3b8d94ca86 doc: Add pnpmBuildHook 2026-06-02 13:53:11 -04:00
Aliaksandr
2c01146d7d fetchPnpmDeps: throw on removed fetcherVersion = 1 and 2
fetcherVersion = 1 and 2 were deprecated in the 26.05 release and
scheduled for removal in 26.11. Remove them from supportedFetcherVersions
and replace the deprecation warning with a hard throw that points users
at the migration to fetcherVersion = 3.

No in-tree package still uses fetcherVersion = 1 or 2. The now-unreachable
v1/v2 code paths are removed in a follow-up commit.

Assisted-by: claude-code with claude-opus-4-7[1m]-xhigh
2026-05-31 23:50:21 +03:00
Maciej Krüger
f2ba699f37 fetchPnpmDeps: fix reproducibility of pnpm v11 store index
The pnpm v11 store uses a SQLite database (index.db) whose binary format
is non-deterministic across platforms (version-valid-for number, etc).
This caused hash mismatches when building the same pnpmDeps on different
machines despite identical logical content.

Fix by dumping the SQLite database to a text SQL file during the fetch
phase and reconstructing it during the build phase. This ensures the
stored representation is fully deterministic.

Assisted-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

Co-authored-by: Gergő Gutyina <gutyina.gergo.2@gmail.com>
2026-05-23 22:13:33 +02:00
nixpkgs-ci[bot]
167c482ea6 Merge master into staging-next 2026-05-14 00:41:55 +00:00
Gergő Gutyina
bc164958aa fetchPnpmDeps: deprecate fetcherVersion = 2, schedule removal for 26.11 (#518360) 2026-05-13 21:29:30 +00:00
K900
c11500a253 Merge remote-tracking branch 'origin/master' into staging-next 2026-05-12 22:39:18 +03:00
Sefa Eyeoglu
7d318dfe3b pnpm_11: init at 11.1.0
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2026-05-11 23:13:15 +02:00
Aliaksandr
f472a6385b fetchPnpmDeps: deprecate fetcherVersion = 2
Extend the existing v1 deprecation warning to also fire for
`fetcherVersion = 2`, since callers should migrate directly to
`fetcherVersion = 3`. Both pre-v3 versions now share a single
`lib.warnIf` keyed on `fetcherVersion < 3` and produce a message
parameterised by the offending version.

Consolidate the manual's version-history entries: the per-item
**Deprecated** and **Recommended** labels are replaced by a single
sentence above the list noting that v3 is recommended and v1/v2 are
scheduled for removal.

Add a release note mirroring the existing v1 entry.
2026-05-11 18:02:36 +03:00
nixpkgs-ci[bot]
3897d11ea5 Merge staging-next into staging 2026-04-26 18:16:05 +00:00
Aliaksandr
6b6d15b820 fetchPnpmDeps: deprecate fetcherVersion = 1, schedule removal for 26.11
fetcherVersion = 1 was kept around for backwards compatibility while
callers migrated to 2/3.

Emit a `lib.warnIf` warning pointing at the affected pname whenever v1
is used.

After 26.11 ships, a follow-up PR should drop 1 from
`supportedFetcherVersions` and clean up the dead v1 code paths in
default.nix, pnpm-config-hook.sh and serve.nix.

Also rewrite the manual section to recommend fetcherVersion = 3 for new
packages and mark v1 as deprecated/scheduled-for-removal in the
version history.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2026-04-26 18:39:08 +03:00
nixpkgs-ci[bot]
b23e6c6674 Merge staging-next into staging 2026-04-26 12:16:51 +00:00
Doron Behar
7add9a7657 yarn2nix: remove more mentions of it 2026-04-26 09:50:54 +03:00
Doron Behar
effc9ce2e6 doc/javascript: update link to plausible example 2026-04-26 09:47:36 +03:00
nixpkgs-ci[bot]
b17737e3bc Merge staging-next into staging 2026-04-26 06:40:00 +00:00
dish
b8d4d82697 doc/javascript: remove yarn2nix docs and redirect 2026-04-25 18:22:39 -04:00
Antoine du Hamel
ca4100c3c0 nodejs_20: mark as insecure 2026-04-20 18:07:36 +02:00
Philip Taron
16d53f40e2 nodePackages{,_latest}: drop and throw (#496365) 2026-03-29 23:52:00 +00:00
dish
07f4288475 nodePackages{,_latest}: remove and throw
We are so back
2026-03-24 14:45:31 -04:00
Ross Smyth
41d8cf69e5 doc: Add documentation on npmHooks.npmBuildHook 2026-02-19 14:16:28 -05:00
Sefa Eyeoglu
d925565179 fetchPnpmDeps,pnpmConfigHook: move to top-level attribute
move pnpm.{fetchDeps,configHook} to fetchPnpmDeps and pnpmConfigHook
respectively. Also adds aliases to the former package-level attributes.

Additionally, pnpmConfigHook does not propagate pnpm anymore, to make
changing pnpm versions easier.

This brings pnpm in line with the other Node.js/JavaScript tooling in
nixpkgs.

This doesn't cause any rebuilds.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2025-12-17 23:43:59 +01:00
Gutyina Gergő
1f37f08091 pnpm.fetchDeps: output a tarball from fetcherVersion 3 2025-12-14 19:15:15 +01:00
Gergő Gutyina
630120119a doc: fix example (#435473) 2025-12-07 11:46:03 +00:00
Tomodachi94
7bf3aa9d0d doc/javascript: move nodePackages information back to README.md
Adding new packages here is discouraged, for reasons enumerated in
https://github.com/NixOS/nixpkgs/issues/229475, so let's move this
(mostly developer-facing) documentation back into its original location
in pkgs/development/node-packages/README.md.
2025-11-29 20:34:41 -08:00