Skip to content

build(lint): перевести бойлерплейт с eslint на oxlint и oxfmt - #84

Merged
mokevnin merged 1 commit into
mainfrom
lint-oxlint-oxfmt
Aug 14, 2026
Merged

build(lint): перевести бойлерплейт с eslint на oxlint и oxfmt#84
mokevnin merged 1 commit into
mainfrom
lint-oxlint-oxfmt

Conversation

@mokevnin

Copy link
Copy Markdown
Contributor

Зачем

Канон стиля JS в hexlet-exercise-kit это oxlint (линтер) и oxfmt (форматтер), а этот шаблон ставил eslint 9 со @stylistic. Студенты настраивают свой пакет по шаблону, значит расхождение разъезжается по их репозиториям и по проектам, которые на шаблон ссылаются.

Повод: FEEDBACK-187, жалоба студента на проект «Поисковый движок». Там шаг отправляет настраивать пакет по этому шаблону, а эталон проекта при этом линтовался несуществующим eslint.

Что изменилось

  • eslint.config.js удалён, eslint и @stylistic убраны из devDependencies.
  • Добавлены oxlint и oxfmt, конфиг .oxlintrc.json взят из кита: включены все плагины (по умолчанию oxlint поднимает только три), категория correctness как ошибка.
  • make lint и make lint-fix переписаны, lint-staged тоже.
  • .oxfmtignore: oxfmt умеет не только js, без списка он переписывает package.json, markdown и yaml воркфлоу.
  • Исходники переформатированы дефолтом oxfmt (двойные кавычки, точки с запятой). Ручных правок стиля в диффе нет.

Проверено

make lint и make test зелёные. Воркфлоу не менялся: он зовёт те же make lint и make test-coverage.

🤖 Generated with Claude Code

…oxfmt

Канон стиля js в ките это oxlint плюс oxfmt, а шаблон пакета ставил eslint 9 со
stylistic. Студенты настраивают свой пакет по этому шаблону, поэтому расхождение
разъезжается дальше по проектам.

Конфиг .oxlintrc.json взят из кита: включены все плагины, категория correctness
как ошибка. Форматирование это дефолт oxfmt, поэтому исходники переписаны им же.
.oxfmtignore нужен, чтобы oxfmt не переписывал package.json, markdown и yaml
воркфлоу: он умеет не только js.
@mokevnin
mokevnin merged commit b0353e6 into main Aug 14, 2026
2 checks passed
@mokevnin
mokevnin deleted the lint-oxlint-oxfmt branch August 14, 2026 17:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant