File tree Expand file tree Collapse file tree 1 file changed +32
-1
lines changed Expand file tree Collapse file tree 1 file changed +32
-1
lines changed Original file line number Diff line number Diff line change @@ -20,12 +20,14 @@ This rule reports the `defineProps` and `defineEmits` compiler macros when they
20
20
``` json
21
21
{
22
22
"vue/define-macros-order" : [" error" , {
23
- "order" : [" defineProps" , " defineEmits" ]
23
+ "order" : [" defineProps" , " defineEmits" ],
24
+ "defineExposeLast" : false ,
24
25
}]
25
26
}
26
27
```
27
28
28
29
- ` order ` (` string[] ` ) ... The order of defineEmits and defineProps macros. You can also add ` "defineOptions" ` and ` "defineSlots" ` .
30
+ - ` defineExposeLast ` (` boolean ` ) ... Force ` defineExpose ` at the end.
29
31
30
32
### ` { "order": ["defineProps", "defineEmits"] } ` (default)
31
33
@@ -111,6 +113,35 @@ const slots = defineSlots()
111
113
112
114
</eslint-code-block >
113
115
116
+ ### ` { "defineExposeLast": true } `
117
+ <eslint-code-block fix :rules =" {'vue/define-macros-order': ['error', {defineExposeLast: true}]} " >
118
+
119
+ ``` vue
120
+ <!-- ✓ GOOD -->
121
+ <script setup>
122
+ defineProps(/* ... */)
123
+ defineEmits(/* ... */)
124
+ const slots = defineSlots()
125
+ defineExpose({/* ... */})
126
+ </script>
127
+ ```
128
+
129
+ </eslint-code-block >
130
+
131
+ <eslint-code-block fix :rules =" {'vue/define-macros-order': ['error', {defineExposeLast: true}]} " >
132
+
133
+ ``` vue
134
+ <!-- ✗ BAD -->
135
+ <script setup>
136
+ defineProps(/* ... */)
137
+ defineEmits(/* ... */)
138
+ defineExpose({/* ... */})
139
+ const slots = defineSlots()
140
+ </script>
141
+ ```
142
+
143
+ </eslint-code-block >
144
+
114
145
## :rocket : Version
115
146
116
147
This rule was introduced in eslint-plugin-vue v8.7.0
You can’t perform that action at this time.
0 commit comments