Comprobando tu CSS antes de subirlo a Git

Archivado en: CSS Stylelint

Si stylelint no te suena de nada te recomiendo que en primer lugar te leas Esparta utilizaría Stylelint. Aquí explico como lintear tu CSS con Stylelint.

Llevo con esta idea rondando la cabeza desde que Gorka y Beñat nos contaron en theAntiEvent como no dejaban commitear sin que el CSS cumpliera una serie de reglas.

Así que me puse a buscar y encontré un plugin llamado lint-staged para que los archivos que tienes en staged(archivos añadidos con git add) tengan que pasar por Stylelint para que puedas hacer commit y luego push al repo. A mi me parece fantástico para mantener una coherencia y no dejar que sea la persona la que decida pasar por alto los errores que da Stylelint. A lint-staged lo vamos acompañar con pre-commit, otro paquete que lanzará lint-staged cuando vayamos a hacer el commit.

Ahora vamos a instalar los dos paquetes.

npm i lint-staged pre-commit --save-dev

Ahora vamos a configurar nuestro package.json, en primer lugar en la parte de scripts vamos a crear uno nuevo de la siguiente manera

"scripts": {
        
    "lint-staged": "lint-staged"
    },

Ahora vamos a indicarle a lint-staged que tipo de archivos queremos revisar, y que tarea vamos a lanzar. En este caso vamos a revisar todos los CSS, y a estos los vamos a pasar por stylelint

"lint-staged": {
 "*.css": "stylelint"
}

Y ya en último lugar vamos a configurar pre-commit

"pre-commit": "lint-staged"

Vamos a ver un pequeño ejemplo con el siguiente código CSS. En este caso yo tengo una regla para que el shorthand de una regla siempre este por encima del resto.

body {
    background-color: crimson;
    color: white;
    margin-bottom: 5px;
    margin-top: 0;
    margin: 0;
}

Al intentar hacer commit la terminal nos lanza el siguiente mensaje

En la siguiente imagen podemos ver como saltarnos pre-commit, simplemente tenemos que añadir el flag -n.

Para saltarnos el pre-commit tendríamos que escribir lo siguiente

git commit "a fuego me importa poco el que se coma el marrón" -n

Tengo todo montado en mi repositorio base, podéis hacer un git clone, y ahora un npm i. Otra manera ‘fácil’ para probar es ejecutando este script de BASH que es el que utilizo para iniciar proyectos desde cero.

SCALABLE, un libro sobre SVGA lo largo de 15 capítulos, 120 páginas y más de 70 ejemplos vamos a ver todo lo que podemos hacer con SVG. Tu pones el precio, disponible desde 0$ para descargar desde LeanPub(PDF, ePUB y MOBI).