import js from '@eslint/js' import globals from 'globals' import vue from 'eslint-plugin-vue' import tseslint from 'typescript-eslint' export default [ { ignores: ['.nuxt/**', '.output/**', 'node_modules/**', 'dist/**', 'public/**'] }, js.configs.recommended, ...tseslint.configs.recommended, ...vue.configs['flat/strongly-recommended'], { files: ['**/*.{js,jsx,ts,tsx,vue,mjs,cjs}'], languageOptions: { ecmaVersion: 'latest', sourceType: 'module', globals: { ...globals.browser, ...globals.node } } }, { files: ['**/*.{ts,tsx,vue}'], rules: { 'no-undef': 'off' } }, { files: ['**/*.vue'], languageOptions: { parserOptions: { parser: tseslint.parser, extraFileExtensions: ['.vue'] } }, rules: { '@typescript-eslint/no-unused-vars': 'off', 'vue/multi-word-component-names': 'off', 'vue/max-attributes-per-line': 'off', 'vue/singleline-html-element-content-newline': 'off', 'vue/multiline-html-element-content-newline': 'off', 'vue/html-self-closing': 'off' } }, { rules: { '@typescript-eslint/no-explicit-any': 'warn', '@typescript-eslint/no-wrapper-object-types': 'warn', '@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_', varsIgnorePattern: '^_' }] } }, { files: ['**/*.vue'], rules: { '@typescript-eslint/no-unused-vars': 'off' } }, { files: ['app/api/**/*.{ts,tsx}'], rules: { '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/no-wrapper-object-types': 'off' } } ]