Skip to content

Commit 82fd5a8

Browse files
committed
docs: add defineExposeLast option
1 parent ade4fdb commit 82fd5a8

File tree

1 file changed

+32
-1
lines changed

1 file changed

+32
-1
lines changed

docs/rules/define-macros-order.md

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,14 @@ This rule reports the `defineProps` and `defineEmits` compiler macros when they
2020
```json
2121
{
2222
"vue/define-macros-order": ["error", {
23-
"order": ["defineProps", "defineEmits"]
23+
"order": ["defineProps", "defineEmits"],
24+
"defineExposeLast": false,
2425
}]
2526
}
2627
```
2728

2829
- `order` (`string[]`) ... The order of defineEmits and defineProps macros. You can also add `"defineOptions"` and `"defineSlots"`.
30+
- `defineExposeLast` (`boolean`) ... Force `defineExpose` at the end.
2931

3032
### `{ "order": ["defineProps", "defineEmits"] }` (default)
3133

@@ -111,6 +113,35 @@ const slots = defineSlots()
111113

112114
</eslint-code-block>
113115

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+
114145
## :rocket: Version
115146

116147
This rule was introduced in eslint-plugin-vue v8.7.0

0 commit comments

Comments
 (0)