.eslintignore
author Andrew Halberstadt <ahalberstadt@mozilla.com>
Tue, 30 Aug 2016 14:28:56 -0400
changeset 311990 f5c7a3d60bd9498b63f94faefad4f4e3f1205175
parent 311488 bd4bde4a36491ff72ecbf6e5bbbe79739fde4786
child 312069 fdf90317de6820adc8c2b9b1e70f8d11fa859636
permissions -rw-r--r--
Bug 1258341 - Modify 'eslint' implementation to work with the mozlint framework, r=smacleod This integrates 'eslint' with the mozlint framework. The old |mach eslint| command is kept around for backwards compatibility and will simply dispatch to |mach lint|. But |mach lint| should be preferred as the old command may eventually be removed. The old |mach eslint| command should be mostly backwards compatible with a few exceptions: 1. Can no longer define --extensions on the command line, this is instead hardcoded into eslint.lint. 2. No longer using eslint formatters. However, the default mozlint formatter should be identical to the default eslint formatter, so developers should not notice a change. This does mean that non-default eslint formatters can no longer be used unless a mozlint copy of them is created. 3. Installs dependencies automatically without prompting the user. This was necessary due to python multiprocessing limitations, but is actually also a better UX. Because the npm dependencies aren't global anymore, there isn't really any reason *not* to install them automatically. Apart from that, any difference from the old |mach eslint| I'd consider a bug. The main eslint implementation now lives in tools/lint/eslint.lint instead of tools/lint/mach_commands.py. MozReview-Commit-ID: KYhC6SEySC3

# 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/**
caps/**
chrome/**
config/**
db/**
docshell/**
dom/**
editor/**
embedding/**
extensions/**
gfx/**
gradle/**
hal/**
image/**
intl/**
ipc/**
js/**
layout/**
media/**
memory/**
mfbt/**
modules/**
mozglue/**
netwerk/**
nsprpub/**
other-licenses/**
parser/**
probes/**
python/**
rdf/**
startupcache/**
testing/**
!tools/lint/eslint/eslint-plugin-mozilla/
tools/lint/eslint/eslint-plugin-mozilla/node_modules/**
tools/**
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/base/content/browser-social.js
browser/base/content/nsContextMenu.js
browser/base/content/sanitizeDialog.js
browser/base/content/test/**
browser/base/content/newtab/**
browser/components/downloads/**
browser/components/feeds/**
browser/components/privatebrowsing/**
browser/components/sessionstore/**
browser/components/tabview/**
browser/components/translation/**
browser/extensions/pdfjs/**
browser/extensions/pocket/content/panels/js/vendor/**
browser/locales/**

# devtools/ exclusions
devtools/client/canvasdebugger/**
devtools/client/commandline/**
devtools/client/debugger/**
devtools/client/eyedropper/**
devtools/client/framework/**
!devtools/client/framework/selection.js
devtools/client/jsonview/lib/**
devtools/client/memory/**
devtools/client/netmonitor/test/**
devtools/client/netmonitor/har/test/**
devtools/client/projecteditor/**
devtools/client/promisedebugger/**
devtools/client/responsivedesign/**
devtools/client/scratchpad/**
devtools/client/shadereditor/**
devtools/client/shared/*.jsm
devtools/client/shared/webgl-utils.js
devtools/client/shared/developer-toolbar.js
devtools/client/shared/components/test/**
devtools/client/shared/redux/middleware/test/**
devtools/client/shared/test/**
!devtools/client/shared/test/test-actor-registry.js
devtools/client/shared/widgets/*.jsm
devtools/client/sourceeditor/test/*.js
devtools/client/webaudioeditor/**
devtools/client/webconsole/**
!devtools/client/webconsole/panel.js
!devtools/client/webconsole/jsterm.js
!devtools/client/webconsole/console-commands.js
devtools/client/webide/**
!devtools/client/webide/components/webideCli.js
devtools/server/*.js
devtools/server/*.jsm
!devtools/server/child.js
!devtools/server/css-logic.js
!devtools/server/main.js
!devtools/server/websocket-server.js
devtools/server/actors/**
!devtools/server/actors/inspector.js
!devtools/server/actors/highlighters/css-grid.js
!devtools/server/actors/highlighters/eye-dropper.js
!devtools/server/actors/webbrowser.js
!devtools/server/actors/webextension.js
!devtools/server/actors/styles.js
!devtools/server/actors/string.js
!devtools/server/actors/csscoverage.js
devtools/server/performance/**
devtools/server/tests/**
devtools/shared/*.js
!devtools/shared/async-storage.js
!devtools/shared/async-utils.js
!devtools/shared/css-lexer.js
!devtools/shared/defer.js
!devtools/shared/event-emitter.js
!devtools/shared/indentation.js
!devtools/shared/loader-plugin-raw.jsm
!devtools/shared/task.js
devtools/shared/*.jsm
!devtools/shared/Loader.jsm
devtools/shared/apps/**
devtools/shared/client/**
devtools/shared/discovery/**
devtools/shared/gcli/**
!devtools/shared/gcli/templater.js
devtools/shared/heapsnapshot/**
devtools/shared/layout/**
devtools/shared/locales/**
devtools/shared/performance/**
!devtools/shared/platform/**
devtools/shared/qrcode/**
devtools/shared/security/**
devtools/shared/shims/**
devtools/shared/tests/**
!devtools/shared/tests/unit/test_csslexer.js
devtools/shared/touch/**
devtools/shared/transport/**
!devtools/shared/transport/transport.js
!devtools/shared/transport/websocket-transport.js
devtools/shared/webconsole/test/**
devtools/shared/worker/**
!devtools/shared/worker/worker.js

# 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/client/sourceeditor/tern/*
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/vendor/*
devtools/client/sourceeditor/codemirror/*.js
devtools/client/sourceeditor/codemirror/**/*.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/server/tests/unit/babel_and_browserify_script_with_source_map.js
devtools/server/tests/unit/setBreakpoint*

# mobile/android/ exclusions
mobile/android/chrome/content
mobile/android/tests/

# 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/components/Snippets.js

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

# services/ exclusions

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

# 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/reader/Readability.js
toolkit/components/reader/JSDOMParser.js

# Uses preprocessing
toolkit/content/widgets/wizard.xml
toolkit/components/jsdownloads/src/DownloadIntegration.jsm
toolkit/components/search/nsSearchService.js
toolkit/components/url-classifier/**
toolkit/components/urlformatter/nsURLFormatter.js
toolkit/identity/FirefoxAccounts.jsm
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/**