@@ -35,46 +35,51 @@ class PackagesInstaller implements InstallerInterface
35
35
/** @var array */
36
36
public $ mapping = [
37
37
MappingResolver::DEFAULT_MAPPING_TYPE => [
38
- [
39
- 'name ' => 'phpunit/phpunit ' ,
38
+ 'phpunit/phpunit ' => [
40
39
'version ' => '@stable ' ,
41
40
'dev ' => true ,
42
- 'allowVersionOverride ' => false
41
+ 'updateDependencies ' => true ,
42
+ 'allowVersionOverride ' => false ,
43
43
]
44
44
],
45
45
'magento1 ' => [
46
- [
47
- 'name ' => 'youwe/coding-standard-magento1 ' ,
46
+ 'youwe/coding-standard-magento1 ' => [
48
47
'version ' => '^1.3.0 ' ,
49
48
'dev ' => true ,
50
- 'allowVersionOverride ' => true
49
+ 'updateDependencies ' => true ,
50
+ 'allowVersionOverride ' => true ,
51
51
]
52
52
],
53
53
'magento2 ' => [
54
- [
55
- 'name ' => 'youwe/coding-standard-magento2 ' ,
54
+ 'phpunit/phpunit ' => [
55
+ 'version ' => '@stable ' ,
56
+ 'dev ' => false ,
57
+ 'allowVersionOverride ' => false ,
58
+ ],
59
+ 'youwe/coding-standard-magento2 ' => [
56
60
'version ' => '^2.0.0 ' ,
57
61
'dev ' => true ,
58
- 'allowVersionOverride ' => true
62
+ 'updateDependencies ' => true ,
63
+ 'allowVersionOverride ' => true ,
59
64
],
60
- [
61
- 'name ' => 'phpstan/extension-installer ' ,
65
+ 'phpstan/extension-installer ' => [
62
66
'version ' => '^1.3 ' ,
63
67
'dev ' => true ,
68
+ 'updateDependencies ' => true ,
64
69
'allowVersionOverride ' => true ,
65
70
],
66
- [
67
- 'name ' => 'bitexpert/phpstan-magento ' ,
71
+ 'bitexpert/phpstan-magento ' => [
68
72
'version ' => '~0.30 ' ,
69
73
'dev ' => true ,
74
+ 'updateDependencies ' => true ,
70
75
'allowVersionOverride ' => true ,
71
76
],
72
77
],
73
78
'laravel ' => [
74
- [
75
- 'name ' => 'elgentos/laravel-coding-standard ' ,
79
+ 'elgentos/laravel-coding-standard ' => [
76
80
'version ' => '^1.0.0 ' ,
77
81
'dev ' => true ,
82
+ 'updateDependencies ' => true ,
78
83
'allowVersionOverride ' => true ,
79
84
]
80
85
]
@@ -93,8 +98,8 @@ public function __construct(
93
98
Composer $ composer ,
94
99
ProjectTypeResolver $ typeResolver ,
95
100
IOInterface $ io ,
96
- DependencyInstaller $ installer = null ,
97
- array $ mapping = null
101
+ ? DependencyInstaller $ installer = null ,
102
+ ? array $ mapping = null
98
103
) {
99
104
$ this ->composer = $ composer ;
100
105
$ this ->typeResolver = $ typeResolver ;
@@ -112,19 +117,19 @@ public function install(): void
112
117
{
113
118
$ type = $ this ->typeResolver ->resolve ();
114
119
$ projectTypePackages = $ this ->mapping [$ type ] ?? [];
115
- $ packagesToInstall = array_merge ($ projectTypePackages , $ this ->mapping [MappingResolver::DEFAULT_MAPPING_TYPE ]);
120
+ $ packagesToInstall = array_merge ($ this ->mapping [MappingResolver::DEFAULT_MAPPING_TYPE ], $ projectTypePackages );
116
121
117
- foreach ($ packagesToInstall as $ package ) {
118
- if (!$ this ->isPackageRequired ($ package [ ' name ' ] , $ package ['version ' ])) {
122
+ foreach ($ packagesToInstall as $ name => $ package ) {
123
+ if (!$ this ->isPackageRequired ($ name , $ package ['version ' ])) {
119
124
$ this ->io ->write (
120
- sprintf ('Requiring package %s ' , $ package [ ' name ' ] )
125
+ sprintf ('Requiring package %s ' , $ name )
121
126
);
122
127
123
128
$ this ->installer ->installPackage (
124
- $ package [ ' name ' ] ,
129
+ $ name ,
125
130
$ package ['version ' ],
126
- true ,
127
- false ,
131
+ $ package [ ' dev ' ] ,
132
+ $ package [ ' updateDependencies ' ] ,
128
133
$ package ['allowVersionOverride ' ]
129
134
);
130
135
}
@@ -135,6 +140,7 @@ public function install(): void
135
140
* Whether a package has been required.
136
141
*
137
142
* @param string $packageName
143
+ * @param string $version
138
144
*
139
145
* @return bool
140
146
*/
0 commit comments