chore: add typed ESLint checks #18
Frontend security / security (push) Successful in 9s
Frontend verify / verify (push) Failing after 17m37s
Conventional commits / commits (pull_request) Successful in 26s
Frontend security / security (pull_request) Successful in 9s
Frontend verify / verify (pull_request) Failing after 22m42s
Frontend security / security (push) Successful in 9s
Frontend verify / verify (push) Failing after 17m37s
Conventional commits / commits (pull_request) Successful in 26s
Frontend security / security (pull_request) Successful in 9s
Frontend verify / verify (pull_request) Failing after 22m42s
Refs WealthLedger/main#18. Keep Biome; add no Prettier dependencies.
This commit is contained in:
@@ -81,8 +81,34 @@ npm run verify
|
||||
```
|
||||
|
||||
Команда проверяет, что generated OpenAPI types соответствуют committed snapshot,
|
||||
затем запускает strict TypeScript, Biome, один coverage-backed запуск Vitest,
|
||||
затем запускает strict TypeScript, Biome, ESLint и проверку его конфигурации,
|
||||
один coverage-backed запуск Vitest,
|
||||
Knip, dependency rules приложения и stories, сборки приложения и Storybook.
|
||||
|
||||
`npm run lint` объединяет `lint:biome` и `lint:eslint`. Biome сохраняет
|
||||
форматирование, сортировку импортов, magic numbers и accessibility-проверки.
|
||||
[ESLint](eslint.config.mjs) добавляет typed linting, React Compiler/hooks,
|
||||
Fast Refresh, TanStack Query, выбранные Unicorn-правила и проверки тестов/stories.
|
||||
Prettier не добавлен. `npm run test:lint` проверяет правила на ошибочных примерах
|
||||
и исключение generated/build artifacts. `lint:eslint` сначала собирает private
|
||||
packages, чтобы анализ типов использовал их актуальные declarations.
|
||||
|
||||
Пересекающиеся hook-диагностики принадлежат официальному `react-hooks`.
|
||||
Testing Library проверяет async-корректность; DOM structure/geometry tests
|
||||
сохраняют прямой доступ к узлам. Async doubles допускаются без искусственного
|
||||
`await`; Vitest допускает второй аргумент сообщения и ветвления фиксированных
|
||||
`it.each` сценариев. React event handlers допускают Promise, но их тела остаются
|
||||
под `no-floating-promises`. Локальные исключения объясняют сохранение wire
|
||||
ProblemDetails, generated query keys и раннее подключение rejection assertions
|
||||
в race-тестах. Плагин Query не доказывает корректность всех generated/custom
|
||||
обёрток: transport/cache сценарии по-прежнему проверяют MSW-тесты.
|
||||
|
||||
Дополнительные `no-unnecessary-condition` и `no-deprecated` пока не включены:
|
||||
первому нужна отдельная оценка индексного доступа и защитных runtime guards,
|
||||
второму — отдельная миграция API зависимостей. Пакеты второй волны и
|
||||
`jsx-a11y` без заявленной поддержки ESLint 10 отложены в
|
||||
[workspace issue #18](https://git.personal.ksv741.ru/WealthLedger/main/issues/18).
|
||||
|
||||
Vitest включает JSDOM-тесты и проверку геометрии секций позиций в headless
|
||||
Chromium при ширинах 375 и 1280 px. Browser project не использует JSDOM setup
|
||||
и его заглушки layout API. Только браузерная проверка:
|
||||
|
||||
Reference in New Issue
Block a user