/** * html-attr lint(Q5: 宣言だけで死んでいた html-attr ルールの部分蘇生) * * lint-core.ts の class 文字列マッチでは拾えない「属性の有無・値」を、 * rules.json の htmlAttrCheck spec に従って raw source(HTML/JSX) に対して検査する。 * * 設計の前提: * - cheerio 等の DOM パーサは未導入(S2 で導入予定)。よって正規表現ベース。 * - presence/absence/値で機械判定できる最小集合のみ活性化する。 * role=dialog を要する modal の特定のような「何を modal とみなすか」の文脈依存判定は * 表現できないため対象外(htmlAttrCheck を付けない=従来どおり dead のまま)。 * - JSX(.tsx/.jsx) の属性名差異(tabIndex 等)は attr 名を case-insensitive 照合で吸収する。 * - false negative(拾い漏れ)は許容するが、false positive は出さない方針。 * data-* 等の前置詞付き属性を誤検出しないよう negative lookbehind で境界を守る。 */ import type { LintViolation } from "./types.js"; /** * engine v1 が実装している html-attr 検査の kind。 * capability 表(detectors.ts)から導出する — ここで別定義を持たない。 * rule.schema.json の htmlAttrCheck.kind enum との一致は * tests/rule-diagnostics.spec.ts が機械照合する。 */ export declare const SUPPORTED_ATTR_KINDS: string[]; /** * raw source(HTML/JSX) を html-attr ルールで検査する。 * htmlAttrCheck spec を持つ html-attr ルールだけが対象(spec 無しは従来どおり未検出)。 */ export declare function lintHtmlAttrs(source: string): LintViolation[];