eslint.config.js•1.14 kB
// ESLint v9 flat config for TypeScript + Prettier
import tsPlugin from "@typescript-eslint/eslint-plugin";
import tsParser from "@typescript-eslint/parser";
import prettierConfig from "eslint-config-prettier";
export default [
// Ignore build artifacts
{
ignores: ["node_modules/**", "build/**", "dist/**", "coverage/**"],
},
// TypeScript files
{
files: ["**/*.ts"],
languageOptions: {
parser: tsParser,
sourceType: "module",
ecmaVersion: "latest",
},
plugins: {
"@typescript-eslint": tsPlugin,
},
rules: {
"@typescript-eslint/no-unused-vars": [
"warn",
{
argsIgnorePattern: "^_",
varsIgnorePattern: "^_",
caughtErrorsIgnorePattern: "^_",
},
],
"@typescript-eslint/no-explicit-any": "off",
// Allow console for server logs
"no-console": "off",
},
},
// Plain JS files (ESM)
{
files: ["**/*.js"],
languageOptions: {
sourceType: "module",
ecmaVersion: "latest",
},
rules: {},
},
// Disable stylistic rules conflicting with Prettier
prettierConfig,
];