.eslintignore
author Petru Lingurar <petru.lingurar@softvision.ro>
Fri, 21 Dec 2018 08:56:47 +0000
changeset 501492 65621d0fe1262af0643cec37c23b2d9ec42588ad
parent 499421 474b2a78d4fac1f3006c198ad063449ded904e8d
child 501678 406ca9722ffaa14caf02923c541942725f835d32
permissions -rw-r--r--
Bug 1513938 - Enforce a Bundle size limit and drop `privateSession` if exceeds it. r=JanH, a=jcristau The `privateSession` key would normally allow persisting the Private Browsing session across OOMs in Activity's Bundle. We need to do that to avoid storing private, sensible data on disk like we do with the normal browsing session. In some cases `privateSession` would contain a lot of data which, along with other possible concurrent transactions could overflow Binder's buffer which has a limited fixed size, currently 1Mb. To avoid this, we will drop `privateSession` from the Bundle if the resulting size is greater than a _speculative_ size of 300KBs which would mean that in the case of an OOM all Private Browsing state would be lost. Bug 1515592 is filed to investigate for a better solution. Differential Revision: https://phabricator.services.mozilla.com/D15067

# Always ignore node_modules.
**/node_modules/**/*.*

# 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*/**

# We ignore all these directories by default, until we get them enabled.
# If you are enabling a directory, please add directory specific exclusions
# below.
docshell/**
extensions/cookie/**
extensions/spellcheck/**
extensions/universalchardet/**
gfx/layers/**
gfx/tests/browser/**
gfx/tests/chrome/**
gfx/tests/mochitest/**
image/**
layout/**
memory/replace/dmd/test/**
modules/**
netwerk/base/NetUtil.jsm
netwerk/cookie/test/browser/**
netwerk/cookie/test/unit/**
netwerk/protocol/**
netwerk/dns/**
netwerk/test/browser/**
netwerk/test/httpserver/**
netwerk/test/mochitests/**
netwerk/test/unit*/**
netwerk/wifi/**
parser/**
tools/update-packaging/**
uriloader/exthandler/**
uriloader/exthandler/tests/mochitest/**
widget/headless/tests/**
widget/tests/**

# We currently have no js files in these directories, so we ignore them by
# default to aid ESLint's performance.
build/**
config/**
db/**
embedding/**
gradle/**
hal/**
mfbt/**
mozglue/**
nsprpub/**
other-licenses/**
startupcache/**
xpfe/**

# These directories only contain crashtests, but we still skip the whole
# directory to aid performance.
view/**

# 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 & special files in cld2
browser/components/translation/cld2/**
# Screenshots is imported as a system add-on and has
# their own lint rules currently.
browser/extensions/screenshots/**
browser/extensions/pdfjs/content/build**
browser/extensions/pdfjs/content/web**
# generated or library files in pocket
browser/components/pocket/content/panels/js/tmpl.js
browser/components/pocket/content/panels/js/vendor/**
# Activity Stream has incompatible eslintrc. `npm run lint` from its directory
browser/components/newtab/**
# The only file in browser/locales/ is pre-processed.
browser/locales/**
# imported from chromium
browser/extensions/mortar/**
# Generated data files
browser/extensions/formautofill/phonenumberutils/PhoneNumberMetaData.jsm

# devtools/ exclusions
devtools/client/inspector/markup/test/doc_markup_events_*.html
devtools/client/inspector/rules/test/doc_media_queries.html
devtools/client/performance/components/test/test_jit_optimizations_01.html
devtools/client/responsive.html/test/browser/touch.html
devtools/client/shared/components/test/mochitest/*.html
!devtools/client/shared/components/test/mochitest/test_stack-trace.html
devtools/client/storage/test/*.html
!devtools/client/storage/test/storage-cookies.html
!devtools/client/storage/test/storage-overflow.html
!devtools/client/storage/test/storage-search.html
!devtools/client/storage/test/storage-unsecured-iframe.html
!devtools/client/storage/test/storage-unsecured-iframe-usercontextid.html
devtools/server/tests/browser/storage-*.html
!devtools/server/tests/browser/storage-unsecured-iframe.html
devtools/server/tests/browser/stylesheets-nested-iframes.html
devtools/client/shared/webpack/shims/test/test_clipboard.html
devtools/shared/qrcode/tests/mochitest/test_decode.html
devtools/shared/tests/mochitest/*.html
devtools/shared/webconsole/test/test_*.html

# Soon to be removed, the new/ directory is explicitly excluded below due to
# also being an imported repository.
devtools/client/debugger/**

# Ignore devtools imported repositories
devtools/client/debugger/new/**
devtools/client/shared/components/reps/**

# Ignore devtools preferences files
devtools/client/preferences/**
devtools/client/webide/preferences/**
devtools/shared/preferences/**
devtools/startup/preferences/devtools-startup.js

# Ignore devtools generated code
devtools/shared/css/generated/properties-db.js
devtools/client/webconsole/test/fixtures/stubs/*.js
!devtools/client/webconsole/test/fixtures/stubs/index.js

# Ignore devtools third-party libs
devtools/shared/jsbeautify/*
devtools/shared/acorn/*
devtools/shared/node-properties/*
devtools/shared/pretty-fast/*
devtools/shared/sourcemap/*
devtools/shared/sprintfjs/*
devtools/shared/qrcode/decoder/*
devtools/shared/qrcode/encoder/*
devtools/client/inspector/markup/test/lib_*
devtools/client/jsonview/lib/require.js
devtools/client/shared/demangle.js
devtools/client/shared/source-map/*
devtools/client/shared/vendor/*
devtools/client/sourceeditor/codemirror/*.js
devtools/client/sourceeditor/codemirror/**/*.js
devtools/client/sourceeditor/tern/*
devtools/client/sourceeditor/test/cm_mode_ruby.js
devtools/client/sourceeditor/test/codemirror/*
devtools/server/actors/utils/automation-timeline.js

# Ignore devtools files testing sourcemaps / code style
devtools/client/debugger/test/mochitest/code_*.js
devtools/client/framework/test/code_*
devtools/client/inspector/markup/test/events_bundle.js
devtools/client/netmonitor/test/xhr_bundle.js
devtools/client/webconsole/test/mochitest/code_bundle_nosource.js
devtools/client/webconsole/test/mochitest/code_bundle_invalidmap.js
devtools/server/tests/unit/babel_and_browserify_script_with_source_map.js
devtools/server/tests/unit/setBreakpoint*
devtools/server/tests/unit/sourcemapped.js

# devtools specific format test file
devtools/server/tests/unit/xpcshell_debugging_script.js

# dom/ exclusions
dom/abort/**
dom/animation/**
dom/asmjscache/**
dom/audiochannel/**
dom/base/**
dom/battery/**
dom/bindings/**
dom/broadcastchannel/**
dom/browser-element/**
dom/cache/test/mochitest/**
dom/cache/test/xpcshell/**
dom/canvas/**
dom/commandhandler/**
dom/console/**
dom/crypto/**
dom/encoding/**
dom/events/**
dom/fetch/**
dom/file/**
dom/filehandle/**
dom/filesystem/**
dom/flex/**
dom/gamepad/**
dom/geolocation/**
dom/grid/**
dom/html/**
dom/imptests/**
dom/interfaces/**
dom/ipc/**
dom/jsurl/**
dom/locales/**
dom/manifest/**
dom/mathml/**
dom/media/test/**
dom/media/tests/**
dom/media/webaudio/**
dom/media/webspeech/**
dom/messagechannel/**
dom/midi/**
dom/network/**
dom/notification/Notification*.*
dom/notification/test/browser/**
dom/notification/test/mochitest/**
dom/offline/**
dom/payments/**
dom/performance/**
dom/permission/**
dom/plugins/test/mochitest/**
dom/plugins/test/unit/**
dom/power/**
dom/promise/**
dom/push/**
dom/quota/**
dom/res/**
dom/security/test/cors/**
dom/security/test/csp/**
dom/security/test/general/**
dom/security/test/mixedcontentblocker/**
dom/security/test/sri/**
dom/security/test/unit/**
dom/serviceworkers/**
dom/smil/**
dom/storage/**
dom/svg/**
dom/system/**
dom/tests/browser/**
dom/tests/html/**
dom/tests/js/**
dom/tests/mochitest/**
dom/tests/unit/**
dom/u2f/**
dom/url/**
dom/vr/**
dom/webauthn/**
dom/webbrowserpersist/**
dom/webgpu/**
dom/webidl/**
dom/websocket/**
dom/workers/**
dom/worklet/**
dom/xbl/**
dom/xhr/**
dom/xml/**
dom/xslt/**
dom/xul/**

# Third-party
dom/media/webvtt/**

# Third-party
editor/libeditor/tests/browserscope/**

# Third-party
gfx/ots/**
gfx/skia/**

# intl/ exclusions
intl/icu/**
intl/locale/**
intl/strres/**
intl/uconv/**

# Exclude everything but self-hosted JS
js/ductwork/**
js/examples/**
js/ipc/**
js/public/**
js/xpconnect/**
js/src/devtools/**
js/src/octane/**
js/src/jit-test/**
js/src/jsapi-tests/binast/**
js/src/tests/**
js/src/Y.js

# Third-party
media/webrtc/trunk/**

# mobile/android/ exclusions
mobile/android/tests/browser/chrome/tp5/**

# Uses `#filter substitution`
mobile/android/app/mobile.js
mobile/android/app/geckoview-prefs.js

# Uses `#expand`
mobile/android/chrome/content/about.js

# Not much JS to lint and non-standard at that
mobile/android/installer/
mobile/android/locales/

# Non-standard `(catch ex if ...)`
mobile/android/chrome/content/browser.js

# Only contains non-standard test files.
python/**

# security/ exclusions (pref files).
security/manager/ssl/security-prefs.js

# NSS / taskcluster only.
security/nss/**

# services/ exclusions

# Uses `#filter substitution`
services/sync/modules/constants.js
services/sync/services-sync.js

# Servo is imported.
servo/**

# Remote protocol exclusions
testing/marionette/atom.js
testing/marionette/legacyaction.js
testing/marionette/client
testing/marionette/doc
testing/marionette/harness

# other testing/ exclusions
# third party modules
testing/mochitest/tests/Harness_sanity/**
testing/mochitest/MochiKit/**
testing/mochitest/tests/MochiKit-1.4.2/**
testing/mochitest/tests/SimpleTest/**
testing/modules/ajv-4.1.1.js
testing/modules/sinon-2.3.2.js
# octothorpe used for pref file comment causes parsing error
testing/mozbase/mozprofile/tests/files/prefs_with_comments.js
testing/talos/talos/scripts/jszip.min.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/**
testing/talos/talos/tests/dromaeo/**
testing/talos/talos/tests/v8_7/**
testing/talos/talos/tests/kraken/**
# Runing Talos may extract data here, see bug 1435677.
testing/talos/talos/tests/tp5n/**

testing/web-platform/**
testing/xpcshell/moz-http2/**
testing/xpcshell/node-http2/**

# Third party services
services/common/kinto-http-client.js
services/common/kinto-offline-client.js

# toolkit/ exclusions

# Intentionally invalid JS
toolkit/components/workerloader/tests/moduleF-syntax-error.js

# Tests old non-star function generators
toolkit/modules/tests/xpcshell/test_task.js

# External code:
browser/components/payments/res/vendor/*
toolkit/components/microformats/test/**
toolkit/components/microformats/microformat-shiv.js
toolkit/components/reader/Readability.js
toolkit/components/reader/JSDOMParser.js

# Uses preprocessing
toolkit/components/reader/Readerable.jsm
toolkit/content/widgets/wizard.xml
toolkit/modules/AppConstants.jsm
toolkit/mozapps/update/tests/data/xpcshellConstantsPP.js

# Third party
toolkit/modules/third_party/**
third_party/**