Laravel Pint 1.30.0 sait désormais formater les templates Blade. La nouveauté principale est un drapeau --blade qui active la règle configurable Pint/laravel_blade et envoie les fichiers .blade.php dans Prettier avec le plugin prettier-plugin-blade. Au lieu du drapeau, la règle peut être activée en permanence dans pint.json : "rules": { "Pint/laravel_blade": true }.
La règle est optionnelle. Désactivée, Pint exclut totalement *.blade.php de sa recherche de fichiers, comme dans toutes les versions précédentes ; activée, seuls les fichiers .blade.php passent par le formateur Blade.
Le formatage s'exécute sous Node.js, pas PHP. Trois paquets npm sont requis avec des contraintes de version épinglées : prettier (^3.8.4), prettier-plugin-blade (^3.2.2) et prettier-plugin-tailwindcss (^0.8.0). Pint les vérifie avant tout travail : si Node est absent, il s'arrête avec une explication ; si les paquets manquent, il détecte le gestionnaire de paquets, demande confirmation et installe chacun avec la contrainte requise ; si les versions ne conviennent pas, il s'arrête et affiche la commande d'installation exacte.
Trois catégories de fichiers Blade sont ignorées même avec la règle active, car les reformater changerait leur sortie ou leur sens : les fichiers de tâches Envoy (Envoy.blade.php, envoy.blade.php), les fichiers de directives Boost sous resources/boost/guidelines/, et les vues mail sous resources/views/emails/ et resources/views/mail/.
La suite de tests livrée couvre les attributs Alpine, les bindings wire: de Livewire, les composants Flux, le tri des classes Tailwind, les blocs @verbatim, les heredocs, les SVG inline et les classes de composants single-file — bien plus qu'une simple indentation HTML.
Trois améliorations mineures accompagnent la version. D'abord, --diff utilisait git diff avec --diff-filter=AM, ignorant silencieusement les fichiers renommés ; le filtre est désormais --diff-filter=AMR pour les diffs committed, staged et unstaged (PR #448 de @MassimilianoLattanzio). Ensuite, --quiet ne se comporte plus comme --silent : les violations de style partent vers stderr, stdout reste vide et le code de sortie reflète toujours le résultat (PR #449 de @lazerg). Enfin, une clé « in » dans pint.json permet de restreindre les répertoires analysés depuis le fichier de configuration plutôt qu'en ligne de commande, facilitant la migration depuis .php-cs-fixer.php (PR #454 de @cosmastech).
Aucun changement incompatible ; avec la règle désactivée, Pint traite les .blade.php exactement comme avant. Mise à jour via composer update laravel/pint. Références : la release v1.30.0 sur GitHub, le changelog v1.29.3...v1.30.0 et le commit d'implémentation fefd4035.
Commentaires
Pas encore de commentaire — écris le premier.
Lance la discussion
Pas de compte ni de mot de passe — saisis simplement ton adresse e-mail et nous t’envoyons un lien de connexion à usage unique. Première visite ? Tout se met en place automatiquement.
Ton évaluation sera appliquée automatiquement après ta connexion.
Vérifie ta boîte mail
Nous avons envoyé un lien de connexion à …. Ouvre-le sur cet appareil — cet onglet te connectera automatiquement.
En attente de ton clic …
·