chore: update lint rules for comments

This commit is contained in:
2026-10-12 12:55:31 +05:00
parent 66b23ec3bf
commit 0e6a8464af
10 changed files with 317 additions and 48 deletions
+10 -2
View File
@@ -142,13 +142,21 @@ report-only (`warn`), baseline — 0 срабатываний.
списку**: комментарий обязан быть ASCII, поэтому ловятся любые письменности
(кириллица, CJK, арабский), а не один конкретный алфавит; осознанные глифы —
через опцию `allowChars`. Строковые литералы не трогаем — локализованные
значения легальны в словарях.
значения легальны в словарях. В `.svelte` проверяются оба вида комментариев:
`<script>` и HTML-комментарии шаблона `<!-- -->` (последние — узлы AST, а не
comment-токены, поэтому обходятся отдельным визитором).
- `conventions/comment-format` — два мягких потолка: `maxBlockLines` (по
умолчанию 5) строк на один блок комментариев и `maxRatio` (по умолчанию 0.15)
— доля комментарных строк от непустых строк файла; density проверяется только
в файлах от `minLines` непустых строк (в конфиге 100), иначе любая шапка в
маленьком файле даёт ложное превышение. Превышение — сигнал к рефакторингу
кода, а не к сжатию комментария.
кода, а не к сжатию комментария. В `.svelte` считаются все три вида
комментариев (и в строках блока, и в плотности): `<script>`, HTML-комментарии
шаблона `<!-- -->` — отдельным визитором, как в
`conventions/comments-english`, и CSS в `<style>`, который парсится в
postcss-AST и берётся хелпером `design-tokens/style-context.js`. Комментарии
разных видов не склеиваются в один блок: соседние строки продолжают блок
только внутри `<script>`.
Scope правил комментариев — не только `src/`: сами плагины, `scripts/` и
`*.config.*` живут по тем же конвенциям (dogfooding). Фикстуры и тесты правил