Skip to content

Commit

Permalink
Merge pull request #57 from chelout/laravel-10
Browse files Browse the repository at this point in the history
Laravel 10
  • Loading branch information
chelout authored Feb 15, 2023
2 parents fa47732 + d2f556c commit 2df4898
Show file tree
Hide file tree
Showing 26 changed files with 646 additions and 368 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
strategy:
fail-fast: true
matrix:
php: [7.2, 7.3, 7.4, 8.0]
php: [8.1, 8.2]
stability: [prefer-lowest, prefer-stable]

name: P${{ matrix.php }} - S${{ matrix.stability }}
Expand All @@ -37,4 +37,4 @@ jobs:
run: composer update --${{ matrix.stability }} --prefer-dist --no-interaction --no-progress --no-suggest

- name: Execute tests
run: vendor/bin/phpunit --verbose
run: vendor/bin/phpunit
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,5 @@ yarn-error.log
.env
.DS_Store
/composer.lock
/.phpunit.cache
/.phpunit.result.cache
304 changes: 304 additions & 0 deletions .php-cs-fixer.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,304 @@
<?php

$config = new PhpCsFixer\Config();
$config->setUsingCache(false);

$finder = PhpCsFixer\Finder::create()
->exclude([
'admin/components/gii/crud/default',
'admin/module/rbac/views',
'admin/views',
'api/docs',
'common/components/cards/protobuf',
'common/components/iban/protobuf',
'common/components/walletApi/protobuf',
'console/views',
'partners/views',
'partners/views_old',
'tests',
])
->in(__DIR__);

return $config->setRules([
'@PSR12' => true,
'@PHP82Migration' => true,
'array_syntax' => ['syntax' => 'short'],
'binary_operator_spaces' => true,
'blank_line_before_statement' => [
'statements' => [
'break',
'continue',
'declare',
'exit',
'return',
'throw',
'try',
'yield',
'yield_from',
],
],
'braces' => ['allow_single_line_anonymous_class_with_empty_body' => true],
'cast_spaces' => true,
'class_attributes_separation' => [
'elements' => [
'method' => 'one',
],
],
'class_definition' => ['multi_line_extends_each_single_line' => true],
'class_reference_name_casing' => true,
'clean_namespace' => true,
'concat_space' => ['spacing' => 'one'],
'echo_tag_syntax' => ['format' => 'short'],
'empty_loop_body' => ['style' => 'braces'],
'empty_loop_condition' => true,
'fully_qualified_strict_types' => true,
'function_typehint_space' => true,
'global_namespace_import' => [
'import_classes' => true,
'import_constants' => true,
'import_functions' => false,
],
'include' => true,
'integer_literal_case' => true,
'lambda_not_used_import' => true,
'linebreak_after_opening_tag' => true,
'magic_constant_casing' => true,
'magic_method_casing' => true,
'method_argument_space' => [
'on_multiline' => 'ensure_fully_multiline',
'keep_multiple_spaces_after_comma' => false,
'after_heredoc' => true,
],
'native_function_casing' => true,
'native_function_type_declaration_casing' => true,
'no_alias_language_construct_call' => true,
'no_alternative_syntax' => ['fix_non_monolithic_code' => true],
'no_binary_string' => true,
'no_blank_lines_after_phpdoc' => true,
'no_empty_comment' => true,
'no_empty_phpdoc' => true,
'no_empty_statement' => true,
'no_extra_blank_lines' => [
'tokens' => [
'attribute',
'break',
'case',
'continue',
'curly_brace_block',
'default',
'extra',
'parenthesis_brace_block',
'return',
'square_brace_block',
'switch',
'throw',
'use',
],
],
'no_leading_namespace_whitespace' => true,
'no_mixed_echo_print' => true,
'no_multiline_whitespace_around_double_arrow' => true,
'no_short_bool_cast' => true,
'no_singleline_whitespace_before_semicolons' => true,
'no_spaces_around_offset' => true,
'no_superfluous_phpdoc_tags' => ['allow_mixed' => true, 'allow_unused_params' => true], // Убирать лишние теги из phpdoc
'no_trailing_comma_in_singleline' => [
'elements' => [
'arguments',
'array_destructuring',
'array',
'group_import',
],
],
'no_unneeded_control_parentheses' => [
'statements' => [
'break',
'clone',
'continue',
'echo_print',
'negative_instanceof',
'others',
'return',
'switch_case',
'yield',
'yield_from',
],
],
'no_unneeded_curly_braces' => ['namespaces' => true],
'no_unneeded_import_alias' => true,
'no_unset_cast' => true,
'no_unused_imports' => true,
'no_useless_concat_operator' => true,
'no_useless_nullsafe_operator' => true,
'no_whitespace_before_comma_in_array' => ['after_heredoc' => true],
'normalize_index_brace' => true,
'object_operator_without_whitespace' => true,
'ordered_imports' => [
'imports_order' => [
'class',
'function',
'const',
],
'sort_algorithm' => 'alpha',
],
'php_unit_fqcn_annotation' => true,
'php_unit_method_casing' => true,
'phpdoc_align' => ['align' => 'left'],
'phpdoc_annotation_without_dot' => true,
'phpdoc_indent' => true,
'phpdoc_no_access' => true,
'phpdoc_no_alias_tag' => [
'replacements' => [
'type' => 'var',
'link' => 'see',
],
],
'phpdoc_no_package' => true,
'phpdoc_no_useless_inheritdoc' => true,
'phpdoc_order' => [
'order' => [
'param',
'return',
'throws',
],
],
'phpdoc_return_self_reference' => true,
'phpdoc_scalar' => true,
'phpdoc_separation' => true,
'phpdoc_single_line_var_spacing' => true,
'phpdoc_tag_type' => [
'tags' => [
'inheritDoc' => 'inline',
],
],
'phpdoc_to_comment' => [
'ignored_tags' => [
'var',
],
],
'phpdoc_trim' => true,
'phpdoc_trim_consecutive_blank_line_separation' => true,
'phpdoc_types' => true,
'phpdoc_types_order' => [
'null_adjustment' => 'always_first',
'sort_algorithm' => 'alpha',
],
'phpdoc_var_without_name' => true,
'simple_to_complex_string_variable' => true,
'simplified_if_return' => true,
'single_class_element_per_statement' => true,
'single_import_per_statement' => true,
'single_line_comment_spacing' => true,
'single_line_comment_style' => [
'comment_types' => [
'hash',
],
],
'single_quote' => true,
'single_space_after_construct' => [
'constructs' => [
'abstract',
'as',
'attribute',
'break',
'case',
'catch',
'class',
'clone',
'comment',
'const',
'const_import',
'continue',
'do',
'echo',
'else',
'elseif',
'enum',
'extends',
'final',
'finally',
'for',
'foreach',
'function',
'function_import',
'global',
'goto',
'if',
'implements',
'include',
'include_once',
'instanceof',
'insteadof',
'interface',
'match',
'named_argument',
'namespace',
'new',
'open_tag_with_echo',
'php_doc',
'php_open',
'print',
'private',
'protected',
'public',
'readonly',
'require',
'require_once',
'return',
'static',
'switch',
'throw',
'trait',
'try',
'type_colon',
'use',
'use_lambda',
'use_trait',
'var',
'while',
'yield',
'yield_from',
],
],
'space_after_semicolon' => ['remove_in_empty_for_expressions' => true],
'standardize_increment' => true,
'standardize_not_equals' => true,
'switch_continue_to_break' => true,
'trailing_comma_in_multiline' => [
'after_heredoc' => true,
'elements' => [
'arguments',
'arrays',
'match',
'parameters',
],
],
'trim_array_spaces' => true,
'types_spaces' => true,
'unary_operator_spaces' => true,
'whitespace_after_comma_in_array' => true,
'yoda_style' => [
'equal' => false,
'identical' => false,
'less_and_greater' => false,
],
// Risky
'@PSR12:risky' => true,
'@PHP80Migration:risky' => true,
// '@Symfony:risky' => true, // ? revise
'random_api_migration' => [
'replacements' => [
'mt_rand' => 'random_int',
'rand' => 'random_int',
],
],
'declare_strict_types' => false,
'void_return' => false, // temp, risky
'modernize_types_casting' => true,
// 'self_accessor' => true, // temp, risky
// 'date_time_immutable' => true, // temp, risky
// 'native_function_invocation' => true, // ping Gorkovoy
// 'native_constant_invocation' => true, // ping Gorkovoy
'function_to_constant' => true,
'is_null' => true,
])->setFinder($finder);
19 changes: 12 additions & 7 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,20 @@
}
],
"require": {
"php": "^7.2|^8.0",
"illuminate/container": "^6.0|^7.0|^8.0|^9.0",
"illuminate/database": "^6.0|^7.0|^8.0|^9.0",
"illuminate/events": "^6.0|^7.0|^8.0|^9.0",
"illuminate/support": "^6.0|^7.0|^8.0|^9.0"
"php": "^8.1",
"illuminate/container": "^10.0",
"illuminate/database": "^10.0",
"illuminate/events": "^10.0",
"illuminate/support": "^10.0"
},
"require-dev": {
"phpunit/phpunit": "^8.3|^9.0|^9.3",
"orchestra/testbench": "^4.0|^5.0|^6.0|dev-remove-nice-to-have-deps"
"phpunit/phpunit": "^9.6.0 || ^10.0.7",
"orchestra/testbench": "^8.0",
"friendsofphp/php-cs-fixer": "^3.14"
},
"scripts": {
"fix": "php-cs-fixer --config=.php-cs-fixer.php --dry-run --allow-risky=yes --verbose fix",
"test": "phpunit tests"
},
"autoload": {
"psr-4": {
Expand Down
32 changes: 11 additions & 21 deletions phpunit.xml.dist
Original file line number Diff line number Diff line change
@@ -1,23 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
backupStaticAttributes="false"
bootstrap="vendor/autoload.php"
colors="true"
verbose="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
>
<testsuites>
<testsuite name="Package Test Suite">
<directory suffix="Test.php">./tests/</directory>
</testsuite>
</testsuites>
<filter>
<whitelist addUncoveredFilesFromWhitelist="true">
<directory suffix=".php">./src</directory>
</whitelist>
</filter>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" backupGlobals="false" bootstrap="vendor/autoload.php" colors="true" processIsolation="false" stopOnFailure="false" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.0/phpunit.xsd" cacheDirectory=".phpunit.cache" backupStaticProperties="false">
<coverage includeUncoveredFiles="true">
<include>
<directory suffix=".php">./src</directory>
</include>
</coverage>
<testsuites>
<testsuite name="Package Test Suite">
<directory suffix="Test.php">./tests/</directory>
</testsuite>
</testsuites>
</phpunit>
Loading

0 comments on commit 2df4898

Please sign in to comment.