Files
Max-Cocos-Demo/eslint.config.mts
2025-11-26 22:57:07 +08:00

67 lines
2.5 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import js from "@eslint/js";
import globals from "globals";
import tseslint from "typescript-eslint";
import { defineConfig } from "eslint/config";
import unusedImports from "eslint-plugin-unused-imports";
import unicorn from "eslint-plugin-unicorn";
export default defineConfig([
// 全局忽略声明文件
{ ignores: ["**/*.d.ts"] },
{
files: ["**/*.ts"],
plugins: { js, ...(unusedImports ? { "unused-imports": unusedImports } : {}), unicorn },
extends: ["js/recommended"],
languageOptions: { globals: globals.browser },
rules: {
// 当插件可用时,启用自动清理未使用的 import否则回退到 TS 的未使用变量规则
...(unusedImports
? {
"unused-imports/no-unused-imports": "error",
"unused-imports/no-unused-vars": [
"warn",
{
vars: "all",
varsIgnorePattern: "^_",
args: "after-used",
argsIgnorePattern: "^_",
ignoreRestSiblings: true,
},
],
"@typescript-eslint/no-unused-vars": "off",
}
: {
"@typescript-eslint/no-unused-vars": [
"warn",
{
vars: "all",
varsIgnorePattern: "^_",
args: "after-used",
argsIgnorePattern: "^_",
ignoreRestSiblings: true,
},
],
}),
// 统一 try/catch 的错误变量名为 err
"unicorn/catch-error-name": ["error", { name: "err" }],
// 未重新赋值的变量使用 const
"prefer-const": [
"error",
{
destructuring: "all",
},
],
// 禁用 var 声明
"no-var": "error",
},
},
...tseslint.configs.recommended.map((cfg) => ({ ...cfg, files: ["**/*.ts"] })),
// 在所有 TS 推荐配置之后,显式关闭冲突的未使用变量规则
{
files: ["**/*.ts"],
rules: {
"@typescript-eslint/no-unused-vars": "off",
},
},
]);