@@ -117,9 +117,13 @@ export async function vue(
117
117
: [ 'template' , 'script' , 'style' ] ,
118
118
} ,
119
119
] ,
120
+ // 'vue/component-api-style': ['warn', ['script-setup', 'composition']],
120
121
'vue/component-name-in-template-casing' : [ 'error' , 'PascalCase' ] ,
121
122
'vue/component-options-name-casing' : [ 'error' , 'PascalCase' ] ,
123
+ // this is deprecated
124
+ 'vue/component-tags-order' : 'off' ,
122
125
'vue/custom-event-name-casing' : [ 'error' , 'camelCase' ] ,
126
+ // 'vue/define-emits-declaration': ['warn', 'type-based'],
123
127
'vue/define-macros-order' : [
124
128
'error' ,
125
129
{
@@ -131,31 +135,35 @@ export async function vue(
131
135
] ,
132
136
} ,
133
137
] ,
138
+ // 'vue/define-props-declaration': ['warn', 'type-based'],
134
139
'vue/dot-location' : [ 'error' , 'property' ] ,
135
140
'vue/dot-notation' : [ 'error' , { allowKeywords : true } ] ,
136
141
'vue/eqeqeq' : [ 'error' , 'smart' ] ,
137
142
'vue/html-indent' : [ 'error' , indent ] ,
143
+ // 'vue/html-self-closing': [
144
+ // 'error',
145
+ // {
146
+ // html: {
147
+ // component: 'always',
148
+ // normal: 'always',
149
+ // void: 'any',
150
+ // },
151
+ // math: 'always',
152
+ // svg: 'always',
153
+ // },
138
154
'vue/html-quotes' : [ 'error' , 'double' ] ,
139
- 'vue/html-self-closing' : [
140
- 'error' ,
141
- {
142
- html : {
143
- component : 'always' ,
144
- normal : 'always' ,
145
- void : 'any' ,
146
- } ,
147
- math : 'always' ,
148
- svg : 'always' ,
149
- } ,
150
- ] ,
155
+ // ],
151
156
'vue/max-attributes-per-line' : 'off' ,
152
157
'vue/multi-word-component-names' : 'off' ,
158
+ // 'vue/next-tick-style': ['warn', 'promise'],
153
159
'vue/no-constant-condition' : 'warn' ,
154
160
'vue/no-dupe-keys' : 'off' ,
161
+ 'vue/no-duplicate-attr-inheritance' : 'warn' ,
155
162
'vue/no-empty-pattern' : 'error' ,
156
163
'vue/no-extra-parens' : [ 'error' , 'functions' ] ,
157
164
'vue/no-irregular-whitespace' : 'error' ,
158
165
'vue/no-loss-of-precision' : 'error' ,
166
+ 'vue/no-required-prop-with-default' : 'warn' ,
159
167
'vue/no-restricted-syntax' : [
160
168
'error' ,
161
169
'DebuggerStatement' ,
@@ -165,9 +173,14 @@ export async function vue(
165
173
'vue/no-restricted-v-bind' : [ 'error' , '/^v-/' ] ,
166
174
'vue/no-setup-props-reactivity-loss' : 'off' ,
167
175
'vue/no-sparse-arrays' : 'error' ,
176
+ 'vue/no-unsupported-features' : 'warn' ,
177
+ 'vue/no-unused-emit-declarations' : 'warn' ,
168
178
'vue/no-unused-refs' : 'error' ,
179
+ 'vue/no-use-v-else-with-v-for' : 'error' ,
180
+ 'vue/no-useless-mustaches' : 'warn' ,
169
181
'vue/no-useless-v-bind' : 'error' ,
170
182
'vue/no-v-html' : 'off' ,
183
+ 'vue/no-v-text' : 'warn' ,
171
184
'vue/object-shorthand' : [
172
185
'error' ,
173
186
'always' ,
@@ -176,10 +189,21 @@ export async function vue(
176
189
ignoreConstructors : false ,
177
190
} ,
178
191
] ,
192
+ 'vue/prefer-define-options' : 'warn' ,
179
193
'vue/prefer-separate-static-class' : 'error' ,
180
194
'vue/prefer-template' : 'error' ,
181
195
'vue/prop-name-casing' : [ 'error' , 'camelCase' ] ,
182
196
'vue/require-default-prop' : 'off' ,
197
+ 'vue/require-macro-variable-name' : [
198
+ 'warn' ,
199
+ {
200
+ defineEmits : 'emit' ,
201
+ defineProps : 'props' ,
202
+ defineSlots : 'slots' ,
203
+ useAttrs : 'attrs' ,
204
+ useSlots : 'slots' ,
205
+ } ,
206
+ ] ,
183
207
'vue/require-prop-types' : 'off' ,
184
208
'vue/space-infix-ops' : 'error' ,
185
209
'vue/space-unary-ops' : [ 'error' , { nonwords : false , words : true } ] ,
@@ -205,6 +229,7 @@ export async function vue(
205
229
'vue/comma-dangle' : [ 'error' , 'always-multiline' ] ,
206
230
'vue/comma-spacing' : [ 'error' , { after : true , before : false } ] ,
207
231
'vue/comma-style' : [ 'error' , 'last' ] ,
232
+ 'vue/html-comment-content-newline' : 'warn' ,
208
233
'vue/html-comment-content-spacing' : [
209
234
'error' ,
210
235
'always' ,
0 commit comments