import js from "@eslint/js"; import tseslint from "typescript-eslint"; export default tseslint.config( js.configs.recommended, ...tseslint.configs.recommended, { files: ["**/*.{js,mjs,cjs,ts}"], languageOptions: { ecmaVersion: 2024, sourceType: "module", }, rules: { // Modern TypeScript best practices "@typescript-eslint/no-unused-vars": [ "error", { argsIgnorePattern: "^_", varsIgnorePattern: "^_", }, ], "@typescript-eslint/no-explicit-any": "warn", "@typescript-eslint/no-empty-function": "off", "@typescript-eslint/consistent-type-imports": "error", "@typescript-eslint/no-import-type-side-effects": "error", // Modern JavaScript/TypeScript patterns "prefer-const": "error", "no-var": "error", "object-shorthand": "error", "prefer-template": "error", }, }, { files: ["**/*.js", "**/*.mjs"], ...tseslint.configs.disableTypeChecked, }, );