@linkdesk/plugin-sdk 0.1.32 → 0.1.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/eslint/checks/appearance-ownership.d.ts +4 -3
  2. package/dist/eslint/checks/appearance-ownership.d.ts.map +1 -1
  3. package/dist/eslint/checks/appearance-ownership.js +22 -14
  4. package/dist/eslint/checks/appearance-ownership.js.map +1 -1
  5. package/dist/eslint/checks/appearance-ownership.test.d.ts +2 -0
  6. package/dist/eslint/checks/appearance-ownership.test.d.ts.map +1 -0
  7. package/dist/eslint/checks/appearance-ownership.test.js +348 -0
  8. package/dist/eslint/checks/appearance-ownership.test.js.map +1 -0
  9. package/dist/eslint/checks/command-ownership.d.ts +11 -1
  10. package/dist/eslint/checks/command-ownership.d.ts.map +1 -1
  11. package/dist/eslint/checks/command-ownership.js +10 -4
  12. package/dist/eslint/checks/command-ownership.js.map +1 -1
  13. package/dist/eslint/checks/command-ownership.test.d.ts +2 -0
  14. package/dist/eslint/checks/command-ownership.test.d.ts.map +1 -0
  15. package/dist/eslint/checks/command-ownership.test.js +207 -0
  16. package/dist/eslint/checks/command-ownership.test.js.map +1 -0
  17. package/dist/eslint/checks/config-ownership.d.ts +3 -3
  18. package/dist/eslint/checks/config-ownership.d.ts.map +1 -1
  19. package/dist/eslint/checks/config-ownership.js +15 -11
  20. package/dist/eslint/checks/config-ownership.js.map +1 -1
  21. package/dist/eslint/checks/config-ownership.test.d.ts +2 -0
  22. package/dist/eslint/checks/config-ownership.test.d.ts.map +1 -0
  23. package/dist/eslint/checks/config-ownership.test.js +252 -0
  24. package/dist/eslint/checks/config-ownership.test.js.map +1 -0
  25. package/dist/eslint/checks/context-ownership.d.ts +74 -0
  26. package/dist/eslint/checks/context-ownership.d.ts.map +1 -0
  27. package/dist/eslint/checks/context-ownership.js +177 -0
  28. package/dist/eslint/checks/context-ownership.js.map +1 -0
  29. package/dist/eslint/checks/context-ownership.test.d.ts +2 -0
  30. package/dist/eslint/checks/context-ownership.test.d.ts.map +1 -0
  31. package/dist/eslint/checks/context-ownership.test.js +205 -0
  32. package/dist/eslint/checks/context-ownership.test.js.map +1 -0
  33. package/dist/eslint/checks/disable.d.ts +5 -0
  34. package/dist/eslint/checks/disable.d.ts.map +1 -1
  35. package/dist/eslint/checks/disable.js +5 -0
  36. package/dist/eslint/checks/disable.js.map +1 -1
  37. package/dist/eslint/checks/plugin-prefix.test.d.ts +2 -0
  38. package/dist/eslint/checks/plugin-prefix.test.d.ts.map +1 -0
  39. package/dist/eslint/checks/plugin-prefix.test.js +229 -0
  40. package/dist/eslint/checks/plugin-prefix.test.js.map +1 -0
  41. package/dist/eslint/checks/reserved-classes.test.d.ts +2 -0
  42. package/dist/eslint/checks/reserved-classes.test.d.ts.map +1 -0
  43. package/dist/eslint/checks/reserved-classes.test.js +122 -0
  44. package/dist/eslint/checks/reserved-classes.test.js.map +1 -0
  45. package/dist/eslint/checks/selector-form.test.d.ts +2 -0
  46. package/dist/eslint/checks/selector-form.test.d.ts.map +1 -0
  47. package/dist/eslint/checks/selector-form.test.js +211 -0
  48. package/dist/eslint/checks/selector-form.test.js.map +1 -0
  49. package/dist/eslint/checks/token-scope.test.d.ts +2 -0
  50. package/dist/eslint/checks/token-scope.test.d.ts.map +1 -0
  51. package/dist/eslint/checks/token-scope.test.js +185 -0
  52. package/dist/eslint/checks/token-scope.test.js.map +1 -0
  53. package/dist/eslint/index.d.ts +12 -0
  54. package/dist/eslint/index.d.ts.map +1 -1
  55. package/dist/eslint/index.js +11 -0
  56. package/dist/eslint/index.js.map +1 -1
  57. package/dist/eslint/lint.d.ts +17 -0
  58. package/dist/eslint/lint.d.ts.map +1 -1
  59. package/dist/eslint/lint.js +64 -13
  60. package/dist/eslint/lint.js.map +1 -1
  61. package/dist/pack.test.d.ts +2 -0
  62. package/dist/pack.test.d.ts.map +1 -0
  63. package/dist/pack.test.js +58 -0
  64. package/dist/pack.test.js.map +1 -0
  65. package/dist/publish.test.d.ts +2 -0
  66. package/dist/publish.test.d.ts.map +1 -0
  67. package/dist/publish.test.js +340 -0
  68. package/dist/publish.test.js.map +1 -0
  69. package/dist/validate.test.d.ts +2 -0
  70. package/dist/validate.test.d.ts.map +1 -0
  71. package/dist/validate.test.js +107 -0
  72. package/dist/validate.test.js.map +1 -0
  73. package/package.json +68 -68
  74. package/schemas/host-reserved.json +9 -6
@@ -49,4 +49,15 @@ export { runConfigOwnershipCheck, judgeConfigKey, judgeRegisterIdentity, manifes
49
49
  * 跨空间比 = 假红(配方 `light` vs 配色 `light`),判据一律**按空间**取账栏,见 `reservedIdsForSpace`。
50
50
  */
51
51
  export { runAppearanceOwnershipCheck, judgeAppearanceId, reservedIdsForSpace, grantHoldersFor, readThemeJson, themeIdLine, } from "./checks/appearance-ownership.js";
52
+ /**
53
+ * 🔴 E6#111h(1.38):同一纪律再加一个 —— `runContextOwnershipCheck`(上下文旗子归属判据)。
54
+ * 壳仓只读探针 `scripts/audit-nonnaming.mjs` 用它出旗子面读数;**同样不是第二条判据路径**
55
+ * (`lint.ts` 的第八条腿用的就是它——同一份实现,改一处两边一起变)。
56
+ * 分级与配置腿/外观腿同形:判据① 占**宿主专用**旗子 = 红(进腿报点);判据③ 新旗子不带本仓前缀 = 黄
57
+ * (`contextAdvisories`,只打印,1.49 才收紧为红)。
58
+ * 🟠 **宿主公开约定面**(`contextKeysPublic`)**不判**——第三方设它合法(`MenuId` 是开放字符串),
59
+ * 只登记在报告的 `publicFace` 里让"谁在设约定面"可见。
60
+ * 🔴 **两段不许合并**(合成一栏 ⇒ 官方 `settings` 的 4 个约定面旗子被当成"占用宿主旗子"= 假红)。
61
+ */
62
+ export { runContextOwnershipCheck, judgeContextKey, RE_CONTEXT_KEY_SET } from "./checks/context-ownership.js";
52
63
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/eslint/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAElE,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAExF,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEpF,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAGvG;;;;;GAKG;AACH,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAS3G;;;;;;GAMG;AACH,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG/H;;;;;;;;GAQG;AACH,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,WAAW,GACZ,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/eslint/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAElE,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAExF,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEpF,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAGvG;;;;;GAKG;AACH,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAS3G;;;;;;GAMG;AACH,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG/H;;;;;;;;GAQG;AACH,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,WAAW,GACZ,MAAM,kCAAkC,CAAC;AAS1C;;;;;;;;;GASG;AACH,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC"}
@@ -88,6 +88,23 @@ export interface PluginLintReport {
88
88
  appearanceSentinels: number;
89
89
  appearanceIdGrants: number;
90
90
  } | null;
91
+ /** 🟡 E6#111h(1.38)上下文旗子归属判据的**黄灯建议**(判据③:新旗子不带本仓前缀)——**只打印、不拦** */
92
+ contextAdvisories: CheckViolation[];
93
+ /** 上下文旗子归属判据的计数(`keys` = 扫到的旗子名数;`bad` = 红站点数;`advisory` = 黄建议数;
94
+ * `publicFace` = 设**宿主公开约定面**的写点数——**登记用,不拦**) */
95
+ contextOwnershipCounts: {
96
+ keys: number;
97
+ bad: number;
98
+ advisory: number;
99
+ publicFace: number;
100
+ };
101
+ /** 宿主旗子账两段的加载实况(账没读到 ⇒ 判据① 空转,必须能看出来) */
102
+ hostContextLedger: {
103
+ file: string;
104
+ found: boolean;
105
+ contextKeysHostOnly: number;
106
+ contextKeysPublic: number;
107
+ } | null;
91
108
  }
92
109
  export declare function runPluginLint(root: string, options?: PluginLintOptions): Promise<PluginLintReport>;
93
110
  /** 打印报告(人机双通道的即时反馈环);返回进程退出码(真 error 才 1,WARN 永不 fail)。 */
@@ -1 +1 @@
1
- {"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/eslint/lint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/eslint/lint.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,7 @@ import { runSelectorFormCheck } from "./checks/selector-form.js";
38
38
  import { runCommandOwnershipCheck } from "./checks/command-ownership.js";
39
39
  import { runConfigOwnershipCheck } from "./checks/config-ownership.js";
40
40
  import { runAppearanceOwnershipCheck } from "./checks/appearance-ownership.js";
41
+ import { runContextOwnershipCheck } from "./checks/context-ownership.js";
41
42
  import {} from "./checks/scan.js";
42
43
  /** 示例用的门禁 id(打印知情绕行格式);伪 id 与 check 脚本 CHECK_IDS 同源 */
43
44
  const LEG_HINT_ID = "linkdesk/no-hardcoded-hex";
@@ -116,9 +117,9 @@ export async function runPluginLint(root, options = {}) {
116
117
  * 🔴 E6#111b(1.32):第五条 check 腿 —— **命令 id / 协议 id 归属**(`checks/command-ownership.ts`)。
117
118
  * 三面同判 ①②:声明面(`contributes.commands[].id`)/运行时面(`registerCommand("<字面量>")`)/
118
119
  * 协议面(`registerProtocol({ id: "<字面量>" })`)。
119
- * ⚠️ **本格只判黄**(官方仓还没改名,改名归 1.42–1.48)——报点进 WARN 通道即可,
120
- * `bin lint` 的退出码只看 eslint severity 2 ⇒ 对插件仓天然不构成红窗;**1.49 才收紧为红**。
121
- * ⚠️ **刻意不与另几条腿去重**(与 css-namespace 内部的去重口径相反):本腿 1.49 要**独立收紧为红**,
120
+ * ⚠️ 注释订正(1.49):原写「本格只判黄 …… 1.49 才收紧为红」,但实现里裁决**一律进 `violations`**
121
+ * ⇒ 在插件仓 CI 一直是红(只有 `bin lint` 的本地退出码不看它)。1.49 保持现状 + 订正注释。
122
+ * ⚠️ **刻意不与另几条腿去重**(与 css-namespace 内部的去重口径相反):本腿独立统计/独立收紧,
122
123
  * 把它的报点并进 css-namespace 腿或被那条腿吃掉,收紧时就分不清「谁在报」。fail-closed 那条与
123
124
  * 前缀腿在 `plugin.json:1` 上会各报一次——**那是两件不同的事**(一个说身份读不到,一个说前缀拿不到)。
124
125
  */
@@ -127,24 +128,36 @@ export async function runPluginLint(root, options = {}) {
127
128
  * 🔴 E6#111d(1.34):第六条 check 腿 —— **配置键归属**(`checks/config-ownership.ts`)。
128
129
  * 三面:声明面(`contributes.configuration.properties` 的键)/弱默认值面(`contributes.configurationDefaults`
129
130
  * 的键)/运行时面(源码里 `registerConfiguration*` 第一个实参 = 身份字面量)。
130
- * 🔴 **分级与前一条腿不同**:判据①(占用宿主保留键)=**红**,进腿报点;判据②(新键不带本仓前缀)=**黄**,
131
- * `configAdvisories` 只打印不拦。理由:① 是真害(顶替宿主设置面、用户数据被串),
132
- * 是存量欠账(官方 18 仓 19 个键,运行时都不拦——见 1.34 任务书 §五)。
133
- * ⚠️ 与另几条腿**刻意不合并**(同命令腿的理由):本腿的红站点将来要独立收紧/独立统计。
131
+ * 🔴 **1.49 收紧**:判据②(新键不带本仓前缀)**升红**,与判据① 一并进腿报点 ⇒ 插件仓 CI 拦。
132
+ * 收紧前提已满足:官方 18 仓清账完成(需改处 0)⇒ 不再有存量反例造成红窗。
133
+ * ⚠️ 与另几条腿**刻意不合并**(同命令腿的理由):本腿的红站点独立收紧/独立统计。
134
134
  */
135
135
  const configOwnership = runConfigOwnershipCheck(absRoot);
136
136
  /**
137
137
  * 🔴 E6#111f(1.36):第七条 check 腿 —— **外观族 id 归属**(`checks/appearance-ownership.ts`)。
138
138
  * 两面:声明面(`contributes.themes[].id` / `contributes.iconThemes[].id` / `contributes.icons` 的键)/
139
139
  * 主题文件面(`themes/*.json` 的顶层 `id` + `colorways[].id`——🔴 配色 id **只在这一面出现**)。
140
- * 🔴 **分级与配置腿同形**:判据②(占用宿主兜底外观 id,按空间比、证照者除外)=**红**,进腿报点;
141
- * 判据①(新外观 id 不带本仓前缀)=**黄**,进 `appearanceAdvisories` 只打印不拦
142
- * ——出处 = 1.36 任务书 §二.2 的 ★**回退条件**(存量 25 条改名被判给 1.47 轮,不在本格执行 ⇒ 判据必须回退到黄)
143
- * + 轴上**排序纪律**(1.32/1.34/1.36/1.38 先以「黄灯 + 账」落地,**1.49 才收紧为红**)。
144
- * ⚠️ 与另几条腿**刻意不合并**(同命令腿/配置腿的理由):本腿的红站点将来要独立收紧/独立统计;
140
+ * 🔴 **1.49 收紧**:判据①(新外观 id 不带本仓前缀)**升红**(出处 = 1.36 任务书 §二.2 的 ★回退条件
141
+ * 的反面 轴上排序纪律「1.49 才收紧为红」——存量 25 条已由 1.47 清完 + 迁移 v12 兜住用户已选值);
142
+ * **`iconTheme` 空间一并收进判据①**(旧「图标主题不改名」例外已随 [00 §〇c.1] 撤销)。
143
+ * 判据③(同插件跨配方重复配色)**仍是黄+登记**(独立判据,不在本格射程)。
144
+ * ⚠️ 与另几条腿**刻意不合并**(同命令腿/配置腿的理由):本腿的红站点独立收紧/独立统计;
145
145
  * 且它的输入是**外观四栏**,与命令腿读的前缀栏、配置腿读的 configKeys 栏各不相干。
146
146
  */
147
147
  const appearanceOwnership = runAppearanceOwnershipCheck(absRoot);
148
+ /**
149
+ * 🔴 E6#111h(1.38):第八条 check 腿 —— **上下文旗子归属**(`checks/context-ownership.ts`)。
150
+ * 一面:运行时面(源码里 `contextKey.set("<字面量>", …)` / `ContextKeyService.setValue("<字面量>", …)`)。
151
+ * 🔴 **1.49 收紧**:判据③(新旗子不带本仓 `<pluginId>.` 前缀)**升红**(出处 = 轴上排序纪律
152
+ * 「1.49 才收紧为红」——官方 18 仓的 23 个裸旗子已由 1.42/1.44/1.47 清完)。
153
+ * 🟠 **宿主公开约定面**(`contextKeysPublic`,今天 = `settings` 齿轮菜单的 4 个 `setting*`)**不判**:
154
+ * 第三方设它合法(`MenuId` 是开放字符串 ⇒ 谁都能进 `settingItemGear` 槽)⇒ 只登记在
155
+ * `publicFace` 里让"谁在设约定面"可见,**不进任何退出码**。🔴 这是**已裁决的豁免**(1.46 丙路线),
156
+ * **不是**「还没收紧的黄」——⛔ 别顺手把它收成红(会让官方 `settings` 当场假红)。
157
+ * ⚠️ 与另几条腿**刻意不合并**(同命令腿/配置腿的理由):本腿的红站点将来要独立收紧/独立统计;
158
+ * 且它的输入是**旗子两段**,与命令腿读的前缀栏、配置腿读的 configKeys 栏各不相干。
159
+ */
160
+ const contextOwnership = runContextOwnershipCheck(absRoot);
148
161
  const prefixKeys = new Set(prefix.violations.map((v) => `${v.file}:${v.line}`));
149
162
  const tokenKeys = new Set(tokenScope.violations.map((v) => `${v.file}:${v.line}`));
150
163
  const formKeys = new Set(selectorForm.violations.map((v) => `${v.file}:${v.line}`));
@@ -178,6 +191,11 @@ export async function runPluginLint(root, options = {}) {
178
191
  label: "check-appearance-ownership",
179
192
  violations: appearanceOwnership.violations,
180
193
  },
194
+ {
195
+ id: "linkdesk/no-unowned-context-key(context 旗子不得占用宿主专用旗子;新旗子应带本仓 <pluginId>. 前缀)",
196
+ label: "check-context-ownership",
197
+ violations: contextOwnership.violations,
198
+ },
181
199
  ];
182
200
  const totalCheckViolations = css.length +
183
201
  font.length +
@@ -185,7 +203,8 @@ export async function runPluginLint(root, options = {}) {
185
203
  namespace.length +
186
204
  commandOwnership.violations.length +
187
205
  configOwnership.violations.length +
188
- appearanceOwnership.violations.length;
206
+ appearanceOwnership.violations.length +
207
+ contextOwnership.violations.length;
189
208
  return {
190
209
  files: results.length,
191
210
  eslintRows,
@@ -224,6 +243,14 @@ export async function runPluginLint(root, options = {}) {
224
243
  advisory: appearanceOwnership.yellow.length,
225
244
  },
226
245
  hostAppearanceLedger: appearanceOwnership.hostLedger,
246
+ contextAdvisories: contextOwnership.advisories,
247
+ contextOwnershipCounts: {
248
+ keys: contextOwnership.keys.length,
249
+ bad: contextOwnership.red.length,
250
+ advisory: contextOwnership.yellow.length,
251
+ publicFace: contextOwnership.publicFace.length,
252
+ },
253
+ hostContextLedger: contextOwnership.hostLedger,
227
254
  };
228
255
  }
229
256
  /** 打印报告(人机双通道的即时反馈环);返回进程退出码(真 error 才 1,WARN 永不 fail)。 */
@@ -324,6 +351,30 @@ export function renderPluginLintReport(report) {
324
351
  `哨兵 ${hl.appearanceSentinels} / 证照 ${hl.appearanceIdGrants} 条` +
325
352
  (hl.found ? `(${hl.file})` : ` ⚠ 账没读到——判据② 本轮**空转**`));
326
353
  }
354
+ // 🟡 E6#111h(1.38)上下文旗子归属:黄灯建议(判据③)+ 一面读数 + 两段账的加载实况
355
+ if (report.contextAdvisories.length > 0) {
356
+ lines.push(`\n🟡 check-context-ownership(上下文旗子归属 · 1.49 起收紧为红):${report.contextAdvisories.length} 处**建议**(不拦 build)——` +
357
+ `旗子是**全局名册的键**:同名旗子被两个插件设时后写者静默胜出(壳运行时只出声、不拦——旗子是**状态写**,` +
358
+ `后写者覆盖前写者是正常行为)。改成"<你的 pluginId>.<名字>"(只换第一段、词干零变化)归属才唯一。`);
359
+ for (const v of report.contextAdvisories)
360
+ lines.push(` ${v.file}:${v.line} ${v.message}`);
361
+ }
362
+ const ck = report.contextOwnershipCounts;
363
+ lines.push(`\n🔴 check-context-ownership(上下文旗子归属):` +
364
+ `运行时面 ${ck.keys} 个旗子名——` +
365
+ (ck.bad === 0
366
+ ? `无占用**宿主专用**旗子的站点。`
367
+ : `${ck.bad} 处占用**宿主专用旗子**(宿主的菜单/命令面板显隐条件,会被你的值改写而两边都不报错)。`) +
368
+ (ck.advisory > 0 ? `另有 ${ck.advisory} 处前缀建议(见上)。` : ``) +
369
+ (ck.publicFace > 0
370
+ ? `\n 🟠 ${ck.publicFace} 处设的是**宿主公开约定面**旗子(宿主 when 读、写的人是插件——如官方 settings 的齿轮菜单)` +
371
+ `⇒ **不判、不拦**(登记即可)。`
372
+ : ``));
373
+ if (report.hostContextLedger) {
374
+ const hc = report.hostContextLedger;
375
+ lines.push(` 账 宿主专用 ${hc.contextKeysHostOnly} 个 / 宿主公开约定面 ${hc.contextKeysPublic} 个` +
376
+ (hc.found ? `(${hc.file})` : ` ⚠ 账没读到——判据① 本轮**空转**`));
377
+ }
327
378
  lines.push(`\n门禁 = 警告不是封锁(07 §六·三档):未处理偏离可修可绕——知情绕行写标准注释\n` +
328
379
  ` // eslint-disable-next-line ${LEG_HINT_ID} -- 理由 (行级)\n` +
329
380
  ` /* eslint-disable ${LEG_HINT_ID} -- 内容画布 */ (文件级:内容/画布整文件豁免)\n` +
@@ -1 +1 @@
1
- {"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/eslint/lint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAA0B,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAuB,MAAM,kBAAkB,CAAC;AAEvD,uDAAuD;AACvD,MAAM,WAAW,GAAG,2BAA2B,CAAC;AAmEhD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,UAA6B,EAAE;IAC/E,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ;QAC/B,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC;QACpC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC;YAC3B,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,IAAI,CAAC;IAEX,MAAM,MAAM,GAAG,wBAAwB,CAAC;QACtC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,QAAQ,IAAI,SAAS,EAAE,oDAAoD;KACtF,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,wDAAwD;QACxD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,QAAQ;gBAAE,OAAO,KAAK,CAAC,QAAQ,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACxB,GAAG,EAAE,OAAO;QACZ,kBAAkB,EAAE,IAAI,EAAE,6CAA6C;QACvE,cAAc,EAAE,MAAM;KACvB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAEjE,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC7B,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBAClE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;gBACjB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC;gBACrB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,QAAQ,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC9C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7C;;;;;;;;;OASG;IACH,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAChD;;;;;;;OAOG;IACH,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC/C;;;;;;OAMG;IACH,MAAM,YAAY,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACnD;;;;;;;;;OASG;IACH,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC3D;;;;;;;;OAQG;IACH,MAAM,eAAe,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACzD;;;;;;;;;;OAUG;IACH,MAAM,mBAAmB,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAChF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACnF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACpF,MAAM,SAAS,GAAqB;QAClC,GAAG,MAAM,CAAC,UAAU,EAAE,qBAAqB;QAC3C,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,cAAc;QAChG,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,kBAAkB;QAClG,GAAG,QAAQ,CAAC,MAAM,CAChB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAC/H;KACF,CAAC;IACF,MAAM,IAAI,GAAc;QACtB,EAAE,EAAE,EAAE,4CAA4C,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,GAAG,EAAE;QAClG,EAAE,EAAE,EAAE,iCAAiC,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,IAAI,EAAE;QACtF,EAAE,EAAE,EAAE,iCAAiC,EAAE,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,OAAO,EAAE;QAC3F;YACE,EAAE,EAAE,0FAA0F;YAC9F,KAAK,EAAE,qBAAqB;YAC5B,UAAU,EAAE,SAAS;SACtB;QACD;YACE,EAAE,EAAE,+EAA+E;YACnF,KAAK,EAAE,yBAAyB;YAChC,UAAU,EAAE,gBAAgB,CAAC,UAAU;SACxC;QACD;YACE,EAAE,EAAE,oEAAoE;YACxE,KAAK,EAAE,wBAAwB;YAC/B,UAAU,EAAE,eAAe,CAAC,UAAU;SACvC;QACD;YACE,EAAE,EAAE,kFAAkF;YACtF,KAAK,EAAE,4BAA4B;YACnC,UAAU,EAAE,mBAAmB,CAAC,UAAU;SAC3C;KACF,CAAC;IACF,MAAM,oBAAoB,GACxB,GAAG,CAAC,MAAM;QACV,IAAI,CAAC,MAAM;QACX,OAAO,CAAC,MAAM;QACd,SAAS,CAAC,MAAM;QAChB,gBAAgB,CAAC,UAAU,CAAC,MAAM;QAClC,eAAe,CAAC,UAAU,CAAC,MAAM;QACjC,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAAC;IAExC,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,UAAU;QACV,IAAI;QACJ,oBAAoB;QACpB,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;QACxC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,eAAe,EAAE,UAAU,CAAC,UAAU;QACtC,WAAW,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE;QAC7E,kBAAkB,EAAE,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE;QAC9G,sBAAsB,EAAE;YACtB,QAAQ,EAAE,gBAAgB,CAAC,WAAW,CAAC,MAAM;YAC7C,OAAO,EAAE,gBAAgB,CAAC,UAAU,CAAC,MAAM;YAC3C,QAAQ,EAAE,gBAAgB,CAAC,WAAW,CAAC,MAAM;YAC7C,GAAG,EAAE,gBAAgB,CAAC,KAAK,CAAC,MAAM;SACnC;QACD,kBAAkB,EAAE,gBAAgB,CAAC,UAAU;QAC/C,gBAAgB,EAAE,eAAe,CAAC,UAAU;QAC5C,qBAAqB,EAAE;YACrB,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAC,MAAM;YAC7C,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAC,MAAM;YAC7C,OAAO,EAAE,eAAe,CAAC,iBAAiB,CAAC,MAAM;YACjD,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,MAAM;YAC/B,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM;SACxC;QACD,gBAAgB,EAAE,eAAe,CAAC,UAAU;QAC5C,oBAAoB,EAAE,mBAAmB,CAAC,UAAU;QACpD,yBAAyB,EAAE;YACzB,cAAc,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,MAAM;YAC5D,iBAAiB,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,MAAM;YAClE,kBAAkB,EAAE,mBAAmB,CAAC,qBAAqB,CAAC,MAAM;YACpE,eAAe,EAAE,mBAAmB,CAAC,kBAAkB,CAAC,MAAM;YAC9D,iBAAiB,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,MAAM;YAClE,GAAG,EAAE,mBAAmB,CAAC,GAAG,CAAC,MAAM;YACnC,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM;SAC5C;QACD,oBAAoB,EAAE,mBAAmB,CAAC,UAAU;KACrD,CAAC;AACJ,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,sBAAsB,CAAC,MAAwB;IAC7D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC;IACnE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,MAAM,mCAAmC,CAAC,CAAC;QACzE,KAAK,MAAM,CAAC,IAAI,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACpH,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,gBAAgB,QAAQ,CAAC,MAAM,WAAW,MAAM,CAAC,KAAK,8BAA8B,CAAC,CAAC;QACjG,KAAK,MAAM,CAAC,IAAI,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3G,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,OAAO,CAAC,CAAC;YAClC,SAAS;QACX,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,WAAW,CAAC,CAAC;QAC/D,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,8CAA8C;IAC9C,IAAI,MAAM,CAAC,YAAY;QAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAE7E,0DAA0D;IAC1D,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CACR,uCAAuC,MAAM,CAAC,eAAe,CAAC,MAAM,sBAAsB;YACxF,wDAAwD;YACxD,4BAA4B,CAC/B,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,eAAe;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,qDAAqD;IACrD,MAAM,EAAE,GAAG,MAAM,CAAC,kBAAkB,CAAC;IACrC,IAAI,EAAE,CAAC,UAAU,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;QAC/C,KAAK,CAAC,IAAI,CACR,8DAA8D;YAC5D,sDAAsD,CACzD,CAAC;IACJ,CAAC;IAED,mEAAmE;IACnE,MAAM,EAAE,GAAG,MAAM,CAAC,sBAAsB,CAAC;IACzC,KAAK,CAAC,IAAI,CACR,yDAAyD;QACvD,OAAO,EAAE,CAAC,QAAQ,aAAa,EAAE,CAAC,OAAO,YAAY,EAAE,CAAC,QAAQ,MAAM;QACtE,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;YACX,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,sCAAsC,CAAC,CACvD,CAAC;IACF,IAAI,MAAM,CAAC,kBAAkB,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAClE,KAAK,CAAC,IAAI,CACR,mBAAmB,MAAM,CAAC,kBAAkB,CAAC,IAAI,4BAA4B;YAC3E,wCAAwC,CAC3C,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CACR;8CACwC,MAAM,CAAC,gBAAgB,CAAC,MAAM,sBAAsB;YAC1F,yDAAyD,CAC5D,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,gBAAgB;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/F,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,qBAAqB,CAAC;IACzC,KAAK,CAAC,IAAI,CACR;kCAC8B;QAC5B,OAAO,GAAG,CAAC,QAAQ,cAAc,GAAG,CAAC,QAAQ,aAAa,GAAG,CAAC,OAAO,OAAO;QAC5E,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACZ,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,0CAA0C,CAAC;QACzD,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,QAAQ,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAC5D,CAAC;IACF,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CACR,oBAAoB,MAAM,CAAC,gBAAgB,CAAC,UAAU,YAAY,MAAM,CAAC,gBAAgB,CAAC,eAAe,IAAI;YAC3G,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAClG,CAAC;IACJ,CAAC;IAED,uDAAuD;IACvD,IAAI,MAAM,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CACR,2DAA2D,MAAM,CAAC,oBAAoB,CAAC,MAAM,sBAAsB;YACjH,4EAA4E;YAC5E,2CAA2C,CAC9C,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,oBAAoB;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,CAAC,yBAAyB,CAAC;IAC5C,KAAK,CAAC,IAAI,CACR,6CAA6C;QAC3C,UAAU,EAAE,CAAC,cAAc,WAAW,EAAE,CAAC,iBAAiB,WAAW,EAAE,CAAC,kBAAkB,KAAK;QAC/F,YAAY,EAAE,CAAC,eAAe,SAAS,EAAE,CAAC,iBAAiB,MAAM;QACjE,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;YACX,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,8CAA8C,CAAC;QAC5D,CAAC,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAC1D,CAAC;IACF,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;QAChC,MAAM,EAAE,GAAG,MAAM,CAAC,oBAAoB,CAAC;QACvC,KAAK,CAAC,IAAI,CACR,cAAc,EAAE,CAAC,mBAAmB,WAAW,EAAE,CAAC,qBAAqB,aAAa,EAAE,CAAC,sBAAsB,KAAK;YAChH,MAAM,EAAE,CAAC,mBAAmB,SAAS,EAAE,CAAC,kBAAkB,IAAI;YAC9D,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,uBAAuB,CAAC,CACxD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CACR,gDAAgD;QAC9C,iCAAiC,WAAW,iBAAiB;QAC7D,uBAAuB,WAAW,kCAAkC;QACpE,mDAAmD,CACtD,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/eslint/lint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pack.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pack.test.d.ts","sourceRoot":"","sources":["../src/pack.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * `pack` 通道的**排除表**单测(2026-09-15 补)。
3
+ *
4
+ * 为什么值得一条测试:这张表的错法是**静默**的——多排一个真内容 = 装上少文件(用户那边才现形);
5
+ * 少排一个仓面文件 = 出厂件与仓内重建不一致(内容指纹漂移,而两道门禁都看不见)。
6
+ * 两种错都不会让任何东西变红,所以只能靠这里的**正反两向**钉住。
7
+ */
8
+ import { describe, expect, it } from "vitest";
9
+ import { isPackableRelPath } from "./pack.js";
10
+ describe("isPackableRelPath —— 进包的(正例)", () => {
11
+ it("插件本体:清单 / 数据文件 / 资源 / 源码 / 词典", () => {
12
+ for (const rel of [
13
+ "plugin.json",
14
+ "themes/my-glass.json",
15
+ "icons/pastel.json",
16
+ "resources/cover.svg",
17
+ "src/index.tsx",
18
+ "i18n/en.json",
19
+ "en.json",
20
+ "CHANGELOG.md",
21
+ "scripts/author-tool.mjs",
22
+ ]) {
23
+ expect(isPackableRelPath(rel), rel).toBe(true);
24
+ }
25
+ });
26
+ it("🔴 LICENSE 必须随包(MIT 要求副本里带声明;zip 才是用户拿到的那份)", () => {
27
+ for (const rel of ["LICENSE", "LICENSE.md", "LICENSE.txt"]) {
28
+ expect(isPackableRelPath(rel), rel).toBe(true);
29
+ }
30
+ });
31
+ it("同名但不同路径的工具文件不误伤(只精确排 scripts/ci-verify.mjs 这一条)", () => {
32
+ expect(isPackableRelPath("vendor/ci-verify.mjs")).toBe(true);
33
+ });
34
+ });
35
+ describe("isPackableRelPath —— 不进包的(负控)", () => {
36
+ it("构建产物 / npm 元数据 / 隐藏项", () => {
37
+ for (const rel of [
38
+ "node_modules/foo/index.js",
39
+ "dist/plugin.json",
40
+ "demo.linkdesk-plugin",
41
+ "pkg.tgz",
42
+ "package.json",
43
+ "package-lock.json",
44
+ ".gitignore",
45
+ ".github/workflows/ci.yml",
46
+ ".vscode/settings.json",
47
+ "sub/.npmrc",
48
+ ]) {
49
+ expect(isPackableRelPath(rel), rel).toBe(false);
50
+ }
51
+ });
52
+ it("🔴 仓库面工具文件:AGENTS.md / marketplace.json / scripts/ci-verify.mjs", () => {
53
+ for (const rel of ["AGENTS.md", "marketplace.json", "scripts/ci-verify.mjs"]) {
54
+ expect(isPackableRelPath(rel), rel).toBe(false);
55
+ }
56
+ });
57
+ });
58
+ //# sourceMappingURL=pack.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pack.test.js","sourceRoot":"","sources":["../src/pack.test.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,KAAK,MAAM,GAAG,IAAI;YAChB,aAAa;YACb,sBAAsB;YACtB,mBAAmB;YACnB,qBAAqB;YACrB,eAAe;YACf,cAAc;YACd,SAAS;YACT,cAAc;YACd,yBAAyB;SAC1B,EAAE,CAAC;YACF,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,CAAC;YAC3D,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,KAAK,MAAM,GAAG,IAAI;YAChB,2BAA2B;YAC3B,kBAAkB;YAClB,sBAAsB;YACtB,SAAS;YACT,cAAc;YACd,mBAAmB;YACnB,YAAY;YACZ,0BAA0B;YAC1B,uBAAuB;YACvB,YAAY;SACb,EAAE,CAAC;YACF,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,KAAK,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,kBAAkB,EAAE,uBAAuB,CAAC,EAAE,CAAC;YAC7E,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=publish.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish.test.d.ts","sourceRoot":"","sources":["../src/publish.test.ts"],"names":[],"mappings":""}