@@ -27,7 +27,7 @@ This rule reports the `defineProps` and `defineEmits` compiler macros when they
27
27
}
28
28
```
29
29
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 " ` .
31
31
- ` defineExposeLast ` (` boolean ` ) ... Force ` defineExpose ` at the end.
32
32
33
33
### ` { "order": ["defineProps", "defineEmits"] } ` (default)
@@ -69,14 +69,15 @@ defineEmits(/* ... */)
69
69
70
70
</eslint-code-block >
71
71
72
- ### ` { "order": ["defineOptions", "defineProps", "defineEmits", "defineSlots"] } `
72
+ ### ` { "order": ["defineOptions", "defineModel", " defineProps", "defineEmits", "defineSlots"] } `
73
73
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']}]} " >
75
75
76
76
``` vue
77
77
<!-- ✓ GOOD -->
78
78
<script setup>
79
79
defineOptions({/* ... */})
80
+ const model = defineModel()
80
81
defineProps(/* ... */)
81
82
defineEmits(/* ... */)
82
83
const slots = defineSlots()
@@ -85,7 +86,7 @@ const slots = defineSlots()
85
86
86
87
</eslint-code-block >
87
88
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']}]} " >
89
90
90
91
``` vue
91
92
<!-- ✗ BAD -->
@@ -94,18 +95,20 @@ defineEmits(/* ... */)
94
95
const slots = defineSlots()
95
96
defineProps(/* ... */)
96
97
defineOptions({/* ... */})
98
+ const model = defineModel()
97
99
</script>
98
100
```
99
101
100
102
</eslint-code-block >
101
103
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']}]} " >
103
105
104
106
``` vue
105
107
<!-- ✗ BAD -->
106
108
<script setup>
107
109
const bar = ref()
108
110
defineOptions({/* ... */})
111
+ const model = defineModel()
109
112
defineProps(/* ... */)
110
113
defineEmits(/* ... */)
111
114
const slots = defineSlots()
0 commit comments