gecko-dev/.eslintrc.js
2019-03-25 16:49:03 +00:00

92 lines
3.3 KiB
JavaScript

"use strict";
module.exports = {
// New rules and configurations should generally be added in
// tools/lint/eslint/eslint-plugin-mozilla/lib/configs/recommended.js to
// allow external repositories that use the plugin to pick them up as well.
"extends": [
"plugin:mozilla/recommended"
],
"plugins": [
"mozilla"
],
// The html plugin is enabled via a command line option on eslint. To avoid
// bad interactions with the xml preprocessor in eslint-plugin-mozilla, we
// turn off processing of the html plugin for .xml files.
"settings": {
"html/xml-extensions": [ ".xhtml" ]
},
"overrides": [{
// eslint-plugin-html handles eol-last slightly different - it applies to
// each set of script tags, so we turn it off here.
"files": "**/*.*html",
"rules": {
"eol-last": "off",
}
}, {
// These xbl bindings are assumed to be in the browser-window environment,
// we would mark it in the files, but ESLint made this more difficult with
// our xml processor, so we list them here. Bug 1397874 & co are working
// towards removing these files completely.
"files": [
"browser/base/content/tabbrowser.xml",
"browser/base/content/urlbarBindings.xml",
"browser/components/search/content/search.xml",
"browser/components/translation/translation-infobar.xml",
"toolkit/components/prompts/content/tabprompts.xml"
],
"env": {
"mozilla/browser-window": true
}
}, {
// TODO: Bug 1513639. Temporarily turn off reject-importGlobalProperties
// due to other ESLint enabling happening in DOM.
"files": "dom/**",
"rules": {
"mozilla/reject-importGlobalProperties": "off",
}
}, {
// TODO: Bug 1515949. Enable no-undef for gfx/
"files": "gfx/layers/apz/test/mochitest/**",
"rules": {
"no-undef": "off",
}
}, {
// TODO: Bug 1246594. Empty this list once the rule has landed for all dirs
"files": [
"gfx/layers/apz/test/mochitest/**",
"mobile/android/components/**",
"mobile/android/modules/**",
"modules/libmar/tests/unit/head_libmar.js",
"netwerk/protocol/http/WellKnownOpportunisticUtils.jsm",
"netwerk/test/httpserver/httpd.js",
"netwerk/test/httpserver/test/**",
"parser/htmlparser/tests/mochitest/parser_datreader.js",
"testing/marionette/event.js",
"testing/mochitest/**",
"testing/modules/tests/xpcshell/test_assert.js",
"testing/specialpowers/content/specialpowersAPI.js",
"testing/talos/talos/**",
"toolkit/components/aboutmemory/content/aboutMemory.js",
"toolkit/components/captivedetect/test/unit/test_multiple_requests.js",
"toolkit/components/cleardata/ServiceWorkerCleanUp.jsm",
"toolkit/components/ctypes/**",
"toolkit/components/downloads/**",
"toolkit/components/places/tests/**",
"toolkit/components/processsingleton/MainProcessSingleton.jsm",
"toolkit/components/prompts/**",
"toolkit/components/search/SearchService.jsm",
"toolkit/components/telemetry/app/TelemetryEnvironment.jsm",
"toolkit/content/**",
"toolkit/modules/**",
"toolkit/mozapps/**",
"tools/leak-gauge/leak-gauge.html",
"xpcom/tests/unit/test_iniParser.js",
],
"rules": {
"no-throw-literal": "off",
}
}]
};