/* eslint-env node */ module.exports = { root: true, extends: [ 'plugin:vue/vue3-strongly-recommended', 'eslint:recommended', 'airbnb-base', ], parserOptions: { parser: '@babel/eslint-parser', ecmaVersion: 'latest', sourceType: 'module', requireConfigFile: false, allowImportExportEverywhere: true, babelOptions: { parserOpts: { plugins: ['jsx'], }, }, }, settings: { 'import/resolver': { alias: [['@', './src']], }, }, rules: { 'no-underscore-dangle': 'off', 'arrow-parens': 'off', 'class-methods-use-this': 'off', 'no-console': 'warn', 'no-debugger': 'warn', 'vue/max-attributes-per-line': ['error', { singleline: { max: 6, }, multiline: { max: 6, }, }], 'max-len': ['error', { code: 180 }], indent: ['error', 4, { SwitchCase: 1, }], 'object-curly-newline': ['error', { ObjectPattern: { multiline: true }, }], 'no-use-before-define': ['error', { functions: false, }], 'vue/script-indent': ['error', 4, { baseIndent: 1, switchCase: 1, }], 'vue/html-indent': ['error', 4], 'vue/singleline-html-element-content-newline': 'off', }, overrides: [ { files: ['*.vue'], rules: { indent: 'off', }, }, { files: ['vite.config.js'], rules: { 'import/no-extraneous-dependencies': 'off', }, }, ], };