66 */
77declare (strict_types=1 );
88
9- $ fromFile = $ argv [1 ];
10- $ toFile = $ argv [2 ];
9+ $ sourceFile = $ argv [1 ];
10+ $ targetFile = $ argv [2 ];
1111
12- $ fromJson = json_decode (file_get_contents ($ fromFile ), true );
13- $ toJson = json_decode (file_get_contents ($ toFile ), true );
14- var_dump ($ fromJson , $ toJson , json_last_error_msg ());
12+ $ sourceJson = json_decode (file_get_contents ($ sourceFile ), true );
13+ $ targetUnsafeJson = file_get_contents ($ targetFile );
14+ // Remove unnecessary PSR-0 section, it causes JSON syntax errors due to empty key
15+ $ targetUnsafeJson = \preg_replace ('#"psr-0": {.*?},#s ' , '' , $ targetUnsafeJson );
16+ $ targetJson = json_decode ($ targetUnsafeJson , true );
1517
16- foreach ($ fromJson ['autoload-dev ' ]['psr-4 ' ] ?? [] as $ key => $ value ) {
17- $ pathPrefix = dirname ($ fromFile ) . DIRECTORY_SEPARATOR ;
18- $ fromJson ['autoload-dev ' ]['psr-4 ' ][$ key ] = $ pathPrefix . $ value ;
18+ foreach ($ sourceJson ['autoload-dev ' ]['psr-4 ' ] ?? [] as $ key => $ value ) {
19+ $ pathPrefix = dirname ($ sourceFile ) . DIRECTORY_SEPARATOR ;
20+ $ sourceJson ['autoload-dev ' ]['psr-4 ' ][$ key ] = $ pathPrefix . $ value ;
1921}
2022
21- $ toJson ['require-dev ' ] = array_replace_recursive ($ toJson ['require-dev ' ] ?? [], $ fromJson ['require-dev ' ]);
22- $ toJson ['autoload-dev ' ] = array_merge_recursive ($ toJson ['autoload-dev ' ] ?? [], $ fromJson ['autoload-dev ' ]);
23+ $ targetJson ['require-dev ' ] = array_replace_recursive ($ targetJson ['require-dev ' ] ?? [], $ sourceJson ['require-dev ' ]);
24+ $ targetJson ['autoload-dev ' ] = array_merge_recursive ($ targetJson ['autoload-dev ' ] ?? [], $ sourceJson ['autoload-dev ' ]);
2325
24- echo json_encode ($ toJson , JSON_PRETTY_PRINT );
26+ echo json_encode ($ targetJson , JSON_PRETTY_PRINT );
0 commit comments