From ffdfade106d602bcc12b074bdfa489e9f661491e Mon Sep 17 00:00:00 2001 From: Ethan Setnik Date: Tue, 1 Sep 2020 14:08:38 -0400 Subject: [PATCH] fix(eslint-plugin): handle missing message IDs in eslint v5/v6 (#2461) --- packages/eslint-plugin/src/rules/indent.ts | 5 ++++- packages/eslint-plugin/src/rules/init-declarations.ts | 7 ++++++- packages/eslint-plugin/src/rules/keyword-spacing.ts | 7 ++++++- .../eslint-plugin/src/rules/lines-between-class-members.ts | 5 ++++- packages/eslint-plugin/src/rules/no-invalid-this.ts | 4 +++- packages/eslint-plugin/src/rules/no-magic-numbers.ts | 5 ++++- packages/eslint-plugin/src/rules/no-unused-expressions.ts | 5 ++++- packages/eslint-plugin/src/rules/no-unused-vars.ts | 4 +++- packages/eslint-plugin/src/rules/no-useless-constructor.ts | 4 +++- packages/eslint-plugin/src/rules/quotes.ts | 4 +++- packages/eslint-plugin/src/rules/semi.ts | 5 ++++- 11 files changed, 44 insertions(+), 11 deletions(-) diff --git a/packages/eslint-plugin/src/rules/indent.ts b/packages/eslint-plugin/src/rules/indent.ts index 0a8d3196ab6..34ec4015179 100644 --- a/packages/eslint-plugin/src/rules/indent.ts +++ b/packages/eslint-plugin/src/rules/indent.ts @@ -97,7 +97,10 @@ export default util.createRule({ }, fixable: 'whitespace', schema: baseRule.meta.schema, - messages: baseRule.meta.messages, + messages: baseRule.meta.messages ?? { + wrongIndentation: + 'Expected indentation of {{expected}} but found {{actual}}.', + }, }, defaultOptions: [ // typescript docs and playground use 4 space indent diff --git a/packages/eslint-plugin/src/rules/init-declarations.ts b/packages/eslint-plugin/src/rules/init-declarations.ts index b4368527e0c..5706006852b 100644 --- a/packages/eslint-plugin/src/rules/init-declarations.ts +++ b/packages/eslint-plugin/src/rules/init-declarations.ts @@ -24,7 +24,12 @@ export default createRule({ extendsBaseRule: true, }, schema: baseRule.meta.schema, - messages: baseRule.meta.messages, + messages: baseRule.meta.messages ?? { + initialized: + "Variable '{{idName}}' should be initialized on declaration.", + notInitialized: + "Variable '{{idName}}' should not be initialized on declaration.", + }, }, defaultOptions: ['always'], create(context) { diff --git a/packages/eslint-plugin/src/rules/keyword-spacing.ts b/packages/eslint-plugin/src/rules/keyword-spacing.ts index 8c4ff1d38ff..2265b260443 100644 --- a/packages/eslint-plugin/src/rules/keyword-spacing.ts +++ b/packages/eslint-plugin/src/rules/keyword-spacing.ts @@ -17,7 +17,12 @@ export default util.createRule({ }, fixable: 'whitespace', schema: baseRule.meta.schema, - messages: baseRule.meta.messages, + messages: baseRule.meta.messages ?? { + expectedBefore: 'Expected space(s) before "{{value}}".', + expectedAfter: 'Expected space(s) after "{{value}}".', + unexpectedBefore: 'Unexpected space(s) before "{{value}}".', + unexpectedAfter: 'Unexpected space(s) after "{{value}}".', + }, }, defaultOptions: [{}], diff --git a/packages/eslint-plugin/src/rules/lines-between-class-members.ts b/packages/eslint-plugin/src/rules/lines-between-class-members.ts index 26b09d528f2..21c6b9ed5e5 100644 --- a/packages/eslint-plugin/src/rules/lines-between-class-members.ts +++ b/packages/eslint-plugin/src/rules/lines-between-class-members.ts @@ -32,7 +32,10 @@ export default util.createRule({ }, fixable: 'whitespace', schema, - messages: baseRule.meta.messages, + messages: baseRule.meta.messages ?? { + never: 'Unexpected blank line between class members.', + always: 'Expected blank line between class members.', + }, }, defaultOptions: [ 'always', diff --git a/packages/eslint-plugin/src/rules/no-invalid-this.ts b/packages/eslint-plugin/src/rules/no-invalid-this.ts index 186d3378846..8824978a3f3 100644 --- a/packages/eslint-plugin/src/rules/no-invalid-this.ts +++ b/packages/eslint-plugin/src/rules/no-invalid-this.ts @@ -23,7 +23,9 @@ export default createRule({ recommended: false, extendsBaseRule: true, }, - messages: baseRule.meta.messages, + messages: baseRule.meta.messages ?? { + unexpectedThis: "Unexpected 'this'.", + }, schema: baseRule.meta.schema, }, defaultOptions: [{ capIsConstructor: true }], diff --git a/packages/eslint-plugin/src/rules/no-magic-numbers.ts b/packages/eslint-plugin/src/rules/no-magic-numbers.ts index c285b0eb302..0cb41337c1b 100644 --- a/packages/eslint-plugin/src/rules/no-magic-numbers.ts +++ b/packages/eslint-plugin/src/rules/no-magic-numbers.ts @@ -40,7 +40,10 @@ export default util.createRule({ }, }, ], - messages: baseRule.meta.messages, + messages: baseRule.meta.messages ?? { + useConst: "Number constants declarations must use 'const'.", + noMagic: 'No magic number: {{raw}}.', + }, }, defaultOptions: [ { diff --git a/packages/eslint-plugin/src/rules/no-unused-expressions.ts b/packages/eslint-plugin/src/rules/no-unused-expressions.ts index bea69733006..8116cbf704e 100644 --- a/packages/eslint-plugin/src/rules/no-unused-expressions.ts +++ b/packages/eslint-plugin/src/rules/no-unused-expressions.ts @@ -19,7 +19,10 @@ export default util.createRule({ extendsBaseRule: true, }, schema: baseRule.meta.schema, - messages: baseRule.meta.messages, + messages: baseRule.meta.messages ?? { + unusedExpression: + 'Expected an assignment or function call and instead saw an expression.', + }, }, defaultOptions: [ { diff --git a/packages/eslint-plugin/src/rules/no-unused-vars.ts b/packages/eslint-plugin/src/rules/no-unused-vars.ts index 85f80698579..973df534b0e 100644 --- a/packages/eslint-plugin/src/rules/no-unused-vars.ts +++ b/packages/eslint-plugin/src/rules/no-unused-vars.ts @@ -21,7 +21,9 @@ export default util.createRule({ extendsBaseRule: true, }, schema: baseRule.meta.schema, - messages: baseRule.meta.messages, + messages: baseRule.meta.messages ?? { + unusedVar: "'{{varName}}' is {{action}} but never used{{additional}}.", + }, }, defaultOptions: [{}], create(context) { diff --git a/packages/eslint-plugin/src/rules/no-useless-constructor.ts b/packages/eslint-plugin/src/rules/no-useless-constructor.ts index 395ff28d45e..2ad9c765c4e 100644 --- a/packages/eslint-plugin/src/rules/no-useless-constructor.ts +++ b/packages/eslint-plugin/src/rules/no-useless-constructor.ts @@ -54,7 +54,9 @@ export default util.createRule({ extendsBaseRule: true, }, schema: baseRule.meta.schema, - messages: baseRule.meta.messages, + messages: baseRule.meta.messages ?? { + noUselessConstructor: 'Useless constructor.', + }, }, defaultOptions: [], create(context) { diff --git a/packages/eslint-plugin/src/rules/quotes.ts b/packages/eslint-plugin/src/rules/quotes.ts index 5d4d44028b1..3cbdbce3d87 100644 --- a/packages/eslint-plugin/src/rules/quotes.ts +++ b/packages/eslint-plugin/src/rules/quotes.ts @@ -20,7 +20,9 @@ export default util.createRule({ extendsBaseRule: true, }, fixable: 'code', - messages: baseRule.meta.messages, + messages: baseRule.meta.messages ?? { + wrongQuotes: 'Strings must use {{description}}.', + }, schema: baseRule.meta.schema, }, defaultOptions: [ diff --git a/packages/eslint-plugin/src/rules/semi.ts b/packages/eslint-plugin/src/rules/semi.ts index f35b93d9859..e73fd4b51de 100644 --- a/packages/eslint-plugin/src/rules/semi.ts +++ b/packages/eslint-plugin/src/rules/semi.ts @@ -22,7 +22,10 @@ export default util.createRule({ }, fixable: 'code', schema: baseRule.meta.schema, - messages: baseRule.meta.messages, + messages: baseRule.meta.messages ?? { + missingSemi: 'Missing semicolon.', + extraSemi: 'Extra semicolon.', + }, }, defaultOptions: [ 'always',