From 13ba07f31ca7c0f6070340e7f4f0b8cca9d95add Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Uzna=C5=84ski?= Date: Wed, 17 Nov 2021 16:45:49 +0100 Subject: [PATCH] [TASK] Migrate to typo3 coding standards (#340) --- .gitattributes | 2 +- .php-cs-fixer.php | 5 ++ .php_cs.php | 186 ---------------------------------------------- composer.json | 11 +-- 4 files changed, 12 insertions(+), 192 deletions(-) create mode 100644 .php-cs-fixer.php delete mode 100644 .php_cs.php diff --git a/.gitattributes b/.gitattributes index b4ee44f..6349f56 100644 --- a/.gitattributes +++ b/.gitattributes @@ -5,7 +5,7 @@ /.github/ export-ignore /.gitignore export-ignore /.gitlab/ export-ignore -/.php_cs.php export-ignore +/.php-cs-fixer.php export-ignore /.phpstorm.meta.php export-ignore /Resources/Private/.eslintignore export-ignore /Resources/Private/.eslintrc.json export-ignore diff --git a/.php-cs-fixer.php b/.php-cs-fixer.php new file mode 100644 index 0000000..b39c04b --- /dev/null +++ b/.php-cs-fixer.php @@ -0,0 +1,5 @@ +getFinder()->in('Classes')->in('Configuration')->in('Tests'); +return $config; diff --git a/.php_cs.php b/.php_cs.php deleted file mode 100644 index 96dc8b9..0000000 --- a/.php_cs.php +++ /dev/null @@ -1,186 +0,0 @@ - true, - '@PHP56Migration' => true, - '@PHP56Migration:risky' => true, - '@PHP70Migration' => true, - '@PHP71Migration' => true, - '@PHPUnit57Migration:risky' => true, - '@PHPUnit60Migration:risky' => true, - '@PHPUnit75Migration:risky' => true, - '@PHPUnit84Migration:risky' => true, - - 'align_multiline_comment' => true, - 'array_indentation' => true, - 'array_syntax' => ['syntax' => 'short'], - 'binary_operator_spaces' => true, - 'blank_line_before_statement' => true, - 'braces' => [ - 'allow_single_line_closure' => true, - ], - 'class_attributes_separation' => ['elements' => ['method']], - 'class_definition' => ['single_line' => true], - 'combine_consecutive_issets' => true, - 'combine_consecutive_unsets' => true, - 'comment_to_phpdoc' => true, - 'compact_nullable_typehint' => true, - 'concat_space' => ['spacing' => 'one'], - 'declare_equal_normalize' => true, - 'dir_constant' => true, - 'ereg_to_preg' => true, - 'error_suppression' => true, - 'escape_implicit_backslashes' => true, - 'explicit_indirect_variable' => true, - 'explicit_string_variable' => true, - 'final_internal_class' => true, - 'fopen_flag_order' => true, - 'fopen_flags' => ['b_mode' => false], - 'fully_qualified_strict_types' => true, - 'function_to_constant' => true, - 'function_typehint_space' => true, - 'hash_to_slash_comment' => true, - 'heredoc_to_nowdoc' => true, - 'implode_call' => true, - 'include' => true, - 'is_null' => true, - 'linebreak_after_opening_tag' => true, - 'list_syntax' => ['syntax' => 'short'], - 'logical_operators' => true, - 'lowercase_cast' => true, - 'lowercase_static_reference' => true, - 'magic_constant_casing' => true, - 'magic_method_casing' => true, - 'method_argument_space' => ['on_multiline' => 'ensure_fully_multiline'], - 'method_chaining_indentation' => true, - 'method_separation' => true, - 'modernize_types_casting' => true, - 'multiline_comment_opening_closing' => true, - 'native_function_casing' => true, - 'new_with_braces' => true, - 'no_alias_functions' => true, - 'no_alternative_syntax' => true, - 'no_binary_string' => true, - 'no_blank_lines_after_class_opening' => true, - 'no_blank_lines_after_phpdoc' => true, - 'no_empty_comment' => true, - 'no_empty_phpdoc' => true, - 'no_empty_statement' => true, - 'no_extra_blank_lines' => [ - 'tokens' => [ - 'break', - 'continue', - 'curly_brace_block', - 'extra', - 'parenthesis_brace_block', - 'return', - 'square_brace_block', - 'throw', - 'use', - ], - ], - 'no_extra_consecutive_blank_lines' => true, - 'no_homoglyph_names' => true, - 'no_leading_import_slash' => true, - 'no_leading_namespace_whitespace' => true, - 'no_mixed_echo_print' => ['use' => 'echo'], - 'no_multiline_whitespace_around_double_arrow' => true, - 'no_multiline_whitespace_before_semicolons' => true, - 'no_php4_constructor' => true, - 'no_short_bool_cast' => true, - 'no_short_echo_tag' => true, - 'no_singleline_whitespace_before_semicolons' => true, - 'no_spaces_after_function_name' => true, - 'no_spaces_around_offset' => true, - 'no_spaces_inside_parenthesis' => true, - 'no_superfluous_elseif' => true, - 'no_trailing_comma_in_list_call' => true, - 'no_trailing_comma_in_singleline_array' => true, - 'no_unneeded_control_parentheses' => true, - 'no_unneeded_curly_braces' => true, - 'no_unneeded_final_method' => true, - 'no_unreachable_default_argument_value' => true, - 'no_unset_cast' => true, - 'no_unset_on_property' => true, - 'no_unused_imports' => true, - 'no_useless_else' => true, - 'no_useless_return' => true, - 'no_whitespace_before_comma_in_array' => true, - 'no_whitespace_in_blank_line' => true, - 'non_printable_character' => [ - 'use_escape_sequences_in_strings' => false, - ], - 'normalize_index_brace' => true, - 'object_operator_without_whitespace' => true, - 'ordered_imports' => true, - 'phpdoc_add_missing_param_annotation' => true, - 'phpdoc_no_package' => true, - 'phpdoc_indent' => true, - 'phpdoc_inline_tag' => true, - 'phpdoc_no_access' => true, - 'phpdoc_no_alias_tag' => true, - 'phpdoc_no_useless_inheritdoc' => true, - 'phpdoc_return_self_reference' => true, - 'phpdoc_scalar' => true, - 'phpdoc_single_line_var_spacing' => true, - 'phpdoc_summary' => true, - 'phpdoc_to_comment' => true, - 'phpdoc_trim' => true, - 'phpdoc_trim_consecutive_blank_line_separation' => true, - 'phpdoc_types' => true, - 'phpdoc_types_order' => [ - 'null_adjustment' => 'always_last', - 'sort_algorithm' => 'none', - ], - 'phpdoc_var_annotation_correct_order' => true, - 'phpdoc_var_without_name' => true, - 'php_unit_construct' => true, - 'php_unit_dedicate_assert' => true, - 'php_unit_expectation' => true, - 'php_unit_fqcn_annotation' => true, - 'php_unit_method_casing' => true, - 'php_unit_mock' => true, - 'php_unit_no_expectation_annotation' => true, - 'php_unit_ordered_covers' => true, - 'php_unit_set_up_tear_down_visibility' => true, - 'php_unit_test_case_static_method_calls' => ['call_type' => 'self'], - 'protected_to_private' => true, - 'psr4' => true, - 'return_type_declaration' => true, - 'self_accessor' => true, - 'semicolon_after_instruction' => true, - 'set_type_to_cast' => true, - 'short_scalar_cast' => true, - 'single_blank_line_before_namespace' => true, - 'single_class_element_per_statement' => true, - 'single_line_comment_style' => true, - 'single_quote' => true, - 'space_after_semicolon' => [ - 'remove_in_empty_for_expressions' => true, - ], - 'standardize_not_equals' => true, - 'strict_comparison' => true, - 'strict_param' => true, - 'string_line_ending' => true, - 'standardize_increment' => true, - 'ternary_operator_spaces' => true, - 'trailing_comma_in_multiline_array' => true, - 'trim_array_spaces' => true, - 'unary_operator_spaces' => true, - 'void_return' => true, - 'whitespace_after_comma_in_array' => true, -]; - -$config = \PhpCsFixer\Config::create() - ->setRiskyAllowed(true) - ->setRules($rules); - -$finder = \PhpCsFixer\Finder::create() - ->in('Classes') - ->in('Tests') - ->in('Configuration'); - -return $config->setFinder($finder); diff --git a/composer.json b/composer.json index da2602d..205c14c 100644 --- a/composer.json +++ b/composer.json @@ -37,7 +37,7 @@ "require-dev": { "codeception/codeception": "^4.1.22", "ergebnis/composer-normalize": "^2.15.0", - "friendsofphp/php-cs-fixer": "^2.19.2", + "friendsofphp/php-cs-fixer": "^3.2", "helmich/typo3-typoscript-lint": "^2.5.2", "jangregor/phpstan-prophecy": "^0.8.1", "nimut/testing-framework": "^6.0.0", @@ -49,7 +49,8 @@ "seld/jsonlint": "^1.8.3", "squizlabs/php_codesniffer": "^3.6.1", "symfony/yaml": "^4.4.29 || ^5.3.6 || ^6.0", - "typo3/cms-fluid-styled-content": "^9.5 || ^10.4 || ^11.5.2" + "typo3/cms-fluid-styled-content": "^9.5 || ^10.4 || ^11.5.2", + "typo3/coding-standards": "^0.5.0" }, "config": { "preferred-install": { @@ -106,7 +107,7 @@ "@ci:php:stan" ], "ci:php:copypaste": "@php ./tools/phpcpd Classes Configuration Tests", - "ci:php:cs-fixer": "php-cs-fixer fix --config .php_cs.php -v --dry-run --using-cache false --diff --diff-format=udiff", + "ci:php:cs-fixer": "php-cs-fixer fix --config .php-cs-fixer.php -v --dry-run --using-cache no --diff", "ci:php:lint": "find *.php Classes Configuration Tests -name '*.php' -print0 | xargs -0 -n 1 -P 4 php -l", "ci:php:sniff": "phpcs Classes Configuration Tests", "ci:php:stan": "phpstan --no-progress", @@ -136,7 +137,7 @@ "@fix:php:cs", "@fix:php:sniff" ], - "fix:php:cs": "php-cs-fixer fix --config .php_cs.php", + "fix:php:cs": "php-cs-fixer fix --config .php-cs-fixer.php", "fix:php:sniff": "phpcbf Classes Configuration Tests", "link-extension": [ "@php -r 'is_dir($extFolder=__DIR__.\"/.Build/public/typo3conf/ext/\") || mkdir($extFolder, 0777, true);'", @@ -153,7 +154,7 @@ "rm -rf tools", "rm .editorconfig", "rm .gitattributes", - "rm .php_cs.php", + "rm .php-cs-fixer.php", "rm Resources/Private/.eslintignore", "rm Resources/Private/.eslintrc.json", "rm Resources/Private/.prettierrc.js",