1# Always ignore node_modules. 2**/node_modules/**/*.* 3 4# Always ignore crashtests - specially crafted files that originally caused a 5# crash. 6**/crashtests/** 7# Also ignore reftest - specially crafted to produce expected output. 8**/reftest/** 9 10# Exclude expected objdirs. 11obj*/** 12 13# We ignore all these directories by default, until we get them enabled. 14# If you are enabling a directory, please add directory specific exclusions 15# below. 16docshell/** 17editor/** 18extensions/cookie/** 19extensions/spellcheck/** 20extensions/universalchardet/** 21gfx/layers/** 22gfx/tests/browser/** 23gfx/tests/chrome/** 24gfx/tests/mochitest/** 25gfx/tests/unit/** 26image/** 27layout/** 28memory/replace/dmd/test/** 29modules/** 30netwerk/base/NetUtil.jsm 31netwerk/cookie/test/browser/** 32netwerk/cookie/test/unit/** 33netwerk/protocol/** 34netwerk/dns/** 35netwerk/test/browser/** 36netwerk/test/httpserver/** 37netwerk/test/mochitests/** 38netwerk/test/unit*/** 39netwerk/wifi/** 40parser/** 41rdf/** 42tools/update-packaging/** 43uriloader/exthandler/** 44uriloader/exthandler/tests/mochitest/** 45widget/headless/tests/** 46widget/tests/** 47 48# We currently have no js files in these directories, so we ignore them by 49# default to aid ESLint's performance. 50build/** 51config/** 52db/** 53embedding/** 54gradle/** 55hal/** 56mfbt/** 57mozglue/** 58nsprpub/** 59other-licenses/** 60probes/** 61startupcache/** 62xpfe/** 63 64# These directories only contain crashtests, but we still skip the whole 65# directory to aid performance. 66view/** 67 68# browser/ exclusions 69browser/app/** 70browser/branding/**/firefox-branding.js 71# Gzipped test file. 72browser/base/content/test/general/gZipOfflineChild.html 73browser/base/content/test/urlbar/file_blank_but_not_blank.html 74# Test files that are really json not js, and don't need to be linted. 75browser/components/sessionstore/test/unit/data/sessionstore_valid.js 76browser/components/sessionstore/test/unit/data/sessionstore_invalid.js 77# This file is split into two in order to keep it as a valid json file 78# for documentation purposes (policies.json) but to be accessed by the 79# code as a .jsm (schema.jsm) 80browser/components/enterprisepolicies/schemas/schema.jsm 81# generated & special files in cld2 82browser/components/translation/cld2/** 83# Screenshots and Follow-on search are imported as a system add-on and have 84# their own lint rules currently. 85browser/extensions/followonsearch/** 86browser/extensions/screenshots/** 87browser/extensions/pdfjs/content/build** 88browser/extensions/pdfjs/content/web** 89# generated or library files in pocket 90browser/extensions/pocket/content/panels/js/tmpl.js 91browser/extensions/pocket/content/panels/js/vendor/** 92# generated or library files in activity-stream 93browser/extensions/activity-stream/data/content/activity-stream.bundle.js 94browser/extensions/activity-stream/test/** 95browser/extensions/activity-stream/vendor/** 96# The only file in browser/locales/ is pre-processed. 97browser/locales/** 98# imported from chromium 99browser/extensions/mortar/** 100# Generated data files 101browser/extensions/formautofill/phonenumberutils/PhoneNumberMetaData.jsm 102 103# devtools/ exclusions 104devtools/client/canvasdebugger/** 105devtools/client/commandline/** 106devtools/client/debugger/** 107devtools/client/framework/** 108!devtools/client/framework/devtools.js 109!devtools/client/framework/devtools-browser.js 110!devtools/client/framework/selection.js 111!devtools/client/framework/target* 112!devtools/client/framework/toolbox* 113devtools/client/inspector/markup/test/doc_markup_events_*.html 114devtools/client/inspector/rules/test/doc_media_queries.html 115devtools/client/memory/test/chrome/*.html 116devtools/client/performance/components/test/test_jit_optimizations_01.html 117devtools/client/projecteditor/** 118devtools/client/responsive.html/test/browser/touch.html 119devtools/client/scratchpad/** 120devtools/client/shadereditor/** 121devtools/client/shared/*.jsm 122devtools/client/shared/components/reps/reps.js 123devtools/client/shared/components/reps/test/mochitest/*.html 124!devtools/client/shared/components/reps/test/mochitest/test_reps_infinity.html 125!devtools/client/shared/components/reps/test/mochitest/test_reps_nan.html 126!devtools/client/shared/components/reps/test/mochitest/test_reps_promise.html 127!devtools/client/shared/components/reps/test/mochitest/test_reps_symbol.html 128!devtools/client/shared/components/reps/test/mochitest/test_reps_text-node.html 129devtools/client/shared/components/test/mochitest/*.html 130!devtools/client/shared/components/test/mochitest/test_stack-trace.html 131devtools/client/shared/shim/test/test_*.html 132devtools/client/shared/test/browser_toolbar_webconsole_errors_count.html 133devtools/client/shared/webgl-utils.js 134devtools/client/shared/widgets/*.jsm 135devtools/client/storage/test/*.html 136!devtools/client/storage/test/storage-cookies.html 137!devtools/client/storage/test/storage-overflow.html 138!devtools/client/storage/test/storage-search.html 139!devtools/client/storage/test/storage-unsecured-iframe.html 140!devtools/client/storage/test/storage-unsecured-iframe-usercontextid.html 141devtools/client/webaudioeditor/** 142devtools/client/webconsole/net/** 143!devtools/client/webconsole/new-console-output/test/mochitest/** 144devtools/client/webconsole/test/** 145devtools/client/webconsole/webconsole-connection-proxy.js 146devtools/client/webconsole/webconsole.js 147devtools/client/webide/** 148!devtools/client/webide/components/webideCli.js 149devtools/server/tests/browser/storage-*.html 150!devtools/server/tests/browser/storage-unsecured-iframe.html 151devtools/server/tests/browser/stylesheets-nested-iframes.html 152devtools/server/tests/unit/xpcshell_debugging_script.js 153devtools/client/shared/webpack/shims/test/test_clipboard.html 154devtools/shared/qrcode/tests/mochitest/test_decode.html 155devtools/shared/tests/mochitest/*.html 156devtools/shared/webconsole/test/test_*.html 157 158# Ignore devtools preferences files 159devtools/client/preferences/** 160devtools/shim/devtools-startup-prefs.js 161 162# Ignore devtools third-party libs 163devtools/shared/jsbeautify/* 164devtools/shared/acorn/* 165devtools/shared/gcli/source/* 166devtools/shared/node-properties/* 167devtools/shared/pretty-fast/* 168devtools/shared/sourcemap/* 169devtools/shared/sprintfjs/* 170devtools/shared/qrcode/decoder/* 171devtools/shared/qrcode/encoder/* 172devtools/client/shared/demangle.js 173devtools/client/shared/source-map/* 174devtools/client/shared/vendor/* 175devtools/client/sourceeditor/codemirror/*.js 176devtools/client/sourceeditor/codemirror/**/*.js 177devtools/client/sourceeditor/tern/* 178devtools/client/sourceeditor/test/cm_mode_ruby.js 179devtools/client/sourceeditor/test/codemirror/* 180devtools/client/inspector/markup/test/lib_* 181devtools/client/jsonview/lib/require.js 182devtools/server/actors/utils/automation-timeline.js 183 184# Ignore devtools files testing sourcemaps / code style 185devtools/client/debugger/test/mochitest/code_binary_search.js 186devtools/client/debugger/test/mochitest/code_binary_search_absolute.js 187devtools/client/debugger/test/mochitest/code_math.min.js 188devtools/client/debugger/test/mochitest/code_math_bogus_map.js 189devtools/client/debugger/test/mochitest/code_ugly* 190devtools/client/debugger/test/mochitest/code_worker-source-map.js 191devtools/client/framework/test/code_ugly* 192devtools/client/inspector/markup/test/events_bundle.js 193devtools/client/netmonitor/test/xhr_bundle.js 194devtools/client/webconsole/new-console-output/test/mochitest/code_bundle_nosource.js 195devtools/client/webconsole/new-console-output/test/mochitest/code_bundle_invalidmap.js 196devtools/server/tests/unit/babel_and_browserify_script_with_source_map.js 197devtools/server/tests/unit/setBreakpoint* 198devtools/server/tests/unit/sourcemapped.js 199 200# dom/ exclusions 201dom/abort/** 202dom/animation/** 203dom/archivereader/** 204dom/asmjscache/** 205dom/audiochannel/** 206dom/base/** 207dom/battery/** 208dom/bindings/** 209dom/broadcastchannel/** 210dom/browser-element/** 211dom/cache/test/mochitest/** 212dom/cache/test/xpcshell/** 213dom/canvas/** 214dom/commandhandler/** 215dom/console/** 216dom/crypto/** 217dom/devicestorage/** 218dom/encoding/** 219dom/events/** 220dom/fetch/** 221dom/file/** 222dom/filehandle/** 223dom/filesystem/** 224dom/flex/** 225dom/flyweb/** 226dom/gamepad/** 227dom/geolocation/** 228dom/grid/** 229dom/html/** 230dom/imptests/** 231dom/interfaces/** 232dom/ipc/** 233dom/json/** 234dom/jsurl/** 235dom/locales/** 236dom/manifest/** 237dom/mathml/** 238dom/media/** 239!dom/media/*.js* 240dom/messagechannel/** 241dom/midi/** 242dom/network/** 243dom/notification/Notification*.* 244dom/notification/test/browser/** 245dom/notification/test/unit/** 246dom/notification/test/mochitest/** 247dom/offline/** 248dom/payments/** 249dom/performance/** 250dom/permission/** 251dom/plugins/test/mochitest/** 252dom/plugins/test/unit/** 253dom/power/** 254dom/presentation/Presentation*.js 255dom/presentation/provider/** 256dom/presentation/tests/mochitest/** 257dom/presentation/tests/xpcshell/** 258dom/promise/** 259dom/push/** 260dom/quota/** 261dom/res/** 262dom/secureelement/** 263dom/security/test/contentverifier/** 264dom/security/test/cors/** 265dom/security/test/csp/** 266dom/security/test/general/** 267dom/security/test/hsts/** 268dom/security/test/mixedcontentblocker/** 269dom/security/test/sri/** 270dom/security/test/unit/** 271dom/serviceworkers/** 272dom/smil/** 273dom/storage/** 274dom/svg/** 275dom/system/** 276dom/tests/browser/** 277dom/tests/html/** 278dom/tests/js/** 279dom/tests/mochitest/** 280dom/tests/unit/** 281dom/time/** 282dom/u2f/** 283dom/url/** 284dom/vr/** 285dom/webauthn/** 286dom/webbrowserpersist/** 287dom/webidl/** 288dom/websocket/** 289dom/workers/** 290dom/worklet/** 291dom/xbl/** 292dom/xhr/** 293dom/xml/** 294dom/xslt/** 295dom/xul/** 296 297# Third-party 298dom/media/webvtt/** 299 300# Third-party 301gfx/ots/** 302gfx/skia/** 303 304# intl/ exclusions 305intl/icu/** 306intl/locale/** 307intl/strres/** 308intl/uconv/** 309 310# Exclude everything but self-hosted JS 311js/ductwork/** 312js/examples/** 313js/ipc/** 314js/public/** 315js/xpconnect/** 316js/src/devtools/** 317js/src/octane/** 318js/src/jit-test/** 319js/src/jsapi-tests/binast/** 320js/src/tests/** 321js/src/Y.js 322 323# Third-party 324media/webrtc/trunk/** 325 326# mobile/android/ exclusions 327mobile/android/tests/browser/chrome/tp5/** 328 329# Uses `#filter substitution` 330mobile/android/app/mobile.js 331mobile/android/app/geckoview-prefs.js 332 333# Uses `#expand` 334mobile/android/chrome/content/about.js 335 336# Not much JS to lint and non-standard at that 337mobile/android/installer/ 338mobile/android/locales/ 339 340# Non-standard `(catch ex if ...)` 341mobile/android/chrome/content/browser.js 342mobile/android/components/Snippets.js 343 344# Only contains non-standard test files. 345python/** 346 347# security/ exclusions (pref files). 348security/manager/ssl/security-prefs.js 349 350# NSS / taskcluster only. 351security/nss/** 352 353# services/ exclusions 354 355# Uses `#filter substitution` 356services/sync/modules/constants.js 357services/sync/services-sync.js 358 359# Servo is imported. 360servo/** 361 362# Remote protocol exclusions 363testing/marionette/test_*.js 364testing/marionette/atom.js 365testing/marionette/legacyaction.js 366testing/marionette/client 367testing/marionette/doc 368testing/marionette/harness 369 370# other testing/ exclusions 371testing/mochitest/** 372# third party modules 373testing/modules/ajv-4.1.1.js 374testing/modules/sinon-2.3.2.js 375# octothorpe used for pref file comment causes parsing error 376testing/mozbase/mozprofile/tests/files/prefs_with_comments.js 377testing/talos/talos/scripts/jszip.min.js 378testing/talos/talos/startup_test/sessionrestore/profile/sessionstore.js 379testing/talos/talos/startup_test/sessionrestore/profile-manywindows/sessionstore.js 380testing/talos/talos/tests/canvasmark/** 381testing/talos/talos/tests/devtools/addon/content/pages/** 382testing/talos/talos/tests/dromaeo/** 383testing/talos/talos/tests/v8_7/** 384testing/talos/talos/tests/kraken/** 385# Runing Talos may extract data here, see bug 1435677. 386testing/talos/talos/tests/tp5n/** 387 388testing/web-platform/** 389testing/xpcshell/moz-http2/** 390testing/xpcshell/node-http2/** 391 392# Third party services 393services/common/kinto-http-client.js 394services/common/kinto-offline-client.js 395 396# toolkit/ exclusions 397 398# Not part of the default build 399toolkit/components/help/** 400 401# Intentionally invalid JS 402toolkit/components/workerloader/tests/moduleF-syntax-error.js 403 404# Tests old non-star function generators 405toolkit/modules/tests/xpcshell/test_task.js 406 407# External code: 408toolkit/components/microformats/test/** 409toolkit/components/microformats/microformat-shiv.js 410toolkit/components/reader/Readability.js 411toolkit/components/reader/JSDOMParser.js 412toolkit/components/payments/res/vendor/* 413 414# Uses preprocessing 415toolkit/content/widgets/wizard.xml 416toolkit/components/osfile/osfile.jsm 417toolkit/components/urlformatter/nsURLFormatter.js 418toolkit/modules/AppConstants.jsm 419toolkit/mozapps/downloads/nsHelperAppDlg.js 420toolkit/mozapps/update/tests/data/xpcshellConstantsPP.js 421tools/tryselect/selectors/chooser/templates/chooser.html 422 423# Third party 424toolkit/modules/third_party/** 425third_party/** 426