@@ -14,14 +14,8 @@ export default defineConfigWithVueTs(
1414 typescriptConfig ,
1515 pluginVue . configs [ "flat/recommended-error" ] ,
1616 vueTsConfigs . recommended ,
17+ vueBlockAttributeOrder ,
1718 {
18- plugins : {
19- byscripts : {
20- rules : {
21- "vue-block-attribute-order" : vueBlockAttributeOrder ,
22- } ,
23- } ,
24- } ,
2519 rules : {
2620 "vue/block-order" : [ "error" , { order : [ "script" , "template" , "style" ] } ] ,
2721 "vue/block-lang" : [
@@ -61,6 +55,10 @@ export default defineConfigWithVueTs(
6155 } ,
6256 ] ,
6357 "vue/define-props-declaration" : [ "error" , "type-based" ] ,
58+ "vue/define-props-destructuring" : [
59+ "error" ,
60+ { destructure : "only-when-assigned" } ,
61+ ] ,
6462 "vue/enforce-style-attribute" : [ "error" , { allow : [ "scoped" , "module" ] } ] ,
6563 "vue/html-button-has-type" : "error" ,
6664 "vue/html-comment-content-newline" : [
@@ -71,17 +69,29 @@ export default defineConfigWithVueTs(
7169 } ,
7270 ] ,
7371 "vue/html-comment-content-spacing" : [ "error" , "always" ] ,
72+ "vue/html-comment-indent" : [ "error" , 2 ] ,
73+ "vue/max-props" : [ "error" , { maxProps : 5 } ] ,
74+ "vue/max-template-depth" : [ "error" , { maxDepth : 7 } ] ,
75+ "vue/next-tick-style" : [ "error" , "promise" ] ,
76+ // Enable if using I18n
77+ // "vue/no-bare-strings-in-template": "error",
7478 "vue/no-duplicate-attr-inheritance" : "error" ,
79+ "vue/no-duplicate-class-names" : "error" ,
7580 "vue/no-empty-component-block" : "error" ,
81+ "vue/no-import-compiler-macros" : "error" ,
82+ "vue/no-literals-in-template" : "error" ,
7683 "vue/no-multiple-objects-in-class" : "error" ,
84+ "vue/no-negated-v-if-condition" : "error" ,
7785 "vue/no-ref-object-reactivity-loss" : "error" ,
7886 "vue/no-static-inline-styles" : "error" ,
7987 "vue/no-template-target-blank" : "error" ,
8088 "vue/no-undef-components" : [
8189 "error" ,
8290 { ignorePatterns : [ "RouterLink" , "RouterView" , "I18nT" ] } ,
8391 ] ,
92+ "vue/no-undef-directives" : "error" ,
8493 "vue/no-undef-properties" : "error" ,
94+ "vue/no-unused-emit-declarations" : "error" ,
8595 "vue/no-unused-refs" : "error" ,
8696 "vue/no-use-v-else-with-v-for" : "error" ,
8797 "vue/no-useless-mustaches" : "error" ,
@@ -91,9 +101,15 @@ export default defineConfigWithVueTs(
91101 "vue/prefer-define-options" : "error" ,
92102 "vue/prefer-separate-static-class" : "error" ,
93103 "vue/prefer-true-attribute-shorthand" : "error" ,
104+ "vue/prefer-use-template-ref" : "error" ,
105+ "vue/require-explicit-slots" : "error" ,
94106 "vue/require-macro-variable-name" : "error" ,
95- "vue/valid-define-options" : "error" ,
96- "byscripts/vue-block-attribute-order" : "error" ,
107+ "vue/require-typed-object-prop" : "error" ,
108+ "vue/require-typed-ref" : "error" ,
109+ "vue/slot-name-casing" : [ "error" , "kebab-case" ] ,
110+ "vue/static-class-names-order" : "error" ,
111+ "vue/v-for-delimiter-style" : [ "error" , "of" ] ,
112+ "vue/v-on-handler-style" : [ "error" , [ "method" , "inline-function" ] ] ,
97113 } ,
98114 } ,
99115) ;
0 commit comments