From 951af24980fbfa2a2867c3d302ececed0583b267 Mon Sep 17 00:00:00 2001 From: yosuke ota Date: Sun, 4 Jul 2021 09:23:25 +0900 Subject: [PATCH 1/2] Update `vue/no-boolean-default` rule to support ` + `, + parser: require.resolve('vue-eslint-parser') + }, + { + filename: 'test.vue', + code: ` + + `, + parser: require.resolve('vue-eslint-parser'), + options: ['default-false'] + }, + { + filename: 'test.vue', + code: ` + + `, + parser: require.resolve('vue-eslint-parser'), + parserOptions: { + parser: require.resolve('@typescript-eslint/parser') + } + }, + { + filename: 'test.vue', + code: ` + + `, + parser: require.resolve('vue-eslint-parser'), + parserOptions: { + parser: require.resolve('@typescript-eslint/parser') + }, + options: ['default-false'] + }, + { + filename: 'test.vue', + code: ` + + `, + parser: require.resolve('vue-eslint-parser'), + parserOptions: { + parser: require.resolve('@typescript-eslint/parser') + } + }, + { + filename: 'test.vue', + code: ` + + `, + parser: require.resolve('vue-eslint-parser'), + parserOptions: { + parser: require.resolve('@typescript-eslint/parser') + } } ], @@ -314,6 +410,96 @@ ruleTester.run('no-boolean-default', rule, { line: 6 } ] + }, + { + filename: 'test.vue', + code: ` + + `, + parser: require.resolve('vue-eslint-parser'), + errors: [ + { + message: + 'Boolean prop should not set a default (Vue defaults it to false).', + line: 6 + } + ] + }, + { + filename: 'test.vue', + code: ` + + `, + parser: require.resolve('vue-eslint-parser'), + options: ['default-false'], + errors: [ + { + message: 'Boolean prop should only be defaulted to false.', + line: 6 + } + ] + }, + { + filename: 'test.vue', + code: ` + + `, + parser: require.resolve('vue-eslint-parser'), + parserOptions: { + parser: require.resolve('@typescript-eslint/parser') + }, + errors: [ + { + message: + 'Boolean prop should not set a default (Vue defaults it to false).', + line: 7 + } + ] + }, + { + filename: 'test.vue', + code: ` + + `, + parser: require.resolve('vue-eslint-parser'), + parserOptions: { + parser: require.resolve('@typescript-eslint/parser') + }, + options: ['default-false'], + errors: [ + { + message: 'Boolean prop should only be defaulted to false.', + line: 7 + } + ] } ] }) From 62e73ac1d6403fd6c3f8446e360320941c369315 Mon Sep 17 00:00:00 2001 From: yosuke ota Date: Sun, 4 Jul 2021 09:49:42 +0900 Subject: [PATCH 2/2] Fix test --- tests/lib/rules/no-boolean-default.js | 68 +++++++++++++++------------ 1 file changed, 38 insertions(+), 30 deletions(-) diff --git a/tests/lib/rules/no-boolean-default.js b/tests/lib/rules/no-boolean-default.js index 7035f9450..ef1af7925 100644 --- a/tests/lib/rules/no-boolean-default.js +++ b/tests/lib/rules/no-boolean-default.js @@ -8,6 +8,7 @@ // Requirements // ------------------------------------------------------------------------------ +const semver = require('semver') const rule = require('../../../lib/rules/no-boolean-default') const RuleTester = require('eslint').RuleTester @@ -453,9 +454,15 @@ ruleTester.run('no-boolean-default', rule, { } ] }, - { - filename: 'test.vue', - code: ` + ...(semver.lt( + require('@typescript-eslint/parser/package.json').version, + '4.0.0' + ) + ? [] + : [ + { + filename: 'test.vue', + code: ` `, - parser: require.resolve('vue-eslint-parser'), - parserOptions: { - parser: require.resolve('@typescript-eslint/parser') - }, - errors: [ - { - message: - 'Boolean prop should not set a default (Vue defaults it to false).', - line: 7 - } - ] - }, - { - filename: 'test.vue', - code: ` + parser: require.resolve('vue-eslint-parser'), + parserOptions: { + parser: require.resolve('@typescript-eslint/parser') + }, + errors: [ + { + message: + 'Boolean prop should not set a default (Vue defaults it to false).', + line: 7 + } + ] + }, + { + filename: 'test.vue', + code: ` `, - parser: require.resolve('vue-eslint-parser'), - parserOptions: { - parser: require.resolve('@typescript-eslint/parser') - }, - options: ['default-false'], - errors: [ - { - message: 'Boolean prop should only be defaulted to false.', - line: 7 - } - ] - } + parser: require.resolve('vue-eslint-parser'), + parserOptions: { + parser: require.resolve('@typescript-eslint/parser') + }, + options: ['default-false'], + errors: [ + { + message: 'Boolean prop should only be defaulted to false.', + line: 7 + } + ] + } + ]) ] })