@@ -27,7 +27,7 @@ This rule reports the `defineProps` and `defineEmits` compiler macros when they
2727}
2828```
2929
30- - ` order ` (` string[] ` ) ... The order of defineEmits and defineProps macros. You can also add ` "defineOptions" ` and ` "defineSlots " ` .
30+ - ` order ` (` string[] ` ) ... The order of defineEmits and defineProps macros. You can also add ` "defineOptions" ` , ` "defineSlots" ` , and ` "defineModel " ` .
3131- ` defineExposeLast ` (` boolean ` ) ... Force ` defineExpose ` at the end.
3232
3333### ` { "order": ["defineProps", "defineEmits"] } ` (default)
@@ -69,14 +69,15 @@ defineEmits(/* ... */)
6969
7070</eslint-code-block >
7171
72- ### ` { "order": ["defineOptions", "defineProps", "defineEmits", "defineSlots"] } `
72+ ### ` { "order": ["defineOptions", "defineModel", " defineProps", "defineEmits", "defineSlots"] } `
7373
74- <eslint-code-block fix :rules =" {'vue/define-macros-order': ['error', {order: ['defineOptions', 'defineProps', 'defineEmits', 'defineSlots']}]} " >
74+ <eslint-code-block fix :rules =" {'vue/define-macros-order': ['error', {order: ['defineOptions', 'defineModel', ' defineProps', 'defineEmits', 'defineSlots']}]} " >
7575
7676``` vue
7777<!-- ✓ GOOD -->
7878<script setup>
7979defineOptions({/* ... */})
80+ const model = defineModel()
8081defineProps(/* ... */)
8182defineEmits(/* ... */)
8283const slots = defineSlots()
@@ -85,7 +86,7 @@ const slots = defineSlots()
8586
8687</eslint-code-block >
8788
88- <eslint-code-block fix :rules =" {'vue/define-macros-order': ['error', {order: ['defineOptions', 'defineProps', 'defineEmits', 'defineSlots']}]} " >
89+ <eslint-code-block fix :rules =" {'vue/define-macros-order': ['error', {order: ['defineOptions', 'defineModel', ' defineProps', 'defineEmits', 'defineSlots']}]} " >
8990
9091``` vue
9192<!-- ✗ BAD -->
@@ -94,18 +95,20 @@ defineEmits(/* ... */)
9495const slots = defineSlots()
9596defineProps(/* ... */)
9697defineOptions({/* ... */})
98+ const model = defineModel()
9799</script>
98100```
99101
100102</eslint-code-block >
101103
102- <eslint-code-block fix :rules =" {'vue/define-macros-order': ['error', {order: ['defineOptions', 'defineProps', 'defineEmits', 'defineSlots']}]} " >
104+ <eslint-code-block fix :rules =" {'vue/define-macros-order': ['error', {order: ['defineOptions', 'defineModel', ' defineProps', 'defineEmits', 'defineSlots']}]} " >
103105
104106``` vue
105107<!-- ✗ BAD -->
106108<script setup>
107109const bar = ref()
108110defineOptions({/* ... */})
111+ const model = defineModel()
109112defineProps(/* ... */)
110113defineEmits(/* ... */)
111114const slots = defineSlots()
0 commit comments