Files
DLE/frontend/eslint.config.js

74 lines
1.8 KiB
JavaScript

import globals from 'globals';
import * as vueParser from 'vue-eslint-parser';
import vuePlugin from 'eslint-plugin-vue';
import prettierPlugin from 'eslint-plugin-prettier';
import eslintConfigPrettier from 'eslint-config-prettier';
export default [
{
ignores: ['node_modules/**', 'dist/**', 'public/**'],
},
{
files: ['**/*.js'],
languageOptions: {
ecmaVersion: 2022,
sourceType: 'module',
globals: {
...globals.browser,
...globals.es2021,
process: 'readonly',
__dirname: 'readonly',
},
},
rules: {
'no-unused-vars': 'off',
'no-console': 'off',
'no-undef': 'error',
'no-duplicate-imports': 'error',
},
},
{
files: ['**/*.vue'],
languageOptions: {
ecmaVersion: 2022,
sourceType: 'module',
globals: {
...globals.browser,
...globals.es2021,
},
parser: vueParser,
parserOptions: {
sourceType: 'module',
ecmaVersion: 2022,
},
},
plugins: {
vue: vuePlugin,
prettier: prettierPlugin,
},
rules: {
...vuePlugin.configs.base.rules,
...vuePlugin.configs['vue3-essential'].rules,
...vuePlugin.configs['vue3-strongly-recommended'].rules,
...vuePlugin.configs['vue3-recommended'].rules,
...eslintConfigPrettier.rules,
'prettier/prettier': 'warn',
'vue/comment-directive': 'off',
'vue/multi-word-component-names': 'off',
'vue/no-unused-vars': 'warn',
'vue/no-v-html': 'off',
'vue/html-self-closing': [
'warn',
{
html: {
void: 'always',
normal: 'always',
component: 'always',
},
},
],
'vue/component-name-in-template-casing': ['warn', 'PascalCase'],
},
},
];