@pnpm/hooks.read-package-hook 1100.0.8 → 1100.1.0
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,592 @@
|
|
|
1
|
+
# @pnpm/hooks.read-package-hook
|
|
2
|
+
|
|
3
|
+
## 1100.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Added a new override selector form with an empty range — `"pkg@": "<version>"` — called a convergence override. It rewrites a dependency edge only when its exact version satisfies the edge's declared range, so compatible consumers converge on one version while incompatible consumers keep their own resolution — now and for any dependent added in the future [#12794](https://github.com/pnpm/pnpm/issues/12794).
|
|
8
|
+
|
|
9
|
+
```yaml
|
|
10
|
+
overrides:
|
|
11
|
+
"form-data@": 4.0.6
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
The value must be an exact version. When a full resolution detects that every declared range also admits a newer version, pnpm warns that the override is stale and names the version to converge on. Previously an empty range in an override selector was undocumented and behaved like a bare (unscoped) override.
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- Updated dependencies:
|
|
19
|
+
- @pnpm/config.parse-overrides@1100.1.0
|
|
20
|
+
- @pnpm/types@1101.4.0
|
|
21
|
+
|
|
22
|
+
## 1100.0.9
|
|
23
|
+
|
|
24
|
+
### Patch Changes
|
|
25
|
+
|
|
26
|
+
- Updated dependencies [852d537]
|
|
27
|
+
- @pnpm/error@1100.0.1
|
|
28
|
+
- @pnpm/config.parse-overrides@1100.0.2
|
|
29
|
+
|
|
30
|
+
## 1100.0.8
|
|
31
|
+
|
|
32
|
+
### Patch Changes
|
|
33
|
+
|
|
34
|
+
- a31faa7: Updated dependency ranges. Notably:
|
|
35
|
+
|
|
36
|
+
- `@pnpm/logger` peer dependency range moved to `^1100.0.0`.
|
|
37
|
+
- `msgpackr` 1.11.8 → 2.0.4 (store index files remain byte-compatible in both directions).
|
|
38
|
+
- `open` ^7.4.2 → ^11.0.0, `memoize` ^10 → ^11, `cli-truncate` ^5 → ^6, `pidtree` ^0.6 → ^1.
|
|
39
|
+
- `@yarnpkg/core` 4.5.0 → 4.8.0, `@rushstack/worker-pool` 0.7.7 → 0.7.18, `@cyclonedx/cyclonedx-library` 10.0.0 → 10.1.0, `@pnpm/config.nerf-dart` ^1 → ^2, `@pnpm/log.group` 3.0.2 → 4.0.1, `@pnpm/util.lex-comparator` ^3 → ^4.
|
|
40
|
+
|
|
41
|
+
- Updated dependencies [681b593]
|
|
42
|
+
- Updated dependencies [a31faa7]
|
|
43
|
+
- @pnpm/types@1101.3.2
|
|
44
|
+
- @pnpm/deps.peer-range@1100.0.2
|
|
45
|
+
|
|
46
|
+
## 1100.0.7
|
|
47
|
+
|
|
48
|
+
### Patch Changes
|
|
49
|
+
|
|
50
|
+
- Updated dependencies [bf1b731]
|
|
51
|
+
- @pnpm/types@1101.3.1
|
|
52
|
+
|
|
53
|
+
## 1100.0.6
|
|
54
|
+
|
|
55
|
+
### Patch Changes
|
|
56
|
+
|
|
57
|
+
- Updated dependencies [a017bf3]
|
|
58
|
+
- @pnpm/types@1101.3.0
|
|
59
|
+
|
|
60
|
+
## 1100.0.5
|
|
61
|
+
|
|
62
|
+
### Patch Changes
|
|
63
|
+
|
|
64
|
+
- Updated dependencies [35d2355]
|
|
65
|
+
- @pnpm/types@1101.2.0
|
|
66
|
+
|
|
67
|
+
## 1100.0.4
|
|
68
|
+
|
|
69
|
+
### Patch Changes
|
|
70
|
+
|
|
71
|
+
- Updated dependencies [64afc92]
|
|
72
|
+
- @pnpm/types@1101.1.1
|
|
73
|
+
|
|
74
|
+
## 1100.0.3
|
|
75
|
+
|
|
76
|
+
### Patch Changes
|
|
77
|
+
|
|
78
|
+
- Updated dependencies [b61e268]
|
|
79
|
+
- @pnpm/types@1101.1.0
|
|
80
|
+
|
|
81
|
+
## 1100.0.2
|
|
82
|
+
|
|
83
|
+
### Patch Changes
|
|
84
|
+
|
|
85
|
+
- Updated dependencies [184ce26]
|
|
86
|
+
- @pnpm/resolving.parse-wanted-dependency@1100.0.1
|
|
87
|
+
- @pnpm/config.parse-overrides@1100.0.1
|
|
88
|
+
- @pnpm/deps.peer-range@1100.0.1
|
|
89
|
+
- @pnpm/config.matcher@1100.0.1
|
|
90
|
+
|
|
91
|
+
## 1100.0.1
|
|
92
|
+
|
|
93
|
+
### Patch Changes
|
|
94
|
+
|
|
95
|
+
- Updated dependencies [ff28085]
|
|
96
|
+
- @pnpm/types@1101.0.0
|
|
97
|
+
|
|
98
|
+
## 1001.0.0
|
|
99
|
+
|
|
100
|
+
### Major Changes
|
|
101
|
+
|
|
102
|
+
- 491a84f: This package is now pure ESM.
|
|
103
|
+
- 7d2fd48: Node.js v18, 19, 20, and 21 support discontinued.
|
|
104
|
+
|
|
105
|
+
### Patch Changes
|
|
106
|
+
|
|
107
|
+
- Updated dependencies [76718b3]
|
|
108
|
+
- Updated dependencies [a8f016c]
|
|
109
|
+
- Updated dependencies [cc1b8e3]
|
|
110
|
+
- Updated dependencies [491a84f]
|
|
111
|
+
- Updated dependencies [7d2fd48]
|
|
112
|
+
- Updated dependencies [efb48dc]
|
|
113
|
+
- Updated dependencies [cb367b9]
|
|
114
|
+
- Updated dependencies [7b1c189]
|
|
115
|
+
- Updated dependencies [8ffb1a7]
|
|
116
|
+
- Updated dependencies [05fb1ae]
|
|
117
|
+
- Updated dependencies [71de2b3]
|
|
118
|
+
- Updated dependencies [10bc391]
|
|
119
|
+
- Updated dependencies [831f574]
|
|
120
|
+
- Updated dependencies [2df8b71]
|
|
121
|
+
- Updated dependencies [15549a9]
|
|
122
|
+
- Updated dependencies [cc7c0d2]
|
|
123
|
+
- Updated dependencies [efb48dc]
|
|
124
|
+
- @pnpm/types@1001.0.0
|
|
125
|
+
- @pnpm/resolving.parse-wanted-dependency@1002.0.0
|
|
126
|
+
- @pnpm/config.parse-overrides@1002.0.0
|
|
127
|
+
- @pnpm/deps.peer-range@1001.0.0
|
|
128
|
+
- @pnpm/config.matcher@1001.0.0
|
|
129
|
+
- @pnpm/error@1001.0.0
|
|
130
|
+
|
|
131
|
+
## 1000.0.15
|
|
132
|
+
|
|
133
|
+
### Patch Changes
|
|
134
|
+
|
|
135
|
+
- Updated dependencies [7c1382f]
|
|
136
|
+
- Updated dependencies [dee39ec]
|
|
137
|
+
- Updated dependencies [7c1382f]
|
|
138
|
+
- @pnpm/types@1000.9.0
|
|
139
|
+
- @pnpm/matcher@1000.1.0
|
|
140
|
+
|
|
141
|
+
## 1000.0.14
|
|
142
|
+
|
|
143
|
+
### Patch Changes
|
|
144
|
+
|
|
145
|
+
- @pnpm/error@1000.0.5
|
|
146
|
+
- @pnpm/parse-overrides@1001.0.3
|
|
147
|
+
|
|
148
|
+
## 1000.0.13
|
|
149
|
+
|
|
150
|
+
### Patch Changes
|
|
151
|
+
|
|
152
|
+
- Updated dependencies [e792927]
|
|
153
|
+
- @pnpm/types@1000.8.0
|
|
154
|
+
|
|
155
|
+
## 1000.0.12
|
|
156
|
+
|
|
157
|
+
### Patch Changes
|
|
158
|
+
|
|
159
|
+
- @pnpm/error@1000.0.4
|
|
160
|
+
- @pnpm/parse-overrides@1001.0.2
|
|
161
|
+
|
|
162
|
+
## 1000.0.11
|
|
163
|
+
|
|
164
|
+
### Patch Changes
|
|
165
|
+
|
|
166
|
+
- Updated dependencies [1a07b8f]
|
|
167
|
+
- @pnpm/types@1000.7.0
|
|
168
|
+
- @pnpm/error@1000.0.3
|
|
169
|
+
- @pnpm/parse-overrides@1001.0.1
|
|
170
|
+
|
|
171
|
+
## 1000.0.10
|
|
172
|
+
|
|
173
|
+
### Patch Changes
|
|
174
|
+
|
|
175
|
+
- Updated dependencies [5ec7255]
|
|
176
|
+
- @pnpm/types@1000.6.0
|
|
177
|
+
|
|
178
|
+
## 1000.0.9
|
|
179
|
+
|
|
180
|
+
### Patch Changes
|
|
181
|
+
|
|
182
|
+
- Updated dependencies [8a9f3a4]
|
|
183
|
+
- Updated dependencies [5b73df1]
|
|
184
|
+
- @pnpm/parse-wanted-dependency@1001.0.0
|
|
185
|
+
- @pnpm/parse-overrides@1001.0.0
|
|
186
|
+
- @pnpm/types@1000.5.0
|
|
187
|
+
|
|
188
|
+
## 1000.0.8
|
|
189
|
+
|
|
190
|
+
### Patch Changes
|
|
191
|
+
|
|
192
|
+
- Updated dependencies [750ae7d]
|
|
193
|
+
- @pnpm/types@1000.4.0
|
|
194
|
+
|
|
195
|
+
## 1000.0.7
|
|
196
|
+
|
|
197
|
+
### Patch Changes
|
|
198
|
+
|
|
199
|
+
- Updated dependencies [5f7be64]
|
|
200
|
+
- Updated dependencies [5f7be64]
|
|
201
|
+
- @pnpm/types@1000.3.0
|
|
202
|
+
|
|
203
|
+
## 1000.0.6
|
|
204
|
+
|
|
205
|
+
### Patch Changes
|
|
206
|
+
|
|
207
|
+
- Updated dependencies [a5e4965]
|
|
208
|
+
- @pnpm/types@1000.2.1
|
|
209
|
+
|
|
210
|
+
## 1000.0.5
|
|
211
|
+
|
|
212
|
+
### Patch Changes
|
|
213
|
+
|
|
214
|
+
- Updated dependencies [8fcc221]
|
|
215
|
+
- @pnpm/types@1000.2.0
|
|
216
|
+
|
|
217
|
+
## 1000.0.4
|
|
218
|
+
|
|
219
|
+
### Patch Changes
|
|
220
|
+
|
|
221
|
+
- e8c2b17: Prevent `overrides` from adding invalid version ranges to `peerDependencies` by keeping the `peerDependencies` and overriding them with prod `dependencies` [#8978](https://github.com/pnpm/pnpm/issues/8978).
|
|
222
|
+
- Updated dependencies [e8c2b17]
|
|
223
|
+
- @pnpm/semver.peer-range@1000.0.0
|
|
224
|
+
|
|
225
|
+
## 1000.0.3
|
|
226
|
+
|
|
227
|
+
### Patch Changes
|
|
228
|
+
|
|
229
|
+
- Updated dependencies [b562deb]
|
|
230
|
+
- @pnpm/types@1000.1.1
|
|
231
|
+
- @pnpm/error@1000.0.2
|
|
232
|
+
- @pnpm/parse-overrides@1000.0.2
|
|
233
|
+
|
|
234
|
+
## 1000.0.2
|
|
235
|
+
|
|
236
|
+
### Patch Changes
|
|
237
|
+
|
|
238
|
+
- Updated dependencies [9591a18]
|
|
239
|
+
- @pnpm/types@1000.1.0
|
|
240
|
+
|
|
241
|
+
## 1000.0.1
|
|
242
|
+
|
|
243
|
+
### Patch Changes
|
|
244
|
+
|
|
245
|
+
- @pnpm/error@1000.0.1
|
|
246
|
+
- @pnpm/parse-overrides@1000.0.1
|
|
247
|
+
|
|
248
|
+
## 6.0.0
|
|
249
|
+
|
|
250
|
+
### Major Changes
|
|
251
|
+
|
|
252
|
+
- 7fb4371: Update the compatibility database (`@yarnpkg/extensions` to v2.0.3). This might change your lockfile.
|
|
253
|
+
|
|
254
|
+
### Patch Changes
|
|
255
|
+
|
|
256
|
+
- @pnpm/error@6.0.3
|
|
257
|
+
- @pnpm/parse-overrides@5.1.2
|
|
258
|
+
|
|
259
|
+
## 5.1.0
|
|
260
|
+
|
|
261
|
+
### Minor Changes
|
|
262
|
+
|
|
263
|
+
- b7fb704: Added the ability for `overrides` to remove dependencies by specifying `"-"` as the field value [#8572](https://github.com/pnpm/pnpm/issues/8572). For example, to remove `lodash` from the dependencies, use this configuration in `package.json`:
|
|
264
|
+
|
|
265
|
+
```json
|
|
266
|
+
{
|
|
267
|
+
"pnpm": {
|
|
268
|
+
"overrides": {
|
|
269
|
+
"lodash": "-"
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### Patch Changes
|
|
276
|
+
|
|
277
|
+
- @pnpm/error@6.0.2
|
|
278
|
+
- @pnpm/parse-overrides@5.1.1
|
|
279
|
+
|
|
280
|
+
## 5.0.3
|
|
281
|
+
|
|
282
|
+
### Patch Changes
|
|
283
|
+
|
|
284
|
+
- Updated dependencies [d500d9f]
|
|
285
|
+
- @pnpm/types@12.2.0
|
|
286
|
+
|
|
287
|
+
## 5.0.2
|
|
288
|
+
|
|
289
|
+
### Patch Changes
|
|
290
|
+
|
|
291
|
+
- Updated dependencies [7ee59a1]
|
|
292
|
+
- @pnpm/types@12.1.0
|
|
293
|
+
|
|
294
|
+
## 5.0.1
|
|
295
|
+
|
|
296
|
+
### Patch Changes
|
|
297
|
+
|
|
298
|
+
- Updated dependencies [cb006df]
|
|
299
|
+
- @pnpm/types@12.0.0
|
|
300
|
+
|
|
301
|
+
## 5.0.0
|
|
302
|
+
|
|
303
|
+
### Major Changes
|
|
304
|
+
|
|
305
|
+
- 0f0e441: Overrides now support catalogs [#8303](https://github.com/pnpm/pnpm/issues/8303).
|
|
306
|
+
|
|
307
|
+
### Patch Changes
|
|
308
|
+
|
|
309
|
+
- Updated dependencies [0f0e441]
|
|
310
|
+
- Updated dependencies [0ef168b]
|
|
311
|
+
- @pnpm/parse-overrides@5.1.0
|
|
312
|
+
- @pnpm/types@11.1.0
|
|
313
|
+
|
|
314
|
+
## 4.0.5
|
|
315
|
+
|
|
316
|
+
### Patch Changes
|
|
317
|
+
|
|
318
|
+
- Updated dependencies [dd00eeb]
|
|
319
|
+
- Updated dependencies
|
|
320
|
+
- @pnpm/types@11.0.0
|
|
321
|
+
|
|
322
|
+
## 4.0.4
|
|
323
|
+
|
|
324
|
+
### Patch Changes
|
|
325
|
+
|
|
326
|
+
- Updated dependencies [13e55b2]
|
|
327
|
+
- @pnpm/types@10.1.1
|
|
328
|
+
|
|
329
|
+
## 4.0.3
|
|
330
|
+
|
|
331
|
+
### Patch Changes
|
|
332
|
+
|
|
333
|
+
- Updated dependencies [45f4262]
|
|
334
|
+
- @pnpm/types@10.1.0
|
|
335
|
+
|
|
336
|
+
## 4.0.2
|
|
337
|
+
|
|
338
|
+
### Patch Changes
|
|
339
|
+
|
|
340
|
+
- b1d7f8c: Overrides with `link:` now preserves absolute path.
|
|
341
|
+
- b1d7f8c: Fix incorrect path when resolving relative `file:` overrides for workspace package.
|
|
342
|
+
- Updated dependencies [a7aef51]
|
|
343
|
+
- @pnpm/error@6.0.1
|
|
344
|
+
- @pnpm/parse-overrides@5.0.1
|
|
345
|
+
|
|
346
|
+
## 4.0.1
|
|
347
|
+
|
|
348
|
+
### Patch Changes
|
|
349
|
+
|
|
350
|
+
- 04310be: Write overrides with `file:` scheme to lockfile as-is [#7858](https://github.com/pnpm/pnpm/issues/7858).
|
|
351
|
+
|
|
352
|
+
## 4.0.0
|
|
353
|
+
|
|
354
|
+
### Major Changes
|
|
355
|
+
|
|
356
|
+
- aa33269: Peer dependency rules should only affect reporting, not data in the lockfile.
|
|
357
|
+
- 43cdd87: Node.js v16 support dropped. Use at least Node.js v18.12.
|
|
358
|
+
|
|
359
|
+
### Minor Changes
|
|
360
|
+
|
|
361
|
+
- 730929e: Add a field named `ignoredOptionalDependencies`. This is an array of strings. If an optional dependency has its name included in this array, it will be skipped.
|
|
362
|
+
|
|
363
|
+
### Patch Changes
|
|
364
|
+
|
|
365
|
+
- 0963390: Link overrides should be able to use absolute path [#7749](https://github.com/pnpm/pnpm/pull/7749).
|
|
366
|
+
- Updated dependencies [7733f3a]
|
|
367
|
+
- Updated dependencies [3ded840]
|
|
368
|
+
- Updated dependencies [43cdd87]
|
|
369
|
+
- Updated dependencies [730929e]
|
|
370
|
+
- @pnpm/types@10.0.0
|
|
371
|
+
- @pnpm/error@6.0.0
|
|
372
|
+
- @pnpm/parse-wanted-dependency@6.0.0
|
|
373
|
+
- @pnpm/parse-overrides@5.0.0
|
|
374
|
+
- @pnpm/matcher@6.0.0
|
|
375
|
+
|
|
376
|
+
## 3.0.10
|
|
377
|
+
|
|
378
|
+
### Patch Changes
|
|
379
|
+
|
|
380
|
+
- Updated dependencies [4d34684f1]
|
|
381
|
+
- @pnpm/types@9.4.2
|
|
382
|
+
|
|
383
|
+
## 3.0.9
|
|
384
|
+
|
|
385
|
+
### Patch Changes
|
|
386
|
+
|
|
387
|
+
- Updated dependencies
|
|
388
|
+
- @pnpm/types@9.4.1
|
|
389
|
+
|
|
390
|
+
## 3.0.8
|
|
391
|
+
|
|
392
|
+
### Patch Changes
|
|
393
|
+
|
|
394
|
+
- Updated dependencies [43ce9e4a6]
|
|
395
|
+
- @pnpm/types@9.4.0
|
|
396
|
+
|
|
397
|
+
## 3.0.7
|
|
398
|
+
|
|
399
|
+
### Patch Changes
|
|
400
|
+
|
|
401
|
+
- Updated dependencies [d774a3196]
|
|
402
|
+
- @pnpm/types@9.3.0
|
|
403
|
+
|
|
404
|
+
## 3.0.6
|
|
405
|
+
|
|
406
|
+
### Patch Changes
|
|
407
|
+
|
|
408
|
+
- 64bf3c860: Override peerDependencies in `pnpm.overrides` [#6759](https://github.com/pnpm/pnpm/issues/6759).
|
|
409
|
+
|
|
410
|
+
## 3.0.5
|
|
411
|
+
|
|
412
|
+
### Patch Changes
|
|
413
|
+
|
|
414
|
+
- ec50dc98c: Compare overriding ranges with intersection instead of subset to fix override range bug [#6878](https://github.com/pnpm/pnpm/issues/6878).
|
|
415
|
+
|
|
416
|
+
## 3.0.4
|
|
417
|
+
|
|
418
|
+
### Patch Changes
|
|
419
|
+
|
|
420
|
+
- Updated dependencies [aa2ae8fe2]
|
|
421
|
+
- @pnpm/types@9.2.0
|
|
422
|
+
|
|
423
|
+
## 3.0.3
|
|
424
|
+
|
|
425
|
+
### Patch Changes
|
|
426
|
+
|
|
427
|
+
- @pnpm/error@5.0.2
|
|
428
|
+
- @pnpm/parse-overrides@4.0.2
|
|
429
|
+
|
|
430
|
+
## 3.0.2
|
|
431
|
+
|
|
432
|
+
### Patch Changes
|
|
433
|
+
|
|
434
|
+
- Updated dependencies [a9e0b7cbf]
|
|
435
|
+
- @pnpm/types@9.1.0
|
|
436
|
+
- @pnpm/error@5.0.1
|
|
437
|
+
- @pnpm/parse-overrides@4.0.1
|
|
438
|
+
|
|
439
|
+
## 3.0.1
|
|
440
|
+
|
|
441
|
+
### Patch Changes
|
|
442
|
+
|
|
443
|
+
- c0760128d: bump semver to 7.4.0
|
|
444
|
+
|
|
445
|
+
## 3.0.0
|
|
446
|
+
|
|
447
|
+
### Major Changes
|
|
448
|
+
|
|
449
|
+
- eceaa8b8b: Node.js 14 support dropped.
|
|
450
|
+
|
|
451
|
+
### Patch Changes
|
|
452
|
+
|
|
453
|
+
- df107f2ef: Should use most specific override rule when multiple rules match the same target [#6210](https://github.com/pnpm/pnpm/issues/6210).
|
|
454
|
+
- 0a8b48f04: Update the compatibility DB.
|
|
455
|
+
- Updated dependencies [eceaa8b8b]
|
|
456
|
+
- @pnpm/parse-wanted-dependency@5.0.0
|
|
457
|
+
- @pnpm/parse-overrides@4.0.0
|
|
458
|
+
- @pnpm/matcher@5.0.0
|
|
459
|
+
- @pnpm/error@5.0.0
|
|
460
|
+
- @pnpm/types@9.0.0
|
|
461
|
+
|
|
462
|
+
## 2.1.1
|
|
463
|
+
|
|
464
|
+
### Patch Changes
|
|
465
|
+
|
|
466
|
+
- d583fbb2a: Fixed issue where allowedVersions wouldn't apply correctly if only parent>child selectors were used
|
|
467
|
+
|
|
468
|
+
## 2.1.0
|
|
469
|
+
|
|
470
|
+
### Minor Changes
|
|
471
|
+
|
|
472
|
+
- f39d608ac: Extends the `pnpm.peerDependencyRules.allowedVersions` `package.json` option to support the `parent>child` selector syntax. This syntax allows for extending specific `peerDependencies` [#6108](https://github.com/pnpm/pnpm/pull/6108).
|
|
473
|
+
|
|
474
|
+
## 2.0.12
|
|
475
|
+
|
|
476
|
+
### Patch Changes
|
|
477
|
+
|
|
478
|
+
- 308eb2c9b: Use Map rather than Object in `createPackageExtender` to prevent read the prototype property to native function
|
|
479
|
+
|
|
480
|
+
## 2.0.11
|
|
481
|
+
|
|
482
|
+
### Patch Changes
|
|
483
|
+
|
|
484
|
+
- Updated dependencies [2ae1c449d]
|
|
485
|
+
- @pnpm/parse-wanted-dependency@4.1.0
|
|
486
|
+
- @pnpm/parse-overrides@3.0.3
|
|
487
|
+
|
|
488
|
+
## 2.0.10
|
|
489
|
+
|
|
490
|
+
### Patch Changes
|
|
491
|
+
|
|
492
|
+
- @pnpm/parse-overrides@3.0.2
|
|
493
|
+
|
|
494
|
+
## 2.0.9
|
|
495
|
+
|
|
496
|
+
### Patch Changes
|
|
497
|
+
|
|
498
|
+
- Updated dependencies [b77651d14]
|
|
499
|
+
- @pnpm/types@8.10.0
|
|
500
|
+
|
|
501
|
+
## 2.0.8
|
|
502
|
+
|
|
503
|
+
### Patch Changes
|
|
504
|
+
|
|
505
|
+
- b11a8c363: It should be possible to use overrides with absolute file paths [#5754](https://github.com/pnpm/pnpm/issues/5754).
|
|
506
|
+
|
|
507
|
+
## 2.0.7
|
|
508
|
+
|
|
509
|
+
### Patch Changes
|
|
510
|
+
|
|
511
|
+
- 924eca293: It should be possible to override a dependency with a local package using relative path from the workspace root directory [#5493](https://github.com/pnpm/pnpm/issues/5493).
|
|
512
|
+
- Updated dependencies [a9d59d8bc]
|
|
513
|
+
- @pnpm/parse-wanted-dependency@4.0.1
|
|
514
|
+
- @pnpm/parse-overrides@3.0.1
|
|
515
|
+
|
|
516
|
+
## 2.0.6
|
|
517
|
+
|
|
518
|
+
### Patch Changes
|
|
519
|
+
|
|
520
|
+
- Updated dependencies [969f8a002]
|
|
521
|
+
- @pnpm/matcher@4.0.1
|
|
522
|
+
|
|
523
|
+
## 2.0.5
|
|
524
|
+
|
|
525
|
+
### Patch Changes
|
|
526
|
+
|
|
527
|
+
- Updated dependencies [702e847c1]
|
|
528
|
+
- @pnpm/types@8.9.0
|
|
529
|
+
|
|
530
|
+
## 2.0.4
|
|
531
|
+
|
|
532
|
+
### Patch Changes
|
|
533
|
+
|
|
534
|
+
- 0da2f0412: Update dependencies.
|
|
535
|
+
|
|
536
|
+
## 2.0.3
|
|
537
|
+
|
|
538
|
+
### Patch Changes
|
|
539
|
+
|
|
540
|
+
- da22f0c1f: Version overrider should have higher priority then custom read package hook from `.pnpmfile.cjs`.
|
|
541
|
+
|
|
542
|
+
## 2.0.2
|
|
543
|
+
|
|
544
|
+
### Patch Changes
|
|
545
|
+
|
|
546
|
+
- 0fe927215: The custom hooks should be executed after the peer dependency patcher hook.
|
|
547
|
+
|
|
548
|
+
## 2.0.1
|
|
549
|
+
|
|
550
|
+
### Patch Changes
|
|
551
|
+
|
|
552
|
+
- Updated dependencies [844e82f3a]
|
|
553
|
+
- @pnpm/types@8.8.0
|
|
554
|
+
|
|
555
|
+
## 2.0.0
|
|
556
|
+
|
|
557
|
+
### Major Changes
|
|
558
|
+
|
|
559
|
+
- f884689e0: Require `@pnpm/logger` v5.
|
|
560
|
+
|
|
561
|
+
### Patch Changes
|
|
562
|
+
|
|
563
|
+
- Updated dependencies [f884689e0]
|
|
564
|
+
- @pnpm/matcher@4.0.0
|
|
565
|
+
- @pnpm/parse-overrides@3.0.0
|
|
566
|
+
- @pnpm/parse-wanted-dependency@4.0.0
|
|
567
|
+
|
|
568
|
+
## 1.0.2
|
|
569
|
+
|
|
570
|
+
### Patch Changes
|
|
571
|
+
|
|
572
|
+
- f4813c487: Update @yarnpkg/extensions.
|
|
573
|
+
- 8c3a0b236: The readPackageHooks should always get the project directory as the second argument.
|
|
574
|
+
|
|
575
|
+
## 1.0.1
|
|
576
|
+
|
|
577
|
+
### Patch Changes
|
|
578
|
+
|
|
579
|
+
- @pnpm/parse-overrides@2.0.4
|
|
580
|
+
|
|
581
|
+
## 1.0.0
|
|
582
|
+
|
|
583
|
+
### Major Changes
|
|
584
|
+
|
|
585
|
+
- 51566e34b: First release.
|
|
586
|
+
|
|
587
|
+
### Patch Changes
|
|
588
|
+
|
|
589
|
+
- Updated dependencies [abb41a626]
|
|
590
|
+
- Updated dependencies [d665f3ff7]
|
|
591
|
+
- @pnpm/matcher@3.2.0
|
|
592
|
+
- @pnpm/types@8.7.0
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import type { PackageExtension, ReadPackageHook } from '@pnpm/types';
|
|
2
|
-
import { type VersionOverrideWithoutRawSelector } from './createVersionsOverrider.js';
|
|
2
|
+
import { type CreateVersionsOverriderOptions, type VersionOverrideWithoutRawSelector } from './createVersionsOverrider.js';
|
|
3
3
|
export declare function getEffectivePackageExtensions({ ignoreCompatibilityDb, packageExtensions, }: {
|
|
4
4
|
ignoreCompatibilityDb?: boolean;
|
|
5
5
|
packageExtensions?: Record<string, PackageExtension>;
|
|
6
6
|
}): Record<string, PackageExtension> | undefined;
|
|
7
|
-
export declare function createReadPackageHook({ ignoreCompatibilityDb, lockfileDir, overrides, ignoredOptionalDependencies, packageExtensions, readPackageHook, }: {
|
|
7
|
+
export declare function createReadPackageHook({ ignoreCompatibilityDb, lockfileDir, overrides, convergeDeclaredRanges, ignoredOptionalDependencies, packageExtensions, readPackageHook, }: {
|
|
8
8
|
ignoreCompatibilityDb?: boolean;
|
|
9
9
|
lockfileDir: string;
|
|
10
10
|
overrides?: VersionOverrideWithoutRawSelector[];
|
|
11
|
+
convergeDeclaredRanges?: CreateVersionsOverriderOptions['convergeDeclaredRanges'];
|
|
11
12
|
ignoredOptionalDependencies?: string[];
|
|
12
13
|
packageExtensions?: Record<string, PackageExtension>;
|
|
13
14
|
readPackageHook?: ReadPackageHook[] | ReadPackageHook;
|
|
@@ -19,7 +19,7 @@ export function getEffectivePackageExtensions({ ignoreCompatibilityDb, packageEx
|
|
|
19
19
|
}
|
|
20
20
|
return isEmpty(effectivePackageExtensions) ? undefined : effectivePackageExtensions;
|
|
21
21
|
}
|
|
22
|
-
export function createReadPackageHook({ ignoreCompatibilityDb, lockfileDir, overrides, ignoredOptionalDependencies, packageExtensions, readPackageHook, }) {
|
|
22
|
+
export function createReadPackageHook({ ignoreCompatibilityDb, lockfileDir, overrides, convergeDeclaredRanges, ignoredOptionalDependencies, packageExtensions, readPackageHook, }) {
|
|
23
23
|
const hooks = [];
|
|
24
24
|
const effectivePackageExtensions = getEffectivePackageExtensions({
|
|
25
25
|
ignoreCompatibilityDb,
|
|
@@ -35,7 +35,7 @@ export function createReadPackageHook({ ignoreCompatibilityDb, lockfileDir, over
|
|
|
35
35
|
hooks.push(readPackageHook);
|
|
36
36
|
}
|
|
37
37
|
if (!isEmpty(overrides ?? {})) {
|
|
38
|
-
hooks.push(createVersionsOverrider(overrides, lockfileDir));
|
|
38
|
+
hooks.push(createVersionsOverrider(overrides, lockfileDir, { convergeDeclaredRanges }));
|
|
39
39
|
}
|
|
40
40
|
if (ignoredOptionalDependencies && !isEmpty(ignoredOptionalDependencies)) {
|
|
41
41
|
hooks.push(createOptionalDependenciesRemover(ignoredOptionalDependencies));
|
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
import type { VersionOverride as VersionOverrideBase } from '@pnpm/config.parse-overrides';
|
|
2
2
|
import type { ReadPackageHook } from '@pnpm/types';
|
|
3
3
|
export type VersionOverrideWithoutRawSelector = Omit<VersionOverrideBase, 'selector'>;
|
|
4
|
-
export
|
|
4
|
+
export interface CreateVersionsOverriderOptions {
|
|
5
|
+
/**
|
|
6
|
+
* Populated with every declared semver range seen for packages that have a
|
|
7
|
+
* convergence override, whether or not the override's version satisfied it.
|
|
8
|
+
* Feeds the staleness check for convergence overrides after a full
|
|
9
|
+
* resolution. Edges claimed by an explicit override are not recorded — the
|
|
10
|
+
* convergence override never governs them.
|
|
11
|
+
*/
|
|
12
|
+
convergeDeclaredRanges?: Map<string, Set<string>>;
|
|
13
|
+
}
|
|
14
|
+
export declare function createVersionsOverrider(overrides: VersionOverrideWithoutRawSelector[], rootDir: string, opts?: CreateVersionsOverriderOptions): ReadPackageHook;
|
|
@@ -4,17 +4,22 @@ import normalizePath from 'normalize-path';
|
|
|
4
4
|
import { partition } from 'ramda';
|
|
5
5
|
import semver from 'semver';
|
|
6
6
|
import { isIntersectingRange } from './isIntersectingRange.js';
|
|
7
|
-
export function createVersionsOverrider(overrides, rootDir) {
|
|
8
|
-
const [
|
|
7
|
+
export function createVersionsOverrider(overrides, rootDir, opts) {
|
|
8
|
+
const [convergeOverrides, explicitOverrides] = partition(({ converge }) => converge === true, overrides);
|
|
9
|
+
const [versionOverrides, genericVersionOverrides] = partition(({ parentPkg }) => parentPkg != null, explicitOverrides.map((override) => ({
|
|
9
10
|
...override,
|
|
10
11
|
localTarget: createLocalTarget(override, rootDir),
|
|
11
12
|
})));
|
|
13
|
+
const convergeVersions = new Map(convergeOverrides.map((override) => [override.targetPkg.name, override.newBareSpecifier]));
|
|
12
14
|
return ((manifest, dir) => {
|
|
13
15
|
const versionOverridesWithParent = versionOverrides.filter(({ parentPkg }) => {
|
|
14
16
|
return (parentPkg.name === manifest.name &&
|
|
15
17
|
(!parentPkg.bareSpecifier || semver.satisfies(manifest.version, parentPkg.bareSpecifier)));
|
|
16
18
|
});
|
|
17
|
-
overrideDepsOfPkg({ manifest, dir }, versionOverridesWithParent, genericVersionOverrides
|
|
19
|
+
overrideDepsOfPkg({ manifest, dir }, versionOverridesWithParent, genericVersionOverrides, {
|
|
20
|
+
convergeVersions,
|
|
21
|
+
convergeDeclaredRanges: opts?.convergeDeclaredRanges,
|
|
22
|
+
});
|
|
18
23
|
return manifest;
|
|
19
24
|
});
|
|
20
25
|
}
|
|
@@ -34,9 +39,9 @@ function createLocalTarget(override, rootDir) {
|
|
|
34
39
|
const absolutePath = specifiedViaRelativePath ? path.join(rootDir, pkgPath) : pkgPath;
|
|
35
40
|
return { absolutePath, specifiedViaRelativePath, protocol };
|
|
36
41
|
}
|
|
37
|
-
function overrideDepsOfPkg({ manifest, dir }, versionOverrides, genericVersionOverrides) {
|
|
42
|
+
function overrideDepsOfPkg({ manifest, dir }, versionOverrides, genericVersionOverrides, convergeOpts) {
|
|
38
43
|
const { dependencies, optionalDependencies, devDependencies, peerDependencies } = manifest;
|
|
39
|
-
const _overrideDeps = overrideDeps.bind(null, { versionOverrides, genericVersionOverrides, dir });
|
|
44
|
+
const _overrideDeps = overrideDeps.bind(null, { versionOverrides, genericVersionOverrides, dir, convergeOpts });
|
|
40
45
|
for (const deps of [dependencies, optionalDependencies, devDependencies]) {
|
|
41
46
|
if (deps) {
|
|
42
47
|
_overrideDeps(deps, undefined);
|
|
@@ -48,12 +53,14 @@ function overrideDepsOfPkg({ manifest, dir }, versionOverrides, genericVersionOv
|
|
|
48
53
|
_overrideDeps(manifest.dependencies, peerDependencies);
|
|
49
54
|
}
|
|
50
55
|
}
|
|
51
|
-
function overrideDeps({ versionOverrides, genericVersionOverrides, dir }, deps, peerDeps) {
|
|
56
|
+
function overrideDeps({ versionOverrides, genericVersionOverrides, dir, convergeOpts }, deps, peerDeps) {
|
|
52
57
|
for (const [name, bareSpecifier] of Object.entries(peerDeps ?? deps)) {
|
|
53
58
|
const versionOverride = pickMostSpecificVersionOverride(versionOverrides.filter(({ targetPkg }) => targetPkg.name === name && isIntersectingRange(targetPkg.bareSpecifier, bareSpecifier))) ??
|
|
54
59
|
pickMostSpecificVersionOverride(genericVersionOverrides.filter(({ targetPkg }) => targetPkg.name === name && isIntersectingRange(targetPkg.bareSpecifier, bareSpecifier)));
|
|
55
|
-
if (!versionOverride)
|
|
60
|
+
if (!versionOverride) {
|
|
61
|
+
convergeDep(convergeOpts, { deps, peerDeps }, name, bareSpecifier);
|
|
56
62
|
continue;
|
|
63
|
+
}
|
|
57
64
|
if (versionOverride.newBareSpecifier === '-') {
|
|
58
65
|
if (peerDeps) {
|
|
59
66
|
delete peerDeps[versionOverride.targetPkg.name];
|
|
@@ -74,6 +81,34 @@ function overrideDeps({ versionOverrides, genericVersionOverrides, dir }, deps,
|
|
|
74
81
|
}
|
|
75
82
|
}
|
|
76
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* A convergence override (`"pkg@": "<version>"`) rewrites a dependency edge
|
|
86
|
+
* only when its version satisfies the edge's declared range, so incompatible
|
|
87
|
+
* consumers keep their own resolution. Only plain semver ranges participate:
|
|
88
|
+
* `workspace:`, `catalog:`, `npm:`, git/URL, and dist-tag specifiers have no
|
|
89
|
+
* defined "satisfies" relation and are left untouched.
|
|
90
|
+
*/
|
|
91
|
+
function convergeDep({ convergeVersions, convergeDeclaredRanges }, { deps, peerDeps }, name, bareSpecifier) {
|
|
92
|
+
const convergeVersion = convergeVersions.get(name);
|
|
93
|
+
if (convergeVersion == null || semver.validRange(bareSpecifier, true) == null)
|
|
94
|
+
return;
|
|
95
|
+
if (convergeDeclaredRanges != null) {
|
|
96
|
+
let ranges = convergeDeclaredRanges.get(name);
|
|
97
|
+
if (ranges == null) {
|
|
98
|
+
ranges = new Set();
|
|
99
|
+
convergeDeclaredRanges.set(name, ranges);
|
|
100
|
+
}
|
|
101
|
+
ranges.add(bareSpecifier);
|
|
102
|
+
}
|
|
103
|
+
if (!semver.satisfies(convergeVersion, bareSpecifier, true))
|
|
104
|
+
return;
|
|
105
|
+
if (peerDeps == null) {
|
|
106
|
+
deps[name] = convergeVersion;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
peerDeps[name] = convergeVersion;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
77
112
|
function resolveLocalOverride({ specifiedViaRelativePath, absolutePath }, pkgDir) {
|
|
78
113
|
return specifiedViaRelativePath && pkgDir
|
|
79
114
|
? normalizePath(path.relative(pkgDir, absolutePath))
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pnpm/hooks.read-package-hook",
|
|
3
|
-
"version": "1100.0
|
|
3
|
+
"version": "1100.1.0",
|
|
4
4
|
"description": "Creates the default package reader hook used by pnpm",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pnpm",
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
"funding": "https://opencollective.com/pnpm",
|
|
11
11
|
"repository": {
|
|
12
12
|
"type": "git",
|
|
13
|
-
"url": "https://github.com/pnpm/pnpm/tree/main/hooks/read-package-hook"
|
|
13
|
+
"url": "https://github.com/pnpm/pnpm/tree/main/pnpm11/hooks/read-package-hook"
|
|
14
14
|
},
|
|
15
|
-
"homepage": "https://github.com/pnpm/pnpm/tree/main/hooks/read-package-hook#readme",
|
|
15
|
+
"homepage": "https://github.com/pnpm/pnpm/tree/main/pnpm11/hooks/read-package-hook#readme",
|
|
16
16
|
"bugs": {
|
|
17
17
|
"url": "https://github.com/pnpm/pnpm/issues"
|
|
18
18
|
},
|
|
@@ -27,24 +27,24 @@
|
|
|
27
27
|
"!*.map"
|
|
28
28
|
],
|
|
29
29
|
"dependencies": {
|
|
30
|
+
"@pnpm/config.matcher": "1100.0.1",
|
|
31
|
+
"@pnpm/config.parse-overrides": "1100.1.0",
|
|
32
|
+
"@pnpm/deps.peer-range": "1100.0.2",
|
|
33
|
+
"@pnpm/error": "1100.0.1",
|
|
34
|
+
"@pnpm/resolving.parse-wanted-dependency": "1100.0.1",
|
|
35
|
+
"@pnpm/types": "1101.4.0",
|
|
30
36
|
"@yarnpkg/extensions": "2.0.6",
|
|
31
37
|
"normalize-path": "^3.0.0",
|
|
32
38
|
"ramda": "npm:@pnpm/ramda@0.28.1",
|
|
33
|
-
"semver": "^7.8.4"
|
|
34
|
-
"@pnpm/config.parse-overrides": "1100.0.1",
|
|
35
|
-
"@pnpm/error": "1100.0.0",
|
|
36
|
-
"@pnpm/deps.peer-range": "1100.0.2",
|
|
37
|
-
"@pnpm/resolving.parse-wanted-dependency": "1100.0.1",
|
|
38
|
-
"@pnpm/types": "1101.3.2",
|
|
39
|
-
"@pnpm/config.matcher": "1100.0.1"
|
|
39
|
+
"semver": "^7.8.4"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@jest/globals": "30.4.1",
|
|
43
|
+
"@pnpm/hooks.read-package-hook": "1100.1.0",
|
|
43
44
|
"@types/normalize-path": "^3.0.2",
|
|
44
45
|
"@types/ramda": "0.31.1",
|
|
45
46
|
"@types/semver": "7.7.1",
|
|
46
|
-
"@yarnpkg/core": "4.8.0"
|
|
47
|
-
"@pnpm/hooks.read-package-hook": "1100.0.8"
|
|
47
|
+
"@yarnpkg/core": "4.8.0"
|
|
48
48
|
},
|
|
49
49
|
"engines": {
|
|
50
50
|
"node": ">=22.13"
|