.eslintignore
author Mike Shal <mshal@mozilla.com>
Thu, 24 Aug 2017 22:52:01 -0400
changeset 434519 cb773c661e0ca0bf297e977343076bef34411523
parent 434458 27bf9dc1839e5feb9bb59c1c554819319e39aa49
child 434588 d939f110bf2ebed1243c8b7ca540957b6b72b109
permissions -rw-r--r--
Bug 1402012 - Update buildconfig.py to use PartialConfigEnvironment; r=glandium By using the PartialConfigEnvironment, the clients of buildconfig will depend on config.statusd/ files instead of config.status directly. Clients can access substs and defines using buildconfig.substs['FOO'] or buildconfig.defines['BAR'], and then collect file-level dependencies for make using buildconfig.get_dependencies(). All GENERATED_FILES rules already make use of this because file_generate.py automatically includes these dependencies (along with all python modules loaded). As a result of this commit, re-running configure will no longer cause the world to be rebuilt. Although config.status is updated, no build steps use config.status directly and instead depend on values in config.statusd/, which are written with FileAvoidWrite. Since those files are not official targets according to the make backend, make won't try to continually rebuild the backend when those files are out of date. And since they are FileAvoidWrite, make will only re-run dependent steps if the actual configure value has changed. As a result of using JSON to load data from the config.statusd directory, substs can be unicode (instead of a bare string type). generate_certdata.py converts the subst manually to a string so the value can be exported to the environment without issue on Windows. Additionally, patching the buildconfig.substs dict no longer works, so the unit-symbolstore.py test was modified to patch the underlying buildconfig.substs._dict instead. The other files that needed to be modified make use of all the defines for the preprocessor. Those that are used during 'mach build' now use buildconfig.defines['ALLDEFINES'], which maps to a special FileAvoidWrite file generated for the PartialConfigEnvironment. MozReview-Commit-ID: 2pJ4s3TVeS8

# 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.
chrome/**
config/**
docshell/**
editor/**
embedding/**
extensions/cookie/**
extensions/spellcheck/**
extensions/universalchardet/**
gfx/**
image/**
intl/**
ipc/**
layout/**
media/**
memory/**
modules/**
netwerk/**
parser/**
python/**
rdf/**
servo/**
tools/update-packaging/**
uriloader/**
view/**
widget/**
xpcom/**

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

# 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
# New tab is likely to be replaced soon.
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
# generated & special files in cld2
browser/components/translation/cld2/**
# Screenshots and Follow-on search are imported as a system add-on and have
# their own lint rules currently.
browser/extensions/followonsearch/**
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/**
# generated or library files in activity-stream
browser/extensions/activity-stream/data/content/activity-stream.bundle.js
browser/extensions/activity-stream/vendor/**
# 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/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/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/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/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

# Ignore devtools preferences files
devtools/client/preferences/**
devtools/shim/devtools-startup-prefs.js

# 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_binary_search_absolute.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/client/netmonitor/test/xhr_bundle.js
devtools/client/webconsole/new-console-output/test/mochitest/code_bundle_nosource.js
devtools/client/webconsole/new-console-output/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

# 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/media/*.js*
dom/messagechannel/**
dom/network/**
dom/notification/**
dom/offline/**
dom/payments/**
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/**

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

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

# 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

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

# other testing/ exclusions
testing/mochitest/**
# third party modules
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/canvasmark/**
testing/talos/talos/tests/dromaeo/**
testing/talos/talos/tests/v8_7/**
testing/talos/talos/tests/kraken/**

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
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

# 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/osfile/osfile.jsm
toolkit/components/urlformatter/nsURLFormatter.js
toolkit/modules/AppConstants.jsm
toolkit/mozapps/downloads/nsHelperAppDlg.js
toolkit/mozapps/update/tests/data/xpcshellConstantsPP.js

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