Openlibrary: Stylelint: добавьте специфичность без убывания и исправьте нарушителей

Созданный на 15 сент. 2018  ·  9Комментарии  ·  Источник: internetarchive/openlibrary

Из документов stylelint :
«Исходный порядок важен в CSS, и когда два селектора имеют одинаковую специфичность, тот, который появляется последним, будет иметь приоритет. Однако ситуация отличается, когда один из селекторов имеет более высокую специфичность. В этом случае исходный порядок не имеет значения. вопрос: селектор с более высокой специфичностью выиграет, даже если он придет первым.

Столкновение этих двух механизмов приоритизации, исходного порядка и специфичности может вызвать некоторую путаницу при чтении таблиц стилей. Если селектор с более высокой специфичностью предшествует селектору, который он переопределяет, нам нужно больше думать, чтобы понять его, потому что он нарушает ожидания исходного порядка. "

Stylelint (который можно запустить с помощью npm install && npm run lint:fix ) может обнаружить их, если настроено следующее:
"no-descending-specificity": true,

Примечание: в настоящее время есть много нарушителей этого правила, поэтому, возможно, стоит подождать, пока master.less станет более управляемым (#1092), прежде чем пытаться это сделать.

Контрольный список

  • [ ] Обновление .stylelintrc.json
  • [ ] исправить всех нарушителей, обнаруженных с помощью npm run lint:fix
Linting CSS hacktoberfest

Самый полезный комментарий

я просто хочу футболку

Все 9 Комментарий

Лучше раньше, чем позже... будем работать над этим, если никто другой этого не сделает.

Это также будет немного сложно. Нарушителей много :-S

Привет @jdlrobson! Я хотел бы помочь с этим, если вам это все еще нужно.

Мы делаем! Дерзайте @thefiftthisa !

@jdlrobson Отлично, спасибо! Могу я узнать, какие из них вы уже сделали, чтобы я знал, с чего начать?

@thefiftthisa Я бы порекомендовал начать с добавления правила в существующий файл конфигурации stylelint и убедиться, что вы можете видеть ошибки локально при запуске

npm install
npm run lint:fix

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

Я вижу много ошибок, когда добавляю это правило.

Давайте сделаем первый запрос на извлечение небольшим и достаточно безопасным от конфликтов слияния! Как правило, я бы рекомендовал отключать правило в верхней части больших файлов, содержащих более 6 ошибок [1]. (например, static/css/components/header-bar.less и static/css/legacy.less) и сосредоточиться на файлах, с которыми меньше проблем.

Цель этого линтинга состоит в том, чтобы постепенно урезать CSS и улучшать его, поэтому не берите слишком много за раз — сосредоточьтесь на файлах с 1-6 проблемами! В противном случае вам будет сложнее писать, а другим — комментировать.

Имеет ли это смысл?

Дайте мне знать, если нужны дополнительные рекомендации!

[1] Добавление следующей строки в начало файла остановит применение правила!

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

@jdlrobson Понял, только что отправил PR!

я просто хочу футболку

это можно закрыть... благодаря @thefifthisa в кодовой базе отсутствует специфичность по убыванию :)

Была ли эта страница полезной?
0 / 5 - 0 рейтинги