/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ /** * ESLint's flat configuration doesn't automatically read sub-configuration files. * Hence, we import them here, adjusting paths as we go. * * Over time we would like to reduce this list. Ideally, this file would not exist. * The aim is for our rules to be consistently applied across the code base. * * If you are seeking to add a new sub-file here, please talk to the "JavaScript * usage, tools, and style" team first (aka #frontend-codestyle-reviewers). */ async function convertConfigurationFile(directory) { // eslint-disable-next-line no-unsanitized/method let config = await import(`./${directory}/.eslintrc.mjs`); let sectionId = 0; let newConfig = []; for (let section of config.default) { let newSection = { ...section }; newSection.name = directory + "/.eslintrc.js-" + sectionId++; if (!newSection.files) { newSection.files = [`${directory}/`]; } else if (Array.isArray(newSection.files)) { newSection.files = newSection.files.map(f => `${directory}/${f}`); } else if (typeof newSection.files == "string") { newSection.files = [`${directory}/${newSection.files}`]; } else { throw new Error( "Unexpected type for the files property in configuration for", directory ); } newConfig.push(newSection); } return newConfig; } export default [ ...(await convertConfigurationFile("accessible/tests/browser")), ...(await convertConfigurationFile("accessible/tests/mochitest")), ...(await convertConfigurationFile("browser")), ...(await convertConfigurationFile( "browser/base/content/test/webextensions" )), ...(await convertConfigurationFile("browser/components")), ...(await convertConfigurationFile( "browser/components/aboutlogins/tests/chrome" )), ...(await convertConfigurationFile("browser/components/aboutwelcome")), ...(await convertConfigurationFile("browser/components/asrouter")), ...(await convertConfigurationFile("browser/components/customizableui")), ...(await convertConfigurationFile( "browser/components/customizableui/content" )), ...(await convertConfigurationFile( "browser/components/enterprisepolicies/tests/xpcshell" )), ...(await convertConfigurationFile("browser/components/extensions")), ...(await convertConfigurationFile("browser/components/extensions/child")), ...(await convertConfigurationFile("browser/components/extensions/parent")), ...(await convertConfigurationFile( "browser/components/extensions/test/browser" )), ...(await convertConfigurationFile( "browser/components/extensions/test/mochitest" )), ...(await convertConfigurationFile( "browser/components/extensions/test/xpcshell" )), ...(await convertConfigurationFile("browser/components/migration")), ...(await convertConfigurationFile("browser/components/pagedata")), ...(await convertConfigurationFile( "browser/components/resistfingerprinting/test/mochitest" )), ...(await convertConfigurationFile("browser/components/search")), ...(await convertConfigurationFile("browser/components/urlbar")), ...(await convertConfigurationFile("browser/extensions/newtab")), ...(await convertConfigurationFile( "browser/extensions/pictureinpicture/tests/browser" )), ...(await convertConfigurationFile( "browser/extensions/search-detection/tests/browser" )), ...(await convertConfigurationFile("devtools")), ...(await convertConfigurationFile("devtools/client")), ...(await convertConfigurationFile("devtools/client/debugger/src")), ...(await convertConfigurationFile("devtools/client/dom")), ...(await convertConfigurationFile("devtools/client/framework/test/reload")), ...(await convertConfigurationFile("devtools/client/jsonview")), ...(await convertConfigurationFile("devtools/client/memory")), ...(await convertConfigurationFile("devtools/client/netmonitor/test")), ...(await convertConfigurationFile("devtools/client/performance-new")), ...(await convertConfigurationFile("devtools/client/shared/components")), ...(await convertConfigurationFile("devtools/server/tests/xpcshell")), ...(await convertConfigurationFile("devtools/shared")), ...(await convertConfigurationFile("dom/base/test/jsmodules")), ...(await convertConfigurationFile("dom/fs/test/common")), ...(await convertConfigurationFile("dom/fs/test/mochitest/worker")), ...(await convertConfigurationFile("dom/fs/test/xpcshell/worker")), ...(await convertConfigurationFile("dom/media/mediasource/test")), ...(await convertConfigurationFile("dom/quota/test/modules/system/worker")), ...(await convertConfigurationFile("js/src/builtin")), ...(await convertConfigurationFile("mobile/android")), ...(await convertConfigurationFile( "mobile/android/android-components/components/feature/webcompat-reporter/src/main/assets/extensions/webcompat-reporter" )), ...(await convertConfigurationFile( "mobile/android/examples/messaging_example/app/src/main/assets/messaging" )), ...(await convertConfigurationFile( "mobile/android/examples/port_messaging_example/app/src/main/assets/messaging" )), ...(await convertConfigurationFile( "mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/syncintegration" )), ...(await convertConfigurationFile( "mobile/android/geckoview/src/androidTest/assets/web_extensions" )), ...(await convertConfigurationFile("mobile/shared")), ...(await convertConfigurationFile("mobile/shared/components/extensions")), ...(await convertConfigurationFile( "mobile/shared/components/extensions/test/mochitest" )), ...(await convertConfigurationFile( "mobile/shared/components/extensions/test/xpcshell" )), ...(await convertConfigurationFile("netwerk/test/perf")), ...(await convertConfigurationFile("remote/marionette")), ...(await convertConfigurationFile("remote/marionette/test/xpcshell")), ...(await convertConfigurationFile("security")), ...(await convertConfigurationFile("security/manager/ssl/tests")), ...(await convertConfigurationFile("security/manager/tools")), ...(await convertConfigurationFile("services/sync/tests/tps")), ...(await convertConfigurationFile("taskcluster/docker/index-task")), ...(await convertConfigurationFile("taskcluster/docker/periodic-updates")), ...(await convertConfigurationFile( "testing/talos/talos/tests/perf-reftest-singletons" )), ...(await convertConfigurationFile( "testing/mozbase/mozprofile/tests/files/dummy-profile" )), ...(await convertConfigurationFile("testing/performance")), ...(await convertConfigurationFile("testing/raptor")), ...(await convertConfigurationFile("testing/talos")), ...(await convertConfigurationFile( "testing/talos/talos/tests/devtools/addon/content" )), ...(await convertConfigurationFile("testing/talos/talos/tests/perf-reftest")), ...(await convertConfigurationFile("toolkit")), ...(await convertConfigurationFile( "toolkit/components/antitracking/test/browser" )), ...(await convertConfigurationFile("toolkit/components/extensions")), ...(await convertConfigurationFile("toolkit/components/extensions/child")), ...(await convertConfigurationFile("toolkit/components/extensions/parent")), ...(await convertConfigurationFile( "toolkit/components/extensions/test/browser" )), ...(await convertConfigurationFile( "toolkit/components/extensions/test/mochitest" )), ...(await convertConfigurationFile( "toolkit/components/extensions/test/xpcshell" )), ...(await convertConfigurationFile( "toolkit/components/extensions/test/xpcshell/webidl-api" )), ...(await convertConfigurationFile("toolkit/components/narrate")), ...(await convertConfigurationFile("toolkit/components/normandy/test")), ...(await convertConfigurationFile( "toolkit/components/passwordmgr/test/browser" )), ...(await convertConfigurationFile( "toolkit/components/passwordmgr/test/mochitest" )), ...(await convertConfigurationFile("toolkit/components/prompts/test")), ...(await convertConfigurationFile("toolkit/components/reader")), ...(await convertConfigurationFile("toolkit/content")), ...(await convertConfigurationFile("toolkit/modules/subprocess")), ...(await convertConfigurationFile("toolkit/mozapps/extensions")), ...(await convertConfigurationFile( "toolkit/mozapps/extensions/test/browser" )), ...(await convertConfigurationFile( "toolkit/mozapps/extensions/test/xpcshell" )), ...(await convertConfigurationFile("tools/lint/eslint")), ...(await convertConfigurationFile("tools/tryselect/selectors/chooser")), ...(await convertConfigurationFile("tools/ts")), ];