From c9138e5b53129f27d9db3be6d9fb472d6db57611 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=94=AF=E7=84=B6?= Date: Tue, 9 Aug 2022 13:13:34 +0800 Subject: [PATCH] chore: update a few rules to use messageId --- lib/rules/exports-style.js | 17 +++++++++++------ lib/rules/no-callback-literal.js | 6 ++++-- lib/rules/no-deprecated-api.js | 6 ++++-- lib/rules/no-extraneous-import.js | 3 +++ lib/rules/no-extraneous-require.js | 3 +++ lib/rules/no-hide-core-modules.js | 6 ++++-- lib/rules/no-unpublished-bin.js | 6 ++++-- lib/rules/no-unsupported-features.js | 10 ++++++---- lib/rules/shebang.js | 16 ++++++++++------ lib/util/check-extraneous.js | 2 +- package.json | 2 +- 11 files changed, 51 insertions(+), 26 deletions(-) diff --git a/lib/rules/exports-style.js b/lib/rules/exports-style.js index bbcebcf2..7716f030 100644 --- a/lib/rules/exports-style.js +++ b/lib/rules/exports-style.js @@ -244,6 +244,14 @@ module.exports = { additionalProperties: false, }, ], + messages: { + unexpectedExports: + "Unexpected access to 'exports'. Use 'module.exports' instead.", + unexpectedModuleExports: + "Unexpected access to 'module.exports'. Use 'exports' instead.", + unexpectedAssignment: + "Unexpected assignment to 'exports'. Don't modify 'exports' itself.", + }, }, create(context) { @@ -299,8 +307,7 @@ module.exports = { context.report({ node, loc: getLocation(node), - message: - "Unexpected access to 'exports'. Use 'module.exports' instead.", + messageId: "unexpectedExports", }) } } @@ -335,8 +342,7 @@ module.exports = { context.report({ node, loc: getLocation(node), - message: - "Unexpected access to 'module.exports'. Use 'exports' instead.", + messageId: "unexpectedModuleExports", fix(fixer) { return fixModuleExports(node, sourceCode, fixer) }, @@ -359,8 +365,7 @@ module.exports = { context.report({ node, loc: getLocation(node), - message: - "Unexpected assignment to 'exports'. Don't modify 'exports' itself.", + messageId: "unexpectedAssignment", }) } } diff --git a/lib/rules/no-callback-literal.js b/lib/rules/no-callback-literal.js index d143ee24..a15c8aa1 100644 --- a/lib/rules/no-callback-literal.js +++ b/lib/rules/no-callback-literal.js @@ -16,6 +16,9 @@ module.exports = { type: "problem", fixable: null, schema: [], + messages: { + unexpectedLiteral: "Unexpected literal in error position of callback." + } }, create(context) { @@ -37,8 +40,7 @@ module.exports = { ) { context.report({ node, - message: - "Unexpected literal in error position of callback.", + messageId: "unexpectedLiteral", }) } }, diff --git a/lib/rules/no-deprecated-api.js b/lib/rules/no-deprecated-api.js index 3db6c14d..9b355863 100644 --- a/lib/rules/no-deprecated-api.js +++ b/lib/rules/no-deprecated-api.js @@ -719,6 +719,9 @@ module.exports = { additionalProperties: false, }, ], + messages: { + "deprecated": "{{name}} was deprecated since v{{version}}{{replace}}." + } }, create(context) { const { ignoredModuleItems, ignoredGlobalItems, version } = @@ -736,8 +739,7 @@ module.exports = { context.report({ node, loc: node.loc, - message: - "{{name}} was deprecated since v{{version}}{{replace}}.", + messageId: "deprecated", data: { name, version: info.since, diff --git a/lib/rules/no-extraneous-import.js b/lib/rules/no-extraneous-import.js index 45086e9f..1eba6fca 100644 --- a/lib/rules/no-extraneous-import.js +++ b/lib/rules/no-extraneous-import.js @@ -32,6 +32,9 @@ module.exports = { additionalProperties: false, }, ], + messages: { + extraneous: '"{{moduleName}}" is extraneous.', + } }, create(context) { const filePath = context.getFilename() diff --git a/lib/rules/no-extraneous-require.js b/lib/rules/no-extraneous-require.js index e0da613d..135ab8b4 100644 --- a/lib/rules/no-extraneous-require.js +++ b/lib/rules/no-extraneous-require.js @@ -34,6 +34,9 @@ module.exports = { additionalProperties: false, }, ], + messages: { + "extraneous": '"{{moduleName}}" is extraneous.' + } }, create(context) { const filePath = context.getFilename() diff --git a/lib/rules/no-hide-core-modules.js b/lib/rules/no-hide-core-modules.js index 3dd432cc..ead34621 100644 --- a/lib/rules/no-hide-core-modules.js +++ b/lib/rules/no-hide-core-modules.js @@ -80,6 +80,9 @@ module.exports = { additionalProperties: false, }, ], + messages: { + "unexpectedImport": "Unexpected import of third-party module '{{name}}'.", + } }, create(context) { if (context.getFilename() === "") { @@ -149,8 +152,7 @@ module.exports = { context.report({ node: target.node, loc: target.node.loc, - message: - "Unexpected import of third-party module '{{name}}'.", + messageId: "unexpectedImport", data: { name: path .relative(dirPath, resolved) diff --git a/lib/rules/no-unpublished-bin.js b/lib/rules/no-unpublished-bin.js index d14e4d7a..780db90a 100644 --- a/lib/rules/no-unpublished-bin.js +++ b/lib/rules/no-unpublished-bin.js @@ -48,6 +48,9 @@ module.exports = { }, }, ], + messages: { + invalidIgnored: "npm ignores '{{name}}'. Check 'files' field of 'package.json' or '.npmignore'." + } }, create(context) { return { @@ -86,8 +89,7 @@ module.exports = { // Report. context.report({ node, - message: - "npm ignores '{{name}}'. Check 'files' field of 'package.json' or '.npmignore'.", + messageId: "invalidIgnored", data: { name: relativePath }, }) }, diff --git a/lib/rules/no-unsupported-features.js b/lib/rules/no-unsupported-features.js index 456636cf..67499839 100644 --- a/lib/rules/no-unsupported-features.js +++ b/lib/rules/no-unsupported-features.js @@ -1076,6 +1076,10 @@ module.exports = { ], }, ], + messages: { + unsupported: + "{{feature}} {{be}} not supported yet on Node {{version}}.", + }, }, create(context) { const sourceCode = context.getSourceCode() @@ -1161,8 +1165,7 @@ module.exports = { if (!feature.supportedInStrict) { context.report({ node, - message: - "{{feature}} {{be}} not supported yet on Node {{version}}.", + messageId: "unsupported", data: { feature: feature.name, be: feature.singular ? "is" : "are", @@ -1172,8 +1175,7 @@ module.exports = { } else if (!normalizeScope(context.getScope(), node).isStrict) { context.report({ node, - message: - "{{feature}} {{be}} not supported yet on Node {{version}}.", + messageId: "unsupported", data: { feature: `${feature.name} in non-strict mode`, be: feature.singular ? "is" : "are", diff --git a/lib/rules/shebang.js b/lib/rules/shebang.js index 4e4439a3..56ba7020 100644 --- a/lib/rules/shebang.js +++ b/lib/rules/shebang.js @@ -86,6 +86,12 @@ module.exports = { additionalProperties: false, }, ], + messages: { + unexpectedBOM: "This file must not have Unicode BOM.", + expectedLF: "This file must have Unix linebreaks (LF).", + expectedHashbangNode: 'This file needs shebang "#!/usr/bin/env node".', + expectedHashbang: "This file needs no shebang." + } }, create(context) { const sourceCode = context.getSourceCode() @@ -123,7 +129,7 @@ module.exports = { if (needsShebang && info.bom) { context.report({ node, - message: "This file must not have Unicode BOM.", + messageId: "unexpectedBOM", fix(fixer) { return fixer.removeRange([-1, 0]) }, @@ -132,8 +138,7 @@ module.exports = { if (needsShebang && info.cr) { context.report({ node, - message: - "This file must have Unix linebreaks (LF).", + messageId: "expectedLF", fix(fixer) { const index = sourceCode.text.indexOf("\r") return fixer.removeRange([index, index + 1]) @@ -144,8 +149,7 @@ module.exports = { // Shebang is lacking. context.report({ node, - message: - 'This file needs shebang "#!/usr/bin/env node".', + messageId: "expectedHashbangNode", fix(fixer) { return fixer.replaceTextRange( [-1, info.length], @@ -157,7 +161,7 @@ module.exports = { // Shebang is extra. context.report({ node, - message: "This file needs no shebang.", + messageId: "expectedHashbang", fix(fixer) { return fixer.removeRange([0, info.length]) }, diff --git a/lib/util/check-extraneous.js b/lib/util/check-extraneous.js index d0ff8ddd..b6e0c05b 100644 --- a/lib/util/check-extraneous.js +++ b/lib/util/check-extraneous.js @@ -44,7 +44,7 @@ module.exports = function checkForExtraneous(context, filePath, targets) { context.report({ node: target.node, loc: target.node.loc, - message: '"{{moduleName}}" is extraneous.', + messageId: "extraneous", data: target, }) } diff --git a/package.json b/package.json index 1cf43c00..e47984d5 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "esbuild": "^0.14.39", "eslint": "^8.21.0", "eslint-config-prettier": "^8.5.0", - "eslint-plugin-eslint-plugin": "^4.4.1", + "eslint-plugin-eslint-plugin": "^5.0.2", "eslint-plugin-n": "file:.", "fast-glob": "^3.2.11", "globals": "^13.17.0",