Skip to content

Commit d768112

Browse files
authored
fix: handle spread in context.report() in require-meta-fixable (#288)
1 parent fdffb50 commit d768112

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

Diff for: lib/rules/require-meta-fixable.js

+3-4
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,9 @@ module.exports = {
7373
node.callee.property.name === 'report' &&
7474
(node.arguments.length > 4 ||
7575
(node.arguments.length === 1 &&
76-
node.arguments[0].type === 'ObjectExpression' &&
77-
node.arguments[0].properties.some(
78-
(prop) => utils.getKeyName(prop) === 'fix'
79-
)))
76+
utils
77+
.evaluateObjectProperties(node.arguments[0], scopeManager)
78+
.some((prop) => utils.getKeyName(prop) === 'fix')))
8079
) {
8180
usesFixFunctions = true;
8281
}

Diff for: tests/lib/rules/require-meta-fixable.js

+14-1
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ ruleTester.run('require-meta-fixable', rule, {
189189
`,
190190
options: [{ catchNoFixerButFixableProperty: true }],
191191
},
192-
// Spread.
192+
// Spread in meta.
193193
`
194194
const extra = { 'fixable': 'code' };
195195
module.exports = {
@@ -199,6 +199,19 @@ ruleTester.run('require-meta-fixable', rule, {
199199
}
200200
};
201201
`,
202+
// Spread in report.
203+
{
204+
code: `
205+
module.exports = {
206+
meta: { fixable: 'code' },
207+
create(context) {
208+
const extra = { fix: foo };
209+
context.report({node, message, ...extra});
210+
}
211+
};
212+
`,
213+
options: [{ catchNoFixerButFixableProperty: true }],
214+
},
202215
],
203216

204217
invalid: [

0 commit comments

Comments
 (0)