Skip to content

Commit f435a26

Browse files
authored
Merge pull request #14 from Space48/support_php8.4
Added php8.4 support Update dependencies Removed StyleLint (as it don’t have php 8.4 support yet)
2 parents 137313f + c689e80 commit f435a26

File tree

4 files changed

+36
-17
lines changed

4 files changed

+36
-17
lines changed

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,9 @@ CQ_STARTING_COMMIT_DATE='01/01/2021'
151151

152152
-include 'vendor/space48/magento2-code-quality/code-quality.mk'
153153
```
154+
(_If you don`t have 'vendor' under VCS - copy vendor/space48/magento2-code-quality/code-quality.mk file somewhere
155+
to your project and link it from there_)
156+
154157
It contains following commands:
155158

156159
- `linters-init` - init linters on local machine

composer.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,18 @@
44
"description": "Provides rulesets for phpmd, phpcs and eslint that overrides some Magento sniffs and provides some new ones as well",
55
"license": "proprietary",
66
"require": {
7-
"phpro/grumphp": "^1.3",
8-
"symfony/dom-crawler": "*",
7+
"php": "^8",
8+
"phpro/grumphp": "^2",
9+
"symfony/dom-crawler": "^7",
910
"magento/magento-coding-standard": "*",
1011
"phpmd/phpmd": "^2",
11-
"squizlabs/php_codesniffer": ">=2.9.2 <4.0.0",
12-
"space48/grumphp-stylelint-task": "^1.0"
12+
"squizlabs/php_codesniffer": "^3"
1313
},
1414
"require-dev": {
1515
},
1616
"config": {
1717
"platform": {
18-
"php": "7.0.33"
18+
"php": "8.4"
1919
}
2020
},
2121
"authors": [

grumphp.yml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -98,10 +98,11 @@ grumphp:
9898
max_warnings: ~
9999
no_eslintrc: false
100100
quiet: false
101-
stylelint:
102-
bin: node_modules/.bin/stylelint
103-
triggered_by: [ css, scss, less ]
104-
allowed_paths:
105-
- /^app/
106-
extensions:
107-
- Space48\GrumPHPStylelintTask\Extension
101+
# Needs PHP 8.4 support
102+
# stylelint:
103+
# bin: node_modules/.bin/stylelint
104+
# triggered_by: [ css, scss, less ]
105+
# allowed_paths:
106+
# - /^app/
107+
# extensions:
108+
# - Space48\GrumPHPStylelintTask\Extension

src/Task/PhpMd.php

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,34 @@
22

33
namespace Space48\CodeQuality\Task;
44

5+
use GrumPHP\Task\Config\ConfigOptionsResolver;
56
use Symfony\Component\OptionsResolver\OptionsResolver;
67

78
/**
89
* PhpMd task.
910
*/
1011
class PhpMd extends \GrumPHP\Task\PhpMd
1112
{
12-
public static function getConfigurableOptions(): OptionsResolver
13+
public static function getConfigurableOptions(): ConfigOptionsResolver
1314
{
14-
$resolver = parent::getConfigurableOptions();
15-
$resolver->addAllowedValues('report_format', ['xml']);
15+
// due to Factory pattern they used we can no longer extend Options after calling parent method
16+
// copy from parent, changes are marked with "@added-by-Space48"
17+
$resolver = new OptionsResolver();
18+
$resolver->setDefaults([
19+
'whitelist_patterns' => [],
20+
'exclude' => [],
21+
'report_format' => 'text',
22+
'ruleset' => ['cleancode', 'codesize', 'naming'],
23+
'triggered_by' => ['php'],
24+
]);
1625

17-
return $resolver;
18-
}
26+
$resolver->addAllowedTypes('whitelist_patterns', ['array']);
27+
$resolver->addAllowedTypes('exclude', ['array']);
28+
$resolver->addAllowedTypes('report_format', ['string']);
29+
$resolver->addAllowedValues('report_format', ['text', 'ansi', 'xml']); // @added-by-Space48: "xml" format
30+
$resolver->addAllowedTypes('ruleset', ['array']);
31+
$resolver->addAllowedTypes('triggered_by', ['array']);
1932

33+
return ConfigOptionsResolver::fromOptionsResolver($resolver);
34+
}
2035
}

0 commit comments

Comments
 (0)