@pnpm/resolving.resolver-base 1100.5.0 → 1100.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,765 @@
1
+ # @pnpm/resolver-base
2
+
3
+ ## 1100.5.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies:
8
+ - @pnpm/types@1101.4.0
9
+
10
+ ## 1100.5.1
11
+
12
+ ### Patch Changes
13
+
14
+ - dcabb78: Fixed `pnpm up <pkg>` producing a different result than a fresh install of the same manifests would. The resolver now distinguishes `updateRequested` (true only for packages that match the user's update target) from the broader `update` flag, and for the targeted package ignores only its own lockfile-derived preferred-version pins — so the target re-resolves exactly as if its lockfile entries were deleted and `pnpm install` ran. Preferred versions a fresh install applies (manifest pins, versions propagated down the dependency chain, and the vulnerability-avoidance penalties of `pnpm audit --fix`) stay in effect, so an update never installs duplicate versions that a reinstall from scratch would not reproduce. When a preferred version holds the update target below the newest version its range admits, pnpm now prints a warning explaining that reaching the newer version everywhere requires an override.
15
+
16
+ ## 1100.5.0
17
+
18
+ ### Minor Changes
19
+
20
+ - bae694f: Some registries generate tarballs on-demand and cannot provide an integrity checksum in their package metadata. In that case pnpm now computes the integrity from the downloaded tarball and stores it in the lockfile, so the entry is verifiable on subsequent installs instead of being written without an integrity (which would fail the next install). This also applies to `--lockfile-only`: the tarball is downloaded so its integrity can be computed. A lockfile entry that is still missing its integrity is rejected as a `ERR_PNPM_MISSING_TARBALL_INTEGRITY` lockfile verification violation (the install fails closed) rather than being silently re-fetched.
21
+
22
+ ## 1100.4.2
23
+
24
+ ### Patch Changes
25
+
26
+ - Updated dependencies [681b593]
27
+ - @pnpm/types@1101.3.2
28
+
29
+ ## 1100.4.1
30
+
31
+ ### Patch Changes
32
+
33
+ - Updated dependencies [bf1b731]
34
+ - @pnpm/types@1101.3.1
35
+
36
+ ## 1100.4.0
37
+
38
+ ### Minor Changes
39
+
40
+ - 6d17b66: The lockfile verifier now checks that a registry entry pinning an explicit `tarball` URL points at the artifact the registry's own metadata lists for that `name@version`. Previously a tampered lockfile could pair a trusted `name@version` with an attacker-chosen tarball URL (and a matching integrity for those bytes), so the install fetched the attacker's bytes. A mismatch — or any entry that can't be confirmed against the registry — is rejected with `ERR_PNPM_TARBALL_URL_MISMATCH`. Non-registry resolutions (`file:`, git-hosted, etc.) and registry entries without an explicit tarball URL (the URL is reconstructed from name+version+registry, so it is inherently bound) are unaffected; non-standard registry tarball URLs (npm Enterprise, GitHub Packages) still pass because they match the metadata.
41
+
42
+ This binding is unconditional — it runs regardless of `minimumReleaseAge`/`trustPolicy` and is not narrowed by their exclude lists, since it guards integrity rather than maturity/trust. It is **fail-closed**: an entry passes only when the registry metadata affirmatively lists the version with a matching tarball URL. If the metadata can't be fetched, doesn't list the version, or omits `dist.tarball`, the entry is rejected. As a result, an install that re-verifies a lockfile (any install whose lockfile content changed since the last verified run, where the verification cache no longer applies) now requires the configured registry to be reachable. `trustLockfile` is the opt-out for environments that treat the on-disk lockfile as already trusted.
43
+
44
+ The `minimumReleaseAge`/`trustPolicy` verification also no longer applies to URL-keyed tarball dependencies (e.g. `https:` tarballs) that carry a semver `version` copied from their manifest — those are deliberate non-registry dependencies.
45
+
46
+ ### Patch Changes
47
+
48
+ - Updated dependencies [a017bf3]
49
+ - @pnpm/types@1101.3.0
50
+
51
+ ## 1100.3.1
52
+
53
+ ### Patch Changes
54
+
55
+ - Updated dependencies [35d2355]
56
+ - @pnpm/types@1101.2.0
57
+
58
+ ## 1100.3.0
59
+
60
+ ### Minor Changes
61
+
62
+ - 1627943: `pnpm outdated` and `pnpm update --interactive` now report Node.js, Deno, and Bun runtimes installed as project dependencies (`runtime:` specifiers). Previously these were silently skipped because the npm specifier parser did not understand the `runtime:` protocol, so runtime versions never appeared in the outdated table or the interactive update picker.
63
+
64
+ Internally, the outdated check is now resolver-driven: `@pnpm/resolving.resolver-base` defines a `ResolveLatestFunction` shape (with `LatestQuery` input — `{ wantedDependency, compatible? }` — and `LatestInfo` result — `{ latestManifest? }`), and every protocol resolver (npm, jsr, named-registry, git, tarball, local, node/bun/deno runtimes) exports its own `resolveLatest*` function alongside its `resolve*`. `@pnpm/resolving.default-resolver` composes them into a single dispatcher, exposed through `@pnpm/installing.client` as `createResolver(...).resolveLatest`.
65
+
66
+ Each resolver decides whether it owns the dep and what "latest" means for its protocol; the outdated command derives `current` / `wanted` display values from the lockfile snapshot (`pkgSnapshot.version` for semver protocols, raw ref for URL-shaped ones) and uses raw ref equality for the "lockfile changed" check, so protocol knowledge stays inside each resolver instead of the command.
67
+
68
+ ### Patch Changes
69
+
70
+ - Updated dependencies [64afc92]
71
+ - @pnpm/types@1101.1.1
72
+
73
+ ## 1100.2.0
74
+
75
+ ### Minor Changes
76
+
77
+ - 4195766: Tightened the `minimumReleaseAge` story so the bypass becomes explicit on disk instead of silent, and removed the discover-by-loop dance for strict-mode users:
78
+
79
+ 1. Fresh resolutions in loose mode (`minimumReleaseAgeStrict: false`) that fall back to a version newer than the cutoff auto-collect the picked `name@version` into the workspace manifest's `minimumReleaseAgeExclude`. A single info message lists the additions; entries already on the list are left alone.
80
+ 2. The post-resolution lockfile verifier introduced in #11583 now runs in loose mode too — every accepted-immature pin must be on `minimumReleaseAgeExclude`, just like strict mode requires. A lockfile produced under a weaker (or absent) policy that still has immature entries is rejected the same way strict mode would reject it.
81
+ 3. **Strict mode (interactive)** no longer aborts on the first immature pick. The resolver gathers every immature direct _and_ transitive in one pass; before peer-dependency resolution runs, pnpm prompts the user with the full list and asks whether to add them all to `minimumReleaseAgeExclude` and proceed. Approve → install continues and the workspace manifest is written at the end. Decline → resolution aborts before the lockfile or package.json is touched (tarballs already in the store stay, since the store is idempotent). This closes the [#10488](https://github.com/pnpm/pnpm/issues/10488) loop where security bumps to packages with platform-specific transitives (e.g. `next` + the `@next/swc-*` shims) made users re-run `pnpm add` once per transitive.
82
+ 4. **Strict mode (non-interactive / CI)** now aborts with the full immature set in the error message instead of the first pick. The resolver always collects every immature direct + transitive; the install command then throws `ERR_PNPM_NO_MATURE_MATCHING_VERSION` listing each entry's `name@version` and publish time. Deterministic CI behavior is preserved (same exit code, same error code), but the error pinpoints every offending entry instead of forcing the discover-by-loop dance. The expected workflow is interactive approval locally → the lockfile + workspace manifest get committed → CI runs cleanly against the populated exclude list.
83
+
84
+ 5. **The lockfile verifier now also covers `trustPolicy: 'no-downgrade'`.** The same post-resolution gate that re-checks `minimumReleaseAge` on lockfile entries now re-runs `failIfTrustDowngraded` for every npm-registry entry whose name isn't on `trustPolicyExclude`. The two checks share a single full-metadata fetch per package, so the extra coverage doesn't cost an extra round trip when both policies are active. Resolver-time trust checks still run as before — this just closes the gap when an entry bypasses resolution (peek path, `--frozen-lockfile`, restored CI cache).
85
+
86
+ Pacquet parity: not ported — pacquet's `minimumReleaseAge` policy is itself only stubbed today (see `pnpm/crates/package-manager/src/version_policy.rs`). The auto-exclude, loose-mode verifier, prompt, and the new trust-policy verifier check will travel with the broader policy port whenever that happens.
87
+
88
+ - 31538bf: Restructured the `minimumReleaseAge` lockfile revalidation gate around a generic `ResolutionVerifier` interface. Each resolver may now export a sibling verifier factory (today: `createNpmResolutionVerifier`) that re-checks an already-resolved lockfile entry against its policies; the resolver chain returns the verifier list as `resolutionVerifiers` and the install side fans out across it. A `ResolutionVerifier` carries `verify` plus `policy` and `canTrustPastCheck` — the cache contract that lets repeat installs against an unchanged lockfile skip the per-package registry round trip entirely.
89
+
90
+ Verification results are memoized in JSON Lines at `<cacheDir>/lockfile-verified.jsonl`: a stat-only fast path matches on lockfile size, mtime, and inode, falling back to a content hash when those drift (typical after a CI checkout). Every active verifier's policy contribution is merged into a single `policy` bag on the record; the gate runs in full whenever the lockfile changes, any verifier rejects the cached policy, or no record exists [#11687](https://github.com/pnpm/pnpm/issues/11687).
91
+
92
+ ## 1100.1.3
93
+
94
+ ### Patch Changes
95
+
96
+ - Updated dependencies [b61e268]
97
+ - @pnpm/types@1101.1.0
98
+
99
+ ## 1100.1.2
100
+
101
+ ### Patch Changes
102
+
103
+ - 27425d7: Pin the integrity of git-hosted tarballs (codeload.github.com, gitlab.com, bitbucket.org) in the lockfile so that subsequent installs detect a tampered or substituted tarball and refuse to install it. Previously the lockfile only stored the tarball URL for git dependencies, so a compromised git host or a man-in-the-middle could serve arbitrary code on later installs without lockfile changes.
104
+
105
+ A new `gitHosted: true` field is recorded on git-hosted tarball resolutions in the lockfile, letting every reader/writer route them by a single typed check instead of pattern-matching the tarball URL in each call site. Lockfiles written by older pnpm versions are enriched on load (URL fallback) so the field can be relied on uniformly across the codebase.
106
+
107
+ ## 1100.1.1
108
+
109
+ ### Patch Changes
110
+
111
+ - 184ce26: Fix the package name in README.md.
112
+
113
+ ## 1100.1.0
114
+
115
+ ### Minor Changes
116
+
117
+ - 72c1e05: Fix: different platform variants of the same runtime (e.g. `node@runtime:25.9.0` glibc vs. musl) no longer share a single global-virtual-store entry. The virtual store path now incorporates the selected variant's integrity, so installs with different `--os`/`--cpu`/`--libc` end up in separate directories and `pnpm add --libc=musl node@runtime:<v>` reliably fetches the musl binary even when the glibc variant is already cached.
118
+
119
+ ## 1100.0.1
120
+
121
+ ### Patch Changes
122
+
123
+ - Updated dependencies [ff28085]
124
+ - @pnpm/types@1101.0.0
125
+
126
+ ## 1006.0.0
127
+
128
+ ### Major Changes
129
+
130
+ - 491a84f: This package is now pure ESM.
131
+ - 7d2fd48: Node.js v18, 19, 20, and 21 support discontinued.
132
+
133
+ ### Minor Changes
134
+
135
+ - facdd71: Adding `trustPolicyIgnoreAfter` allows you to ignore trust policy checks for packages published more than a specified time ago[#10352](https://github.com/pnpm/pnpm/issues/10352).
136
+ - 10bc391: Added a new setting: `trustPolicy`.
137
+ - 38b8e35: Support for custom resolvers and fetchers.
138
+ - 9d3f00b: Added support for `trustPolicyExclude` [#10164](https://github.com/pnpm/pnpm/issues/10164).
139
+
140
+ You can now list one or more specific packages or versions that pnpm should allow to install, even if those packages don't satisfy the trust policy requirement. For example:
141
+
142
+ ```yaml
143
+ trustPolicy: no-downgrade
144
+ trustPolicyExclude:
145
+ - chokidar@4.0.3
146
+ - webpack@4.47.0 || 5.102.1
147
+ ```
148
+
149
+ ### Patch Changes
150
+
151
+ - 9b0a460: Fixed a resolution bug that could cause `pnpm dedupe --check` to fail unexpectedly.
152
+
153
+ When adding new dependencies to `package.json`, pnpm generally reuses existing versions in the `pnpm-lock.yaml` if they are satisfied by the version range specifier. There was an edge case where pnpm would instead resolve to a newly released version of a dependency. This is particularly problematic for `pnpm dedupe --check`, since a new version of a dependency published to the NPM registry could cause this check to suddenly fail. For details of this bug, see [#10626](https://github.com/pnpm/pnpm/issues/10626). This bug has been fixed.
154
+
155
+ The fix necessitated a behavioral change: In some cases, pnpm was previously able to automatically dedupe a newly used dependency deep in the dependency graph without needing to run `pnpm dedupe`. This behavior was supported by the non-determinism that is now corrected. We believe fixing this non-determinism is more important than preserving an automatic dedupe heuristic that didn't handle all cases. The `pnpm dedupe` command can still be used to clean up dependencies that aren't automatically deduped on `pnpm install`.
156
+
157
+ - 50fbeca: Added `getNodeBinsForCurrentOS` to `@pnpm/constants` which returns a `Record<string, string>` with paths for `node`, `npm`, and `npx` within the Node.js package. This record is now used as `BinaryResolution.bin` (type widened from `string` to `string | Record<string, string>`) and as `manifest.bin` in the node resolver, so pnpm's bin-linker creates all three shims automatically when installing a Node.js runtime.
158
+ - Updated dependencies [76718b3]
159
+ - Updated dependencies [a8f016c]
160
+ - Updated dependencies [cc1b8e3]
161
+ - Updated dependencies [491a84f]
162
+ - Updated dependencies [7d2fd48]
163
+ - Updated dependencies [efb48dc]
164
+ - Updated dependencies [cb367b9]
165
+ - Updated dependencies [7b1c189]
166
+ - Updated dependencies [8ffb1a7]
167
+ - Updated dependencies [05fb1ae]
168
+ - Updated dependencies [71de2b3]
169
+ - Updated dependencies [10bc391]
170
+ - Updated dependencies [2df8b71]
171
+ - Updated dependencies [15549a9]
172
+ - Updated dependencies [cc7c0d2]
173
+ - Updated dependencies [efb48dc]
174
+ - @pnpm/types@1001.0.0
175
+
176
+ ## 1005.1.0
177
+
178
+ ### Minor Changes
179
+
180
+ - 7c1382f: The npm resolver supports `publishedByExclude` now.
181
+
182
+ ### Patch Changes
183
+
184
+ - Updated dependencies [7c1382f]
185
+ - Updated dependencies [dee39ec]
186
+ - @pnpm/types@1000.9.0
187
+
188
+ ## 1005.0.1
189
+
190
+ ### Patch Changes
191
+
192
+ - Updated dependencies [e792927]
193
+ - @pnpm/types@1000.8.0
194
+
195
+ ## 1005.0.0
196
+
197
+ ### Major Changes
198
+
199
+ - d1edf73: Rename Resolution to AtomicResolution. Add support for binary resolution.
200
+ - f91922c: Changed how the integrity of the node.js artifact is stored in the lockfile.
201
+
202
+ ### Minor Changes
203
+
204
+ - 86b33e9: Added support for installing Bun runtime.
205
+
206
+ ## 1004.1.0
207
+
208
+ ### Minor Changes
209
+
210
+ - 1a07b8f: Added support for resolving and downloading the Node.js runtime specified in the [devEngines](https://github.com/openjs-foundation/package-metadata-interoperability-collab-space/issues/15) field of `package.json`.
211
+
212
+ Usage example:
213
+
214
+ ```json
215
+ {
216
+ "devEngines": {
217
+ "runtime": {
218
+ "name": "node",
219
+ "version": "^24.4.0",
220
+ "onFail": "download"
221
+ }
222
+ }
223
+ }
224
+ ```
225
+
226
+ When running `pnpm install`, pnpm will resolve Node.js to the latest version that satisfies the specified range and install it as a dependency of the project. As a result, when running scripts, the locally installed Node.js version will be used.
227
+
228
+ Unlike the existing options, `useNodeVersion` and `executionEnv.nodeVersion`, this new field supports version ranges, which are locked to exact versions during installation. The resolved version is stored in the pnpm lockfile, along with an integrity checksum for future validation of the Node.js content's validity.
229
+
230
+ Related PR: [#9755](https://github.com/pnpm/pnpm/pull/9755).
231
+
232
+ ### Patch Changes
233
+
234
+ - Updated dependencies [1a07b8f]
235
+ - @pnpm/types@1000.7.0
236
+
237
+ ## 1004.0.0
238
+
239
+ ### Major Changes
240
+
241
+ - 2721291: Create different resolver result types which provide more information.
242
+ - 6acf819: Remove the blanket variant from the `Resolution` type, making it stricter and more useful.
243
+
244
+ ## 1003.0.1
245
+
246
+ ### Patch Changes
247
+
248
+ - Updated dependencies [5ec7255]
249
+ - @pnpm/types@1000.6.0
250
+
251
+ ## 1003.0.0
252
+
253
+ ### Major Changes
254
+
255
+ - 8a9f3a4: `pref` renamed to `bareSpecifier`.
256
+ - 5b73df1: Renamed `normalizedPref` to `specifiers`.
257
+
258
+ ### Minor Changes
259
+
260
+ - 9c3dd03: **Added support for installing JSR packages.** You can now install JSR packages using the following syntax:
261
+
262
+ ```
263
+ pnpm add jsr:<pkg_name>
264
+ ```
265
+
266
+ or with a version range:
267
+
268
+ ```
269
+ pnpm add jsr:<pkg_name>@<range>
270
+ ```
271
+
272
+ For example, running:
273
+
274
+ ```
275
+ pnpm add jsr:@foo/bar
276
+ ```
277
+
278
+ will add the following entry to your `package.json`:
279
+
280
+ ```json
281
+ {
282
+ "dependencies": {
283
+ "@foo/bar": "jsr:^0.1.2"
284
+ }
285
+ }
286
+ ```
287
+
288
+ When publishing, this entry will be transformed into a format compatible with npm, older versions of Yarn, and previous pnpm versions:
289
+
290
+ ```json
291
+ {
292
+ "dependencies": {
293
+ "@foo/bar": "npm:@jsr/foo__bar@^0.1.2"
294
+ }
295
+ }
296
+ ```
297
+
298
+ Related issue: [#8941](https://github.com/pnpm/pnpm/issues/8941).
299
+
300
+ Note: The `@jsr` scope defaults to <https://npm.jsr.io/> if the `@jsr:registry` setting is not defined.
301
+
302
+ ### Patch Changes
303
+
304
+ - Updated dependencies [5b73df1]
305
+ - @pnpm/types@1000.5.0
306
+
307
+ ## 1002.0.0
308
+
309
+ ### Major Changes
310
+
311
+ - 81f441c: `updateToLatest` replaced with `update` field.
312
+
313
+ ## 1001.0.0
314
+
315
+ ### Major Changes
316
+
317
+ - 72cff38: The resolving function now takes a `registries` object, so it finds the required registry itself instead of receiving it from package requester.
318
+
319
+ ### Patch Changes
320
+
321
+ - Updated dependencies [750ae7d]
322
+ - @pnpm/types@1000.4.0
323
+
324
+ ## 1000.2.1
325
+
326
+ ### Patch Changes
327
+
328
+ - Updated dependencies [5f7be64]
329
+ - Updated dependencies [5f7be64]
330
+ - @pnpm/types@1000.3.0
331
+
332
+ ## 1000.2.0
333
+
334
+ ### Minor Changes
335
+
336
+ - 3d52365: The `@pnpm/npm-resolver` package can now return `workspace` in the `resolvedVia` field of its results. This will be the case if the resolved package was requested through the `workspace:` protocol or if the wanted dependency's name and specifier match a package in the workspace. Previously, the `resolvedVia` field was always set to `local-filesystem` for workspace packages.
337
+
338
+ ## 1000.1.4
339
+
340
+ ### Patch Changes
341
+
342
+ - Updated dependencies [a5e4965]
343
+ - @pnpm/types@1000.2.1
344
+
345
+ ## 1000.1.3
346
+
347
+ ### Patch Changes
348
+
349
+ - Updated dependencies [8fcc221]
350
+ - @pnpm/types@1000.2.0
351
+
352
+ ## 1000.1.2
353
+
354
+ ### Patch Changes
355
+
356
+ - Updated dependencies [b562deb]
357
+ - @pnpm/types@1000.1.1
358
+
359
+ ## 1000.1.1
360
+
361
+ ### Patch Changes
362
+
363
+ - Updated dependencies [9591a18]
364
+ - @pnpm/types@1000.1.0
365
+
366
+ ## 1000.1.0
367
+
368
+ ### Minor Changes
369
+
370
+ - 6483b64: A new setting, `inject-workspace-packages`, has been added to allow hard-linking all local workspace dependencies instead of symlinking them. Previously, this behavior was achievable via the [`dependenciesMeta[].injected`](https://pnpm.io/package_json#dependenciesmetainjected) setting, which remains supported [#8836](https://github.com/pnpm/pnpm/pull/8836).
371
+
372
+ ## 13.0.4
373
+
374
+ ### Patch Changes
375
+
376
+ - Updated dependencies [d500d9f]
377
+ - @pnpm/types@12.2.0
378
+
379
+ ## 13.0.3
380
+
381
+ ### Patch Changes
382
+
383
+ - Updated dependencies [7ee59a1]
384
+ - @pnpm/types@12.1.0
385
+
386
+ ## 13.0.2
387
+
388
+ ### Patch Changes
389
+
390
+ - Updated dependencies [cb006df]
391
+ - @pnpm/types@12.0.0
392
+
393
+ ## 13.0.1
394
+
395
+ ### Patch Changes
396
+
397
+ - Updated dependencies [0ef168b]
398
+ - @pnpm/types@11.1.0
399
+
400
+ ## 13.0.0
401
+
402
+ ### Major Changes
403
+
404
+ - dd00eeb: Renamed dir to rootDir in the Project object.
405
+
406
+ ### Patch Changes
407
+
408
+ - Updated dependencies [dd00eeb]
409
+ - Updated dependencies
410
+ - @pnpm/types@11.0.0
411
+
412
+ ## 12.0.2
413
+
414
+ ### Patch Changes
415
+
416
+ - Updated dependencies [13e55b2]
417
+ - @pnpm/types@10.1.1
418
+
419
+ ## 12.0.1
420
+
421
+ ### Patch Changes
422
+
423
+ - Updated dependencies [45f4262]
424
+ - @pnpm/types@10.1.0
425
+
426
+ ## 12.0.0
427
+
428
+ ### Major Changes
429
+
430
+ - 43cdd87: Node.js v16 support dropped. Use at least Node.js v18.12.
431
+
432
+ ### Minor Changes
433
+
434
+ - b13d2dc: It is now possible to install only a subdirectory from a Git repository.
435
+
436
+ For example, `pnpm add github:user/repo#path:packages/foo` will add a dependency from the `packages/foo` subdirectory.
437
+
438
+ This new parameter may be combined with other supported parameters separated by `&`. For instance, the next command will install the same package from the `dev` branch: `pnpm add github:user/repo#dev&path:packages/bar`.
439
+
440
+ Related issue: [#4765](https://github.com/pnpm/pnpm/issues/4765).
441
+ Related PR: [#7487](https://github.com/pnpm/pnpm/pull/7487).
442
+
443
+ ### Patch Changes
444
+
445
+ - Updated dependencies [7733f3a]
446
+ - Updated dependencies [43cdd87]
447
+ - Updated dependencies [730929e]
448
+ - @pnpm/types@10.0.0
449
+
450
+ ## 11.1.0
451
+
452
+ ### Minor Changes
453
+
454
+ - 31054a63e: Running `pnpm update -r --latest` will no longer downgrade prerelease dependencies [#7436](https://github.com/pnpm/pnpm/issues/7436).
455
+
456
+ ## 11.0.2
457
+
458
+ ### Patch Changes
459
+
460
+ - Updated dependencies [4d34684f1]
461
+ - @pnpm/types@9.4.2
462
+
463
+ ## 11.0.1
464
+
465
+ ### Patch Changes
466
+
467
+ - Updated dependencies
468
+ - @pnpm/types@9.4.1
469
+
470
+ ## 11.0.0
471
+
472
+ ### Major Changes
473
+
474
+ - 4c2450208: (Important) Tarball resolutions in `pnpm-lock.yaml` will no longer contain a `registry` field. This field has been unused for a long time. This change should not cause any issues besides backward compatible modifications to the lockfile [#7262](https://github.com/pnpm/pnpm/pull/7262).
475
+
476
+ ## 10.0.4
477
+
478
+ ### Patch Changes
479
+
480
+ - Updated dependencies [43ce9e4a6]
481
+ - @pnpm/types@9.4.0
482
+
483
+ ## 10.0.3
484
+
485
+ ### Patch Changes
486
+
487
+ - Updated dependencies [d774a3196]
488
+ - @pnpm/types@9.3.0
489
+
490
+ ## 10.0.2
491
+
492
+ ### Patch Changes
493
+
494
+ - Updated dependencies [aa2ae8fe2]
495
+ - @pnpm/types@9.2.0
496
+
497
+ ## 10.0.1
498
+
499
+ ### Patch Changes
500
+
501
+ - Updated dependencies [a9e0b7cbf]
502
+ - @pnpm/types@9.1.0
503
+
504
+ ## 10.0.0
505
+
506
+ ### Major Changes
507
+
508
+ - eceaa8b8b: Node.js 14 support dropped.
509
+
510
+ ### Patch Changes
511
+
512
+ - Updated dependencies [eceaa8b8b]
513
+ - @pnpm/types@9.0.0
514
+
515
+ ## 9.2.0
516
+
517
+ ### Minor Changes
518
+
519
+ - 029143cff: Version selectors may have weights optionally.
520
+
521
+ ### Patch Changes
522
+
523
+ - 029143cff: When resolving dependencies, prefer versions that are already used in the root of the project. This is important to minimize the number of packages that will be nested during hoisting [#6054](https://github.com/pnpm/pnpm/pull/6054).
524
+
525
+ ## 9.1.5
526
+
527
+ ### Patch Changes
528
+
529
+ - Updated dependencies [b77651d14]
530
+ - @pnpm/types@8.10.0
531
+
532
+ ## 9.1.4
533
+
534
+ ### Patch Changes
535
+
536
+ - Updated dependencies [702e847c1]
537
+ - @pnpm/types@8.9.0
538
+
539
+ ## 9.1.3
540
+
541
+ ### Patch Changes
542
+
543
+ - Updated dependencies [844e82f3a]
544
+ - @pnpm/types@8.8.0
545
+
546
+ ## 9.1.2
547
+
548
+ ### Patch Changes
549
+
550
+ - Updated dependencies [d665f3ff7]
551
+ - @pnpm/types@8.7.0
552
+
553
+ ## 9.1.1
554
+
555
+ ### Patch Changes
556
+
557
+ - Updated dependencies [156cc1ef6]
558
+ - @pnpm/types@8.6.0
559
+
560
+ ## 9.1.0
561
+
562
+ ### Minor Changes
563
+
564
+ - 23984abd1: Add hook for adding custom fetchers.
565
+
566
+ ## 9.0.6
567
+
568
+ ### Patch Changes
569
+
570
+ - Updated dependencies [c90798461]
571
+ - @pnpm/types@8.5.0
572
+
573
+ ## 9.0.5
574
+
575
+ ### Patch Changes
576
+
577
+ - Updated dependencies [8e5b77ef6]
578
+ - @pnpm/types@8.4.0
579
+
580
+ ## 9.0.4
581
+
582
+ ### Patch Changes
583
+
584
+ - Updated dependencies [2a34b21ce]
585
+ - @pnpm/types@8.3.0
586
+
587
+ ## 9.0.3
588
+
589
+ ### Patch Changes
590
+
591
+ - Updated dependencies [fb5bbfd7a]
592
+ - @pnpm/types@8.2.0
593
+
594
+ ## 9.0.2
595
+
596
+ ### Patch Changes
597
+
598
+ - Updated dependencies [4d39e4a0c]
599
+ - @pnpm/types@8.1.0
600
+
601
+ ## 9.0.1
602
+
603
+ ### Patch Changes
604
+
605
+ - Updated dependencies [18ba5e2c0]
606
+ - @pnpm/types@8.0.1
607
+
608
+ ## 9.0.0
609
+
610
+ ### Major Changes
611
+
612
+ - 542014839: Node.js 12 is not supported.
613
+
614
+ ### Patch Changes
615
+
616
+ - Updated dependencies [d504dc380]
617
+ - Updated dependencies [542014839]
618
+ - @pnpm/types@8.0.0
619
+
620
+ ## 8.1.6
621
+
622
+ ### Patch Changes
623
+
624
+ - Updated dependencies [b138d048c]
625
+ - @pnpm/types@7.10.0
626
+
627
+ ## 8.1.5
628
+
629
+ ### Patch Changes
630
+
631
+ - Updated dependencies [26cd01b88]
632
+ - @pnpm/types@7.9.0
633
+
634
+ ## 8.1.4
635
+
636
+ ### Patch Changes
637
+
638
+ - Updated dependencies [b5734a4a7]
639
+ - @pnpm/types@7.8.0
640
+
641
+ ## 8.1.3
642
+
643
+ ### Patch Changes
644
+
645
+ - Updated dependencies [6493e0c93]
646
+ - @pnpm/types@7.7.1
647
+
648
+ ## 8.1.2
649
+
650
+ ### Patch Changes
651
+
652
+ - Updated dependencies [ba9b2eba1]
653
+ - @pnpm/types@7.7.0
654
+
655
+ ## 8.1.1
656
+
657
+ ### Patch Changes
658
+
659
+ - Updated dependencies [302ae4f6f]
660
+ - @pnpm/types@7.6.0
661
+
662
+ ## 8.1.0
663
+
664
+ ### Minor Changes
665
+
666
+ - 4ab87844a: New optional property added to `WantedDependency`: `injected`.
667
+
668
+ ### Patch Changes
669
+
670
+ - Updated dependencies [4ab87844a]
671
+ - @pnpm/types@7.5.0
672
+
673
+ ## 8.0.4
674
+
675
+ ### Patch Changes
676
+
677
+ - Updated dependencies [b734b45ea]
678
+ - @pnpm/types@7.4.0
679
+
680
+ ## 8.0.3
681
+
682
+ ### Patch Changes
683
+
684
+ - Updated dependencies [8e76690f4]
685
+ - @pnpm/types@7.3.0
686
+
687
+ ## 8.0.2
688
+
689
+ ### Patch Changes
690
+
691
+ - Updated dependencies [724c5abd8]
692
+ - @pnpm/types@7.2.0
693
+
694
+ ## 8.0.1
695
+
696
+ ### Patch Changes
697
+
698
+ - Updated dependencies [97c64bae4]
699
+ - @pnpm/types@7.1.0
700
+
701
+ ## 8.0.0
702
+
703
+ ### Major Changes
704
+
705
+ - 97b986fbc: Node.js 10 support is dropped. At least Node.js 12.17 is required for the package to work.
706
+
707
+ ### Patch Changes
708
+
709
+ - Updated dependencies [97b986fbc]
710
+ - @pnpm/types@7.0.0
711
+
712
+ ## 7.1.1
713
+
714
+ ### Patch Changes
715
+
716
+ - Updated dependencies [9ad8c27bf]
717
+ - @pnpm/types@6.4.0
718
+
719
+ ## 7.1.0
720
+
721
+ ### Minor Changes
722
+
723
+ - 8698a7060: New option added: preferWorkspacePackages. When it is `true`, dependencies are linked from the workspace even, when there are newer version available in the registry.
724
+
725
+ ## 7.0.5
726
+
727
+ ### Patch Changes
728
+
729
+ - Updated dependencies [b5d694e7f]
730
+ - @pnpm/types@6.3.1
731
+
732
+ ## 7.0.4
733
+
734
+ ### Patch Changes
735
+
736
+ - Updated dependencies [d54043ee4]
737
+ - @pnpm/types@6.3.0
738
+
739
+ ## 7.0.3
740
+
741
+ ### Patch Changes
742
+
743
+ - Updated dependencies [db17f6f7b]
744
+ - @pnpm/types@6.2.0
745
+
746
+ ## 7.0.2
747
+
748
+ ### Patch Changes
749
+
750
+ - Updated dependencies [71a8c8ce3]
751
+ - @pnpm/types@6.1.0
752
+
753
+ ## 7.0.1
754
+
755
+ ### Patch Changes
756
+
757
+ - Updated dependencies [da091c711]
758
+ - @pnpm/types@6.0.0
759
+
760
+ ## 7.0.1-alpha.0
761
+
762
+ ### Patch Changes
763
+
764
+ - Updated dependencies [da091c71]
765
+ - @pnpm/types@6.0.0-alpha.0
package/lib/index.d.ts CHANGED
@@ -236,6 +236,14 @@ export interface ResolveOptions {
236
236
  preferWorkspacePackages?: boolean;
237
237
  workspacePackages?: WorkspacePackages;
238
238
  update?: false | 'compatible' | 'latest';
239
+ /**
240
+ * True only when this specific package matches the user's update target
241
+ * (e.g. `pnpm up <name>`). Unlike `update`, this is false for unrelated
242
+ * packages that get re-resolved as a side effect of an update, so it can
243
+ * be used to bypass preferred-version propagation without forcing
244
+ * unrelated transitives to jump to their latest versions.
245
+ */
246
+ updateRequested?: boolean;
239
247
  updateChecksums?: boolean;
240
248
  injectWorkspacePackages?: boolean;
241
249
  calcSpecifier?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pnpm/resolving.resolver-base",
3
- "version": "1100.5.0",
3
+ "version": "1100.5.2",
4
4
  "description": "Types for pnpm-compatible resolvers",
5
5
  "keywords": [
6
6
  "pnpm",
@@ -28,11 +28,11 @@
28
28
  "!*.map"
29
29
  ],
30
30
  "dependencies": {
31
- "@pnpm/types": "1101.3.2"
31
+ "@pnpm/types": "1101.4.0"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@jest/globals": "30.4.1",
35
- "@pnpm/resolving.resolver-base": "1100.5.0"
35
+ "@pnpm/resolving.resolver-base": "1100.5.2"
36
36
  },
37
37
  "engines": {
38
38
  "node": ">=22.13"