Skip to content

Конфигурация ESLint

Конфигурация ESLint для UnoCSS: @unocss/eslint-config.

Установка

bash
pnpm add -D @unocss/eslint-config
bash
yarn add -D @unocss/eslint-config
bash
npm install -D @unocss/eslint-config
bash
bun add -D @unocss/eslint-config

В стиле Flat Config:

js
import unocss from '@unocss/eslint-config/flat'

export default [
  unocss,
  // другие конфигурации
]

В стиле устаревшего .eslintrc:

json
{
  "extends": [
    "@unocss"
  ]
}

Правила

  • @unocss/order - Принудительный порядок для селекторов классов.
  • @unocss/order-attributify - Принудительный порядок для селекторов атрибутов.
  • @unocss/blocklist - Запрет определенных селекторов классов [Необязательно].
  • @unocss/enforce-class-compile - Принудительная компиляция классов [Необязательно].

Необязательные правила

Эти правила не включены по умолчанию. Чтобы включить их, добавьте следующее в ваш .eslintrc:

json
{
  "extends": [
    "@unocss"
  ],
  "rules": {
    "@unocss/<имя-правила>": "warn", // или "error",
    "@unocss/<другое-имя-правила>": ["warn" /* или "error" */, { /* параметры */ }]
  }
}

@unocss/blocklist

Выдает предупреждение или ошибку при использовании утилит, совпадающих со списком блокировки.

Вы можете настроить сообщения для заблокированных правил, чтобы сделать их более информативными и контекстно-специфическими, используя свойство message мета-объекта:

ts
export default defineConfig({
  blocklist: [
    ['bg-red-500', { message: 'Используйте bg-red-600 вместо этого' }],
    [/-auto$/, { message: s => `Используйте ${s.replace(/-auto$/, '-a')} вместо этого` }], // -> "my-auto" в списке блокировки: Используйте "my-a" вместо этого
  ],
})

@unocss/enforce-class-compile 🔧

Это правило предназначено для работы в сочетании с трансформером компиляции классов.

Выдает предупреждение или ошибку, если атрибут или директива класса не начинается с :uno:.

🔧 автоматически добавляет префикс :uno: ко всем атрибутам и директивам классов.

Параметры:

  • prefix (строка) - может использоваться в сочетании с пользовательским префиксом. По умолчанию: :uno:
  • enableFix (булево) - может использоваться для постепенной миграции, когда false. По умолчанию: true

Примечание: в настоящее время поддерживается только Vue. Внесите PR, если хотите это в JSX. Если вы ищете это в Svelte, возможно, вам нужен режим svelte-scoped.

Предыдущие наработки

Спасибо eslint-plugin-unocss от @devunt.

Released under the MIT License.