Skip to content

Commit 8338b67

Browse files
committed
fix: 修复 ESLint 配置和警告
- 迁移到 ESLint flat config (eslint.config.mjs) - 修复未使用变量警告 - 修复 any 类型警告
1 parent 6d13eb6 commit 8338b67

File tree

8 files changed

+35
-118
lines changed

8 files changed

+35
-118
lines changed

apps/web/eslint.config.mjs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import { dirname } from "path";
2+
import { fileURLToPath } from "url";
3+
import { FlatCompat } from "@eslint/eslintrc";
4+
5+
const __filename = fileURLToPath(import.meta.url);
6+
const __dirname = dirname(__filename);
7+
8+
const compat = new FlatCompat({
9+
baseDirectory: __dirname,
10+
});
11+
12+
const eslintConfig = [
13+
...compat.extends("next/core-web-vitals", "next/typescript"),
14+
{
15+
rules: {
16+
"@typescript-eslint/no-unused-vars": ["warn", { argsIgnorePattern: "^_" }],
17+
"@typescript-eslint/no-explicit-any": "warn",
18+
},
19+
},
20+
];
21+
22+
export default eslintConfig;

apps/web/package-lock.json

Lines changed: 2 additions & 108 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/web/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"dev": "next dev",
77
"build": "next build",
88
"start": "next start",
9-
"lint": "next lint",
9+
"lint": "eslint src/",
1010
"type-check": "tsc --noEmit",
1111
"test": "vitest run",
1212
"test:watch": "vitest",
@@ -28,6 +28,7 @@
2828
"zustand": "^5.0.0"
2929
},
3030
"devDependencies": {
31+
"@eslint/eslintrc": "^3.3.3",
3132
"@testing-library/jest-dom": "^6.9.1",
3233
"@testing-library/react": "^16.3.0",
3334
"@types/node": "^22.0.0",

apps/web/src/app/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ function LoginForm() {
5151
} else {
5252
await login(email, password);
5353
}
54-
} catch (err: any) {
54+
} catch (err: unknown) {
5555
setError(err.message || "操作失败");
5656
} finally {
5757
setLoading(false);

apps/web/src/components/chat/ChatArea.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ interface ChatAreaProps {
3838
const STORAGE_KEY_CONNECTION = "querygpt-selected-connection";
3939
const STORAGE_KEY_MODEL = "querygpt-selected-model";
4040

41-
export function ChatArea({ sidebarOpen, onToggleSidebar }: ChatAreaProps) {
41+
export function ChatArea({ _sidebarOpen, onToggleSidebar }: ChatAreaProps) {
4242
const router = useRouter();
4343
const [input, setInput] = useState("");
4444
const [selectedConnectionId, setSelectedConnectionId] = useState<string | null>(null);

apps/web/src/components/chat/DataTable.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ interface DataTableProps {
1414

1515
type SortDirection = "asc" | "desc" | null;
1616

17-
export function DataTable({ data, title, maxRows = 100 }: DataTableProps) {
17+
export function DataTable({ data, title, _maxRows = 100 }: DataTableProps) {
1818
const [sortColumn, setSortColumn] = useState<string | null>(null);
1919
const [sortDirection, setSortDirection] = useState<SortDirection>(null);
2020
const [currentPage, setCurrentPage] = useState(1);

apps/web/src/components/chat/Sidebar.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"use client";
22

3-
import { useState, useRef, useCallback } from "react";
3+
import { useRef, useCallback } from "react";
44
import { useRouter } from "next/navigation";
55
import { useInfiniteQuery } from "@tanstack/react-query";
66
import { Plus, MessageSquare, Trash2, Settings, LogOut, Database, Loader2 } from "lucide-react";
@@ -17,7 +17,7 @@ interface SidebarProps {
1717

1818
const PAGE_SIZE = 20;
1919

20-
export function Sidebar({ isOpen, onToggle }: SidebarProps) {
20+
export function Sidebar({ isOpen, onToggle: _onToggle }: SidebarProps) {
2121
const router = useRouter();
2222
const { user, logout } = useAuthStore();
2323
const { currentConversationId, setCurrentConversation, clearConversation } = useChatStore();

apps/web/src/components/settings/ModelSettings.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ export function ModelSettings() {
7474
queryClient.invalidateQueries({ queryKey: ["models"] });
7575
resetForm();
7676
},
77-
onError: (err: any) => {
77+
onError: (err: unknown) => {
7878
setError(err.response?.data?.error?.message || "添加模型失败,请检查配置");
7979
},
8080
});
@@ -89,7 +89,7 @@ export function ModelSettings() {
8989
queryClient.invalidateQueries({ queryKey: ["models"] });
9090
resetForm();
9191
},
92-
onError: (err: any) => {
92+
onError: (err: unknown) => {
9393
setError(err.response?.data?.error?.message || "更新模型失败,请检查配置");
9494
},
9595
});
@@ -102,7 +102,7 @@ export function ModelSettings() {
102102
onSuccess: () => {
103103
queryClient.invalidateQueries({ queryKey: ["models"] });
104104
},
105-
onError: (err: any) => {
105+
onError: (err: unknown) => {
106106
setError(err.response?.data?.error?.message || "删除模型失败");
107107
},
108108
});
@@ -122,7 +122,7 @@ export function ModelSettings() {
122122
});
123123
setTimeout(() => setTestResult(null), 5000);
124124
},
125-
onError: (err: any) => {
125+
onError: (err: unknown) => {
126126
setError(err.response?.data?.error?.message || "测试失败");
127127
},
128128
});

0 commit comments

Comments
 (0)