import path from "path"; import { fileURLToPath } from "url"; import { FlatCompat } from "@eslint/eslintrc"; import mjs from "@eslint/js"; import prettierConfig from "eslint-config-prettier"; import eslintPluginPrettierRecommended from "eslint-plugin-prettier/recommended"; import unusedImports from "eslint-plugin-unused-imports"; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); const compat = new FlatCompat({ baseDirectory: __dirname, recommendedConfig: mjs.configs.recommended, }); export default [ ...compat.extends().map((config) => ({ ...config, plugins: { "unused-imports": unusedImports, }, files: ["**/*.mjs", "**/*.js", "**/*.cjs"], rules: { ...config.rules, // ...other your custom rules "no-console": "warn", "no-unused-vars": "off", // or "@typescript-eslint/no-unused-vars": "off", "unused-imports/no-unused-imports": "error", "unused-imports/no-unused-vars": [ "warn", { vars: "all", varsIgnorePattern: "^_", args: "after-used", argsIgnorePattern: "^_", }, ], }, })), prettierConfig, // Turns off all ESLint rules that have the potential to interfere with Prettier rules. eslintPluginPrettierRecommended, ];