chore: lint rules for scripts

This commit is contained in:
2026-09-26 16:46:52 +05:00
parent bd941d5ac5
commit 67fdef4363
4 changed files with 50 additions and 5 deletions
+25 -3
View File
@@ -432,13 +432,35 @@ file-result-инструментам.
ветке `from` (смена `clamp(t, 0, 100)` на `0, 90` проходила зелёной). Добавлен
отдельный тест на производный кламп; после этого мутация падает.
#### Q7c–Q7d. Оставшиеся направления
#### Q7c. Базовый JS recommended для инфраструктуры линтинга
**Статус:** выполнен. `eslint-plugins/**` и `scripts/**` больше не вне линта.
- `web/eslint.config.js`:
`toolingFiles = ["**/eslint-plugins/**/*.js", "**/scripts/**/*.mjs"]` получают
`js.configs.recommended` плюс `languageOptions` с `globals.node` (иначе
`no-undef` ругается на `console`, `process` и `URL` в Node-скриптах).
- Полные TS/svelte-наборы туда не подключаются: это `.mjs` и конфиги, а не
продуктовый код.
- Масштаб оказался небольшим: 28 проблем, из них 26 — `no-undef` на
Node-глобалах и только 2 настоящие: мёртвые импорты `existsSync` и `resolve` в
`scripts/serve-static.mjs`. Линтер сразу нашёл пыль в инфраструктуре, для
которой его раньше не было.
- `eslint-plugins/**` дал ноль проблем, а новые тесты `scripts/__tests__` тоже
попали под правило.
- Проверено пробой: после включения неиспользуемая переменная и вызов
неопределённого глобала в `scripts/` дают ошибки, то есть правило применилось,
а не молча пропустило файлы.
#### Q7d. Оставшиеся направления
- Покрыть базовым JS recommended сам код ESLint-плагинов и lint-скриптов.
- Отдельно решить, должен ли обычный CSS проходить проверку undefined tokens и
hardcoded colors наравне со Svelte styles.
- Новые правила подключать только после fixtures, `test:rules` и baseline.
- Решить, должны ли сами конфиги (`eslint.config.js`, `postcss.config.js`,
`stylelint.config.js`, `svelte.config.js`, `vite.config.ts`) тоже попасть под
рекомендации: сейчас вне `toolingFiles`.
- Решить, должен ли unused audit стать fail-режимом (см. Q7a).
- Новые правила подключать только после fixtures, `test:rules` и baseline.
### Q8. Новые автоматические правила