Skip to content

Commit 650ff6a

Browse files
committed
Maintenance: codesniffer, phpstan, git, makefile
1 parent a59ac4c commit 650ff6a

File tree

6 files changed

+100
-46
lines changed

6 files changed

+100
-46
lines changed

.editorconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@ indent_style = tab
1111
indent_size = tab
1212
tab_width = 4
1313

14-
[{*.json, *.yaml, *.yml, *.md}]
14+
[*.{json,yaml,yml,md}]
1515
indent_style = space
1616
indent_size = 2

.gitattributes

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
# Not archived
21
.docs export-ignore
3-
tests export-ignore
2+
.github export-ignore
43
.editorconfig export-ignore
54
.gitattributes export-ignore
65
.gitignore export-ignore
7-
.travis.yml export-ignore
86
Makefile export-ignore
9-
phpstan.neon export-ignore
107
README.md export-ignore
8+
phpstan.neon export-ignore
119
ruleset.xml export-ignore
10+
tests export-ignore

.gitignore

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
/composer.lock
77

88
# Tests
9-
/temp
10-
/coverage.html
11-
/coverage.xml
9+
/tests/tmp
10+
/coverage.*
11+
/tests/**/*.log
12+
/tests/**/*.html
13+
/tests/**/*.expected
14+
/tests/**/*.actual

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ tests:
2525
coverage:
2626
ifdef GITHUB_ACTION
2727
vendor/bin/codecept build
28-
phpdbg -qrr vendor/bin/codecept run --coverage-xml
28+
vendor/bin/codecept run --coverage-xml
2929
else
3030
vendor/bin/codecept build
31-
phpdbg -qrr vendor/bin/codecept run --coverage-html
31+
vendor/bin/codecept run --coverage-html
3232
endif

phpstan.neon

Lines changed: 76 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,91 @@
11
includes:
2+
#- vendor/contributte/phpstan/phpstan.neon
23
- vendor/phpstan/phpstan-deprecation-rules/rules.neon
34
- vendor/phpstan/phpstan-nette/extension.neon
45
- vendor/phpstan/phpstan-nette/rules.neon
5-
- vendor/phpstan/phpstan-strict-rules/rules.neon
6-
- extension.neon
6+
#- vendor/phpstan/phpstan-strict-rules/rules.neon
77

88
parameters:
9-
level: 9
10-
paths:
9+
level: 8
10+
phpVersion: 80100
11+
12+
scanDirectories:
1113
- src
1214

13-
excludePaths:
14-
- %currentWorkingDirectory%/tests/_*
15+
fileExtensions:
16+
- php
17+
18+
paths:
19+
- src
20+
- .docs
1521

1622
ignoreErrors:
17-
- '#^Only booleans are allowed in a negated boolean, string\|null given.#'
18-
- '#(.+)should be contravariant(.+)#'
23+
-
24+
message: """
25+
#^Call to deprecated method getName\\(\\) of class Contributte\\\\Imagist\\\\Bridge\\\\Doctrine\\\\ImageType\\:
26+
this method will be removed in Doctrine DBAL 4\\.0,
27+
use \\{@see TypeRegistry\\:\\:lookupName\\(\\)\\} instead\\.$#
28+
"""
29+
count: 2
30+
path: src/Bridge/Doctrine/ImageType.php
31+
32+
-
33+
message: "#^Class Contributte\\\\Imagist\\\\Bridge\\\\Nette\\\\DI\\\\GumletImageStorageExtension extends @final class Contributte\\\\Imagist\\\\Bridge\\\\Nette\\\\DI\\\\GumletImagistExtension\\.$#"
34+
count: 1
35+
path: src/Bridge/Nette/DI/GumletImageStorageExtension.php
36+
37+
-
38+
message: "#^Class Contributte\\\\Imagist\\\\Bridge\\\\Nette\\\\DI\\\\ImageStorageConfigFiltersExtension extends @final class Contributte\\\\Imagist\\\\Bridge\\\\Nette\\\\DI\\\\ImagistNeonFiltersExtension\\.$#"
39+
count: 1
40+
path: src/Bridge/Nette/DI/ImageStorageConfigFiltersExtension.php
41+
42+
-
43+
message: "#^Class Contributte\\\\Imagist\\\\Bridge\\\\Nette\\\\DI\\\\ImageStorageExtension extends @final class Contributte\\\\Imagist\\\\Bridge\\\\Nette\\\\DI\\\\ImagistExtension\\.$#"
44+
count: 1
45+
path: src/Bridge/Nette/DI/ImageStorageExtension.php
46+
47+
-
48+
message: "#^Method Contributte\\\\Imagist\\\\Bridge\\\\Symfony\\\\Serializer\\\\ImagistNormalizer\\:\\:normalize\\(\\) return type has no value type specified in iterable type array\\.$#"
49+
count: 1
50+
path: src/Bridge/Symfony/Serializer/ImagistNormalizer.php
51+
52+
-
53+
message: "#^Method Contributte\\\\Imagist\\\\Bridge\\\\Symfony\\\\Serializer\\\\ImagistNormalizer\\:\\:normalize\\(\\) return type with generic class ArrayObject does not specify its types\\: TKey, TValue$#"
54+
count: 1
55+
path: src/Bridge/Symfony/Serializer/ImagistNormalizer.php
56+
57+
-
58+
message: "#^Method Contributte\\\\Imagist\\\\Bridge\\\\Symfony\\\\Serializer\\\\ImagistNormalizer\\:\\:normalize\\(\\) should return array\\|ArrayObject\\|bool\\|float\\|int\\|string\\|null but returns Contributte\\\\Imagist\\\\Entity\\\\PersistentImageInterface\\.$#"
59+
count: 1
60+
path: src/Bridge/Symfony/Serializer/ImagistNormalizer.php
61+
62+
-
63+
message: "#^Method Contributte\\\\Imagist\\\\Bridge\\\\Symfony\\\\Serializer\\\\ImagistNormalizer\\:\\:supportsNormalization\\(\\) has parameter \\$context with no value type specified in iterable type array\\.$#"
64+
count: 1
65+
path: src/Bridge/Symfony/Serializer/ImagistNormalizer.php
66+
67+
-
68+
message: "#^PHPDoc tag @return with type mixed is not subtype of native type array\\|ArrayObject\\|bool\\|float\\|int\\|string\\|null\\.$#"
69+
count: 1
70+
path: src/Bridge/Symfony/Serializer/ImagistNormalizer.php
1971

20-
- '#^Property Contributte\\Codeception\\Module\\NetteApplicationModule::\$path is never read, only written.#'
72+
-
73+
message: "#^Method Contributte\\\\Imagist\\\\Entity\\\\PromisedImage\\:\\:getOriginal\\(\\) should return Contributte\\\\Imagist\\\\Entity\\\\PromisedImage but returns Contributte\\\\Imagist\\\\Entity\\\\PersistentImageInterface\\.$#"
74+
count: 1
75+
path: src/Entity/PromisedImage.php
2176

22-
# Should not happen
23-
- '#^Method Contributte\\Codeception\\Module\\NetteDIModule::getContainer\(\) should return Nette\\DI\\Container but returns Nette\\DI\\Container\|null#'
24-
- '#^Method Contributte\\Codeception\\Http\\Request::getFile\(\) should return Nette\\Http\\FileUpload\|null but returns array\|Nette\\Http\\FileUpload\|null.#'
25-
- '#^Cannot call method getName\(\) on PHPStan\\Reflection\\ClassReflection\|null.#'
26-
- '#Parameter \#1 \$path of static method Nette\\Utils\\FileSystem::delete\(\) expects string, string\|false given\.#'
27-
- '#Call to an undefined method Nette\\DI\\Definitions\\Definition::setFactory\(\)\.#'
28-
- '#Call to protected method setType\(\) of class Nette\\DI\\Definitions\\Definition\.#'
77+
-
78+
message: "#^Method Contributte\\\\Imagist\\\\Entity\\\\PromisedImage\\:\\:withFilter\\(\\) should return Contributte\\\\Imagist\\\\Entity\\\\PromisedImage but returns Contributte\\\\Imagist\\\\Entity\\\\PersistentImageInterface\\.$#"
79+
count: 1
80+
path: src/Entity/PromisedImage.php
2981

30-
# Complicated to test dev-required phpstan with separatly installed version
31-
- '#^Call to an undefined method PHPStan\\#'
82+
-
83+
message: "#^Method Contributte\\\\Imagist\\\\Entity\\\\PromisedImage\\:\\:withName\\(\\) should return Contributte\\\\Imagist\\\\Entity\\\\PromisedImage but returns Contributte\\\\Imagist\\\\Entity\\\\PersistentImageInterface\\.$#"
84+
count: 1
85+
path: src/Entity/PromisedImage.php
3286

33-
earlyTerminatingMethodCalls:
34-
Codeception\Module:
35-
- fail
87+
-
88+
message: "#^Method Contributte\\\\Imagist\\\\Entity\\\\PromisedImage\\:\\:withScope\\(\\) should return Contributte\\\\Imagist\\\\Entity\\\\PromisedImage but returns Contributte\\\\Imagist\\\\Entity\\\\PersistentImageInterface\\.$#"
89+
count: 1
90+
path: src/Entity/PromisedImage.php
3691

37-
reportMaybesInPropertyPhpDocTypes: false

ruleset.xml

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,24 @@
1-
<?xml version="1.0"?>
2-
<ruleset name="Contributte">
3-
<!-- Contributte Coding Standard -->
4-
<rule ref="vendor/ninjify/coding-standard/contributte.xml">
5-
<exclude name="SlevomatCodingStandard.Classes.UnusedPrivateElements.WriteOnlyProperty"/>
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<ruleset name="Contributte" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vendor/squizlabs/php_codesniffer/phpcs.xsd">
3+
<!-- Rulesets -->
4+
<rule ref="./vendor/contributte/qa/ruleset-8.0.xml">
5+
<exclude name="SlevomatCodingStandard.Variables.DisallowSuperGlobalVariable.DisallowedSuperGlobalVariable"/>
66
</rule>
77

8-
<!-- Specific rules -->
8+
<!-- Rules -->
99
<rule ref="SlevomatCodingStandard.Files.TypeNameMatchesFileName">
1010
<properties>
1111
<property name="rootNamespaces" type="array">
1212
<element key="src" value="Contributte\Codeception"/>
1313
<element key="tests" value="Tests"/>
1414
</property>
15+
<property name="extensions" type="array">
16+
<element key="php" value="php"/>
17+
<element key="phpt" value="phpt"/>
18+
</property>
1519
</properties>
1620
</rule>
1721

18-
<rule ref="SlevomatCodingStandard.Files.TypeNameMatchesFileName.NoMatchBetweenTypeNameAndFileName">
19-
<exclude-pattern>/tests/functional</exclude-pattern>
20-
</rule>
21-
22-
<!-- Exclude folders -->
23-
<exclude-pattern>/tests/_output</exclude-pattern>
24-
<exclude-pattern>/tests/_support</exclude-pattern>
25-
<exclude-pattern>/tests/_temp</exclude-pattern>
22+
<!-- Excludes -->
23+
<exclude-pattern>/tests</exclude-pattern>
2624
</ruleset>

0 commit comments

Comments
 (0)