@fluentui/eslint-plugin
Version:
ESLint configuration and custom rules for Fluent UI
39 lines (35 loc) • 963 B
JavaScript
// @ts-check
const createRule = require('../utils/createRule');
module.exports = createRule({
name: 'no-tslint-comments',
meta: {
type: 'problem',
docs: {
description: 'Forbid tslint:disable/tslint:enable comments after ESLint migration.',
},
messages: {
tslint: 'tslint:{{verb}} comments are unnecessary with ESLint',
},
schema: [],
},
defaultOptions: [],
create: context => {
const tslintCommentRegex = /^\s*tslint ?: ?(disable|enable)/;
const { sourceCode } = context;
return {
Program: () => {
const comments = sourceCode.getAllComments();
for (const comment of comments) {
const tslintMatch = comment.value.match(tslintCommentRegex);
if (tslintMatch) {
context.report({
node: comment,
messageId: 'tslint',
data: { verb: tslintMatch[1] },
});
}
}
},
};
},
});