diff --git a/.gitattributes b/.gitattributes index 9fe8f71..ed85a9d 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,5 +1,4 @@ -/src/Builder/ export-ignore -/tests/ export-ignore +/dev/ export-ignore /.* export-ignore /phpunit.xml export-ignore diff --git a/.php-cs-fixer.php b/.php-cs-fixer.php index c80e6f0..cb3b194 100644 --- a/.php-cs-fixer.php +++ b/.php-cs-fixer.php @@ -9,12 +9,14 @@ * the LICENSE file that was distributed with this source code. */ +require_once __DIR__ . '/vendor/autoload.php'; + return PhpCsFixerConfig\Factory::createForLibrary('kubawerlos/php-cs-fixer-config', 'Kuba Werłos', 2020) ->setUsingCache(false) ->setFinder( PhpCsFixer\Finder::create() ->files() + ->in(__DIR__ . '/dev') ->in(__DIR__ . '/src') - ->in(__DIR__ . '/tests') ->append([__FILE__]), ); diff --git a/composer.json b/composer.json index ff3e39b..c66314c 100644 --- a/composer.json +++ b/composer.json @@ -10,11 +10,11 @@ ], "require": { "php": "^8.0", - "friendsofphp/php-cs-fixer": "^3.6.0", - "kubawerlos/php-cs-fixer-custom-fixers": "^3.8.0" + "kubawerlos/php-cs-fixer-custom-fixers": "^3.10.0", + "php-cs-fixer/shim": "^3.7.0" }, "require-dev": { - "phpunit/phpunit": "^9.5.10" + "phpunit/phpunit": "^9.5.19" }, "autoload": { "psr-4": { @@ -23,12 +23,12 @@ }, "autoload-dev": { "psr-4": { - "Tests\\": "./tests" + "Dev\\": "./dev" } }, "scripts": { "fix": [ - "@php ./src/Builder/build.php", + "@php ./dev/build.php", "php-cs-fixer fix --quiet" ], "verify": [ diff --git a/src/Builder/Builder.php b/dev/Builder/Builder.php similarity index 89% rename from src/Builder/Builder.php rename to dev/Builder/Builder.php index 208ea44..66e002f 100644 --- a/src/Builder/Builder.php +++ b/dev/Builder/Builder.php @@ -9,10 +9,10 @@ * the LICENSE file that was distributed with this source code. */ -namespace PhpCsFixerConfig\Builder; +namespace Dev\Builder; -use PhpCsFixerConfig\Builder\Modifier\LibraryRulesModifier; -use PhpCsFixerConfig\Builder\Modifier\ProjectRulesModifier; +use Dev\Builder\Modifier\LibraryRulesModifier; +use Dev\Builder\Modifier\ProjectRulesModifier; /** * @internal @@ -47,7 +47,7 @@ private function dumpClass(string $name, Rules $rules): void $array = \preg_replace('/\d+\s*=>/', '', $array); $array = \str_replace("'__HEADER_PLACEHOLDER__'", '$this->header', $array); - $path = __DIR__ . '/../Rules/' . $name . '.php'; + $path = __DIR__ . '/../../src/Rules/' . $name . '.php'; $content = \file_get_contents($path); diff --git a/src/Builder/Modifier/LibraryRulesModifier.php b/dev/Builder/Modifier/LibraryRulesModifier.php similarity index 96% rename from src/Builder/Modifier/LibraryRulesModifier.php rename to dev/Builder/Modifier/LibraryRulesModifier.php index 080ae05..d3c92ac 100644 --- a/src/Builder/Modifier/LibraryRulesModifier.php +++ b/dev/Builder/Modifier/LibraryRulesModifier.php @@ -9,7 +9,7 @@ * the LICENSE file that was distributed with this source code. */ -namespace PhpCsFixerConfig\Builder\Modifier; +namespace Dev\Builder\Modifier; use PhpCsFixerCustomFixers\Fixer\NoNullableBooleanTypeFixer; use PhpCsFixerCustomFixers\Fixer\PhpdocOnlyAllowedAnnotationsFixer; diff --git a/src/Builder/Modifier/NonDefaultConfiguration.php b/dev/Builder/Modifier/NonDefaultConfiguration.php similarity index 97% rename from src/Builder/Modifier/NonDefaultConfiguration.php rename to dev/Builder/Modifier/NonDefaultConfiguration.php index 5645a72..edf9ee0 100644 --- a/src/Builder/Modifier/NonDefaultConfiguration.php +++ b/dev/Builder/Modifier/NonDefaultConfiguration.php @@ -9,7 +9,7 @@ * the LICENSE file that was distributed with this source code. */ -namespace PhpCsFixerConfig\Builder\Modifier; +namespace Dev\Builder\Modifier; use PhpCsFixer\Fixer\Whitespace\NoExtraBlankLinesFixer; diff --git a/src/Builder/Modifier/ProjectRulesModifier.php b/dev/Builder/Modifier/ProjectRulesModifier.php similarity index 94% rename from src/Builder/Modifier/ProjectRulesModifier.php rename to dev/Builder/Modifier/ProjectRulesModifier.php index 23b6d95..ec281ce 100644 --- a/src/Builder/Modifier/ProjectRulesModifier.php +++ b/dev/Builder/Modifier/ProjectRulesModifier.php @@ -9,7 +9,7 @@ * the LICENSE file that was distributed with this source code. */ -namespace PhpCsFixerConfig\Builder\Modifier; +namespace Dev\Builder\Modifier; use PhpCsFixerCustomFixers\Fixer\PhpdocOnlyAllowedAnnotationsFixer; diff --git a/src/Builder/Modifier/UnwantedRulesFilter.php b/dev/Builder/Modifier/UnwantedRulesFilter.php similarity index 84% rename from src/Builder/Modifier/UnwantedRulesFilter.php rename to dev/Builder/Modifier/UnwantedRulesFilter.php index 8793de4..18cf448 100644 --- a/src/Builder/Modifier/UnwantedRulesFilter.php +++ b/dev/Builder/Modifier/UnwantedRulesFilter.php @@ -9,7 +9,7 @@ * the LICENSE file that was distributed with this source code. */ -namespace PhpCsFixerConfig\Builder\Modifier; +namespace Dev\Builder\Modifier; /** * @internal @@ -25,11 +25,13 @@ final class UnwantedRulesFilter 'group_import', 'linebreak_after_opening_tag', 'no_blank_lines_before_namespace', + 'no_trailing_comma_in_singleline_function_call', // NoTrailingCommaInSinglelineFixer used 'not_operator_with_space', 'not_operator_with_successor_space', 'php_unit_size_class', 'phpdoc_summary', 'phpdoc_to_property_type', + 'single_line_comment_spacing', // CommentSurroundedBySpacesFixer used ]; /** diff --git a/src/Builder/Rules.php b/dev/Builder/Rules.php similarity index 80% rename from src/Builder/Rules.php rename to dev/Builder/Rules.php index 41828f6..9413bc8 100644 --- a/src/Builder/Rules.php +++ b/dev/Builder/Rules.php @@ -9,10 +9,13 @@ * the LICENSE file that was distributed with this source code. */ -namespace PhpCsFixerConfig\Builder; +namespace Dev\Builder; +use Dev\Builder\Modifier\NonDefaultConfiguration; +use Dev\Builder\Modifier\UnwantedRulesFilter; use PhpCsFixer\Fixer\DeprecatedFixerInterface; use PhpCsFixer\FixerFactory; +use PhpCsFixerCustomFixers\Fixers; /** * @internal @@ -36,15 +39,15 @@ public function __construct() \ksort($this->rules); - foreach (new \PhpCsFixerCustomFixers\Fixers() as $fixer) { + foreach (new Fixers() as $fixer) { if ($fixer instanceof DeprecatedFixerInterface) { continue; } $this->rules[$fixer->getName()] = true; } - $this->apply(new Modifier\NonDefaultConfiguration()); - $this->apply(new Modifier\UnwantedRulesFilter()); + $this->apply(new NonDefaultConfiguration()); + $this->apply(new UnwantedRulesFilter()); } public function apply(callable $closure): void diff --git a/tests/AutoReview/SrcCodeTest.php b/dev/Test/AutoReview/SrcCodeTest.php similarity index 94% rename from tests/AutoReview/SrcCodeTest.php rename to dev/Test/AutoReview/SrcCodeTest.php index 0c072c4..d1dab15 100644 --- a/tests/AutoReview/SrcCodeTest.php +++ b/dev/Test/AutoReview/SrcCodeTest.php @@ -9,7 +9,7 @@ * the LICENSE file that was distributed with this source code. */ -namespace Tests\AutoReview; +namespace Dev\Test\AutoReview; use PhpCsFixerConfig\Factory; use PHPUnit\Framework\TestCase; @@ -27,7 +27,7 @@ public function testOnlyFactoryClassIsPublic(): void { $finder = Finder::create() ->files() - ->in(__DIR__ . '/../../src') + ->in(__DIR__ . '/../../../src') ->notName('build.php'); /** @var SplFileInfo $file */ diff --git a/tests/Builder/Modifier/NonDefaultConfigurationTest.php b/dev/Test/Builder/Modifier/NonDefaultConfigurationTest.php similarity index 94% rename from tests/Builder/Modifier/NonDefaultConfigurationTest.php rename to dev/Test/Builder/Modifier/NonDefaultConfigurationTest.php index db103d3..eb030d4 100644 --- a/tests/Builder/Modifier/NonDefaultConfigurationTest.php +++ b/dev/Test/Builder/Modifier/NonDefaultConfigurationTest.php @@ -9,19 +9,19 @@ * the LICENSE file that was distributed with this source code. */ -namespace Tests\Builder\Modifier; +namespace Dev\Test\Builder\Modifier; +use Dev\Builder\Modifier\NonDefaultConfiguration; use PhpCsFixer\Fixer\DeprecatedFixerInterface; use PhpCsFixer\Fixer\FixerInterface; use PhpCsFixer\FixerConfiguration\DeprecatedFixerOptionInterface; use PhpCsFixer\FixerFactory; use PhpCsFixer\RuleSet\RuleSet; -use PhpCsFixerConfig\Builder\Modifier\NonDefaultConfiguration; use PhpCsFixerCustomFixers\Fixers; use PHPUnit\Framework\TestCase; /** - * @covers \PhpCsFixerConfig\Builder\Modifier\NonDefaultConfiguration + * @covers \Dev\Builder\Modifier\NonDefaultConfiguration * * @internal */ diff --git a/tests/Builder/Modifier/UnwantedRulesFilterTest.php b/dev/Test/Builder/Modifier/UnwantedRulesFilterTest.php similarity index 91% rename from tests/Builder/Modifier/UnwantedRulesFilterTest.php rename to dev/Test/Builder/Modifier/UnwantedRulesFilterTest.php index 4e8284e..cbf386d 100644 --- a/tests/Builder/Modifier/UnwantedRulesFilterTest.php +++ b/dev/Test/Builder/Modifier/UnwantedRulesFilterTest.php @@ -9,18 +9,18 @@ * the LICENSE file that was distributed with this source code. */ -namespace Tests\Builder\Modifier; +namespace Dev\Test\Builder\Modifier; +use Dev\Builder\Modifier\UnwantedRulesFilter; use PhpCsFixer\Fixer\DeprecatedFixerInterface; use PhpCsFixer\Fixer\FixerInterface; use PhpCsFixer\FixerFactory; use PhpCsFixer\RuleSet\RuleSet; -use PhpCsFixerConfig\Builder\Modifier\UnwantedRulesFilter; use PhpCsFixerCustomFixers\Fixers; use PHPUnit\Framework\TestCase; /** - * @covers \PhpCsFixerConfig\Builder\Modifier\UnwantedRulesFilter + * @covers \Dev\Builder\Modifier\UnwantedRulesFilter * * @internal */ diff --git a/tests/BuilderTest.php b/dev/Test/BuilderTest.php similarity index 79% rename from tests/BuilderTest.php rename to dev/Test/BuilderTest.php index a1805e1..a082160 100644 --- a/tests/BuilderTest.php +++ b/dev/Test/BuilderTest.php @@ -9,15 +9,15 @@ * the LICENSE file that was distributed with this source code. */ -namespace Tests; +namespace Dev; -use PhpCsFixerConfig\Builder\Modifier\NonDefaultConfiguration; -use PhpCsFixerConfig\Builder\Modifier\UnwantedRulesFilter; +use Dev\Builder\Modifier\NonDefaultConfiguration; +use Dev\Builder\Modifier\UnwantedRulesFilter; use PHPUnit\Framework\TestCase; /** - * @covers \PhpCsFixerConfig\Builder\Modifier\NonDefaultConfiguration - * @covers \PhpCsFixerConfig\Builder\Modifier\UnwantedRulesFilter + * @covers \Dev\Builder\Modifier\NonDefaultConfiguration + * @covers \Dev\Builder\Modifier\UnwantedRulesFilter * * @internal */ diff --git a/tests/FactoryTest.php b/dev/Test/FactoryTest.php similarity index 97% rename from tests/FactoryTest.php rename to dev/Test/FactoryTest.php index 2c3eba6..51c997f 100644 --- a/tests/FactoryTest.php +++ b/dev/Test/FactoryTest.php @@ -9,7 +9,7 @@ * the LICENSE file that was distributed with this source code. */ -namespace Tests; +namespace Dev; use PhpCsFixer\Config; use PhpCsFixerConfig\Factory; diff --git a/tests/Rules/LibraryRulesTest.php b/dev/Test/Rules/LibraryRulesTest.php similarity index 93% rename from tests/Rules/LibraryRulesTest.php rename to dev/Test/Rules/LibraryRulesTest.php index ed3b678..50f7053 100644 --- a/tests/Rules/LibraryRulesTest.php +++ b/dev/Test/Rules/LibraryRulesTest.php @@ -9,12 +9,12 @@ * the LICENSE file that was distributed with this source code. */ -namespace Tests\Rules; +namespace Dev\Test\Rules; +use Dev\Builder\Modifier\LibraryRulesModifier; +use Dev\Builder\Rules; use PhpCsFixer\FixerFactory; use PhpCsFixer\RuleSet\RuleSet; -use PhpCsFixerConfig\Builder\Modifier\LibraryRulesModifier; -use PhpCsFixerConfig\Builder\Rules; use PhpCsFixerConfig\Rules\LibraryRules; use PhpCsFixerCustomFixers\Fixers; use PHPUnit\Framework\TestCase; diff --git a/tests/Rules/ProjectRulesTest.php b/dev/Test/Rules/ProjectRulesTest.php similarity index 91% rename from tests/Rules/ProjectRulesTest.php rename to dev/Test/Rules/ProjectRulesTest.php index a8b3b57..e670618 100644 --- a/tests/Rules/ProjectRulesTest.php +++ b/dev/Test/Rules/ProjectRulesTest.php @@ -9,12 +9,12 @@ * the LICENSE file that was distributed with this source code. */ -namespace Tests\Rules; +namespace Dev\Test\Rules; +use Dev\Builder\Modifier\ProjectRulesModifier; +use Dev\Builder\Rules; use PhpCsFixer\FixerFactory; use PhpCsFixer\RuleSet\RuleSet; -use PhpCsFixerConfig\Builder\Modifier\ProjectRulesModifier; -use PhpCsFixerConfig\Builder\Rules; use PhpCsFixerConfig\Rules\ProjectRules; use PhpCsFixerCustomFixers\Fixers; use PHPUnit\Framework\TestCase; diff --git a/dev/autoload.php b/dev/autoload.php new file mode 100644 index 0000000..742464a --- /dev/null +++ b/dev/autoload.php @@ -0,0 +1,19 @@ +build(); + +exec('php ' . __DIR__ . '/../vendor/bin/php-cs-fixer fix'); diff --git a/phpunit.xml b/phpunit.xml index 002ee73..9817892 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -2,6 +2,7 @@ - ./tests/ + ./dev/Test/ @@ -24,9 +25,6 @@ ./src/ - - ./src/Builder/ - diff --git a/src/Builder/build.php b/src/Builder/build.php deleted file mode 100644 index 07033e4..0000000 --- a/src/Builder/build.php +++ /dev/null @@ -1,22 +0,0 @@ -build(); - -$process = Symfony\Component\Process\Process::fromShellCommandline('php ' . __DIR__ . '/../../vendor/bin/php-cs-fixer fix'); -$exitCode = $process->run(); - -if ($exitCode > 0) { - throw new RuntimeException($process->getErrorOutput()); -} diff --git a/src/Rules/LibraryRules.php b/src/Rules/LibraryRules.php index 4e1d489..ef9812d 100644 --- a/src/Rules/LibraryRules.php +++ b/src/Rules/LibraryRules.php @@ -211,6 +211,7 @@ public function getRules(): array ], 'no_trailing_comma_in_list_call' => true, 'no_trailing_comma_in_singleline_array' => true, + 'no_trailing_comma_in_singleline_function_call' => false, 'no_trailing_whitespace' => true, 'no_trailing_whitespace_in_comment' => true, 'no_trailing_whitespace_in_string' => true, @@ -310,6 +311,7 @@ public function getRules(): array 'single_class_element_per_statement' => true, 'single_import_per_statement' => true, 'single_line_after_imports' => true, + 'single_line_comment_spacing' => false, 'single_line_comment_style' => true, 'single_line_throw' => true, 'single_quote' => true, @@ -403,6 +405,7 @@ public function getRules(): array Fixer\PhpdocParamTypeFixer::name() => true, Fixer\PhpdocSelfAccessorFixer::name() => true, Fixer\PhpdocSingleLineVarFixer::name() => true, + Fixer\PhpdocTypesCommaSpacesFixer::name() => true, Fixer\PhpdocTypesTrimFixer::name() => true, Fixer\PhpdocVarAnnotationToAssertFixer::name() => true, Fixer\PromotedConstructorPropertyFixer::name() => true, diff --git a/src/Rules/ProjectRules.php b/src/Rules/ProjectRules.php index f925e01..d3f677d 100644 --- a/src/Rules/ProjectRules.php +++ b/src/Rules/ProjectRules.php @@ -189,6 +189,7 @@ public function getRules(): array ], 'no_trailing_comma_in_list_call' => true, 'no_trailing_comma_in_singleline_array' => true, + 'no_trailing_comma_in_singleline_function_call' => false, 'no_trailing_whitespace' => true, 'no_trailing_whitespace_in_comment' => true, 'no_trailing_whitespace_in_string' => true, @@ -288,6 +289,7 @@ public function getRules(): array 'single_class_element_per_statement' => true, 'single_import_per_statement' => true, 'single_line_after_imports' => true, + 'single_line_comment_spacing' => false, 'single_line_comment_style' => true, 'single_line_throw' => true, 'single_quote' => true, @@ -365,6 +367,7 @@ public function getRules(): array Fixer\PhpdocParamTypeFixer::name() => true, Fixer\PhpdocSelfAccessorFixer::name() => true, Fixer\PhpdocSingleLineVarFixer::name() => true, + Fixer\PhpdocTypesCommaSpacesFixer::name() => true, Fixer\PhpdocTypesTrimFixer::name() => true, Fixer\PhpdocVarAnnotationToAssertFixer::name() => true, Fixer\PromotedConstructorPropertyFixer::name() => true,