Skip to content

Commit 2188af9

Browse files
committed
provide suggestions instead of auto fix
1 parent ca41132 commit 2188af9

File tree

2 files changed

+40
-12
lines changed

2 files changed

+40
-12
lines changed

lib/rules/prefer-true-attribute-shorthand.js

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,11 @@ module.exports = {
3131
"Boolean prop with 'true' value should be written in shorthand form.",
3232
expectLong:
3333
"Boolean prop with 'true' value should be written in long form.",
34-
suggestion: 'Rewrite this prop into shorthand form.'
34+
rewriteIntoShort: 'Rewrite this prop into shorthand form.',
35+
rewriteIntoLongVueProp:
36+
'Rewrite this prop into long-form Vue component prop.',
37+
rewriteIntoLongHtmlAttr:
38+
'Rewrite this prop into long-form HTML attribute.'
3539
}
3640
},
3741
/** @param {RuleContext} context */
@@ -49,8 +53,21 @@ module.exports = {
4953
context.report({
5054
node,
5155
messageId: 'expectLong',
52-
fix: (fixer) =>
53-
fixer.replaceText(node, `:${node.key.rawName}="true"`)
56+
suggest: [
57+
{
58+
messageId: 'rewriteIntoLongVueProp',
59+
fix: (fixer) =>
60+
fixer.replaceText(node, `:${node.key.rawName}="true"`)
61+
},
62+
{
63+
messageId: 'rewriteIntoLongHtmlAttr',
64+
fix: (fixer) =>
65+
fixer.replaceText(
66+
node,
67+
`${node.key.rawName}="${node.key.rawName}"`
68+
)
69+
}
70+
]
5471
})
5572
return
5673
}
@@ -79,7 +96,7 @@ module.exports = {
7996
messageId: 'expectShort',
8097
suggest: [
8198
{
82-
messageId: 'suggestion',
99+
messageId: 'rewriteIntoShort',
83100
fix: (fixer) => {
84101
const sourceCode = context.getSourceCode()
85102
return fixer.replaceText(node, sourceCode.getText(argument))

tests/lib/rules/prefer-true-attribute-shorthand.js

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ tester.run('prefer-true-attribute-shorthand', rule, {
164164
column: 17,
165165
suggestions: [
166166
{
167-
messageId: 'suggestion',
167+
messageId: 'rewriteIntoShort',
168168
output: `
169169
<template>
170170
<MyComp show />
@@ -188,7 +188,7 @@ tester.run('prefer-true-attribute-shorthand', rule, {
188188
column: 17,
189189
suggestions: [
190190
{
191-
messageId: 'suggestion',
191+
messageId: 'rewriteIntoShort',
192192
output: `
193193
<template>
194194
<MyComp show />
@@ -213,7 +213,7 @@ tester.run('prefer-true-attribute-shorthand', rule, {
213213
column: 17,
214214
suggestions: [
215215
{
216-
messageId: 'suggestion',
216+
messageId: 'rewriteIntoShort',
217217
output: `
218218
<template>
219219
<MyComp show />
@@ -238,7 +238,7 @@ tester.run('prefer-true-attribute-shorthand', rule, {
238238
column: 17,
239239
suggestions: [
240240
{
241-
messageId: 'suggestion',
241+
messageId: 'rewriteIntoShort',
242242
output: `
243243
<template>
244244
<MyComp show />
@@ -260,13 +260,24 @@ tester.run('prefer-true-attribute-shorthand', rule, {
260260
{
261261
messageId: 'expectLong',
262262
line: 3,
263-
column: 17
264-
}
265-
],
266-
output: `
263+
column: 17,
264+
suggestions: [
265+
{
266+
output: `
267267
<template>
268268
<MyComp :show="true" />
269269
</template>`
270+
},
271+
{
272+
output: `
273+
<template>
274+
<MyComp show="show" />
275+
</template>`
276+
}
277+
]
278+
}
279+
],
280+
output: null
270281
}
271282
]
272283
})

0 commit comments

Comments
 (0)