@pnpm/config.package-is-installable 1100.0.12 → 1100.0.14

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,898 @@
1
+ # @pnpm/package-is-installable
2
+
3
+ ## 1100.0.14
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies:
8
+ - @pnpm/core-loggers@1100.2.3
9
+
10
+ ## 1100.0.13
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies:
15
+ - @pnpm/cli.meta@1100.0.9
16
+ - @pnpm/core-loggers@1100.2.2
17
+ - @pnpm/engine.runtime.system-version@1100.0.4
18
+ - @pnpm/types@1101.4.0
19
+
20
+ ## 1100.0.12
21
+
22
+ ### Patch Changes
23
+
24
+ - Updated dependencies [852d537]
25
+ - @pnpm/error@1100.0.1
26
+
27
+ ## 1100.0.11
28
+
29
+ ### Patch Changes
30
+
31
+ - a31faa7: Updated dependency ranges. Notably:
32
+
33
+ - `@pnpm/logger` peer dependency range moved to `^1100.0.0`.
34
+ - `msgpackr` 1.11.8 → 2.0.4 (store index files remain byte-compatible in both directions).
35
+ - `open` ^7.4.2 → ^11.0.0, `memoize` ^10 → ^11, `cli-truncate` ^5 → ^6, `pidtree` ^0.6 → ^1.
36
+ - `@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.
37
+
38
+ - Updated dependencies [681b593]
39
+ - Updated dependencies [a31faa7]
40
+ - @pnpm/types@1101.3.2
41
+ - @pnpm/core-loggers@1100.2.1
42
+ - @pnpm/engine.runtime.system-version@1100.0.3
43
+ - @pnpm/cli.meta@1100.0.8
44
+
45
+ ## 1100.0.10
46
+
47
+ ### Patch Changes
48
+
49
+ - 52be454: Platform-specific optional dependencies are now skipped even when their `os`/`cpu`/`libc` fields are missing from the registry metadata or the lockfile. Some registries strip these fields from the package metadata, which made pnpm download and install the binaries of every platform regardless of `supportedArchitectures`. The missing platform fields of an optional dependency are now inferred from its name (e.g. `@nx/nx-win32-arm64-msvc` → `os: win32`, `cpu: arm64`), so foreign-platform binaries are skipped without even downloading them [#11702](https://github.com/pnpm/pnpm/issues/11702).
50
+ - Updated dependencies [f11b4fc]
51
+ - @pnpm/core-loggers@1100.2.0
52
+
53
+ ## 1100.0.9
54
+
55
+ ### Patch Changes
56
+
57
+ - Updated dependencies [bf1b731]
58
+ - @pnpm/types@1101.3.1
59
+ - @pnpm/cli.meta@1100.0.7
60
+ - @pnpm/core-loggers@1100.1.4
61
+ - @pnpm/engine.runtime.system-version@1100.0.2
62
+
63
+ ## 1100.0.8
64
+
65
+ ### Patch Changes
66
+
67
+ - Updated dependencies [a017bf3]
68
+ - @pnpm/types@1101.3.0
69
+ - @pnpm/cli.meta@1100.0.6
70
+ - @pnpm/core-loggers@1100.1.3
71
+ - @pnpm/engine.runtime.system-version@1100.0.1
72
+
73
+ ## 1100.0.7
74
+
75
+ ### Patch Changes
76
+
77
+ - Updated dependencies [35d2355]
78
+ - @pnpm/engine.runtime.system-version@1100.0.0
79
+ - @pnpm/types@1101.2.0
80
+ - @pnpm/cli.meta@1100.0.5
81
+ - @pnpm/core-loggers@1100.1.2
82
+
83
+ ## 1100.0.6
84
+
85
+ ### Patch Changes
86
+
87
+ - Updated dependencies [64afc92]
88
+ - @pnpm/types@1101.1.1
89
+ - @pnpm/cli.meta@1100.0.4
90
+ - @pnpm/core-loggers@1100.1.1
91
+ - @pnpm/engine.runtime.system-node-version@1100.1.1
92
+
93
+ ## 1100.0.5
94
+
95
+ ### Patch Changes
96
+
97
+ - Updated dependencies [3ddde2b]
98
+ - Updated dependencies [4a79336]
99
+ - @pnpm/engine.runtime.system-node-version@1100.1.0
100
+ - @pnpm/core-loggers@1100.1.0
101
+
102
+ ## 1100.0.4
103
+
104
+ ### Patch Changes
105
+
106
+ - Updated dependencies [b61e268]
107
+ - @pnpm/types@1101.1.0
108
+ - @pnpm/cli.meta@1100.0.3
109
+ - @pnpm/core-loggers@1100.0.2
110
+ - @pnpm/engine.runtime.system-node-version@1100.0.3
111
+
112
+ ## 1100.0.3
113
+
114
+ ### Patch Changes
115
+
116
+ - 184ce26: Fix the package name in README.md.
117
+ - Updated dependencies [184ce26]
118
+ - @pnpm/engine.runtime.system-node-version@1100.0.2
119
+ - @pnpm/cli.meta@1100.0.2
120
+
121
+ ## 1100.0.2
122
+
123
+ ### Patch Changes
124
+
125
+ - d96a1bf: Fix negated `os` / `cpu` entries (e.g. `["!win32"]`) being incorrectly rejected when `supportedArchitectures` expands to multiple platforms [#11375](https://github.com/pnpm/pnpm/pull/11375).
126
+
127
+ ## 1100.0.1
128
+
129
+ ### Patch Changes
130
+
131
+ - Updated dependencies [ff28085]
132
+ - @pnpm/types@1101.0.0
133
+ - @pnpm/cli.meta@1100.0.1
134
+ - @pnpm/core-loggers@1100.0.1
135
+ - @pnpm/engine.runtime.system-node-version@1100.0.1
136
+
137
+ ## 1001.0.0
138
+
139
+ ### Major Changes
140
+
141
+ - 491a84f: This package is now pure ESM.
142
+ - 7d2fd48: Node.js v18, 19, 20, and 21 support discontinued.
143
+
144
+ ### Patch Changes
145
+
146
+ - Updated dependencies [76718b3]
147
+ - Updated dependencies [a8f016c]
148
+ - Updated dependencies [cc1b8e3]
149
+ - Updated dependencies [491a84f]
150
+ - Updated dependencies [7d2fd48]
151
+ - Updated dependencies [efb48dc]
152
+ - Updated dependencies [cb367b9]
153
+ - Updated dependencies [7b1c189]
154
+ - Updated dependencies [8ffb1a7]
155
+ - Updated dependencies [05fb1ae]
156
+ - Updated dependencies [71de2b3]
157
+ - Updated dependencies [10bc391]
158
+ - Updated dependencies [831f574]
159
+ - Updated dependencies [2df8b71]
160
+ - Updated dependencies [15549a9]
161
+ - Updated dependencies [cc7c0d2]
162
+ - Updated dependencies [efb48dc]
163
+ - @pnpm/types@1001.0.0
164
+ - @pnpm/engine.runtime.system-node-version@1001.0.0
165
+ - @pnpm/core-loggers@1002.0.0
166
+ - @pnpm/error@1001.0.0
167
+ - @pnpm/cli.meta@1001.0.0
168
+
169
+ ## 1000.0.15
170
+
171
+ ### Patch Changes
172
+
173
+ - Updated dependencies [7c1382f]
174
+ - Updated dependencies [dee39ec]
175
+ - @pnpm/types@1000.9.0
176
+ - @pnpm/cli-meta@1000.0.11
177
+ - @pnpm/core-loggers@1001.0.4
178
+ - @pnpm/env.system-node-version@1000.0.11
179
+
180
+ ## 1000.0.14
181
+
182
+ ### Patch Changes
183
+
184
+ - @pnpm/error@1000.0.5
185
+
186
+ ## 1000.0.13
187
+
188
+ ### Patch Changes
189
+
190
+ - df8d57f: Throw an error if `nodeVersion` is not set to an exact semver version [#9934](https://github.com/pnpm/pnpm/issues/9934).
191
+ - Updated dependencies [e792927]
192
+ - @pnpm/types@1000.8.0
193
+ - @pnpm/cli-meta@1000.0.10
194
+ - @pnpm/core-loggers@1001.0.3
195
+ - @pnpm/env.system-node-version@1000.0.10
196
+
197
+ ## 1000.0.12
198
+
199
+ ### Patch Changes
200
+
201
+ - @pnpm/error@1000.0.4
202
+
203
+ ## 1000.0.11
204
+
205
+ ### Patch Changes
206
+
207
+ - Updated dependencies [1a07b8f]
208
+ - @pnpm/types@1000.7.0
209
+ - @pnpm/cli-meta@1000.0.9
210
+ - @pnpm/core-loggers@1001.0.2
211
+ - @pnpm/error@1000.0.3
212
+ - @pnpm/env.system-node-version@1000.0.9
213
+
214
+ ## 1000.0.10
215
+
216
+ ### Patch Changes
217
+
218
+ - 09cf46f: Update `@pnpm/logger` in peer dependencies.
219
+ - Updated dependencies [09cf46f]
220
+ - Updated dependencies [5ec7255]
221
+ - @pnpm/core-loggers@1001.0.1
222
+ - @pnpm/types@1000.6.0
223
+ - @pnpm/cli-meta@1000.0.8
224
+ - @pnpm/env.system-node-version@1000.0.8
225
+
226
+ ## 1000.0.9
227
+
228
+ ### Patch Changes
229
+
230
+ - Updated dependencies [8a9f3a4]
231
+ - Updated dependencies [5b73df1]
232
+ - @pnpm/core-loggers@1001.0.0
233
+ - @pnpm/logger@1001.0.0
234
+ - @pnpm/types@1000.5.0
235
+ - @pnpm/cli-meta@1000.0.7
236
+ - @pnpm/env.system-node-version@1000.0.7
237
+
238
+ ## 1000.0.8
239
+
240
+ ### Patch Changes
241
+
242
+ - Updated dependencies [750ae7d]
243
+ - Updated dependencies [750ae7d]
244
+ - @pnpm/types@1000.4.0
245
+ - @pnpm/core-loggers@1000.2.0
246
+ - @pnpm/cli-meta@1000.0.6
247
+ - @pnpm/env.system-node-version@1000.0.6
248
+
249
+ ## 1000.0.7
250
+
251
+ ### Patch Changes
252
+
253
+ - Updated dependencies [5f7be64]
254
+ - Updated dependencies [5f7be64]
255
+ - @pnpm/types@1000.3.0
256
+ - @pnpm/cli-meta@1000.0.5
257
+ - @pnpm/core-loggers@1000.1.5
258
+ - @pnpm/env.system-node-version@1000.0.5
259
+
260
+ ## 1000.0.6
261
+
262
+ ### Patch Changes
263
+
264
+ - Updated dependencies [a5e4965]
265
+ - @pnpm/types@1000.2.1
266
+ - @pnpm/cli-meta@1000.0.4
267
+ - @pnpm/core-loggers@1000.1.4
268
+ - @pnpm/env.system-node-version@1000.0.4
269
+
270
+ ## 1000.0.5
271
+
272
+ ### Patch Changes
273
+
274
+ - Updated dependencies [8fcc221]
275
+ - @pnpm/types@1000.2.0
276
+ - @pnpm/cli-meta@1000.0.3
277
+ - @pnpm/core-loggers@1000.1.3
278
+ - @pnpm/env.system-node-version@1000.0.3
279
+
280
+ ## 1000.0.4
281
+
282
+ ### Patch Changes
283
+
284
+ - Updated dependencies [b562deb]
285
+ - @pnpm/types@1000.1.1
286
+ - @pnpm/error@1000.0.2
287
+ - @pnpm/cli-meta@1000.0.2
288
+ - @pnpm/core-loggers@1000.1.2
289
+ - @pnpm/env.system-node-version@1000.0.2
290
+
291
+ ## 1000.0.3
292
+
293
+ ### Patch Changes
294
+
295
+ - Updated dependencies [9591a18]
296
+ - @pnpm/types@1000.1.0
297
+ - @pnpm/cli-meta@1000.0.1
298
+ - @pnpm/core-loggers@1000.1.1
299
+ - @pnpm/env.system-node-version@1000.0.1
300
+
301
+ ## 1000.0.2
302
+
303
+ ### Patch Changes
304
+
305
+ - Updated dependencies [516c4b3]
306
+ - @pnpm/core-loggers@1000.1.0
307
+
308
+ ## 1000.0.1
309
+
310
+ ### Patch Changes
311
+
312
+ - @pnpm/error@1000.0.1
313
+
314
+ ## 9.0.12
315
+
316
+ ### Patch Changes
317
+
318
+ - e476b07: Don't crash if the `use-node-version` setting is used and the system has no Node.js installed [#8769](https://github.com/pnpm/pnpm/issues/8769).
319
+ - Updated dependencies [e476b07]
320
+ - @pnpm/env.system-node-version@1.0.1
321
+ - @pnpm/error@6.0.3
322
+
323
+ ## 9.0.11
324
+
325
+ ### Patch Changes
326
+
327
+ - Updated dependencies [d04f7f2]
328
+ - @pnpm/env.system-node-version@1.0.0
329
+
330
+ ## 9.0.10
331
+
332
+ ### Patch Changes
333
+
334
+ - @pnpm/error@6.0.2
335
+
336
+ ## 9.0.9
337
+
338
+ ### Patch Changes
339
+
340
+ - Updated dependencies [d500d9f]
341
+ - @pnpm/types@12.2.0
342
+ - @pnpm/cli-meta@6.2.2
343
+ - @pnpm/core-loggers@10.0.7
344
+
345
+ ## 9.0.8
346
+
347
+ ### Patch Changes
348
+
349
+ - Updated dependencies [7ee59a1]
350
+ - @pnpm/types@12.1.0
351
+ - @pnpm/cli-meta@6.2.1
352
+ - @pnpm/core-loggers@10.0.6
353
+
354
+ ## 9.0.7
355
+
356
+ ### Patch Changes
357
+
358
+ - 33ba536: Ignore non-string value in the os, cpu, libc fields, which checking optional dependencies [#8431](https://github.com/pnpm/pnpm/pull/8431).
359
+ - Updated dependencies [eb8bf2a]
360
+ - @pnpm/cli-meta@6.2.0
361
+
362
+ ## 9.0.6
363
+
364
+ ### Patch Changes
365
+
366
+ - Updated dependencies [cb006df]
367
+ - Updated dependencies [64e2e4f]
368
+ - Updated dependencies [e7f6330]
369
+ - @pnpm/types@12.0.0
370
+ - @pnpm/cli-meta@6.1.0
371
+ - @pnpm/core-loggers@10.0.5
372
+
373
+ ## 9.0.5
374
+
375
+ ### Patch Changes
376
+
377
+ - Updated dependencies [0ef168b]
378
+ - @pnpm/types@11.1.0
379
+ - @pnpm/core-loggers@10.0.4
380
+
381
+ ## 9.0.4
382
+
383
+ ### Patch Changes
384
+
385
+ - Updated dependencies [dd00eeb]
386
+ - Updated dependencies
387
+ - @pnpm/types@11.0.0
388
+ - @pnpm/core-loggers@10.0.3
389
+
390
+ ## 9.0.3
391
+
392
+ ### Patch Changes
393
+
394
+ - Updated dependencies [13e55b2]
395
+ - @pnpm/types@10.1.1
396
+ - @pnpm/core-loggers@10.0.2
397
+
398
+ ## 9.0.2
399
+
400
+ ### Patch Changes
401
+
402
+ - Updated dependencies [45f4262]
403
+ - @pnpm/types@10.1.0
404
+ - @pnpm/core-loggers@10.0.1
405
+
406
+ ## 9.0.1
407
+
408
+ ### Patch Changes
409
+
410
+ - Updated dependencies [a7aef51]
411
+ - @pnpm/error@6.0.1
412
+
413
+ ## 9.0.0
414
+
415
+ ### Major Changes
416
+
417
+ - 43cdd87: Node.js v16 support dropped. Use at least Node.js v18.12.
418
+
419
+ ### Patch Changes
420
+
421
+ - Updated dependencies [7733f3a]
422
+ - Updated dependencies [3ded840]
423
+ - Updated dependencies [43cdd87]
424
+ - Updated dependencies [730929e]
425
+ - @pnpm/types@10.0.0
426
+ - @pnpm/error@6.0.0
427
+ - @pnpm/core-loggers@10.0.0
428
+
429
+ ## 8.1.2
430
+
431
+ ### Patch Changes
432
+
433
+ - Updated dependencies [4d34684f1]
434
+ - @pnpm/types@9.4.2
435
+ - @pnpm/core-loggers@9.0.6
436
+
437
+ ## 8.1.1
438
+
439
+ ### Patch Changes
440
+
441
+ - Updated dependencies
442
+ - @pnpm/types@9.4.1
443
+ - @pnpm/core-loggers@9.0.5
444
+
445
+ ## 8.1.0
446
+
447
+ ### Minor Changes
448
+
449
+ - 43ce9e4a6: Support for multiple architectures when installing dependencies [#5965](https://github.com/pnpm/pnpm/issues/5965).
450
+
451
+ You can now specify architectures for which you'd like to install optional dependencies, even if they don't match the architecture of the system running the install. Use the `supportedArchitectures` field in `package.json` to define your preferences.
452
+
453
+ For example, the following configuration tells pnpm to install optional dependencies for Windows x64:
454
+
455
+ ```json
456
+ {
457
+ "pnpm": {
458
+ "supportedArchitectures": {
459
+ "os": ["win32"],
460
+ "cpu": ["x64"]
461
+ }
462
+ }
463
+ }
464
+ ```
465
+
466
+ Whereas this configuration will have pnpm install optional dependencies for Windows, macOS, and the architecture of the system currently running the install. It includes artifacts for both x64 and arm64 CPUs:
467
+
468
+ ```json
469
+ {
470
+ "pnpm": {
471
+ "supportedArchitectures": {
472
+ "os": ["win32", "darwin", "current"],
473
+ "cpu": ["x64", "arm64"]
474
+ }
475
+ }
476
+ }
477
+ ```
478
+
479
+ Additionally, `supportedArchitectures` also supports specifying the `libc` of the system.
480
+
481
+ ### Patch Changes
482
+
483
+ - Updated dependencies [43ce9e4a6]
484
+ - @pnpm/types@9.4.0
485
+ - @pnpm/core-loggers@9.0.4
486
+
487
+ ## 8.0.5
488
+
489
+ ### Patch Changes
490
+
491
+ - Updated dependencies [d774a3196]
492
+ - @pnpm/types@9.3.0
493
+ - @pnpm/core-loggers@9.0.3
494
+
495
+ ## 8.0.4
496
+
497
+ ### Patch Changes
498
+
499
+ - Updated dependencies [aa2ae8fe2]
500
+ - @pnpm/types@9.2.0
501
+ - @pnpm/core-loggers@9.0.2
502
+
503
+ ## 8.0.3
504
+
505
+ ### Patch Changes
506
+
507
+ - @pnpm/error@5.0.2
508
+
509
+ ## 8.0.2
510
+
511
+ ### Patch Changes
512
+
513
+ - Updated dependencies [a9e0b7cbf]
514
+ - @pnpm/types@9.1.0
515
+ - @pnpm/core-loggers@9.0.1
516
+ - @pnpm/error@5.0.1
517
+
518
+ ## 8.0.1
519
+
520
+ ### Patch Changes
521
+
522
+ - c0760128d: bump semver to 7.4.0
523
+
524
+ ## 8.0.0
525
+
526
+ ### Major Changes
527
+
528
+ - eceaa8b8b: Node.js 14 support dropped.
529
+
530
+ ### Patch Changes
531
+
532
+ - Updated dependencies [eceaa8b8b]
533
+ - @pnpm/core-loggers@9.0.0
534
+ - @pnpm/error@5.0.0
535
+ - @pnpm/types@9.0.0
536
+
537
+ ## 7.0.4
538
+
539
+ ### Patch Changes
540
+
541
+ - @pnpm/error@4.0.1
542
+
543
+ ## 7.0.3
544
+
545
+ ### Patch Changes
546
+
547
+ - Updated dependencies [b77651d14]
548
+ - @pnpm/types@8.10.0
549
+ - @pnpm/core-loggers@8.0.3
550
+
551
+ ## 7.0.2
552
+
553
+ ### Patch Changes
554
+
555
+ - Updated dependencies [702e847c1]
556
+ - @pnpm/types@8.9.0
557
+ - @pnpm/core-loggers@8.0.2
558
+
559
+ ## 7.0.1
560
+
561
+ ### Patch Changes
562
+
563
+ - Updated dependencies [844e82f3a]
564
+ - @pnpm/types@8.8.0
565
+ - @pnpm/core-loggers@8.0.1
566
+
567
+ ## 7.0.0
568
+
569
+ ### Major Changes
570
+
571
+ - f884689e0: Require `@pnpm/logger` v5.
572
+
573
+ ### Patch Changes
574
+
575
+ - Updated dependencies [043d988fc]
576
+ - Updated dependencies [f884689e0]
577
+ - @pnpm/error@4.0.0
578
+ - @pnpm/core-loggers@8.0.0
579
+
580
+ ## 6.0.12
581
+
582
+ ### Patch Changes
583
+
584
+ - Updated dependencies [3ae888c28]
585
+ - @pnpm/core-loggers@7.1.0
586
+
587
+ ## 6.0.11
588
+
589
+ ### Patch Changes
590
+
591
+ - Updated dependencies [e8a631bf0]
592
+ - @pnpm/error@3.1.0
593
+
594
+ ## 6.0.10
595
+
596
+ ### Patch Changes
597
+
598
+ - Updated dependencies [d665f3ff7]
599
+ - @pnpm/types@8.7.0
600
+ - @pnpm/core-loggers@7.0.8
601
+
602
+ ## 6.0.9
603
+
604
+ ### Patch Changes
605
+
606
+ - Updated dependencies [156cc1ef6]
607
+ - @pnpm/types@8.6.0
608
+ - @pnpm/core-loggers@7.0.7
609
+
610
+ ## 6.0.8
611
+
612
+ ### Patch Changes
613
+
614
+ - Updated dependencies [c90798461]
615
+ - @pnpm/types@8.5.0
616
+ - @pnpm/core-loggers@7.0.6
617
+
618
+ ## 6.0.7
619
+
620
+ ### Patch Changes
621
+
622
+ - Updated dependencies [8e5b77ef6]
623
+ - @pnpm/types@8.4.0
624
+ - @pnpm/core-loggers@7.0.5
625
+
626
+ ## 6.0.6
627
+
628
+ ### Patch Changes
629
+
630
+ - Updated dependencies [2a34b21ce]
631
+ - @pnpm/types@8.3.0
632
+ - @pnpm/core-loggers@7.0.4
633
+
634
+ ## 6.0.5
635
+
636
+ ### Patch Changes
637
+
638
+ - Updated dependencies [fb5bbfd7a]
639
+ - @pnpm/types@8.2.0
640
+ - @pnpm/core-loggers@7.0.3
641
+
642
+ ## 6.0.4
643
+
644
+ ### Patch Changes
645
+
646
+ - Updated dependencies [4d39e4a0c]
647
+ - @pnpm/types@8.1.0
648
+ - @pnpm/core-loggers@7.0.2
649
+
650
+ ## 6.0.3
651
+
652
+ ### Patch Changes
653
+
654
+ - 52b0576af: feat: support libc filed
655
+
656
+ ## 6.0.2
657
+
658
+ ### Patch Changes
659
+
660
+ - Updated dependencies [18ba5e2c0]
661
+ - @pnpm/types@8.0.1
662
+ - @pnpm/core-loggers@7.0.1
663
+
664
+ ## 6.0.1
665
+
666
+ ### Patch Changes
667
+
668
+ - @pnpm/error@3.0.1
669
+
670
+ ## 6.0.0
671
+
672
+ ### Major Changes
673
+
674
+ - 542014839: Node.js 12 is not supported.
675
+
676
+ ### Patch Changes
677
+
678
+ - Updated dependencies [d504dc380]
679
+ - Updated dependencies [542014839]
680
+ - @pnpm/types@8.0.0
681
+ - @pnpm/core-loggers@7.0.0
682
+ - @pnpm/error@3.0.0
683
+
684
+ ## 5.0.13
685
+
686
+ ### Patch Changes
687
+
688
+ - Updated dependencies [70ba51da9]
689
+ - @pnpm/error@2.1.0
690
+
691
+ ## 5.0.12
692
+
693
+ ### Patch Changes
694
+
695
+ - Updated dependencies [b138d048c]
696
+ - @pnpm/types@7.10.0
697
+ - @pnpm/core-loggers@6.1.4
698
+
699
+ ## 5.0.11
700
+
701
+ ### Patch Changes
702
+
703
+ - Updated dependencies [26cd01b88]
704
+ - @pnpm/types@7.9.0
705
+ - @pnpm/core-loggers@6.1.3
706
+
707
+ ## 5.0.10
708
+
709
+ ### Patch Changes
710
+
711
+ - Updated dependencies [b5734a4a7]
712
+ - @pnpm/types@7.8.0
713
+ - @pnpm/core-loggers@6.1.2
714
+
715
+ ## 5.0.9
716
+
717
+ ### Patch Changes
718
+
719
+ - Updated dependencies [6493e0c93]
720
+ - @pnpm/types@7.7.1
721
+ - @pnpm/core-loggers@6.1.1
722
+
723
+ ## 5.0.8
724
+
725
+ ### Patch Changes
726
+
727
+ - Updated dependencies [ba9b2eba1]
728
+ - Updated dependencies [ba9b2eba1]
729
+ - @pnpm/core-loggers@6.1.0
730
+ - @pnpm/types@7.7.0
731
+
732
+ ## 5.0.7
733
+
734
+ ### Patch Changes
735
+
736
+ - 783cc1051: Use the system default Node.js version to check package compatibility [#3785](https://github.com/pnpm/pnpm/issues/3785).
737
+
738
+ ## 5.0.6
739
+
740
+ ### Patch Changes
741
+
742
+ - Updated dependencies [302ae4f6f]
743
+ - @pnpm/types@7.6.0
744
+ - @pnpm/core-loggers@6.0.6
745
+
746
+ ## 5.0.5
747
+
748
+ ### Patch Changes
749
+
750
+ - Updated dependencies [4ab87844a]
751
+ - @pnpm/types@7.5.0
752
+ - @pnpm/core-loggers@6.0.5
753
+
754
+ ## 5.0.4
755
+
756
+ ### Patch Changes
757
+
758
+ - Updated dependencies [b734b45ea]
759
+ - @pnpm/types@7.4.0
760
+ - @pnpm/core-loggers@6.0.4
761
+
762
+ ## 5.0.3
763
+
764
+ ### Patch Changes
765
+
766
+ - Updated dependencies [8e76690f4]
767
+ - @pnpm/types@7.3.0
768
+ - @pnpm/core-loggers@6.0.3
769
+
770
+ ## 5.0.2
771
+
772
+ ### Patch Changes
773
+
774
+ - Updated dependencies [724c5abd8]
775
+ - @pnpm/types@7.2.0
776
+ - @pnpm/core-loggers@6.0.2
777
+
778
+ ## 5.0.1
779
+
780
+ ### Patch Changes
781
+
782
+ - Updated dependencies [97c64bae4]
783
+ - @pnpm/types@7.1.0
784
+ - @pnpm/core-loggers@6.0.1
785
+
786
+ ## 5.0.0
787
+
788
+ ### Major Changes
789
+
790
+ - 97b986fbc: Node.js 10 support is dropped. At least Node.js 12.17 is required for the package to work.
791
+
792
+ ### Patch Changes
793
+
794
+ - Updated dependencies [97b986fbc]
795
+ - Updated dependencies [90487a3a8]
796
+ - @pnpm/core-loggers@6.0.0
797
+ - @pnpm/error@2.0.0
798
+ - @pnpm/types@7.0.0
799
+
800
+ ## 4.0.19
801
+
802
+ ### Patch Changes
803
+
804
+ - Updated dependencies [9ad8c27bf]
805
+ - @pnpm/types@6.4.0
806
+ - @pnpm/core-loggers@5.0.3
807
+
808
+ ## 4.0.18
809
+
810
+ ### Patch Changes
811
+
812
+ - Updated dependencies [0c5f1bcc9]
813
+ - @pnpm/error@1.4.0
814
+
815
+ ## 4.0.17
816
+
817
+ ### Patch Changes
818
+
819
+ - Updated dependencies [b5d694e7f]
820
+ - @pnpm/types@6.3.1
821
+ - @pnpm/core-loggers@5.0.2
822
+
823
+ ## 4.0.16
824
+
825
+ ### Patch Changes
826
+
827
+ - Updated dependencies [d54043ee4]
828
+ - @pnpm/types@6.3.0
829
+ - @pnpm/core-loggers@5.0.1
830
+
831
+ ## 4.0.15
832
+
833
+ ### Patch Changes
834
+
835
+ - Updated dependencies [86cd72de3]
836
+ - @pnpm/core-loggers@5.0.0
837
+
838
+ ## 4.0.14
839
+
840
+ ### Patch Changes
841
+
842
+ - Updated dependencies [75a36deba]
843
+ - @pnpm/error@1.3.1
844
+
845
+ ## 4.0.13
846
+
847
+ ### Patch Changes
848
+
849
+ - Updated dependencies [6d480dd7a]
850
+ - @pnpm/error@1.3.0
851
+
852
+ ## 4.0.12
853
+
854
+ ### Patch Changes
855
+
856
+ - Updated dependencies [9a908bc07]
857
+ - Updated dependencies [9a908bc07]
858
+ - @pnpm/core-loggers@4.2.0
859
+
860
+ ## 4.0.11
861
+
862
+ ### Patch Changes
863
+
864
+ - Updated dependencies [db17f6f7b]
865
+ - @pnpm/types@6.2.0
866
+ - @pnpm/core-loggers@4.1.2
867
+
868
+ ## 4.0.10
869
+
870
+ ### Patch Changes
871
+
872
+ - Updated dependencies [71a8c8ce3]
873
+ - @pnpm/types@6.1.0
874
+ - @pnpm/core-loggers@4.1.1
875
+
876
+ ## 4.0.9
877
+
878
+ ### Patch Changes
879
+
880
+ - Updated dependencies [2ebb7af33]
881
+ - @pnpm/core-loggers@4.1.0
882
+
883
+ ## 4.0.8
884
+
885
+ ### Patch Changes
886
+
887
+ - Updated dependencies [da091c711]
888
+ - @pnpm/types@6.0.0
889
+ - @pnpm/core-loggers@4.0.2
890
+ - @pnpm/error@1.2.1
891
+
892
+ ## 4.0.8-alpha.0
893
+
894
+ ### Patch Changes
895
+
896
+ - Updated dependencies [da091c71]
897
+ - @pnpm/types@6.0.0-alpha.0
898
+ - @pnpm/core-loggers@4.0.2-alpha.0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pnpm/config.package-is-installable",
3
- "version": "1100.0.12",
3
+ "version": "1100.0.14",
4
4
  "description": "Checks if a package is installable on the current system",
5
5
  "keywords": [
6
6
  "pnpm",
@@ -27,24 +27,24 @@
27
27
  "!*.map"
28
28
  ],
29
29
  "dependencies": {
30
+ "@pnpm/cli.meta": "1100.0.9",
31
+ "@pnpm/core-loggers": "1100.2.3",
32
+ "@pnpm/engine.runtime.system-version": "1100.0.4",
33
+ "@pnpm/error": "1100.0.1",
34
+ "@pnpm/types": "1101.4.0",
30
35
  "detect-libc": "^2.1.2",
31
36
  "execa": "npm:safe-execa@0.3.0",
32
37
  "memoize": "^11.0.0",
33
- "semver": "^7.8.4",
34
- "@pnpm/core-loggers": "1100.2.1",
35
- "@pnpm/cli.meta": "1100.0.8",
36
- "@pnpm/error": "1100.0.1",
37
- "@pnpm/types": "1101.3.2",
38
- "@pnpm/engine.runtime.system-version": "1100.0.3"
38
+ "semver": "^7.8.4"
39
39
  },
40
40
  "peerDependencies": {
41
41
  "@pnpm/logger": "^1100.0.0"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@jest/globals": "30.4.1",
45
- "@types/semver": "7.7.1",
46
- "@pnpm/config.package-is-installable": "1100.0.12",
47
- "@pnpm/logger": "1100.0.0"
45
+ "@pnpm/config.package-is-installable": "1100.0.14",
46
+ "@pnpm/logger": "1100.0.0",
47
+ "@types/semver": "7.7.1"
48
48
  },
49
49
  "engines": {
50
50
  "node": ">=22.13"
@@ -1,13 +0,0 @@
1
- import { PnpmError } from '@pnpm/error';
2
- export declare class UnsupportedEngineError extends PnpmError {
3
- wanted: WantedEngine;
4
- current: Engine;
5
- packageId: string;
6
- constructor(packageId: string, wanted: WantedEngine, current: Engine);
7
- }
8
- export declare function checkEngine(packageId: string, wantedEngine: WantedEngine, currentEngine: Engine): UnsupportedEngineError | null;
9
- export interface Engine {
10
- node: string;
11
- pnpm?: string;
12
- }
13
- export type WantedEngine = Partial<Engine>;
@@ -1,32 +0,0 @@
1
- import { PnpmError } from '@pnpm/error';
2
- import semver from 'semver';
3
- export class UnsupportedEngineError extends PnpmError {
4
- wanted;
5
- current;
6
- packageId;
7
- constructor(packageId, wanted, current) {
8
- super('UNSUPPORTED_ENGINE', `Unsupported engine for ${packageId}: wanted: ${JSON.stringify(wanted)} (current: ${JSON.stringify(current)})`);
9
- this.packageId = packageId;
10
- this.wanted = wanted;
11
- this.current = current;
12
- }
13
- }
14
- export function checkEngine(packageId, wantedEngine, currentEngine) {
15
- if (!wantedEngine)
16
- return null;
17
- const unsatisfiedWanted = {};
18
- if (wantedEngine.node && !semver.satisfies(currentEngine.node, wantedEngine.node, { includePrerelease: true })) {
19
- if (!semver.valid(currentEngine.node)) {
20
- throw new PnpmError('INVALID_NODE_VERSION', `The nodeVersion setting is "${currentEngine.node}", which is not exact semver version`);
21
- }
22
- unsatisfiedWanted.node = wantedEngine.node;
23
- }
24
- if (currentEngine.pnpm && wantedEngine.pnpm && !semver.satisfies(currentEngine.pnpm, wantedEngine.pnpm, { includePrerelease: true })) {
25
- unsatisfiedWanted.pnpm = wantedEngine.pnpm;
26
- }
27
- if (Object.keys(unsatisfiedWanted).length > 0) {
28
- return new UnsupportedEngineError(packageId, unsatisfiedWanted, currentEngine);
29
- }
30
- return null;
31
- }
32
- //# sourceMappingURL=checkEngine.js.map
@@ -1,14 +0,0 @@
1
- import { PnpmError } from '@pnpm/error';
2
- import type { SupportedArchitectures } from '@pnpm/types';
3
- export declare class UnsupportedPlatformError extends PnpmError {
4
- wanted: WantedPlatform;
5
- current: Platform;
6
- constructor(packageId: string, wanted: WantedPlatform, current: Platform);
7
- }
8
- export declare function checkPlatform(packageId: string, wantedPlatform: WantedPlatform, supportedArchitectures?: SupportedArchitectures): UnsupportedPlatformError | null;
9
- export interface Platform {
10
- cpu: string | string[];
11
- os: string | string[];
12
- libc: string | string[];
13
- }
14
- export type WantedPlatform = Partial<Platform>;
@@ -1,69 +0,0 @@
1
- import { PnpmError } from '@pnpm/error';
2
- import { familySync as getLibcFamilySync } from 'detect-libc';
3
- const currentLibc = getLibcFamilySync() ?? 'unknown';
4
- export class UnsupportedPlatformError extends PnpmError {
5
- wanted;
6
- current;
7
- constructor(packageId, wanted, current) {
8
- super('UNSUPPORTED_PLATFORM', `Unsupported platform for ${packageId}: wanted ${JSON.stringify(wanted)} (current: ${JSON.stringify(current)})`);
9
- this.wanted = wanted;
10
- this.current = current;
11
- }
12
- }
13
- export function checkPlatform(packageId, wantedPlatform, supportedArchitectures) {
14
- const current = {
15
- os: dedupeCurrent(process.platform, supportedArchitectures?.os ?? ['current']),
16
- cpu: dedupeCurrent(process.arch, supportedArchitectures?.cpu ?? ['current']),
17
- libc: dedupeCurrent(currentLibc, supportedArchitectures?.libc ?? ['current']),
18
- };
19
- const { platform, arch } = process;
20
- let osOk = true;
21
- let cpuOk = true;
22
- let libcOk = true;
23
- if (wantedPlatform.os) {
24
- osOk = checkList(current.os, wantedPlatform.os);
25
- }
26
- if (wantedPlatform.cpu) {
27
- cpuOk = checkList(current.cpu, wantedPlatform.cpu);
28
- }
29
- if (wantedPlatform.libc && currentLibc !== 'unknown') {
30
- libcOk = checkList(current.libc, wantedPlatform.libc);
31
- }
32
- if (!osOk || !cpuOk || !libcOk) {
33
- return new UnsupportedPlatformError(packageId, wantedPlatform, { os: platform, cpu: arch, libc: currentLibc });
34
- }
35
- return null;
36
- }
37
- function checkList(value, list) {
38
- let tmp;
39
- let match = false;
40
- if (typeof list === 'string') {
41
- list = [list];
42
- }
43
- list = list.filter((value) => typeof value === 'string');
44
- if (list.length === 1 && list[0] === 'any') {
45
- return true;
46
- }
47
- const values = Array.isArray(value) ? value : [value];
48
- for (const value of values) {
49
- for (let i = 0; i < list.length; ++i) {
50
- tmp = list[i];
51
- if (tmp[0] === '!') {
52
- tmp = tmp.slice(1);
53
- if (tmp === value) {
54
- return false;
55
- }
56
- }
57
- else {
58
- match = match || tmp === value;
59
- }
60
- }
61
- }
62
- // No negation rejected any value. Accept if a positive entry matched, or if the list
63
- // contains only negations (no positive constraints to satisfy).
64
- return match || list.every(entry => entry[0] === '!');
65
- }
66
- function dedupeCurrent(current, supported) {
67
- return supported.map((supported) => supported === 'current' ? current : supported);
68
- }
69
- //# sourceMappingURL=checkPlatform.js.map
package/lib/index.d.ts DELETED
@@ -1,32 +0,0 @@
1
- import type { SupportedArchitectures } from '@pnpm/types';
2
- import { UnsupportedEngineError, type WantedEngine } from './checkEngine.js';
3
- import { UnsupportedPlatformError } from './checkPlatform.js';
4
- export type { Engine } from './checkEngine.js';
5
- export type { Platform, WantedPlatform } from './checkPlatform.js';
6
- export { inferPlatformFromPackageName } from './inferPlatformFromPackageName.js';
7
- export { UnsupportedEngineError, UnsupportedPlatformError, type WantedEngine, };
8
- export declare function packageIsInstallable(pkgId: string, pkg: {
9
- name: string;
10
- version: string;
11
- engines?: WantedEngine;
12
- cpu?: string[];
13
- os?: string[];
14
- libc?: string[];
15
- }, options: {
16
- engineStrict?: boolean;
17
- nodeVersion?: string;
18
- optional: boolean;
19
- pnpmVersion?: string;
20
- lockfileDir: string;
21
- supportedArchitectures?: SupportedArchitectures;
22
- }): boolean | null;
23
- export declare function checkPackage(pkgId: string, manifest: {
24
- engines?: WantedEngine;
25
- cpu?: string[];
26
- os?: string[];
27
- libc?: string[];
28
- }, options: {
29
- nodeVersion?: string;
30
- pnpmVersion?: string;
31
- supportedArchitectures?: SupportedArchitectures;
32
- }): null | UnsupportedEngineError | UnsupportedPlatformError;
@@ -1,13 +0,0 @@
1
- export interface PlatformInferredFromPackageName {
2
- os?: string[];
3
- cpu?: string[];
4
- libc?: string[];
5
- }
6
- /**
7
- * Infers the supported platforms of a package from the tokens of its name,
8
- * e.g. `@nx/nx-win32-arm64-msvc` → `{ os: ['win32'], cpu: ['arm64'] }`.
9
- * Platform-specific binary packages follow this naming convention, which is
10
- * the only platform signal left when their os/cpu/libc manifest fields are
11
- * absent. Returns null when no platform token is recognized in the name.
12
- */
13
- export declare function inferPlatformFromPackageName(name: string): PlatformInferredFromPackageName | null;
@@ -1,71 +0,0 @@
1
- const OS_BY_TOKEN = new Map([
2
- ['aix', 'aix'],
3
- ['android', 'android'],
4
- ['darwin', 'darwin'],
5
- ['macos', 'darwin'],
6
- ['osx', 'darwin'],
7
- ['freebsd', 'freebsd'],
8
- ['linux', 'linux'],
9
- ['netbsd', 'netbsd'],
10
- ['openbsd', 'openbsd'],
11
- ['openharmony', 'openharmony'],
12
- ['sunos', 'sunos'],
13
- ['win32', 'win32'],
14
- ['windows', 'win32'],
15
- ]);
16
- const CPU_BY_TOKEN = new Map([
17
- ['arm', 'arm'],
18
- ['armv6', 'arm'],
19
- ['armv7', 'arm'],
20
- ['arm64', 'arm64'],
21
- ['aarch64', 'arm64'],
22
- ['ia32', 'ia32'],
23
- ['loong64', 'loong64'],
24
- ['mips64el', 'mips64el'],
25
- ['ppc64', 'ppc64'],
26
- ['ppc64le', 'ppc64'],
27
- ['riscv64', 'riscv64'],
28
- ['s390x', 's390x'],
29
- ['x64', 'x64'],
30
- ['amd64', 'x64'],
31
- ['wasm32', 'wasm32'],
32
- ]);
33
- const LIBC_BY_TOKEN = new Map([
34
- ['glibc', 'glibc'],
35
- ['gnu', 'glibc'],
36
- ['gnueabihf', 'glibc'],
37
- ['musl', 'musl'],
38
- ['musleabihf', 'musl'],
39
- ]);
40
- /**
41
- * Infers the supported platforms of a package from the tokens of its name,
42
- * e.g. `@nx/nx-win32-arm64-msvc` → `{ os: ['win32'], cpu: ['arm64'] }`.
43
- * Platform-specific binary packages follow this naming convention, which is
44
- * the only platform signal left when their os/cpu/libc manifest fields are
45
- * absent. Returns null when no platform token is recognized in the name.
46
- */
47
- export function inferPlatformFromPackageName(name) {
48
- const nameWithoutScope = name.includes('/') ? name.slice(name.indexOf('/') + 1) : name;
49
- const tokens = nameWithoutScope.toLowerCase().split(/[-_.]/);
50
- const os = pickTokenValues(tokens, OS_BY_TOKEN);
51
- const cpu = pickTokenValues(tokens, CPU_BY_TOKEN);
52
- const libc = pickTokenValues(tokens, LIBC_BY_TOKEN);
53
- if (os == null && cpu == null && libc == null)
54
- return null;
55
- return {
56
- ...(os != null ? { os } : {}),
57
- ...(cpu != null ? { cpu } : {}),
58
- ...(libc != null ? { libc } : {}),
59
- };
60
- }
61
- function pickTokenValues(tokens, valueByToken) {
62
- const values = new Set();
63
- for (const token of tokens) {
64
- const value = valueByToken.get(token);
65
- if (value != null) {
66
- values.add(value);
67
- }
68
- }
69
- return values.size > 0 ? Array.from(values) : undefined;
70
- }
71
- //# sourceMappingURL=inferPlatformFromPackageName.js.map