- Добавлена документация SLM-архитектуры, базовых правил и прикладных разделов - Добавлены разделы: стили, SVG-спрайты, шаблоны генерации, PostCSS, REST, Realtime - Удалены устаревшие файлы (спрайты, скрипты, стили из app/)
82 lines
3.1 KiB
Markdown
82 lines
3.1 KiB
Markdown
---
|
||
title: Biome
|
||
description: Установка и настройка линтера-форматтера в новом проекте.
|
||
keywords: [biome, линтер, форматтер, lint, format, biome.json, "@biomejs/biome", замена eslint, замена prettier]
|
||
---
|
||
|
||
# Biome
|
||
|
||
Установка и настройка линтера-форматтера в новом проекте.
|
||
|
||
## Требования
|
||
|
||
- Node.js 18+.
|
||
- Проект без установленного ESLint и Prettier (они конфликтуют с Biome).
|
||
|
||
## Установка
|
||
|
||
1. Установить пакет:
|
||
|
||
```bash
|
||
npm install --save-dev --save-exact @biomejs/biome
|
||
```
|
||
|
||
2. Инициализировать конфиг:
|
||
|
||
```bash
|
||
npx @biomejs/biome init
|
||
```
|
||
|
||
В корне появится `biome.json` с дефолтными настройками.
|
||
|
||
3. Привести `biome.json` к стандартному виду — добавить override для `*.css` (см. «Стандартный `biome.json`»). Делается сразу после `init`, до первого запуска `lint`/`check`.
|
||
|
||
4. Добавить скрипты в `package.json`:
|
||
|
||
```json
|
||
{
|
||
"scripts": {
|
||
"lint": "biome lint .",
|
||
"format": "biome format --write .",
|
||
"check": "biome check --write ."
|
||
}
|
||
}
|
||
```
|
||
|
||
| Скрипт | Что делает |
|
||
|--------|-----------|
|
||
| `lint` | Проверка правил без правок |
|
||
| `format` | Автоформатирование всех файлов |
|
||
| `check` | Lint + format + organize imports в один проход (основная команда) |
|
||
|
||
## Стандартный `biome.json`
|
||
|
||
Дефолтный `biome.json`, созданный `biome init`, кастомизируется ровно одним блоком — `overrides` для `*.css` с отключённым правилом `suspicious/noUnknownAtRules`. Этот override **обязателен по умолчанию во всех проектах**, независимо от того, подключены ли уже стили: проектный CSS-стек использует `@custom-media` и другие нестандартные at-правила, которые Biome не распознаёт; без override `npm run lint` падает.
|
||
|
||
Фрагмент, который добавляется в `biome.json`:
|
||
|
||
```jsonc
|
||
{
|
||
"overrides": [
|
||
{
|
||
"includes": ["**/*.css"],
|
||
"linter": {
|
||
"rules": {
|
||
"suspicious": {
|
||
"noUnknownAtRules": "off"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
Если в `biome.json` уже есть массив `overrides` — добавить элемент в него; не дублировать массив.
|
||
|
||
Прочая настройка правил Biome — отдельная задача, не входит в стандартный канон.
|
||
|
||
## Интеграция с VS Code
|
||
|
||
Расширение `biomejs.biome` и автоформатирование при сохранении настраиваются в [VS Code](./vscode.md).
|