Skip to content

Commit 6b3736b

Browse files
authored
Add support for defineOptions to vue/padding-lines-in-component-definition rule (#2164)
1 parent 28db555 commit 6b3736b

File tree

2 files changed

+50
-0
lines changed

2 files changed

+50
-0
lines changed

Diff for: lib/rules/padding-lines-in-component-definition.js

+10
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,16 @@ module.exports = {
352352
parseOption(emitsOption, OptionKeys.BetweenItems),
353353
parseOption(emitsOption, OptionKeys.WithinEach)
354354
)
355+
},
356+
onDefineOptionsEnter(node) {
357+
if (node.arguments.length === 0) return
358+
const define = node.arguments[0]
359+
if (define.type !== 'ObjectExpression') return
360+
verify(
361+
define.properties,
362+
parseOption(options, OptionKeys.BetweenOptions),
363+
parseOption(options, OptionKeys.WithinOption)
364+
)
355365
}
356366
})
357367
)

Diff for: tests/lib/rules/padding-lines-in-component-definition.js

+40
Original file line numberDiff line numberDiff line change
@@ -385,6 +385,19 @@ tester.run('padding-lines-in-component-definition', rule, {
385385
</script>
386386
`,
387387
options: ['always']
388+
},
389+
{
390+
filename: 'MyComment.vue',
391+
code: `
392+
<script setup>
393+
defineOptions({
394+
name: 'MyComment',
395+
396+
inheritAttrs: false,
397+
})
398+
</script>
399+
`,
400+
options: [{ betweenOptions: 'always', groupSingleLineProperties: false }]
388401
}
389402
],
390403
invalid: [
@@ -1235,6 +1248,33 @@ tester.run('padding-lines-in-component-definition', rule, {
12351248
line: 16
12361249
}
12371250
]
1251+
},
1252+
{
1253+
filename: 'MyComment.vue',
1254+
code: `
1255+
<script setup>
1256+
defineOptions({
1257+
name: 'MyComment',
1258+
inheritAttrs: false,
1259+
})
1260+
</script>
1261+
`,
1262+
output: `
1263+
<script setup>
1264+
defineOptions({
1265+
name: 'MyComment',
1266+
1267+
inheritAttrs: false,
1268+
})
1269+
</script>
1270+
`,
1271+
options: [{ betweenOptions: 'always', groupSingleLineProperties: false }],
1272+
errors: [
1273+
{
1274+
message: 'Expected blank line before this definition.',
1275+
line: 5
1276+
}
1277+
]
12381278
}
12391279
]
12401280
})

0 commit comments

Comments
 (0)