Skip to content

Commit 902d352

Browse files
committed
Add check for watchEffect.
1 parent ac342f7 commit 902d352

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed

lib/rules/no-watch-after-await.js

+3
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@ module.exports = {
4545
[ReferenceTracker.ESM]: true,
4646
watch: {
4747
[ReferenceTracker.CALL]: true
48+
},
49+
watchEffect: {
50+
[ReferenceTracker.CALL]: true
4851
}
4952
}
5053
}

tests/lib/rules/no-watch-after-await.js

+41
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,21 @@ tester.run('no-watch-after-await', rule, {
4141
</script>
4242
`
4343
},
44+
{
45+
filename: 'test.vue',
46+
code: `
47+
<script>
48+
import {watch, watchEffect} from 'vue'
49+
export default {
50+
async setup() {
51+
watchEffect(() => { /* ... */ })
52+
watch(() => { /* ... */ })
53+
await doSomething()
54+
}
55+
}
56+
</script>
57+
`
58+
},
4459
{
4560
filename: 'test.vue',
4661
code: `
@@ -82,6 +97,32 @@ tester.run('no-watch-after-await', rule, {
8297
}
8398
]
8499
},
100+
{
101+
filename: 'test.vue',
102+
code: `
103+
<script>
104+
import {watch, watchEffect} from 'vue'
105+
export default {
106+
async setup() {
107+
await doSomething()
108+
109+
watchEffect(() => { /* ... */ })
110+
watch(() => { /* ... */ })
111+
}
112+
}
113+
</script>
114+
`,
115+
errors: [
116+
{
117+
messageId: 'forbidden',
118+
line: 8
119+
},
120+
{
121+
messageId: 'forbidden',
122+
line: 9
123+
}
124+
]
125+
},
85126
{
86127
filename: 'test.vue',
87128
code: `

0 commit comments

Comments
 (0)