Skip to content

Commit abdd93d

Browse files
authored
fix (vue/define-macros-order): hoist secondary expressions correctly (#2071)
1 parent 2c3d623 commit abdd93d

File tree

2 files changed

+67
-1
lines changed

2 files changed

+67
-1
lines changed

lib/rules/define-macros-order.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ function create(context) {
137137

138138
// need move only second
139139
if (secondStatement !== shouldSecondNode) {
140-
reportNotOnTop(order[1], shouldSecondNode, shouldFirstNode)
140+
reportNotOnTop(order[1], shouldSecondNode, secondStatement)
141141
}
142142

143143
return

tests/lib/rules/define-macros-order.js

+66
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,26 @@ tester.run('define-macros-order', rule, {
128128
parserOptions: {
129129
parser: require.resolve('@typescript-eslint/parser')
130130
}
131+
},
132+
{
133+
filename: 'test.vue',
134+
code: `
135+
<script setup>
136+
'use strict';
137+
defineProps({
138+
test: Boolean
139+
})
140+
defineEmits(['update:test'])
141+
</script>
142+
`,
143+
options: optionsPropsFirst
144+
},
145+
{
146+
filename: 'test.vue',
147+
code: `
148+
<script setup>
149+
</script>
150+
`
131151
}
132152
],
133153
invalid: [
@@ -454,6 +474,52 @@ tester.run('define-macros-order', rule, {
454474
line: 2
455475
}
456476
]
477+
},
478+
{
479+
filename: 'test.vue',
480+
code: `
481+
<script setup>
482+
console.log('test1')
483+
defineProps({ test: Boolean })
484+
</script>
485+
`,
486+
output: `
487+
<script setup>
488+
defineProps({ test: Boolean })
489+
console.log('test1')
490+
</script>
491+
`,
492+
options: optionsEmitsFirst,
493+
errors: [
494+
{
495+
message: message('defineProps'),
496+
line: 4
497+
}
498+
]
499+
},
500+
{
501+
filename: 'test.vue',
502+
code: `
503+
<script setup>
504+
defineEmits(['update:test'])
505+
console.log('test1')
506+
defineProps({ test: Boolean })
507+
</script>
508+
`,
509+
output: `
510+
<script setup>
511+
defineEmits(['update:test'])
512+
defineProps({ test: Boolean })
513+
console.log('test1')
514+
</script>
515+
`,
516+
options: optionsEmitsFirst,
517+
errors: [
518+
{
519+
message: message('defineProps'),
520+
line: 5
521+
}
522+
]
457523
}
458524
]
459525
})

0 commit comments

Comments
 (0)