-
Notifications
You must be signed in to change notification settings - Fork 0
/
.eslintrc.js
53 lines (53 loc) · 1.37 KB
/
.eslintrc.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
module.exports = {
env: {
es2021: true,
node: true
},
extends: [ 'eslint:recommended', 'plugin:vue/vue3-essential', 'plugin:@typescript-eslint/recommended', '@nuxtjs/eslint-config-typescript', 'plugin:storybook/recommended' ],
parserOptions: {
ecmaVersion: 'latest',
parser: '@typescript-eslint/parser',
sourceType: 'module'
},
plugins: [ 'vue', '@typescript-eslint' ],
rules: {
'vue/multi-word-component-names': 'off',
semi: [ 'error', 'never', {
beforeStatementContinuationChars: 'never'
} ],
'semi-spacing': [ 'error', {
after: true,
before: false
} ],
'semi-style': [ 'error', 'first' ],
'no-extra-semi': 'error',
'no-unexpected-multiline': 'error',
'no-unreachable': 'error',
'no-console': [ 'warn', {
allow: [ 'warn', 'error' ]
} ],
'eol-last': [ 'error', 'always' ],
quotes: [ 2, 'single' ],
'object-curly-spacing': [ 'error', 'always' ],
'array-bracket-spacing': [ 'error', 'always' ],
'@typescript-eslint/naming-convention': [
'error',
{
selector: 'interface',
format: [ 'PascalCase' ],
custom: {
regex: '^I[A-Z]',
match: true
}
},
{
selector: 'typeAlias',
format: [ 'PascalCase' ],
custom: {
regex: 'Type$',
match: true
}
}
]
}
}