const { defineConfig } = require("eslint/config") const tsParser = require("@typescript-eslint/parser") const typescriptEslint = require("@typescript-eslint/eslint-plugin") const globals = require("globals") const js = require("@eslint/js") const { FlatCompat } = require("@eslint/eslintrc") const compat = new FlatCompat({ baseDirectory: __dirname, recommendedConfig: js.configs.recommended, allConfig: js.configs.all, }) module.exports = defineConfig([ { languageOptions: { parser: tsParser, globals: { ...globals.node, ...globals.commonjs, }, }, plugins: { "@typescript-eslint": typescriptEslint, }, extends: compat.extends( "eslint:recommended", "plugin:@typescript-eslint/eslint-recommended", "plugin:@typescript-eslint/recommended" ), rules: { "@typescript-eslint/no-unused-vars": [ "error", { args: "all", argsIgnorePattern: "^_", varsIgnorePattern: "^_assert", caughtErrors: "none", ignoreRestSiblings: true, }, ], "no-mixed-spaces-and-tabs": ["error", "smart-tabs"], }, }, ])