dependabot-bun 0.396.0 → 0.397.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8d8c5792f04904252b5cafdfc832e3ffd55327fed710c2192bf9d10c8201ef21
4
- data.tar.gz: 18f707c30fc183e89236ed35019a5c7cbb6a8bbeea8be17f0c291544bb881a7a
3
+ metadata.gz: 7b2b3b0451e9df5a0b011f86aa2350c9dfc0e8144ced6556d1425d4a081af8f3
4
+ data.tar.gz: 17a5e6489722676fb3b8939e8f3ce6eddb8f8a3e5afb0738edc7d11cdaab3a16
5
5
  SHA512:
6
- metadata.gz: a100f03e67e2dde0fe734fa91c66137508583cbfb38f1006e5c86afce7b511ac383819c04be14b3b0bfb9946fef72c2bc7222e7c066cb7bca7767206c8d4d82e
7
- data.tar.gz: 0a67133acfc05a31241115d8a35be5f978d6a63dd6b01b19ca1509cdd0eadb213e3783b0f0bf348d12f1f151bd04558631d1713f20e9f28ad9ffa06c426bda24
6
+ metadata.gz: 0e2b0630b65dd996e8099e5d3600fe082fd6f589d2588960ed94df6ded3c180fba7b32b242e3ba07b85fab5f86c581fa25a7238c62d5191e989e6b6bc72de05f
7
+ data.tar.gz: 33400c832cc9a40a7ca79dde6354eab961e3515194d245e93d7fd2e5909c7b13853f6e3cfc28bb2ff6d76af674eb832b5e43d782f792105f8561cfd43a99bb42
@@ -836,10 +836,21 @@
836
836
  }
837
837
  },
838
838
  "node_modules/@eslint/eslintrc/node_modules/js-yaml": {
839
- "version": "4.1.0",
840
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
841
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
839
+ "version": "4.3.2",
840
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.2.tgz",
841
+ "integrity": "sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==",
842
842
  "dev": true,
843
+ "funding": [
844
+ {
845
+ "type": "github",
846
+ "url": "https://github.com/sponsors/puzrin"
847
+ },
848
+ {
849
+ "type": "github",
850
+ "url": "https://github.com/sponsors/nodeca"
851
+ }
852
+ ],
853
+ "license": "MIT",
843
854
  "dependencies": {
844
855
  "argparse": "^2.0.1"
845
856
  },
@@ -3632,6 +3643,19 @@
3632
3643
  "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
3633
3644
  "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
3634
3645
  },
3646
+ "node_modules/baseline-browser-mapping": {
3647
+ "version": "2.11.23",
3648
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.23.tgz",
3649
+ "integrity": "sha512-le521dGVfxM7yRX0EikCoSz+rOK+hHzdDt/E7mG1jOJB/6WAAUuwVroLwaB7ApaUsz5Q0kFlDXLSA9MheUIfRQ==",
3650
+ "dev": true,
3651
+ "license": "Apache-2.0",
3652
+ "bin": {
3653
+ "baseline-browser-mapping": "dist/cli.cjs"
3654
+ },
3655
+ "engines": {
3656
+ "node": ">=6.0.0"
3657
+ }
3658
+ },
3635
3659
  "node_modules/bcrypt-pbkdf": {
3636
3660
  "version": "1.0.2",
3637
3661
  "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
@@ -3760,9 +3784,9 @@
3760
3784
  }
3761
3785
  },
3762
3786
  "node_modules/browserslist": {
3763
- "version": "4.22.1",
3764
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz",
3765
- "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==",
3787
+ "version": "4.28.9",
3788
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.9.tgz",
3789
+ "integrity": "sha512-EWazOblFYUvlGZcfGhPUPmYh3nikUxBVb+y9MJun5f3hBi812X+8MSQTujLBtgK3cf51fJWbWfOjyeO954d+Eg==",
3766
3790
  "dev": true,
3767
3791
  "funding": [
3768
3792
  {
@@ -3778,11 +3802,13 @@
3778
3802
  "url": "https://github.com/sponsors/ai"
3779
3803
  }
3780
3804
  ],
3805
+ "license": "MIT",
3781
3806
  "dependencies": {
3782
- "caniuse-lite": "^1.0.30001541",
3783
- "electron-to-chromium": "^1.4.535",
3784
- "node-releases": "^2.0.13",
3785
- "update-browserslist-db": "^1.0.13"
3807
+ "baseline-browser-mapping": "^2.11.20",
3808
+ "caniuse-lite": "^1.0.30001810",
3809
+ "electron-to-chromium": "^1.5.420",
3810
+ "node-releases": "^2.0.54",
3811
+ "update-browserslist-db": "^1.3.2"
3786
3812
  },
3787
3813
  "bin": {
3788
3814
  "browserslist": "cli.js"
@@ -3944,9 +3970,9 @@
3944
3970
  }
3945
3971
  },
3946
3972
  "node_modules/caniuse-lite": {
3947
- "version": "1.0.30001546",
3948
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001546.tgz",
3949
- "integrity": "sha512-zvtSJwuQFpewSyRrI3AsftF6rM0X80mZkChIt1spBGEvRglCrjTniXvinc8JKRoqTwXAgvqTImaN9igfSMtUBw==",
3973
+ "version": "1.0.30001810",
3974
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001810.tgz",
3975
+ "integrity": "sha512-TITQPUkaz+aVk5GL6NhOdwk1aEaNTSDPsGFWrTuhKGtjTF70jL/Oht2W4c6rXUe5fu7Ie19VIahAXHIIiWWNeg==",
3950
3976
  "dev": true,
3951
3977
  "funding": [
3952
3978
  {
@@ -3961,7 +3987,8 @@
3961
3987
  "type": "github",
3962
3988
  "url": "https://github.com/sponsors/ai"
3963
3989
  }
3964
- ]
3990
+ ],
3991
+ "license": "CC-BY-4.0"
3965
3992
  },
3966
3993
  "node_modules/caseless": {
3967
3994
  "version": "0.12.0",
@@ -4505,10 +4532,11 @@
4505
4532
  }
4506
4533
  },
4507
4534
  "node_modules/electron-to-chromium": {
4508
- "version": "1.4.544",
4509
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.544.tgz",
4510
- "integrity": "sha512-54z7squS1FyFRSUqq/knOFSptjjogLZXbKcYk3B0qkE1KZzvqASwRZnY2KzZQJqIYLVD38XZeoiMRflYSwyO4w==",
4511
- "dev": true
4535
+ "version": "1.5.427",
4536
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.427.tgz",
4537
+ "integrity": "sha512-n14zb3FdsChZ2BNobqNHAJMcP3ifFv4paox2LvCrfVAQcqGiSURgbJl+PfMpHVCNFkStnNc+RRVtPBTVW5PDgw==",
4538
+ "dev": true,
4539
+ "license": "ISC"
4512
4540
  },
4513
4541
  "node_modules/emittery": {
4514
4542
  "version": "0.13.1",
@@ -4587,10 +4615,11 @@
4587
4615
  }
4588
4616
  },
4589
4617
  "node_modules/escalade": {
4590
- "version": "3.1.1",
4591
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
4592
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
4618
+ "version": "3.2.0",
4619
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
4620
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
4593
4621
  "dev": true,
4622
+ "license": "MIT",
4594
4623
  "engines": {
4595
4624
  "node": ">=6"
4596
4625
  }
@@ -8141,9 +8170,10 @@
8141
8170
  "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
8142
8171
  },
8143
8172
  "node_modules/js-yaml": {
8144
- "version": "3.14.1",
8145
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
8146
- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
8173
+ "version": "3.15.2",
8174
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.15.2.tgz",
8175
+ "integrity": "sha512-6EuL879VkRA+1Cz578mKMiKvjPNEuk6+r1JaFzoSWejZmtf7xWbIyw1e3KkxlkzTIt9Taw6JBhEppG7utc1P+w==",
8176
+ "license": "MIT",
8147
8177
  "dependencies": {
8148
8178
  "argparse": "^1.0.7",
8149
8179
  "esprima": "^4.0.0"
@@ -9242,10 +9272,14 @@
9242
9272
  "dev": true
9243
9273
  },
9244
9274
  "node_modules/node-releases": {
9245
- "version": "2.0.13",
9246
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
9247
- "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==",
9248
- "dev": true
9275
+ "version": "2.0.55",
9276
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.55.tgz",
9277
+ "integrity": "sha512-mIrE/Cw9y+9Au6dS5vDKDhQza9YvG6w+ZrS6X+ZzA7yFW/soAeaups4Qzn1bL6g5FVy8WtP79+0j82oPIbqRjQ==",
9278
+ "dev": true,
9279
+ "license": "MIT",
9280
+ "engines": {
9281
+ "node": ">=18"
9282
+ }
9249
9283
  },
9250
9284
  "node_modules/nopt": {
9251
9285
  "version": "8.0.0",
@@ -14483,10 +14517,11 @@
14483
14517
  "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
14484
14518
  },
14485
14519
  "node_modules/picocolors": {
14486
- "version": "1.0.0",
14487
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
14488
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
14489
- "dev": true
14520
+ "version": "1.1.1",
14521
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
14522
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
14523
+ "dev": true,
14524
+ "license": "ISC"
14490
14525
  },
14491
14526
  "node_modules/picomatch": {
14492
14527
  "version": "2.3.1",
@@ -15937,9 +15972,9 @@
15937
15972
  }
15938
15973
  },
15939
15974
  "node_modules/update-browserslist-db": {
15940
- "version": "1.0.13",
15941
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
15942
- "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
15975
+ "version": "1.3.3",
15976
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.3.3.tgz",
15977
+ "integrity": "sha512-pJ2sYawQS0R/WI928Gj5GlPhTGzbMelq0+4INtSYNDV9ErKJcX6xjGWkoG/VnB3dpUm00zALaqkrUD77pO5TDQ==",
15943
15978
  "dev": true,
15944
15979
  "funding": [
15945
15980
  {
@@ -15955,9 +15990,10 @@
15955
15990
  "url": "https://github.com/sponsors/ai"
15956
15991
  }
15957
15992
  ],
15993
+ "license": "MIT",
15958
15994
  "dependencies": {
15959
- "escalade": "^3.1.1",
15960
- "picocolors": "^1.0.0"
15995
+ "escalade": "^3.2.0",
15996
+ "picocolors": "^1.1.1"
15961
15997
  },
15962
15998
  "bin": {
15963
15999
  "update-browserslist-db": "cli.js"
@@ -16979,9 +17015,9 @@
16979
17015
  "dev": true
16980
17016
  },
16981
17017
  "js-yaml": {
16982
- "version": "4.1.0",
16983
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
16984
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
17018
+ "version": "4.3.2",
17019
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.2.tgz",
17020
+ "integrity": "sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==",
16985
17021
  "dev": true,
16986
17022
  "requires": {
16987
17023
  "argparse": "^2.0.1"
@@ -19052,6 +19088,12 @@
19052
19088
  "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
19053
19089
  "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
19054
19090
  },
19091
+ "baseline-browser-mapping": {
19092
+ "version": "2.11.23",
19093
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.23.tgz",
19094
+ "integrity": "sha512-le521dGVfxM7yRX0EikCoSz+rOK+hHzdDt/E7mG1jOJB/6WAAUuwVroLwaB7ApaUsz5Q0kFlDXLSA9MheUIfRQ==",
19095
+ "dev": true
19096
+ },
19055
19097
  "bcrypt-pbkdf": {
19056
19098
  "version": "1.0.2",
19057
19099
  "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
@@ -19163,15 +19205,16 @@
19163
19205
  }
19164
19206
  },
19165
19207
  "browserslist": {
19166
- "version": "4.22.1",
19167
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz",
19168
- "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==",
19208
+ "version": "4.28.9",
19209
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.9.tgz",
19210
+ "integrity": "sha512-EWazOblFYUvlGZcfGhPUPmYh3nikUxBVb+y9MJun5f3hBi812X+8MSQTujLBtgK3cf51fJWbWfOjyeO954d+Eg==",
19169
19211
  "dev": true,
19170
19212
  "requires": {
19171
- "caniuse-lite": "^1.0.30001541",
19172
- "electron-to-chromium": "^1.4.535",
19173
- "node-releases": "^2.0.13",
19174
- "update-browserslist-db": "^1.0.13"
19213
+ "baseline-browser-mapping": "^2.11.20",
19214
+ "caniuse-lite": "^1.0.30001810",
19215
+ "electron-to-chromium": "^1.5.420",
19216
+ "node-releases": "^2.0.54",
19217
+ "update-browserslist-db": "^1.3.2"
19175
19218
  }
19176
19219
  },
19177
19220
  "bser": {
@@ -19296,9 +19339,9 @@
19296
19339
  "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0="
19297
19340
  },
19298
19341
  "caniuse-lite": {
19299
- "version": "1.0.30001546",
19300
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001546.tgz",
19301
- "integrity": "sha512-zvtSJwuQFpewSyRrI3AsftF6rM0X80mZkChIt1spBGEvRglCrjTniXvinc8JKRoqTwXAgvqTImaN9igfSMtUBw==",
19342
+ "version": "1.0.30001810",
19343
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001810.tgz",
19344
+ "integrity": "sha512-TITQPUkaz+aVk5GL6NhOdwk1aEaNTSDPsGFWrTuhKGtjTF70jL/Oht2W4c6rXUe5fu7Ie19VIahAXHIIiWWNeg==",
19302
19345
  "dev": true
19303
19346
  },
19304
19347
  "caseless": {
@@ -19718,9 +19761,9 @@
19718
19761
  }
19719
19762
  },
19720
19763
  "electron-to-chromium": {
19721
- "version": "1.4.544",
19722
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.544.tgz",
19723
- "integrity": "sha512-54z7squS1FyFRSUqq/knOFSptjjogLZXbKcYk3B0qkE1KZzvqASwRZnY2KzZQJqIYLVD38XZeoiMRflYSwyO4w==",
19764
+ "version": "1.5.427",
19765
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.427.tgz",
19766
+ "integrity": "sha512-n14zb3FdsChZ2BNobqNHAJMcP3ifFv4paox2LvCrfVAQcqGiSURgbJl+PfMpHVCNFkStnNc+RRVtPBTVW5PDgw==",
19724
19767
  "dev": true
19725
19768
  },
19726
19769
  "emittery": {
@@ -19787,9 +19830,9 @@
19787
19830
  }
19788
19831
  },
19789
19832
  "escalade": {
19790
- "version": "3.1.1",
19791
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
19792
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
19833
+ "version": "3.2.0",
19834
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
19835
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
19793
19836
  "dev": true
19794
19837
  },
19795
19838
  "escape-string-regexp": {
@@ -22388,9 +22431,9 @@
22388
22431
  "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
22389
22432
  },
22390
22433
  "js-yaml": {
22391
- "version": "3.14.1",
22392
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
22393
- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
22434
+ "version": "3.15.2",
22435
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.15.2.tgz",
22436
+ "integrity": "sha512-6EuL879VkRA+1Cz578mKMiKvjPNEuk6+r1JaFzoSWejZmtf7xWbIyw1e3KkxlkzTIt9Taw6JBhEppG7utc1P+w==",
22394
22437
  "requires": {
22395
22438
  "argparse": "^1.0.7",
22396
22439
  "esprima": "^4.0.0"
@@ -23242,9 +23285,9 @@
23242
23285
  "dev": true
23243
23286
  },
23244
23287
  "node-releases": {
23245
- "version": "2.0.13",
23246
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
23247
- "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==",
23288
+ "version": "2.0.55",
23289
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.55.tgz",
23290
+ "integrity": "sha512-mIrE/Cw9y+9Au6dS5vDKDhQza9YvG6w+ZrS6X+ZzA7yFW/soAeaups4Qzn1bL6g5FVy8WtP79+0j82oPIbqRjQ==",
23248
23291
  "dev": true
23249
23292
  },
23250
23293
  "nopt": {
@@ -27123,9 +27166,9 @@
27123
27166
  "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
27124
27167
  },
27125
27168
  "picocolors": {
27126
- "version": "1.0.0",
27127
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
27128
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
27169
+ "version": "1.1.1",
27170
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
27171
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
27129
27172
  "dev": true
27130
27173
  },
27131
27174
  "picomatch": {
@@ -28229,13 +28272,13 @@
28229
28272
  "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
28230
28273
  },
28231
28274
  "update-browserslist-db": {
28232
- "version": "1.0.13",
28233
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
28234
- "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
28275
+ "version": "1.3.3",
28276
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.3.3.tgz",
28277
+ "integrity": "sha512-pJ2sYawQS0R/WI928Gj5GlPhTGzbMelq0+4INtSYNDV9ErKJcX6xjGWkoG/VnB3dpUm00zALaqkrUD77pO5TDQ==",
28235
28278
  "dev": true,
28236
28279
  "requires": {
28237
- "escalade": "^3.1.1",
28238
- "picocolors": "^1.0.0"
28280
+ "escalade": "^3.2.0",
28281
+ "picocolors": "^1.1.1"
28239
28282
  }
28240
28283
  },
28241
28284
  "uri-js": {
@@ -30,6 +30,7 @@ module Dependabot
30
30
  require_relative "file_parser/lockfile_parser"
31
31
 
32
32
  DEPENDENCY_TYPES = %w(dependencies devDependencies optionalDependencies).freeze
33
+ ALIAS_PROTOCOL = "npm:"
33
34
  GIT_URL_REGEX = %r{
34
35
  (?<git_prefix>^|^git.*?|^github:|^bitbucket:|^gitlab:|github\.com/)
35
36
  (?<username>[a-z0-9-]+)/
@@ -274,7 +275,7 @@ module Dependabot
274
275
 
275
276
  sig { params(requirement: String).returns(T::Boolean) }
276
277
  def alias_package?(requirement)
277
- requirement.start_with?("#{BunPackageManager::NAME}:")
278
+ requirement.start_with?(ALIAS_PROTOCOL)
278
279
  end
279
280
 
280
281
  sig { params(requirement: String).returns(T::Boolean) }
@@ -296,7 +297,7 @@ module Dependabot
296
297
 
297
298
  sig { params(name: String).returns(T::Boolean) }
298
299
  def aliased_package_name?(name)
299
- name.include?("@#{BunPackageManager::NAME}:")
300
+ name.include?("@#{ALIAS_PROTOCOL}")
300
301
  end
301
302
 
302
303
  sig { returns(T::Array[String]) }
@@ -171,14 +171,6 @@ module Dependabot
171
171
  possible_releases
172
172
  end
173
173
 
174
- sig do
175
- params(filter_ignored: T::Boolean)
176
- .returns(T::Array[T::Array[T.untyped]])
177
- end
178
- def possible_versions_with_details(filter_ignored: true)
179
- possible_releases(filter_ignored: filter_ignored).map { |r| [r.version, r.details] }
180
- end
181
-
182
174
  sig do
183
175
  params(releases: T::Array[Dependabot::Package::PackageRelease])
184
176
  .returns(T::Array[Dependabot::Package::PackageRelease])
@@ -242,13 +234,6 @@ module Dependabot
242
234
  .sort_by(&:version).reverse
243
235
  end
244
236
 
245
- sig { returns(T::Array[[Dependabot::Version, T::Hash[String, T.anything]]]) }
246
- def possible_previous_versions_with_details
247
- possible_previous_releases.map do |r|
248
- [r.version, r.details]
249
- end
250
- end
251
-
252
237
  sig { override.returns(T::Boolean) }
253
238
  def cooldown_enabled?
254
239
  true
@@ -1,4 +1,4 @@
1
- # typed: strict
1
+ # typed: strong
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require "sorbet-runtime"
@@ -6,6 +6,7 @@ require "sorbet-runtime"
6
6
  require "dependabot/errors"
7
7
  require "dependabot/git_commit_checker"
8
8
  require "dependabot/logger"
9
+ require "dependabot/package/npm_registry_package"
9
10
  require "dependabot/bun/dependency_files_filterer"
10
11
  require "dependabot/bun/file_parser"
11
12
  require "dependabot/bun/file_updater/npmrc_builder"
@@ -17,6 +18,7 @@ require "dependabot/bun/requirement"
17
18
  require "dependabot/bun/update_checker"
18
19
  require "dependabot/bun/version"
19
20
  require "dependabot/shared_helpers"
21
+ require "dependabot/update_checkers/peer_dependency_conflict"
20
22
 
21
23
  # rubocop:disable-next Metrics/ClassLength
22
24
  module Dependabot
@@ -27,6 +29,8 @@ module Dependabot
27
29
 
28
30
  require_relative "latest_version_finder"
29
31
 
32
+ PeerDependencyConflict = Dependabot::UpdateCheckers::PeerDependencyConflict
33
+
30
34
  TIGHTLY_COUPLED_MONOREPOS = T.let(
31
35
  {
32
36
  "vue" => %w(vue vue-template-compiler)
@@ -70,7 +74,7 @@ module Dependabot
70
74
  update_cooldown: T.nilable(Dependabot::Package::ReleaseCooldownOptions)
71
75
  ).void
72
76
  end
73
- def initialize( # rubocop:disable Metrics/AbcSize
77
+ def initialize(
74
78
  dependency:,
75
79
  dependency_files:,
76
80
  credentials:,
@@ -101,9 +105,9 @@ module Dependabot
101
105
  @paths_requiring_update_check = T.let(nil, T.nilable(T::Array[String]))
102
106
  @top_level_dependencies = T.let(nil, T.nilable(T::Array[Dependabot::Dependency]))
103
107
  @old_peer_dependency_errors = T.let(
104
- nil, T.nilable(T::Array[T.any(T::Hash[String, T.nilable(String)], String)])
108
+ nil, T.nilable(T::Array[PeerDependencyConflict])
105
109
  )
106
- @peer_dependency_errors = T.let(nil, T.nilable(T::Array[T.any(T::Hash[String, T.nilable(String)], String)]))
110
+ @peer_dependency_errors = T.let(nil, T.nilable(T::Array[PeerDependencyConflict]))
107
111
  end
108
112
 
109
113
  sig { returns(T.nilable(T.any(String, Gem::Version))) }
@@ -150,7 +154,7 @@ module Dependabot
150
154
  )
151
155
  }]
152
156
  newly_broken_peer_reqs_on_dep.each do |peer_req|
153
- dep_name = peer_req.fetch(:requiring_dep_name)
157
+ dep_name = peer_req.requiring_dep_name
154
158
  dep = top_level_dependencies.find { |d| d.name == dep_name }
155
159
 
156
160
  # Can't handle reqs from sub-deps or git source deps (yet)
@@ -226,8 +230,8 @@ module Dependabot
226
230
 
227
231
  @resolve_latest_previous_version[dep] ||= begin
228
232
  relevant_versions = latest_version_finder(dependency)
229
- .possible_previous_versions_with_details
230
- .map(&:first)
233
+ .possible_previous_releases
234
+ .map(&:version)
231
235
  reqs = dep.requirements.filter_map(&:requirement_string)
232
236
  .map { |r| requirement_class.requirements_array(r) }
233
237
 
@@ -388,7 +392,7 @@ module Dependabot
388
392
  }]
389
393
  end
390
394
 
391
- sig { returns(T::Array[T.any(T::Hash[String, T.nilable(String)], String)]) }
395
+ sig { returns(T::Array[PeerDependencyConflict]) }
392
396
  def peer_dependency_errors
393
397
  return @peer_dependency_errors if @peer_dependency_errors
394
398
 
@@ -396,7 +400,7 @@ module Dependabot
396
400
  @peer_dependency_errors
397
401
  end
398
402
 
399
- sig { returns(T::Array[T.any(T::Hash[String, T.nilable(String)], String)]) }
403
+ sig { returns(T::Array[PeerDependencyConflict]) }
400
404
  def old_peer_dependency_errors
401
405
  return @old_peer_dependency_errors if @old_peer_dependency_errors
402
406
 
@@ -409,7 +413,7 @@ module Dependabot
409
413
  sig do
410
414
  params(
411
415
  version: T.nilable(T.any(String, Gem::Version))
412
- ).returns(T::Array[T.any(T::Hash[String, T.nilable(String)], String)])
416
+ ).returns(T::Array[PeerDependencyConflict])
413
417
  end
414
418
  def fetch_peer_dependency_errors(version:)
415
419
  # TODO: Add all of the error handling that the FileUpdater does
@@ -421,7 +425,7 @@ module Dependabot
421
425
 
422
426
  paths_requiring_update_check.flat_map do |path|
423
427
  run_checker(path: path, version: version)
424
- end.compact
428
+ end
425
429
  end
426
430
  rescue SharedHelpers::HelperSubprocessFailed
427
431
  # Fall back to allowing the version through. Whatever error
@@ -430,12 +434,12 @@ module Dependabot
430
434
  []
431
435
  end
432
436
 
433
- sig { params(message: String).returns(T::Array[T::Hash[String, T.nilable(String)]]) }
437
+ sig { params(message: String).returns(T::Array[PeerDependencyConflict]) }
434
438
  def handle_peer_dependency_errors(message)
435
- errors = []
439
+ errors = T.let([], T::Array[T::Hash[String, T.nilable(String)]])
436
440
  if message.match?(NPM6_PEER_DEP_ERROR_REGEX)
437
441
  message.scan(NPM6_PEER_DEP_ERROR_REGEX) do
438
- errors << Regexp.last_match&.named_captures
442
+ errors << T.must(Regexp.last_match).named_captures
439
443
  end
440
444
  elsif message.match?(NPM8_PEER_DEP_ERROR_REGEX)
441
445
  message.scan(NPM8_PEER_DEP_ERROR_REGEX) do
@@ -444,45 +448,15 @@ module Dependabot
444
448
  else
445
449
  raise
446
450
  end
447
- errors
448
- end
449
-
450
- sig { returns(T::Array[T::Hash[Symbol, T.untyped]]) }
451
- def unmet_peer_dependencies
452
- peer_dependency_errors
453
- .map { |captures| error_details_from_captures(captures) }
454
- end
455
-
456
- sig { returns(T::Array[T::Hash[Symbol, T.untyped]]) }
457
- def old_unmet_peer_dependencies
458
- old_peer_dependency_errors
459
- .map { |captures| error_details_from_captures(captures) }
460
- end
461
-
462
- sig do
463
- params(captures: T.any(T::Hash[String, T.nilable(String)], String))
464
- .returns(T::Hash[Symbol, T.nilable(String)])
451
+ errors.filter_map { |captures| PeerDependencyConflict.from_captures(captures) }
465
452
  end
466
- def error_details_from_captures(captures)
467
- return {} unless captures.is_a?(Hash)
468
453
 
469
- required_dep_captures = captures.fetch("required_dep")
470
- requiring_dep_captures = captures.fetch("requiring_dep")
471
- return {} unless required_dep_captures && requiring_dep_captures
472
-
473
- {
474
- requirement_name: required_dep_captures.sub(/@[^@]+$/, ""),
475
- requirement_version: required_dep_captures.split("@").last&.delete('"'),
476
- requiring_dep_name: requiring_dep_captures.sub(/@[^@]+$/, "")
477
- }
478
- end
479
-
480
- sig { returns(T::Array[T::Hash[Symbol, T.nilable(String)]]) }
454
+ sig { returns(T::Array[PeerDependencyConflict]) }
481
455
  def relevant_unmet_peer_dependencies # rubocop:disable Metrics/PerceivedComplexity
482
456
  relevant_unmet_peer_dependencies =
483
- unmet_peer_dependencies.select do |dep|
484
- dep[:requirement_name] == dependency.name ||
485
- dep[:requiring_dep_name] == dependency.name
457
+ peer_dependency_errors.select do |dep|
458
+ dep.requirement_name == dependency.name ||
459
+ dep.requiring_dep_name == dependency.name
486
460
  end
487
461
 
488
462
  unless dependency_group.nil?
@@ -490,8 +464,8 @@ module Dependabot
490
464
  # the update is also updating those dependencies.
491
465
  relevant_unmet_peer_dependencies.reject! do |dep|
492
466
  dependency_group&.dependencies&.any? do |group_dep|
493
- dep[:requirement_name] == group_dep.name ||
494
- dep[:requiring_dep_name] == group_dep.name
467
+ dep.requirement_name == group_dep.name ||
468
+ dep.requiring_dep_name == group_dep.name
495
469
  end
496
470
  end
497
471
  end
@@ -500,10 +474,7 @@ module Dependabot
500
474
 
501
475
  # Prune out any pre-existing warnings
502
476
  relevant_unmet_peer_dependencies.reject do |issue|
503
- old_unmet_peer_dependencies.any? do |old_issue|
504
- old_issue.slice(:requirement_name, :requiring_dep_name) ==
505
- issue.slice(:requirement_name, :requiring_dep_name)
506
- end
477
+ old_peer_dependency_errors.any? { |old_issue| old_issue.same_dependencies?(issue) }
507
478
  end
508
479
  end
509
480
 
@@ -511,14 +482,18 @@ module Dependabot
511
482
  sig { returns(T::Array[T.any(String, Gem::Version)]) }
512
483
  def satisfying_versions
513
484
  latest_version_finder(dependency)
514
- .possible_versions_with_details
515
- .select do |versions_with_details|
516
- version, details = versions_with_details
485
+ .possible_releases
486
+ .select do |release|
487
+ version = release.version
517
488
  next false unless satisfies_peer_reqs_on_dep?(version)
518
- next true unless details["peerDependencies"]
519
489
  next true if version == version_for_dependency(dependency)
520
490
 
521
- details["peerDependencies"].all? do |dep, req|
491
+ peer_requirements = Dependabot::Package::NpmRegistryPackage.peer_dependencies(
492
+ details: release.details,
493
+ package_name: dependency.name,
494
+ version: version.to_s
495
+ )
496
+ peer_requirements.all? do |dep, req|
522
497
  dep = top_level_dependencies.find { |d| d.name == dep }
523
498
  next false unless dep
524
499
  next git_dependency?(dep) if req.include?("/")
@@ -530,11 +505,7 @@ module Dependabot
530
505
  rescue Gem::Requirement::BadRequirementError
531
506
  false
532
507
  end
533
- end.map do |versions_with_details| # rubocop:disable Style/MultilineBlockChain
534
- # Return just the version
535
- version, = versions_with_details
536
- version
537
- end
508
+ end.map(&:version)
538
509
  end
539
510
 
540
511
  # rubocop:enable Metrics/PerceivedComplexity
@@ -542,7 +513,7 @@ module Dependabot
542
513
  sig { params(version: T.nilable(T.any(String, Gem::Version))).returns(T::Boolean) }
543
514
  def satisfies_peer_reqs_on_dep?(version)
544
515
  newly_broken_peer_reqs_on_dep.all? do |peer_req|
545
- req = peer_req.fetch(:requirement_version)
516
+ req = peer_req.requirement_version
546
517
 
547
518
  # Git requirements can't be satisfied by a version
548
519
  next false if req&.include?("/")
@@ -555,18 +526,22 @@ module Dependabot
555
526
  end
556
527
 
557
528
  sig { params(dep: Dependabot::Dependency).returns(T.nilable(T.any(String, Gem::Version))) }
558
- def latest_version_of_dep_with_satisfied_peer_reqs(dep) # rubocop:disable Metrics/PerceivedComplexity
529
+ def latest_version_of_dep_with_satisfied_peer_reqs(dep)
559
530
  dependency_version = version_for_dependency(dep)
560
- version_with_detail =
531
+ release =
561
532
  latest_version_finder(dep)
562
- .possible_versions_with_details
563
- .find do |version_details|
564
- version, details = version_details
533
+ .possible_releases
534
+ .find do |candidate|
535
+ version = candidate.version
565
536
 
566
537
  next false unless !dependency_version || version > dependency_version
567
- next true unless details["peerDependencies"]
568
538
 
569
- details["peerDependencies"].all? do |peer_dep_name, req|
539
+ peer_requirements = Dependabot::Package::NpmRegistryPackage.peer_dependencies(
540
+ details: candidate.details,
541
+ package_name: dep.name,
542
+ version: version.to_s
543
+ )
544
+ peer_requirements.all? do |peer_dep_name, req|
570
545
  # Can't handle multiple peer dependencies
571
546
  next false unless peer_dep_name == dependency.name
572
547
  next git_dependency?(dependency) if req.include?("/")
@@ -578,7 +553,7 @@ module Dependabot
578
553
  false
579
554
  end
580
555
  end
581
- version_with_detail.is_a?(Array) ? version_with_detail.first : version_with_detail
556
+ release&.version
582
557
  end
583
558
 
584
559
  sig { params(dep: Dependabot::Dependency).returns(T::Boolean) }
@@ -589,16 +564,16 @@ module Dependabot
589
564
  .git_dependency?
590
565
  end
591
566
 
592
- sig { returns(T::Array[T::Hash[Symbol, T.nilable(String)]]) }
567
+ sig { returns(T::Array[PeerDependencyConflict]) }
593
568
  def newly_broken_peer_reqs_on_dep
594
569
  relevant_unmet_peer_dependencies
595
- .select { |dep| dep[:requirement_name] == dependency.name }
570
+ .select { |dep| dep.requirement_name == dependency.name }
596
571
  end
597
572
 
598
- sig { returns(T::Array[T::Hash[Symbol, T.nilable(String)]]) }
573
+ sig { returns(T::Array[PeerDependencyConflict]) }
599
574
  def newly_broken_peer_reqs_from_dep
600
575
  relevant_unmet_peer_dependencies
601
- .select { |dep| dep[:requiring_dep_name] == dependency.name }
576
+ .select { |dep| dep.requiring_dep_name == dependency.name }
602
577
  end
603
578
 
604
579
  sig do
@@ -617,14 +592,16 @@ module Dependabot
617
592
  params(
618
593
  path: String,
619
594
  version: T.nilable(T.any(String, Gem::Version))
620
- ).returns(T.nilable(T.any(T::Hash[String, T.untyped], String, T::Array[T::Hash[String, T.untyped]])))
595
+ ).returns(T::Array[PeerDependencyConflict])
621
596
  end
622
597
  def run_checker(path:, version:)
623
598
  bun_lockfiles = lockfiles_for_path(lockfiles: dependency_files_builder.bun_locks, path: path)
624
599
  return run_bun_checker(path: path, version: version) if bun_lockfiles.any?
625
600
 
626
601
  root_bun_lock = dependency_files_builder.root_bun_lock
627
- run_bun_checker(path: path, version: version) if root_bun_lock
602
+ return [] unless root_bun_lock
603
+
604
+ run_bun_checker(path: path, version: version)
628
605
  rescue SharedHelpers::HelperSubprocessFailed => e
629
606
  handle_peer_dependency_errors(e.message)
630
607
  end
@@ -633,7 +610,7 @@ module Dependabot
633
610
  params(
634
611
  path: String,
635
612
  version: T.nilable(T.any(String, Gem::Version))
636
- ).returns(T.untyped)
613
+ ).returns(T::Array[PeerDependencyConflict])
637
614
  end
638
615
  def run_bun_checker(path:, version:)
639
616
  SharedHelpers.with_git_configured(credentials: credentials) do
@@ -644,6 +621,7 @@ module Dependabot
644
621
  )
645
622
  end
646
623
  end
624
+ []
647
625
  end
648
626
 
649
627
  sig do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-bun
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.396.0
4
+ version: 0.397.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - '='
17
17
  - !ruby/object:Gem::Version
18
- version: 0.396.0
18
+ version: 0.397.0
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - '='
24
24
  - !ruby/object:Gem::Version
25
- version: 0.396.0
25
+ version: 0.397.0
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: debug
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -355,7 +355,7 @@ licenses:
355
355
  - MIT
356
356
  metadata:
357
357
  bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
358
- changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.396.0
358
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.397.0
359
359
  rdoc_options: []
360
360
  require_paths:
361
361
  - lib