diff --git a/lib/rules/valid-next-tick.js b/lib/rules/valid-next-tick.js index ed5137f8c..eba820041 100644 --- a/lib/rules/valid-next-tick.js +++ b/lib/rules/valid-next-tick.js @@ -142,7 +142,12 @@ module.exports = { return } - const parentNode = nextTickNode.parent + let parentNode = nextTickNode.parent + + // skip conditional expressions like `foo ? nextTick : bar` + if (parentNode.type === 'ConditionalExpression') { + parentNode = parentNode.parent + } if ( parentNode.type === 'CallExpression' && diff --git a/tests/lib/rules/valid-next-tick.js b/tests/lib/rules/valid-next-tick.js index a2ac636fb..c6e263eeb 100644 --- a/tests/lib/rules/valid-next-tick.js +++ b/tests/lib/rules/valid-next-tick.js @@ -129,6 +129,19 @@ tester.run('valid-next-tick', rule, { }, } }` + }, + + // https://github.com/vuejs/eslint-plugin-vue/issues/1776 + { + filename: 'test.vue', + code: `` } ], invalid: [