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' } } ],