Files
2026Technology-Competition/data/demo-stylelint/reports/demo-stylelint-coverage-report.md
T
范智鹏 3c390cfa90 feat: demo-pmd 样本工程入库 + Windows spawn cmd EINVAL 修复 + 实测报告清理
- data/demo-pmd 全量入库(26 源文件 + pom/mvnw/lib/reports),.gitignore 排除 target/
- 归档 demo-pmd 实测覆盖率报告(279/279 全覆盖)至 reports/
- 删除 4 份覆盖率报告中的后续建议/实测进度总览(全部实测已收官)
- 修复 Windows spawn .cmd/.bat EINVAL(auxClasspath.ts 经 cmd.exe /d /s /c 间接执行)
2026-08-26 22:04:47 +08:00

6.6 KiB
Raw Blame History

demo-stylelint 插件实测覆盖率报告

工程demo-stylelintcommon.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 = 0extra = 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-unknowndeclaration-property-value-no-unknownno-duplicate-selectorsselector-pseudo-class-no-unknown 等核心规则
插件 extra 追加 27 27/27 校验类 7 条(color-no-invalid-hexfunction-no-unknownunit-no-unknown 等)+ 厂商前缀类 5 条 + 记号规范类 8 条 + 其他 7 条
合计 68 68100%

extra 追加 27 条明细(全部触发):

  • 校验类(7color-no-invalid-hexfunction-linear-gradient-no-nonstandard-directionfunction-no-unknownunit-no-unknownno-unknown-animationsno-unknown-custom-mediano-unknown-custom-properties
  • 厂商前缀类(5at-rule-no-vendor-prefixmedia-feature-name-no-vendor-prefixproperty-no-vendor-prefixselector-no-vendor-prefixvalue-no-vendor-prefix
  • 记号规范类(8color-hex-lengthcolor-function-notationlength-zero-no-unitselector-pseudo-element-colon-notationimport-notationalpha-value-notationhue-degree-notationkeyframe-selector-notation
  • 其他(7declaration-block-no-redundant-longhand-propertiesshorthand-property-no-redundant-valuesblock-no-redundant-nested-style-rulescolor-namedfont-family-name-quotesnumber-max-precisioncomment-whitespace-inside

四、诊断分布统计

按严重级别(静态 145 条):

级别 数量 占比
error🔴 145 100%
warning🟡 0 0%

按文件common.css 144 · empty-source.css 1。

高频规则 Top 8common.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.cssbug 2 / performance 2 / design 2),属 AI 增强能力,不计入静态规则覆盖口径。


五、实测环境判定

实测报告的文件路径与预期部署一致:

  • data\demo-stylelint\src\common.css(144 条诊断,行号与基线逐条吻合 → 文件与当前工作区版本一致)
  • data\demo-stylelint\src\empty-source.css1 条 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 条全部 errorrecommended 与 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