When reporting a rule violation, it's preferred to provide the violation message with the messageId
property instead of the message
property. Message IDs provide the following benefits:
- Rule violation messages can be stored in a central
meta.messages
object for convenient management - Rule violation messages do not need to be repeated in both the rule file and rule test file
This rule catches usages of the message
property when reporting a rule violation.
Examples of incorrect code for this rule:
/* eslint eslint-plugin/prefer-message-ids: error */
module.exports = {
create(context) {
return {
CallExpression(node) {
context.report({
node,
message: 'Some error message.',
});
},
};
},
};
Examples of correct code for this rule:
/* eslint eslint-plugin/prefer-message-ids: error */
module.exports = {
meta: {
messages: {
someMessageId: 'Some error message',
},
},
create(context) {
return {
CallExpression(node) {
context.report({
node,
messageId: 'someMessageId',
});
},
};
},
};