eslint-subdirs.config.mjs (8859B)
1 /* This Source Code Form is subject to the terms of the Mozilla Public 2 * License, v. 2.0. If a copy of the MPL was not distributed with this 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 5 /** 6 * ESLint's flat configuration doesn't automatically read sub-configuration files. 7 * Hence, we import them here, adjusting paths as we go. 8 * 9 * Over time we would like to reduce this list. Ideally, this file would not exist. 10 * The aim is for our rules to be consistently applied across the code base. 11 * 12 * If you are seeking to add a new sub-file here, please talk to the "JavaScript 13 * usage, tools, and style" team first (aka #frontend-codestyle-reviewers). 14 */ 15 16 async function convertConfigurationFile(directory) { 17 // eslint-disable-next-line no-unsanitized/method 18 let config = await import(`./${directory}/.eslintrc.mjs`); 19 let sectionId = 0; 20 let newConfig = []; 21 for (let section of config.default) { 22 let newSection = { ...section }; 23 newSection.name = directory + "/.eslintrc.js-" + sectionId++; 24 25 if (!newSection.files) { 26 newSection.files = [`${directory}/`]; 27 } else if (Array.isArray(newSection.files)) { 28 newSection.files = newSection.files.map(f => `${directory}/${f}`); 29 } else if (typeof newSection.files == "string") { 30 newSection.files = [`${directory}/${newSection.files}`]; 31 } else { 32 throw new Error( 33 "Unexpected type for the files property in configuration for", 34 directory 35 ); 36 } 37 newConfig.push(newSection); 38 } 39 return newConfig; 40 } 41 42 export default [ 43 ...(await convertConfigurationFile("accessible/tests/browser")), 44 ...(await convertConfigurationFile("accessible/tests/mochitest")), 45 ...(await convertConfigurationFile("browser")), 46 ...(await convertConfigurationFile( 47 "browser/base/content/test/webextensions" 48 )), 49 ...(await convertConfigurationFile("browser/components")), 50 ...(await convertConfigurationFile( 51 "browser/components/aboutlogins/tests/chrome" 52 )), 53 ...(await convertConfigurationFile("browser/components/aboutwelcome")), 54 ...(await convertConfigurationFile("browser/components/asrouter")), 55 ...(await convertConfigurationFile("browser/components/customizableui")), 56 ...(await convertConfigurationFile( 57 "browser/components/customizableui/content" 58 )), 59 ...(await convertConfigurationFile( 60 "browser/components/enterprisepolicies/tests/xpcshell" 61 )), 62 ...(await convertConfigurationFile("browser/components/extensions")), 63 ...(await convertConfigurationFile("browser/components/extensions/child")), 64 ...(await convertConfigurationFile("browser/components/extensions/parent")), 65 ...(await convertConfigurationFile( 66 "browser/components/extensions/test/browser" 67 )), 68 ...(await convertConfigurationFile( 69 "browser/components/extensions/test/mochitest" 70 )), 71 ...(await convertConfigurationFile( 72 "browser/components/extensions/test/xpcshell" 73 )), 74 ...(await convertConfigurationFile("browser/components/migration")), 75 ...(await convertConfigurationFile("browser/components/pagedata")), 76 ...(await convertConfigurationFile( 77 "browser/components/resistfingerprinting/test/mochitest" 78 )), 79 ...(await convertConfigurationFile("browser/components/search")), 80 ...(await convertConfigurationFile("browser/components/urlbar")), 81 ...(await convertConfigurationFile("browser/extensions/newtab")), 82 ...(await convertConfigurationFile( 83 "browser/extensions/pictureinpicture/tests/browser" 84 )), 85 ...(await convertConfigurationFile( 86 "browser/extensions/search-detection/tests/browser" 87 )), 88 ...(await convertConfigurationFile("devtools")), 89 ...(await convertConfigurationFile("devtools/client")), 90 ...(await convertConfigurationFile("devtools/client/debugger/src")), 91 ...(await convertConfigurationFile("devtools/client/dom")), 92 ...(await convertConfigurationFile("devtools/client/framework/test/reload")), 93 ...(await convertConfigurationFile("devtools/client/jsonview")), 94 ...(await convertConfigurationFile("devtools/client/memory")), 95 ...(await convertConfigurationFile("devtools/client/netmonitor/test")), 96 ...(await convertConfigurationFile("devtools/client/performance-new")), 97 ...(await convertConfigurationFile("devtools/client/shared/components")), 98 ...(await convertConfigurationFile("devtools/server/tests/xpcshell")), 99 ...(await convertConfigurationFile("devtools/shared")), 100 ...(await convertConfigurationFile("dom/base/test/jsmodules")), 101 ...(await convertConfigurationFile("dom/fs/test/common")), 102 ...(await convertConfigurationFile("dom/fs/test/mochitest/worker")), 103 ...(await convertConfigurationFile("dom/fs/test/xpcshell/worker")), 104 ...(await convertConfigurationFile("dom/media/mediasource/test")), 105 ...(await convertConfigurationFile("dom/quota/test/modules/system/worker")), 106 ...(await convertConfigurationFile("js/src/builtin")), 107 ...(await convertConfigurationFile("mobile/android")), 108 ...(await convertConfigurationFile( 109 "mobile/android/android-components/components/feature/webcompat-reporter/src/main/assets/extensions/webcompat-reporter" 110 )), 111 ...(await convertConfigurationFile( 112 "mobile/android/examples/messaging_example/app/src/main/assets/messaging" 113 )), 114 ...(await convertConfigurationFile( 115 "mobile/android/examples/port_messaging_example/app/src/main/assets/messaging" 116 )), 117 ...(await convertConfigurationFile( 118 "mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/syncintegration" 119 )), 120 ...(await convertConfigurationFile( 121 "mobile/android/geckoview/src/androidTest/assets/web_extensions" 122 )), 123 ...(await convertConfigurationFile("mobile/shared")), 124 ...(await convertConfigurationFile("mobile/shared/components/extensions")), 125 ...(await convertConfigurationFile( 126 "mobile/shared/components/extensions/test/mochitest" 127 )), 128 ...(await convertConfigurationFile( 129 "mobile/shared/components/extensions/test/xpcshell" 130 )), 131 ...(await convertConfigurationFile("netwerk/test/perf")), 132 ...(await convertConfigurationFile("remote/marionette")), 133 ...(await convertConfigurationFile("remote/marionette/test/xpcshell")), 134 ...(await convertConfigurationFile("security")), 135 ...(await convertConfigurationFile("security/manager/ssl/tests")), 136 ...(await convertConfigurationFile("security/manager/tools")), 137 ...(await convertConfigurationFile("services/sync/tests/tps")), 138 ...(await convertConfigurationFile("taskcluster/docker/index-task")), 139 ...(await convertConfigurationFile("taskcluster/docker/periodic-updates")), 140 ...(await convertConfigurationFile( 141 "testing/talos/talos/tests/perf-reftest-singletons" 142 )), 143 ...(await convertConfigurationFile( 144 "testing/mozbase/mozprofile/tests/files/dummy-profile" 145 )), 146 ...(await convertConfigurationFile("testing/performance")), 147 ...(await convertConfigurationFile("testing/raptor")), 148 ...(await convertConfigurationFile("testing/talos")), 149 ...(await convertConfigurationFile( 150 "testing/talos/talos/tests/devtools/addon/content" 151 )), 152 ...(await convertConfigurationFile("testing/talos/talos/tests/perf-reftest")), 153 ...(await convertConfigurationFile("toolkit")), 154 ...(await convertConfigurationFile( 155 "toolkit/components/antitracking/test/browser" 156 )), 157 ...(await convertConfigurationFile("toolkit/components/extensions")), 158 ...(await convertConfigurationFile("toolkit/components/extensions/child")), 159 ...(await convertConfigurationFile("toolkit/components/extensions/parent")), 160 ...(await convertConfigurationFile( 161 "toolkit/components/extensions/test/browser" 162 )), 163 ...(await convertConfigurationFile( 164 "toolkit/components/extensions/test/mochitest" 165 )), 166 ...(await convertConfigurationFile( 167 "toolkit/components/extensions/test/xpcshell" 168 )), 169 ...(await convertConfigurationFile( 170 "toolkit/components/extensions/test/xpcshell/webidl-api" 171 )), 172 ...(await convertConfigurationFile("toolkit/components/narrate")), 173 ...(await convertConfigurationFile("toolkit/components/normandy/test")), 174 ...(await convertConfigurationFile( 175 "toolkit/components/passwordmgr/test/browser" 176 )), 177 ...(await convertConfigurationFile( 178 "toolkit/components/passwordmgr/test/mochitest" 179 )), 180 ...(await convertConfigurationFile("toolkit/components/prompts/test")), 181 ...(await convertConfigurationFile("toolkit/components/reader")), 182 ...(await convertConfigurationFile("toolkit/content")), 183 ...(await convertConfigurationFile("toolkit/modules/subprocess")), 184 ...(await convertConfigurationFile("toolkit/mozapps/extensions")), 185 ...(await convertConfigurationFile( 186 "toolkit/mozapps/extensions/test/browser" 187 )), 188 ...(await convertConfigurationFile( 189 "toolkit/mozapps/extensions/test/xpcshell" 190 )), 191 ...(await convertConfigurationFile("tools/lint/eslint")), 192 ...(await convertConfigurationFile("tools/tryselect/selectors/chooser")), 193 ...(await convertConfigurationFile("tools/ts")), 194 ];