From 2f55173dd60c805e07aac823c7bd774d6c263db2 Mon Sep 17 00:00:00 2001 From: Maksim Nazarjev Date: Fri, 2 Sep 2022 13:23:59 +0300 Subject: [PATCH] fix(order-in-components): allow autofix with TypeScript PropType (#1955) --- lib/rules/order-in-components.js | 4 ++- tests/lib/rules/order-in-components.js | 35 ++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/lib/rules/order-in-components.js b/lib/rules/order-in-components.js index 1e0b517f8..1ecc49254 100644 --- a/lib/rules/order-in-components.js +++ b/lib/rules/order-in-components.js @@ -171,7 +171,9 @@ function isNotSideEffectsNode(node, visitorKeys) { node.type === 'Literal' || // es2015 node.type === 'ArrowFunctionExpression' || - node.type === 'TemplateElement' + node.type === 'TemplateElement' || + // typescript + node.type === 'TSAsExpression' ) { skipNode = node } else if ( diff --git a/tests/lib/rules/order-in-components.js b/tests/lib/rules/order-in-components.js index 76d510964..873df3b0f 100644 --- a/tests/lib/rules/order-in-components.js +++ b/tests/lib/rules/order-in-components.js @@ -908,6 +908,41 @@ ruleTester.run('order-in-components', rule, { line: 15 } ] + }, + { + filename: 'example.vue', + code: ` + + `, + parser: require.resolve('vue-eslint-parser'), + parserOptions: { + ...parserOptions, + parser: { ts: require.resolve('@typescript-eslint/parser') } + }, + output: ` + + `, + errors: [ + { + message: + 'The "props" property should be above the "setup" property on line 4.', + line: 5 + } + ] } ] })