-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patheslint.config.js
53 lines (47 loc) · 1.15 KB
/
eslint.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import eslint from '@eslint/js';
import vue from 'eslint-plugin-vue';
export default [
// ESLint recommended
eslint.configs.recommended,
// Vue recommended
...vue.configs['flat/recommended'],
// Custom rules
{
files: ['src/**/*.{vue,js}'],
rules: {
// Technical errors
'prefer-const': 'warn',
// Missing elements
quotes: ['warn', 'single'],
semi: ['warn', 'always'],
'no-unused-vars': ['warn', {
argsIgnorePattern: '^_',
varsIgnorePattern: '^props$'
}],
'vue/enforce-style-attribute': ['error', {
'allow': ['scoped']
}],
// Code organization
'vue/block-order': ['error', {
'order': ['script', 'template', 'style']
}],
'vue/html-indent': ['error', 'tab'],
'vue/script-indent': ['error', 'tab', {
baseIndent: 1
}],
'vue/singleline-html-element-content-newline': ['warn', {
'externalIgnores': ['button', 'option', 'RouterLink']
}],
'vue/html-self-closing': ['error', {
html: {
normal: "never",
void: "never",
component: "always"
}
}],
// Reactivity loss
'vue/no-ref-object-reactivity-loss': 'warn',
'vue/no-setup-props-reactivity-loss': 'warn'
}
}
]