1717 return strlen ($ b ) <=> strlen ($ a ) ?: $ a <=> $ b ;
1818});
1919
20- function isComponentBridge (string $ packageDir ): bool
20+ function getPackageType (string $ packageDir ): string
2121{
22- return 0 < preg_match ('@Symfony/Component/.*/Bridge/@ ' , $ packageDir );
22+ if (preg_match ('@Symfony/Bridge/@ ' , $ packageDir )) {
23+ return 'bridge ' ;
24+ }
25+
26+ if (preg_match ('@Symfony/Bundle/@ ' , $ packageDir )) {
27+ return 'bundle ' ;
28+ }
29+
30+ if (preg_match ('@Symfony/Component/[^/]+/Bridge/@ ' , $ packageDir )) {
31+ return 'component_bridge ' ;
32+ }
33+
34+ if (preg_match ('@Symfony/Component/@ ' , $ packageDir )) {
35+ return 'component ' ;
36+ }
37+
38+ if (preg_match ('@Symfony/Contracts/@ ' , $ packageDir )) {
39+ return 'contract ' ;
40+ }
41+
42+ if (preg_match ('@Symfony/Contracts$@ ' , $ packageDir )) {
43+ return 'contracts ' ;
44+ }
45+
46+ throw new \LogicException ();
2347}
2448
2549$ newPackage = [];
@@ -43,7 +67,7 @@ function isComponentBridge(string $packageDir): bool
4367$ output = [];
4468foreach ($ modifiedPackages as $ directory => $ bool ) {
4569 $ name = json_decode (file_get_contents ($ directory .'/composer.json ' ), true )['name ' ] ?? 'unknown ' ;
46- $ output [] = ['name ' => $ name , 'directory ' => $ directory , 'new ' => $ newPackage [$ directory ] ?? false , 'component_bridge ' => isComponentBridge ($ directory )];
70+ $ output [] = ['name ' => $ name , 'directory ' => $ directory , 'new ' => $ newPackage [$ directory ] ?? false , 'type ' => getPackageType ($ directory )];
4771}
4872
4973echo json_encode ($ output );
0 commit comments