Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chore: use ids for messages #12859

Merged
merged 80 commits into from Feb 5, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
747de7f
Chore: refactor `spaced-comment` to use messageIds
G-Rath Feb 1, 2020
21a3e0e
Chore: refactor `space-infix-ops` to use messageIds
G-Rath Jan 31, 2020
35e85af
Chore: refactor `space-before-function-paren` to use messageIds
G-Rath Jan 31, 2020
f5a6783
Chore: refactor `space-before-blocks` to use messageIds
G-Rath Jan 31, 2020
db21f0b
Chore: refactor `sort-vars` to use messageIds
G-Rath Jan 31, 2020
bd8e597
Chore: refactor `sort-keys` to use messageIds
G-Rath Jan 31, 2020
1a7a21c
Chore: refactor `sort-imports` to use messageIds
G-Rath Jan 31, 2020
81aa282
Chore: refactor `semi-style` to use messageIds
G-Rath Jan 31, 2020
d8a2b07
Chore: refactor `semi-spacing` to use messageIds
G-Rath Jan 31, 2020
1628c9d
Chore: refactor `rest-spread-spacing` to use messageIds
G-Rath Jan 31, 2020
e6d816f
Chore: refactor `require-yield` to use messageIds
G-Rath Jan 31, 2020
1ebe6a0
Chore: refactor `require-jsdoc` to use messageIds
G-Rath Jan 31, 2020
f2d34d8
Chore: refactor `radix` to use messageIds
G-Rath Jan 31, 2020
3a9ed16
Chore: refactor `quote-props` to use messageIds
G-Rath Jan 31, 2020
2a6e4f0
Chore: refactor `prefer-template` to use messageIds
G-Rath Jan 31, 2020
3ba7e3f
Chore: refactor `prefer-spread` to use messageIds
G-Rath Jan 31, 2020
090fae4
Chore: refactor `prefer-rest-params` to use messageIds
G-Rath Jan 31, 2020
be7d77e
Chore: refactor `prefer-reflect` to use messageIds
G-Rath Jan 31, 2020
f5d563f
Chore: refactor `prefer-promise-reject-errors` to use messageIds
G-Rath Jan 31, 2020
3aa590a
Chore: refactor `prefer-destructuring` to use messageIds
G-Rath Jan 31, 2020
bb02951
Chore: refactor `prefer-arrow-callback` to use messageIds
G-Rath Jan 31, 2020
d461dcd
Chore: refactor `padding-line-between-statements` to use messageIds
G-Rath Jan 31, 2020
49a9cad
Chore: refactor `padded-blocks` to use messageIds
G-Rath Jan 31, 2020
19ea536
Chore: refactor `operator-linebreak` to use messageIds
G-Rath Feb 1, 2020
f0fee78
Chore: refactor `one-var` to use messageIds
G-Rath Feb 1, 2020
42ecae9
Chore: refactor `one-var-declaration-per-line` to use messageIds
G-Rath Feb 1, 2020
51672b4
Chore: refactor `object-shorthand` to use messageIds
G-Rath Feb 1, 2020
61c15f1
Chore: refactor `object-property-newline` to use messageIds
G-Rath Feb 1, 2020
81b9b5a
Chore: refactor `object-curly-spacing` to use messageIds
G-Rath Feb 1, 2020
fd53172
Chore: refactor `object-curly-newline` to use messageIds
G-Rath Feb 1, 2020
7bb672a
Chore: refactor `nonblock-statement-body-position` to use messageIds
G-Rath Feb 1, 2020
e294dd4
Chore: refactor `no-with` to use messageIds
G-Rath Feb 1, 2020
a223060
Chore: refactor `no-whitespace-before-property` to use messageIds
G-Rath Feb 1, 2020
93418c3
Chore: refactor `no-warning-comments` to use messageIds
G-Rath Feb 1, 2020
ce2b66d
Chore: refactor `no-var` to use messageIds
G-Rath Feb 1, 2020
a79fb09
Chore: refactor `no-useless-return` to use messageIds
G-Rath Feb 1, 2020
d78fe8b
Chore: refactor `no-useless-rename` to use messageIds
G-Rath Feb 1, 2020
3013d81
Chore: refactor `no-useless-concat` to use messageIds
G-Rath Feb 1, 2020
c401f22
Chore: refactor `no-useless-computed-key` to use messageIds
G-Rath Feb 1, 2020
b37a7d4
Chore: refactor `no-useless-catch` to use messageIds
G-Rath Feb 1, 2020
92af52e
Chore: refactor `no-useless-call` to use messageIds
G-Rath Feb 1, 2020
f70ddd5
Chore: refactor `no-unused-vars` to use messageIds
G-Rath Feb 1, 2020
9e06fc1
Chore: refactor `no-unused-expressions` to use messageIds
G-Rath Feb 1, 2020
c59ea16
Chore: refactor `no-unsafe-finally` to use messageIds
G-Rath Feb 1, 2020
252041c
Chore: refactor `no-unreachable` to use messageIds
G-Rath Feb 1, 2020
da8113f
Chore: refactor `no-unneeded-ternary` to use messageIds
G-Rath Feb 1, 2020
206e64a
Chore: refactor `no-unmodified-loop-condition` to use messageIds
G-Rath Feb 1, 2020
98626af
Chore: refactor `no-underscore-dangle` to use messageIds
G-Rath Feb 1, 2020
b04a160
Chore: refactor `no-undefined` to use messageIds
G-Rath Feb 1, 2020
f84c0ce
Chore: refactor `no-undef-init` to use messageIds
G-Rath Feb 1, 2020
172d171
Chore: refactor `no-trailing-spaces` to use messageIds
G-Rath Feb 1, 2020
d1aa368
Chore: refactor `no-this-before-super` to use messageIds
G-Rath Feb 1, 2020
97fdfd9
Chore: refactor `no-ternary` to use messageIds
G-Rath Feb 1, 2020
2698464
Chore: refactor `no-template-curly-in-string` to use messageIds
G-Rath Feb 1, 2020
e757557
Chore: refactor `no-tabs` to use messageIds
G-Rath Feb 1, 2020
8e6db99
Chore: refactor `no-sync` to use messageIds
G-Rath Jan 31, 2020
2da5424
Chore: refactor `no-sparse-arrays` to use messageIds
G-Rath Feb 1, 2020
d0acebd
Chore: refactor `no-spaced-func` to use messageIds
G-Rath Feb 1, 2020
4099f3c
Chore: refactor `no-shadow-restricted-names` to use messageIds
G-Rath Feb 1, 2020
6fcf219
Chore: refactor `no-sequences` to use messageIds
G-Rath Feb 1, 2020
bfdf00f
Chore: refactor `no-self-compare` to use messageIds
G-Rath Feb 1, 2020
0fcc04a
Chore: refactor `no-self-assign` to use messageIds
G-Rath Feb 1, 2020
bfea4ba
Chore: refactor `no-script-url` to use messageIds
G-Rath Feb 1, 2020
fd40ed8
Chore: refactor `no-return-await` to use messageIds
G-Rath Feb 1, 2020
f941ac7
Chore: refactor `no-return-assign` to use messageIds
G-Rath Feb 1, 2020
a28da66
Chore: refactor `no-restricted-syntax` to use messageIds
G-Rath Feb 1, 2020
2c0590c
Chore: refactor `no-restricted-properties` to use messageIds
G-Rath Feb 1, 2020
7af8b74
Chore: refactor `no-restricted-modules` to use messageIds
G-Rath Feb 1, 2020
b9029eb
Chore: refactor `no-regex-spaces` to use messageIds
G-Rath Feb 1, 2020
1d28d98
Chore: refactor `no-prototype-builtins` to use messageIds
G-Rath Feb 1, 2020
9403506
Chore: refactor `no-proto` to use messageIds
G-Rath Feb 1, 2020
6aba6ec
Chore: refactor `no-process-exit` to use messageIds
G-Rath Feb 1, 2020
ce0f5ac
Chore: refactor `no-process-env` to use messageIds
G-Rath Feb 1, 2020
10cd6cb
Chore: refactor `no-native-reassign` to use messageIds
G-Rath Feb 1, 2020
0e49a71
Chore: refactor `no-negated-in-lhs` to use messageIds
G-Rath Feb 1, 2020
5cc33c7
Chore: refactor `no-invalid-regexp` to use messageIds
G-Rath Feb 1, 2020
9ac28fd
Chore: refactor some tests to use `messageId`s
G-Rath Feb 1, 2020
ba42b59
Chore: update `linter` tests to include `messageId`
G-Rath Feb 1, 2020
ae289f1
Chore: correct message for `space-before-blocks`
G-Rath Feb 4, 2020
981a401
Chore: use default values intead of `||`
G-Rath Feb 4, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
8 changes: 5 additions & 3 deletions lib/rules/no-invalid-regexp.js
Expand Up @@ -39,9 +39,11 @@ module.exports = {
}
},
additionalProperties: false
}]
}],

// no messages, because the error text comes directly from the regexpp module
messages: {
regexMessage: "{{message}}."
}
},

create(context) {
Expand Down Expand Up @@ -118,7 +120,7 @@ module.exports = {
if (message) {
context.report({
node,
message: "{{message}}.",
messageId: "regexMessage",
data: { message }
});
}
Expand Down
8 changes: 6 additions & 2 deletions lib/rules/no-native-reassign.js
Expand Up @@ -37,7 +37,11 @@ module.exports = {
},
additionalProperties: false
}
]
],

messages: {
nativeReassign: "Read-only global '{{name}}' should not be modified."
}
},

create(context) {
Expand Down Expand Up @@ -65,7 +69,7 @@ module.exports = {
) {
context.report({
node: identifier,
message: "Read-only global '{{name}}' should not be modified.",
messageId: "nativeReassign",
data: identifier
});
}
Expand Down
8 changes: 6 additions & 2 deletions lib/rules/no-negated-in-lhs.js
Expand Up @@ -24,7 +24,11 @@ module.exports = {
replacedBy: ["no-unsafe-negation"],

deprecated: true,
schema: []
schema: [],

messages: {
negatedLHS: "The 'in' expression's left operand is negated."
}
},

create(context) {
Expand All @@ -33,7 +37,7 @@ module.exports = {

BinaryExpression(node) {
if (node.operator === "in" && node.left.type === "UnaryExpression" && node.left.operator === "!") {
context.report({ node, message: "The 'in' expression's left operand is negated." });
context.report({ node, messageId: "negatedLHS" });
}
}
};
Expand Down
8 changes: 6 additions & 2 deletions lib/rules/no-process-env.js
Expand Up @@ -19,7 +19,11 @@ module.exports = {
url: "https://eslint.org/docs/rules/no-process-env"
},

schema: []
schema: [],

messages: {
unexpectedProcessEnv: "Unexpected use of process.env."
}
},

create(context) {
Expand All @@ -31,7 +35,7 @@ module.exports = {
propertyName = node.property.name;

if (objectName === "process" && !node.computed && propertyName && propertyName === "env") {
context.report({ node, message: "Unexpected use of process.env." });
context.report({ node, messageId: "unexpectedProcessEnv" });
}

}
Expand Down
8 changes: 6 additions & 2 deletions lib/rules/no-process-exit.js
Expand Up @@ -19,7 +19,11 @@ module.exports = {
url: "https://eslint.org/docs/rules/no-process-exit"
},

schema: []
schema: [],

messages: {
noProcessExit: "Don't use process.exit(); throw an error instead."
}
},

create(context) {
Expand All @@ -30,7 +34,7 @@ module.exports = {

return {
"CallExpression > MemberExpression.callee[object.name = 'process'][property.name = 'exit']"(node) {
context.report({ node: node.parent, message: "Don't use process.exit(); throw an error instead." });
context.report({ node: node.parent, messageId: "noProcessExit" });
}
};

Expand Down
8 changes: 6 additions & 2 deletions lib/rules/no-proto.js
Expand Up @@ -26,7 +26,11 @@ module.exports = {
url: "https://eslint.org/docs/rules/no-proto"
},

schema: []
schema: [],

messages: {
unexpectedProto: "The '__proto__' property is deprecated."
}
},

create(context) {
Expand All @@ -35,7 +39,7 @@ module.exports = {

MemberExpression(node) {
if (getStaticPropertyName(node) === "__proto__") {
context.report({ node, message: "The '__proto__' property is deprecated." });
context.report({ node, messageId: "unexpectedProto" });
}
}
};
Expand Down
8 changes: 6 additions & 2 deletions lib/rules/no-prototype-builtins.js
Expand Up @@ -19,7 +19,11 @@ module.exports = {
url: "https://eslint.org/docs/rules/no-prototype-builtins"
},

schema: []
schema: [],

messages: {
prototypeBuildIn: "Do not access Object.prototype method '{{prop}}' from target object."
}
},

create(context) {
Expand All @@ -42,7 +46,7 @@ module.exports = {

if (DISALLOWED_PROPS.indexOf(propName) > -1) {
context.report({
message: "Do not access Object.prototype method '{{prop}}' from target object.",
messageId: "prototypeBuildIn",
loc: node.callee.property.loc.start,
data: { prop: propName },
node
Expand Down
8 changes: 6 additions & 2 deletions lib/rules/no-regex-spaces.js
Expand Up @@ -45,7 +45,11 @@ module.exports = {
},

schema: [],
fixable: "code"
fixable: "code",

messages: {
multipleSpaces: "Spaces are hard to count. Use {{{length}}}."
}
},

create(context) {
Expand Down Expand Up @@ -96,7 +100,7 @@ module.exports = {
) {
context.report({
node: nodeToReport,
message: "Spaces are hard to count. Use {{{length}}}.",
messageId: "multipleSpaces",
data: { length },
fix(fixer) {
if (pattern !== rawPattern) {
Expand Down
38 changes: 19 additions & 19 deletions lib/rules/no-restricted-modules.js
Expand Up @@ -4,13 +4,6 @@
*/
"use strict";

//------------------------------------------------------------------------------
// Helpers
//------------------------------------------------------------------------------

const DEFAULT_MESSAGE_TEMPLATE = "'{{moduleName}}' module is restricted from being used.";
const CUSTOM_MESSAGE_TEMPLATE = "'{{moduleName}}' module is restricted from being used. {{customMessage}}";

//------------------------------------------------------------------------------
// Rule Definition
//------------------------------------------------------------------------------
Expand Down Expand Up @@ -72,6 +65,13 @@ module.exports = {
additionalItems: false
}
]
},

messages: {
defaultMessage: "'{{name}}' module is restricted from being used.",
// eslint-disable-next-line eslint-plugin/report-message-format
customMessage: "'{{name}}' module is restricted from being used. {{customMessage}}",
patternMessage: "'{{name}}' module is restricted from being used by a pattern."
}
},

Expand Down Expand Up @@ -126,17 +126,17 @@ module.exports = {
* @private
*/
function reportPath(node) {
const moduleName = node.arguments[0].value.trim();
const customMessage = restrictedPathMessages[moduleName];
const message = customMessage
? CUSTOM_MESSAGE_TEMPLATE
: DEFAULT_MESSAGE_TEMPLATE;
const name = node.arguments[0].value.trim();
const customMessage = restrictedPathMessages[name];
const messageId = customMessage
? "customMessage"
: "defaultMessage";

context.report({
node,
message,
messageId,
data: {
moduleName,
name,
customMessage
}
});
Expand All @@ -158,18 +158,18 @@ module.exports = {

// node has arguments and first argument is string
if (node.arguments.length && isString(node.arguments[0])) {
const moduleName = node.arguments[0].value.trim();
const name = node.arguments[0].value.trim();

// check if argument value is in restricted modules array
if (isRestrictedPath(moduleName)) {
if (isRestrictedPath(name)) {
reportPath(node);
}

if (restrictedPatterns.length > 0 && ig.ignores(moduleName)) {
if (restrictedPatterns.length > 0 && ig.ignores(name)) {
context.report({
node,
message: "'{{moduleName}}' module is restricted from being used by a pattern.",
data: { moduleName }
messageId: "patternMessage",
data: { name }
});
}
}
Expand Down
13 changes: 9 additions & 4 deletions lib/rules/no-restricted-properties.js
Expand Up @@ -61,6 +61,13 @@ module.exports = {
]
},
uniqueItems: true
},

messages: {
// eslint-disable-next-line eslint-plugin/report-message-format
restrictedObjectProperty: "'{{objectName}}.{{propertyName}}' is restricted from being used.{{message}}",
// eslint-disable-next-line eslint-plugin/report-message-format
restrictedProperty: "'{{propertyName}}' is restricted from being used.{{message}}"
}
},

Expand Down Expand Up @@ -114,8 +121,7 @@ module.exports = {

context.report({
node,
// eslint-disable-next-line eslint-plugin/report-message-format
message: "'{{objectName}}.{{propertyName}}' is restricted from being used.{{message}}",
messageId: "restrictedObjectProperty",
data: {
objectName,
propertyName,
Expand All @@ -127,8 +133,7 @@ module.exports = {

context.report({
node,
// eslint-disable-next-line eslint-plugin/report-message-format
message: "'{{propertyName}}' is restricted from being used.{{message}}",
messageId: "restrictedProperty",
data: {
propertyName,
message
Expand Down
11 changes: 8 additions & 3 deletions lib/rules/no-restricted-syntax.js
Expand Up @@ -39,6 +39,11 @@ module.exports = {
},
uniqueItems: true,
minItems: 0
},

messages: {
// eslint-disable-next-line eslint-plugin/report-message-format
restrictedSyntax: "{{message}}"
}
},

Expand All @@ -48,14 +53,14 @@ module.exports = {
const hasCustomMessage = !isStringFormat && Boolean(selectorOrObject.message);

const selector = isStringFormat ? selectorOrObject : selectorOrObject.selector;
const message = hasCustomMessage ? selectorOrObject.message : "Using '{{selector}}' is not allowed.";
const message = hasCustomMessage ? selectorOrObject.message : `Using '${selector}' is not allowed.`;

return Object.assign(result, {
[selector](node) {
context.report({
node,
message,
data: hasCustomMessage ? {} : { selector }
messageId: "restrictedSyntax",
data: { message }
});
}
});
Expand Down
11 changes: 8 additions & 3 deletions lib/rules/no-return-assign.js
Expand Up @@ -35,7 +35,12 @@ module.exports = {
{
enum: ["except-parens", "always"]
}
]
],

messages: {
returnAssignment: "Return statement should not contain assignment.",
arrowAssignment: "Arrow function should not return assignment."
}
},

create(context) {
Expand All @@ -61,12 +66,12 @@ module.exports = {
if (parent && parent.type === "ReturnStatement") {
context.report({
node: parent,
message: "Return statement should not contain assignment."
messageId: "returnAssignment"
});
} else if (parent && parent.type === "ArrowFunctionExpression" && parent.body === currentChild) {
context.report({
node: parent,
message: "Arrow function should not return assignment."
messageId: "arrowAssignment"
});
}
}
Expand Down
10 changes: 6 additions & 4 deletions lib/rules/no-return-await.js
Expand Up @@ -10,8 +10,6 @@ const astUtils = require("./utils/ast-utils");
// Rule Definition
//------------------------------------------------------------------------------

const message = "Redundant use of `await` on a return value.";

module.exports = {
meta: {
type: "suggestion",
Expand All @@ -28,7 +26,11 @@ module.exports = {
fixable: null,

schema: [
]
],

messages: {
redundantUseOfAwait: "Redundant use of `await` on a return value."
}
},

create(context) {
Expand All @@ -42,7 +44,7 @@ module.exports = {
context.report({
node: context.getSourceCode().getFirstToken(node),
loc: node.loc,
message
messageId: "redundantUseOfAwait"
});
}

Expand Down
8 changes: 6 additions & 2 deletions lib/rules/no-script-url.js
Expand Up @@ -22,7 +22,11 @@ module.exports = {
url: "https://eslint.org/docs/rules/no-script-url"
},

schema: []
schema: [],

messages: {
unexpectedScriptURL: "Script URL is a form of eval."
}
},

create(context) {
Expand All @@ -34,7 +38,7 @@ module.exports = {
const value = node.value.toLowerCase();

if (value.indexOf("javascript:") === 0) {
context.report({ node, message: "Script URL is a form of eval." });
context.report({ node, messageId: "unexpectedScriptURL" });
}
}
}
Expand Down