mirror of
https://github.com/Ku6epXBOCTuK/easy-png-tools.git
synced 2026-11-13 17:08:20 +00:00
chore: update lint rules
This commit is contained in:
@@ -452,15 +452,53 @@ file-result-инструментам.
|
||||
неопределённого глобала в `scripts/` дают ошибки, то есть правило применилось,
|
||||
а не молча пропустило файлы.
|
||||
|
||||
#### Q7d. Оставшиеся направления
|
||||
#### Q7d. Решения по оставшимся вопросам
|
||||
|
||||
**Статус:** закрыт тремя решениями.
|
||||
|
||||
1. **Обычный CSS под те же токен-правила, что Svelte styles — узко.** В `src`
|
||||
всего один CSS-файл, и он же словарь токенов, поэтому переносить туда
|
||||
`no-hardcoded-in-svelte` и подобные нечего: stylelint уже проверяет
|
||||
`src/**/*.css` (префиксы, запрет `!important`, цвет только у brand-токенов),
|
||||
а `check-tokens.mjs` дублирует проверку цвета. Реальный пробел был один —
|
||||
`var()` может ссылаться на несуществующий токен, — его закрыл новый модуль
|
||||
`web/scripts/token-audit/refs.mjs` (см. Q7e). Широкую унификацию механизмов
|
||||
решено не делать: это лишний слой поверх дублирующихся проверок.
|
||||
2. **Конфиги под рекомендации — только JS.** `*.config.js`
|
||||
(`eslint`/`postcss`/`stylelint`) добавлены в `toolingFiles`; по измерению они
|
||||
дают 0 проблем, поэтому это бесплатно. TS-конфиги (`vite`, `vitest`,
|
||||
`playwright`) не подключены: им потребовался бы `tseslint`-парсер и запись
|
||||
`vite.config.ts` в `allowDefaultProject`, а выигрыш близок к нулю. Попутно
|
||||
удалена мёртвая запись `svelte.config.js` в `allowDefaultProject` — такого
|
||||
файла нет.
|
||||
3. **Unused-аудит остаётся предупреждением.** Правило «новый токен — вместе с
|
||||
потребителем» закреплено в `AGENTS.md`. Причина: `verify` входит в
|
||||
deploy-workflow, поэтому стилевой долг блокировал бы деплой сайта; кроме
|
||||
того, чтение токена из JS (`getPropertyValue`) аудит не видит и дал бы ложное
|
||||
срабатывание. Baseline чистый, пыль вычищена в Q7a.
|
||||
|
||||
#### Q7e. Проверка резолва `var()` в `app.css`
|
||||
|
||||
**Статус:** выполнен. Аудит падает, если `var(--x)` в `app.css` указывает на
|
||||
токен, которого нет в этом же файле.
|
||||
|
||||
- `web/scripts/token-audit/refs.mjs` + вызов в `check-tokens.mjs`; режим —
|
||||
ошибка, а не предупреждение, потому что это дефект (объявление молча
|
||||
отбрасывается), а не стилистический долг.
|
||||
- `var(--x, fallback)` не считается ошибкой: fallback легален без определения
|
||||
токена.
|
||||
- 7 тестов в `scripts/__tests__/token-audit.test.mjs`: резолв в обеих темах,
|
||||
опечатка с локацией, fallback, дедуп повторов, ссылка внутри определения
|
||||
токена, `var()` в обычном свойстве.
|
||||
- Проверено на живом файле: временная опечатка `var(--color-bordr)` дала
|
||||
`Unresolved var() references` и код выхода 1; `app.css` восстановлен байт в
|
||||
байт.
|
||||
|
||||
#### Q7f. Оставшиеся направления
|
||||
|
||||
- Отдельно решить, должен ли обычный CSS проходить проверку undefined tokens и
|
||||
hardcoded colors наравне со Svelte styles.
|
||||
- Решить, должны ли сами конфиги (`eslint.config.js`, `postcss.config.js`,
|
||||
`stylelint.config.js`, `svelte.config.js`, `vite.config.ts`) тоже попасть под
|
||||
рекомендации: сейчас вне `toolingFiles`.
|
||||
- Решить, должен ли unused audit стать fail-режимом (см. Q7a).
|
||||
- Новые правила подключать только после fixtures, `test:rules` и baseline.
|
||||
- Если в коде появится чтение токенов из JS, `collectUsedTokens` придётся
|
||||
расширить — иначе unused-аудит начнёт считать используемые токены пылью.
|
||||
|
||||
### Q8. Новые автоматические правила
|
||||
|
||||
|
||||
Reference in New Issue
Block a user