diff --git a/composer.json b/composer.json index b79fad78e..4679691c2 100644 --- a/composer.json +++ b/composer.json @@ -5,17 +5,17 @@ "license": "MIT", "require": { "php": "^8.4", - "webmozart/assert": "^2.0", + "webmozart/assert": "^2.4", "phpstan/phpstan": "^2.2", "nette/utils": "^4.1", "phpstan/phpdoc-parser": "^2.3" }, "require-dev": { "nikic/php-parser": "^5.7", - "phpunit/phpunit": "^13.0", - "symfony/framework-bundle": "^6.2", - "illuminate/container": "^11.0", - "symplify/easy-coding-standard": "^13.1", + "phpunit/phpunit": "^13.2", + "symfony/framework-bundle": "^6.4", + "illuminate/container": "^11.51", + "symplify/easy-coding-standard": "^13.2", "tomasvotruba/class-leak": "^2.1", "rector/rector": "^2.4", "phpstan/extension-installer": "^1.4", diff --git a/config/ctor-rules.neon b/config/ctor-rules.neon index e5bb8715a..3b67881a5 100644 --- a/config/ctor-rules.neon +++ b/config/ctor-rules.neon @@ -1,6 +1,12 @@ parameters: # enables NewOverSettersRule, disabled by default - ctor: false + # + # parameters: + # symplify: + # ctor: true + # + # kept flat for backward compatibility, defaults to %symplify.ctor% + ctor: %symplify.ctor% parametersSchema: ctor: bool() diff --git a/config/mock-rules.neon b/config/mock-rules.neon index 6e3db73d4..f96f3df9b 100644 --- a/config/mock-rules.neon +++ b/config/mock-rules.neon @@ -1,10 +1,12 @@ # PHPUnit mocking rules, enable in your phpstan.neon with: # # parameters: -# mocks: true +# symplify: +# mocks: true parameters: - mocks: false + # kept flat for backward compatibility, defaults to %symplify.mocks% + mocks: %symplify.mocks% parametersSchema: mocks: bool() diff --git a/config/phpstan-extensions.neon b/config/phpstan-extensions.neon index 5a9deab49..c90ce4dad 100644 --- a/config/phpstan-extensions.neon +++ b/config/phpstan-extensions.neon @@ -1,14 +1,19 @@ # return type extensions are disabled by default; enable in your phpstan.neon with: # # parameters: -# symfonyReturnType: true -# laravelReturnType: true -# pathStrings: true +# symplify: +# symfonyReturnType: true +# laravelReturnType: true +# pathStrings: true + +includes: + - symplify-parameters.neon parameters: - symfonyReturnType: false - laravelReturnType: false - pathStrings: false + # kept flat for backward compatibility, default to the %symplify.*% nested values + symfonyReturnType: %symplify.symfonyReturnType% + laravelReturnType: %symplify.laravelReturnType% + pathStrings: %symplify.pathStrings% parametersSchema: symfonyReturnType: bool() diff --git a/config/services/services.neon b/config/services/services.neon index 504f113a3..188a8fbaa 100644 --- a/config/services/services.neon +++ b/config/services/services.neon @@ -1,6 +1,10 @@ +includes: + - ../symplify-parameters.neon + parameters: # related to MaximumIgnoredErrorCountRule - maximumIgnoredErrorCount: 0 + # kept flat for backward compatibility, defaults to %symplify.maximumIgnoredErrorCount% + maximumIgnoredErrorCount: %symplify.maximumIgnoredErrorCount% parametersSchema: # related to MaximumIgnoredErrorCountRule diff --git a/config/symplify-parameters.neon b/config/symplify-parameters.neon new file mode 100644 index 000000000..46ae55515 --- /dev/null +++ b/config/symplify-parameters.neon @@ -0,0 +1,31 @@ +# Nested configuration, the clear and preferred way to configure these rules: +# +# parameters: +# symplify: +# mocks: true +# ctor: true +# symfonyReturnType: true +# laravelReturnType: true +# pathStrings: true +# maximumIgnoredErrorCount: 0 +# +# The flat parameters (e.g. "mocks: true") are kept for backward compatibility +# and default to their nested "symplify.*" counterpart. +parameters: + symplify: + mocks: false + ctor: false + symfonyReturnType: false + laravelReturnType: false + pathStrings: false + maximumIgnoredErrorCount: 0 + +parametersSchema: + symplify: structure([ + mocks: bool() + ctor: bool() + symfonyReturnType: bool() + laravelReturnType: bool() + pathStrings: bool() + maximumIgnoredErrorCount: int() + ])