@pnpm/releasing.exportable-manifest 1100.1.9 → 1100.1.11

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,1062 @@
1
+ # @pnpm/exportable-manifest
2
+
3
+ ## 1100.1.11
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies:
8
+ - @pnpm/workspace.project-manifest-reader@1100.0.16
9
+
10
+ ## 1100.1.10
11
+
12
+ ### Patch Changes
13
+
14
+ - `pnpm publish` again sends the package's README to the registry as metadata, so registries can render it on the package page. The readme is always included in the published metadata (matching the npm CLI), while the `embed-readme` setting continues to control only whether the readme is written into the `package.json` inside the tarball. This restores the behavior that was lost when publishing became fully native. Closes pnpm/pnpm#12966.
15
+
16
+ - Updated dependencies:
17
+ - @pnpm/bins.resolver@1100.0.9
18
+ - @pnpm/types@1101.4.0
19
+ - @pnpm/workspace.project-manifest-reader@1100.0.15
20
+
21
+ ## 1100.1.9
22
+
23
+ ### Patch Changes
24
+
25
+ - Updated dependencies [25c7388]
26
+ - @pnpm/resolving.jsr-specifier-parser@1100.0.2
27
+
28
+ ## 1100.1.8
29
+
30
+ ### Patch Changes
31
+
32
+ - Updated dependencies [0ec878d]
33
+ - Updated dependencies [852d537]
34
+ - @pnpm/workspace.project-manifest-reader@1100.0.14
35
+ - @pnpm/error@1100.0.1
36
+ - @pnpm/resolving.jsr-specifier-parser@1100.0.1
37
+
38
+ ## 1100.1.7
39
+
40
+ ### Patch Changes
41
+
42
+ - e85aea2: Avoid reading `README.md` from disk when publishing if the publish manifest already provides a `readme` field. The README is now only read lazily, inside `createExportableManifest`, when it is actually needed.
43
+
44
+ ## 1100.1.6
45
+
46
+ ### Patch Changes
47
+
48
+ - Updated dependencies [681b593]
49
+ - Updated dependencies [a31faa7]
50
+ - @pnpm/types@1101.3.2
51
+ - @pnpm/workspace.project-manifest-reader@1100.0.13
52
+ - @pnpm/bins.resolver@1100.0.8
53
+
54
+ ## 1100.1.5
55
+
56
+ ### Patch Changes
57
+
58
+ - @pnpm/workspace.project-manifest-reader@1100.0.12
59
+
60
+ ## 1100.1.4
61
+
62
+ ### Patch Changes
63
+
64
+ - Updated dependencies [230df57]
65
+ - Updated dependencies [bf1b731]
66
+ - @pnpm/bins.resolver@1100.0.7
67
+ - @pnpm/types@1101.3.1
68
+ - @pnpm/workspace.project-manifest-reader@1100.0.11
69
+
70
+ ## 1100.1.3
71
+
72
+ ### Patch Changes
73
+
74
+ - Updated dependencies [a017bf3]
75
+ - @pnpm/types@1101.3.0
76
+ - @pnpm/bins.resolver@1100.0.6
77
+ - @pnpm/workspace.project-manifest-reader@1100.0.10
78
+
79
+ ## 1100.1.2
80
+
81
+ ### Patch Changes
82
+
83
+ - 33921c8: Normalize a string `repository` field into the `{ type, url }` object form when creating the publish manifest, matching npm's behavior. Some registries (e.g. Gitea/Codeberg) reject a string `repository` with a 500 Internal Server Error during `pnpm publish` [#12099](https://github.com/pnpm/pnpm/issues/12099).
84
+
85
+ ## 1100.1.1
86
+
87
+ ### Patch Changes
88
+
89
+ - Updated dependencies [a456dc7]
90
+ - Updated dependencies [35d2355]
91
+ - @pnpm/workspace.project-manifest-reader@1100.0.9
92
+ - @pnpm/types@1101.2.0
93
+ - @pnpm/bins.resolver@1100.0.5
94
+
95
+ ## 1100.1.0
96
+
97
+ ### Minor Changes
98
+
99
+ - 3b62f9d: Add a `skip-manifest-obfuscation` option for `pnpm pack` and `pnpm publish`. When enabled, the original `packageManager` field and publish lifecycle scripts are kept in the packed/published manifest instead of being stripped. The pnpm-specific `pnpm` field continues to be omitted.
100
+
101
+ ### Patch Changes
102
+
103
+ - Updated dependencies [d7da112]
104
+ - @pnpm/workspace.project-manifest-reader@1100.0.8
105
+
106
+ ## 1100.0.7
107
+
108
+ ### Patch Changes
109
+
110
+ - Updated dependencies [64afc92]
111
+ - @pnpm/types@1101.1.1
112
+ - @pnpm/workspace.project-manifest-reader@1100.0.7
113
+ - @pnpm/bins.resolver@1100.0.4
114
+
115
+ ## 1100.0.6
116
+
117
+ ### Patch Changes
118
+
119
+ - @pnpm/workspace.project-manifest-reader@1100.0.6
120
+
121
+ ## 1100.0.5
122
+
123
+ ### Patch Changes
124
+
125
+ - @pnpm/workspace.project-manifest-reader@1100.0.5
126
+
127
+ ## 1100.0.4
128
+
129
+ ### Patch Changes
130
+
131
+ - Updated dependencies [b61e268]
132
+ - @pnpm/types@1101.1.0
133
+ - @pnpm/bins.resolver@1100.0.3
134
+ - @pnpm/workspace.project-manifest-reader@1100.0.4
135
+
136
+ ## 1100.0.3
137
+
138
+ ### Patch Changes
139
+
140
+ - 184ce26: Fix the package name in README.md.
141
+ - Updated dependencies [184ce26]
142
+ - @pnpm/workspace.project-manifest-reader@1100.0.3
143
+ - @pnpm/bins.resolver@1100.0.2
144
+
145
+ ## 1100.0.2
146
+
147
+ ### Patch Changes
148
+
149
+ - @pnpm/workspace.project-manifest-reader@1100.0.2
150
+
151
+ ## 1100.0.1
152
+
153
+ ### Patch Changes
154
+
155
+ - Updated dependencies [ff28085]
156
+ - @pnpm/types@1101.0.0
157
+ - @pnpm/bins.resolver@1100.0.1
158
+ - @pnpm/workspace.project-manifest-reader@1100.0.1
159
+
160
+ ## 1001.0.0
161
+
162
+ ### Major Changes
163
+
164
+ - 491a84f: This package is now pure ESM.
165
+ - 7d2fd48: Node.js v18, 19, 20, and 21 support discontinued.
166
+
167
+ ### Minor Changes
168
+
169
+ - 29764fb: Add support for a hook called `beforePacking` that can be used to customize the `package.json` contents at publish time [#3816](https://github.com/pnpm/pnpm/issues/3816).
170
+ - 0625e20: Support bare `workspace:` protocol without version specifier. It is now treated as `workspace:*` and resolves to the concrete version during publish [#10436](https://github.com/pnpm/pnpm/pull/10436).
171
+ - cc7c0d2: `pnpm publish` now works without the `npm` CLI.
172
+
173
+ The One-time Password feature now reads from `PNPM_CONFIG_OTP` instead of `NPM_CONFIG_OTP`:
174
+
175
+ ```sh
176
+ export PNPM_CONFIG_OTP='<your OTP here>'
177
+ pnpm publish --no-git-checks
178
+ ```
179
+
180
+ If the registry requests OTP and the user has not provided it via the `PNPM_CONFIG_OTP` environment variable or the `--otp` flag, pnpm will prompt the user directly for an OTP code.
181
+
182
+ If the registry requests web-based authentication, pnpm will print a scannable QR code along with the URL.
183
+
184
+ Since the new `pnpm publish` no longer calls `npm publish`, some undocumented features may have been unknowingly dropped. If you rely on a feature that is now gone, please open an issue at <https://github.com/pnpm/pnpm/issues>. In the meantime, you can use `pnpm pack && npm publish *.tgz` as a workaround.
185
+
186
+ - f03b9ec: Allow to override the `engines` field on publish by the `publishConfig.engines` field.
187
+
188
+ ### Patch Changes
189
+
190
+ - Updated dependencies [449dacf]
191
+ - Updated dependencies [76718b3]
192
+ - Updated dependencies [a8f016c]
193
+ - Updated dependencies [cc1b8e3]
194
+ - Updated dependencies [491a84f]
195
+ - Updated dependencies [13855ac]
196
+ - Updated dependencies [d7b8be4]
197
+ - Updated dependencies [98a5f1c]
198
+ - Updated dependencies [7d2fd48]
199
+ - Updated dependencies [efb48dc]
200
+ - Updated dependencies [cb367b9]
201
+ - Updated dependencies [7b1c189]
202
+ - Updated dependencies [8ffb1a7]
203
+ - Updated dependencies [05fb1ae]
204
+ - Updated dependencies [71de2b3]
205
+ - Updated dependencies [10bc391]
206
+ - Updated dependencies [831f574]
207
+ - Updated dependencies [2df8b71]
208
+ - Updated dependencies [15549a9]
209
+ - Updated dependencies [cc7c0d2]
210
+ - Updated dependencies [efb48dc]
211
+ - @pnpm/bins.resolver@1001.0.0
212
+ - @pnpm/types@1001.0.0
213
+ - @pnpm/workspace.project-manifest-reader@1002.0.0
214
+ - @pnpm/resolving.jsr-specifier-parser@1001.0.0
215
+ - @pnpm/catalogs.resolver@1001.0.0
216
+ - @pnpm/error@1001.0.0
217
+
218
+ ## 1000.1.7
219
+
220
+ ### Patch Changes
221
+
222
+ - Updated dependencies [7c1382f]
223
+ - Updated dependencies [dee39ec]
224
+ - @pnpm/types@1000.9.0
225
+ - @pnpm/read-project-manifest@1001.1.4
226
+
227
+ ## 1000.1.6
228
+
229
+ ### Patch Changes
230
+
231
+ - @pnpm/read-project-manifest@1001.1.3
232
+
233
+ ## 1000.1.5
234
+
235
+ ### Patch Changes
236
+
237
+ - @pnpm/error@1000.0.5
238
+ - @pnpm/read-project-manifest@1001.1.2
239
+ - @pnpm/resolving.jsr-specifier-parser@1000.0.3
240
+
241
+ ## 1000.1.4
242
+
243
+ ### Patch Changes
244
+
245
+ - Updated dependencies [e792927]
246
+ - @pnpm/types@1000.8.0
247
+ - @pnpm/read-project-manifest@1001.1.1
248
+
249
+ ## 1000.1.3
250
+
251
+ ### Patch Changes
252
+
253
+ - Updated dependencies [d1edf73]
254
+ - Updated dependencies [86b33e9]
255
+ - @pnpm/read-project-manifest@1001.1.0
256
+ - @pnpm/error@1000.0.4
257
+ - @pnpm/catalogs.resolver@1000.0.5
258
+ - @pnpm/resolving.jsr-specifier-parser@1000.0.2
259
+
260
+ ## 1000.1.2
261
+
262
+ ### Patch Changes
263
+
264
+ - Updated dependencies [1a07b8f]
265
+ - Updated dependencies [1a07b8f]
266
+ - Updated dependencies [1a07b8f]
267
+ - @pnpm/types@1000.7.0
268
+ - @pnpm/read-project-manifest@1001.0.0
269
+ - @pnpm/error@1000.0.3
270
+ - @pnpm/catalogs.resolver@1000.0.4
271
+ - @pnpm/resolving.jsr-specifier-parser@1000.0.1
272
+
273
+ ## 1000.1.1
274
+
275
+ ### Patch Changes
276
+
277
+ - Updated dependencies [5ec7255]
278
+ - @pnpm/types@1000.6.0
279
+ - @pnpm/read-project-manifest@1000.0.11
280
+
281
+ ## 1000.1.0
282
+
283
+ ### Minor Changes
284
+
285
+ - 9c3dd03: **Added support for installing JSR packages.** You can now install JSR packages using the following syntax:
286
+
287
+ ```
288
+ pnpm add jsr:<pkg_name>
289
+ ```
290
+
291
+ or with a version range:
292
+
293
+ ```
294
+ pnpm add jsr:<pkg_name>@<range>
295
+ ```
296
+
297
+ For example, running:
298
+
299
+ ```
300
+ pnpm add jsr:@foo/bar
301
+ ```
302
+
303
+ will add the following entry to your `package.json`:
304
+
305
+ ```json
306
+ {
307
+ "dependencies": {
308
+ "@foo/bar": "jsr:^0.1.2"
309
+ }
310
+ }
311
+ ```
312
+
313
+ When publishing, this entry will be transformed into a format compatible with npm, older versions of Yarn, and previous pnpm versions:
314
+
315
+ ```json
316
+ {
317
+ "dependencies": {
318
+ "@foo/bar": "npm:@jsr/foo__bar@^0.1.2"
319
+ }
320
+ }
321
+ ```
322
+
323
+ Related issue: [#8941](https://github.com/pnpm/pnpm/issues/8941).
324
+
325
+ Note: The `@jsr` scope defaults to <https://npm.jsr.io/> if the `@jsr:registry` setting is not defined.
326
+
327
+ ### Patch Changes
328
+
329
+ - Updated dependencies [9c3dd03]
330
+ - Updated dependencies [5b73df1]
331
+ - @pnpm/resolving.jsr-specifier-parser@1000.0.0
332
+ - @pnpm/types@1000.5.0
333
+ - @pnpm/catalogs.resolver@1000.0.3
334
+ - @pnpm/read-project-manifest@1000.0.10
335
+
336
+ ## 1000.0.10
337
+
338
+ ### Patch Changes
339
+
340
+ - Updated dependencies [750ae7d]
341
+ - @pnpm/types@1000.4.0
342
+ - @pnpm/read-project-manifest@1000.0.9
343
+
344
+ ## 1000.0.9
345
+
346
+ ### Patch Changes
347
+
348
+ - Updated dependencies [5f7be64]
349
+ - Updated dependencies [5f7be64]
350
+ - @pnpm/types@1000.3.0
351
+ - @pnpm/read-project-manifest@1000.0.8
352
+
353
+ ## 1000.0.8
354
+
355
+ ### Patch Changes
356
+
357
+ - Updated dependencies [a5e4965]
358
+ - @pnpm/types@1000.2.1
359
+ - @pnpm/read-project-manifest@1000.0.7
360
+
361
+ ## 1000.0.7
362
+
363
+ ### Patch Changes
364
+
365
+ - Updated dependencies [8fcc221]
366
+ - @pnpm/types@1000.2.0
367
+ - @pnpm/read-project-manifest@1000.0.6
368
+
369
+ ## 1000.0.6
370
+
371
+ ### Patch Changes
372
+
373
+ - Updated dependencies [1e229d7]
374
+ - @pnpm/read-project-manifest@1000.0.5
375
+
376
+ ## 1000.0.5
377
+
378
+ ### Patch Changes
379
+
380
+ - Updated dependencies [b562deb]
381
+ - @pnpm/types@1000.1.1
382
+ - @pnpm/error@1000.0.2
383
+ - @pnpm/read-project-manifest@1000.0.4
384
+ - @pnpm/catalogs.resolver@1000.0.2
385
+
386
+ ## 1000.0.4
387
+
388
+ ### Patch Changes
389
+
390
+ - Updated dependencies [e050221]
391
+ - @pnpm/read-project-manifest@1000.0.3
392
+
393
+ ## 1000.0.3
394
+
395
+ ### Patch Changes
396
+
397
+ - Updated dependencies [9591a18]
398
+ - @pnpm/types@1000.1.0
399
+ - @pnpm/read-project-manifest@1000.0.2
400
+
401
+ ## 1000.0.2
402
+
403
+ ### Patch Changes
404
+
405
+ - 738d9e4: Fixed `publish`/`pack` error with workspace dependencies with relative paths [#8904](https://github.com/pnpm/pnpm/pull/8904). It was broken in `v9.4.0` ([398472c](https://github.com/pnpm/pnpm/commit/398472c)).
406
+
407
+ ## 1000.0.1
408
+
409
+ ### Patch Changes
410
+
411
+ - @pnpm/error@1000.0.1
412
+ - @pnpm/catalogs.resolver@1000.0.1
413
+ - @pnpm/read-project-manifest@1000.0.1
414
+
415
+ ## 7.0.7
416
+
417
+ ### Patch Changes
418
+
419
+ - @pnpm/error@6.0.3
420
+ - @pnpm/catalogs.resolver@0.1.2
421
+ - @pnpm/read-project-manifest@6.0.10
422
+
423
+ ## 7.0.6
424
+
425
+ ### Patch Changes
426
+
427
+ - @pnpm/error@6.0.2
428
+ - @pnpm/catalogs.resolver@0.1.1
429
+ - @pnpm/read-project-manifest@6.0.9
430
+
431
+ ## 7.0.5
432
+
433
+ ### Patch Changes
434
+
435
+ - Updated dependencies [d500d9f]
436
+ - @pnpm/types@12.2.0
437
+ - @pnpm/read-project-manifest@6.0.8
438
+
439
+ ## 7.0.4
440
+
441
+ ### Patch Changes
442
+
443
+ - Updated dependencies [7ee59a1]
444
+ - @pnpm/types@12.1.0
445
+ - @pnpm/read-project-manifest@6.0.7
446
+
447
+ ## 7.0.3
448
+
449
+ ### Patch Changes
450
+
451
+ - ecbe2ea: Replace semver in "peerDependency" with workspace protocol [#8355](https://github.com/pnpm/pnpm/issues/8355).
452
+
453
+ ## 7.0.2
454
+
455
+ ### Patch Changes
456
+
457
+ - Updated dependencies [cb006df]
458
+ - @pnpm/types@12.0.0
459
+ - @pnpm/read-project-manifest@6.0.6
460
+
461
+ ## 7.0.1
462
+
463
+ ### Patch Changes
464
+
465
+ - Updated dependencies [0ef168b]
466
+ - @pnpm/types@11.1.0
467
+ - @pnpm/read-project-manifest@6.0.5
468
+
469
+ ## 7.0.0
470
+
471
+ ### Major Changes
472
+
473
+ - 9c63679: Creating an exportable manifest now requires a `Catalog` object to be passed to `createExportableManifest` in order to replace `catalog:` protocol specifiers.
474
+
475
+ ### Patch Changes
476
+
477
+ - Updated dependencies [dd00eeb]
478
+ - Updated dependencies
479
+ - @pnpm/types@11.0.0
480
+ - @pnpm/read-project-manifest@6.0.4
481
+
482
+ ## 6.1.0
483
+
484
+ ### Minor Changes
485
+
486
+ - 398472c: Handle workspace protocol with any semver range specifier, when used in peer dependencies [#7578](https://github.com/pnpm/pnpm/issues/7578).
487
+
488
+ ### Patch Changes
489
+
490
+ - Updated dependencies [13e55b2]
491
+ - @pnpm/types@10.1.1
492
+ - @pnpm/read-project-manifest@6.0.3
493
+
494
+ ## 6.0.2
495
+
496
+ ### Patch Changes
497
+
498
+ - Updated dependencies [45f4262]
499
+ - @pnpm/types@10.1.0
500
+ - @pnpm/read-project-manifest@6.0.2
501
+
502
+ ## 6.0.1
503
+
504
+ ### Patch Changes
505
+
506
+ - Updated dependencies [a7aef51]
507
+ - @pnpm/error@6.0.1
508
+ - @pnpm/read-project-manifest@6.0.1
509
+
510
+ ## 6.0.0
511
+
512
+ ### Major Changes
513
+
514
+ - 43cdd87: Node.js v16 support dropped. Use at least Node.js v18.12.
515
+ - 3477ee5: pnpm will now check the `package.json` file for a `packageManager` field. If this field is present and specifies a different package manager or a different version of pnpm than the one you're currently using, pnpm will not proceed. This ensures that you're always using the correct package manager and version that the project requires.
516
+
517
+ To disable this behaviour, set the `package-manager-strict` setting to `false` or the `COREPACK_ENABLE_STRICT` env variable to `0`.
518
+
519
+ ### Patch Changes
520
+
521
+ - Updated dependencies [7733f3a]
522
+ - Updated dependencies [3ded840]
523
+ - Updated dependencies [43cdd87]
524
+ - Updated dependencies [730929e]
525
+ - @pnpm/types@10.0.0
526
+ - @pnpm/error@6.0.0
527
+ - @pnpm/read-project-manifest@6.0.0
528
+
529
+ ## 5.0.11
530
+
531
+ ### Patch Changes
532
+
533
+ - Updated dependencies [4d34684f1]
534
+ - @pnpm/types@9.4.2
535
+ - @pnpm/read-project-manifest@5.0.10
536
+
537
+ ## 5.0.10
538
+
539
+ ### Patch Changes
540
+
541
+ - Updated dependencies
542
+ - @pnpm/types@9.4.1
543
+ - @pnpm/read-project-manifest@5.0.9
544
+
545
+ ## 5.0.9
546
+
547
+ ### Patch Changes
548
+
549
+ - Updated dependencies [43ce9e4a6]
550
+ - @pnpm/types@9.4.0
551
+ - @pnpm/read-project-manifest@5.0.8
552
+
553
+ ## 5.0.8
554
+
555
+ ### Patch Changes
556
+
557
+ - Updated dependencies [d774a3196]
558
+ - @pnpm/types@9.3.0
559
+ - @pnpm/read-project-manifest@5.0.7
560
+
561
+ ## 5.0.7
562
+
563
+ ### Patch Changes
564
+
565
+ - @pnpm/read-project-manifest@5.0.6
566
+
567
+ ## 5.0.6
568
+
569
+ ### Patch Changes
570
+
571
+ - e9aa6f682: Apply fixes from @typescript-eslint v6 for nullish coalescing and optional chains. No behavior changes are expected with this change.
572
+ - @pnpm/read-project-manifest@5.0.5
573
+
574
+ ## 5.0.5
575
+
576
+ ### Patch Changes
577
+
578
+ - Updated dependencies [aa2ae8fe2]
579
+ - @pnpm/types@9.2.0
580
+ - @pnpm/read-project-manifest@5.0.4
581
+
582
+ ## 5.0.4
583
+
584
+ ### Patch Changes
585
+
586
+ - Updated dependencies [b4892acc5]
587
+ - @pnpm/read-project-manifest@5.0.3
588
+
589
+ ## 5.0.3
590
+
591
+ ### Patch Changes
592
+
593
+ - @pnpm/error@5.0.2
594
+ - @pnpm/read-project-manifest@5.0.2
595
+
596
+ ## 5.0.2
597
+
598
+ ### Patch Changes
599
+
600
+ - 4b97f1f07: Don't use await in loops.
601
+
602
+ ## 5.0.1
603
+
604
+ ### Patch Changes
605
+
606
+ - Updated dependencies [a9e0b7cbf]
607
+ - @pnpm/types@9.1.0
608
+ - @pnpm/read-project-manifest@5.0.1
609
+ - @pnpm/error@5.0.1
610
+
611
+ ## 5.0.0
612
+
613
+ ### Major Changes
614
+
615
+ - eceaa8b8b: Node.js 14 support dropped.
616
+
617
+ ### Patch Changes
618
+
619
+ - Updated dependencies [eceaa8b8b]
620
+ - @pnpm/read-project-manifest@5.0.0
621
+ - @pnpm/error@5.0.0
622
+ - @pnpm/types@9.0.0
623
+
624
+ ## 4.0.8
625
+
626
+ ### Patch Changes
627
+
628
+ - @pnpm/read-project-manifest@4.1.4
629
+
630
+ ## 4.0.7
631
+
632
+ ### Patch Changes
633
+
634
+ - b71c6ed74: Fix version number replacing for namespaced workspace packages. `workspace:@foo/bar@*` should be replaced with `npm:@foo/bar@<version>` on publish [#6052](https://github.com/pnpm/pnpm/pull/6052).
635
+
636
+ ## 4.0.6
637
+
638
+ ### Patch Changes
639
+
640
+ - @pnpm/error@4.0.1
641
+ - @pnpm/read-project-manifest@4.1.3
642
+
643
+ ## 4.0.5
644
+
645
+ ### Patch Changes
646
+
647
+ - Updated dependencies [b77651d14]
648
+ - @pnpm/types@8.10.0
649
+ - @pnpm/read-project-manifest@4.1.2
650
+
651
+ ## 4.0.4
652
+
653
+ ### Patch Changes
654
+
655
+ - @pnpm/read-project-manifest@4.1.1
656
+
657
+ ## 4.0.3
658
+
659
+ ### Patch Changes
660
+
661
+ - Updated dependencies [fec9e3149]
662
+ - Updated dependencies [0d12d38fd]
663
+ - @pnpm/read-project-manifest@4.1.0
664
+
665
+ ## 4.0.2
666
+
667
+ ### Patch Changes
668
+
669
+ - Updated dependencies [702e847c1]
670
+ - @pnpm/types@8.9.0
671
+ - @pnpm/read-project-manifest@4.0.2
672
+
673
+ ## 4.0.1
674
+
675
+ ### Patch Changes
676
+
677
+ - Updated dependencies [844e82f3a]
678
+ - @pnpm/types@8.8.0
679
+ - @pnpm/read-project-manifest@4.0.1
680
+
681
+ ## 4.0.0
682
+
683
+ ### Major Changes
684
+
685
+ - 043d988fc: Breaking change to the API. Defaul export is not used.
686
+ - f884689e0: Require `@pnpm/logger` v5.
687
+
688
+ ### Patch Changes
689
+
690
+ - Updated dependencies [043d988fc]
691
+ - Updated dependencies [f884689e0]
692
+ - @pnpm/error@4.0.0
693
+ - @pnpm/read-project-manifest@4.0.0
694
+
695
+ ## 3.1.6
696
+
697
+ ### Patch Changes
698
+
699
+ - @pnpm/read-project-manifest@3.0.13
700
+
701
+ ## 3.1.5
702
+
703
+ ### Patch Changes
704
+
705
+ - Updated dependencies [e8a631bf0]
706
+ - @pnpm/error@3.1.0
707
+ - @pnpm/read-project-manifest@3.0.12
708
+
709
+ ## 3.1.4
710
+
711
+ ### Patch Changes
712
+
713
+ - Updated dependencies [d665f3ff7]
714
+ - @pnpm/types@8.7.0
715
+ - @pnpm/read-project-manifest@3.0.11
716
+
717
+ ## 3.1.3
718
+
719
+ ### Patch Changes
720
+
721
+ - Updated dependencies [156cc1ef6]
722
+ - @pnpm/types@8.6.0
723
+ - @pnpm/read-project-manifest@3.0.10
724
+
725
+ ## 3.1.2
726
+
727
+ ### Patch Changes
728
+
729
+ - 8103f92bd: Use a patched version of ramda to fix deprecation warnings on Node.js 16. Related issue: https://github.com/ramda/ramda/pull/3270
730
+ - Updated dependencies [39c040127]
731
+ - @pnpm/read-project-manifest@3.0.9
732
+
733
+ ## 3.1.1
734
+
735
+ ### Patch Changes
736
+
737
+ - Updated dependencies [c90798461]
738
+ - @pnpm/types@8.5.0
739
+ - @pnpm/read-project-manifest@3.0.8
740
+
741
+ ## 3.1.0
742
+
743
+ ### Minor Changes
744
+
745
+ - eb2426cf8: Accept the module directory path where the dependency's manifest should be read.
746
+
747
+ ### Patch Changes
748
+
749
+ - Updated dependencies [01c5834bf]
750
+ - @pnpm/read-project-manifest@3.0.7
751
+
752
+ ## 3.0.7
753
+
754
+ ### Patch Changes
755
+
756
+ - 5f643f23b: Update ramda to v0.28.
757
+
758
+ ## 3.0.6
759
+
760
+ ### Patch Changes
761
+
762
+ - Updated dependencies [8e5b77ef6]
763
+ - @pnpm/types@8.4.0
764
+ - @pnpm/read-project-manifest@3.0.6
765
+
766
+ ## 3.0.5
767
+
768
+ ### Patch Changes
769
+
770
+ - Updated dependencies [2a34b21ce]
771
+ - @pnpm/types@8.3.0
772
+ - @pnpm/read-project-manifest@3.0.5
773
+
774
+ ## 3.0.4
775
+
776
+ ### Patch Changes
777
+
778
+ - Updated dependencies [fb5bbfd7a]
779
+ - @pnpm/types@8.2.0
780
+ - @pnpm/read-project-manifest@3.0.4
781
+
782
+ ## 3.0.3
783
+
784
+ ### Patch Changes
785
+
786
+ - Updated dependencies [4d39e4a0c]
787
+ - @pnpm/types@8.1.0
788
+ - @pnpm/read-project-manifest@3.0.3
789
+
790
+ ## 3.0.2
791
+
792
+ ### Patch Changes
793
+
794
+ - 18ba5e2c0: Add typesVersions to PUBLISH_CONFIG_WHITELIST
795
+ - Updated dependencies [18ba5e2c0]
796
+ - @pnpm/types@8.0.1
797
+ - @pnpm/read-project-manifest@3.0.2
798
+
799
+ ## 3.0.1
800
+
801
+ ### Patch Changes
802
+
803
+ - @pnpm/error@3.0.1
804
+ - @pnpm/read-project-manifest@3.0.1
805
+
806
+ ## 3.0.0
807
+
808
+ ### Major Changes
809
+
810
+ - 542014839: Node.js 12 is not supported.
811
+
812
+ ### Patch Changes
813
+
814
+ - Updated dependencies [d504dc380]
815
+ - Updated dependencies [542014839]
816
+ - @pnpm/types@8.0.0
817
+ - @pnpm/error@3.0.0
818
+ - @pnpm/read-project-manifest@3.0.0
819
+
820
+ ## 2.3.2
821
+
822
+ ### Patch Changes
823
+
824
+ - Updated dependencies [70ba51da9]
825
+ - @pnpm/error@2.1.0
826
+ - @pnpm/read-project-manifest@2.0.13
827
+
828
+ ## 2.3.1
829
+
830
+ ### Patch Changes
831
+
832
+ - Updated dependencies [b138d048c]
833
+ - @pnpm/types@7.10.0
834
+ - @pnpm/read-project-manifest@2.0.12
835
+
836
+ ## 2.3.0
837
+
838
+ ### Minor Changes
839
+
840
+ - e1b459008: Remove meaningless keys from `publishConfig` when the `pack` or `publish` commands are used [#4311](https://github.com/pnpm/pnpm/issues/4311)
841
+
842
+ ## 2.2.4
843
+
844
+ ### Patch Changes
845
+
846
+ - Updated dependencies [26cd01b88]
847
+ - @pnpm/types@7.9.0
848
+ - @pnpm/read-project-manifest@2.0.11
849
+
850
+ ## 2.2.3
851
+
852
+ ### Patch Changes
853
+
854
+ - Updated dependencies [b5734a4a7]
855
+ - @pnpm/types@7.8.0
856
+ - @pnpm/read-project-manifest@2.0.10
857
+
858
+ ## 2.2.2
859
+
860
+ ### Patch Changes
861
+
862
+ - 6493e0c93: add readme file to published package.json file
863
+ - Updated dependencies [6493e0c93]
864
+ - @pnpm/types@7.7.1
865
+ - @pnpm/read-project-manifest@2.0.9
866
+
867
+ ## 2.2.1
868
+
869
+ ### Patch Changes
870
+
871
+ - Updated dependencies [ba9b2eba1]
872
+ - @pnpm/types@7.7.0
873
+ - @pnpm/read-project-manifest@2.0.8
874
+
875
+ ## 2.2.0
876
+
877
+ ### Minor Changes
878
+
879
+ - 6428690e2: Allow to set `os` and `cpu` in `publishConfig`.
880
+
881
+ ## 2.1.8
882
+
883
+ ### Patch Changes
884
+
885
+ - Updated dependencies [302ae4f6f]
886
+ - @pnpm/types@7.6.0
887
+ - @pnpm/read-project-manifest@2.0.7
888
+
889
+ ## 2.1.7
890
+
891
+ ### Patch Changes
892
+
893
+ - Updated dependencies [4ab87844a]
894
+ - @pnpm/types@7.5.0
895
+ - @pnpm/read-project-manifest@2.0.6
896
+
897
+ ## 2.1.6
898
+
899
+ ### Patch Changes
900
+
901
+ - Updated dependencies [b734b45ea]
902
+ - @pnpm/types@7.4.0
903
+ - @pnpm/read-project-manifest@2.0.5
904
+
905
+ ## 2.1.5
906
+
907
+ ### Patch Changes
908
+
909
+ - Updated dependencies [8e76690f4]
910
+ - @pnpm/types@7.3.0
911
+ - @pnpm/read-project-manifest@2.0.4
912
+
913
+ ## 2.1.4
914
+
915
+ ### Patch Changes
916
+
917
+ - Updated dependencies [724c5abd8]
918
+ - @pnpm/types@7.2.0
919
+ - @pnpm/read-project-manifest@2.0.3
920
+
921
+ ## 2.1.3
922
+
923
+ ### Patch Changes
924
+
925
+ - a1a03d145: Import only the required functions from ramda.
926
+
927
+ ## 2.1.2
928
+
929
+ ### Patch Changes
930
+
931
+ - 6a1468495: Adds support for `type` and `imports` in publishConfig
932
+
933
+ ## 2.1.1
934
+
935
+ ### Patch Changes
936
+
937
+ - @pnpm/read-project-manifest@2.0.2
938
+
939
+ ## 2.1.0
940
+
941
+ ### Minor Changes
942
+
943
+ - 85fb21a83: Add support for workspace:^ and workspace:~ aliases
944
+
945
+ ### Patch Changes
946
+
947
+ - Updated dependencies [6e9c112af]
948
+ - Updated dependencies [97c64bae4]
949
+ - @pnpm/read-project-manifest@2.0.1
950
+ - @pnpm/types@7.1.0
951
+
952
+ ## 2.0.1
953
+
954
+ ### Patch Changes
955
+
956
+ - 561276d2c: Remove publish lifecycle events from manifest to avoid npm running them.
957
+
958
+ ## 2.0.0
959
+
960
+ ### Major Changes
961
+
962
+ - 97b986fbc: Node.js 10 support is dropped. At least Node.js 12.17 is required for the package to work.
963
+
964
+ ### Patch Changes
965
+
966
+ - Updated dependencies [97b986fbc]
967
+ - @pnpm/error@2.0.0
968
+ - @pnpm/read-project-manifest@2.0.0
969
+ - @pnpm/types@7.0.0
970
+
971
+ ## 1.2.2
972
+
973
+ ### Patch Changes
974
+
975
+ - Updated dependencies [ad113645b]
976
+ - @pnpm/read-project-manifest@1.1.7
977
+
978
+ ## 1.2.1
979
+
980
+ ### Patch Changes
981
+
982
+ - Updated dependencies [9ad8c27bf]
983
+ - @pnpm/types@6.4.0
984
+ - @pnpm/read-project-manifest@1.1.6
985
+
986
+ ## 1.2.0
987
+
988
+ ### Minor Changes
989
+
990
+ - c854f8547: Remove the "pnpm" property that stores pnpm settings from the manifest.
991
+
992
+ ## 1.1.0
993
+
994
+ ### Minor Changes
995
+
996
+ - 284e95c5e: Convert relative workspace paths to version specs.
997
+ - 084614f55: Support aliases to workspace packages. For instance, `"foo": "workspace:bar@*"` will link bar from the repository but aliased to foo. Before publish, these specs are converted to regular aliased versions.
998
+
999
+ ## 1.0.8
1000
+
1001
+ ### Patch Changes
1002
+
1003
+ - Updated dependencies [0c5f1bcc9]
1004
+ - @pnpm/error@1.4.0
1005
+ - @pnpm/read-project-manifest@1.1.5
1006
+
1007
+ ## 1.0.7
1008
+
1009
+ ### Patch Changes
1010
+
1011
+ - @pnpm/read-project-manifest@1.1.4
1012
+
1013
+ ## 1.0.6
1014
+
1015
+ ### Patch Changes
1016
+
1017
+ - @pnpm/read-project-manifest@1.1.3
1018
+
1019
+ ## 1.0.5
1020
+
1021
+ ### Patch Changes
1022
+
1023
+ - Updated dependencies [b5d694e7f]
1024
+ - @pnpm/types@6.3.1
1025
+ - @pnpm/read-project-manifest@1.1.2
1026
+
1027
+ ## 1.0.4
1028
+
1029
+ ### Patch Changes
1030
+
1031
+ - Updated dependencies [d54043ee4]
1032
+ - @pnpm/types@6.3.0
1033
+ - @pnpm/read-project-manifest@1.1.1
1034
+
1035
+ ## 1.0.3
1036
+
1037
+ ### Patch Changes
1038
+
1039
+ - Updated dependencies [2762781cc]
1040
+ - @pnpm/read-project-manifest@1.1.0
1041
+
1042
+ ## 1.0.2
1043
+
1044
+ ### Patch Changes
1045
+
1046
+ - Updated dependencies [75a36deba]
1047
+ - @pnpm/error@1.3.1
1048
+ - @pnpm/read-project-manifest@1.0.13
1049
+
1050
+ ## 1.0.1
1051
+
1052
+ ### Patch Changes
1053
+
1054
+ - Updated dependencies [6d480dd7a]
1055
+ - @pnpm/error@1.3.0
1056
+ - @pnpm/read-project-manifest@1.0.12
1057
+
1058
+ ## 1.0.0
1059
+
1060
+ ### Major Changes
1061
+
1062
+ - edf1f412e: Package created.
package/lib/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import fs from 'node:fs';
2
2
  import path from 'node:path';
3
+ import util from 'node:util';
3
4
  import { resolveFromCatalog } from '@pnpm/catalogs.resolver';
4
5
  import { PnpmError } from '@pnpm/error';
5
6
  import { parseJsrSpecifier } from '@pnpm/resolving.jsr-specifier-parser';
@@ -17,15 +18,6 @@ const PREPUBLISH_SCRIPTS = [
17
18
  'publish',
18
19
  'postpublish',
19
20
  ];
20
- async function readReadmeFile(projectDir) {
21
- const entries = await fs.promises.readdir(projectDir, { withFileTypes: true });
22
- // Only embed a regular README.md file. A symlink could point outside the
23
- // project and leak its target's contents into the published manifest.
24
- const readmeEntry = entries.find((entry) => entry.isFile() && /^readme\.md$/i.test(entry.name));
25
- if (readmeEntry == null)
26
- return undefined;
27
- return fs.promises.readFile(path.join(projectDir, readmeEntry.name), 'utf8');
28
- }
29
21
  export async function createExportableManifest(dir, originalManifest, opts) {
30
22
  let publishManifest;
31
23
  if (opts.skipManifestObfuscation) {
@@ -70,6 +62,33 @@ export async function createExportableManifest(dir, originalManifest, opts) {
70
62
  }
71
63
  return transform(publishManifest);
72
64
  }
65
+ // `O_NOFOLLOW` makes the open itself refuse a symlink at the final path component, closing the
66
+ // TOCTOU window between the `readdir` type check and the read: a symlink swapped in for README.md
67
+ // after the check can't redirect the read outside the project and leak its target into the
68
+ // published manifest. Windows lacks the flag (and requires privileges to create symlinks), so it
69
+ // falls back to a plain read.
70
+ const README_READ_FLAGS = fs.constants.O_RDONLY | (process.platform === 'win32' ? 0 : fs.constants.O_NOFOLLOW);
71
+ export async function readReadmeFile(projectDir) {
72
+ const entries = await fs.promises.readdir(projectDir, { withFileTypes: true });
73
+ // Only embed a regular README.md file — a symlink is skipped (see README_READ_FLAGS).
74
+ const readmeEntry = entries.find((entry) => entry.isFile() && /^readme\.md$/i.test(entry.name));
75
+ if (readmeEntry == null)
76
+ return undefined;
77
+ let handle;
78
+ try {
79
+ handle = await fs.promises.open(path.join(projectDir, readmeEntry.name), README_READ_FLAGS);
80
+ return await handle.readFile('utf8');
81
+ }
82
+ catch (err) {
83
+ // ELOOP: the entry is a symlink after all (a concurrent swap) — skip it, as the isFile() check intended.
84
+ if (util.types.isNativeError(err) && 'code' in err && err.code === 'ELOOP')
85
+ return undefined;
86
+ throw err;
87
+ }
88
+ finally {
89
+ await handle?.close();
90
+ }
91
+ }
73
92
  function combineConverters(...converters) {
74
93
  return async (depName, depSpec, dir, modulesDir) => {
75
94
  let bareSpecifier = depSpec;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pnpm/releasing.exportable-manifest",
3
- "version": "1100.1.9",
3
+ "version": "1100.1.11",
4
4
  "description": "Creates an exportable manifest",
5
5
  "keywords": [
6
6
  "pnpm",
@@ -28,26 +28,26 @@
28
28
  ],
29
29
  "dependencies": {
30
30
  "@npm/types": "^2.1.0",
31
- "p-map-values": "^0.1.0",
32
- "ramda": "npm:@pnpm/ramda@0.28.1",
33
- "@pnpm/bins.resolver": "1100.0.8",
31
+ "@pnpm/bins.resolver": "1100.0.9",
34
32
  "@pnpm/catalogs.resolver": "1100.0.0",
35
33
  "@pnpm/error": "1100.0.1",
36
34
  "@pnpm/resolving.jsr-specifier-parser": "1100.0.2",
37
- "@pnpm/workspace.project-manifest-reader": "1100.0.14",
38
- "@pnpm/types": "1101.3.2"
35
+ "@pnpm/types": "1101.4.0",
36
+ "@pnpm/workspace.project-manifest-reader": "1100.0.16",
37
+ "p-map-values": "^0.1.0",
38
+ "ramda": "npm:@pnpm/ramda@0.28.1"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@jest/globals": "30.4.1",
42
+ "@pnpm/catalogs.config": "1100.0.2",
43
+ "@pnpm/catalogs.types": "1100.0.0",
44
+ "@pnpm/hooks.pnpmfile": "1100.0.20",
45
+ "@pnpm/prepare": "1100.0.20",
46
+ "@pnpm/releasing.exportable-manifest": "1100.1.11",
42
47
  "@types/cross-spawn": "^6.0.6",
43
48
  "@types/ramda": "0.31.1",
44
49
  "cross-spawn": "^7.0.6",
45
- "write-yaml-file": "^6.0.0",
46
- "@pnpm/catalogs.config": "1100.0.2",
47
- "@pnpm/hooks.pnpmfile": "1100.0.17",
48
- "@pnpm/catalogs.types": "1100.0.0",
49
- "@pnpm/prepare": "1100.0.18",
50
- "@pnpm/releasing.exportable-manifest": "1100.1.9"
50
+ "write-yaml-file": "^6.0.0"
51
51
  },
52
52
  "engines": {
53
53
  "node": ">=22.13"
package/lib/index.d.ts DELETED
@@ -1,18 +0,0 @@
1
- import type { Catalogs } from '@pnpm/catalogs.types';
2
- import type { Hooks } from '@pnpm/hooks.pnpmfile';
3
- import type { ProjectManifest } from '@pnpm/types';
4
- import { type ExportedManifest } from './transform/index.js';
5
- export { type ExportedManifest };
6
- export interface MakePublishManifestOptions {
7
- catalogs: Catalogs;
8
- hooks?: Hooks;
9
- modulesDir?: string;
10
- skipManifestObfuscation?: boolean;
11
- embedReadme?: boolean;
12
- }
13
- export declare function createExportableManifest(dir: string, originalManifest: ProjectManifest, opts: MakePublishManifestOptions): Promise<ExportedManifest>;
14
- export type PublishDependencyConverter = (depName: string, depSpec: string, dir: string, modulesDir?: string) => Promise<string> | string;
15
- export interface MakePublishDependenciesOpts {
16
- readonly modulesDir?: string;
17
- readonly convertDependencyForPublish: PublishDependencyConverter;
18
- }
@@ -1,2 +0,0 @@
1
- import type { ProjectManifest } from '@pnpm/types';
2
- export declare function overridePublishConfig(publishManifest: ProjectManifest): void;
@@ -1,42 +0,0 @@
1
- import { isEmpty } from 'ramda';
2
- // property keys that are copied from publishConfig into the manifest
3
- const PUBLISH_CONFIG_WHITELIST = new Set([
4
- // manifest fields that may make sense to overwrite
5
- 'bin',
6
- 'engines',
7
- 'type',
8
- 'imports',
9
- // https://github.com/stereobooster/package.json#package-bundlers
10
- 'main',
11
- 'module',
12
- 'typings',
13
- 'types',
14
- 'exports',
15
- 'browser',
16
- 'esnext',
17
- 'es2015',
18
- 'unpkg',
19
- 'umd:main',
20
- // These are useful to hide in order to avoid warnings during local development
21
- 'os',
22
- 'cpu',
23
- 'libc',
24
- // https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html#version-selection-with-typesversions
25
- 'typesVersions',
26
- ]);
27
- export function overridePublishConfig(publishManifest) {
28
- const { publishConfig } = publishManifest;
29
- if (!publishConfig)
30
- return;
31
- for (const key in publishConfig) {
32
- if (!PUBLISH_CONFIG_WHITELIST.has(key))
33
- continue;
34
- const value = publishConfig[key];
35
- publishManifest[key] = value; // eslint-disable-line @typescript-eslint/no-explicit-any
36
- delete publishConfig[key];
37
- }
38
- if (isEmpty(publishConfig)) {
39
- delete publishManifest.publishConfig;
40
- }
41
- }
42
- //# sourceMappingURL=overridePublishConfig.js.map
@@ -1,16 +0,0 @@
1
- import { PnpmError } from '@pnpm/error';
2
- import type { ProjectManifest } from '@pnpm/types';
3
- import type { ExportedManifest } from './index.js';
4
- type Input = Pick<ProjectManifest, 'bin'> & Pick<ExportedManifest, 'name'>;
5
- type Output<Manifest extends Input> = Omit<Manifest, 'bin'> & Pick<ExportedManifest, 'bin'>;
6
- export declare function transformBin<Manifest extends Input>(manifest: Manifest): Output<Manifest>;
7
- /**
8
- * The property `"bin"` of a `package.json` could be either an object or a string.
9
- * This function normalizes either forms into an object.
10
- */
11
- export declare function normalizeBinObject(pkgName: string, bin: string | Record<string, string>): Record<string, string>;
12
- export declare class InvalidScopedPackageNameError extends PnpmError {
13
- readonly invalidName: string;
14
- constructor(invalidName: string);
15
- }
16
- export {};
@@ -1,37 +0,0 @@
1
- import { PnpmError } from '@pnpm/error';
2
- export function transformBin(manifest) {
3
- if (manifest.bin == null || typeof manifest.bin === 'object')
4
- return manifest;
5
- const { bin, ...rest } = manifest;
6
- return {
7
- ...rest,
8
- bin: normalizeBinObject(manifest.name, bin),
9
- };
10
- }
11
- /**
12
- * The property `"bin"` of a `package.json` could be either an object or a string.
13
- * This function normalizes either forms into an object.
14
- */
15
- export function normalizeBinObject(pkgName, bin) {
16
- if (typeof bin === 'object')
17
- return bin;
18
- const binName = normalizeBinName(pkgName);
19
- return { [binName]: bin };
20
- }
21
- function normalizeBinName(name) {
22
- if (name[0] !== '@')
23
- return name;
24
- const slashIndex = name.indexOf('/');
25
- if (slashIndex < 0) {
26
- throw new InvalidScopedPackageNameError(name);
27
- }
28
- return name.slice(slashIndex + 1);
29
- }
30
- export class InvalidScopedPackageNameError extends PnpmError {
31
- invalidName;
32
- constructor(invalidName) {
33
- super('INVALID_SCOPED_PACKAGE_NAME', `The name ${JSON.stringify(invalidName)} is not a valid scoped package name`);
34
- this.invalidName = invalidName;
35
- }
36
- }
37
- //# sourceMappingURL=bin.js.map
@@ -1,5 +0,0 @@
1
- import type { PackageJSON as ExportedManifest } from '@npm/types';
2
- import type { ProjectManifest } from '@pnpm/types';
3
- export { type ExportedManifest };
4
- export type Transform = (manifest: ProjectManifest) => ExportedManifest;
5
- export declare const transform: Transform;
@@ -1,8 +0,0 @@
1
- import { pipe } from 'ramda';
2
- import { transformBin } from './bin.js';
3
- import { transformPeerDependenciesMeta } from './peerDependenciesMeta.js';
4
- import { transformRepository } from './repository.js';
5
- import { transformRequiredFields } from './requiredFields.js';
6
- export {};
7
- export const transform = pipe(transformRequiredFields, transformBin, transformPeerDependenciesMeta, transformRepository);
8
- //# sourceMappingURL=index.js.map
@@ -1,7 +0,0 @@
1
- import type { ProjectManifest } from '@pnpm/types';
2
- import type { ExportedManifest } from './index.js';
3
- type Input = Pick<ProjectManifest, 'peerDependenciesMeta'>;
4
- type Omitted<Manifest extends Input> = Omit<Manifest, 'peerDependenciesMeta'>;
5
- type Output<Manifest extends Input> = Omitted<Manifest> & Pick<ExportedManifest, 'peerDependenciesMeta'>;
6
- export declare function transformPeerDependenciesMeta<Manifest extends Input>(manifest: Manifest): Output<Manifest>;
7
- export {};
@@ -1,18 +0,0 @@
1
- export function transformPeerDependenciesMeta(manifest) {
2
- if (!manifest.peerDependenciesMeta)
3
- return manifest;
4
- const inputPeerDepsMeta = manifest.peerDependenciesMeta;
5
- const outputPeerDepsMeta = {};
6
- for (const key in inputPeerDepsMeta) {
7
- const { optional, ...rest } = inputPeerDepsMeta[key];
8
- outputPeerDepsMeta[key] = {
9
- ...rest,
10
- optional: optional ?? false,
11
- };
12
- }
13
- return {
14
- ...manifest,
15
- peerDependenciesMeta: outputPeerDepsMeta,
16
- };
17
- }
18
- //# sourceMappingURL=peerDependenciesMeta.js.map
@@ -1,15 +0,0 @@
1
- import type { ProjectManifest } from '@pnpm/types';
2
- import type { ExportedManifest } from './index.js';
3
- type Input = Pick<ProjectManifest, 'repository'>;
4
- type Output<Manifest extends Input> = Omit<Manifest, 'repository'> & Pick<ExportedManifest, 'repository'>;
5
- /**
6
- * Normalizes a string `repository` into the object form `{ type: 'git', url }`.
7
- *
8
- * npm's `normalize-package-data` performs this conversion before publishing, so a
9
- * package whose `repository` is a bare URL string still reaches the registry as an
10
- * object. Some registries (e.g. Gitea) reject a string `repository` with a 500
11
- * because they decode it into an object-typed struct. Matching npm keeps
12
- * `pnpm publish` compatible with them. See https://github.com/pnpm/pnpm/issues/12099.
13
- */
14
- export declare function transformRepository<Manifest extends Input>(manifest: Manifest): Output<Manifest>;
15
- export {};
@@ -1,21 +0,0 @@
1
- /**
2
- * Normalizes a string `repository` into the object form `{ type: 'git', url }`.
3
- *
4
- * npm's `normalize-package-data` performs this conversion before publishing, so a
5
- * package whose `repository` is a bare URL string still reaches the registry as an
6
- * object. Some registries (e.g. Gitea) reject a string `repository` with a 500
7
- * because they decode it into an object-typed struct. Matching npm keeps
8
- * `pnpm publish` compatible with them. See https://github.com/pnpm/pnpm/issues/12099.
9
- */
10
- export function transformRepository(manifest) {
11
- if (typeof manifest.repository !== 'string')
12
- return manifest;
13
- return {
14
- ...manifest,
15
- repository: {
16
- type: 'git',
17
- url: manifest.repository,
18
- },
19
- };
20
- }
21
- //# sourceMappingURL=repository.js.map
@@ -1,12 +0,0 @@
1
- import { PnpmError } from '@pnpm/error';
2
- import type { ProjectManifest } from '@pnpm/types';
3
- import type { ExportedManifest } from './index.js';
4
- type RequiredField = 'name' | 'version';
5
- type Input = Pick<ProjectManifest, RequiredField>;
6
- type Output<Manifest extends Input> = Omit<Manifest, RequiredField> & Pick<ExportedManifest, RequiredField>;
7
- export declare function transformRequiredFields<Manifest extends Input>(manifest: Manifest): Output<Manifest>;
8
- export declare class MissingRequiredFieldError<Field extends RequiredField> extends PnpmError {
9
- readonly field: Field;
10
- constructor(field: Field);
11
- }
12
- export {};
@@ -1,16 +0,0 @@
1
- import { PnpmError } from '@pnpm/error';
2
- export function transformRequiredFields(manifest) {
3
- if (!manifest.name)
4
- throw new MissingRequiredFieldError('name');
5
- if (!manifest.version)
6
- throw new MissingRequiredFieldError('version');
7
- return manifest;
8
- }
9
- export class MissingRequiredFieldError extends PnpmError {
10
- field;
11
- constructor(field) {
12
- super('MISSING_REQUIRED_FIELD', `Missing required field ${JSON.stringify(field)}`);
13
- this.field = field;
14
- }
15
- }
16
- //# sourceMappingURL=requiredFields.js.map