.eslintignore
author Gregory Szorc <gps@mozilla.com>
Mon, 08 May 2017 17:19:05 -0700
changeset 360045 a0e257e346ccf3c1db332ec5903241f4eeb9a7ee
parent 359936 e82c93c18e8d9b2f5b820a672b55ee467f27a985
child 360199 ec3dbc16d7bba15c5dd3fc8c2b67052b1831a01f
permissions -rw-r--r--
Bug 1359965 - Support and generate tar.gz WPT archive; r=glandium Several years ago there was a single zip file for all test files. Clients would only extract the files they needed. Thus, zip was a reasonable archive format because it allowed direct access to members without having to decompress the entirety of the stream. We have since split up that monolithic archive into separate, domain-specific archives. e.g. 1 archive for mochitests and one for xpcshell tests. This drastically cut down on network I/O required on testers because they only fetched archives/data that was relevant. It also enabled parallel generation of test archives, we shaved dozens of seconds off builds due to compression being a long pole. Despite the architectural changes to test archive management, we still used zip files. This is not ideal because we no longer access specific files in test archives and thus don't care about single/partial member access performance. This commit implements support for generating tar.gz test archives. And it switches the web-platform archive to a tar.gz file. The performance implications for archive generation are significant: before: 48,321,250 bytes; 6.05s after: 31,844,267 bytes; 4.57s The size is reduced because we have a single compression context so data from 1 file can benefit compression in a subsequent file. CPU usage is reduced because the compressor has to work less with 1 context than it does with N. While I didn't measure it, decompression performance should also be improved for the same reasons. And of course network I/O will be reduced. mozharness consumers use a generic method for handling unarchiving. This method automagically handles multiple file extensions. So as long as downstream consumers aren't hard coding ".zip" this change should "just work." MozReview-Commit-ID: LQa5MIHLsms

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

# 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.
addon-sdk/**
build/**
chrome/**
config/**
db/**
docshell/**
editor/**
embedding/**
extensions/**
gfx/**
gradle/**
hal/**
image/**
intl/**
ipc/**
layout/**
media/**
memory/**
mfbt/**
modules/**
mozglue/**
netwerk/**
nsprpub/**
other-licenses/**
parser/**
probes/**
python/**
rdf/**
servo/**
startupcache/**
testing/**
tools/update-packaging/**
uriloader/**
view/**
widget/**
xpcom/**
xpfe/**
xulrunner/**

# b2g exclusions (pref files).
b2g/app/b2g.js
b2g/graphene/graphene.js
b2g/locales/en-US/b2g-l10n.js

# browser/ exclusions
browser/app/**
browser/branding/**/firefox-branding.js
browser/base/content/test/general/file_csp_block_all_mixedcontent.html
# Gzipped test file.
browser/base/content/test/general/gZipOfflineChild.html
browser/base/content/test/urlbar/file_blank_but_not_blank.html
browser/base/content/newtab/**
# 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
browser/components/tabview/**
# generated & special files in cld2
browser/components/translation/cld2/**
# Screenshots is imported as a system add-on and has its own lint rules currently.
browser/extensions/screenshots/**
browser/extensions/pdfjs/content/build**
browser/extensions/pdfjs/content/web**
# generated or library files in pocket
browser/extensions/pocket/content/panels/js/tmpl.js
browser/extensions/pocket/content/panels/js/vendor/**
browser/locales/**
# generated or library files in activity-stream
browser/extensions/activity-stream/data/content/activity-stream.bundle.js
browser/extensions/activity-stream/vendor/**
# imported from chromium
browser/extensions/mortar/**

# devtools/ exclusions
devtools/client/canvasdebugger/**
devtools/client/commandline/**
devtools/client/debugger/**
devtools/client/framework/**
!devtools/client/framework/devtools.js
!devtools/client/framework/devtools-browser.js
!devtools/client/framework/selection.js
!devtools/client/framework/target*
!devtools/client/framework/toolbox*
devtools/client/inspector/markup/test/doc_markup_events_*.html
devtools/client/inspector/rules/test/doc_media_queries.html
devtools/client/memory/test/chrome/*.html
devtools/client/performance/components/test/test_jit_optimizations_01.html
devtools/client/projecteditor/**
devtools/client/responsive.html/test/browser/touch.html
devtools/client/responsivedesign/**
!devtools/client/responsivedesign/responsivedesign.jsm
devtools/client/scratchpad/**
devtools/client/shadereditor/**
devtools/client/shared/*.jsm
devtools/client/shared/components/reps/reps.js
devtools/client/shared/components/reps/test/mochitest/*.html
!devtools/client/shared/components/reps/test/mochitest/test_reps_infinity.html
!devtools/client/shared/components/reps/test/mochitest/test_reps_nan.html
!devtools/client/shared/components/reps/test/mochitest/test_reps_promise.html
!devtools/client/shared/components/reps/test/mochitest/test_reps_symbol.html
!devtools/client/shared/components/reps/test/mochitest/test_reps_text-node.html
devtools/client/shared/components/test/mochitest/*.html
!devtools/client/shared/components/test/mochitest/test_stack-trace.html
devtools/client/shared/shim/test/test_*.html
devtools/client/shared/test/browser_toolbar_webconsole_errors_count.html
devtools/client/shared/webgl-utils.js
devtools/client/shared/widgets/*.jsm
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/client/webaudioeditor/**
devtools/client/webconsole/net/**
devtools/client/webconsole/test/**
devtools/client/webconsole/console-output.js
devtools/client/webconsole/hudservice.js
devtools/client/webconsole/webconsole-connection-proxy.js
devtools/client/webconsole/webconsole.js
devtools/client/webide/**
!devtools/client/webide/components/webideCli.js
devtools/server/tests/browser/storage-*.html
!devtools/server/tests/browser/storage-unsecured-iframe.html
devtools/server/tests/browser/stylesheets-nested-iframes.html
devtools/server/tests/unit/xpcshell_debugging_script.js
devtools/shared/platform/content/test/test_clipboard.html
devtools/shared/qrcode/tests/mochitest/test_decode.html
devtools/shared/tests/mochitest/*.html
devtools/shared/webconsole/test/test_*.html

# Ignore devtools pre-processed files
devtools/client/framework/toolbox-process-window.js
devtools/client/performance/system.js
devtools/client/webide/webide-prefs.js
devtools/client/preferences/**

# Ignore devtools third-party libs
devtools/shared/jsbeautify/*
devtools/shared/acorn/*
devtools/shared/gcli/source/*
devtools/shared/node-properties/*
devtools/shared/pretty-fast/*
devtools/shared/sourcemap/*
devtools/shared/sprintfjs/*
devtools/shared/qrcode/decoder/*
devtools/shared/qrcode/encoder/*
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/client/inspector/markup/test/lib_*
devtools/client/jsonview/lib/require.js
devtools/server/actors/utils/automation-timeline.js

# Ignore devtools files testing sourcemaps / code style
devtools/client/debugger/test/mochitest/code_binary_search.js
devtools/client/debugger/test/mochitest/code_math.min.js
devtools/client/debugger/test/mochitest/code_math_bogus_map.js
devtools/client/debugger/test/mochitest/code_ugly*
devtools/client/debugger/test/mochitest/code_worker-source-map.js
devtools/client/framework/test/code_ugly*
devtools/client/inspector/markup/test/events_bundle.js
devtools/server/tests/unit/babel_and_browserify_script_with_source_map.js
devtools/server/tests/unit/setBreakpoint*
devtools/server/tests/unit/sourcemapped.js

# dom/ exclusions
dom/animation/**
dom/archivereader/**
dom/asmjscache/**
dom/audiochannel/**
dom/base/**
dom/battery/**
dom/bindings/**
dom/broadcastchannel/**
dom/browser-element/**
dom/cache/**
dom/canvas/**
dom/commandhandler/**
dom/console/**
dom/crypto/**
dom/devicestorage/**
dom/encoding/**
dom/events/**
dom/fetch/**
dom/file/**
dom/filehandle/**
dom/filesystem/**
dom/flyweb/**
dom/gamepad/**
dom/geolocation/**
dom/grid/**
dom/html/**
dom/imptests/**
dom/interfaces/**
dom/ipc/**
dom/json/**
dom/jsurl/**
dom/locales/**
dom/manifest/**
dom/mathml/**
dom/media/**
dom/messagechannel/**
dom/network/**
dom/notification/**
dom/offline/**
dom/performance/**
dom/permission/**
dom/plugins/**
dom/power/**
dom/presentation/**
dom/promise/**
dom/push/**
dom/quota/**
dom/res/**
dom/secureelement/**
dom/security/**
dom/smil/**
dom/storage/**
dom/svg/**
dom/system/**
dom/tests/**
dom/time/**
dom/u2f/**
dom/url/**
dom/vr/**
dom/webauthn/**
dom/webbrowserpersist/**
dom/webidl/**
dom/workers/**
dom/worklet/**
dom/xbl/**
dom/xhr/**
dom/xml/**
dom/xslt/**
dom/xul/**

# 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/tests/**
js/src/Y.js

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

# Uses `#filter substitution`
mobile/android/b2gdroid/app/b2gdroid.js
mobile/android/app/mobile.js
mobile/android/chrome/content/healthreport-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
mobile/android/components/Snippets.js

# Bug 1178739: Ignore this file as a quick fix for "Illegal yield expression"
mobile/android/modules/HomeProvider.jsm

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

#NSS
security/nss/**

# services/ exclusions

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

# Third party services
services/common/kinto-http-client.js
services/common/kinto-offline-client.js
services/sync/tps/extensions/mozmill

# toolkit/ exclusions

# Not part of the default build
toolkit/components/help/**

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

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

# Not yet updated
toolkit/components/osfile/**

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

# Uses preprocessing
toolkit/content/widgets/wizard.xml
toolkit/components/jsdownloads/src/DownloadIntegration.jsm
toolkit/components/url-classifier/**
toolkit/components/urlformatter/nsURLFormatter.js
toolkit/modules/AppConstants.jsm
toolkit/mozapps/downloads/nsHelperAppDlg.js
toolkit/mozapps/extensions/internal/AddonConstants.jsm
toolkit/mozapps/update/tests/data/xpcshellConstantsPP.js
toolkit/webapps/**

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