34 lines
1.1 KiB
JavaScript
34 lines
1.1 KiB
JavaScript
import { defineConfig, globalIgnores } from "eslint/config";
|
|
import nextVitals from "eslint-config-next/core-web-vitals";
|
|
import nextTs from "eslint-config-next/typescript";
|
|
|
|
const eslintConfig = defineConfig([
|
|
...nextVitals,
|
|
...nextTs,
|
|
{
|
|
// 说明:当前仓库存在大量历史代码与第三方/生成代码。
|
|
// 为避免 ESLint 在生产构建阶段被“风格型规则”阻塞,这里将部分规则从 error 降级为 warning。
|
|
name: "mnote-lint-overrides",
|
|
rules: {
|
|
"@typescript-eslint/no-this-alias": "warn",
|
|
"@typescript-eslint/no-explicit-any": "warn",
|
|
"@typescript-eslint/no-require-imports": "warn",
|
|
"react-hooks/set-state-in-effect": "warn",
|
|
},
|
|
},
|
|
// Override default ignores of eslint-config-next.
|
|
globalIgnores([
|
|
// Default ignores of eslint-config-next:
|
|
".next/**",
|
|
"out/**",
|
|
"build/**",
|
|
"next-env.d.ts",
|
|
// 说明:静态资源/第三方构建产物不参与 lint(否则会产生大量无意义报错)。
|
|
"public/luckysheet/**",
|
|
// 说明:Convex 生成代码不参与 lint。
|
|
"convex/_generated/**",
|
|
]),
|
|
]);
|
|
|
|
export default eslintConfig;
|