frontend-guardian-core 3.7.3 → 3.7.5

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.
package/bin/fg-core.js CHANGED
@@ -107,7 +107,7 @@ const MODULE_RULES = {
107
107
 
108
108
  function showHelp() {
109
109
  console.log(`
110
- Frontend Guardian Core v3.7.3
110
+ Frontend Guardian Core v3.7.5
111
111
 
112
112
  Usage:
113
113
  fg-core <project-dir> [options]
@@ -173,6 +173,8 @@ Options:
173
173
  --routes <list> 指定要检查的路由(逗号分隔,配合 --page-health)
174
174
  --base-url <url> 指定基础 URL(如 http://localhost:3000,配合 --page-health)
175
175
  --no-screenshot 禁用截图(配合 --page-health)
176
+ --no-check-interactive 禁用交互元素检查(配合 --page-health)
177
+ --update-baseline 更新基线截图(配合 --page-health)
176
178
  --page-health-concurrency <n> 页面健康检查并发数(默认 3,配合 --page-health)
177
179
  --build-index 建立项目索引(预索引文件结构、符号、路由)
178
180
  --watch-index 监听文件变更并自动同步索引
@@ -259,7 +261,9 @@ async function main() {
259
261
  routes: undefined,
260
262
  baseUrl: undefined,
261
263
  screenshot: true,
264
+ checkInteractive: true,
262
265
  pageHealthConcurrency: 3,
266
+ updateBaseline: false,
263
267
  buildIndex: false,
264
268
  watchIndex: false,
265
269
  indexStatus: false,
@@ -454,6 +458,12 @@ async function main() {
454
458
  case "--no-screenshot":
455
459
  options.screenshot = false;
456
460
  break;
461
+ case "--no-check-interactive":
462
+ options.checkInteractive = false;
463
+ break;
464
+ case "--update-baseline":
465
+ options.updateBaseline = true;
466
+ break;
457
467
  case "--page-health-concurrency":
458
468
  options.pageHealthConcurrency = parseInt(args[++i], 10) || 3;
459
469
  break;
@@ -564,6 +574,8 @@ async function main() {
564
574
  servePort: options.servePort,
565
575
  screenshot: options.screenshot,
566
576
  concurrency: options.pageHealthConcurrency,
577
+ checkInteractive: options.checkInteractive,
578
+ updateBaseline: options.updateBaseline,
567
579
  });
568
580
 
569
581
  if (options.json) {
package/bin/fg-lsp.js CHANGED
@@ -26,7 +26,7 @@ for (let i = 0; i < args.length; i++) {
26
26
  } else if (arg === "--severity" || arg === "-s") {
27
27
  minSeverity = args[++i] ?? "suggestion";
28
28
  } else if (arg === "--help" || arg === "-h") {
29
- console.log(`Frontend Guardian LSP Server v3.7.3
29
+ console.log(`Frontend Guardian LSP Server v3.7.5
30
30
 
31
31
  Usage: fg-lsp [options]
32
32
 
package/bin/fg-server.js CHANGED
@@ -9,7 +9,7 @@ import pc from "picocolors";
9
9
 
10
10
  function showHelp() {
11
11
  console.log(`
12
- Frontend Guardian Dashboard Server v3.7.3
12
+ Frontend Guardian Dashboard Server v3.7.5
13
13
 
14
14
  Usage:
15
15
  fg-server [options]
@@ -61,7 +61,7 @@ async function main() {
61
61
  }
62
62
 
63
63
  console.log(pc.cyan("Frontend Guardian Dashboard Server"));
64
- console.log(pc.gray(` Version: 3.7.3`));
64
+ console.log(pc.gray(` Version: 3.7.5`));
65
65
  console.log("");
66
66
 
67
67
  const server = new DashboardServer({
@@ -34,6 +34,8 @@ export interface PageHealthOptions {
34
34
  checkWhiteScreen?: boolean;
35
35
  /** 是否检查资源加载失败 */
36
36
  checkResources?: boolean;
37
+ /** 是否检查交互元素(button/link/input 可点击性) */
38
+ checkInteractive?: boolean;
37
39
  /** 截图保存目录 */
38
40
  screenshotDir?: string;
39
41
  /** 并发检查的页面数量(默认 3) */
@@ -42,6 +44,10 @@ export interface PageHealthOptions {
42
44
  server?: string;
43
45
  /** dashboard server auth token */
44
46
  authToken?: string;
47
+ /** 是否更新基线截图 */
48
+ updateBaseline?: boolean;
49
+ /** 基线截图目录 */
50
+ baselineDir?: string;
45
51
  }
46
52
  export interface CheckedRoute {
47
53
  /** 路由路径 */
@@ -64,6 +70,16 @@ export interface CheckedRoute {
64
70
  duration: number;
65
71
  /** 错误信息列表 */
66
72
  messages: string[];
73
+ /** 交互元素总数 */
74
+ interactiveTotal?: number;
75
+ /** 可见的交互元素数 */
76
+ interactiveVisible?: number;
77
+ /** 不可用的交互元素数 */
78
+ interactiveDisabled?: number;
79
+ /** 截图是否与基线不同 */
80
+ screenshotChanged?: boolean;
81
+ /** 基线截图路径 */
82
+ baselinePath?: string;
67
83
  }
68
84
  export interface PageHealthResult {
69
85
  /** 发现的 Issue */
@@ -1 +1 @@
1
- {"version":3,"file":"page-health.d.ts","sourceRoot":"","sources":["../../src/integrations/page-health.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page-health.d.ts","sourceRoot":"","sources":["../../src/integrations/page-health.ts"],"names":[],"mappings":"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"}
@@ -22,12 +22,29 @@ exports.uploadPageHealthResult = uploadPageHealthResult;
22
22
  const node_child_process_1 = require("node:child_process");
23
23
  const node_fs_1 = require("node:fs");
24
24
  const node_path_1 = require("node:path");
25
+ const node_crypto_1 = require("node:crypto");
25
26
  const indexer_js_1 = require("../engine/indexer.js");
26
27
  const dashboard_client_js_1 = require("../utils/dashboard-client.js");
27
28
  // ── 常量 ───────────────────────────────────────────────────────────────────
28
29
  const DEFAULT_TIMEOUT = 30000;
29
30
  const DEFAULT_SERVE_PORT = 5173;
30
31
  const SCREENSHOT_DIR = ".frontend-guardian/screenshots";
32
+ const BASELINE_DIR = ".frontend-guardian/screenshots/baseline";
33
+ // ── 截图对比辅助 ───────────────────────────────────────────────────────────
34
+ function hashFile(filePath) {
35
+ const buf = (0, node_fs_1.readFileSync)(filePath);
36
+ return (0, node_crypto_1.createHash)("sha256").update(buf).digest("hex");
37
+ }
38
+ function compareScreenshotHash(currentPath, baselinePath) {
39
+ if (!(0, node_fs_1.existsSync)(baselinePath))
40
+ return false;
41
+ try {
42
+ return hashFile(currentPath) === hashFile(baselinePath);
43
+ }
44
+ catch {
45
+ return false;
46
+ }
47
+ }
31
48
  // ── 核心函数 ───────────────────────────────────────────────────────────────
32
49
  /**
33
50
  * 检查 Playwright 是否可用
@@ -204,6 +221,9 @@ async function runPageHealthCheck(options) {
204
221
  let hasContent = true;
205
222
  let status = "ok";
206
223
  const messages = [];
224
+ let interactiveTotal = 0;
225
+ let interactiveVisible = 0;
226
+ let interactiveDisabled = 0;
207
227
  try {
208
228
  // 导航到页面并等待加载
209
229
  const response = await page.goto(url, {
@@ -230,6 +250,44 @@ async function runPageHealthCheck(options) {
230
250
  messages.push("页面可能白屏(body 无可见内容)");
231
251
  }
232
252
  }
253
+ // 交互元素检测
254
+ const checkInteractive = options.checkInteractive !== false;
255
+ if (checkInteractive && hasContent) {
256
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
257
+ const interactive = await page.evaluate(() => {
258
+ const doc = globalThis.document;
259
+ const selectors = 'button, a[href], input:not([type="hidden"]), textarea, select, [role="button"], [role="link"], [role="checkbox"], [role="radio"]';
260
+ const elements = doc.querySelectorAll(selectors);
261
+ let total = 0;
262
+ let visible = 0;
263
+ let disabled = 0;
264
+ for (const el of Array.from(elements)) {
265
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
266
+ const htmlEl = el;
267
+ // 只统计可见区域尺寸 > 0 的元素
268
+ const rect = htmlEl.getBoundingClientRect();
269
+ if (rect.width === 0 || rect.height === 0)
270
+ continue;
271
+ total++;
272
+ const style = globalThis.getComputedStyle(htmlEl);
273
+ const isVisible = style.display !== "none" && style.visibility !== "hidden" && style.opacity !== "0";
274
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
275
+ const isDisabled = htmlEl.disabled || htmlEl.getAttribute("aria-disabled") === "true" || htmlEl.getAttribute("disabled") !== null;
276
+ if (isVisible)
277
+ visible++;
278
+ if (isDisabled)
279
+ disabled++;
280
+ }
281
+ return { total, visible, disabled };
282
+ });
283
+ interactiveTotal = interactive.total;
284
+ interactiveVisible = interactive.visible;
285
+ interactiveDisabled = interactive.disabled;
286
+ if (interactiveTotal > 0 && interactiveDisabled > 0) {
287
+ status = status === "error" ? "error" : "warning";
288
+ messages.push(`${interactiveDisabled} 个交互元素被禁用`);
289
+ }
290
+ }
233
291
  // 资源加载失败
234
292
  if (resourceErrors.length > 0) {
235
293
  status = status === "error" ? "error" : "warning";
@@ -251,13 +309,35 @@ async function runPageHealthCheck(options) {
251
309
  status = "error";
252
310
  messages.push(`导航失败: ${err instanceof Error ? err.message : String(err)}`);
253
311
  }
254
- // 截图
312
+ // 截图 + 基线对比
313
+ let screenshotChanged = false;
314
+ let baselinePath;
255
315
  if (options.screenshot !== false) {
256
316
  const safeName = route.replace(/[^a-zA-Z0-9_-]/g, "_").slice(0, 80);
257
317
  const screenshotPath = (0, node_path_1.join)(screenshotDir, `${safeName}.png`);
318
+ baselinePath = options.baselineDir
319
+ ? (0, node_path_1.resolve)(projectDir, options.baselineDir, `${safeName}.png`)
320
+ : (0, node_path_1.resolve)(projectDir, BASELINE_DIR, `${safeName}.png`);
258
321
  try {
259
322
  await page.screenshot({ path: screenshotPath, fullPage: true });
260
323
  screenshots.push(screenshotPath);
324
+ // 基线对比
325
+ if (options.updateBaseline) {
326
+ if (!(0, node_fs_1.existsSync)(options.baselineDir ? (0, node_path_1.resolve)(projectDir, options.baselineDir) : (0, node_path_1.resolve)(projectDir, BASELINE_DIR))) {
327
+ (0, node_fs_1.mkdirSync)(options.baselineDir ? (0, node_path_1.resolve)(projectDir, options.baselineDir) : (0, node_path_1.resolve)(projectDir, BASELINE_DIR), { recursive: true });
328
+ }
329
+ // 复制当前截图到基线
330
+ const { copyFileSync } = await import("node:fs");
331
+ copyFileSync(screenshotPath, baselinePath);
332
+ }
333
+ else if ((0, node_fs_1.existsSync)(baselinePath)) {
334
+ const same = compareScreenshotHash(screenshotPath, baselinePath);
335
+ if (!same) {
336
+ screenshotChanged = true;
337
+ status = status === "error" ? "error" : "warning";
338
+ messages.push("截图与基线不同(UI 可能发生变化)");
339
+ }
340
+ }
261
341
  }
262
342
  catch {
263
343
  // 截图失败不阻断
@@ -277,6 +357,11 @@ async function runPageHealthCheck(options) {
277
357
  hasContent,
278
358
  duration: pageDuration,
279
359
  messages,
360
+ interactiveTotal,
361
+ interactiveVisible,
362
+ interactiveDisabled,
363
+ screenshotChanged,
364
+ baselinePath,
280
365
  };
281
366
  checkedRoutes.push(checkedRoute);
282
367
  // 生成 Issue
@@ -375,6 +460,42 @@ function routeToIssues(route, projectDir, consoleErrors, resourceErrors) {
375
460
  },
376
461
  });
377
462
  }
463
+ // 交互元素被禁用
464
+ if ((route.interactiveDisabled ?? 0) > 0) {
465
+ issues.push({
466
+ ruleId: "page-health-interactive-disabled",
467
+ title: `交互元素被禁用 (${route.interactiveDisabled} 个)`,
468
+ description: `路由 ${route.path} 检测到 ${route.interactiveDisabled} 个交互元素(button/link/input)被禁用。\n` +
469
+ `总交互元素: ${route.interactiveTotal},可见: ${route.interactiveVisible},禁用: ${route.interactiveDisabled}`,
470
+ severity: "warning",
471
+ file: route.path,
472
+ line: 1,
473
+ column: 1,
474
+ meta: {
475
+ url: route.url,
476
+ interactiveTotal: route.interactiveTotal,
477
+ interactiveVisible: route.interactiveVisible,
478
+ interactiveDisabled: route.interactiveDisabled,
479
+ },
480
+ });
481
+ }
482
+ // 截图与基线不同
483
+ if (route.screenshotChanged) {
484
+ issues.push({
485
+ ruleId: "page-health-screenshot-changed",
486
+ title: "截图与基线不同",
487
+ description: `路由 ${route.path} 的当前截图与基线截图不一致,UI 可能发生了变化。\n` +
488
+ (route.baselinePath ? `基线路径: ${route.baselinePath}` : ""),
489
+ severity: "warning",
490
+ file: route.path,
491
+ line: 1,
492
+ column: 1,
493
+ meta: {
494
+ url: route.url,
495
+ baselinePath: route.baselinePath,
496
+ },
497
+ });
498
+ }
378
499
  // 导航失败(非 HTTP 错误,而是超时/连接失败等)
379
500
  if (route.status === "error" && !route.httpStatus && route.messages.some((m) => m.includes("导航失败"))) {
380
501
  issues.push({
@@ -420,9 +541,18 @@ function formatPageHealthReport(result) {
420
541
  if (route.resourceErrors > 0) {
421
542
  lines.push(` 资源失败: ${route.resourceErrors}`);
422
543
  }
544
+ if (route.interactiveTotal !== undefined && route.interactiveTotal > 0) {
545
+ lines.push(` 🖱️ 交互元素: ${route.interactiveVisible ?? 0}/${route.interactiveTotal} 可见`);
546
+ if ((route.interactiveDisabled ?? 0) > 0) {
547
+ lines.push(` ⚠️ 禁用: ${route.interactiveDisabled} 个`);
548
+ }
549
+ }
423
550
  if (!route.hasContent) {
424
551
  lines.push(` ⚠️ 页面可能白屏`);
425
552
  }
553
+ if (route.screenshotChanged) {
554
+ lines.push(` 🖼️ 截图与基线不同`);
555
+ }
426
556
  if (route.duration > 5000) {
427
557
  lines.push(` ⏱️ 加载耗时: ${route.duration}ms`);
428
558
  }
@@ -1 +1 @@
1
- {"version":3,"file":"page-health.js","sourceRoot":"","sources":["../../src/integrations/page-health.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page-health.js","sourceRoot":"","sources":["../../src/integrations/page-health.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "frontend-guardian-core",
3
- "version": "3.7.3",
3
+ "version": "3.7.5",
4
4
  "description": "Core analysis engine for frontend-guardian — AST-based scanning and auto-fixing",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",