#styled-components #stylelint
#стилизованные компоненты #stylelint
Вопрос:
Можно ли отключить наложение stylelint в интерполяциях глобально с включенным процессором styled-components? Моя конфигурация eslint должна применяться для этих случаев, и я не хочу, чтобы моя конфигурация stylelint вмешивалась в это. Есть ли какие-либо способы приблизиться к этому?
Например, этот фрагмент кода сгенерирует ошибку из-за CSS value-keyword-case
правила stylelint. Но поскольку это внутри интерполяции (так что это просто JS и без CSS), я хотел бы отключить linting для таких мест, как это.
const MyStyling = styled.div`
color: ${props => props.colors.darkPink};
`
Что я использую:
{
"stylelint": "^9.10.1",
"stylelint-config-standard": "^16.0.0",
"stylelint-config-styled-components": "^0.1.1",
"stylelint-processor-styled-components": "^1.5.2"
}
Комментарии:
1. Не могли бы вы добавить пример того, что вы подразумеваете под «в интерполяциях глобально», пожалуйста?
2. Я отредактировал свой вопрос.
3. Я не верю, что в stylelint есть
no-camel-case
правило. Вы уверены, что именно stylelint вставляет этот код? Кроме того, stylelint теперь может извлекать стили из литералов шаблонов «из коробки», поэтому вам может не понадобиться использовать процессор . Попробуйте удалить stylelint-processor-styled-components из вашего файла конфигурации.4. Я не уверен, что это правильное название правила, но идея удаления процессора кажется многообещающей! Я попробую это завтра.
5. Правило таково
value-keyword-case
, и удаление процессора приводит к той же ошибке (но без нагрузки на процессор, так что уже спасибо). :/
Ответ №1:
У меня такая же проблема.
Не найдя ничего конкретного, чтобы отключить правила stylelint, применяемые к нестроковым значениям в javascript, я решил отключить value-keyword-case
правило в нескольких строках, где оно мне нужно, используя:
/* stylelint-disable-line value-keyword-case */
Пример в моем коде:
const buttonStyles = css<Props>`
/* CSS property: value pairs removed for simplicity */
`
const DecoyButton = styled.div`
${buttonStyles} /* stylelint-disable-line value-keyword-case */
`
const Button = styled('button').attrs(({ type = 'button' }: Attrs) => ({
type,
}))`
${buttonStyles} /* stylelint-disable-line value-keyword-case */
`