eslint-plugin-eslint-plugin
eslint-plugin-eslint-plugin copied to clipboard
Detect suggestions with spread variable in `require-meta-has-suggestions`
Related of #272 but distinct and might be a bit easier to fix since we just need to evaluate the spread.
const fixOrSuggest: {
fix: TSESLint.ReportFixFunction | null;
suggest: TSESLint.ReportSuggestionArray<MessageIds> | null;
} = {
fix: null,
suggest: [
{
messageId: 'suggestUnknown',
fix(fixer): TSESLint.RuleFix {
return fixer.replaceText(node, 'unknown');
},
},
{
messageId: 'suggestNever',
fix(fixer): TSESLint.RuleFix {
return fixer.replaceText(node, 'never');
},
},
],
};
if (fixToUnknown) {
fixOrSuggest.fix = (fixer): TSESLint.RuleFix =>
fixer.replaceText(node, 'unknown');
}
context.report({
node,
messageId: 'unexpectedAny',
...fixOrSuggest,
});
https://github.com/typescript-eslint/typescript-eslint/blob/ad412cdd74dc5619fbe4bf27c0a5eb5c5a4b65ca/packages/eslint-plugin/src/rules/no-explicit-any.ts#L205
This is not specific to TypeScript.