Openlibrary: Stylelint: agregue especificidad no descendente y corrija a los infractores

Creado en 15 sept. 2018  ·  9Comentarios  ·  Fuente: internetarchive/openlibrary

De los documentos de stylelint :
"El orden de las fuentes es importante en CSS, y cuando dos selectores tienen la misma especificidad, el que ocurre en último lugar tendrá prioridad. Sin embargo, la situación es diferente cuando uno de los selectores tiene una especificidad más alta. En ese caso, el orden de las fuentes no asunto: el selector con mayor especificidad ganará incluso si llega primero.

Los choques de estos dos mecanismos de priorización, orden de origen y especificidad, pueden causar cierta confusión al leer las hojas de estilo. Si un selector con mayor especificidad viene antes del selector que anula, tenemos que pensar más para entenderlo, porque viola la expectativa de orden de origen. "

Stylelint (que se puede ejecutar usando npm install && npm run lint:fix ) puede detectarlos si se configura con lo siguiente:
"no-descending-specificity": true,

Nota: actualmente hay muchos infractores de esta regla, por lo que puede valer la pena esperar hasta que master.less sea más manejable (# 1092) antes de intentar esto

Lista de Verificación

  • [ ] Actualizar .stylelintrc.json
  • [ ] arreglar cualquier infractor detectado a través npm run lint:fix
Linting CSS hacktoberfest

Comentario más útil

solo quiero una camiseta

Todos 9 comentarios

Es mejor tenerlo más temprano que tarde... trabajará en esto si nadie más lo hace.

Estos también van a ser un poco complicados. Hay muchos delincuentes :-S

Hola @jdlrobson! Me gustaría ayudarte con esto si aún lo necesitas.

¡Hacemos! ¡Adelante @thefifthisa !

@jdlrobson Genial, gracias! ¿Puedo saber cuáles ya has hecho para saber por dónde empezar?

@thefifthisa Recomiendo comenzar agregando la regla al archivo de configuración de stylelint existente y asegurarse de que pueda ver los errores localmente cuando ejecute

npm install
npm run lint:fix

screen shot 2018-10-15 at 4 46 27 pm

Veo muchos errores cuando agrego esta regla.

¡Mantengamos la primera solicitud de extracción pequeña y razonablemente segura de conflictos de combinación! Como regla general, recomendaría deshabilitar la regla en la parte superior de los archivos grandes que tienen más de 6 errores [1]. (por ejemplo, static/css/components/header-bar.less y static/css/legacy.less) y centrándose en los archivos que tienen menos problemas.

El objetivo con este pelusa es eliminar lentamente el CSS y mejorarlo, así que no tome demasiado a la vez: ¡concéntrese en los archivos con 1-6 problemas! De lo contrario, será más difícil para usted escribir y para que otros lo revisen.

¿Esto tiene sentido?

¡Avíseme si necesita más orientación!

[1] ¡Agregar la siguiente línea en la parte superior del archivo evitará que la regla se aplique allí!

/* stylelint-disable no-descending-specificity */

@jdlrobson Lo tengo, ¡acabo de enviar un PR!

solo quiero una camiseta

esto se puede cerrar... la especificidad no descendente está en el código base gracias a @thefifthisa :)

¿Fue útil esta página
0 / 5 - 0 calificaciones