@@ -13,19 +13,32 @@ class Dev
1313 // @phpstan-ignore-next-line
1414 public static function preUpdate (Event $ event ): void
1515 {
16+ $ dir = \dirname (__DIR__ );
1617 // @phpstan-ignore-next-line
1718 $ package = $ event ->getComposer ()->getPackage ();
1819 $ requires = $ package ->getRequires ();
1920 foreach ($ requires as $ name => &$ require )
2021 {
21- if ('imiphp/ ' !== substr ($ name , 0 , 7 ))
22+ if ('imiphp/ ' !== substr ($ name , 0 , 7 ) || ! is_dir ( \dirname ( $ dir ) . ' / ' . substr ( $ name , 11 )) )
2223 {
2324 continue ;
2425 }
2526 // @phpstan-ignore-next-line
2627 $ require = new Link ($ require ->getSource (), $ require ->getTarget (), new Constraint ('> ' , '0 ' ), $ require ->getDescription ());
2728 }
2829 $ 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 );
2942 }
3043
3144 // @phpstan-ignore-next-line
@@ -35,15 +48,15 @@ public static function postUpdate(Event $event): void
3548
3649 // @phpstan-ignore-next-line
3750 $ package = $ event ->getComposer ()->getPackage ();
38- $ requires = $ package ->getRequires ();
51+ $ requires = array_merge ( $ package ->getRequires (), $ package -> getDevRequires () );
3952 foreach ($ requires as $ name => $ require )
4053 {
41- if ('imiphp/ ' !== substr ($ name , 0 , 7 ))
54+ $ componentDir = \dirname ($ dir ) . '/ ' . substr ($ name , 11 );
55+ if ('imiphp/ ' !== substr ($ name , 0 , 7 ) || !is_dir ($ componentDir ))
4256 {
4357 continue ;
4458 }
4559
46- $ componentDir = \dirname ($ dir ) . '/ ' . substr ($ name , 11 );
4760 $ path = "{$ dir }/vendor/ {$ name }" ;
4861 $ cmd = "rm -rf {$ path } && ln -s -f {$ componentDir } {$ path }" ;
4962 echo '[cmd] ' , $ cmd , \PHP_EOL ;
0 commit comments