@mikey-pro/eslint-config-vue 8.0.3 → 8.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +1 -35
- package/package.json +7 -13
package/index.js
CHANGED
|
@@ -54,26 +54,16 @@ const vueConfig = [
|
|
|
54
54
|
...vueRecommended.rules,
|
|
55
55
|
|
|
56
56
|
// Vue 3 Composition API
|
|
57
|
-
'vue/define-macros-order': ['warn', {
|
|
58
|
-
order: ['defineProps', 'defineEmits']
|
|
59
|
-
}],
|
|
60
|
-
'vue/define-props-declaration': ['error', 'type-based'],
|
|
61
57
|
'vue/component-api-style': ['error', ['script-setup', 'composition']],
|
|
62
58
|
'vue/no-ref-object-destructure': 'error',
|
|
63
59
|
'vue/no-setup-props-destructure': 'error',
|
|
64
60
|
|
|
65
61
|
// Best Practices
|
|
66
|
-
'vue/block-order': ['error', {
|
|
67
|
-
order: ['script', 'template', 'style']
|
|
68
|
-
}],
|
|
69
|
-
'vue/component-name-in-template-casing': ['error', 'PascalCase'],
|
|
70
|
-
'vue/no-duplicate-attr-inheritance': 'error',
|
|
71
62
|
'vue/no-useless-v-bind': 'error',
|
|
72
63
|
'vue/prefer-separate-static-class': 'error',
|
|
73
64
|
|
|
74
65
|
// Performance
|
|
75
66
|
'vue/no-async-in-computed-properties': 'error',
|
|
76
|
-
'vue/no-side-effects-in-computed-properties': 'error',
|
|
77
67
|
'vue/no-static-inline-styles': 'warn',
|
|
78
68
|
|
|
79
69
|
// Type Safety
|
|
@@ -85,8 +75,6 @@ const vueConfig = [
|
|
|
85
75
|
'vue/component-options-name-casing': ['error', 'PascalCase'],
|
|
86
76
|
|
|
87
77
|
// Best Practices
|
|
88
|
-
'vue/prefer-import-from-vue': 'error',
|
|
89
|
-
'vue/no-unused-refs': 'warn',
|
|
90
78
|
'vue/no-required-prop-with-default': 'error',
|
|
91
79
|
'vue/require-typed-ref': 'error',
|
|
92
80
|
'vue/valid-define-props': 'error',
|
|
@@ -114,30 +102,14 @@ const vueConfig = [
|
|
|
114
102
|
'prettier/prettier': ['warn', { parser: 'vue' }],
|
|
115
103
|
|
|
116
104
|
// Enhanced Type Safety
|
|
117
|
-
'vue/define-emits-declaration': ['error', 'type-based'],
|
|
118
105
|
'vue/no-export-in-script-setup': 'error',
|
|
119
106
|
|
|
120
107
|
// Script Setup
|
|
121
|
-
'vue/script-setup-uses-vars': 'error',
|
|
122
108
|
'vue/no-undef-components': ['error', {
|
|
123
109
|
ignorePatterns: ['router-view', 'router-link'],
|
|
124
110
|
}],
|
|
125
111
|
|
|
126
|
-
// Performance
|
|
127
|
-
'vue/no-unused-properties': ['warn', {
|
|
128
|
-
groups: ['props', 'data', 'computed', 'methods', 'setup'],
|
|
129
|
-
}],
|
|
130
|
-
|
|
131
112
|
// Composables
|
|
132
|
-
'vue/define-macros-order': ['error', {
|
|
133
|
-
order: [
|
|
134
|
-
'defineOptions',
|
|
135
|
-
'defineProps',
|
|
136
|
-
'defineEmits',
|
|
137
|
-
'defineSlots',
|
|
138
|
-
'withDefaults'
|
|
139
|
-
]
|
|
140
|
-
}],
|
|
141
113
|
'vue/custom-event-name-casing': ['error', 'camelCase', {
|
|
142
114
|
ignore: []
|
|
143
115
|
}],
|
|
@@ -204,10 +176,6 @@ const vueConfig = [
|
|
|
204
176
|
'vue/no-child-content': ['error', {
|
|
205
177
|
'ignoreSlots': ['default']
|
|
206
178
|
}],
|
|
207
|
-
'vue/no-duplicate-attr-inheritance': ['error', {
|
|
208
|
-
'ignoreKeys': ['class', 'style']
|
|
209
|
-
}],
|
|
210
|
-
'vue/prefer-define-options': 'error',
|
|
211
179
|
|
|
212
180
|
// Better Type Safety
|
|
213
181
|
'vue/define-props-declaration': ['error', {
|
|
@@ -231,7 +199,6 @@ const vueConfig = [
|
|
|
231
199
|
|
|
232
200
|
// Vue 3.4+ Features
|
|
233
201
|
'vue/next-tick-style': ['error', 'promise'],
|
|
234
|
-
'vue/prefer-prop-type-inference': 'error',
|
|
235
202
|
'vue/require-typed-object-prop': 'error',
|
|
236
203
|
'vue/no-deprecated-model-definition': ['error', {
|
|
237
204
|
allowVue3Compat: false
|
|
@@ -264,9 +231,8 @@ const vueConfig = [
|
|
|
264
231
|
// Performance Optimizations
|
|
265
232
|
'vue/no-static-style': 'error',
|
|
266
233
|
'vue/no-undef-properties': ['error', {
|
|
267
|
-
ignores: ['
|
|
234
|
+
ignores: ['/^\$/']
|
|
268
235
|
}],
|
|
269
|
-
'vue/valid-define-options': 'error',
|
|
270
236
|
|
|
271
237
|
// Script Setup Safety
|
|
272
238
|
'vue/script-setup-uses-vars': ['error', {
|
package/package.json
CHANGED
|
@@ -1,27 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mikey-pro/eslint-config-vue",
|
|
3
|
-
"version": "8.0
|
|
3
|
+
"version": "8.1.0",
|
|
4
4
|
"description": "Mikey Pro ESLint Vue configuration",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.js",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@babel/core": "^7.26.
|
|
9
|
-
"@babel/eslint-parser": "^7.26.
|
|
8
|
+
"@babel/core": "^7.26.8",
|
|
9
|
+
"@babel/eslint-parser": "^7.26.8",
|
|
10
10
|
"@babel/plugin-transform-react-jsx": "^7.25.9",
|
|
11
|
-
"@babel/preset-env": "^7.26.
|
|
12
|
-
"@mikey-pro/eslint-config": "^8.0.
|
|
13
|
-
"@typescript-eslint/parser": "^8.
|
|
11
|
+
"@babel/preset-env": "^7.26.8",
|
|
12
|
+
"@mikey-pro/eslint-config": "^8.0.19",
|
|
13
|
+
"@typescript-eslint/parser": "^8.24.0",
|
|
14
14
|
"eslint-plugin-vue": "^9.32.0",
|
|
15
15
|
"vue-eslint-parser": "^9.4.3"
|
|
16
16
|
},
|
|
17
17
|
"peerDependencies": {
|
|
18
|
-
"@mikey-pro/eslint-config": "^8.0.3"
|
|
19
|
-
"@types/node": ">=18.0.0",
|
|
20
|
-
"@vue/compiler-sfc": "^3.4.0",
|
|
21
|
-
"eslint": "^8.57.0",
|
|
22
|
-
"prettier": "^3.2.0",
|
|
23
|
-
"typescript": ">=5.0.0",
|
|
24
|
-
"vue": "^3.4.0"
|
|
18
|
+
"@mikey-pro/eslint-config": "^8.0.3"
|
|
25
19
|
},
|
|
26
20
|
"peerDependenciesMeta": {
|
|
27
21
|
"@types/node": {
|