eslint-plugin-green
Version:
ESLint plugin for evaluating and promoting green coding practices
29 lines (28 loc) • 946 B
JavaScript
;
const rule = {
meta: {
type: 'suggestion',
docs: {
description: 'Enforce using Array methods instead of inefficient loops',
category: 'Performance',
recommended: true,
},
schema: [], // no options
},
create(context) {
return {
ForStatement(node) {
if (node.body.type === 'BlockStatement' &&
node.body.body.length === 1 &&
node.body.body[0].type === 'ExpressionStatement' &&
node.body.body[0].expression.type === 'AssignmentExpression') {
context.report({
node,
message: 'Consider using Array methods like map, filter, or reduce instead of for loops for better performance and readability'
});
}
}
};
}
};
module.exports = rule;