From eb76cd3fd5872c9d8b0450dc683b20ba59e1e856 Mon Sep 17 00:00:00 2001 From: yosuke ota Date: Fri, 2 Jul 2021 19:38:19 +0900 Subject: [PATCH 1/2] Update `vue/no-async-in-computed-properties` rule to support ` + `, + parser, + parserOptions, + errors: [ + { + message: + 'Unexpected async function declaration in computed function.', + line: 4 + }, + { + message: 'Unexpected await operator in computed function.', + line: 5 + }, + { + message: + 'Unexpected async function declaration in computed function.', + line: 7 + }, + { + message: 'Unexpected await operator in computed function.', + line: 7 + }, + { + message: + 'Unexpected async function declaration in computed function.', + line: 8 + }, + { + message: 'Unexpected await operator in computed function.', + line: 9 + } + ] + }, + { + filename: 'test.vue', + code: ` + + `, + parser, + parserOptions, + errors: [ + { + message: + 'Unexpected async function declaration in computed function.', + line: 4 + }, + { + message: 'Unexpected Promise object in computed function.', + line: 5 + } + ] + }, + { + filename: 'test.vue', + code: ` + + `, + parser, + parserOptions, + errors: [ + { + message: 'Unexpected asynchronous action in computed function.', + line: 5 + }, + { + message: 'Unexpected asynchronous action in computed function.', + line: 8 + } + ] + }, + { + filename: 'test.vue', + code: ` + + `, + parser, + parserOptions, + errors: [ + { + message: 'Unexpected asynchronous action in computed function.', + line: 6 + }, + { + message: 'Unexpected asynchronous action in computed function.', + line: 11 + } + ] + }, + { + filename: 'test.vue', + code: ` + + `, + parser, + parserOptions, + errors: [ + { + message: 'Unexpected timed function in computed function.', + line: 5 + }, + { + message: 'Unexpected timed function in computed function.', + line: 6 + }, + { + message: 'Unexpected timed function in computed function.', + line: 7 + }, + { + message: 'Unexpected timed function in computed function.', + line: 8 + }, + { + message: 'Unexpected timed function in computed function.', + line: 9 + }, + { + message: 'Unexpected timed function in computed function.', + line: 10 + }, + { + message: 'Unexpected timed function in computed function.', + line: 11 + }, + { + message: 'Unexpected timed function in computed function.', + line: 12 + } + ] + }, + { + filename: 'test.vue', + code: ` + + `, + parser, + parserOptions, + errors: [ + { + message: + 'Unexpected async function declaration in computed function.', + line: 4 + } + ] } ] }) From fd249214c1261140168fc6fa657c395a9421d4c9 Mon Sep 17 00:00:00 2001 From: yosuke ota Date: Fri, 2 Jul 2021 20:13:01 +0900 Subject: [PATCH 2/2] update --- lib/rules/no-async-in-computed-properties.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/rules/no-async-in-computed-properties.js b/lib/rules/no-async-in-computed-properties.js index fece265d6..b405c0475 100644 --- a/lib/rules/no-async-in-computed-properties.js +++ b/lib/rules/no-async-in-computed-properties.js @@ -254,13 +254,14 @@ module.exports = { } } }, - utils.defineScriptSetupVisitor(context, nodeVisitor), - utils.defineVueVisitor(context, { - onVueObjectEnter(node) { - computedPropertiesMap.set(node, utils.getComputedProperties(node)) - }, - ...nodeVisitor - }) + utils.isScriptSetup(context) + ? utils.defineScriptSetupVisitor(context, nodeVisitor) + : utils.defineVueVisitor(context, { + onVueObjectEnter(node) { + computedPropertiesMap.set(node, utils.getComputedProperties(node)) + }, + ...nodeVisitor + }) ) } }