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