Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: ESLint, Prettier, Husky, lint-staged, pre-commit hooks

С какими линтерами вы работали? Для чего используется Husky?

Вопрос проверяет знание инструментов статического анализа кода и pre-commit хуков для автоматизации проверок.

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

Линтеры — это инструменты для статического анализа кода, которые помогают находить ошибки и соблюдать единый стиль. Самые популярные: ESLint для JavaScript/TypeScript и Prettier для форматирования. Husky — это утилита для управления git-хуками, которая позволяет запускать линтеры и тесты перед коммитом или пушем. Например, с помощью Husky и lint-staged можно настроить автоматический запуск ESLint только для изменённых файлов.

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

Линтеры и их роль

Линтеры — это инструменты статического анализа кода, которые проверяют синтаксис, стиль и потенциальные ошибки без выполнения программы. Они помогают командам соблюдать единые правила оформления и избегать типичных багов. Наиболее распространённые линтеры в JavaScript-экосистеме: ESLint (гибкий, с поддержкой плагинов и кастомных правил) и Prettier (автоматическое форматирование кода). ESLint часто используют вместе с TypeScript (через @typescript-eslint) и React (eslint-plugin-react).

Husky и pre-commit хуки

Husky — это npm-пакет, упрощающий настройку git-хуков. Git-хуки — это скрипты, которые запускаются при определённых событиях, например, pre-commit (перед коммитом) или pre-push (перед отправкой изменений). С помощью Husky можно автоматически запускать линтеры, форматтеры и тесты перед коммитом, чтобы в репозиторий не попал код с ошибками или нарушениями стиля.

Пример настройки

// package.json
{
  "scripts": {
    "lint": "eslint . --ext .js,.ts",
    "format": "prettier --write ."
  },
  "lint-staged": {
    "*.{js,ts,tsx}": ["eslint --fix", "prettier --write"]
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  }
}

В этом примере при попытке сделать коммит Husky запускает lint-staged, который применяет ESLint и Prettier только к изменённым файлам. Это ускоряет проверку и не требует полного сканирования проекта.

Вывод

Линтеры и Husky — стандарт современной разработки, особенно в командных проектах. Они автоматизируют контроль качества кода, экономят время на код-ревью и предотвращают попадание проблемного кода в основную ветку. Рекомендуется внедрять их в любой проект с участием нескольких разработчиков.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

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

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

Уровень

  • Рейтинг:

    4

  • Сложность:

    3

Навыки

  • JavaScript

    JavaScript

  • Git

    Git

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

#ESLint

#Prettier

#Husky

#lint-staged

#pre-commit hooks

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

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

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

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