From c468bc12bebd9e325a01d90a0411207f0ec95e3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Sajn=C3=B3g?= Date: Tue, 2 Jan 2018 00:27:46 +0100 Subject: [PATCH] Report missing prop types only for assigned arrays and objects --- lib/rules/require-prop-types.js | 4 +++- tests/lib/rules/require-prop-types.js | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/lib/rules/require-prop-types.js b/lib/rules/require-prop-types.js index e767481fd..213bfdfe1 100644 --- a/lib/rules/require-prop-types.js +++ b/lib/rules/require-prop-types.js @@ -64,7 +64,9 @@ function create (context) { if (node.value.type === 'ObjectExpression') { checkProperties(node.value.properties) - } else { + } + + if (node.value.type === 'ArrayExpression') { context.report({ node, message: 'Props should at least define their types.' diff --git a/tests/lib/rules/require-prop-types.js b/tests/lib/rules/require-prop-types.js index 1c6944e0d..5f9342e7a 100644 --- a/tests/lib/rules/require-prop-types.js +++ b/tests/lib/rules/require-prop-types.js @@ -69,6 +69,24 @@ ruleTester.run('require-prop-types', rule, { } `, parserOptions: { ecmaVersion: 6, sourceType: 'module' } + }, + { + filename: 'test.vue', + code: ` + export default { + props + } + `, + parserOptions: { ecmaVersion: 6, sourceType: 'module' } + }, + { + filename: 'test.vue', + code: ` + export default { + props: externalProps + } + `, + parserOptions: { ecmaVersion: 6, sourceType: 'module' } } ],