import globals from 'globals'; import ts from 'typescript-eslint'; import vue from 'eslint-plugin-vue'; import prettier from 'eslint-plugin-prettier/recommended'; export default [ { languageOptions: { globals: { ...globals.browser, ...globals.node, }, }, }, ...ts.configs.recommended, { rules: { '@typescript-eslint/no-explicit-any': 'warn', '@typescript-eslint/no-var-requires': 'warn', }, }, ...vue.configs['flat/base'], { files: ['*.vue', '**/*.vue'], languageOptions: { parserOptions: { parser: ts.parser, }, }, }, { rules: { indent: ['error', 4], semi: ['error', 'always'], 'no-unused-vars': 'off', '@typescript-eslint/no-explicit-any': 'warn', '@typescript-eslint/no-unused-vars': 'warn', '@typescript-eslint/no-var-requires': 'warn', 'object-curly-spacing': ['error', 'always'], 'vue/v-for-delimiter-style': ['error', 'in'], 'vue/require-name-property': 'warn', 'vue/prefer-true-attribute-shorthand': 'warn', 'prefer-arrow-callback': 'warn', }, }, prettier, { rules: { 'prettier/prettier': 'warn', }, }, ];