Laravel Pint: ¡Automatiza el formato de código!

Laravel Pint

Laravel: ¡Automatiza el formato de código!

Laravel Pint es uno de los miembros más nuevos de los paquetes propios de Laravel y nos ayudará a tener códigos más legibles y consistentes.


Instalar y configurar Laravel Pint es sencillo y está construido sobre PHP-CS-Fixer, por lo que tiene toneladas de reglas para solucionar problemas de estilo de código.

 

No necesita Laravel 9 para usar Pint y es un paquete de dependencia cero

 

Pero ejecutar Pint es bastante doloroso porque cada vez que queremos enviar nuestros cambios al repositorio remoto, tenemos que ejecutar el siguiente comando manualmente:

El indicador --dirty ejecutará PHP-CS-Fixer solo para archivos modificados. Si queremos verificar los estilos para todos los archivos, simplemente elimine la marca --dirty .

En este artículo, queremos simplemente automatizar la ejecución de la verificación de estilos de código con Pint antes de enviar cualquier archivo modificado para que incluso los desarrolladores del equipo tengan una estructura de código bien definida y no necesiten ejecutar Laravel Pint cada vez antes de enviar nuestros códigos al repositorio remoto.

Antes de comenzar, tenga cuidado, esta es una configuración muy simple y puede agregar tantas opciones como desee a Laravel Pint.

Para ejecutar ./vendor/bin/pint --dirty justo antes de cada confirmación, debemos usar el gancho de pre-commit dentro de la carpeta .git.

En primer lugar,

Crearemos una carpeta de scripts dentro de nuestro directorio raíz de Laravel. En esta carpeta tendremos un archivo setup.sh y un archivo de pre-commit sin ninguna extensión.

scripts/
setup.sh
pre-commit

Dentro de nuestro setup.sh tenemos:

#! /usr/bin/env bash

cp scripts/pre-commit .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit

Y escriba las siguientes líneas en el archivo de pre-commit:

#! /usr/bin/env bash

echo "Check php code styles..."
echo "Running PHP cs-fixer"
./vendor/bin/pint --dirty
git add .
echo "Done!"

En segundo lugar,

  • Debemos ir al archivo composer.json y en el objeto scripts agregar esta línea: (Si la clave post-install-cmd no existe,
    • debe crear la parte post-install-cmd y luego agregarla a continuación)
"post-install-cmd": [
"bash scripts/setup.sh"
]

En tercer lugar,

  • Necesitaremos el paquete de Laravel  Pint para esto:

Y para estar seguro, no olvide ejecutar:

El comando de composer install agregará el gancho de pre-commit a nuestra carpeta .git y después de eso, ¡estaremos listos para comenzar!

  • De ahora en adelante, podemos simplemente escribir nuestro código y justo antes de confirmar nuestros cambios,
    • el comando Pint se ejecutará automáticamente y corregirá nuestros estilos de código.

Pint usa los estilos de código de Laravel por defecto, pero si quieres usar psr-12, puede crear un archivo pint.json dentro del directorio raíz de su proyecto Laravel y copiar debajo de json para tener estilos de código PHP más pertinaces:

{
"preset": "psr12",
"rules": {
"simplified_null_return": true,
"blank_line_before_statement": {
"statements": ["return", "try"]
},
"binary_operator_spaces": {
"operators": {
"=>": "align_single_space_minimal"
}
},
"trim_array_spaces": false,
"new_with_braces": {
"anonymous_class": false
}
}
}

Esta es una configuración simple para nuestro comando Pint y simplificará los retornos nulos y definirá una sangría igual para las matrices.


Gracias por llegar hasta aquí, si encuentras esto útil no olvides dejar un👍🏼y suscribirse para recibir más contenido.

Si le interesa, puede echar un vistazo a algunos de los otros artículos que he escrito recientemente sobre Node.js y AWS Lambda:

Recent Post