in([ __DIR__ . '/src', __DIR__ . '/tests', ]) ->name('*.php') ->notName('*.cache.php') ->ignoreDotFiles(true) ->ignoreVCS(true); return (new PhpCsFixer\Config()) ->setCacheFile('.cache/fixer/cs-fixer.cache') ->setRules([ '@PSR12' => true, 'array_syntax' => ['syntax' => 'short'], 'ordered_imports' => ['sort_algorithm' => 'alpha'], 'no_unused_imports' => true, 'blank_line_between_import_groups' => false, 'single_import_per_statement' => true, 'no_leading_import_slash' => true, 'no_unneeded_import_alias' => true, 'fully_qualified_strict_types' => [ 'import_symbols' => true, ], 'global_namespace_import' => [ 'import_classes' => true, 'import_constants' => true, 'import_functions' => true, ], 'not_operator_with_successor_space' => true, 'trailing_comma_in_multiline' => true, 'phpdoc_scalar' => true, 'unary_operator_spaces' => true, 'binary_operator_spaces' => true, 'blank_line_before_statement' => [ 'statements' => ['break', 'continue', 'declare', 'return', 'throw', 'try'], ], 'phpdoc_single_line_var_spacing' => true, 'phpdoc_var_without_name' => true, 'class_attributes_separation' => [ 'elements' => [ 'method' => 'one', ], ], 'method_argument_space' => [ 'on_multiline' => 'ensure_fully_multiline', 'keep_multiple_spaces_after_comma' => true, ], 'single_trait_insert_per_statement' => true, 'declare_strict_types' => true, 'no_empty_comment' => true, 'no_empty_phpdoc' => true, // Test styling 'php_unit_data_provider_name' => [ 'prefix' => 'provide_', 'suffix' => '_cases', ], 'php_unit_data_provider_return_type' => true, 'php_unit_data_provider_static' => [ 'force' => true, ], 'php_unit_dedicate_assert_internal_type' => true, 'php_unit_internal_class' => true, 'php_unit_method_casing' => [ 'case' => 'snake_case', ], 'php_unit_expectation' => [ 'target' => 'newest', ], 'php_unit_mock' => [ 'target' => 'newest', ], 'php_unit_mock_short_will_return' => true, 'php_unit_set_up_tear_down_visibility' => true, 'php_unit_size_class' => true, 'php_unit_test_annotation' => [ 'style' => 'prefix', ], 'php_unit_test_case_static_method_calls' => [ 'call_type' => 'this', ], ]) ->setFinder($finder);