chore(frontend): introduce prettier + eslint and prune unused code
Backend CI / Backend (push) Has been cancelled
Frontend CI / Frontend (push) Failing after 1m39s

- Add Prettier 3 with prettier-plugin-organize-imports (sorts/removes unused imports)
- Add ESLint 10 flat config with typescript-eslint + eslint-plugin-vue + eslint-config-prettier
- Add root scripts: format, format:check, lint, lint:fix
- Reformat 257 files across admin-web, ops-web, desktop-client, packages
- Remove unused locals/exports flagged by --noUnusedLocals/--noUnusedParameters
- Fix duplicate localTabLabel key, surrogate-pair regex u-flag, NBSP literal in regex
- Skip server/ (Go) and apps/browser-extension/ (deprecated per ADR)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-01 20:39:09 +08:00
parent 21c7892ee4
commit 162abdc97c
258 changed files with 42261 additions and 37556 deletions
+25 -25
View File
@@ -1,29 +1,29 @@
import { BrowserWindow, nativeTheme } from "electron/main";
import type { Session } from "electron/main";
import type { Session } from 'electron/main'
import { BrowserWindow, nativeTheme } from 'electron/main'
import { attachWindowDiagnostics, loadWindowURLSafely } from "./external-window";
import { attachWindowDiagnostics, loadWindowURLSafely } from './external-window'
interface ReviewWindowRecord {
taskId: string;
window: BrowserWindow;
taskId: string
window: BrowserWindow
}
const reviewWindows = new Map<string, ReviewWindowRecord>();
const reviewWindows = new Map<string, ReviewWindowRecord>()
export async function openReviewWindow(options: {
taskId: string;
title: string;
url: string;
session: Session;
taskId: string
title: string
url: string
session: Session
}): Promise<void> {
const existing = reviewWindows.get(options.taskId);
const existing = reviewWindows.get(options.taskId)
if (existing && !existing.window.isDestroyed()) {
existing.window.show();
existing.window.focus();
existing.window.show()
existing.window.focus()
if (existing.window.webContents.getURL() !== options.url) {
await loadWindowURLSafely(existing.window, options.url, options.title);
await loadWindowURLSafely(existing.window, options.url, options.title)
}
return;
return
}
const window = new BrowserWindow({
@@ -33,22 +33,22 @@ export async function openReviewWindow(options: {
minHeight: 760,
title: options.title,
autoHideMenuBar: true,
backgroundColor: nativeTheme.shouldUseDarkColors ? "#15191a" : "#f4f1ea",
backgroundColor: nativeTheme.shouldUseDarkColors ? '#15191a' : '#f4f1ea',
webPreferences: {
session: options.session,
sandbox: true,
contextIsolation: true,
nodeIntegration: false,
},
});
})
attachWindowDiagnostics(window, options.title);
reviewWindows.set(options.taskId, { taskId: options.taskId, window });
window.on("closed", () => {
reviewWindows.delete(options.taskId);
});
attachWindowDiagnostics(window, options.title)
reviewWindows.set(options.taskId, { taskId: options.taskId, window })
window.on('closed', () => {
reviewWindows.delete(options.taskId)
})
await loadWindowURLSafely(window, options.url, options.title);
window.show();
window.focus();
await loadWindowURLSafely(window, options.url, options.title)
window.show()
window.focus()
}