From c15e0edfb9e5fb995e5d3a655b620bd7521260cf Mon Sep 17 00:00:00 2001 From: yosuke ota Date: Sat, 3 Jul 2021 18:49:19 +0900 Subject: [PATCH 1/2] Update `vue/require-default-prop` rule to support ` + `, + parser: require.resolve('vue-eslint-parser'), + parserOptions + }, + { + filename: 'test.vue', + code: ` + + `, + parser: require.resolve('vue-eslint-parser'), + parserOptions + }, + { + filename: 'test.vue', + code: ` + + `, + parser: require.resolve('vue-eslint-parser'), + parserOptions: { + ...parserOptions, + parser: require.resolve('@typescript-eslint/parser') + } + }, + { + filename: 'test.vue', + code: ` + + `, + parser: require.resolve('vue-eslint-parser'), + parserOptions: { + ...parserOptions, + parser: require.resolve('@typescript-eslint/parser') + } + }, + { + filename: 'test.vue', + code: ` + + `, + parser: require.resolve('vue-eslint-parser'), + parserOptions: { + ...parserOptions, + parser: require.resolve('@typescript-eslint/parser') + } } ], @@ -387,6 +472,46 @@ ruleTester.run('require-default-prop', rule, { "Prop 'baz' requires default value to be set.", "Prop 'bar1' requires default value to be set." ] + }, + { + filename: 'test.vue', + code: ` + + `, + parser: require.resolve('vue-eslint-parser'), + parserOptions, + errors: [ + { + message: "Prop 'foo' requires default value to be set.", + line: 4 + } + ] + }, + { + filename: 'test.vue', + code: ` + + `, + parser: require.resolve('vue-eslint-parser'), + parserOptions: { + ...parserOptions, + parser: require.resolve('@typescript-eslint/parser') + }, + errors: [ + { + message: "Prop 'foo' requires default value to be set.", + line: 4 + } + ] } ] }) From 3d8295bae9dc628434a5e3ccffea048b4e4455c7 Mon Sep 17 00:00:00 2001 From: yosuke ota Date: Sat, 3 Jul 2021 19:15:37 +0900 Subject: [PATCH 2/2] fix test on node v8 --- tests/lib/rules/require-default-prop.js | 52 ++++++++++++++----------- 1 file changed, 30 insertions(+), 22 deletions(-) diff --git a/tests/lib/rules/require-default-prop.js b/tests/lib/rules/require-default-prop.js index 3144a6e76..d93c5e5da 100644 --- a/tests/lib/rules/require-default-prop.js +++ b/tests/lib/rules/require-default-prop.js @@ -8,6 +8,7 @@ // Requirements // ------------------------------------------------------------------------------ +const semver = require('semver') const rule = require('../../../lib/rules/require-default-prop') const RuleTester = require('eslint').RuleTester const parserOptions = { @@ -491,27 +492,34 @@ ruleTester.run('require-default-prop', rule, { } ] }, - { - filename: 'test.vue', - code: ` - - `, - parser: require.resolve('vue-eslint-parser'), - parserOptions: { - ...parserOptions, - parser: require.resolve('@typescript-eslint/parser') - }, - errors: [ - { - message: "Prop 'foo' requires default value to be set.", - line: 4 - } - ] - } + ...(semver.lt( + require('@typescript-eslint/parser/package.json').version, + '4.0.0' + ) + ? [] + : [ + { + filename: 'test.vue', + code: ` + + `, + parser: require.resolve('vue-eslint-parser'), + parserOptions: { + ...parserOptions, + parser: require.resolve('@typescript-eslint/parser') + }, + errors: [ + { + message: "Prop 'foo' requires default value to be set.", + line: 4 + } + ] + } + ]) ] })