Completed
Push — master ( b60a8d...de4a35 )
by
unknown
19:04
created
apps/updatenotification/lib/AppInfo/Application.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -45,7 +45,7 @@
 block discarded – undo
45 45
 	}
46 46
 
47 47
 	public function boot(IBootContext $context): void {
48
-		$context->injectFn(function (IConfig $config,
48
+		$context->injectFn(function(IConfig $config,
49 49
 			IUserSession $userSession,
50 50
 			IAppManager $appManager,
51 51
 			IGroupManager $groupManager,
Please login to merge, or discard this patch.
apps/updatenotification/lib/Settings/Admin.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -139,6 +139,6 @@
 block discarded – undo
139 139
 	}
140 140
 
141 141
 	private function isWebUpdaterRecommended(): bool {
142
-		return (int)$this->userManager->countUsersTotal(100) < 100;
142
+		return (int) $this->userManager->countUsersTotal(100) < 100;
143 143
 	}
144 144
 }
Please login to merge, or discard this patch.
apps/settings/appinfo/routes.php 1 patch
Spacing   +42 added lines, -42 removed lines patch added patch discarded remove patch
@@ -9,59 +9,59 @@
 block discarded – undo
9 9
  */
10 10
 return [
11 11
 	'resources' => [
12
-		'AuthSettings' => ['url' => '/settings/personal/authtokens' , 'root' => ''],
12
+		'AuthSettings' => ['url' => '/settings/personal/authtokens', 'root' => ''],
13 13
 	],
14 14
 	'routes' => [
15 15
 		['name' => 'AuthorizedGroup#saveSettings', 'url' => '/settings/authorizedgroups/saveSettings', 'verb' => 'POST'],
16 16
 
17
-		['name' => 'AuthSettings#wipe', 'url' => '/settings/personal/authtokens/wipe/{id}', 'verb' => 'POST' , 'root' => ''],
17
+		['name' => 'AuthSettings#wipe', 'url' => '/settings/personal/authtokens/wipe/{id}', 'verb' => 'POST', 'root' => ''],
18 18
 
19
-		['name' => 'MailSettings#setMailSettings', 'url' => '/settings/admin/mailsettings', 'verb' => 'POST' , 'root' => ''],
20
-		['name' => 'MailSettings#storeCredentials', 'url' => '/settings/admin/mailsettings/credentials', 'verb' => 'POST' , 'root' => ''],
21
-		['name' => 'MailSettings#sendTestMail', 'url' => '/settings/admin/mailtest', 'verb' => 'POST' , 'root' => ''],
19
+		['name' => 'MailSettings#setMailSettings', 'url' => '/settings/admin/mailsettings', 'verb' => 'POST', 'root' => ''],
20
+		['name' => 'MailSettings#storeCredentials', 'url' => '/settings/admin/mailsettings/credentials', 'verb' => 'POST', 'root' => ''],
21
+		['name' => 'MailSettings#sendTestMail', 'url' => '/settings/admin/mailtest', 'verb' => 'POST', 'root' => ''],
22 22
 
23 23
 		['name' => 'AppSettings#getAppDiscoverJSON', 'url' => '/settings/api/apps/discover', 'verb' => 'GET', 'root' => ''],
24 24
 		['name' => 'AppSettings#getAppDiscoverMedia', 'url' => '/settings/api/apps/media', 'verb' => 'GET', 'root' => ''],
25
-		['name' => 'AppSettings#listCategories', 'url' => '/settings/apps/categories', 'verb' => 'GET' , 'root' => ''],
26
-		['name' => 'AppSettings#viewApps', 'url' => '/settings/apps', 'verb' => 'GET' , 'root' => ''],
27
-		['name' => 'AppSettings#listApps', 'url' => '/settings/apps/list', 'verb' => 'GET' , 'root' => ''],
28
-		['name' => 'AppSettings#enableApp', 'url' => '/settings/apps/enable/{appId}', 'verb' => 'GET' , 'root' => ''],
29
-		['name' => 'AppSettings#enableApp', 'url' => '/settings/apps/enable/{appId}', 'verb' => 'POST' , 'root' => ''],
30
-		['name' => 'AppSettings#enableApps', 'url' => '/settings/apps/enable', 'verb' => 'POST' , 'root' => ''],
31
-		['name' => 'AppSettings#disableApp', 'url' => '/settings/apps/disable/{appId}', 'verb' => 'GET' , 'root' => ''],
32
-		['name' => 'AppSettings#disableApps', 'url' => '/settings/apps/disable', 'verb' => 'POST' , 'root' => ''],
33
-		['name' => 'AppSettings#updateApp', 'url' => '/settings/apps/update/{appId}', 'verb' => 'GET' , 'root' => ''],
34
-		['name' => 'AppSettings#uninstallApp', 'url' => '/settings/apps/uninstall/{appId}', 'verb' => 'GET' , 'root' => ''],
35
-		['name' => 'AppSettings#viewApps', 'url' => '/settings/apps/{category}', 'verb' => 'GET', 'defaults' => ['category' => ''] , 'root' => ''],
36
-		['name' => 'AppSettings#viewApps', 'url' => '/settings/apps/{category}/{id}', 'verb' => 'GET', 'defaults' => ['category' => '', 'id' => ''] , 'root' => ''],
37
-		['name' => 'AppSettings#force', 'url' => '/settings/apps/force', 'verb' => 'POST' , 'root' => ''],
25
+		['name' => 'AppSettings#listCategories', 'url' => '/settings/apps/categories', 'verb' => 'GET', 'root' => ''],
26
+		['name' => 'AppSettings#viewApps', 'url' => '/settings/apps', 'verb' => 'GET', 'root' => ''],
27
+		['name' => 'AppSettings#listApps', 'url' => '/settings/apps/list', 'verb' => 'GET', 'root' => ''],
28
+		['name' => 'AppSettings#enableApp', 'url' => '/settings/apps/enable/{appId}', 'verb' => 'GET', 'root' => ''],
29
+		['name' => 'AppSettings#enableApp', 'url' => '/settings/apps/enable/{appId}', 'verb' => 'POST', 'root' => ''],
30
+		['name' => 'AppSettings#enableApps', 'url' => '/settings/apps/enable', 'verb' => 'POST', 'root' => ''],
31
+		['name' => 'AppSettings#disableApp', 'url' => '/settings/apps/disable/{appId}', 'verb' => 'GET', 'root' => ''],
32
+		['name' => 'AppSettings#disableApps', 'url' => '/settings/apps/disable', 'verb' => 'POST', 'root' => ''],
33
+		['name' => 'AppSettings#updateApp', 'url' => '/settings/apps/update/{appId}', 'verb' => 'GET', 'root' => ''],
34
+		['name' => 'AppSettings#uninstallApp', 'url' => '/settings/apps/uninstall/{appId}', 'verb' => 'GET', 'root' => ''],
35
+		['name' => 'AppSettings#viewApps', 'url' => '/settings/apps/{category}', 'verb' => 'GET', 'defaults' => ['category' => ''], 'root' => ''],
36
+		['name' => 'AppSettings#viewApps', 'url' => '/settings/apps/{category}/{id}', 'verb' => 'GET', 'defaults' => ['category' => '', 'id' => ''], 'root' => ''],
37
+		['name' => 'AppSettings#force', 'url' => '/settings/apps/force', 'verb' => 'POST', 'root' => ''],
38 38
 
39
-		['name' => 'Users#setDisplayName', 'url' => '/settings/users/{username}/displayName', 'verb' => 'POST' , 'root' => ''],
40
-		['name' => 'Users#setEMailAddress', 'url' => '/settings/users/{id}/mailAddress', 'verb' => 'PUT' , 'root' => ''],
41
-		['name' => 'Users#setUserSettings', 'url' => '/settings/users/{username}/settings', 'verb' => 'PUT' , 'root' => ''],
42
-		['name' => 'Users#getVerificationCode', 'url' => '/settings/users/{account}/verify', 'verb' => 'GET' , 'root' => ''],
43
-		['name' => 'Users#usersList', 'url' => '/settings/users', 'verb' => 'GET' , 'root' => ''],
44
-		['name' => 'Users#usersListByGroup', 'url' => '/settings/users/{group}', 'verb' => 'GET', 'requirements' => ['group' => '.+'] , 'root' => ''],
45
-		['name' => 'Users#setPreference', 'url' => '/settings/users/preferences/{key}', 'verb' => 'POST' , 'root' => ''],
46
-		['name' => 'LogSettings#download', 'url' => '/settings/admin/log/download', 'verb' => 'GET' , 'root' => ''],
47
-		['name' => 'CheckSetup#setupCheckManager', 'url' => '/settings/setupcheck', 'verb' => 'GET' , 'root' => ''],
48
-		['name' => 'CheckSetup#check', 'url' => '/settings/ajax/checksetup', 'verb' => 'GET' , 'root' => ''],
49
-		['name' => 'CheckSetup#getFailedIntegrityCheckFiles', 'url' => '/settings/integrity/failed', 'verb' => 'GET' , 'root' => ''],
50
-		['name' => 'CheckSetup#rescanFailedIntegrityCheck', 'url' => '/settings/integrity/rescan', 'verb' => 'GET' , 'root' => ''],
51
-		['name' => 'PersonalSettings#index', 'url' => '/settings/user/{section}', 'verb' => 'GET', 'defaults' => ['section' => 'personal-info'] , 'root' => ''],
52
-		['name' => 'AdminSettings#index', 'url' => '/settings/admin/{section}', 'verb' => 'GET', 'defaults' => ['section' => 'server'] , 'root' => ''],
53
-		['name' => 'AdminSettings#form', 'url' => '/settings/admin/{section}', 'verb' => 'GET' , 'root' => ''],
54
-		['name' => 'ChangePassword#changePersonalPassword', 'url' => '/settings/personal/changepassword', 'verb' => 'POST' , 'root' => ''],
55
-		['name' => 'ChangePassword#changeUserPassword', 'url' => '/settings/users/changepassword', 'verb' => 'POST' , 'root' => ''],
56
-		['name' => 'TwoFactorSettings#index', 'url' => '/settings/api/admin/twofactorauth', 'verb' => 'GET' , 'root' => ''],
57
-		['name' => 'TwoFactorSettings#update', 'url' => '/settings/api/admin/twofactorauth', 'verb' => 'PUT' , 'root' => ''],
58
-		['name' => 'AISettings#update', 'url' => '/settings/api/admin/ai', 'verb' => 'PUT' , 'root' => ''],
39
+		['name' => 'Users#setDisplayName', 'url' => '/settings/users/{username}/displayName', 'verb' => 'POST', 'root' => ''],
40
+		['name' => 'Users#setEMailAddress', 'url' => '/settings/users/{id}/mailAddress', 'verb' => 'PUT', 'root' => ''],
41
+		['name' => 'Users#setUserSettings', 'url' => '/settings/users/{username}/settings', 'verb' => 'PUT', 'root' => ''],
42
+		['name' => 'Users#getVerificationCode', 'url' => '/settings/users/{account}/verify', 'verb' => 'GET', 'root' => ''],
43
+		['name' => 'Users#usersList', 'url' => '/settings/users', 'verb' => 'GET', 'root' => ''],
44
+		['name' => 'Users#usersListByGroup', 'url' => '/settings/users/{group}', 'verb' => 'GET', 'requirements' => ['group' => '.+'], 'root' => ''],
45
+		['name' => 'Users#setPreference', 'url' => '/settings/users/preferences/{key}', 'verb' => 'POST', 'root' => ''],
46
+		['name' => 'LogSettings#download', 'url' => '/settings/admin/log/download', 'verb' => 'GET', 'root' => ''],
47
+		['name' => 'CheckSetup#setupCheckManager', 'url' => '/settings/setupcheck', 'verb' => 'GET', 'root' => ''],
48
+		['name' => 'CheckSetup#check', 'url' => '/settings/ajax/checksetup', 'verb' => 'GET', 'root' => ''],
49
+		['name' => 'CheckSetup#getFailedIntegrityCheckFiles', 'url' => '/settings/integrity/failed', 'verb' => 'GET', 'root' => ''],
50
+		['name' => 'CheckSetup#rescanFailedIntegrityCheck', 'url' => '/settings/integrity/rescan', 'verb' => 'GET', 'root' => ''],
51
+		['name' => 'PersonalSettings#index', 'url' => '/settings/user/{section}', 'verb' => 'GET', 'defaults' => ['section' => 'personal-info'], 'root' => ''],
52
+		['name' => 'AdminSettings#index', 'url' => '/settings/admin/{section}', 'verb' => 'GET', 'defaults' => ['section' => 'server'], 'root' => ''],
53
+		['name' => 'AdminSettings#form', 'url' => '/settings/admin/{section}', 'verb' => 'GET', 'root' => ''],
54
+		['name' => 'ChangePassword#changePersonalPassword', 'url' => '/settings/personal/changepassword', 'verb' => 'POST', 'root' => ''],
55
+		['name' => 'ChangePassword#changeUserPassword', 'url' => '/settings/users/changepassword', 'verb' => 'POST', 'root' => ''],
56
+		['name' => 'TwoFactorSettings#index', 'url' => '/settings/api/admin/twofactorauth', 'verb' => 'GET', 'root' => ''],
57
+		['name' => 'TwoFactorSettings#update', 'url' => '/settings/api/admin/twofactorauth', 'verb' => 'PUT', 'root' => ''],
58
+		['name' => 'AISettings#update', 'url' => '/settings/api/admin/ai', 'verb' => 'PUT', 'root' => ''],
59 59
 
60
-		['name' => 'Help#help', 'url' => '/settings/help/{mode}', 'verb' => 'GET', 'defaults' => ['mode' => ''] , 'root' => ''],
60
+		['name' => 'Help#help', 'url' => '/settings/help/{mode}', 'verb' => 'GET', 'defaults' => ['mode' => ''], 'root' => ''],
61 61
 
62
-		['name' => 'WebAuthn#startRegistration', 'url' => '/settings/api/personal/webauthn/registration', 'verb' => 'GET' , 'root' => ''],
63
-		['name' => 'WebAuthn#finishRegistration', 'url' => '/settings/api/personal/webauthn/registration', 'verb' => 'POST' , 'root' => ''],
64
-		['name' => 'WebAuthn#deleteRegistration', 'url' => '/settings/api/personal/webauthn/registration/{id}', 'verb' => 'DELETE' , 'root' => ''],
62
+		['name' => 'WebAuthn#startRegistration', 'url' => '/settings/api/personal/webauthn/registration', 'verb' => 'GET', 'root' => ''],
63
+		['name' => 'WebAuthn#finishRegistration', 'url' => '/settings/api/personal/webauthn/registration', 'verb' => 'POST', 'root' => ''],
64
+		['name' => 'WebAuthn#deleteRegistration', 'url' => '/settings/api/personal/webauthn/registration/{id}', 'verb' => 'DELETE', 'root' => ''],
65 65
 
66 66
 		['name' => 'Reasons#getPdf', 'url' => '/settings/download/reasons', 'verb' => 'GET', 'root' => ''],
67 67
 	],
Please login to merge, or discard this patch.
apps/settings/tests/Controller/UsersControllerTest.php 1 patch
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -93,13 +93,13 @@  discard block
 block discarded – undo
93 93
 		$this->initialState = $this->createMock(IInitialState::class);
94 94
 
95 95
 		$this->l->method('t')
96
-			->willReturnCallback(function ($text, $parameters = []) {
96
+			->willReturnCallback(function($text, $parameters = []) {
97 97
 				return vsprintf($text, $parameters);
98 98
 			});
99 99
 
100 100
 		$this->encryptionModule = $this->createMock(IEncryptionModule::class);
101 101
 		$this->encryptionManager->expects($this->any())->method('getEncryptionModules')
102
-			->willReturn(['encryptionModule' => ['callback' => function () {
102
+			->willReturn(['encryptionModule' => ['callback' => function() {
103 103
 				return $this->encryptionModule;
104 104
 			}]]);
105 105
 	}
@@ -234,7 +234,7 @@  discard block
 block discarded – undo
234 234
 		$account = $this->createMock(IAccount::class);
235 235
 		$account->expects($this->any())
236 236
 			->method('getProperty')
237
-			->willReturnCallback(function (string $propertyName) use ($propertyMocks) {
237
+			->willReturnCallback(function(string $propertyName) use ($propertyMocks) {
238 238
 				if (isset($propertyMocks[$propertyName])) {
239 239
 					return $propertyMocks[$propertyName];
240 240
 				}
@@ -707,7 +707,7 @@  discard block
 block discarded – undo
707 707
 			->willReturn($user);
708 708
 		$account->expects($this->any())
709 709
 			->method('getProperty')
710
-			->willReturnCallback(function (string $propertyName) use ($properties) {
710
+			->willReturnCallback(function(string $propertyName) use ($properties) {
711 711
 				return $properties[$propertyName];
712 712
 			});
713 713
 
@@ -814,7 +814,7 @@  discard block
 block discarded – undo
814 814
 		}
815 815
 		$userAccount->expects($this->any())
816 816
 			->method('getProperty')
817
-			->willReturnCallback(function (string $propertyName) use ($propertyMocks) {
817
+			->willReturnCallback(function(string $propertyName) use ($propertyMocks) {
818 818
 				return $propertyMocks[$propertyName];
819 819
 			});
820 820
 
@@ -881,9 +881,9 @@  discard block
 block discarded – undo
881 881
 		$message = 'Use my Federated Cloud ID to share with me: [email protected]';
882 882
 		$signature = 'theSignature';
883 883
 
884
-		$code = $message . ' ' . $signature;
884
+		$code = $message.' '.$signature;
885 885
 		if ($type === IAccountManager::PROPERTY_TWITTER || $type === IAccountManager::PROPERTY_FEDIVERSE) {
886
-			$code = $message . ' ' . md5($signature);
886
+			$code = $message.' '.md5($signature);
887 887
 		}
888 888
 
889 889
 		$controller = $this->getController(false, ['signMessage', 'getCurrentTime']);
@@ -990,7 +990,7 @@  discard block
 block discarded – undo
990 990
 			->willReturn($encryptionEnabled);
991 991
 		$this->encryptionManager->expects($this->any())
992 992
 			->method('getEncryptionModule')
993
-			->willReturnCallback(function () use ($encryptionModuleLoaded) {
993
+			->willReturnCallback(function() use ($encryptionModuleLoaded) {
994 994
 				if ($encryptionModuleLoaded) {
995 995
 					return $this->encryptionModule;
996 996
 				} else {
Please login to merge, or discard this patch.
apps/settings/tests/Controller/AuthSettingsControllerTest.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -426,7 +426,7 @@
 block discarded – undo
426 426
 		$token = $this->createMock(IToken::class);
427 427
 		$token->expects($this->once())
428 428
 			->method('getUID')
429
-			->willReturn('definetly-not-' . $this->uid);
429
+			->willReturn('definetly-not-'.$this->uid);
430 430
 		$this->mockGetTokenById(123, $token);
431 431
 
432 432
 		$this->remoteWipe->expects($this->never())
Please login to merge, or discard this patch.
apps/settings/tests/Settings/Admin/MailTest.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -43,7 +43,7 @@
 block discarded – undo
43 43
 		$finder->expects(self::once())
44 44
 			->method('findBinaryPath')
45 45
 			->with('sendmail')
46
-			->willReturn($sendmail ? '/usr/bin/sendmail': false);
46
+			->willReturn($sendmail ? '/usr/bin/sendmail' : false);
47 47
 		$this->overwriteService(IBinaryFinder::class, $finder);
48 48
 
49 49
 		$this->config
Please login to merge, or discard this patch.
apps/settings/tests/Settings/Admin/SecurityTest.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -107,7 +107,7 @@
 block discarded – undo
107 107
 		$expected = new TemplateResponse(
108 108
 			'settings',
109 109
 			'settings/admin/security',
110
-			[ ],
110
+			[],
111 111
 			''
112 112
 		);
113 113
 		$this->assertEquals($expected, $this->admin->getForm());
Please login to merge, or discard this patch.
apps/settings/tests/Settings/Admin/SharingTest.php 1 patch
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -82,7 +82,7 @@  discard block
 block discarded – undo
82 82
 				['core', 'shareapi_exclude_groups', 'no', 'no'],
83 83
 				['core', 'shareapi_public_link_disclaimertext', '', 'Lorem ipsum'],
84 84
 				['core', 'shareapi_enable_link_password_by_default', 'no', 'yes'],
85
-				['core', 'shareapi_default_permissions', (string)Constants::PERMISSION_ALL, Constants::PERMISSION_ALL],
85
+				['core', 'shareapi_default_permissions', (string) Constants::PERMISSION_ALL, Constants::PERMISSION_ALL],
86 86
 				['core', 'shareapi_default_internal_expire_date', 'no', 'no'],
87 87
 				['core', 'shareapi_internal_expire_after_n_days', '7', '7'],
88 88
 				['core', 'shareapi_enforce_internal_expire_date', 'no', 'no'],
@@ -101,7 +101,7 @@  discard block
 block discarded – undo
101 101
 		$this->initialState
102 102
 			->expects($this->exactly(3))
103 103
 			->method('provideInitialState')
104
-			->willReturnCallback(function (string $key) use (&$initialStateCalls): void {
104
+			->willReturnCallback(function(string $key) use (&$initialStateCalls): void {
105 105
 				$initialStateCalls[$key] = func_get_args();
106 106
 			});
107 107
 		
@@ -179,7 +179,7 @@  discard block
 block discarded – undo
179 179
 				['core', 'shareapi_exclude_groups', 'no', 'yes'],
180 180
 				['core', 'shareapi_public_link_disclaimertext', '', 'Lorem ipsum'],
181 181
 				['core', 'shareapi_enable_link_password_by_default', 'no', 'yes'],
182
-				['core', 'shareapi_default_permissions', (string)Constants::PERMISSION_ALL, Constants::PERMISSION_ALL],
182
+				['core', 'shareapi_default_permissions', (string) Constants::PERMISSION_ALL, Constants::PERMISSION_ALL],
183 183
 				['core', 'shareapi_default_internal_expire_date', 'no', 'no'],
184 184
 				['core', 'shareapi_internal_expire_after_n_days', '7', '7'],
185 185
 				['core', 'shareapi_enforce_internal_expire_date', 'no', 'no'],
@@ -198,7 +198,7 @@  discard block
 block discarded – undo
198 198
 		$this->initialState
199 199
 			->expects($this->exactly(3))
200 200
 			->method('provideInitialState')
201
-			->willReturnCallback(function (string $key) use (&$initialStateCalls): void {
201
+			->willReturnCallback(function(string $key) use (&$initialStateCalls): void {
202 202
 				$initialStateCalls[$key] = func_get_args();
203 203
 			});
204 204
 
@@ -224,7 +224,7 @@  discard block
 block discarded – undo
224 224
 				'expireAfterNDays' => '7',
225 225
 				'enforceExpireDate' => false,
226 226
 				'excludeGroups' => 'yes',
227
-				'excludeGroupsList' => ['NoSharers','OtherNoSharers'],
227
+				'excludeGroupsList' => ['NoSharers', 'OtherNoSharers'],
228 228
 				'publicShareDisclaimerText' => 'Lorem ipsum',
229 229
 				'enableLinkPasswordByDefault' => true,
230 230
 				'defaultPermissions' => Constants::PERMISSION_ALL,
Please login to merge, or discard this patch.
apps/settings/composer/composer/installed.php 1 patch
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -5,7 +5,7 @@  discard block
 block discarded – undo
5 5
         'version' => 'dev-master',
6 6
         'reference' => '071fe73d0a28f44c6e24cc87fbd00e54a3b92b57',
7 7
         'type' => 'library',
8
-        'install_path' => __DIR__ . '/../',
8
+        'install_path' => __DIR__.'/../',
9 9
         'aliases' => array(),
10 10
         'dev' => false,
11 11
     ),
@@ -15,7 +15,7 @@  discard block
 block discarded – undo
15 15
             'version' => 'dev-master',
16 16
             'reference' => '071fe73d0a28f44c6e24cc87fbd00e54a3b92b57',
17 17
             'type' => 'library',
18
-            'install_path' => __DIR__ . '/../',
18
+            'install_path' => __DIR__.'/../',
19 19
             'aliases' => array(),
20 20
             'dev_requirement' => false,
21 21
         ),
Please login to merge, or discard this patch.