1 # Always ignore node_modules.
4 # Always ignore crashtests - specially crafted files that originally caused a
7 # Also ignore reftest - specially crafted to produce expected output.
11 # Exclude expected objdirs.
14 # dom/ exclusions which should be removed (aka ESLint enabled)
16 !dom/media/test/marionette/yttest/*.js
18 # build/ third-party code
23 browser/branding/**/firefox-branding.js
25 browser/base/content/test/general/gZipOfflineChild.html
26 browser/base/content/test/urlbar/file_blank_but_not_blank.html
28 browser/components/payments/res/vendor/
29 # Test files that are really json not js, and don't need to be linted.
30 browser/components/sessionstore/test/unit/data/sessionstore_valid.js
31 browser/components/sessionstore/test/unit/data/sessionstore_invalid.js
32 # This file is split into two in order to keep it as a valid json file
33 # for documentation purposes (policies.json) but to be accessed by the
34 # code as a .jsm (schema.jsm)
35 browser/components/enterprisepolicies/schemas/schema.jsm
36 # generated & special files in cld2
37 browser/components/translation/cld2/
38 # Screenshots is imported as a system add-on and has
39 # their own lint rules currently.
40 browser/extensions/screenshots/
41 browser/extensions/pdfjs/content/build
42 browser/extensions/pdfjs/content/web
43 # generated or library files in pocket
44 browser/components/pocket/content/panels/js/tmpl.js
45 browser/components/pocket/content/panels/js/vendor/
48 # Kept in sync with browser/components/newtab/.eslintignore
49 browser/components/newtab/data/
50 browser/components/newtab/logs/
51 browser/components/newtab/vendor/
53 # The only file in browser/locales/ is pre-processed.
55 # imported from chromium
56 browser/extensions/mortar/
57 # Generated data files
58 browser/extensions/formautofill/phonenumberutils/PhoneNumberMetaData.jsm
60 # devtools/ exclusions
61 devtools/client/inspector/markup/test/doc_markup_events_*.html
62 devtools/client/performance/components/test/test_jit_optimizations_01.html
63 devtools/client/shared/test/*.html
64 devtools/client/shared/components/test/mochitest/*.html
65 !devtools/client/shared/components/test/mochitest/test_stack-trace.html
66 devtools/server/tests/browser/storage-*.html
67 !devtools/server/tests/browser/storage-unsecured-iframe.html
68 devtools/server/tests/browser/stylesheets-nested-iframes.html
69 devtools/shared/qrcode/tests/mochitest/test_decode.html
70 devtools/shared/tests/mochitest/*.html
71 devtools/shared/webconsole/test/test_*.html
72 devtools/client/webreplay/mochitest/examples/*.html
74 # Ignore devtools debugger files
75 # Keep in sync with devtools/client/debugger/.eslintignore
76 devtools/client/debugger/assets/*
77 devtools/client/debugger/src/test/examples/
78 devtools/client/debugger/src/test/integration/
79 devtools/client/debugger/src/test/unit-sources/
80 devtools/client/debugger/src/**/fixtures/
81 devtools/client/debugger/src/test/mochitest/
82 devtools/client/debugger/bin/
83 devtools/client/debugger/packages/**/fixtures/
84 devtools/client/debugger/node_modules
85 devtools/client/debugger/out
86 devtools/client/webreplay/mochitest/examples/
88 # Ignore devtools debugger files which aren't intended for linting, and also
89 # aren't included in any .eslintignore or .prettierignore file.
90 # See https://github.com/firefox-devtools/debugger/blob/master/package.json#L24
91 devtools/client/debugger/configs/
92 devtools/client/debugger/dist/
93 devtools/client/debugger/flow-typed/
94 devtools/client/debugger/images/
95 devtools/client/debugger/test/
96 devtools/client/debugger/index.html
98 # Ignore devtools imported repositories
99 devtools/client/shared/components/reps/
101 # Ignore devtools preferences files
102 devtools/client/preferences/
104 # Ignore devtools generated code
105 devtools/shared/css/generated/properties-db.js
106 devtools/client/webconsole/test/node/fixtures/stubs/*.js
107 !devtools/client/webconsole/test/node/fixtures/stubs/index.js
109 # Ignore devtools third-party libs
110 devtools/shared/jsbeautify/
111 devtools/shared/acorn/
112 devtools/shared/node-properties/
113 devtools/shared/pretty-fast/
114 devtools/shared/sourcemap/
115 devtools/shared/sprintfjs/
116 devtools/shared/qrcode/decoder/
117 devtools/shared/qrcode/encoder/
118 devtools/client/inspector/markup/test/lib_*
119 devtools/client/jsonview/lib/require.js
120 devtools/client/shared/demangle.js
121 devtools/client/shared/source-map/
122 devtools/client/shared/vendor/
123 devtools/client/shared/sourceeditor/codemirror/*.js
124 devtools/client/shared/sourceeditor/codemirror/**/*.js
125 devtools/client/shared/sourceeditor/tern/
126 devtools/client/shared/sourceeditor/test/cm_mode_ruby.js
127 devtools/client/shared/sourceeditor/test/codemirror/
128 devtools/server/actors/utils/automation-timeline.js
130 # Ignore devtools files testing sourcemaps / code style
131 devtools/client/debugger/test/mochitest/code_*.js
132 devtools/client/framework/test/code_*
133 devtools/client/inspector/markup/test/events_bundle.js
134 devtools/client/netmonitor/test/xhr_bundle.js
135 devtools/client/webconsole/test/browser/code_bundle_nosource.js
136 devtools/client/webconsole/test/browser/code_bundle_invalidmap.js
137 devtools/server/tests/unit/babel_and_browserify_script_with_source_map.js
138 devtools/server/tests/unit/setBreakpoint*
139 devtools/server/tests/unit/sourcemapped.js
141 # Testing syntax error
142 devtools/client/webconsole/test/browser/test-syntaxerror-worklet.js
144 # devtools specific format test file
145 devtools/server/tests/unit/xpcshell_debugging_script.js
148 dom/canvas/test/webgl-conf/
150 dom/media/webaudio/test/blink/
152 dom/svg/test/test_nonAnimStrings.xhtml
153 dom/svg/test/test_SVG_namespace_ids.html
156 dom/base/test/file_bug687859-16.js
157 dom/encoding/test/test_utf16_files.html
158 dom/encoding/test/file_utf16_be_bom.js
159 dom/encoding/test/file_utf16_le_bom.js
162 dom/tests/mochitest/general/test_focusrings.xul
163 dom/html/test/test_bug677658.html
165 # Service workers fixtures which require specific resource caching.
166 dom/base/test/file_js_cache.js
167 dom/serviceworkers/test/file_js_cache.js
169 # Intentional broken files
170 dom/base/test/file_js_cache_syntax_error.js
171 dom/base/test/jsmodules/test_syntaxError.html
172 dom/base/test/jsmodules/test_syntaxErrorAsync.html
173 dom/base/test/jsmodules/module_badSyntax.js
174 dom/base/test/jsmodules/test_syntaxErrorInline.html
175 dom/base/test/jsmodules/test_syntaxErrorInlineAsync.html
176 dom/base/test/test_bug687859.html
177 dom/media/tests/mochitest/identity/idp-bad.js
178 dom/serviceworkers/test/file_js_cache_syntax_error.js
179 dom/serviceworkers/test/parse_error_worker.js
180 dom/tests/mochitest/bugs/test_bug531176.html
181 dom/webauthn/tests/cbor.js
182 dom/workers/test/importScripts_worker_imported3.js
183 dom/workers/test/invalid.js
184 dom/workers/test/threadErrors_worker1.js
187 editor/libeditor/tests/browserscope/
199 # Bug 1527075: This directory is linted in github repository
203 layout/mathml/imptests/
205 # Exclude everything but self-hosted JS
214 js/src/jsapi-tests/binast/
221 # mobile/android/ exclusions
222 mobile/android/tests/browser/chrome/tp5/
224 # Uses `#filter substitution`
225 mobile/android/app/mobile.js
226 mobile/android/app/geckoview-prefs.js
229 mobile/android/chrome/content/about.js
231 # Not much JS to lint and non-standard at that
232 mobile/android/installer/
233 mobile/android/locales/
235 # Pre-processed/pref files
236 modules/libpref/greprefs.js
237 modules/libpref/init/all.js
238 modules/libpref/test/unit/*data/
240 # Only contains non-standard test files.
245 remote/server/HTTPD.jsm
246 remote/server/Packet.jsm
247 remote/server/Socket.jsm
248 remote/server/Stream.jsm
249 remote/test/browser/chrome-remote-interface.js
251 remote/test/puppeteer/
253 # NSS / taskcluster only.
256 # services/ exclusions
258 # Third party services
259 services/common/kinto-http-client.js
260 services/common/kinto-offline-client.js
262 # Webpack-bundled library
263 services/fxaccounts/FxAccountsPairingChannel.js
265 # Uses `#filter substitution`
266 services/sync/modules/constants.js
271 # Remote protocol exclusions
272 testing/marionette/atom.js
273 testing/marionette/legacyaction.js
274 testing/marionette/client
275 testing/marionette/doc
276 testing/marionette/harness
278 # other testing/ exclusions
279 # third party modules
280 testing/mochitest/tests/Harness_sanity/
281 testing/mochitest/MochiKit/
282 testing/mochitest/tests/MochiKit-1.4.2/
283 testing/mochitest/tests/SimpleTest/
284 testing/modules/ajv-4.1.1.js
285 testing/modules/sinon-7.2.7.js
286 # octothorpe used for pref file comment causes parsing error
287 testing/mozbase/mozprofile/tests/files/prefs_with_comments.js
289 # Mozproxy third party
290 testing/mozbase/mozproxy/mozproxy/backends/mitm/scripts/catapult/
292 testing/talos/talos/scripts/jszip.min.js
293 testing/talos/talos/startup_test/sessionrestore/profile/sessionstore.js
294 testing/talos/talos/startup_test/sessionrestore/profile-manywindows/sessionstore.js
295 testing/talos/talos/tests/devtools/addon/content/pages/
296 testing/talos/talos/tests/dromaeo/
297 testing/talos/talos/tests/v8_7/
298 testing/talos/talos/tests/kraken/
299 # Runing Talos may extract data here, see bug 1435677.
300 testing/talos/talos/tests/tp5n/
302 testing/web-platform/
303 testing/xpcshell/moz-http2/
304 testing/xpcshell/node-http2/
305 testing/xpcshell/dns-packet/
306 testing/xpcshell/node-ip/
312 # toolkit/ exclusions
314 # Ignore generated code from wasm-bindgen
315 toolkit/components/extensions/profiler_get_symbols.js
317 # Intentionally invalid JS
318 toolkit/components/workerloader/tests/moduleF-syntax-error.js
321 toolkit/components/reader/Readability.js
322 toolkit/components/reader/JSDOMParser.js
325 toolkit/components/reader/Readerable.jsm
328 toolkit/mozapps/update/tests/data/xpcshellConstantsPP.js
329 toolkit/modules/AppConstants.jsm
331 # Tests old non-star function generators
332 toolkit/modules/tests/xpcshell/test_task.js
335 toolkit/modules/third_party/
337 tools/tryselect/selectors/chooser/templates/chooser.html
339 # Ignore preprocessed *(P)refs.js files in update-packaging.
340 tools/update-packaging/**/*refs.js