Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: ESLint, Prettier, TypeScript, linting, formatting, configuration

Как настроить линтер и форматтер так, чтобы они не конфликтовали друг с другом при работе с одним и тем же файлом (например, TypeScript)?

Вопрос проверяет понимание настройки ESLint и Prettier для совместной работы без конфликтов при форматировании TypeScript кода.

Короткий ответ

Чтобы линтер и форматтер не конфликтовали, нужно отключить в ESLint правила, которые пересекаются с форматированием Prettier. Для этого используется плагин eslint-config-prettier, который отключает конфликтующие правила. Также можно запускать Prettier перед ESLint или использовать eslint-plugin-prettier для запуска Prettier как правила ESLint. Рекомендуется настроить последовательный запуск: сначала Prettier, затем ESLint.

Длинный ответ

Проблема конфликта линтера и форматтера

ESLint и Prettier решают разные задачи: ESLint проверяет качество кода (ошибки, стилистические правила), а Prettier отвечает за единообразное форматирование (отступы, кавычки, точки с запятой). Когда оба инструмента работают с одним файлом, их правила могут пересекаться, вызывая конфликты. Например, ESLint может требовать одинарные кавычки, а Prettier — двойные.

Решение: отключение пересекающихся правил

Основной подход — использовать пакет eslint-config-prettier. Он отключает все правила ESLint, которые могут конфликтовать с Prettier. Установка:

npm install --save-dev eslint-config-prettier

Затем в файле конфигурации ESLint (например, .eslintrc.json) добавьте prettier в конец массива extends:

{
  "extends": [
    "eslint:recommended",
    "plugin:@typescript-eslint/recommended",
    "prettier"
  ]
}

Это гарантирует, что правила форматирования Prettier будут иметь приоритет.

Альтернативный подход: интеграция через плагин

Можно использовать eslint-plugin-prettier, который запускает Prettier как правило ESLint. Тогда все ошибки форматирования будут отображаться как ошибки ESLint. Установка:

npm install --save-dev eslint-plugin-prettier

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

{
  "plugins": ["prettier"],
  "rules": {
    "prettier/prettier": "error"
  }
}

Однако этот подход может замедлить работу, так как Prettier запускается для каждого файла.

Практическая настройка для TypeScript

Для TypeScript проекта рекомендуется следующая конфигурация:

// .eslintrc.json
{
  "parser": "@typescript-eslint/parser",
  "extends": [
    "eslint:recommended",
    "plugin:@typescript-eslint/recommended",
    "prettier"
  ],
  "plugins": ["@typescript-eslint"],
  "rules": {
    // Дополнительные правила TypeScript
  }
}

Файл .prettierrc:

{
  "semi": true,
  "singleQuote": true,
  "tabWidth": 2
}

Также можно добавить скрипты в package.json для последовательного запуска:

"scripts": {
  "format": "prettier --write .",
  "lint": "eslint . --fix",
  "check": "npm run format && npm run lint"
}

Вывод: Использование eslint-config-prettier — самый простой и эффективный способ избежать конфликтов. Он отключает лишние правила, оставляя ESLint только для логических проверок, а Prettier — для форматирования. Это ускоряет разработку и поддерживает чистоту кода.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    4

  • Сложность:

    5

Навыки

  • JavaScript

    JavaScript

  • TypeScript

    TypeScript

Ключевые слова

#ESLint

#Prettier

#TypeScript

#linting

#formatting

#configuration

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию