Skip to content

Commit 0083d35

Browse files
committed
feat: update eslint-plugin-vue & vue-eslint-parser + update configs
BREAKING CHANGE: `es5`, `es2015`, `es2016`, `es2017`, `es2018`, `es2019`, `es2020`, `es2021` & `es2022` configs now have extra rules from `eslint-plugin-vue`
1 parent ba982b6 commit 0083d35

File tree

2 files changed

+26
-11
lines changed

2 files changed

+26
-11
lines changed

lib/configs/_override-vue.js

+24-9
Original file line numberDiff line numberDiff line change
@@ -48,17 +48,21 @@ module.exports = {
4848
"error",
4949
"@eslint-community/mysticatea/vue/component-name-in-template-casing":
5050
["error", "kebab-case"],
51+
"@eslint-community/mysticatea/vue/component-options-name-casing":
52+
"error",
5153
"@eslint-community/mysticatea/vue/component-tags-order":
5254
"error",
5355
"@eslint-community/mysticatea/vue/custom-event-name-casing":
5456
"error",
57+
"@eslint-community/mysticatea/vue/define-macros-order": "error",
5558
"@eslint-community/mysticatea/vue/dot-location": "error",
5659
"@eslint-community/mysticatea/vue/dot-notation": "error",
5760
"@eslint-community/mysticatea/vue/eqeqeq": [
5861
"error",
5962
"always",
6063
{ null: "ignore" },
6164
],
65+
"@eslint-community/mysticatea/vue/first-attribute-linebreak": "error",
6266
"@eslint-community/mysticatea/vue/func-call-spacing": "error",
6367
"@eslint-community/mysticatea/vue/html-button-has-type":
6468
"error",
@@ -80,15 +84,11 @@ module.exports = {
8084
"@eslint-community/mysticatea/vue/keyword-spacing": "error",
8185
"@eslint-community/mysticatea/vue/match-component-file-name":
8286
"error",
87+
"@eslint-community/mysticatea/vue/match-component-import-name":
88+
"error",
8389
"@eslint-community/mysticatea/vue/max-attributes-per-line": [
8490
"error",
85-
{
86-
singleline: 3,
87-
multiline: {
88-
max: 1,
89-
allowFirstLine: false,
90-
},
91-
},
91+
{ multiline: 1, singleline: 3 },
9292
],
9393
"@eslint-community/mysticatea/vue/max-len": [
9494
"error",
@@ -110,6 +110,7 @@ module.exports = {
110110
"@eslint-community/mysticatea/vue/no-bare-strings-in-template":
111111
"error",
112112
"@eslint-community/mysticatea/vue/no-boolean-default": "error",
113+
"@eslint-community/mysticatea/vue/no-child-content": "error",
113114
"@eslint-community/mysticatea/vue/no-computed-properties-in-data":
114115
"error",
115116
"@eslint-community/mysticatea/vue/no-constant-condition":
@@ -164,6 +165,7 @@ module.exports = {
164165
"@eslint-community/mysticatea/vue/no-empty-pattern": "error",
165166
"@eslint-community/mysticatea/vue/no-export-in-script-setup":
166167
"error",
168+
"@eslint-community/mysticatea/vue/no-expose-after-await": "error",
167169
"@eslint-community/mysticatea/vue/no-extra-parens": "error",
168170
"@eslint-community/mysticatea/vue/no-invalid-model-keys":
169171
"error",
@@ -172,6 +174,7 @@ module.exports = {
172174
"@eslint-community/mysticatea/vue/no-lifecycle-after-await":
173175
"error",
174176
"@eslint-community/mysticatea/vue/no-lone-template": "error",
177+
"@eslint-community/mysticatea/vue/no-loss-of-precision": "off", // requires ESLint v7.1
175178
"@eslint-community/mysticatea/vue/no-multiple-objects-in-class":
176179
"error",
177180
"@eslint-community/mysticatea/vue/no-multiple-slot-args":
@@ -187,6 +190,7 @@ module.exports = {
187190
"@eslint-community/mysticatea/vue/no-reserved-component-names":
188191
"error",
189192
"@eslint-community/mysticatea/vue/no-reserved-keys": "error",
193+
"@eslint-community/mysticatea/vue/no-reserved-props": "error",
190194
"@eslint-community/mysticatea/vue/no-restricted-block": "error",
191195
"@eslint-community/mysticatea/vue/no-restricted-call-after-await":
192196
"error",
@@ -195,6 +199,7 @@ module.exports = {
195199
"error",
196200
"@eslint-community/mysticatea/vue/no-restricted-custom-event":
197201
"error",
202+
"@eslint-community/mysticatea/vue/no-restricted-html-elements": "error",
198203
"@eslint-community/mysticatea/vue/no-restricted-props": "error",
199204
"@eslint-community/mysticatea/vue/no-restricted-static-attribute":
200205
"error",
@@ -219,9 +224,8 @@ module.exports = {
219224
"error",
220225
"@eslint-community/mysticatea/vue/no-this-in-before-route-enter":
221226
"error",
227+
"@eslint-community/mysticatea/vue/no-undef-components": "error",
222228
"@eslint-community/mysticatea/vue/no-undef-properties": "error",
223-
"@eslint-community/mysticatea/vue/no-unregistered-components":
224-
"error",
225229
"@eslint-community/mysticatea/vue/no-unsupported-features":
226230
"error",
227231
"@eslint-community/mysticatea/vue/no-unused-components":
@@ -247,6 +251,7 @@ module.exports = {
247251
"@eslint-community/mysticatea/vue/no-v-html": "error",
248252
"@eslint-community/mysticatea/vue/no-v-model-argument": "error",
249253
"@eslint-community/mysticatea/vue/no-v-text": "error",
254+
"@eslint-community/mysticatea/vue/no-v-text-v-html-on-component": "error",
250255
"@eslint-community/mysticatea/vue/no-watch-after-await":
251256
"error",
252257
"@eslint-community/mysticatea/vue/object-curly-newline":
@@ -257,13 +262,22 @@ module.exports = {
257262
],
258263
"@eslint-community/mysticatea/vue/object-property-newline":
259264
"error",
265+
"@eslint-community/mysticatea/vue/object-shorthand": [
266+
"error",
267+
"always",
268+
{ avoidExplicitReturnArrows: true },
269+
],
260270
"@eslint-community/mysticatea/vue/one-component-per-file":
261271
"error",
262272
"@eslint-community/mysticatea/vue/operator-linebreak": "error",
263273
"@eslint-community/mysticatea/vue/order-in-components": "error",
264274
"@eslint-community/mysticatea/vue/padding-line-between-blocks":
265275
"error",
276+
"@eslint-community/mysticatea/vue/prefer-import-from-vue": "error",
277+
"@eslint-community/mysticatea/vue/prefer-prop-type-boolean-first": "error",
278+
"@eslint-community/mysticatea/vue/prefer-separate-static-class": "error",
266279
"@eslint-community/mysticatea/vue/prefer-template": "error",
280+
"@eslint-community/mysticatea/vue/prefer-true-attribute-shorthand": "error",
267281
"@eslint-community/mysticatea/vue/prop-name-casing": "error",
268282
"@eslint-community/mysticatea/vue/require-component-is":
269283
"error",
@@ -340,6 +354,7 @@ module.exports = {
340354

341355
// Disabled rules (prefer prettier)
342356
"@eslint-community/mysticatea/vue/no-restricted-syntax": "off",
357+
"@eslint-community/mysticatea/vue/quote-props": "off",
343358
"@eslint-community/mysticatea/vue/script-indent": "off",
344359
},
345360
},

package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@
1919
"eslint-plugin-eslint-plugin": "^4.4.1",
2020
"eslint-plugin-node": "^11.1.0",
2121
"eslint-plugin-prettier": "^3.4.1",
22-
"eslint-plugin-vue": "^7.20.0",
22+
"eslint-plugin-vue": "^8.7.1",
2323
"prettier": "^2.7.1",
24-
"vue-eslint-parser": "^7.11.0"
24+
"vue-eslint-parser": "^8.3.0"
2525
},
2626
"devDependencies": {
2727
"@eslint-community/eslint-plugin-mysticatea": "file:.",

0 commit comments

Comments
 (0)