@@ -13,19 +13,32 @@ class Dev
13
13
// @phpstan-ignore-next-line
14
14
public static function preUpdate (Event $ event ): void
15
15
{
16
+ $ dir = \dirname (__DIR__ );
16
17
// @phpstan-ignore-next-line
17
18
$ package = $ event ->getComposer ()->getPackage ();
18
19
$ requires = $ package ->getRequires ();
19
20
foreach ($ requires as $ name => &$ require )
20
21
{
21
- if ('imiphp/ ' !== substr ($ name , 0 , 7 ))
22
+ if ('imiphp/ ' !== substr ($ name , 0 , 7 ) || ! is_dir ( \dirname ( $ dir ) . ' / ' . substr ( $ name , 11 )) )
22
23
{
23
24
continue ;
24
25
}
25
26
// @phpstan-ignore-next-line
26
27
$ require = new Link ($ require ->getSource (), $ require ->getTarget (), new Constraint ('> ' , '0 ' ), $ require ->getDescription ());
27
28
}
28
29
$ package ->setRequires ($ requires );
30
+
31
+ $ requires = $ package ->getDevRequires ();
32
+ foreach ($ requires as $ name => &$ require )
33
+ {
34
+ if ('imiphp/ ' !== substr ($ name , 0 , 7 ) || !is_dir (\dirname ($ dir ) . '/ ' . substr ($ name , 11 )))
35
+ {
36
+ continue ;
37
+ }
38
+ // @phpstan-ignore-next-line
39
+ $ require = new Link ($ require ->getSource (), $ require ->getTarget (), new Constraint ('> ' , '0 ' ), $ require ->getDescription ());
40
+ }
41
+ $ package ->setDevRequires ($ requires );
29
42
}
30
43
31
44
// @phpstan-ignore-next-line
@@ -35,15 +48,15 @@ public static function postUpdate(Event $event): void
35
48
36
49
// @phpstan-ignore-next-line
37
50
$ package = $ event ->getComposer ()->getPackage ();
38
- $ requires = $ package ->getRequires ();
51
+ $ requires = array_merge ( $ package ->getRequires (), $ package -> getDevRequires () );
39
52
foreach ($ requires as $ name => $ require )
40
53
{
41
- if ('imiphp/ ' !== substr ($ name , 0 , 7 ))
54
+ $ componentDir = \dirname ($ dir ) . '/ ' . substr ($ name , 11 );
55
+ if ('imiphp/ ' !== substr ($ name , 0 , 7 ) || !is_dir ($ componentDir ))
42
56
{
43
57
continue ;
44
58
}
45
59
46
- $ componentDir = \dirname ($ dir ) . '/ ' . substr ($ name , 11 );
47
60
$ path = "{$ dir }/vendor/ {$ name }" ;
48
61
$ cmd = "rm -rf {$ path } && ln -s -f {$ componentDir } {$ path }" ;
49
62
echo '[cmd] ' , $ cmd , \PHP_EOL ;
0 commit comments