From 2fedf1e7665c8933368f9b4054ac52e7433681bf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 21 May 2023 15:22:20 -0400 Subject: [PATCH 1/8] build(deps-dev): Bump typescript from 4.9.5 to 5.0.4 (#348) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a7ba93b1..14615313 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,7 @@ "nyc": "^15.1.0", "prettier": "^2.7.1", "release-it": "^14.14.3", - "typescript": "^4.8.3" + "typescript": "^5.0.4" }, "peerDependencies": { "eslint": ">=7.0.0" From a07653eb12a7532f73a14922387dcf6c4c57095b Mon Sep 17 00:00:00 2001 From: nopeless <38830903+nopeless@users.noreply.github.com> Date: Tue, 13 Jun 2023 17:22:25 -0500 Subject: [PATCH 2/8] Tweak violation message in `prefer-message-ids` rule (#355) --- README.md | 14 +++++++------- docs/rules/prefer-message-ids.md | 2 +- lib/rules/prefer-message-ids.js | 5 +++-- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 9e240627..18728fed 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,7 @@ module.exports = [ | [no-unused-message-ids](docs/rules/no-unused-message-ids.md) | disallow unused `messageId`s in `meta.messages` | ✅ | | | | [no-unused-placeholders](docs/rules/no-unused-placeholders.md) | disallow unused placeholders in rule report messages | ✅ | | | | [no-useless-token-range](docs/rules/no-useless-token-range.md) | disallow unnecessary calls to `sourceCode.getFirstToken()` and `sourceCode.getLastToken()` | ✅ | 🔧 | | -| [prefer-message-ids](docs/rules/prefer-message-ids.md) | require using `messageId` instead of `message` to report rule violations | ✅ | | | +| [prefer-message-ids](docs/rules/prefer-message-ids.md) | require using `messageId` instead of `message` or `desc` to report rule violations | ✅ | | | | [prefer-object-rule](docs/rules/prefer-object-rule.md) | disallow function-style rules | ✅ | 🔧 | | | [prefer-placeholders](docs/rules/prefer-placeholders.md) | require using placeholders for dynamic report messages | | | | | [prefer-replace-text](docs/rules/prefer-replace-text.md) | require using `replaceText()` instead of `replaceTextRange()` | | | | @@ -118,14 +118,14 @@ module.exports = [ ## Presets -| | Name | Description | -|:--|:-----|:------------| -| ✅ | `recommended` | enables all recommended rules in this plugin | +| | Name | Description | +|:--|:--------------------|:--------------------------------------------------------------------------| +| ✅ | `recommended` | enables all recommended rules in this plugin | | | `rules-recommended` | enables all recommended rules that are aimed at linting ESLint rule files | | | `tests-recommended` | enables all recommended rules that are aimed at linting ESLint test files | -| | `all` | enables all rules in this plugin | -| | `rules` | enables all rules that are aimed at linting ESLint rule files | -| | `tests` | enables all rules that are aimed at linting ESLint test files | +| | `all` | enables all rules in this plugin | +| | `rules` | enables all rules that are aimed at linting ESLint rule files | +| | `tests` | enables all rules that are aimed at linting ESLint test files | ### Semantic versioning policy diff --git a/docs/rules/prefer-message-ids.md b/docs/rules/prefer-message-ids.md index a0d52c01..9dc6f91f 100644 --- a/docs/rules/prefer-message-ids.md +++ b/docs/rules/prefer-message-ids.md @@ -1,4 +1,4 @@ -# Require using `messageId` instead of `message` to report rule violations (`eslint-plugin/prefer-message-ids`) +# Require using `messageId` instead of `message` or `desc` to report rule violations (`eslint-plugin/prefer-message-ids`) 💼 This rule is enabled in the ✅ `recommended` [config](https://github.com/eslint-community/eslint-plugin-eslint-plugin#presets). diff --git a/lib/rules/prefer-message-ids.js b/lib/rules/prefer-message-ids.js index 1eb65bdd..539d7104 100644 --- a/lib/rules/prefer-message-ids.js +++ b/lib/rules/prefer-message-ids.js @@ -13,7 +13,7 @@ module.exports = { type: 'problem', docs: { description: - 'require using `messageId` instead of `message` to report rule violations', + 'require using `messageId` instead of `message` or `desc` to report rule violations', category: 'Rules', recommended: true, url: 'https://github.com/eslint-community/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/prefer-message-ids.md', @@ -23,7 +23,8 @@ module.exports = { messages: { messagesMissing: '`meta.messages` must contain at least one violation message.', - foundMessage: 'Use `messageId` instead of `message`.', + foundMessage: + 'Use `messageId` instead of `message` (for violations) or `desc` (for suggestions).', }, }, From 42ace230c9008defc824ab4aa802d9f87495bdea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 20 Jun 2023 01:39:07 +0200 Subject: [PATCH 3/8] build(deps-dev): Bump markdownlint-cli from 0.34.0 to 0.35.0 (#356) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 14615313..1a5c9f04 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "globals": "^13.20.0", "husky": "^8.0.1", "lodash": "^4.17.21", - "markdownlint-cli": "^0.34.0", + "markdownlint-cli": "^0.35.0", "mocha": "^10.0.0", "npm-package-json-lint": "^6.3.0", "npm-run-all": "^4.1.5", From 63966cb3a27ea5b66e9162ebd7f55eb62085c7bc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Jul 2023 10:36:50 +0800 Subject: [PATCH 4/8] build(deps-dev): Bump npm-package-json-lint from 6.4.0 to 7.0.0 (#359) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1a5c9f04..41b751db 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "lodash": "^4.17.21", "markdownlint-cli": "^0.35.0", "mocha": "^10.0.0", - "npm-package-json-lint": "^6.3.0", + "npm-package-json-lint": "^7.0.0", "npm-run-all": "^4.1.5", "nyc": "^15.1.0", "prettier": "^2.7.1", From dea161d6750b0c5fad88e5902ffc6f7421696f46 Mon Sep 17 00:00:00 2001 From: Flo Edelmann Date: Tue, 18 Jul 2023 14:10:39 +0200 Subject: [PATCH 5/8] fix: ignore function calls in `report-message-format` --- lib/rules/report-message-format.js | 4 +++- tests/lib/rules/report-message-format.js | 11 +++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/rules/report-message-format.js b/lib/rules/report-message-format.js index b0c7e18a..770524c0 100644 --- a/lib/rules/report-message-format.js +++ b/lib/rules/report-message-format.js @@ -112,7 +112,9 @@ module.exports = { if (suggest && suggest.type === 'ArrayExpression') { suggest.elements - .flatMap((obj) => obj.properties) + .flatMap((obj) => + obj.type === 'ObjectExpression' ? obj.properties : [] + ) .filter( (prop) => prop.type === 'Property' && diff --git a/tests/lib/rules/report-message-format.js b/tests/lib/rules/report-message-format.js index 5a5c2f0d..1f086ce1 100644 --- a/tests/lib/rules/report-message-format.js +++ b/tests/lib/rules/report-message-format.js @@ -107,6 +107,17 @@ ruleTester.run('report-message-format', rule, { `, options: ['^foo$'], }, + { + // Suggestion function + code: ` + module.exports = { + create(context) { + context.report({node, suggest: [getSuggestion(node)]}); + } + }; + `, + options: ['^foo$'], + }, { // Suggestion message code: ` From 49240423daef1cdba1e22d47136de2c693bfcafe Mon Sep 17 00:00:00 2001 From: Flo Edelmann Date: Tue, 18 Jul 2023 11:58:39 +0200 Subject: [PATCH 6/8] fix: ignore SpreadExpressions in no-only-tests and prefer-output-null --- lib/rules/no-only-tests.js | 1 + lib/rules/prefer-output-null.js | 4 +++- tests/lib/rules/no-only-tests.js | 3 ++- tests/lib/rules/prefer-output-null.js | 1 + 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/rules/no-only-tests.js b/lib/rules/no-only-tests.js index 1c89bcac..49206f61 100644 --- a/lib/rules/no-only-tests.js +++ b/lib/rules/no-only-tests.js @@ -36,6 +36,7 @@ module.exports = { const onlyProperty = test.properties.find( (property) => + property.type === 'Property' && property.key.type === 'Identifier' && property.key.name === 'only' && property.value.type === 'Literal' && diff --git a/lib/rules/prefer-output-null.js b/lib/rules/prefer-output-null.js index a7abfd12..4403b7e8 100644 --- a/lib/rules/prefer-output-null.js +++ b/lib/rules/prefer-output-null.js @@ -48,7 +48,9 @@ module.exports = { */ function getTestInfo(key) { if (test.type === 'ObjectExpression') { - return test.properties.find((item) => item.key.name === key); + return test.properties.find( + (item) => item.type === 'Property' && item.key.name === key + ); } return null; } diff --git a/tests/lib/rules/no-only-tests.js b/tests/lib/rules/no-only-tests.js index 24efa23d..ed892aa6 100644 --- a/tests/lib/rules/no-only-tests.js +++ b/tests/lib/rules/no-only-tests.js @@ -23,7 +23,8 @@ ruleTester.run('no-only-tests', rule, { 'foo', { code: 'foo', foo: true }, RuleTester.somethingElse(), - notRuleTester.only() + notRuleTester.only(), + { ...otherOptions }, ], invalid: [ { code: 'bar', foo: true }, diff --git a/tests/lib/rules/prefer-output-null.js b/tests/lib/rules/prefer-output-null.js index 4fd5014d..910a8093 100644 --- a/tests/lib/rules/prefer-output-null.js +++ b/tests/lib/rules/prefer-output-null.js @@ -25,6 +25,7 @@ ruleTester.run('prefer-output-null', rule, { new RuleTester().run('foo', bar, { valid: [], invalid: [ + { ...otherOptions }, {code: 'foo', output: 'bar', errors: ['bar']}, ] }); From 7be0c7641dba9c3250ca006a3baa75ff0d362128 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=94=AF=E7=84=B6?= Date: Wed, 19 Jul 2023 11:17:00 +0800 Subject: [PATCH 7/8] fix: use latest ECMAScript version in tests (#364) --- tests/lib/rules/no-only-tests.js | 2 +- tests/lib/rules/prefer-output-null.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/lib/rules/no-only-tests.js b/tests/lib/rules/no-only-tests.js index ed892aa6..29882439 100644 --- a/tests/lib/rules/no-only-tests.js +++ b/tests/lib/rules/no-only-tests.js @@ -11,7 +11,7 @@ const RuleTester = require('eslint').RuleTester; // Tests // ------------------------------------------------------------------------------ -const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 6 } }); +const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 'latest' } }); ruleTester.run('no-only-tests', rule, { valid: [ // No test cases with `only` diff --git a/tests/lib/rules/prefer-output-null.js b/tests/lib/rules/prefer-output-null.js index 910a8093..8fe57bcc 100644 --- a/tests/lib/rules/prefer-output-null.js +++ b/tests/lib/rules/prefer-output-null.js @@ -18,7 +18,7 @@ const ERROR = { messageId: 'useOutputNull', type: 'Property' }; // Tests // ------------------------------------------------------------------------------ -const ruleTester = new RuleTester(); +const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 'latest' } }); ruleTester.run('prefer-output-null', rule, { valid: [ ` From c308547450f20a6aa4d80c058fa8568dd10a1f6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=94=AF=E7=84=B6?= Date: Wed, 19 Jul 2023 11:19:49 +0800 Subject: [PATCH 8/8] chore: release v5.1.1 --- CHANGELOG.md | 9 +++++++++ package.json | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 73fe8c91..b52ff858 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ +### [5.1.1](https://github.com/eslint-community/eslint-plugin-eslint-plugin/compare/v5.1.0...v5.1.1) (2023-07-19) + + +### Bug Fixes + +* ignore function calls in `report-message-format` ([dea161d](https://github.com/eslint-community/eslint-plugin-eslint-plugin/commit/dea161d6750b0c5fad88e5902ffc6f7421696f46)) +* ignore SpreadExpressions in no-only-tests and prefer-output-null ([4924042](https://github.com/eslint-community/eslint-plugin-eslint-plugin/commit/49240423daef1cdba1e22d47136de2c693bfcafe)) +* use latest ECMAScript version in tests ([#364](https://github.com/eslint-community/eslint-plugin-eslint-plugin/issues/364)) ([7be0c76](https://github.com/eslint-community/eslint-plugin-eslint-plugin/commit/7be0c7641dba9c3250ca006a3baa75ff0d362128)) + ## [5.1.0](https://github.com/eslint-community/eslint-plugin-eslint-plugin/compare/v5.0.8...v5.1.0) (2023-05-18) diff --git a/package.json b/package.json index 41b751db..18404d10 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "eslint-plugin-eslint-plugin", - "version": "5.1.0", + "version": "5.1.1", "description": "An ESLint plugin for linting ESLint plugins", "author": "Teddy Katz", "main": "./lib/index.js",