# demo-stylelint 插件实测覆盖率报告 > **工程**:`demo-stylelint`(`common.css` / `empty-source.css` 两个样例文件,无 `.stylelintrc` 工程配置 → 插件回退内置配置) > **测试对象**:插件 Stylelint 适配器(引擎 stylelint 17.14.0 + stylelint-config-recommended 18.0.0) > **实测日期**:2026-08-25 > **比对基线**:与插件依赖版本逐字一致的本地复现(比对键 = 规则 + 行号 + 严重级别) --- ## 一、核心结论 | 指标 | 结果 | 状态 | |---|---|---| | 规则覆盖率(内置启用 68 条) | **68/68 种全部触发(100%)** | ✅ 全覆盖 | | 插件行为一致性(vs 基线) | **145/145 条逐条一致,零偏差** | ✅ 100% | | 诊断总数 | **145 处**(common.css 144 + empty-source.css 1) | ✅ 与基线完全一致 | | 缺陷发现 | **无**(无 NaN 行号、无解析错误、无规则丢失) | ✅ | **实测完全达成全覆盖基准**:插件在「工程无配置文件 → 回退内置配置」路径下,内置启用的 68 条规则全部触发,145 处诊断与模拟基线逐条零偏差。**Stylelint 适配器静态分析链路一次通过完整验证,未发现任何缺陷。** --- ## 二、逐文件比对(实测 vs 基线) | 文件 | 实测 | 基线 | 一致性 | 触发规则数 | |---|---:|---:|---|---| | `common.css` | 144 | 144 | ✅ 逐条一致 | 67 种 | | `empty-source.css` | 1 | 1 | ✅ 逐条一致 | 1 种(`no-empty-source`,仅此文件触发) | | **合计** | **145** | **145** | **✅ 零偏差** | **68 种(67 + 1 独有)** | > 比对方法:将插件报告中每条静态诊断(规则名 + 行号 + 严重级别)与基线做多重集合比对;两个文件均 `missing = 0`、`extra = 0`。 --- ## 三、规则覆盖拆解(68/68 = 100%) 内置配置 = `stylelint-config-recommended` 18.0.0 原生规则 **41 条** + 插件追加 `stylelintExtraRules` **27 条**(无重叠,合并 68 条),两部分实测**全部触发**: | 来源 | 启用 | 触发 | 说明 | |---|---:|---:|---| | recommended 18.0.0 原生 | 41 | **41/41** | 含 `at-rule-descriptor-no-unknown`、`declaration-property-value-no-unknown`、`no-duplicate-selectors`、`selector-pseudo-class-no-unknown` 等核心规则 | | 插件 extra 追加 | 27 | **27/27** | 校验类 7 条(`color-no-invalid-hex`、`function-no-unknown`、`unit-no-unknown` 等)+ 厂商前缀类 5 条 + 记号规范类 8 条 + 其他 7 条 | | **合计** | **68** | **68(100%)** | — | **extra 追加 27 条明细**(全部触发): - **校验类(7)**:`color-no-invalid-hex`、`function-linear-gradient-no-nonstandard-direction`、`function-no-unknown`、`unit-no-unknown`、`no-unknown-animations`、`no-unknown-custom-media`、`no-unknown-custom-properties` - **厂商前缀类(5)**:`at-rule-no-vendor-prefix`、`media-feature-name-no-vendor-prefix`、`property-no-vendor-prefix`、`selector-no-vendor-prefix`、`value-no-vendor-prefix` - **记号规范类(8)**:`color-hex-length`、`color-function-notation`、`length-zero-no-unit`、`selector-pseudo-element-colon-notation`、`import-notation`、`alpha-value-notation`、`hue-degree-notation`、`keyframe-selector-notation` - **其他(7)**:`declaration-block-no-redundant-longhand-properties`、`shorthand-property-no-redundant-values`、`block-no-redundant-nested-style-rules`、`color-named`、`font-family-name-quotes`、`number-max-precision`、`comment-whitespace-inside` --- ## 四、诊断分布统计 **按严重级别**(静态 145 条): | 级别 | 数量 | 占比 | |---|---:|---:| | error(🔴) | 145 | 100% | | warning(🟡) | 0 | 0% | **按文件**:`common.css` 144 · `empty-source.css` 1。 **高频规则 Top 8**(common.css): | 规则 | 出现次数 | |---|---:| | `color-named`(不允许命名颜色) | 21 | | `no-duplicate-selectors`(重复选择器) | 18 | | `block-no-empty`(空规则块) | 16 | | `declaration-property-value-no-unknown`(未知属性值) | 9 | | `comment-whitespace-inside`(注释内空格) | 4 | | `keyframe-selector-notation`(关键帧选择器记号) | 4 | | `import-notation`(导入记号) | 3 | | `no-invalid-position-at-import-rule`(@import 位置非法) | 3 | > 注:插件报告中另有 AI 审查建议 6 条(common.css:bug 2 / performance 2 / design 2),属 AI 增强能力,不计入静态规则覆盖口径。 --- ## 五、实测环境判定 实测报告的文件路径与预期部署一致: - `data\demo-stylelint\src\common.css`(144 条诊断,行号与基线逐条吻合 → 文件与当前工作区版本一致) - `data\demo-stylelint\src\empty-source.css`(1 条 `no-empty-source`,覆盖该规则在 recommended 中的唯一触发途径——空源文件) **配置路径验证**:工程不含任何 `.stylelintrc` / `stylelint.config.*`,插件按设计走「内置默认配置回退」路径(`recommended.rules` + `stylelintExtraRules` 直接作为 `config` 对象传入 `stylelint.lint()`)。实测 145/145 逐条一致即为该路径的最终确认。 **与 SQLFluff JJ01 缺陷的对照**:Stylelint 适配器对 warnings 的 `endLine`/`endColumn` 做了缺失回退(`w.endLine ?? w.line`),因此即使个别警告缺失结束坐标也不会出现 NaN 行号——实测无任何行号异常,该防御性写法经受住了 145 条诊断的验证。 --- ## 六、数据口径说明 | 项 | 说明 | |---|---| | 覆盖率口径 | 68 条 = 内置配置实际启用规则数(recommended 41 + extra 27,无重叠);规则触发即计入 | | 比对引擎 | stylelint 17.14.0 + stylelint-config-recommended 18.0.0(与插件 `package-lock.json` 锁定版本逐字一致) | | 基线复现方式 | 与适配器 `getDefaultConfig()` 逻辑逐字一致:`import('stylelint-config-recommended')` 取 rules 后合并 `stylelintExtraRules`,作为 `config` 传入 `stylelint.lint({ code, codeFilename, cwd })` | | 基线数据 | `/data/user/work/results/stylelint-final-compare.json`(逐文件比对明细) | | 严重级别口径 | 145 条全部 error:recommended 与 extra 均未配置 `severity: warning` 覆盖,stylelint 默认全部 error | --- ## 七、结论与后续 **demo-stylelint 工程的插件实测验证完成**: 1. ✅ 内置规则全覆盖达成(68/68 种 · 145 处) 2. ✅ 插件行为零偏差(145/145 条逐条一致) 3. ✅ 「内置配置回退」路径完整验证(工程无 `.stylelintrc` 场景) 4. ✅ 零缺陷(对照 SQLFlutt 发现的 JJ01 NaN 问题,Stylelint 适配器的 endLine 回退写法正确) --- *报告生成于 2026-08-25 · demo-stylelint 插件实测 · 比对脚本:`stylelint-compare.mjs` · 数据:`stylelint-final-compare.json`*