import js from "@eslint/js"; import tsPlugin from "@typescript-eslint/eslint-plugin"; import tsParser from "@typescript-eslint/parser"; import vue from "eslint-plugin-vue"; import vueParser from "vue-eslint-parser"; import prettier from "eslint-config-prettier"; export default [ { ignores: ["**/dist/**", "**/coverage/**", "prototype/**", "node_modules/**"] }, js.configs.recommended, ...vue.configs["flat/recommended"], { files: ["**/*.ts"], languageOptions: { parser: tsParser, parserOptions: { ecmaVersion: "latest", sourceType: "module" } }, plugins: { "@typescript-eslint": tsPlugin }, rules: { "no-undef": "off", "no-unused-vars": "off", "@typescript-eslint/no-explicit-any": "error", "@typescript-eslint/consistent-type-imports": "error", "@typescript-eslint/no-unused-vars": [ "error", { argsIgnorePattern: "^_", varsIgnorePattern: "^_" } ] } }, { files: ["**/*.vue"], languageOptions: { parser: vueParser, parserOptions: { parser: tsParser, ecmaVersion: "latest", sourceType: "module", extraFileExtensions: [".vue"] } }, plugins: { "@typescript-eslint": tsPlugin }, rules: { "no-undef": "off", "no-unused-vars": "off", "@typescript-eslint/no-unused-vars": [ "error", { argsIgnorePattern: "^_", varsIgnorePattern: "^_" } ], "vue/multi-word-component-names": "off" } }, prettier ];