--- 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).