dependabot-npm_and_yarn 0.387.0 → 0.388.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 +4 -4
- data/helpers/package-lock.json +41 -65
- data/helpers/test/npm/fixtures/vulnerability-auditor/update-needed-across-two-versions/package-lock.json +3 -3
- data/helpers/test/npm6/fixtures/conflicting-dependency-parser/deeply-nested/package-lock.json +4 -3
- data/helpers/test/yarn/fixtures/conflicting-dependency-parser/deeply-nested/yarn.lock +6 -6
- data/lib/dependabot/npm_and_yarn/file_updater/pnpm_workspace_updater.rb +10 -2
- data/lib/dependabot/npm_and_yarn/helpers.rb +27 -9
- data/lib/dependabot/npm_and_yarn/update_checker/vulnerability_auditor.rb +25 -17
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f40ec37d2f3b63d9c8a3f0484174fbb11a11f115d1e74646c130ae9e4577d70e
|
|
4
|
+
data.tar.gz: ad4b4183265d52c0c40da40cfc6c0e5eea2b7bdbe6256a07a6ca875274895def
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f6d471d55e12b7fa3cd3e3742f09ea8ee376db3d0fe1324bc88e6a6372451d9fc4c225ae60a9e0c4aa6952fb4bcae7a82fbc9a7852d6171105a0523050dbef97
|
|
7
|
+
data.tar.gz: e7f31e3549ff1463a774486995863b9352f99a55116b75336954be3599ce2bdbb795da6c89bcc1909582953e3538c3ddcd77bc699f3ac9b327ca091e822ada84
|
data/helpers/package-lock.json
CHANGED
|
@@ -3178,9 +3178,9 @@
|
|
|
3178
3178
|
}
|
|
3179
3179
|
},
|
|
3180
3180
|
"node_modules/@sigstore/core": {
|
|
3181
|
-
"version": "3.1
|
|
3182
|
-
"resolved": "https://registry.npmjs.org/@sigstore/core/-/core-3.1.
|
|
3183
|
-
"integrity": "sha512-
|
|
3181
|
+
"version": "3.2.1",
|
|
3182
|
+
"resolved": "https://registry.npmjs.org/@sigstore/core/-/core-3.2.1.tgz",
|
|
3183
|
+
"integrity": "sha512-qRsxPnCrbC/puegGxKuynfnxgLiHqWStrSjxkoB4YKqq3Z3s4cyZyj42ZdWFAEblNP65C+rBH8EuREHIXoi83g==",
|
|
3184
3184
|
"engines": {
|
|
3185
3185
|
"node": "^20.17.0 || >=22.9.0"
|
|
3186
3186
|
}
|
|
@@ -3222,12 +3222,12 @@
|
|
|
3222
3222
|
}
|
|
3223
3223
|
},
|
|
3224
3224
|
"node_modules/@sigstore/verify": {
|
|
3225
|
-
"version": "3.1.
|
|
3226
|
-
"resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-3.1.
|
|
3227
|
-
"integrity": "sha512-
|
|
3225
|
+
"version": "3.1.1",
|
|
3226
|
+
"resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-3.1.1.tgz",
|
|
3227
|
+
"integrity": "sha512-qv7+G3J2cc6wwFj3yKvXOamzqhMwSk1ogPGmhpS8iXllcPrJaIIBA+4HbttlHVu1pqWTdmaCH/WE7UOC51kdoA==",
|
|
3228
3228
|
"dependencies": {
|
|
3229
3229
|
"@sigstore/bundle": "^4.0.0",
|
|
3230
|
-
"@sigstore/core": "^3.1
|
|
3230
|
+
"@sigstore/core": "^3.2.1",
|
|
3231
3231
|
"@sigstore/protobuf-specs": "^0.5.0"
|
|
3232
3232
|
},
|
|
3233
3233
|
"engines": {
|
|
@@ -7027,27 +7027,13 @@
|
|
|
7027
7027
|
}
|
|
7028
7028
|
},
|
|
7029
7029
|
"node_modules/ip-address": {
|
|
7030
|
-
"version": "
|
|
7031
|
-
"resolved": "https://registry.npmjs.org/ip-address/-/ip-address-
|
|
7032
|
-
"integrity": "sha512
|
|
7033
|
-
"dependencies": {
|
|
7034
|
-
"jsbn": "1.1.0",
|
|
7035
|
-
"sprintf-js": "^1.1.3"
|
|
7036
|
-
},
|
|
7030
|
+
"version": "10.2.0",
|
|
7031
|
+
"resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.2.0.tgz",
|
|
7032
|
+
"integrity": "sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==",
|
|
7037
7033
|
"engines": {
|
|
7038
7034
|
"node": ">= 12"
|
|
7039
7035
|
}
|
|
7040
7036
|
},
|
|
7041
|
-
"node_modules/ip-address/node_modules/jsbn": {
|
|
7042
|
-
"version": "1.1.0",
|
|
7043
|
-
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz",
|
|
7044
|
-
"integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A=="
|
|
7045
|
-
},
|
|
7046
|
-
"node_modules/ip-address/node_modules/sprintf-js": {
|
|
7047
|
-
"version": "1.1.3",
|
|
7048
|
-
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz",
|
|
7049
|
-
"integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA=="
|
|
7050
|
-
},
|
|
7051
7037
|
"node_modules/is-arguments": {
|
|
7052
7038
|
"version": "1.1.0",
|
|
7053
7039
|
"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz",
|
|
@@ -15689,11 +15675,11 @@
|
|
|
15689
15675
|
}
|
|
15690
15676
|
},
|
|
15691
15677
|
"node_modules/socks": {
|
|
15692
|
-
"version": "2.8.
|
|
15693
|
-
"resolved": "https://registry.npmjs.org/socks/-/socks-2.8.
|
|
15694
|
-
"integrity": "sha512-
|
|
15678
|
+
"version": "2.8.9",
|
|
15679
|
+
"resolved": "https://registry.npmjs.org/socks/-/socks-2.8.9.tgz",
|
|
15680
|
+
"integrity": "sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==",
|
|
15695
15681
|
"dependencies": {
|
|
15696
|
-
"ip-address": "^
|
|
15682
|
+
"ip-address": "^10.1.1",
|
|
15697
15683
|
"smart-buffer": "^4.2.0"
|
|
15698
15684
|
},
|
|
15699
15685
|
"engines": {
|
|
@@ -16916,11 +16902,17 @@
|
|
|
16916
16902
|
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
|
|
16917
16903
|
},
|
|
16918
16904
|
"node_modules/yaml": {
|
|
16919
|
-
"version": "2.
|
|
16920
|
-
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.
|
|
16921
|
-
"integrity": "sha512-
|
|
16905
|
+
"version": "2.9.0",
|
|
16906
|
+
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz",
|
|
16907
|
+
"integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==",
|
|
16908
|
+
"bin": {
|
|
16909
|
+
"yaml": "bin.mjs"
|
|
16910
|
+
},
|
|
16922
16911
|
"engines": {
|
|
16923
|
-
"node": ">= 14"
|
|
16912
|
+
"node": ">= 14.6"
|
|
16913
|
+
},
|
|
16914
|
+
"funding": {
|
|
16915
|
+
"url": "https://github.com/sponsors/eemeli"
|
|
16924
16916
|
}
|
|
16925
16917
|
},
|
|
16926
16918
|
"node_modules/yargs": {
|
|
@@ -19276,9 +19268,9 @@
|
|
|
19276
19268
|
}
|
|
19277
19269
|
},
|
|
19278
19270
|
"@sigstore/core": {
|
|
19279
|
-
"version": "3.1
|
|
19280
|
-
"resolved": "https://registry.npmjs.org/@sigstore/core/-/core-3.1.
|
|
19281
|
-
"integrity": "sha512-
|
|
19271
|
+
"version": "3.2.1",
|
|
19272
|
+
"resolved": "https://registry.npmjs.org/@sigstore/core/-/core-3.2.1.tgz",
|
|
19273
|
+
"integrity": "sha512-qRsxPnCrbC/puegGxKuynfnxgLiHqWStrSjxkoB4YKqq3Z3s4cyZyj42ZdWFAEblNP65C+rBH8EuREHIXoi83g=="
|
|
19282
19274
|
},
|
|
19283
19275
|
"@sigstore/protobuf-specs": {
|
|
19284
19276
|
"version": "0.5.0",
|
|
@@ -19308,12 +19300,12 @@
|
|
|
19308
19300
|
}
|
|
19309
19301
|
},
|
|
19310
19302
|
"@sigstore/verify": {
|
|
19311
|
-
"version": "3.1.
|
|
19312
|
-
"resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-3.1.
|
|
19313
|
-
"integrity": "sha512-
|
|
19303
|
+
"version": "3.1.1",
|
|
19304
|
+
"resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-3.1.1.tgz",
|
|
19305
|
+
"integrity": "sha512-qv7+G3J2cc6wwFj3yKvXOamzqhMwSk1ogPGmhpS8iXllcPrJaIIBA+4HbttlHVu1pqWTdmaCH/WE7UOC51kdoA==",
|
|
19314
19306
|
"requires": {
|
|
19315
19307
|
"@sigstore/bundle": "^4.0.0",
|
|
19316
|
-
"@sigstore/core": "^3.1
|
|
19308
|
+
"@sigstore/core": "^3.2.1",
|
|
19317
19309
|
"@sigstore/protobuf-specs": "^0.5.0"
|
|
19318
19310
|
}
|
|
19319
19311
|
},
|
|
@@ -22067,25 +22059,9 @@
|
|
|
22067
22059
|
}
|
|
22068
22060
|
},
|
|
22069
22061
|
"ip-address": {
|
|
22070
|
-
"version": "
|
|
22071
|
-
"resolved": "https://registry.npmjs.org/ip-address/-/ip-address-
|
|
22072
|
-
"integrity": "sha512
|
|
22073
|
-
"requires": {
|
|
22074
|
-
"jsbn": "1.1.0",
|
|
22075
|
-
"sprintf-js": "^1.1.3"
|
|
22076
|
-
},
|
|
22077
|
-
"dependencies": {
|
|
22078
|
-
"jsbn": {
|
|
22079
|
-
"version": "1.1.0",
|
|
22080
|
-
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz",
|
|
22081
|
-
"integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A=="
|
|
22082
|
-
},
|
|
22083
|
-
"sprintf-js": {
|
|
22084
|
-
"version": "1.1.3",
|
|
22085
|
-
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz",
|
|
22086
|
-
"integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA=="
|
|
22087
|
-
}
|
|
22088
|
-
}
|
|
22062
|
+
"version": "10.2.0",
|
|
22063
|
+
"resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.2.0.tgz",
|
|
22064
|
+
"integrity": "sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA=="
|
|
22089
22065
|
},
|
|
22090
22066
|
"is-arguments": {
|
|
22091
22067
|
"version": "1.1.0",
|
|
@@ -28494,11 +28470,11 @@
|
|
|
28494
28470
|
"integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg=="
|
|
28495
28471
|
},
|
|
28496
28472
|
"socks": {
|
|
28497
|
-
"version": "2.8.
|
|
28498
|
-
"resolved": "https://registry.npmjs.org/socks/-/socks-2.8.
|
|
28499
|
-
"integrity": "sha512-
|
|
28473
|
+
"version": "2.8.9",
|
|
28474
|
+
"resolved": "https://registry.npmjs.org/socks/-/socks-2.8.9.tgz",
|
|
28475
|
+
"integrity": "sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==",
|
|
28500
28476
|
"requires": {
|
|
28501
|
-
"ip-address": "^
|
|
28477
|
+
"ip-address": "^10.1.1",
|
|
28502
28478
|
"smart-buffer": "^4.2.0"
|
|
28503
28479
|
}
|
|
28504
28480
|
},
|
|
@@ -29383,9 +29359,9 @@
|
|
|
29383
29359
|
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
|
|
29384
29360
|
},
|
|
29385
29361
|
"yaml": {
|
|
29386
|
-
"version": "2.
|
|
29387
|
-
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.
|
|
29388
|
-
"integrity": "sha512-
|
|
29362
|
+
"version": "2.9.0",
|
|
29363
|
+
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz",
|
|
29364
|
+
"integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA=="
|
|
29389
29365
|
},
|
|
29390
29366
|
"yargs": {
|
|
29391
29367
|
"version": "17.7.2",
|
|
@@ -68,9 +68,9 @@
|
|
|
68
68
|
}
|
|
69
69
|
},
|
|
70
70
|
"node_modules/ws": {
|
|
71
|
-
"version": "8.
|
|
72
|
-
"resolved": "https://registry.npmjs.org/ws/-/ws-8.
|
|
73
|
-
"integrity": "sha512
|
|
71
|
+
"version": "8.21.1",
|
|
72
|
+
"resolved": "https://registry.npmjs.org/ws/-/ws-8.21.1.tgz",
|
|
73
|
+
"integrity": "sha512-+0NTnW77fFN/DjQi6k/Sq/Yvk4Sgajw7urW8V+asjXnRgDs9gyGkdb7EzgfhA4goXsRIZKE28fzIXBHEzhuiWw==",
|
|
74
74
|
"license": "MIT",
|
|
75
75
|
"engines": {
|
|
76
76
|
"node": ">=10.0.0"
|
data/helpers/test/npm6/fixtures/conflicting-dependency-parser/deeply-nested/package-lock.json
CHANGED
|
@@ -565,9 +565,10 @@
|
|
|
565
565
|
"integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ=="
|
|
566
566
|
},
|
|
567
567
|
"node_modules/lodash": {
|
|
568
|
-
"version": "4.
|
|
569
|
-
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.
|
|
570
|
-
"integrity": "sha512-
|
|
568
|
+
"version": "4.18.1",
|
|
569
|
+
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz",
|
|
570
|
+
"integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==",
|
|
571
|
+
"license": "MIT"
|
|
571
572
|
},
|
|
572
573
|
"node_modules/lru-queue": {
|
|
573
574
|
"version": "0.1.0",
|
|
@@ -129,9 +129,9 @@ balanced-match@^1.0.0:
|
|
|
129
129
|
integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
|
|
130
130
|
|
|
131
131
|
brace-expansion@^1.1.7:
|
|
132
|
-
version "1.1.
|
|
133
|
-
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.
|
|
134
|
-
integrity sha512-
|
|
132
|
+
version "1.1.16"
|
|
133
|
+
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.16.tgz#723d3a30c0558c225abc9fc479a73e14e26c3c2f"
|
|
134
|
+
integrity sha512-IDw48K2/2kRkg9LdJxurvq3lV3aBgq0REY89duEqFRthjlPdXHKMj7EnQOXVckxzgisinf3nHfrcE2FufFLXMw==
|
|
135
135
|
dependencies:
|
|
136
136
|
balanced-match "^1.0.0"
|
|
137
137
|
concat-map "0.0.1"
|
|
@@ -366,9 +366,9 @@ is-promise@^2.1:
|
|
|
366
366
|
integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==
|
|
367
367
|
|
|
368
368
|
lodash@^4.17.14:
|
|
369
|
-
version "4.
|
|
370
|
-
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.
|
|
371
|
-
integrity sha512-
|
|
369
|
+
version "4.18.1"
|
|
370
|
+
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.18.1.tgz#ff2b66c1f6326d59513de2407bf881439812771c"
|
|
371
|
+
integrity sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==
|
|
372
372
|
|
|
373
373
|
lru-queue@0.1:
|
|
374
374
|
version "0.1.0"
|
|
@@ -71,8 +71,8 @@ module Dependabot
|
|
|
71
71
|
).returns(String)
|
|
72
72
|
end
|
|
73
73
|
def replace_version_in_content(content:, dependency:, old_requirement:, new_requirement:)
|
|
74
|
-
old_version =
|
|
75
|
-
new_version =
|
|
74
|
+
old_version = string_requirement(old_requirement)
|
|
75
|
+
new_version = string_requirement(new_requirement)
|
|
76
76
|
|
|
77
77
|
pattern = build_replacement_pattern(
|
|
78
78
|
dependency_name: dependency.name,
|
|
@@ -87,6 +87,14 @@ module Dependabot
|
|
|
87
87
|
content.gsub(pattern, replacement)
|
|
88
88
|
end
|
|
89
89
|
|
|
90
|
+
sig { params(requirement: Dependabot::DependencyRequirement).returns(String) }
|
|
91
|
+
def string_requirement(requirement)
|
|
92
|
+
value = requirement.requirement
|
|
93
|
+
return value if value.is_a?(String)
|
|
94
|
+
|
|
95
|
+
raise TypeError, "pnpm workspace requirement must be a string"
|
|
96
|
+
end
|
|
97
|
+
|
|
90
98
|
sig { params(dependency_name: String, version: String).returns(Regexp) }
|
|
91
99
|
def build_replacement_pattern(dependency_name:, version:)
|
|
92
100
|
/(["']?)#{dependency_name}\1:\s*(["']?)#{Regexp.escape(version)}\2/
|
|
@@ -504,11 +504,11 @@ module Dependabot
|
|
|
504
504
|
def self.package_manager_install(name, version, env: {})
|
|
505
505
|
return "Corepack does not support #{name}" unless corepack_supported_package_manager?(name)
|
|
506
506
|
|
|
507
|
-
|
|
507
|
+
run_corepack_command(
|
|
508
508
|
"corepack install #{name}@#{version} --global --cache-only",
|
|
509
509
|
fingerprint: "corepack install <name>@<version> --global --cache-only",
|
|
510
510
|
env: env
|
|
511
|
-
)
|
|
511
|
+
)
|
|
512
512
|
end
|
|
513
513
|
|
|
514
514
|
# Prepare the package manager for use by using corepack
|
|
@@ -516,11 +516,11 @@ module Dependabot
|
|
|
516
516
|
def self.package_manager_activate(name, version, env: {})
|
|
517
517
|
return "Corepack does not support #{name}" unless corepack_supported_package_manager?(name)
|
|
518
518
|
|
|
519
|
-
|
|
519
|
+
run_corepack_command(
|
|
520
520
|
"corepack prepare #{name}@#{version} --activate",
|
|
521
521
|
fingerprint: "corepack prepare <name>@<version> --activate",
|
|
522
522
|
env: env
|
|
523
|
-
)
|
|
523
|
+
)
|
|
524
524
|
end
|
|
525
525
|
|
|
526
526
|
# Fetch the currently installed version of the package manager directly
|
|
@@ -565,12 +565,30 @@ module Dependabot
|
|
|
565
565
|
output_observer: nil,
|
|
566
566
|
env: nil
|
|
567
567
|
)
|
|
568
|
-
|
|
569
|
-
|
|
568
|
+
run_corepack_command(
|
|
569
|
+
"corepack #{name} #{command}",
|
|
570
|
+
fingerprint: "corepack #{name} #{fingerprint || command}",
|
|
571
|
+
output_observer: output_observer,
|
|
572
|
+
env: env
|
|
573
|
+
)
|
|
574
|
+
end
|
|
570
575
|
|
|
576
|
+
# Run a corepack shell command, retrying once with signature verification
|
|
577
|
+
# disabled when a configured private registry strips `dist.signatures`
|
|
578
|
+
# from its version endpoint (a known Artifactory behaviour that otherwise
|
|
579
|
+
# aborts the run with COREPACK_SIGNATURE_METADATA_ERROR).
|
|
580
|
+
sig do
|
|
581
|
+
params(
|
|
582
|
+
full_command: String,
|
|
583
|
+
fingerprint: String,
|
|
584
|
+
output_observer: CommandHelpers::OutputObserver,
|
|
585
|
+
env: T.nilable(T::Hash[String, String])
|
|
586
|
+
).returns(String)
|
|
587
|
+
end
|
|
588
|
+
def self.run_corepack_command(full_command, fingerprint:, output_observer: nil, env: nil)
|
|
571
589
|
run_corepack_shell_command(
|
|
572
590
|
full_command,
|
|
573
|
-
fingerprint:
|
|
591
|
+
fingerprint: fingerprint,
|
|
574
592
|
output_observer: output_observer,
|
|
575
593
|
env: env
|
|
576
594
|
)
|
|
@@ -587,8 +605,8 @@ module Dependabot
|
|
|
587
605
|
)
|
|
588
606
|
|
|
589
607
|
return run_corepack_shell_command(
|
|
590
|
-
|
|
591
|
-
fingerprint:
|
|
608
|
+
full_command,
|
|
609
|
+
fingerprint: fingerprint,
|
|
592
610
|
output_observer: output_observer,
|
|
593
611
|
env: retry_env
|
|
594
612
|
)
|
|
@@ -271,23 +271,31 @@ module Dependabot
|
|
|
271
271
|
blockers = audit_result["blocking_dependencies"]
|
|
272
272
|
return generic_fix_unavailable_message(dependency) if blockers.nil? || blockers.empty?
|
|
273
273
|
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
"
|
|
289
|
-
|
|
290
|
-
|
|
274
|
+
# Group by the top-level dependency a customer would actually need to act on, rather than
|
|
275
|
+
# listing one line per (parent, version, requirement) tuple. A single top-level package
|
|
276
|
+
# (e.g. jest) commonly pulls in the vulnerable dependency via several different parents/
|
|
277
|
+
# versions, and repeating each of those separately buries the actionable information.
|
|
278
|
+
grouped_by_ancestor = blockers.group_by { |blocker| blocker["top_level_ancestor"] }
|
|
279
|
+
|
|
280
|
+
ancestor_lines = grouped_by_ancestor.sort.map do |ancestor, group|
|
|
281
|
+
requirements = group.map do |blocker|
|
|
282
|
+
blocker_name = blocker["name"]
|
|
283
|
+
detail = "#{dependency.name}@#{blocker['requirement']}"
|
|
284
|
+
detail += " (via #{blocker_name}@#{blocker['version']})" if blocker_name != ancestor
|
|
285
|
+
detail
|
|
286
|
+
end.uniq.join(" and ")
|
|
287
|
+
|
|
288
|
+
" - #{ancestor}: requires #{requirements}"
|
|
289
|
+
end.join("\n")
|
|
290
|
+
|
|
291
|
+
ancestors = grouped_by_ancestor.keys.sort.join(", ")
|
|
292
|
+
|
|
293
|
+
"#{dependency.name} can't be automatically updated to a non-vulnerable version. The following " \
|
|
294
|
+
"top-level dependencies still require a vulnerable #{dependency.name} and need to be updated:\n" \
|
|
295
|
+
"#{ancestor_lines}\n\n" \
|
|
296
|
+
"To resolve this, update #{ancestors} to a release that depends on a non-vulnerable " \
|
|
297
|
+
"#{dependency.name}, or add an override/resolution pinning #{dependency.name} to a non-vulnerable " \
|
|
298
|
+
"version."
|
|
291
299
|
end
|
|
292
300
|
|
|
293
301
|
sig { params(dependency: Dependabot::Dependency).returns(String) }
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dependabot-npm_and_yarn
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.388.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.
|
|
18
|
+
version: 0.388.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.
|
|
25
|
+
version: 0.388.0
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: debug
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -381,7 +381,7 @@ licenses:
|
|
|
381
381
|
- MIT
|
|
382
382
|
metadata:
|
|
383
383
|
bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
|
|
384
|
-
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.
|
|
384
|
+
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.388.0
|
|
385
385
|
rdoc_options: []
|
|
386
386
|
require_paths:
|
|
387
387
|
- lib
|