From 5c3138499f6f2d76cfc9be324523c725f3114d32 Mon Sep 17 00:00:00 2001 From: yosuke ota Date: Sat, 3 Jul 2021 22:03:55 +0900 Subject: [PATCH 1/2] Update `vue/require-prop-types` rule to support ` `, options: [{ allowProps: true }] + }, + + // + ` + }, + { + filename: 'test.vue', + code: ` + + + ` + }, + { + filename: 'test.vue', + code: ` + + + `, + parserOptions: { parser: require.resolve('@typescript-eslint/parser') } + }, + { + filename: 'test.vue', + code: ` + + + `, + parserOptions: { parser: require.resolve('@typescript-eslint/parser') } + }, + { + filename: 'test.vue', + code: ` + + + `, + parserOptions: { parser: require.resolve('@typescript-eslint/parser') } } ], invalid: [ @@ -1607,6 +1670,127 @@ emits: {'foo': null} messageId: 'missing' } ] + }, + + // + `, + errors: [ + { + message: + 'The "bar" event has been triggered but not declared on `defineEmits`.', + line: 3, + suggestions: [ + { + desc: 'Add the "bar" to `defineEmits`.', + output: ` + + + ` + } + ] + } + ] + }, + { + filename: 'test.vue', + code: ` + + + `, + errors: [ + { + message: + 'The "bar" event has been triggered but not declared on `defineEmits`.', + line: 3, + suggestions: [ + { + desc: 'Add the "bar" to `defineEmits`.', + output: ` + + + ` + } + ] + } + ] + }, + { + filename: 'test.vue', + code: ` + + + `, + parserOptions: { parser: require.resolve('@typescript-eslint/parser') }, + errors: [ + { + message: + 'The "bar" event has been triggered but not declared on `defineEmits`.', + line: 3 + } + ] + }, + { + filename: 'test.vue', + code: ` + + + `, + parserOptions: { parser: require.resolve('@typescript-eslint/parser') }, + errors: [ + { + message: + 'The "bar" event has been triggered but not declared on `defineEmits`.', + line: 3 + } + ] + }, + { + filename: 'test.vue', + code: ` + + + `, + errors: [ + { + message: + 'The "foo" event has been triggered but not declared on `defineEmits`.', + line: 3 + } + ] } ] }) From 1a63f8da98375d1adf9bfefe36b0156928dd7017 Mon Sep 17 00:00:00 2001 From: yosuke ota Date: Sat, 3 Jul 2021 22:50:50 +0900 Subject: [PATCH 2/2] add test --- tests/lib/rules/require-explicit-emits.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tests/lib/rules/require-explicit-emits.js b/tests/lib/rules/require-explicit-emits.js index a1682028b..1ea1758d2 100644 --- a/tests/lib/rules/require-explicit-emits.js +++ b/tests/lib/rules/require-explicit-emits.js @@ -1791,6 +1791,24 @@ emits: {'foo': null} line: 3 } ] + }, + { + filename: 'test.vue', + code: ` + + `, + parserOptions: { parser: require.resolve('@typescript-eslint/parser') }, + errors: [ + { + message: + 'The "bar" event has been triggered but not declared on `defineEmits`.', + line: 5 + } + ] } ] })