@@ -34,11 +34,11 @@ public function resolve(array $arguments = [], bool $isRequire = false): array
34
34
$ packages = [];
35
35
foreach ($ arguments as $ i => $ argument ) {
36
36
if ((false !== $ pos = strpos ($ argument , ': ' )) || (false !== $ pos = strpos ($ argument , '= ' ))) {
37
- $ package = $ this ->resolvePackageName (substr ($ argument , 0 , $ pos ), $ i );
37
+ $ package = $ this ->resolvePackageName (substr ($ argument , 0 , $ pos ), $ i, $ isRequire );
38
38
$ version = substr ($ argument , $ pos + 1 );
39
39
$ packages [] = $ package .': ' .$ version ;
40
40
} else {
41
- $ packages [] = $ this ->resolvePackageName ($ argument , $ i );
41
+ $ packages [] = $ this ->resolvePackageName ($ argument , $ i, $ isRequire );
42
42
}
43
43
}
44
44
@@ -84,9 +84,15 @@ public function parseVersion(string $package, string $version, bool $isRequire):
84
84
return ': ' .$ version ;
85
85
}
86
86
87
- private function resolvePackageName (string $ argument , int $ position ): string
87
+ private function resolvePackageName (string $ argument , int $ position, bool $ isRequire ): string
88
88
{
89
- if (false !== strpos ($ argument , '/ ' ) || preg_match (PlatformRepository::PLATFORM_PACKAGE_REGEX , $ argument ) || preg_match ('{(?<=[a-z0-9_/-])\*|\*(?=[a-z0-9_/-])}i ' , $ argument ) || \in_array ($ argument , ['lock ' , 'mirrors ' , 'nothing ' , '' ])) {
89
+ $ skippedPackages = ['mirrors ' , 'nothing ' , '' ];
90
+
91
+ if (!$ isRequire ) {
92
+ $ skippedPackages [] = 'lock ' ;
93
+ }
94
+
95
+ if (false !== strpos ($ argument , '/ ' ) || preg_match (PlatformRepository::PLATFORM_PACKAGE_REGEX , $ argument ) || preg_match ('{(?<=[a-z0-9_/-])\*|\*(?=[a-z0-9_/-])}i ' , $ argument ) || \in_array ($ argument , $ skippedPackages )) {
90
96
return $ argument ;
91
97
}
92
98
0 commit comments