You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
1.6 KiB
Plaintext

--TEST--
Unlocking a package also unlocks its dependencies when transitive deps are true. But version constraints from other
locked packages still need to be taking into account for loading all necessary versions of these transitive deps.
--REQUEST--
{
"require": {
"root/req1": "*",
"root/req2": "*"
},
"locked": [
{"name": "root/req1", "version": "1.0.0", "require": {"dep/pkg1": "1.*"}},
{"name": "root/req2", "version": "1.0.0", "require": {"dep/pkg2": "1.*"}},
{"name": "dep/pkg1", "version": "1.0.0", "author": "old"},
{"name": "dep/pkg2", "version": "1.0.0"}
],
"allowList": [
"dep/pkg2"
],
"allowTransitiveDeps": true
}
--FIXED--
[
]
--PACKAGE-REPOS--
[
[
{"name": "root/req1", "version": "1.0.0", "require": {"dep/pkg1": "1.*"}},
{"name": "root/req2", "version": "1.0.0", "require": {"dep/pkg2": "1.*"}},
{"name": "dep/pkg1", "version": "1.0.0", "author": "new"},
{"name": "dep/pkg1", "version": "1.0.1"},
{"name": "dep/pkg1", "version": "2.0.0"},
{"name": "dep/pkg1", "version": "3.0.0"},
{"name": "dep/pkg2", "version": "1.0.0"},
{"name": "dep/pkg2", "version": "1.2.0", "require": {"dep/pkg1": "2.*"}}
]
]
--EXPECT--
[
"root/req1-1.0.0.0 (locked)",
"root/req2-1.0.0.0 (locked)",
"dep/pkg2-1.0.0.0",
"dep/pkg2-1.2.0.0",
"dep/pkg1-1.0.0.0",
"dep/pkg1-1.0.1.0",
"dep/pkg1-2.0.0.0"
]
--EXPECT-OPTIMIZED--
[
"root/req1-1.0.0.0 (locked)",
"root/req2-1.0.0.0 (locked)",
"dep/pkg2-1.0.0.0",
"dep/pkg2-1.2.0.0",
"dep/pkg1-1.0.1.0"
]