docs: 归档 demo 工程样例与插件实测报告

- 新增三个 demo 工程(demo-eslint / demo-sqlfluff / demo-stylelint):各含 src/ 样例代码与覆盖率映射(run-coverage.mjs、coverage_map.json、stylelint_line_map.json)

- 归档各 demo 的插件实测导出报告(reports/):

  - demo-eslint:common.js / esm-demo.js / legacysyntax.cjs / typescript.ts 审查报告 + 覆盖率报告(292/292 条零偏差,126 种规则全覆盖)

  - demo-sqlfluff:11 个 SQL 样例审查报告 + 覆盖率报告(113/113 条零偏差,57 种规则全覆盖,含 JJ01 行号缺陷修复后的复测验证)

  - demo-stylelint:common.css / empty-source.css 审查报告 + 覆盖率报告(145/145 条零偏差,68 种规则全覆盖)
This commit is contained in:
范智鹏
2026-08-25 22:00:19 +08:00
parent 9c676e46e6
commit c92249a044
43 changed files with 6103 additions and 0 deletions
+342
View File
@@ -0,0 +1,342 @@
/* ============ common.css(合并文件) ============ */
/* 由 Stylelint 演示工程除 empty-source.css 外的 22 个 CSS 文件合并压缩而来。 */
/* ===== 原 import.css ===== */
/* import-notation: 应使用字符串形式 */
@import url("/x.css");
a {
color: red;
}
/* no-invalid-position-at-import-rule: @import 位置非法(位于其他规则之后) */
@import "/late.css";
/* ===== 原 at-rules.css ===== */
/* at-rule-descriptor-no-unknown: @font-face 内未知描述符 */
@font-face {
unknown-descriptor: 1;
}
/* at-rule-descriptor-value-no-unknown: font-display 描述符值非法 */
@font-face {
font-display: invalid-display-value;
}
/* at-rule-no-deprecated: 已废弃的 at-rule */
@viewport {
width: 100vh;
}
/* at-rule-no-unknown: 未知 at-rule */
@unknown-rule {
}
/* at-rule-prelude-no-invalid: 无效的 prelude */
@layer foo.bar. {
}
/* at-rule-no-vendor-prefix: 带厂商前缀的 at-rule */
@-webkit-keyframes vendor-keyframes {
}
/* ===== 原 media.css ===== */
/* media-feature-name-no-unknown: 未知媒体特性 */
@media (unknown-feature) {
}
/* media-feature-name-value-no-unknown: 媒体特性值非法 */
@media (width: 10) {
}
/* media-query-no-invalid: 无效 media 查询 */
@media (min-width: ) {
}
/* media-type-no-deprecated: 已废弃媒体类型 */
@media tv {
}
/* media-feature-name-no-vendor-prefix: 带厂商前缀的媒体特性 */
@media (-webkit-min-device-pixel-ratio: 2) {
}
/* no-unknown-custom-media: 引用未定义的自定义媒体 */
@media (--my-custom-media) {
}
/* ===== 原 annotation.css ===== */
/* annotation-no-unknown: 未知的注解 "!foo" */
a {
color: red !foo;
}
/* ===== 原 color.css ===== */
a {
/* color-no-invalid-hex: 非法十六进制颜色(5 位) */
color: #12345;
/* color-hex-length: 十六进制过长(应缩短为 3 位) */
color: #ffffff;
/* color-function-notation: 应使用现代空格分隔语法 */
color: rgb(255, 0, 0);
/* alpha-value-notation: alpha 应使用数字而非百分比 */
color: rgba(0, 0, 0, 50%);
/* hue-degree-notation: 色相应使用角度 */
color: hsl(120, 50%, 50%);
}
/* ===== 原 color-named.css ===== */
a {
/* color-named: 禁止使用命名颜色 */
color: red;
}
/* ===== 原 comments.css ===== */
/* comment-no-empty: 空注释 */
/**/
/* comment-whitespace-inside: 注释内部缺少空格 */
/*comment*/
/* no-invalid-double-slash-comments: 非法双斜杠注释 */
// invalid double slash comment
a {
color: red;
}
/* ===== 原 custom-properties.css ===== */
:root {
--my-color: red;
}
a {
/* custom-property-no-missing-var-function: 自定义属性未包裹 var() */
color: --my-color;
/* declaration-block-no-duplicate-custom-properties: 重复自定义属性 */
--dup: 1;
--dup: 2;
/* no-unknown-custom-properties: 使用未定义的自定义属性 */
background: var(--unknown-prop);
}
/* ===== 原 duplicates.css ===== */
/* no-duplicate-at-import-rules: 重复导入同一文件 */
@import url("/a.css");
@import url("/a.css");
/* no-descending-specificity: 低特异性选择器位于高特异性之后 */
#high .foo {
color: red;
}
.bar .foo {
color: blue;
}
/* no-duplicate-selectors: 重复选择器 */
.dup {
color: red;
}
.dup {
color: red;
}
/* declaration-block-no-duplicate-properties: 重复属性 */
.dup2 {
color: red;
color: blue;
}
/* declaration-block-no-shorthand-property-overrides: 简写属性被覆盖 */
.dup3 {
background-color: blue;
background: red;
}
/* ===== 原 font-family.css ===== */
a {
/* font-family-no-duplicate-names: 重复字族名 */
font-family: Arial, Arial;
/* font-family-no-missing-generic-family-keyword: 缺少通用字族 */
font-family: Arial;
}
b {
/* font-family-name-quotes: 需加引号的字族名 */
font-family: 2Fancy;
}
/* ===== 原 functions.css ===== */
a {
/* function-no-unknown: 未知函数 */
color: unknown-func();
/* function-calc-no-unspaced-operator: calc 运算符缺少空格 */
width: calc(1px+2px);
/* function-linear-gradient-no-nonstandard-direction: 非标准方向 */
background: linear-gradient(top, red, blue);
/* no-unknown-animations: 引用未定义的动画 */
animation: my-anim 1s;
}
/* ===== 原 grids.css ===== */
/* named-grid-areas-no-invalid: 命名网格区域行列数量不一致 */
a {
grid-template-areas:
"a b"
"c d e";
}
/* ===== 原 keyframes.css ===== */
/* keyframe-block-no-duplicate-selectors: 关键帧块内重复选择器 */
@keyframes duplicate-selector {
from {
opacity: 0;
}
from {
opacity: 0;
}
}
/* keyframe-declaration-no-important: 关键帧声明使用 !important */
@keyframes important {
from {
opacity: 0 !important;
}
}
/* keyframe-selector-notation: 应使用百分比选择器 */
@keyframes notation {
from {
opacity: 0;
}
}
/* ===== 原 length.css ===== */
a {
/* length-zero-no-unit: 零值不应带单位 */
margin: 0px;
/* number-max-precision: 数值精度超过 4 位 */
width: 1.123456px;
}
b {
/* unit-no-unknown: 未知单位 */
width: 10unknown;
}
/* ===== 原 nested-redundant.css ===== */
a {
color: red;
/* block-no-redundant-nested-style-rules: 冗余嵌套样式规则 */
& {
color: red;
}
}
/* ===== 原 nesting.css ===== */
/* nesting-selector-no-missing-scoping-root: 顶层出现嵌套选择器 */
&:hover {
color: red;
}
/* no-invalid-position-declaration: 声明处于非法位置(media 块内无选择器) */
@media (min-width: 100px) {
color: red;
}
/* ===== 原 properties.css ===== */
a {
/* property-no-unknown: 未知属性 */
colour: red;
/* property-no-deprecated: 已废弃属性 */
word-wrap: break-word;
/* property-no-vendor-prefix: 带厂商前缀的属性 */
-webkit-transform: rotate(1deg);
/* declaration-property-value-no-unknown: 属性值未知 */
width: unknownvalue;
}
b {
/* declaration-property-value-keyword-no-deprecated: 已废弃颜色关键字 */
color: activeborder;
}
/* ===== 原 redundancy.css ===== */
a {
/* declaration-block-no-redundant-longhand-properties: 冗余长手写属性 */
margin: 1px;
margin-top: 1px;
}
b {
/* shorthand-property-no-redundant-values: 冗余简写值 */
margin: 1px 1px 1px 1px;
}
/* ===== 原 selectors.css ===== */
/* selector-pseudo-class-no-unknown: 未知伪类 */
a:unknown-pseudo {
}
/* selector-pseudo-element-no-unknown: 未知伪元素 */
a::unknown-element {
}
/* selector-pseudo-element-colon-notation: 伪元素应使用双冒号 */
a:before {
}
/* selector-type-no-unknown: 未知元素类型 */
unknowntag {
}
/* selector-no-vendor-prefix: 带厂商前缀的伪元素选择器 */
::-webkit-input-placeholder {
}
/* selector-anb-no-unmatchable: 无法匹配的 An+B 选择器 */
li:nth-child(0n) {
}
/* block-no-empty: 空规则块 */
div {
}
/* ===== 原 strings.css ===== */
/* string-no-newline: 字符串包含换行 */
[data-x="line
break"] {
color: red;
}
@property --foo {
/* syntax-string-no-invalid: 非法语法字符串 */
syntax: "<invalid>";
inherits: false;
}
/* ===== 原 vendor-value.css ===== */
a {
/* value-no-vendor-prefix: 带厂商前缀的值 */
display: -webkit-flex;
}
/* ===== 原 whitespace.css ===== */
/* no-irregular-whitespace: value contains NBSP */
a {
margin: 0 ;
}