The Daily Commit · Edición de sección Portada PHP AI Dev EN DE FR ES

The Php Times

Lecturas — Ecosistema

Laravel Pint 1.30 formatea plantillas Blade mediante Prettier


Laravel Pint 1.30.0 añade formateo opcional de plantillas Blade mediante un nuevo flag --blade, impulsado por Prettier y plugins dedicados de Blade y Tailwind.

LARAVEL NEWS, 29 de julio de 2026 seleccionado por Sönke

La versión también corrige --diff para archivos renombrados, redirige --quiet a stderr y agrega la clave de configuración "in".

Laravel Pint 1.30.0 ya puede formatear plantillas Blade. La novedad principal es un flag --blade que activa la regla configurable Pint/laravel_blade y envía los archivos .blade.php a través de Prettier con el plugin prettier-plugin-blade. En lugar del flag, la regla puede activarse de forma permanente en pint.json: "rules": { "Pint/laravel_blade": true }.

La regla es opcional. Desactivada, Pint excluye por completo *.blade.php de su buscador de archivos, como en todas las versiones anteriores; activada, solo los archivos .blade.php pasan por el formateador de Blade.

El formateo se ejecuta con Node.js, no con PHP. Se requieren tres paquetes npm con restricciones de versión fijadas: prettier (^3.8.4), prettier-plugin-blade (^3.2.2) y prettier-plugin-tailwindcss (^0.8.0). Pint los comprueba antes de trabajar: si falta Node, aborta con una explicación; si faltan los paquetes, detecta el gestor de paquetes, pide confirmación e instala cada uno con la restricción requerida; si las versiones no cumplen las restricciones, se detiene y muestra el comando de instalación exacto para corregirlo.

Tres categorías de archivos Blade se omiten incluso con la regla activada, porque reformatearlos cambiaría su salida o su significado: archivos de tareas Envoy (Envoy.blade.php, envoy.blade.php), archivos de directrices Boost bajo resources/boost/guidelines/ y vistas de correo bajo resources/views/emails/ y resources/views/mail/.

La suite de pruebas que acompaña la función cubre atributos de Alpine, bindings wire: de Livewire, componentes Flux, ordenación de clases Tailwind, bloques @verbatim, heredocs, SVG en línea y clases de componentes de un solo archivo: una cobertura mucho más amplia que la simple indentación de HTML.

La versión incluye tres mejoras menores. Primero, --diff usaba git diff con --diff-filter=AM, omitiendo silenciosamente los archivos renombrados; el filtro ahora es --diff-filter=AMR en los diffs committed, staged y unstaged (PR #448 de @MassimilianoLattanzio). Segundo, --quiet ya no se comporta como --silent: las violaciones de estilo van a stderr, stdout queda vacío y el código de salida sigue reflejando el resultado (PR #449 de @lazerg). Tercero, una nueva clave "in" en pint.json permite restringir los directorios que Pint escanea desde el archivo de configuración en lugar de pasar rutas por línea de comandos, facilitando la migración desde .php-cs-fixer.php (PR #454 de @cosmastech).

No hay cambios incompatibles; con la regla desactivada, Pint trata los .blade.php exactamente igual que antes. Actualización con composer update laravel/pint. Referencias: la release v1.30.0 en GitHub, el changelog v1.29.3...v1.30.0 y el commit de implementación fefd4035.

Leer la fuente original (en inglés) ↗

Valora este artículo: 0

Tribuna de lectores

Aún no hay aportaciones — abre el debate.

← Ecosistema — Page B1

"All the Code That's Fit to Ship" · The Daily Commit · Edición de pantalla · Información legal · Política de privacidad