Skip to content

Commit fe7da7a

Browse files
authored
Merge pull request #5706 from dependabot/jurre/yarn-berry-peer-deps
Add test for peer dependency resolution in yarn berry
2 parents 41e2556 + 8aff3c0 commit fe7da7a

File tree

3 files changed

+216
-0
lines changed

3 files changed

+216
-0
lines changed

npm_and_yarn/spec/dependabot/npm_and_yarn/update_checker/version_resolver_spec.rb

+22
Original file line numberDiff line numberDiff line change
@@ -719,6 +719,28 @@
719719
end
720720
end
721721

722+
context "with a yarn berry lockfile" do
723+
context "updating a dependency with a peer requirement" do
724+
let(:dependency_files) { project_dependency_files("yarn_berry/peer_dependency") }
725+
let(:latest_allowable_version) { Gem::Version.new("16.3.1") }
726+
let(:dependency) do
727+
Dependabot::Dependency.new(
728+
name: "react-dom",
729+
version: "15.2.0",
730+
package_manager: "npm_and_yarn",
731+
requirements: [{
732+
file: "package.json",
733+
requirement: "^15.2.0",
734+
groups: ["dependencies"],
735+
source: { type: "registry", url: "https://registry.npmjs.org" }
736+
}]
737+
)
738+
end
739+
740+
it { is_expected.to eq(Gem::Version.new("15.2.0")) }
741+
end
742+
end
743+
722744
context "with a yarn.lock" do
723745
context "updating a dependency without peer dependency issues" do
724746
let(:dependency_files) { project_dependency_files("yarn/simple") }
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"name": "test",
3+
"version": "1.0.0",
4+
"description": "",
5+
"main": "index.js",
6+
"scripts": {
7+
"test": "echo \"Error: no test specified\" && exit 1"
8+
},
9+
"repository": {
10+
"type": "git",
11+
"url": "git+https://github.com/waltfy/PROTO_TEST.git"
12+
},
13+
"author": "",
14+
"license": "ISC",
15+
"bugs": {
16+
"url": "https://github.com/waltfy/PROTO_TEST/issues"
17+
},
18+
"homepage": "https://github.com/waltfy/PROTO_TEST#readme",
19+
"dependencies": {
20+
"react": "^15.2.0",
21+
"react-dom": "^15.2.0"
22+
}
23+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
# This file is generated by running "yarn install" inside your project.
2+
# Manual changes might be lost - proceed with caution!
3+
4+
__metadata:
5+
version: 6
6+
cacheKey: 8
7+
8+
"asap@npm:~2.0.3":
9+
version: 2.0.6
10+
resolution: "asap@npm:2.0.6"
11+
checksum: b296c92c4b969e973260e47523207cd5769abd27c245a68c26dc7a0fe8053c55bb04360237cb51cab1df52be939da77150ace99ad331fb7fb13b3423ed73ff3d
12+
languageName: node
13+
linkType: hard
14+
15+
"core-js@npm:^1.0.0":
16+
version: 1.2.7
17+
resolution: "core-js@npm:1.2.7"
18+
checksum: 0b76371bfa98708351cde580f9287e2360d2209920e738ae950ae74ad08639a2e063541020bf666c28778956fc356ed9fe56d962129c88a87a6a4a0612526c75
19+
languageName: node
20+
linkType: hard
21+
22+
"encoding@npm:^0.1.11":
23+
version: 0.1.12
24+
resolution: "encoding@npm:0.1.12"
25+
dependencies:
26+
iconv-lite: ~0.4.13
27+
checksum: 96df688a93821e866bea19dd689863b1f9e07ef1c15321dde1fbcb8008ed7c785c48b248c4def01367780d2637c459b8ffa988de9647afe4200b003b1ac369ef
28+
languageName: node
29+
linkType: hard
30+
31+
"fbjs@npm:^0.8.1":
32+
version: 0.8.17
33+
resolution: "fbjs@npm:0.8.17"
34+
dependencies:
35+
core-js: ^1.0.0
36+
isomorphic-fetch: ^2.1.1
37+
loose-envify: ^1.0.0
38+
object-assign: ^4.1.0
39+
promise: ^7.1.1
40+
setimmediate: ^1.0.5
41+
ua-parser-js: ^0.7.18
42+
checksum: e969aeb175ccf97d8818aab9907a78f253568e0cc1b8762621c5d235bf031419d7e700f16f7711e89dfd1e0fce2b87a05f8a2800f18df0a96258f0780615fd8b
43+
languageName: node
44+
linkType: hard
45+
46+
"iconv-lite@npm:~0.4.13":
47+
version: 0.4.24
48+
resolution: "iconv-lite@npm:0.4.24"
49+
dependencies:
50+
safer-buffer: ">= 2.1.2 < 3"
51+
checksum: bd9f120f5a5b306f0bc0b9ae1edeb1577161503f5f8252a20f1a9e56ef8775c9959fd01c55f2d3a39d9a8abaf3e30c1abeb1895f367dcbbe0a8fd1c9ca01c4f6
52+
languageName: node
53+
linkType: hard
54+
55+
"is-stream@npm:^1.0.1":
56+
version: 1.1.0
57+
resolution: "is-stream@npm:1.1.0"
58+
checksum: 063c6bec9d5647aa6d42108d4c59723d2bd4ae42135a2d4db6eadbd49b7ea05b750fd69d279e5c7c45cf9da753ad2c00d8978be354d65aa9f6bb434969c6a2ae
59+
languageName: node
60+
linkType: hard
61+
62+
"isomorphic-fetch@npm:^2.1.1":
63+
version: 2.2.1
64+
resolution: "isomorphic-fetch@npm:2.2.1"
65+
dependencies:
66+
node-fetch: ^1.0.1
67+
whatwg-fetch: ">=0.10.0"
68+
checksum: bb5daa7c3785d6742f4379a81e55b549a469503f7c9bf9411b48592e86632cf5e8fe8ea878dba185c0f33eb7c510c23abdeb55aebfdf5d3c70f031ced68c5424
69+
languageName: node
70+
linkType: hard
71+
72+
"js-tokens@npm:^3.0.0 || ^4.0.0":
73+
version: 4.0.0
74+
resolution: "js-tokens@npm:4.0.0"
75+
checksum: 8a95213a5a77deb6cbe94d86340e8d9ace2b93bc367790b260101d2f36a2eaf4e4e22d9fa9cf459b38af3a32fb4190e638024cf82ec95ef708680e405ea7cc78
76+
languageName: node
77+
linkType: hard
78+
79+
"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0":
80+
version: 1.4.0
81+
resolution: "loose-envify@npm:1.4.0"
82+
dependencies:
83+
js-tokens: ^3.0.0 || ^4.0.0
84+
bin:
85+
loose-envify: cli.js
86+
checksum: 6517e24e0cad87ec9888f500c5b5947032cdfe6ef65e1c1936a0c48a524b81e65542c9c3edc91c97d5bddc806ee2a985dbc79be89215d613b1de5db6d1cfe6f4
87+
languageName: node
88+
linkType: hard
89+
90+
"node-fetch@npm:^1.0.1":
91+
version: 1.7.3
92+
resolution: "node-fetch@npm:1.7.3"
93+
dependencies:
94+
encoding: ^0.1.11
95+
is-stream: ^1.0.1
96+
checksum: 3bb0528c05d541316ebe52770d71ee25a6dce334df4231fd55df41a644143e07f068637488c18a5b0c43f05041dbd3346752f9e19b50df50569a802484544d5b
97+
languageName: node
98+
linkType: hard
99+
100+
"object-assign@npm:^4.1.0":
101+
version: 4.1.1
102+
resolution: "object-assign@npm:4.1.1"
103+
checksum: fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f
104+
languageName: node
105+
linkType: hard
106+
107+
"promise@npm:^7.1.1":
108+
version: 7.3.1
109+
resolution: "promise@npm:7.3.1"
110+
dependencies:
111+
asap: ~2.0.3
112+
checksum: 475bb069130179fbd27ed2ab45f26d8862376a137a57314cf53310bdd85cc986a826fd585829be97ebc0aaf10e9d8e68be1bfe5a4a0364144b1f9eedfa940cf1
113+
languageName: node
114+
linkType: hard
115+
116+
"react-dom@npm:^15.2.0":
117+
version: 15.2.0
118+
resolution: "react-dom@npm:15.2.0"
119+
peerDependencies:
120+
react: ^15.2.0
121+
checksum: 42148f05fa29e101451e1109ada8716aceb593c1112233cc3e7014f0bd7783ff1ba998e6f6458df7aca49a4e1019e4cba5414ca4cbf0460e5e75d7d417edcad9
122+
languageName: node
123+
linkType: hard
124+
125+
"react@npm:^15.2.0":
126+
version: 15.2.0
127+
resolution: "react@npm:15.2.0"
128+
dependencies:
129+
fbjs: ^0.8.1
130+
loose-envify: ^1.1.0
131+
object-assign: ^4.1.0
132+
checksum: eb1be1f0b35e9fd45df4cb84967532e205a3ebf2f7aedc4295ab0fe43b0b909ce8a2a0a02978db5a949c1da26c63dc0090839be8badfd7b028cb33db1cffd4cc
133+
languageName: node
134+
linkType: hard
135+
136+
"safer-buffer@npm:>= 2.1.2 < 3":
137+
version: 2.1.2
138+
resolution: "safer-buffer@npm:2.1.2"
139+
checksum: cab8f25ae6f1434abee8d80023d7e72b598cf1327164ddab31003c51215526801e40b66c5e65d658a0af1e9d6478cadcb4c745f4bd6751f97d8644786c0978b0
140+
languageName: node
141+
linkType: hard
142+
143+
"setimmediate@npm:^1.0.5":
144+
version: 1.0.5
145+
resolution: "setimmediate@npm:1.0.5"
146+
checksum: c9a6f2c5b51a2dabdc0247db9c46460152ffc62ee139f3157440bd48e7c59425093f42719ac1d7931f054f153e2d26cf37dfeb8da17a794a58198a2705e527fd
147+
languageName: node
148+
linkType: hard
149+
150+
"test@workspace:.":
151+
version: 0.0.0-use.local
152+
resolution: "test@workspace:."
153+
dependencies:
154+
react: ^15.2.0
155+
react-dom: ^15.2.0
156+
languageName: unknown
157+
linkType: soft
158+
159+
"ua-parser-js@npm:^0.7.18":
160+
version: 0.7.19
161+
resolution: "ua-parser-js@npm:0.7.19"
162+
checksum: 6122d39209c5533d318997752a65b0f571427639dda61f06db257c93378a454a7e120c1d4b417a28ed1a191bbe984931cf948a1da3132d5e07cffc76fac228d0
163+
languageName: node
164+
linkType: hard
165+
166+
"whatwg-fetch@npm:>=0.10.0":
167+
version: 3.0.0
168+
resolution: "whatwg-fetch@npm:3.0.0"
169+
checksum: dcb90ab919e742d275c32d397d7480f6981da4c1b49961f0d0a2fa6825325b553fee2d793bc38ed85b9bcc8c50de39802440e2480fe40243067b3dab228c52c3
170+
languageName: node
171+
linkType: hard

0 commit comments

Comments
 (0)