chore: reduce frontend lint warnings
Web Quality / verify (push) Has been cancelled

This commit is contained in:
2026-06-09 12:02:30 +08:00
parent f322679d4a
commit 4a298d205b
35 changed files with 82 additions and 158 deletions
+8 -3
View File
@@ -27,7 +27,6 @@ console.log(' 1. MODULE DEPENDENCY GRAPH ANALYSIS');
console.log('═══════════════════════════════════════════════');
const importMap = new Map(); // file -> [imports]
const importedBy = new Map(); // file -> [importers]
for (const r of results) {
const imports = [];
@@ -71,10 +70,13 @@ function findCircular(file, visited = new Set(), path = []) {
}
}
}
for (const file of importMap.keys()) {
findCircular(file);
}
// Check high-fanin files (imported by many)
const fanIn = new Map();
for (const [file, imports] of importMap) {
for (const imports of importMap.values()) {
for (const imp of imports) {
const key = imp.replace(/\[dynamic\]/, '');
fanIn.set(key, (fanIn.get(key) || 0) + 1);
@@ -101,7 +103,7 @@ for (const [file, count] of sortedFanOut) {
// Dynamic imports analysis (lazy loading effectiveness)
console.log('\n--- Lazy Loading (Dynamic Imports) ---');
let dynamicImports = 0, staticImports = 0;
for (const [file, imports] of importMap) {
for (const imports of importMap.values()) {
for (const imp of imports) {
if (imp.startsWith('[dynamic]')) dynamicImports++;
else staticImports++;
@@ -177,6 +179,9 @@ for (const r of results) {
if (noDeps > 0) {
console.log(` [RENDER-COST] ${r.file}: ${noDeps} useEffect(s) run EVERY render`);
}
if (emptyDeps > 0) {
console.log(` [MOUNT-EFFECT] ${r.file}: ${emptyDeps} useEffect(s) run on mount only`);
}
}
// ─── 4. Zustand Store Analysis ───
+3 -3
View File
@@ -3,7 +3,7 @@
* Measures: page load, bundle sizes, memory, rendering, network.
*/
import { chromium } from 'playwright';
import { readFileSync, readdirSync, statSync } from 'fs';
import { readdirSync, statSync } from 'fs';
import { join } from 'path';
const DIST = join(import.meta.dirname, '..', 'dist');
@@ -187,7 +187,7 @@ async function runtimeAnalysis() {
const allElements = document.querySelectorAll('*');
const tagCounts = {};
let maxDepth = 0;
let totalNodes = allElements.length;
const totalNodes = allElements.length;
allElements.forEach(el => {
const tag = el.tagName.toLowerCase();
@@ -297,7 +297,7 @@ console.log('╔═════════════════════
console.log('║ OmniAI Web Preview - Performance Analysis ║');
console.log('╚═══════════════════════════════════════════════╝');
const bundleResult = analyzeBundles();
analyzeBundles();
await runtimeAnalysis();
console.log('\n═══════════════════════════════════════════════');
+1 -2
View File
@@ -1,4 +1,4 @@
import { readdirSync, readFileSync, statSync } from 'fs';
import { readdirSync, readFileSync } from 'fs';
import { join, relative } from 'path';
const SRC = join(import.meta.dirname, '..', 'src');
@@ -114,7 +114,6 @@ for (const r of results) {
console.log('\n=== HIGH COMPLEXITY: Deep nesting ===');
for (const r of results) {
const lines = r.content.split('\n');
let maxIndent = 0;
for (let i = 0; i < lines.length; i++) {
const line = lines[i];
if (line.trim() === '') continue;