eslint.config.mjs
Rama main · réplica de lectura del repositorio original.
import eslint from '@eslint/js';
import globals from 'globals';
import tseslint from 'typescript-eslint';
import vue from 'eslint-plugin-vue';
export default tseslint.config(
{
ignores: [
'**/node_modules/**',
'**/dist/**',
'**/.nuxt/**',
'**/.output/**',
'**/coverage/**',
'**/tmp/**',
'**/test-results/**',
],
},
eslint.configs.recommended,
...tseslint.configs.recommended,
...vue.configs['flat/recommended'],
{
files: ['tooling/**/*.mjs'],
languageOptions: {
globals: {
...globals.node,
...globals.browser,
},
},
},
{
files: ['**/*.{ts,tsx,vue}'],
languageOptions: {
globals: {
...globals.browser,
...globals.node,
computed: 'readonly',
onBeforeUnmount: 'readonly',
onMounted: 'readonly',
reactive: 'readonly',
ref: 'readonly',
useConferenceApi: 'readonly',
useHead: 'readonly',
useRoute: 'readonly',
useRouter: 'readonly',
},
parserOptions: {
parser: tseslint.parser,
extraFileExtensions: ['.vue'],
},
},
rules: {
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
'vue/multi-word-component-names': 'off',
'vue/html-self-closing': 'off',
'vue/max-attributes-per-line': 'off',
'vue/singleline-html-element-content-newline': 'off',
'vue/attributes-order': 'off',
},
},
);