mirror of
https://github.com/brunofontes/shareit.git
synced 2024-11-23 20:10:52 +00:00
chore: Add phpstan and phpinsights
This commit is contained in:
parent
aa55e10e69
commit
0c92958fe2
2
check.sh
Normal file
2
check.sh
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
./vendor/bin/phpstan analyse --memory-limit=2G
|
||||||
|
php artisan insights
|
@ -18,6 +18,9 @@
|
|||||||
"fzaninotto/faker": "^1.4",
|
"fzaninotto/faker": "^1.4",
|
||||||
"mockery/mockery": "^1.0",
|
"mockery/mockery": "^1.0",
|
||||||
"nunomaduro/collision": "^5.0",
|
"nunomaduro/collision": "^5.0",
|
||||||
|
"nunomaduro/larastan": "^0.7.4",
|
||||||
|
"nunomaduro/phpinsights": "^1.14",
|
||||||
|
"phpstan/phpstan": "^0.12.85",
|
||||||
"phpunit/phpunit": "^9.0"
|
"phpunit/phpunit": "^9.0"
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
2024
composer.lock
generated
2024
composer.lock
generated
File diff suppressed because it is too large
Load Diff
113
config/insights.php
Normal file
113
config/insights.php
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
use NunoMaduro\PhpInsights\Domain\Insights\ForbiddenDefineFunctions;
|
||||||
|
use NunoMaduro\PhpInsights\Domain\Insights\ForbiddenFinalClasses;
|
||||||
|
use NunoMaduro\PhpInsights\Domain\Insights\ForbiddenNormalClasses;
|
||||||
|
use NunoMaduro\PhpInsights\Domain\Insights\ForbiddenPrivateMethods;
|
||||||
|
use NunoMaduro\PhpInsights\Domain\Insights\ForbiddenTraits;
|
||||||
|
use NunoMaduro\PhpInsights\Domain\Metrics\Architecture\Classes;
|
||||||
|
use SlevomatCodingStandard\Sniffs\Commenting\UselessFunctionDocCommentSniff;
|
||||||
|
use SlevomatCodingStandard\Sniffs\Namespaces\AlphabeticallySortedUsesSniff;
|
||||||
|
use SlevomatCodingStandard\Sniffs\TypeHints\DeclareStrictTypesSniff;
|
||||||
|
use SlevomatCodingStandard\Sniffs\TypeHints\DisallowMixedTypeHintSniff;
|
||||||
|
use SlevomatCodingStandard\Sniffs\TypeHints\ParameterTypeHintSniff;
|
||||||
|
use SlevomatCodingStandard\Sniffs\TypeHints\PropertyTypeHintSniff;
|
||||||
|
use SlevomatCodingStandard\Sniffs\TypeHints\ReturnTypeHintSniff;
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Default Preset
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This option controls the default preset that will be used by PHP Insights
|
||||||
|
| to make your code reliable, simple, and clean. However, you can always
|
||||||
|
| adjust the `Metrics` and `Insights` below in this configuration file.
|
||||||
|
|
|
||||||
|
| Supported: "default", "laravel", "symfony", "magento2", "drupal"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'preset' => 'laravel',
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| IDE
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This options allow to add hyperlinks in your terminal to quickly open
|
||||||
|
| files in your favorite IDE while browsing your PhpInsights report.
|
||||||
|
|
|
||||||
|
| Supported: "textmate", "macvim", "emacs", "sublime", "phpstorm",
|
||||||
|
| "atom", "vscode".
|
||||||
|
|
|
||||||
|
| If you have another IDE that is not in this list but which provide an
|
||||||
|
| url-handler, you could fill this config with a pattern like this:
|
||||||
|
|
|
||||||
|
| myide://open?url=file://%f&line=%l
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'ide' => null,
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Configuration
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may adjust all the various `Insights` that will be used by PHP
|
||||||
|
| Insights. You can either add, remove or configure `Insights`. Keep in
|
||||||
|
| mind that all added `Insights` must belong to a specific `Metric`.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'exclude' => [
|
||||||
|
// 'path/to/directory-or-file'
|
||||||
|
],
|
||||||
|
|
||||||
|
'add' => [
|
||||||
|
Classes::class => [
|
||||||
|
ForbiddenFinalClasses::class,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'remove' => [
|
||||||
|
AlphabeticallySortedUsesSniff::class,
|
||||||
|
DeclareStrictTypesSniff::class,
|
||||||
|
DisallowMixedTypeHintSniff::class,
|
||||||
|
ForbiddenDefineFunctions::class,
|
||||||
|
ForbiddenNormalClasses::class,
|
||||||
|
ForbiddenTraits::class,
|
||||||
|
ParameterTypeHintSniff::class,
|
||||||
|
PropertyTypeHintSniff::class,
|
||||||
|
ReturnTypeHintSniff::class,
|
||||||
|
UselessFunctionDocCommentSniff::class,
|
||||||
|
],
|
||||||
|
|
||||||
|
'config' => [
|
||||||
|
ForbiddenPrivateMethods::class => [
|
||||||
|
'title' => 'The usage of private methods is not idiomatic in Laravel.',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Requirements
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may define a level you want to reach per `Insights` category.
|
||||||
|
| When a score is lower than the minimum level defined, then an error
|
||||||
|
| code will be returned. This is optional and individually defined.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'requirements' => [
|
||||||
|
// 'min-quality' => 0,
|
||||||
|
// 'min-complexity' => 0,
|
||||||
|
// 'min-architecture' => 0,
|
||||||
|
// 'min-style' => 0,
|
||||||
|
// 'disable-security-check' => false,
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
17
phpstan.neon
Normal file
17
phpstan.neon
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
includes:
|
||||||
|
- ./vendor/nunomaduro/larastan/extension.neon
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
paths:
|
||||||
|
- app
|
||||||
|
|
||||||
|
# The level 8 is the highest level
|
||||||
|
level: 5
|
||||||
|
|
||||||
|
ignoreErrors:
|
||||||
|
- '#Unsafe usage of new static#'
|
||||||
|
|
||||||
|
excludePaths:
|
||||||
|
- ./*/*/FileToBeExcluded.php
|
||||||
|
|
||||||
|
checkMissingIterableValueType: false
|
Loading…
Reference in New Issue
Block a user