# Exclude everything by default, then include all the formats we support. *.* !*.js !*.jsm !*.mjs !*.jsx !*.sjs # Not currently enabled, but planning to soon. # !*.html # !*.xhtml # !*.json # This should be re-enabled in bug 1827456. js/src/builtin # Don't format README files. README # Ignore default pref files which have a .js suffix but aren't parsed normally as JavaScript. browser/app/profile/channel-prefs.js browser/app/profile/firefox.js browser/branding/aurora/pref/firefox-branding.js browser/branding/nightly/pref/firefox-branding.js browser/branding/official/pref/firefox-branding.js browser/branding/unofficial/pref/firefox-branding.js devtools/client/preferences/debugger.js extensions/pref/autoconfig/test/unit/autoconfig.js mobile/android/app/geckoview-prefs.js mobile/android/app/mobile.js mobile/android/installer/mobile-l10n.js modules/libpref/init/all.js modules/libpref/test/unit/data/testParser.js modules/libpref/test/unit/data/testPrefLocked.js modules/libpref/test/unit/data/testPrefSticky.js modules/libpref/test/unit/extdata/testExt.js services/sync/tests/unit/prefs_test_prefs_store.js # Ignore testing pref files which aren't parsed normally. testing/profiles/**/user.js # Ignore CORS fixtures which require specific resource hashes. dom/security/test/sri/script* # Ignore other DOM fixtures with funky chars. dom/base/test/file_bug687859-charset.js dom/base/test/file_bug687859-inherit.js # Ignore devtools debugger files devtools/client/debugger/src/test/examples/** devtools/client/debugger/src/test/integration/** devtools/client/debugger/src/test/unit-sources/** devtools/client/debugger/src/**/fixtures/** devtools/client/debugger/src/test/mochitest/** # These are source mapped and the locations are asserted in the test case. devtools/client/webconsole/test/browser/test-mangled-function.* # This file is based on another and we want to keep the syntax the same. devtools/shared/plural-form.js # Intentionally broken files parser/htmlparser/tests/mochitest/broken_xml.xhtml parser/htmlparser/tests/mochitest/test_bug563322.xhtml # Ignore backgroundtasks preferences files. toolkit/components/backgroundtasks/defaults # A mainly-imported file, that we don't want to format, but want to keep an eye # on with the other imported files. toolkit/components/formautofill/CreditCardRuleset.sys.mjs ############################################################################## # The list below is copied from .eslintignore. Prettier doesn't currently # support multiple ignore files or dynamic ignore configurations. # When this is implemented, we'll update the configuration below (bug 1825508) ############################################################################## # Always ignore crashtests - specially crafted files that originally caused a # crash. **/crashtests/ # Also ignore reftest - specially crafted to produce expected output. **/reftest/ **/reftests/ # Exclude expected objdirs. obj*/ # build/ third-party code build/pgo/js-input/ # browser/ exclusions browser/app/ browser/branding/**/firefox-branding.js # Gzipped test file. browser/base/content/test/general/gZipOfflineChild.html browser/base/content/test/urlbar/file_blank_but_not_blank.html # Test files that are really json not js, and don't need to be linted. browser/components/sessionstore/test/unit/data/sessionstore_valid.js browser/components/sessionstore/test/unit/data/sessionstore_invalid.js # This file is split into two in order to keep it as a valid json file # for documentation purposes (policies.json) but to be accessed by the # code as a .jsm (schema.jsm) browser/components/enterprisepolicies/schemas/schema.jsm # generated or library files in pocket browser/components/pocket/content/panels/js/tmpl.js browser/components/pocket/content/panels/js/vendor.bundle.js browser/components/pocket/content/panels/js/main.bundle.js # Include the Storybook config files. !browser/components/storybook/.storybook/ !browser/components/storybook/.storybook/*.js # Ignore newtab files browser/components/newtab/aboutwelcome/content/aboutwelcome.bundle.js browser/components/newtab/data/ browser/components/newtab/logs/ # The only file in browser/locales/ is pre-processed. browser/locales/ # Generated data files browser/extensions/formautofill/phonenumberutils/PhoneNumberMetaData.jsm # Ignore devtools debugger files which aren't intended for linting, and also # aren't included in any .eslintignore or .prettierignore file. # See https://github.com/firefox-devtools/debugger/blob/master/package.json#L24 devtools/client/debugger/bin/ devtools/client/debugger/configs/ devtools/client/debugger/dist/ devtools/client/debugger/images/ devtools/client/debugger/packages/ devtools/client/debugger/test/mochitest/examples/ devtools/client/debugger/index.html devtools/client/debugger/webpack.config.js # Ignore devtools preferences files devtools/client/preferences/ # Ignore devtools generated code devtools/shared/css/generated/properties-db.js devtools/client/webconsole/test/node/fixtures/stubs/*.js !devtools/client/webconsole/test/node/fixtures/stubs/index.js devtools/client/shared/components/test/node/stubs/reps/*.js devtools/client/shared/source-map-loader/test/browser/fixtures/*.js # Ignore devtools files testing sourcemaps / code style devtools/client/framework/test/code_* devtools/client/inspector/markup/test/events_bundle.js devtools/client/netmonitor/test/xhr_bundle.js devtools/client/webconsole/test/browser/code_bundle_nosource.js devtools/client/webconsole/test/browser/code_bundle_invalidmap.js devtools/client/webconsole/test/browser/test-autocomplete-mapped.js devtools/client/webconsole/test/browser/test-autocomplete-mapped.src.js devtools/client/inspector/markup/test/shadowdom_open_debugger.min.js devtools/client/webconsole/test/browser/test-click-function-to-source*.js devtools/client/webconsole/test/browser/test-external-script-errors.js devtools/client/webconsole/test/browser/test-message-categories-canvas-css.js devtools/client/webconsole/test/browser/test-message-categories-empty-getelementbyid.js devtools/client/webconsole/test/browser/test-sourcemap*.js devtools/server/tests/xpcshell/setBreakpoint* devtools/server/tests/xpcshell/sourcemapped.js # Ignore generated code from wasm-bindgen devtools/client/performance-new/shared/profiler_get_symbols.js # Testing syntax error devtools/client/webconsole/test/browser/test-syntaxerror-worklet.js # devtools specific format test file devtools/server/tests/xpcshell/xpcshell_debugging_script.js # Generated dom/canvas/test/webgl-conf/generated/ # Intentionally invalid/not parsable dom/html/test/test_bug677658.html dom/svg/test/test_nonAnimStrings.xhtml dom/svg/test/test_SVG_namespace_ids.html # Strange encodings dom/base/test/file_bug687859-16.js dom/encoding/test/test_utf16_files.html dom/encoding/test/file_utf16_be_bom.js dom/encoding/test/file_utf16_le_bom.js # Service workers fixtures which require specific resource caching. dom/base/test/file_js_cache.js dom/serviceworkers/test/file_js_cache.js # Intentional broken files dom/base/test/file_js_cache_syntax_error.js dom/base/test/jsmodules/test_syntaxError.html dom/base/test/jsmodules/test_syntaxErrorAsync.html dom/base/test/jsmodules/module_badSyntax.js dom/base/test/jsmodules/test_syntaxErrorInline.html dom/base/test/jsmodules/test_syntaxErrorInlineAsync.html dom/base/test/test_bug687859.html dom/media/webrtc/tests/mochitests/identity/idp-bad.js dom/serviceworkers/test/file_js_cache_syntax_error.js dom/serviceworkers/test/parse_error_worker.js dom/tests/mochitest/bugs/test_bug531176.html dom/webauthn/tests/cbor.js dom/workers/test/importScripts_worker_imported3.js dom/workers/test/invalid.js dom/workers/test/threadErrors_worker1.js # Bug 1527075: This directory is linted in github repository intl/l10n/ # Exclude everything but self-hosted JS js/examples/ js/public/ js/src/devtools/ js/src/jit-test/ js/src/tests/ js/src/Y.js # Changes to XPConnect tests must be carefully audited. js/xpconnect/tests/mochitest/ js/xpconnect/tests/unit/ # Fuzzing code for testing only, targeting the JS shell js/src/fuzz-tests/ # Uses `#filter substitution` mobile/android/app/mobile.js mobile/android/app/geckoview-prefs.js # Not much JS to lint and non-standard at that mobile/android/installer/ mobile/android/locales/ # Pre-processed/pref files modules/libpref/greprefs.js modules/libpref/init/all.js modules/libpref/test/unit/*data/ # Only contains non-standard test files. python/ # These are (mainly) imported code that we don't want to lint to make imports easier. remote/cdp/Protocol.sys.mjs remote/cdp/test/browser/chrome-remote-interface.js remote/marionette/atom.sys.mjs # This file explicitly has a syntax error and cannot be parsed by eslint. remote/shared/messagehandler/test/browser/resources/modules/root/invalid.sys.mjs # services/ exclusions # Third party services services/common/kinto-http-client.js services/common/kinto-offline-client.js # Webpack-bundled library services/fxaccounts/FxAccountsPairingChannel.sys.mjs # Servo is imported. servo/ # Test files that we don't want to lint (preprocessed, minified etc) testing/condprofile/condprof/tests/profile testing/mozbase/mozprofile/tests/files/prefs_with_comments.js testing/talos/talos/startup_test/sessionrestore/profile/sessionstore.js testing/talos/talos/startup_test/sessionrestore/profile-manywindows/sessionstore.js testing/talos/talos/tests/devtools/addon/content/pages/ # Runing Talos may extract data here, see bug 1435677. testing/talos/talos/tests/tp5n/ testing/talos/talos/fis/tp5n/ # Mainly third-party related code, that shouldn't be linted. testing/web-platform/ # toolkit/ exclusions # Intentionally invalid JS toolkit/components/workerloader/tests/moduleF-syntax-error.js # Built files toolkit/components/pdfjs/content/build toolkit/components/pdfjs/content/web # External code: toolkit/components/reader/Readability.js toolkit/components/reader/Readability-readerable.js toolkit/components/reader/JSDOMParser.js # Uses preprocessing toolkit/components/reader/Readerable.sys.mjs # Generated & special files in cld2 toolkit/components/translation/cld2/ # Uses preprocessing toolkit/mozapps/update/tests/data/xpcshellConstantsPP.js toolkit/modules/AppConstants.sys.mjs # Tests of ESLint command. tools/lint/test/files # Uses special template formatting. tools/tryselect/selectors/chooser/templates/chooser.html # Ignore preprocessed *(P)refs.js files in update-packaging. tools/update-packaging/**/*refs.js # Ignore backgroundtasks preferences files. toolkit/components/backgroundtasks/defaults # Ignore pre-generated webpack and typescript transpiled files for translations browser/extensions/translations/extension/ # "scaffolding" used by uniffi which isn't valid JS in its original form. toolkit/components/uniffi-bindgen-gecko-js/src/templates/js/ toolkit/components/uniffi-bindgen-gecko-js/components/generated/* ############################################################################## # The list below is copied from ThirdPartyPaths.txt. Prettier doesn't currently # support multiple ignore files or dynamic ignore configurations. # When this is implemented, we'll update the configuration below (bug 1825508) ############################################################################## browser/components/newtab/vendor/ browser/components/pocket/content/panels/js/vendor/ browser/components/storybook/node_modules/ browser/extensions/formautofill/content/third-party/ browser/extensions/formautofill/test/fixtures/third_party/ browser/extensions/screenshots/build/raven.js devtools/client/inspector/markup/test/lib_* devtools/client/jsonview/lib/require.js devtools/client/shared/build/babel.js devtools/client/shared/source-map/ devtools/client/shared/sourceeditor/codemirror/ devtools/client/shared/sourceeditor/test/cm_mode_ruby.js devtools/client/shared/sourceeditor/test/codemirror/ devtools/client/shared/vendor/ devtools/client/inspector/markup/test/helper_diff.js devtools/shared/acorn/ devtools/shared/heapsnapshot/CoreDump.pb.cc devtools/shared/heapsnapshot/CoreDump.pb.h devtools/shared/jsbeautify/ devtools/shared/node-properties/ devtools/shared/qrcode/decoder/ devtools/shared/qrcode/encoder/ devtools/shared/sprintfjs/ devtools/shared/storage/vendor/ dom/canvas/test/webgl-conf/checkout/ dom/imptests/ dom/media/gmp/rlz/ dom/media/gmp/widevine-adapter/content_decryption_module_export.h dom/media/gmp/widevine-adapter/content_decryption_module_ext.h dom/media/gmp/widevine-adapter/content_decryption_module.h dom/media/gmp/widevine-adapter/content_decryption_module_proxy.h dom/media/platforms/ffmpeg/ffmpeg57/ dom/media/platforms/ffmpeg/ffmpeg58/ dom/media/platforms/ffmpeg/ffmpeg59/ dom/media/platforms/ffmpeg/ffmpeg60/ dom/media/platforms/ffmpeg/libav53/ dom/media/platforms/ffmpeg/libav54/ dom/media/platforms/ffmpeg/libav55/ dom/media/webaudio/test/blink/ dom/media/webrtc/tests/mochitests/helpers_from_wpt/sdp.js dom/media/webrtc/transport/third_party/ dom/media/webspeech/recognition/endpointer.cc dom/media/webspeech/recognition/endpointer.h dom/media/webspeech/recognition/energy_endpointer.cc dom/media/webspeech/recognition/energy_endpointer.h dom/media/webspeech/recognition/energy_endpointer_params.cc dom/media/webspeech/recognition/energy_endpointer_params.h dom/media/webvtt/vtt.sys.mjs dom/tests/mochitest/ajax/ dom/tests/mochitest/dom-level1-core/ dom/tests/mochitest/dom-level2-core/ dom/tests/mochitest/dom-level2-html/ dom/u2f/tests/pkijs/ dom/webauthn/cbor-cpp/ dom/webauthn/tests/pkijs/ dom/webgpu/tests/cts/checkout/ editor/libeditor/tests/browserscope/lib/richtext/ editor/libeditor/tests/browserscope/lib/richtext2/ extensions/spellcheck/hunspell/src/ function2/ gfx/angle/checkout/ gfx/cairo/ gfx/graphite2/ gfx/harfbuzz/ gfx/ots/ gfx/qcms/ gfx/sfntly/ gfx/skia/ gfx/vr/service/openvr/ gfx/vr/service/openvr/headers/openvr.h gfx/vr/service/openvr/src/README gfx/vr/service/openvr/src/dirtools_public.cpp gfx/vr/service/openvr/src/dirtools_public.h gfx/vr/service/openvr/src/envvartools_public.cpp gfx/vr/service/openvr/src/envvartools_public.h gfx/vr/service/openvr/src/hmderrors_public.cpp gfx/vr/service/openvr/src/hmderrors_public.h gfx/vr/service/openvr/src/ivrclientcore.h gfx/vr/service/openvr/src/openvr_api_public.cpp gfx/vr/service/openvr/src/pathtools_public.cpp gfx/vr/service/openvr/src/pathtools_public.h gfx/vr/service/openvr/src/sharedlibtools_public.cpp gfx/vr/service/openvr/src/sharedlibtools_public.h gfx/vr/service/openvr/src/strtools_public.cpp gfx/vr/service/openvr/src/strtools_public.h gfx/vr/service/openvr/src/vrpathregistry_public.cpp gfx/vr/service/openvr/src/vrpathregistry_public.h gfx/wr/ gfx/ycbcr/ intl/icu/ ipc/chromium/src/third_party/ js/src/ctypes/libffi/ js/src/dtoa.c js/src/editline/ js/src/jit/arm64/vixl/ js/src/octane/ js/src/vtune/disable_warnings.h js/src/vtune/ittnotify_config.h js/src/vtune/ittnotify.h js/src/vtune/ittnotify_static.c js/src/vtune/ittnotify_static.h js/src/vtune/ittnotify_types.h js/src/vtune/jitprofiling.c js/src/vtune/jitprofiling.h js/src/vtune/legacy/ js/src/zydis/ layout/docs/css-gap-decorations/ media/ffvpx/ media/kiss_fft/ media/libaom/ media/libcubeb/ media/libdav1d/ media/libjpeg/ media/libmkv/ media/libnestegg/ media/libogg/ media/libopus/ media/libpng/ media/libsoundtouch/ media/libspeex_resampler/ media/libtheora/ media/libtremor/ media/libvorbis/ media/libvpx/ media/libwebp/ media/libyuv/ media/mozva/va media/mp4parse-rust/ media/openmax_dl/ media/openmax_il/ media/webrtc/signaling/gtest/MockCall.h mfbt/double-conversion/double-conversion/ mfbt/lz4/.* mobile/android/exoplayer2/ modules/brotli/ modules/fdlibm/ modules/freetype2/ modules/woff2/ modules/xz-embedded/ modules/zlib/ mozglue/misc/decimal/ mozglue/tests/glibc_printf_tests/ netwerk/dns/nsIDNKitInterface.h netwerk/sctp/src/ netwerk/srtp/src/ nsprpub/ other-licenses/ parser/expat/ remote/cdp/test/browser/chrome-remote-interface.js remote/test/puppeteer/ security/nss/ security/sandbox/chromium/ security/sandbox/chromium-shim/ testing/gtest/gmock/ testing/gtest/gtest/ testing/mochitest/MochiKit/ testing/mochitest/pywebsocket3/ testing/mochitest/tests/MochiKit-1.4.2/ testing/modules/sinon-7.2.7.js testing/mozbase/mozproxy/mozproxy/backends/mitm/scripts/catapult/ testing/talos/talos/tests/dromaeo/ testing/talos/talos/tests/kraken/ testing/talos/talos/tests/v8_7/ testing/web-platform/tests/resources/webidl2/ testing/web-platform/tests/tools/third_party/ testing/web-platform/mozilla/tests/webgpu/ testing/xpcshell/dns-packet/ testing/xpcshell/node_ip/ testing/xpcshell/node-http2/ testing/xpcshell/node-ws/ testing/xpcshell/odoh-wasm/ third_party/ toolkit/components/certviewer/content/vendor/ toolkit/components/jsoncpp/ toolkit/components/normandy/vendor/ toolkit/components/passwordmgr/PasswordRulesParser.sys.mjs toolkit/components/protobuf/ toolkit/components/translation/cld2/ toolkit/components/translations/bergamot-translator toolkit/components/translations/fasttext/fasttext.js toolkit/components/translations/fasttext/fasttext_wasm.js toolkit/components/url-classifier/chromium/ toolkit/components/utils/mozjexl.js toolkit/components/viaduct/fetch_msg_types.pb.cc toolkit/components/viaduct/fetch_msg_types.pb.h toolkit/content/widgets/vendor/lit.all.mjs toolkit/crashreporter/breakpad-client/ toolkit/crashreporter/google-breakpad/ tools/fuzzing/libfuzzer/ tools/profiler/core/vtune/ xpcom/build/mach_override.c xpcom/build/mach_override.h xpcom/io/crc32c.c ############################################################################## # The list below is copied from Generated.txt. Prettier doesn't currently # support multiple ignore files or dynamic ignore configurations. # When this is implemented, we'll update the configuration below (bug 1825508) ############################################################################## browser/components/newtab/logs/ browser/components/newtab/node_modules/ browser/components/storybook/storybook-static/ devtools/client/aboutdebugging/test/jest/node_modules/ devtools/client/application/test/components/node_modules/ devtools/client/debugger/node_modules/ dom/tests/ajax/jquery/ dom/tests/ajax/mochikit/ node_modules/ intl/components/src/UnicodeScriptCodes.h intl/unicharutil/util/nsSpecialCasingData.cpp intl/unicharutil/util/nsUnicodePropertyData.cpp testing/talos/talos/tests/devtools/addon/content/pages/custom/debugger/static/js/minified.js toolkit/components/pdfjs/content/PdfJsDefaultPreferences.sys.mjs toolkit/components/uniffi-js/UniFFIGeneratedScaffolding.cpp toolkit/components/uniffi-js/UniFFIFixtureScaffolding.cpp toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated