build(lint): перевести бойлерплейт с eslint на oxlint и oxfmt - #7
Merged
Merged
Conversation
…oxfmt Тот же переход, что в nodejs-package: канон стиля js и ts в ките это oxlint плюс oxfmt, а шаблон ставил eslint 10 с typescript-eslint и stylistic. oxlint типы не смотрит, поэтому type-aware правила typescript-eslint заменены прогоном tsc: цель typecheck и шаг в воркфлоу. Раньше tsc в CI не запускался вовсе, ошибки типов ловились только линтером. В .oxlintrc.json один override: заглушка types/index.d.ts состоит из одного комментария, и unicorn/no-empty-file считает такой файл пустым. Заодно починены make start и make develop: они зовут npm-скрипты start и start:dev, которых в package.json не было, то есть обе команды падали. Скрипт exec делал то же, что теперь start:dev, и убран как дубль. Точка входа в сборке это dist/src/index.js: tsc собирает по include со всем деревом.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Зачем
Продолжение nodejs-package#84: канон стиля JS и TS в hexlet-exercise-kit это oxlint (линтер) и oxfmt (форматтер), а этот шаблон ставил eslint 10 с
typescript-eslintи@stylistic.Повод тот же, FEEDBACK-187: студенты настраивают свои пакеты по шаблонам, и расхождение разъезжается по их репозиториям.
Что изменилось
eslint.config.tsудалён, eslint,typescript-eslint,@stylistic,globalsиjitiубраны из devDependencies.oxlintиoxfmt, конфиг.oxlintrc.jsonвзят из кита: включены все плагины, категорияcorrectnessкак ошибка.typescript-eslint(recommendedTypeChecked,stylisticTypeChecked) заменены прогономtsc: цельmake typecheckи шаг в воркфлоу. До этогоtscв CI не запускался вовсе, толькоmake lintиmake test-coverage, то есть проверка типов из CI пропадала бы совсем..oxlintrc.jsonодинoverride: заглушкаtypes/index.d.tsсостоит из одного комментария, аunicorn/no-empty-fileсчитает такой файл пустым.Заодно починено
make startиmake developзовут npm-скриптыstartиstart:dev, которых вpackage.jsonне было: обе команды падали сnpm error. Скриптexecделал то же, что теперьstart:dev, и убран как дубль. Точка входа сборки этоdist/src/index.js, потому чтоtscсобирает поinclude: ["**/*"]со всем деревом.Проверено
Локально зелёные
make lint,make typecheck,make test,make test-coverage(покрытие 100%),make build,make start,make develop.🤖 Generated with Claude Code