vuejs / eslint-plugin-vue

Official ESLint plugin for Vue.js
https://eslint.vuejs.org/
MIT License
4.45k stars 666 forks source link

New option for `next-tick-style` #2485

Open fisker opened 3 months ago

fisker commented 3 months ago

What rule do you want to change?

next-tick-style

Does this change cause the rule to produce more or fewer warnings?

No.

How will the change be implemented? (New option, new default behavior, etc.)?

If inside async function, provide autofix, otherwise no fix.

Please provide some example code that this change will affect:

<script setup>
const foo = () => {
    nextTick(() => {
      // ...
    })
}
</script>

What does the rule currently do for this code?

Fixes my code to nextTick().then(...)

What will the rule do after it's changed?

Enforce await nextTick()

Additional context

I want the promise style use of nextTick(), but I don't want it fix to nextTick().then, I want await nextTick().

FloEdelmann commented 3 months ago

You could use eslint-plugin-promise's prefer-await-to-then rule.

However, improving the autofix to use await nextTick() inside functions that are already async seems like a good idea to me. PR welcome for that!

codiini commented 2 months ago

@FloEdelmann I'd like to pick this up

FloEdelmann commented 2 months ago

Sure, go ahead :slightly_smiling_face:

codiini commented 2 months ago

@FloEdelmann I've submitted a PR  😄