Cette traduction peut être obsolète.

Interface en ligne de commande

Chaque invocation de Mago suit le schéma mago [GLOBAL OPTIONS] <SUBCOMMAND>. Les options globales doivent venir avant la sous-commande.

mago --colors=never lint        # correct
mago lint --colors=never        # incorrect, --colors est une option globale

Options globales

Ces options s'appliquent à chaque sous-commande et contrôlent le runtime, la découverte de configuration et la sortie.

DrapeauDescription
--workspace <PATH>Racine du workspace. Par défaut le répertoire courant.
--config <PATH>Chemin du fichier de configuration. Sans cela, Mago cherche dans le workspace, $XDG_CONFIG_HOME, ~/.config et ~. Voir découverte.
--php-version <VERSION>Surcharge la version PHP configurée, par exemple 8.2.
--threads <NUMBER>Surcharge le nombre de threads. Par défaut, le nombre de CPU logiques.
--allow-unsupported-php-versionPermet à Mago de s'exécuter sur une version PHP qu'il ne prend pas officiellement en charge. À utiliser avec précaution.
--no-version-checkDésactive l'avertissement émis lorsque la version installée diverge de la version épinglée du projet par un changement mineur ou patch. Une divergence majeure reste fatale. Voir épinglage de version.
--colors <WHEN>Quand colorer la sortie : always, never ou auto (par défaut).
-h, --helpAffiche l'aide et quitte.
-V, --versionAffiche la version installée et quitte.

Variables d'environnement

La plupart des surcharges de configuration utilisent le préfixe MAGO_* et sont documentées sur la page des variables d'environnement. Les deux que vous êtes le plus susceptible de définir au quotidien sont :

VariableRôle
MAGO_LOGFiltre de log pour la sortie de tracing. Valeurs : trace, debug, info, warn, error.
MAGO_EDITOR_URLModèle d'URL pour les chemins de fichiers cliquables dans la sortie du terminal. Voir intégration éditeur.

Sous-commandes

Les outils principaux :

CommandeDescription
mago analyzeAnalyse statique : erreurs de type, bugs de logique.
mago cstAffiche l'CST d'un fichier PHP.
mago fixApplique les corrections des quatre outils jusqu'à ce qu'aucun changement ne reste possible.
mago formatFormate les fichiers PHP.
mago guardApplique les règles et frontières architecturales.
mago lintLinte pour le style, la justesse et les bonnes pratiques.

Commandes utilitaires :

CommandeDescription
mago configAffiche la configuration fusionnée ou son JSON Schema.
mago initGénère un mago.toml de départ.
mago list-filesListe les fichiers que Mago va traiter.
mago generate-completionsAffiche les scripts de complétion shell.
mago self-updateRemplace le binaire installé par une release plus récente.
mago versionAffiche la version de Mago. Identique à --version.

mago fix

mago fix [PATHS...] lance guard → analyzer → linter → formatter, puis répète cet ordre jusqu'à ce qu'un passage complet ne modifie aucun fichier. Chaque outil lit les changements de l'outil précédent. Sans chemins explicites, la commande utilise ceux de la configuration.

mago fix
mago fix src/ tests/ --potentially-unsafe
mago fix --no-analyze --no-guard

Par défaut, seules les corrections sûres s'appliquent. La commande respecte la configuration, les exclusions, les suppressions dans le code et la baseline de chaque outil. Les problèmes sans correction autorisée ne bloquent ni les autres outils ni la fin de la commande.

OptionDescription
--potentially-unsafeAutorise les corrections sûres et potentiellement risquées.
--unsafeAutorise toutes les corrections. Vérifiez les changements avec soin.
--no-guardIgnore le guard.
--no-analyzeIgnore l'analyzer.
--no-lintIgnore le linter.
--no-fmtIgnore le formatter.
--ignore-baselineCorrige aussi les problèmes masqués par les baselines.
--fail-on-remainingRenvoie le code 1 s'il reste des problèmes après les corrections.
--max-passes <NUMBER>Limite le nombre de passages complets : 10 par défaut, de 1 à 256.

Par défaut, la commande réussit quand il ne reste aucune correction autorisée par le niveau de sûreté choisi, même s'il reste des problèmes. Désactiver les quatre outils ne fait rien et réussit.

Si les corrections ramènent les fichiers à un état déjà rencontré ou atteignent la limite de passages, la commande s'arrête avec le code 1 et signale le problème. Elle conserve les changements déjà faits ; vérifiez les règles et les réglages avant de relancer. Les erreurs d'accès aux fichiers et les autres erreurs des outils arrêtent aussi la commande.

Vous pouvez augmenter --max-passes jusqu'à 256. Si les corrections ne se stabilisent toujours pas après 256 passages, signalez un bug dans Mago.

Codes de sortie

CodeSignification
0Succès. mago fix n'a plus de correction autorisée à appliquer.
1Des problèmes demandent votre attention, ou les corrections ne se stabilisent pas.
2Erreur d'outil : configuration, I/O, etc.

↳ Modifier cette page →