diff --git a/.eslintrc.js b/.eslintrc.js index 12079efc68c8..f4636bbd9fee 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -4,10 +4,7 @@ "use strict"; -const xpcshellTestConfig = require("eslint-plugin-mozilla/lib/configs/xpcshell-test.js"); -const browserTestConfig = require("eslint-plugin-mozilla/lib/configs/browser-test.js"); -const mochitestTestConfig = require("eslint-plugin-mozilla/lib/configs/mochitest-test.js"); -const chromeTestConfig = require("eslint-plugin-mozilla/lib/configs/chrome-test.js"); +const mozilla = require("eslint-plugin-mozilla"); const globalIgnores = require("./.eslintrc-ignores.js"); const { testPaths } = require("./.eslintrc-test-paths.js"); const { rollouts } = require("./.eslintrc-rollouts.js"); @@ -183,7 +180,7 @@ module.exports = { extends: ["plugin:mozilla/general-test"], }, { - ...xpcshellTestConfig, + ...mozilla.configs["xpcshell-test"], files: testPaths.xpcshell.map(filePath => `${filePath}**`), excludedFiles: ["**/*.mjs", "**/*.sjs"], }, @@ -222,12 +219,12 @@ module.exports = { }, }, { - ...browserTestConfig, + ...mozilla.configs["browser-test"], files: testPaths.browser.map(filePath => `${filePath}**`), excludedFiles: ["**/*.mjs", "**/*.sjs"], }, { - ...mochitestTestConfig, + ...mozilla.configs["mochitest-test"], files: testPaths.mochitest.map(filePath => `${filePath}**`), excludedFiles: [ "**/*.mjs", @@ -235,7 +232,7 @@ module.exports = { ], }, { - ...chromeTestConfig, + ...mozilla.configs["chrome-test"], files: testPaths.chrome.map(filePath => `${filePath}**`), excludedFiles: ["**/*.mjs", "**/*.sjs"], }, diff --git a/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/browser-test.js b/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/browser-test.js index f08682414ff8..8296598f205f 100644 --- a/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/browser-test.js +++ b/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/browser-test.js @@ -56,6 +56,7 @@ module.exports = { waitForFocus: false, }, + name: "mozilla/browser-test", plugins: ["mozilla"], rules: { diff --git a/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/chrome-test.js b/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/chrome-test.js index 2c6edac2814b..e8fbbb3c0a7d 100644 --- a/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/chrome-test.js +++ b/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/chrome-test.js @@ -18,6 +18,7 @@ module.exports = { getRootDirectory: false, }, + name: "mozilla/chrome-test", plugins: ["mozilla"], rules: { diff --git a/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/general-test.js b/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/general-test.js index be5ea9d2342b..086ec814af35 100644 --- a/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/general-test.js +++ b/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/general-test.js @@ -4,6 +4,7 @@ "use strict"; module.exports = { + name: "mozilla/general-test", plugins: ["mozilla", "@microsoft/sdl", "no-unsanitized"], rules: { diff --git a/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/mochitest-test.js b/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/mochitest-test.js index eefd930d5762..2f41b99c72fc 100644 --- a/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/mochitest-test.js +++ b/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/mochitest-test.js @@ -12,6 +12,7 @@ module.exports = { SpecialPowers: false, }, + name: "mozilla/mochitest-test", plugins: ["mozilla"], rules: { diff --git a/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/recommended.js b/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/recommended.js index dee45b8eae5f..6b0d53d65486 100644 --- a/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/recommended.js +++ b/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/recommended.js @@ -320,6 +320,7 @@ const extraRules = [ // "worker" as well. "**/?(*.)worker.?(m)js", ], + name: "mozilla/recommended/worker", }, ]; diff --git a/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/require-jsdoc.js b/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/require-jsdoc.js index 3f75352b0eb4..e8d2d7582909 100644 --- a/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/require-jsdoc.js +++ b/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/require-jsdoc.js @@ -5,6 +5,7 @@ "use strict"; module.exports = { + name: "mozilla/require-jsdoc", plugins: ["jsdoc"], rules: { diff --git a/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/valid-jsdoc.js b/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/valid-jsdoc.js index 87815befb19e..5325ccfc031e 100644 --- a/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/valid-jsdoc.js +++ b/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/valid-jsdoc.js @@ -5,6 +5,7 @@ "use strict"; module.exports = { + name: "mozilla/valid-jsdoc", plugins: ["jsdoc"], rules: { diff --git a/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/xpcshell-test.js b/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/xpcshell-test.js index 586b11f26df7..26ea6d154dbb 100644 --- a/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/xpcshell-test.js +++ b/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/xpcshell-test.js @@ -7,6 +7,7 @@ module.exports = { "mozilla/xpcshell": true, }, + name: "mozilla/xpcshell-test", plugins: ["mozilla", "@microsoft/sdl"], rules: { diff --git a/tools/lint/eslint/eslint-plugin-mozilla/lib/index.js b/tools/lint/eslint/eslint-plugin-mozilla/lib/index.js index f56fdc46a2ce..5ea5c238a9c6 100644 --- a/tools/lint/eslint/eslint-plugin-mozilla/lib/index.js +++ b/tools/lint/eslint/eslint-plugin-mozilla/lib/index.js @@ -115,6 +115,9 @@ const configurations = [ function cloneLegacySection(section) { let config = structuredClone(section); + // The legacy config doesn't support names, so get rid of those. + delete config.name; + if (config.overrides) { for (let overridesSection of config.overrides) { // The legacy config doesn't support names in sections, so get rid of those. @@ -155,6 +158,11 @@ function cloneFlatSection(section) { config.languageOptions = {}; } + if (config.globals) { + config.languageOptions.globals = { ...config.globals }; + delete config.globals; + } + // Handle changing the location of the sourceType. if (config.parserOptions?.sourceType) { config.languageOptions.sourceType = config.parserOptions.sourceType;