Skip to content

Commit 6a0196c

Browse files
authored
chore: use eslint-plugin-eslint-plugin flat configs (#17204)
* chore: use eslint-plugin-eslint-plugin flat configs * fix bin tests * fix cli tests * fix flat-eslint tests * fix eslint tests * fix cli-engine tests
1 parent 030a827 commit 6a0196c

File tree

14 files changed

+361
-152
lines changed

14 files changed

+361
-152
lines changed

.eslintrc.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,6 @@ module.exports = {
9696
"plugin:eslint-plugin/rules-recommended"
9797
],
9898
rules: {
99-
"eslint-plugin/no-missing-message-ids": "error",
100-
"eslint-plugin/no-unused-message-ids": "error",
101-
"eslint-plugin/prefer-message-ids": "error",
10299
"eslint-plugin/prefer-placeholders": "error",
103100
"eslint-plugin/prefer-replace-text": "error",
104101
"eslint-plugin/report-message-format": ["error", "[^a-z].*\\.$"],
@@ -119,7 +116,6 @@ module.exports = {
119116
"plugin:eslint-plugin/tests-recommended"
120117
],
121118
rules: {
122-
"eslint-plugin/prefer-output-null": "error",
123119
"eslint-plugin/test-case-property-ordering": "error",
124120
"eslint-plugin/test-case-shorthand-strings": "error"
125121
}

eslint.config.js

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,12 @@
2727

2828
const path = require("path");
2929
const internalPlugin = require("eslint-plugin-internal-rules");
30-
const eslintPlugin = require("eslint-plugin-eslint-plugin");
30+
const eslintPluginRulesRecommendedConfig = require("eslint-plugin-eslint-plugin/configs/rules-recommended");
31+
const eslintPluginTestsRecommendedConfig = require("eslint-plugin-eslint-plugin/configs/tests-recommended");
3132
const { FlatCompat } = require("@eslint/eslintrc");
3233
const js = require("./packages/js");
3334
const globals = require("globals");
35+
const merge = require("lodash.merge");
3436

3537
//-----------------------------------------------------------------------------
3638
// Helpers
@@ -99,8 +101,7 @@ module.exports = [
99101
},
100102
{
101103
plugins: {
102-
"internal-rules": internalPlugin,
103-
"eslint-plugin": eslintPlugin
104+
"internal-rules": internalPlugin
104105
},
105106
languageOptions: {
106107
ecmaVersion: "latest"
@@ -129,33 +130,31 @@ module.exports = [
129130
{
130131
files: ["lib/rules/*", "tools/internal-rules/*"],
131132
ignores: ["**/index.js"],
132-
rules: {
133-
...eslintPlugin.configs["rules-recommended"].rules,
134-
"eslint-plugin/no-missing-message-ids": "error",
135-
"eslint-plugin/no-unused-message-ids": "error",
136-
"eslint-plugin/prefer-message-ids": "error",
137-
"eslint-plugin/prefer-placeholders": "error",
138-
"eslint-plugin/prefer-replace-text": "error",
139-
"eslint-plugin/report-message-format": ["error", "[^a-z].*\\.$"],
140-
"eslint-plugin/require-meta-docs-description": ["error", { pattern: "^(Enforce|Require|Disallow) .+[^. ]$" }],
141-
"internal-rules/no-invalid-meta": "error"
142-
}
133+
...merge({}, eslintPluginRulesRecommendedConfig, {
134+
rules: {
135+
"eslint-plugin/prefer-placeholders": "error",
136+
"eslint-plugin/prefer-replace-text": "error",
137+
"eslint-plugin/report-message-format": ["error", "[^a-z].*\\.$"],
138+
"eslint-plugin/require-meta-docs-description": ["error", { pattern: "^(Enforce|Require|Disallow) .+[^. ]$" }],
139+
"internal-rules/no-invalid-meta": "error"
140+
}
141+
})
143142
},
144143
{
145144
files: ["lib/rules/*"],
146-
ignores: ["index.js"],
145+
ignores: ["**/index.js"],
147146
rules: {
148147
"eslint-plugin/require-meta-docs-url": ["error", { pattern: "https://eslint.org/docs/latest/rules/{{name}}" }]
149148
}
150149
},
151150
{
152151
files: ["tests/lib/rules/*", "tests/tools/internal-rules/*"],
153-
rules: {
154-
...eslintPlugin.configs["tests-recommended"].rules,
155-
"eslint-plugin/prefer-output-null": "error",
156-
"eslint-plugin/test-case-property-ordering": "error",
157-
"eslint-plugin/test-case-shorthand-strings": "error"
158-
}
152+
...merge({}, eslintPluginTestsRecommendedConfig, {
153+
rules: {
154+
"eslint-plugin/test-case-property-ordering": "error",
155+
"eslint-plugin/test-case-shorthand-strings": "error"
156+
}
157+
})
159158
},
160159
{
161160
files: ["tests/**/*.js"],

lib/rules/logical-assignment-operators.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,6 @@ module.exports = {
188188
}]
189189
},
190190
fixable: "code",
191-
// eslint-disable-next-line eslint-plugin/require-meta-has-suggestions -- Does not detect conditional suggestions
192191
hasSuggestions: true,
193192
messages: {
194193
assignment: "Assignment (=) can be replaced with operator assignment ({{operator}}).",

lib/rules/newline-after-var.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,6 @@ module.exports = {
212212
context.report({
213213
node,
214214
messageId: "unexpected",
215-
data: { identifier: node.name },
216215
fix(fixer) {
217216
const linesBetween = sourceCode.getText().slice(lastToken.range[1], nextToken.range[0]).split(astUtils.LINEBREAK_MATCHER);
218217

@@ -231,7 +230,6 @@ module.exports = {
231230
context.report({
232231
node,
233232
messageId: "expected",
234-
data: { identifier: node.name },
235233
fix(fixer) {
236234
if ((noNextLineToken ? getLastCommentLineOfBlock(nextLineNum) : lastToken.loc.end.line) === nextToken.loc.start.line) {
237235
return fixer.insertTextBefore(nextToken, "\n\n");

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@
113113
"eslint": "file:.",
114114
"eslint-config-eslint": "file:packages/eslint-config-eslint",
115115
"eslint-plugin-eslint-comments": "^3.2.0",
116-
"eslint-plugin-eslint-plugin": "^4.4.0",
116+
"eslint-plugin-eslint-plugin": "^5.1.0",
117117
"eslint-plugin-internal-rules": "file:tools/internal-rules",
118118
"eslint-plugin-jsdoc": "^38.1.6",
119119
"eslint-plugin-n": "^15.2.4",

tests/bin/eslint.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -204,10 +204,10 @@ describe("bin/eslint.js", () => {
204204
});
205205

206206
describe("running on files", () => {
207-
it("has exit code 0 if no linting errors occur", () => assertExitCode(runESLint(["bin/eslint.js"]), 0));
207+
it("has exit code 0 if no linting errors occur", () => assertExitCode(runESLint(["bin/eslint.js", "--no-config-lookup"]), 0));
208208
it("has exit code 0 if a linting warning is reported", () => assertExitCode(runESLint(["bin/eslint.js", "--no-config-lookup", "--rule", "semi: [1, never]"]), 0));
209209
it("has exit code 1 if a linting error is reported", () => assertExitCode(runESLint(["bin/eslint.js", "--no-config-lookup", "--rule", "semi: [2, never]"]), 1));
210-
it("has exit code 1 if a syntax error is thrown", () => assertExitCode(runESLint(["tests/fixtures/exit-on-fatal-error/fatal-error.js", "--no-ignore"]), 1));
210+
it("has exit code 1 if a syntax error is thrown", () => assertExitCode(runESLint(["tests/fixtures/exit-on-fatal-error/fatal-error.js", "--no-config-lookup"]), 1));
211211
});
212212

213213
describe("automatically fixing files", () => {
@@ -359,7 +359,7 @@ describe("bin/eslint.js", () => {
359359

360360
describe("handling crashes", () => {
361361
it("prints the error message to stderr in the event of a crash", () => {
362-
const child = runESLint(["--rule=no-restricted-syntax:[error, 'Invalid Selector [[[']", "Makefile.js"]);
362+
const child = runESLint(["--rule=no-restricted-syntax:[error, 'Invalid Selector [[[']", "--no-config-lookup", "Makefile.js"]);
363363
const exitCodeAssertion = assertExitCode(child, 2);
364364
const outputAssertion = getOutput(child).then(output => {
365365
const expectedSubstring = "Syntax error in selector";
@@ -372,7 +372,7 @@ describe("bin/eslint.js", () => {
372372
});
373373

374374
it("prints the error message exactly once to stderr in the event of a crash", () => {
375-
const child = runESLint(["--rule=no-restricted-syntax:[error, 'Invalid Selector [[[']", "Makefile.js"]);
375+
const child = runESLint(["--rule=no-restricted-syntax:[error, 'Invalid Selector [[[']", "--no-config-lookup", "Makefile.js"]);
376376
const exitCodeAssertion = assertExitCode(child, 2);
377377
const outputAssertion = getOutput(child).then(output => {
378378
const expectedSubstring = "Syntax error in selector";
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
module.exports = {
2+
rules: {
3+
quotes: ["error", "single"]
4+
}
5+
};
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
module.exports = [{
2+
rules: {
3+
quotes: ["error", "single"]
4+
}
5+
}];
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
var a = 'b';
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
var a = 'b';

0 commit comments

Comments
 (0)