-
Notifications
You must be signed in to change notification settings - Fork 0
/
.eslintrc.js
186 lines (183 loc) · 9.83 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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
module.exports = {
'env': {
'browser': true,
'node': true,
'es2021': true
},
'extends': [
'eslint:recommended',
'plugin:vue/vue3-recommended',
'plugin:@typescript-eslint/recommended',
'plugin:tailwindcss/recommended'
],
'overrides': [{
'files': ['*.vue'],
'rules': {
'indent': 'off',
'vue/multi-word-component-names': 'off'
}
}],
'parser': 'vue-eslint-parser',
'parserOptions': {
'parser': '@typescript-eslint/parser',
'ecmaVersion': 'latest',
'sourceType': 'module'
},
'plugins': [
'vue', '@typescript-eslint', 'tailwindcss'
],
'rules': {
// never
'array-bracket-newline': ['error', 'consistent'], // https://eslint.org/docs/latest/rules/array-bracket-newline
'array-bracket-spacing': ['error', 'never'], // https://eslint.org/docs/latest/rules/array-bracket-spacing
'arrow-spacing': 'error', // https://eslint.org/docs/latest/rules/arrow-spacing
'block-spacing': 'error', // https://eslint.org/docs/latest/rules/block-spacing
'brace-style': [
'error', '1tbs', {
'allowSingleLine': true
}
], // https://eslint.org/docs/latest/rules/brace-style
'comma-dangle': ['error', 'never'], // https://eslint.org/docs/latest/rules/comma-dangle
'comma-spacing': 'error', // https://eslint.org/docs/latest/rules/comma-spacing
'comma-style': 'error', // https://eslint.org/docs/latest/rules/comma-style
'default-case': 'error', // https://eslint.org/docs/latest/rules/dot-location
'dot-location': ['error', 'property'], // https://eslint.org/docs/latest/rules/dot-location
'dot-notation': 'error', // https://eslint.org/docs/latest/rules/dot-notation
'eqeqeq': ['error', 'always'], // https://eslint.org/docs/latest/rules/eqeqeq
'func-call-spacing': 'error', // https://eslint.org/docs/latest/rules/func-call-spacing
'indent': ['error', 2], // https://eslint.org/docs/latest/rules/indent
'key-spacing': 'error', // https://eslint.org/docs/latest/rules/key-spacing
'keyword-spacing': 'error', // https://eslint.org/docs/latest/rules/keyword-spacing
'no-array-constructor': 'error', // https://eslint.org/docs/latest/rules/no-array-constructor
'no-duplicate-imports': 'error', // https://eslint.org/docs/latest/rules/no-multiple-empty-lines
'no-else-return': 'error', // https://eslint.org/docs/latest/rules/no-else-return
'no-lonely-if': 'error', // https://eslint.org/docs/latest/rules/no-lonely-if
'no-multi-spaces': 'error', // https://eslint.org/docs/latest/rules/no-multi-spaces
'no-multiple-empty-lines': 'error', // https://eslint.org/docs/latest/rules/no-multiple-empty-lines
'no-tabs': 'error', // https://eslint.org/docs/latest/rules/no-tabs
'no-trailing-spaces': 'error', // https://eslint.org/docs/latest/rules/no-trailing-spaces
'no-undef-init': 'error', // https://eslint.org/docs/latest/rules/no-undef-init
'no-unreachable-loop': 'error',
'no-useless-rename': 'error', // https://eslint.org/docs/latest/rules/no-useless-rename
'no-useless-return': 'error', // https://eslint.org/docs/latest/rules/no-useless-return
// 'no-use-before-define': 'error', // Nervig
'no-whitespace-before-property': 'error', // https://eslint.org/docs/latest/rules/no-whitespace-before-property
'object-curly-newline': ['error', {
'multiline': true,
'consistent': true
}], // https://eslint.org/docs/latest/rules/object-curly-newline
'object-curly-spacing': ['error', 'always'], // https://eslint.org/docs/latest/rules/object-curly-spacing,
// 'object-property-newline': 'error', // https://eslint.org/docs/latest/rules/object-property-newline
'operator-linebreak': [
'error', 'after', {
'overrides': {
'?': 'before',
':': 'before',
'|>': 'before'
}
}
], // https://eslint.org/docs/latest/rules/operator-linebreak
'padded-blocks': ['error', {
'blocks': 'never',
'switches': 'never',
'classes': 'never'
}], // https://eslint.org/docs/latest/rules/padded-blocks
'quotes': [
'error', 'single', {
'avoidEscape': true,
'allowTemplateLiterals': false
}
], // https://eslint.org/docs/latest/rules/quotes
'require-await': 'error', // https://eslint.org/docs/latest/rules/require-await
'semi': 'error', // https://eslint.org/docs/latest/rules/semi
'semi-spacing': 'error', // https://eslint.org/docs/latest/rules/semi-spacing
'space-before-blocks': 'error', // https://eslint.org/docs/latest/rules/space-before-blocks
'space-before-function-paren': ['error', 'never'], // https://eslint.org/docs/latest/rules/space-before-function-paren
'space-in-parens': 'error', // https://eslint.org/docs/latest/rules/space-in-parens
'space-infix-ops': 'error', // https://eslint.org/docs/latest/rules/space-infix-ops
'space-unary-ops': 'error', // https://eslint.org/docs/latest/rules/space-unary-ops
'spaced-comment': [
'error', 'always', {
'line': {
'markers': [
'*package', '!', '/', ',', '='
]
},
'block': {
'balanced': true,
'markers': [
'*package', '!', ',', ':', '::', 'flow-include'
],
'exceptions': ['*']
}
}
], // https://eslint.org/docs/latest/rules/spaced-comment
'template-curly-spacing': ['error', 'never'], // https://eslint.org/docs/latest/rules/template-curly-spacing
// VUE ESLINT
// 'vue/block-tag-newline': 'error', // https://eslint.vuejs.org/rules/block-tag-newline.html ---> OCCURS ERROR!! NO REASON FOUND
'vue/component-api-style': ['error', ['script-setup']], // https://eslint.vuejs.org/rules/component-api-style.html
'vue/component-name-in-template-casing': 'error', // https://eslint.vuejs.org/rules/component-name-in-template-casing.html
'vue/custom-event-name-casing': 'error', // https://eslint.vuejs.org/rules/custom-event-name-casing.html
'vue/define-emits-declaration': 'error', // https://eslint.vuejs.org/rules/define-emits-declaration.html
'vue/define-macros-order': 'error', // https://eslint.vuejs.org/rules/define-macros-order.html
'vue/define-props-declaration': 'error', // https://eslint.vuejs.org/rules/define-props-declaration.html
'vue/html-button-has-type': 'error', // https://eslint.vuejs.org/rules/html-button-has-type.html
'vue/html-closing-bracket-newline': ['error', {
'singleline': 'never',
'multiline': 'never'
}], // https://eslint.vuejs.org/rules/html-closing-bracket-newline.html
'vue/html-indent': ['error', 2, {
'closeBracket': 1
}], // https://eslint.vuejs.org/rules/html-indent.html
'vue/no-boolean-default': 'error', // https://eslint.vuejs.org/rules/no-boolean-default.html
'vue/no-empty-component-block': 'error', // https://eslint.vuejs.org/rules/no-empty-component-block.html
'vue/no-required-prop-with-default': ['error', {
'autofix': false
}], // https://eslint.vuejs.org/rules/no-required-prop-with-default.html
'vue/no-useless-mustaches': 'error', // https://eslint.vuejs.org/rules/no-useless-mustaches.html
'vue/no-useless-v-bind': 'error', // https://eslint.vuejs.org/rules/no-useless-v-bind.html
'vue/padding-line-between-blocks': 'error', // https://eslint.vuejs.org/rules/padding-line-between-blocks.html
'vue/script-indent': ['error', 2], // https://eslint.vuejs.org/rules/script-indent.html
'vue/v-for-delimiter-style': 'error', // https://eslint.vuejs.org/rules/v-for-delimiter-style.html
// VUE ESLIINT EXTENSIONS
'vue/array-bracket-newline': ['error', 'never'], // https://eslint.vuejs.org/rules/array-bracket-newline.html
'vue/array-bracket-spacing': ['error', 'never'], // https://eslint.vuejs.org/rules/array-bracket-spacing.html
'vue/arrow-spacing': 'error', // https://eslint.vuejs.org/rules/arrow-spacing.html
'vue/block-spacing': 'error', // https://eslint.vuejs.org/rules/block-spacing.html
'vue/brace-style': [
'error', '1tbs', {
'allowSingleLine': true
}
], // https://eslint.vuejs.org/rules/brace-style.html
'vue/comma-dangle': ['error', 'never'], // https://eslint.vuejs.org/rules/comma-dangle.html
'vue/comma-spacing': 'error', // https://eslint.vuejs.org/rules/comma-spacing.html
'vue/comma-style': 'error', // https://eslint.vuejs.org/rules/comma-style.html
'vue/dot-location': ['error', 'property'], // https://eslint.vuejs.org/rules/dot-location.html
'vue/dot-notation': 'error', // https://eslint.vuejs.org/rules/dot-notation.html
'vue/eqeqeq': ['error', 'always'], // https://eslint.vuejs.org/rules/eqeqeq.html
'vue/func-call-spacing': 'error', // https://eslint.vuejs.org/rules/func-call-spacing.html
'vue/key-spacing': 'error', // https://eslint.vuejs.org/rules/key-spacing.html
'vue/keyword-spacing': 'error', // https://eslint.vuejs.org/rules/keyword-spacing.html
'vue/object-curly-newline': ['error', {
'multiline': true,
'consistent': true
}], // https://eslint.vuejs.org/rules/object-curly-newline.html
'vue/object-curly-spacing': ['error', 'always'], // https://eslint.vuejs.org/rules/object-curly-spacing.html
'vue/object-property-newline': 'error', // https://eslint.vuejs.org/rules/object-property-newline.html
'vue/operator-linebreak': [
'error', 'after', {
'overrides': {
'?': 'before',
':': 'before',
'|>': 'before'
}
}
], // https://eslint.vuejs.org/rules/operator-linebreak.html
'vue/space-in-parens': 'error', // https://eslint.vuejs.org/rules/space-in-parens.html
'vue/space-infix-ops': 'error', // https://eslint.vuejs.org/rules/space-infix-ops.html
'vue/space-unary-ops': 'error', // https://eslint.vuejs.org/rules/space-unary-ops.html
'vue/template-curly-spacing': ['error', 'never'], // https://eslint.vuejs.org/rules/template-curly-spacing.html
// Tailwind
'tailwindcss/no-custom-classname': 'off'
}
};