diff --git a/lib/rules/require-default-prop.js b/lib/rules/require-default-prop.js index 0cf546982..dd29e8d43 100644 --- a/lib/rules/require-default-prop.js +++ b/lib/rules/require-default-prop.js @@ -43,13 +43,13 @@ module.exports = { } /** - * Checks if the passed prop has a defualt value + * Checks if the passed prop has a default value * @param {Property} prop - Property AST node for a single prop * @return {boolean} */ function propHasDefault (prop) { const propDefaultNode = prop.value.properties - .find(p => p.key.name === 'default') + .find(p => p.key && p.key.name === 'default') return Boolean(propDefaultNode) } diff --git a/tests/lib/rules/require-default-prop.js b/tests/lib/rules/require-default-prop.js index 153e80e1b..5aa7d71aa 100644 --- a/tests/lib/rules/require-default-prop.js +++ b/tests/lib/rules/require-default-prop.js @@ -68,6 +68,34 @@ ruleTester.run('require-default-prop', rule, { } `, parserOptions + }, + { + filename: 'test.vue', + code: ` + const x = { + type: Object, + default() { + return { + foo: 1, + bar: 2 + } + } + } + export default { + props: { + a: { + ...x, + default() { + return { + ...x.default(), + baz: 3 + } + } + } + } + } + `, + parserOptions } ],