eslint.config.mjs
import js from "@eslint/js";
import ts from "@typescript-eslint/eslint-plugin";
import parser from "@typescript-eslint/parser";
/**
* Flat config for ESLint 9. Targets the plugin's TypeScript sources.
*/
export default [
{
ignores: ["dist/**", "build/**", "node_modules/**"],
},
js.configs.recommended,
{
files: ["src/**/*.ts"],
languageOptions: {
parser,
parserOptions: {
ecmaVersion: "latest",
sourceType: "module",
},
globals: {
console: "readonly",
process: "readonly",
setTimeout: "readonly",
AbortSignal: "readonly",
NodeJS: "readonly",
},
},
plugins: {
"@typescript-eslint": ts,
},
rules: {
...ts.configs.recommended.rules,
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-unused-vars": [
"warn",
{ argsIgnorePattern: "^_", varsIgnorePattern: "^_" },
],
"@typescript-eslint/no-unnecessary-condition": "off",
"@typescript-eslint/consistent-type-imports": "warn",
"no-unused-vars": "off",
},
},
];
eslint.config.mjs
import js from "@eslint/js";
import ts from "@typescript-eslint/eslint-plugin";
import parser from "@typescript-eslint/parser";
/**
* Flat config for ESLint 9. Targets the plugin's TypeScript sources.
*/
export default [
{
ignores: ["dist/**", "build/**", "node_modules/**"],
},
js.configs.recommended,
{
files: ["src/**/*.ts"],
languageOptions: {
parser,
parserOptions: {
ecmaVersion: "latest",
sourceType: "module",
},
globals: {
console: "readonly",
process: "readonly",
setTimeout: "readonly",
AbortSignal: "readonly",
NodeJS: "readonly",
},
},
plugins: {
"@typescript-eslint": ts,
},
rules: {
...ts.configs.recommended.rules,
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-unused-vars": [
"warn",
{ argsIgnorePattern: "^_", varsIgnorePattern: "^_" },
],
"@typescript-eslint/no-unnecessary-condition": "off",
"@typescript-eslint/consistent-type-imports": "warn",
"no-unused-vars": "off",
},
},
];