diff --git a/lib/rules/padding-lines-in-component-definition.js b/lib/rules/padding-lines-in-component-definition.js index 3f63050b4..b2f1a54dc 100644 --- a/lib/rules/padding-lines-in-component-definition.js +++ b/lib/rules/padding-lines-in-component-definition.js @@ -352,6 +352,16 @@ module.exports = { parseOption(emitsOption, OptionKeys.BetweenItems), parseOption(emitsOption, OptionKeys.WithinEach) ) + }, + onDefineOptionsEnter(node) { + if (node.arguments.length === 0) return + const define = node.arguments[0] + if (define.type !== 'ObjectExpression') return + verify( + define.properties, + parseOption(options, OptionKeys.BetweenOptions), + parseOption(options, OptionKeys.WithinOption) + ) } }) ) diff --git a/tests/lib/rules/padding-lines-in-component-definition.js b/tests/lib/rules/padding-lines-in-component-definition.js index a4ed4d3c3..586476546 100644 --- a/tests/lib/rules/padding-lines-in-component-definition.js +++ b/tests/lib/rules/padding-lines-in-component-definition.js @@ -385,6 +385,19 @@ tester.run('padding-lines-in-component-definition', rule, { `, options: ['always'] + }, + { + filename: 'MyComment.vue', + code: ` + + `, + options: [{ betweenOptions: 'always', groupSingleLineProperties: false }] } ], invalid: [ @@ -1235,6 +1248,33 @@ tester.run('padding-lines-in-component-definition', rule, { line: 16 } ] + }, + { + filename: 'MyComment.vue', + code: ` + + `, + output: ` + + `, + options: [{ betweenOptions: 'always', groupSingleLineProperties: false }], + errors: [ + { + message: 'Expected blank line before this definition.', + line: 5 + } + ] } ] })