Mise en place d'outil CI : Mago, ce petit renard magique
Alors, j'ai découvert cet outil, Mago en doom scrollant sur linkedin, et j'aime beaucoup !!
Je viens de reformatter entierement le blog avec, l'activé dans la pipeline et c'est parti pour maitnenant un code un maximum propre !
Bon, rapidement, Mago, c'est une boite à outil fournissant différent types d'actions :
Le script mago :
- Une analyse static : On vérifie les erreurs de typage, les NPE, ...
- Formattage : selon les règles PER-CS formatting
- Linter : Celui qui flair quand ça sent pas bon.
php-version = "8.2"
[source]
paths = [
"src",
# "tests/",
# "importmap.php",
# "migrations/",
]
includes = ["vendor"]
excludes = []
[formatter]
print-width = 120
tab-width = 4
use-tabs = false
[linter]
integrations = ["phpunit", "symfony"]
[linter.rules]
ambiguous-function-call = { enabled = true }
literal-named-argument = { enabled = true }
halstead = { effort-threshold = 7000 }
too-many-methods = { enabled = true, threshold = 25 }
no-boolean-flag-parameter = { enabled = true }
no-else-clause = { enabled = true }
[analyzer]
find-unused-definitions = true
find-unused-expressions = false
analyze-dead-code = false
check-throws = true
allow-possibly-undefined-array-keys = true
perform-heuristic-checks = true