2020-03-18 12:27:54 +03:00
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
|
2016-10-18 10:38:10 +03:00
|
|
|
"use strict";
|
|
|
|
|
2019-03-28 12:38:02 +03:00
|
|
|
const xpcshellTestConfig = require("eslint-plugin-mozilla/lib/configs/xpcshell-test.js");
|
|
|
|
const browserTestConfig = require("eslint-plugin-mozilla/lib/configs/browser-test.js");
|
|
|
|
const mochitestTestConfig = require("eslint-plugin-mozilla/lib/configs/mochitest-test.js");
|
|
|
|
const chromeTestConfig = require("eslint-plugin-mozilla/lib/configs/chrome-test.js");
|
2020-01-21 23:46:06 +03:00
|
|
|
const fs = require("fs");
|
2020-01-25 00:55:04 +03:00
|
|
|
const path = require("path");
|
2019-03-28 12:38:02 +03:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Some configurations have overrides, which can't be specified within overrides,
|
|
|
|
* so we need to remove them.
|
|
|
|
*/
|
|
|
|
function removeOverrides(config) {
|
|
|
|
config = { ...config };
|
|
|
|
delete config.overrides;
|
|
|
|
return config;
|
|
|
|
}
|
|
|
|
|
2021-10-11 14:07:02 +03:00
|
|
|
const xpcshellTestPaths = ["**/test*/unit*/**/", "**/test*/xpcshell/**/"];
|
2019-03-28 12:38:02 +03:00
|
|
|
|
2020-03-12 05:35:24 +03:00
|
|
|
const browserTestPaths = ["**/test*/**/browser*/"];
|
2019-03-28 12:38:02 +03:00
|
|
|
|
|
|
|
const mochitestTestPaths = [
|
2020-02-11 20:33:15 +03:00
|
|
|
// Note: we do not want to match testing/mochitest as that would apply
|
|
|
|
// too many globals for that directory.
|
|
|
|
"**/test/mochitest/",
|
|
|
|
"**/tests/mochitest/",
|
2020-04-07 19:00:03 +03:00
|
|
|
"**/test/mochitests/",
|
2020-02-11 20:33:15 +03:00
|
|
|
"testing/mochitest/tests/SimpleTest/",
|
2020-02-12 22:38:40 +03:00
|
|
|
"testing/mochitest/tests/Harness_sanity/",
|
2019-03-28 12:38:02 +03:00
|
|
|
];
|
|
|
|
|
|
|
|
const chromeTestPaths = ["**/test*/chrome/"];
|
|
|
|
|
2020-01-21 23:46:38 +03:00
|
|
|
const ignorePatterns = [
|
2020-01-25 00:55:04 +03:00
|
|
|
...fs
|
|
|
|
.readFileSync(
|
|
|
|
path.join(__dirname, "tools", "rewriting", "ThirdPartyPaths.txt")
|
|
|
|
)
|
2020-01-21 23:46:38 +03:00
|
|
|
.toString("utf-8")
|
|
|
|
.split("\n"),
|
2020-01-25 00:55:04 +03:00
|
|
|
...fs
|
|
|
|
.readFileSync(
|
|
|
|
path.join(__dirname, "devtools", "client", "debugger", ".eslintignore")
|
|
|
|
)
|
2020-01-21 23:46:38 +03:00
|
|
|
.toString("utf-8")
|
|
|
|
.split("\n")
|
|
|
|
.filter(p => p && !p.startsWith("#"))
|
|
|
|
.map(p => `devtools/client/debugger/${p}`),
|
|
|
|
];
|
2020-01-21 23:46:06 +03:00
|
|
|
|
2016-10-18 10:38:10 +03:00
|
|
|
module.exports = {
|
2021-04-04 11:05:39 +03:00
|
|
|
parser: "@babel/eslint-parser",
|
2020-03-13 22:15:11 +03:00
|
|
|
parserOptions: {
|
|
|
|
sourceType: "script",
|
|
|
|
babelOptions: {
|
|
|
|
configFile: path.join(__dirname, ".babel-eslint.rc.js"),
|
|
|
|
},
|
|
|
|
},
|
2020-01-21 23:46:06 +03:00
|
|
|
ignorePatterns,
|
2020-01-24 17:56:09 +03:00
|
|
|
// Ignore eslint configurations in parent directories.
|
|
|
|
root: true,
|
2017-04-25 22:12:21 +03:00
|
|
|
// 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"],
|
2015-09-30 16:44:48 +03:00
|
|
|
plugins: ["mozilla"],
|
2017-10-09 12:54:16 +03:00
|
|
|
overrides: [
|
2020-03-07 12:30:44 +03:00
|
|
|
{
|
|
|
|
// All .eslintrc.js files are in the node environment, so turn that
|
|
|
|
// on here.
|
|
|
|
// https://github.com/eslint/eslint/issues/13008
|
|
|
|
files: [".eslintrc.js"],
|
|
|
|
env: {
|
|
|
|
node: true,
|
|
|
|
browser: false,
|
|
|
|
},
|
|
|
|
},
|
2021-10-25 14:12:41 +03:00
|
|
|
{
|
|
|
|
files: "*.sjs",
|
|
|
|
rules: {
|
|
|
|
complexity: "warn",
|
|
|
|
"no-undef": "warn",
|
|
|
|
"no-empty": "warn",
|
|
|
|
"no-shadow": "warn",
|
|
|
|
"no-redeclare": "warn",
|
|
|
|
"no-unused-vars": "warn",
|
|
|
|
"no-fallthrough": "warn",
|
|
|
|
"no-control-regex": "warn",
|
|
|
|
"no-throw-literal": "warn",
|
|
|
|
"no-useless-concat": "warn",
|
|
|
|
"consistent-return": "warn",
|
|
|
|
"mozilla/use-cc-etc": "warn",
|
|
|
|
"mozilla/use-services": "warn",
|
|
|
|
"mozilla/use-includes-instead-of-indexOf": "warn",
|
|
|
|
"mozilla/no-compare-against-boolean-literals": "warn",
|
|
|
|
"mozilla/reject-importGlobalProperties": "warn",
|
|
|
|
},
|
|
|
|
},
|
2017-10-09 12:54:16 +03:00
|
|
|
{
|
2018-02-07 19:02:25 +03:00
|
|
|
files: [
|
2019-09-04 19:33:11 +03:00
|
|
|
"*.html",
|
|
|
|
"*.xhtml",
|
|
|
|
"*.xul",
|
|
|
|
"*.xml",
|
|
|
|
"js/src/builtin/**/*.js",
|
|
|
|
"js/src/shell/**/*.js",
|
2020-03-07 13:09:44 +03:00
|
|
|
],
|
|
|
|
rules: {
|
2019-09-04 19:33:11 +03:00
|
|
|
// Curly brackets are required for all the tree via recommended.js,
|
2019-03-28 12:38:02 +03:00
|
|
|
// however these files aren't auto-fixable at the moment.
|
2020-03-07 13:09:44 +03:00
|
|
|
curly: "off",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
2018-12-27 12:45:01 +03:00
|
|
|
// TODO: Bug 1515949. Enable no-undef for gfx/
|
2019-09-04 19:33:11 +03:00
|
|
|
files: "gfx/layers/apz/test/mochitest/**",
|
|
|
|
rules: {
|
|
|
|
"no-undef": "off",
|
2020-03-07 13:09:44 +03:00
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
2019-09-04 19:33:11 +03:00
|
|
|
...removeOverrides(xpcshellTestConfig),
|
2019-03-28 12:38:02 +03:00
|
|
|
files: xpcshellTestPaths.map(path => `${path}**`),
|
|
|
|
excludedFiles: "devtools/**",
|
2020-03-07 13:09:44 +03:00
|
|
|
},
|
|
|
|
{
|
2019-09-04 19:33:11 +03:00
|
|
|
// If it is an xpcshell head file, we turn off global unused variable checks, as it
|
|
|
|
// would require searching the other test files to know if they are used or not.
|
|
|
|
// This would be expensive and slow, and it isn't worth it for head files.
|
|
|
|
// We could get developers to declare as exported, but that doesn't seem worth it.
|
2019-03-28 12:38:02 +03:00
|
|
|
files: xpcshellTestPaths.map(path => `${path}head*.js`),
|
2020-03-07 13:09:44 +03:00
|
|
|
rules: {
|
2019-09-04 19:33:11 +03:00
|
|
|
"no-unused-vars": [
|
2020-03-07 13:09:44 +03:00
|
|
|
"error",
|
|
|
|
{
|
2019-03-28 12:38:02 +03:00
|
|
|
args: "none",
|
|
|
|
vars: "local",
|
2020-03-07 13:09:44 +03:00
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
|
|
|
},
|
2021-10-11 14:07:02 +03:00
|
|
|
{
|
|
|
|
// This section enables warning of no-unused-vars globally for all test*.js
|
|
|
|
// files in xpcshell test paths.
|
|
|
|
// These are turned into errors with selected exclusions in the next
|
|
|
|
// section.
|
|
|
|
// Bug 1612907: This section should go away once the exclusions are removed
|
|
|
|
// from the following section.
|
|
|
|
files: xpcshellTestPaths.map(path => `${path}test*.js`),
|
|
|
|
rules: {
|
|
|
|
// No declaring variables that are never used
|
|
|
|
"no-unused-vars": [
|
|
|
|
"warn",
|
|
|
|
{
|
|
|
|
args: "none",
|
|
|
|
vars: "all",
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
// This section makes global issues with no-unused-vars be reported as
|
|
|
|
// errors - except for the excluded lists which are being fixed in the
|
|
|
|
// dependencies of bug 1612907.
|
|
|
|
files: xpcshellTestPaths.map(path => `${path}test*.js`),
|
|
|
|
excludedFiles: [
|
|
|
|
// These are suitable as good first bugs, take one or two related lines
|
|
|
|
// per bug.
|
|
|
|
"caps/tests/unit/test_origin.js",
|
|
|
|
"caps/tests/unit/test_site_origin.js",
|
|
|
|
"chrome/test/unit/test_no_remote_registration.js",
|
|
|
|
"extensions/permissions/**",
|
|
|
|
"image/test/unit/**",
|
|
|
|
"intl/uconv/tests/unit/test_bug317216.js",
|
|
|
|
"intl/uconv/tests/unit/test_bug340714.js",
|
|
|
|
"modules/libjar/test/unit/test_empty_jar_telemetry.js",
|
|
|
|
"modules/libjar/zipwriter/test/unit/test_alignment.js",
|
|
|
|
"modules/libjar/zipwriter/test/unit/test_bug419769_2.js",
|
|
|
|
"modules/libjar/zipwriter/test/unit/test_storedata.js",
|
|
|
|
"modules/libjar/zipwriter/test/unit/test_zippermissions.js",
|
|
|
|
"modules/libpref/test/unit/test_changeType.js",
|
|
|
|
"modules/libpref/test/unit/test_dirtyPrefs.js",
|
|
|
|
"toolkit/crashreporter/test/unit/test_crash_AsyncShutdown.js",
|
|
|
|
"toolkit/mozapps/update/tests/unit_aus_update/testConstants.js",
|
|
|
|
"xpcom/tests/unit/test_hidden_files.js",
|
|
|
|
"xpcom/tests/unit/test_localfile.js",
|
|
|
|
|
|
|
|
// These are more complicated bugs which may require some in-depth
|
|
|
|
// investigation or different solutions. They are also likely to be
|
|
|
|
// a reasonable size.
|
|
|
|
"browser/components/**",
|
|
|
|
"browser/modules/**",
|
|
|
|
"dom/**",
|
|
|
|
"netwerk/**",
|
|
|
|
"security/manager/ssl/tests/unit/**",
|
|
|
|
"services/**",
|
|
|
|
"testing/xpcshell/**",
|
|
|
|
"toolkit/components/**",
|
|
|
|
"toolkit/modules/**",
|
|
|
|
],
|
|
|
|
rules: {
|
|
|
|
// No declaring variables that are never used
|
|
|
|
"no-unused-vars": [
|
|
|
|
"error",
|
|
|
|
{
|
|
|
|
args: "none",
|
|
|
|
vars: "all",
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
|
|
|
},
|
2020-03-07 13:09:44 +03:00
|
|
|
{
|
2019-03-28 12:38:02 +03:00
|
|
|
...browserTestConfig,
|
|
|
|
files: browserTestPaths.map(path => `${path}**`),
|
2020-03-07 13:09:44 +03:00
|
|
|
},
|
|
|
|
{
|
2019-03-28 12:38:02 +03:00
|
|
|
...removeOverrides(mochitestTestConfig),
|
|
|
|
files: mochitestTestPaths.map(path => `${path}**`),
|
2021-03-29 22:49:12 +03:00
|
|
|
excludedFiles: ["security/manager/ssl/tests/mochitest/browser/**"],
|
2020-03-07 13:09:44 +03:00
|
|
|
},
|
|
|
|
{
|
2019-09-04 19:33:11 +03:00
|
|
|
...removeOverrides(chromeTestConfig),
|
2019-03-28 12:38:02 +03:00
|
|
|
files: chromeTestPaths.map(path => `${path}**`),
|
2020-03-07 13:09:44 +03:00
|
|
|
},
|
|
|
|
{
|
2019-09-04 19:33:11 +03:00
|
|
|
env: {
|
2019-03-28 12:38:02 +03:00
|
|
|
// Ideally we wouldn't be using the simpletest env here, but our uses of
|
2019-09-04 19:33:11 +03:00
|
|
|
// js files mean we pick up everything from the global scope, which could
|
|
|
|
// be any one of a number of html files. So we just allow the basics...
|
|
|
|
"mozilla/simpletest": true,
|
2020-03-07 13:09:44 +03:00
|
|
|
},
|
|
|
|
files: [
|
2019-03-28 12:38:02 +03:00
|
|
|
...mochitestTestPaths.map(path => `${path}/**/*.js`),
|
|
|
|
...chromeTestPaths.map(path => `${path}/**/*.js`),
|
2020-03-07 13:09:44 +03:00
|
|
|
],
|
2019-09-04 19:33:11 +03:00
|
|
|
},
|
2018-12-27 12:45:01 +03:00
|
|
|
{
|
|
|
|
files: [
|
2019-05-29 13:50:37 +03:00
|
|
|
"netwerk/cookie/test/browser/**",
|
2018-12-27 12:45:01 +03:00
|
|
|
"netwerk/test/browser/**",
|
|
|
|
"netwerk/test/mochitests/**",
|
|
|
|
"netwerk/test/unit*/**",
|
2020-03-07 13:09:44 +03:00
|
|
|
],
|
2018-12-27 12:45:01 +03:00
|
|
|
rules: {
|
|
|
|
"mozilla/no-arbitrary-setTimeout": "off",
|
|
|
|
"mozilla/no-define-cc-etc": "off",
|
2019-03-28 12:38:02 +03:00
|
|
|
"mozilla/use-services": "off",
|
|
|
|
"consistent-return": "off",
|
|
|
|
"no-eval": "off",
|
|
|
|
"no-global-assign": "off",
|
|
|
|
"no-nested-ternary": "off",
|
|
|
|
"no-redeclare": "off",
|
|
|
|
"no-shadow": "off",
|
|
|
|
"no-throw-literal": "off",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
files: ["layout/**"],
|
2020-03-07 13:09:44 +03:00
|
|
|
rules: {
|
2019-03-28 12:38:02 +03:00
|
|
|
"object-shorthand": "off",
|
2019-05-29 13:50:49 +03:00
|
|
|
"mozilla/avoid-removeChild": "off",
|
2019-03-28 12:38:02 +03:00
|
|
|
"mozilla/consistent-if-bracing": "off",
|
|
|
|
"mozilla/reject-importGlobalProperties": "off",
|
2019-05-29 13:50:49 +03:00
|
|
|
"mozilla/no-arbitrary-setTimeout": "off",
|
2019-03-28 12:38:02 +03:00
|
|
|
"mozilla/no-define-cc-etc": "off",
|
|
|
|
"mozilla/use-chromeutils-generateqi": "off",
|
|
|
|
"mozilla/use-default-preference-values": "off",
|
|
|
|
"mozilla/use-includes-instead-of-indexOf": "off",
|
|
|
|
"mozilla/use-services": "off",
|
|
|
|
"mozilla/use-ownerGlobal": "off",
|
|
|
|
complexity: "off",
|
2019-05-29 13:50:49 +03:00
|
|
|
"consistent-return": "off",
|
2019-03-28 12:38:02 +03:00
|
|
|
"no-array-constructor": "off",
|
|
|
|
"no-caller": "off",
|
|
|
|
"no-cond-assign": "off",
|
|
|
|
"no-extra-boolean-cast": "off",
|
2019-05-29 13:50:49 +03:00
|
|
|
"no-eval": "off",
|
|
|
|
"no-func-assign": "off",
|
|
|
|
"no-global-assign": "off",
|
|
|
|
"no-implied-eval": "off",
|
|
|
|
"no-lonely-if": "off",
|
2019-03-28 12:38:02 +03:00
|
|
|
"no-nested-ternary": "off",
|
|
|
|
"no-new-wrappers": "off",
|
|
|
|
"no-redeclare": "off",
|
|
|
|
"no-restricted-globals": "off",
|
|
|
|
"no-return-await": "off",
|
|
|
|
"no-sequences": "off",
|
|
|
|
"no-throw-literal": "off",
|
|
|
|
"no-useless-concat": "off",
|
|
|
|
"no-undef": "off",
|
|
|
|
"no-unreachable": "off",
|
|
|
|
"no-unsanitized/method": "off",
|
|
|
|
"no-unsanitized/property": "off",
|
2019-05-29 13:50:49 +03:00
|
|
|
"no-unsafe-negation": "off",
|
2019-03-28 12:38:02 +03:00
|
|
|
"no-unused-vars": "off",
|
|
|
|
"no-useless-return": "off",
|
|
|
|
},
|
|
|
|
},
|
2020-03-07 13:09:44 +03:00
|
|
|
{
|
2019-03-28 12:38:02 +03:00
|
|
|
files: [
|
|
|
|
"dom/animation/**",
|
|
|
|
"dom/base/test/*.*",
|
2019-05-29 13:50:37 +03:00
|
|
|
"dom/base/test/unit/test_serializers_entities*.js",
|
|
|
|
"dom/base/test/unit_ipc/**",
|
|
|
|
"dom/base/test/jsmodules/**",
|
2019-06-13 23:21:46 +03:00
|
|
|
"dom/base/*.*",
|
2019-05-29 13:50:37 +03:00
|
|
|
"dom/canvas/**",
|
|
|
|
"dom/encoding/**",
|
|
|
|
"dom/events/**",
|
2019-06-13 23:21:46 +03:00
|
|
|
"dom/fetch/**",
|
2019-05-29 13:50:37 +03:00
|
|
|
"dom/file/**",
|
2019-06-13 23:21:46 +03:00
|
|
|
"dom/html/**",
|
|
|
|
"dom/jsurl/**",
|
2019-05-29 13:50:37 +03:00
|
|
|
"dom/media/tests/**",
|
|
|
|
"dom/media/webaudio/**",
|
2020-10-02 19:29:35 +03:00
|
|
|
"dom/media/webrtc/tests/**",
|
2019-05-29 13:50:37 +03:00
|
|
|
"dom/media/webspeech/**",
|
|
|
|
"dom/messagechannel/**",
|
|
|
|
"dom/midi/**",
|
|
|
|
"dom/network/**",
|
|
|
|
"dom/payments/**",
|
|
|
|
"dom/performance/**",
|
|
|
|
"dom/permission/**",
|
|
|
|
"dom/quota/**",
|
|
|
|
"dom/security/test/cors/**",
|
|
|
|
"dom/security/test/csp/**",
|
|
|
|
"dom/security/test/mixedcontentblocker/**",
|
2019-05-29 13:50:49 +03:00
|
|
|
"dom/serviceworkers/**",
|
|
|
|
"dom/smil/**",
|
2019-11-14 23:25:21 +03:00
|
|
|
"dom/tests/mochitest/**",
|
2019-05-29 13:50:49 +03:00
|
|
|
"dom/u2f/**",
|
2019-06-13 23:21:46 +03:00
|
|
|
"dom/vr/**",
|
2019-05-29 13:50:49 +03:00
|
|
|
"dom/webauthn/**",
|
2019-06-13 23:21:46 +03:00
|
|
|
"dom/webgpu/**",
|
|
|
|
"dom/websocket/**",
|
2019-05-29 13:50:49 +03:00
|
|
|
"dom/workers/**",
|
2019-06-13 23:21:46 +03:00
|
|
|
"dom/worklet/**",
|
|
|
|
"dom/xml/**",
|
2019-05-29 13:50:49 +03:00
|
|
|
"dom/xslt/**",
|
|
|
|
"dom/xul/**",
|
|
|
|
"dom/ipc/test.xhtml",
|
|
|
|
],
|
|
|
|
rules: {
|
|
|
|
"consistent-return": "off",
|
|
|
|
"mozilla/avoid-removeChild": "off",
|
|
|
|
"mozilla/consistent-if-bracing": "off",
|
|
|
|
"mozilla/no-arbitrary-setTimeout": "off",
|
|
|
|
"mozilla/no-compare-against-boolean-literals": "off",
|
|
|
|
"mozilla/no-define-cc-etc": "off",
|
|
|
|
"mozilla/reject-importGlobalProperties": "off",
|
|
|
|
"mozilla/use-cc-etc": "off",
|
|
|
|
"mozilla/use-chromeutils-generateqi": "off",
|
2019-06-13 23:21:46 +03:00
|
|
|
"mozilla/use-chromeutils-import": "off",
|
2019-05-29 13:50:49 +03:00
|
|
|
"mozilla/use-includes-instead-of-indexOf": "off",
|
2019-06-13 23:21:46 +03:00
|
|
|
"mozilla/use-ownerGlobal": "off",
|
2019-05-29 13:50:49 +03:00
|
|
|
"mozilla/use-services": "off",
|
2019-11-14 23:25:21 +03:00
|
|
|
"no-array-constructor": "off",
|
2019-05-29 13:50:49 +03:00
|
|
|
"no-caller": "off",
|
|
|
|
"no-cond-assign": "off",
|
|
|
|
"no-control-regex": "off",
|
|
|
|
"no-debugger": "off",
|
|
|
|
"no-else-return": "off",
|
2019-06-13 23:21:46 +03:00
|
|
|
"no-empty": "off",
|
|
|
|
"no-eval": "off",
|
|
|
|
"no-func-assign": "off",
|
2019-05-29 13:50:49 +03:00
|
|
|
"no-global-assign": "off",
|
2019-06-13 23:21:46 +03:00
|
|
|
"no-implied-eval": "off",
|
|
|
|
"no-lone-blocks": "off",
|
|
|
|
"no-lonely-if": "off",
|
|
|
|
"no-nested-ternary": "off",
|
|
|
|
"no-new-object": "off",
|
|
|
|
"no-new-wrappers": "off",
|
|
|
|
"no-redeclare": "off",
|
|
|
|
"no-return-await": "off",
|
|
|
|
"no-restricted-globals": "off",
|
|
|
|
"no-self-assign": "off",
|
|
|
|
"no-self-compare": "off",
|
|
|
|
"no-sequences": "off",
|
|
|
|
"no-shadow": "off",
|
|
|
|
"no-shadow-restricted-names": "off",
|
|
|
|
"no-sparse-arrays": "off",
|
|
|
|
"no-throw-literal": "off",
|
|
|
|
"no-unreachable": "off",
|
|
|
|
"no-unsanitized/method": "off",
|
|
|
|
"no-unsanitized/property": "off",
|
|
|
|
"no-undef": "off",
|
2019-10-16 19:59:02 +03:00
|
|
|
"no-unused-vars": "off",
|
2019-06-13 23:21:46 +03:00
|
|
|
"no-useless-call": "off",
|
|
|
|
"no-useless-concat": "off",
|
|
|
|
"no-useless-return": "off",
|
|
|
|
"no-with": "off",
|
2020-03-07 13:09:44 +03:00
|
|
|
},
|
|
|
|
},
|
2019-08-21 22:08:44 +03:00
|
|
|
{
|
|
|
|
files: [
|
|
|
|
"testing/mochitest/browser-harness.xhtml",
|
|
|
|
"testing/mochitest/chrome/test_chromeGetTestFile.xhtml",
|
2019-10-15 01:24:12 +03:00
|
|
|
"testing/mochitest/chrome/test_sanityEventUtils.xhtml",
|
|
|
|
"testing/mochitest/chrome/test_sanityException.xhtml",
|
|
|
|
"testing/mochitest/chrome/test_sanityException2.xhtml",
|
|
|
|
"testing/mochitest/harness.xhtml",
|
2020-03-07 13:09:44 +03:00
|
|
|
],
|
2019-10-15 01:24:12 +03:00
|
|
|
rules: {
|
|
|
|
"dot-notation": "off",
|
|
|
|
"object-shorthand": "off",
|
|
|
|
"mozilla/use-services": "off",
|
|
|
|
"mozilla/no-compare-against-boolean-literals": "off",
|
|
|
|
"mozilla/no-useless-parameters": "off",
|
|
|
|
"mozilla/no-useless-removeEventListener": "off",
|
|
|
|
"mozilla/use-cc-etc": "off",
|
2019-10-16 19:59:02 +03:00
|
|
|
"consistent-return": "off",
|
2019-10-15 01:24:12 +03:00
|
|
|
"no-fallthrough": "off",
|
|
|
|
"no-nested-ternary": "off",
|
|
|
|
"no-redeclare": "off",
|
2019-10-16 19:59:02 +03:00
|
|
|
"no-sequences": "off",
|
2019-10-15 01:24:12 +03:00
|
|
|
"no-shadow": "off",
|
|
|
|
"no-throw-literal": "off",
|
|
|
|
"no-undef": "off",
|
2019-12-02 22:16:22 +03:00
|
|
|
"no-unsanitized/property": "off",
|
2019-10-15 01:24:12 +03:00
|
|
|
"no-unused-vars": "off",
|
2019-06-13 23:21:46 +03:00
|
|
|
"no-useless-call": "off",
|
2019-10-15 01:24:12 +03:00
|
|
|
},
|
2019-10-16 19:59:02 +03:00
|
|
|
},
|
2020-03-07 13:09:44 +03:00
|
|
|
{
|
2019-11-20 22:05:30 +03:00
|
|
|
files: [
|
|
|
|
"dom/base/test/chrome/file_bug1139964.xhtml",
|
|
|
|
"dom/base/test/chrome/file_bug549682.xhtml",
|
|
|
|
"dom/base/test/chrome/file_bug616841.xhtml",
|
|
|
|
"dom/base/test/chrome/file_bug990812-1.xhtml",
|
|
|
|
"dom/base/test/chrome/file_bug990812-2.xhtml",
|
|
|
|
"dom/base/test/chrome/file_bug990812-3.xhtml",
|
|
|
|
"dom/base/test/chrome/file_bug990812-4.xhtml",
|
|
|
|
"dom/base/test/chrome/file_bug990812-5.xhtml",
|
2019-11-27 18:39:16 +03:00
|
|
|
"dom/base/test/chrome/file_bug990812.xhtml",
|
2019-11-20 22:05:30 +03:00
|
|
|
"dom/base/test/chrome/test_bug1098074_throw_from_ReceiveMessage.xhtml",
|
2019-11-27 18:39:16 +03:00
|
|
|
"dom/base/test/chrome/test_bug339494.xhtml",
|
|
|
|
"dom/base/test/chrome/test_bug429785.xhtml",
|
|
|
|
"dom/base/test/chrome/test_bug467123.xhtml",
|
|
|
|
"dom/base/test/chrome/test_bug683852.xhtml",
|
|
|
|
"dom/base/test/chrome/test_bug780529.xhtml",
|
|
|
|
"dom/base/test/chrome/test_bug800386.xhtml",
|
|
|
|
"dom/base/test/chrome/test_bug884693.xhtml",
|
2019-11-20 22:05:30 +03:00
|
|
|
"dom/base/test/chrome/test_document-element-inserted.xhtml",
|
|
|
|
"dom/base/test/chrome/test_domparsing.xhtml",
|
|
|
|
"dom/base/test/chrome/test_fileconstructor.xhtml",
|
|
|
|
"dom/base/test/chrome/title_window.xhtml",
|
|
|
|
"dom/base/test/chrome/window_nsITextInputProcessor.xhtml",
|
|
|
|
"dom/base/test/chrome/window_swapFrameLoaders.xhtml",
|
|
|
|
"dom/base/test/test_domrequesthelper.xhtml",
|
|
|
|
"dom/bindings/test/test_bug1123516_maplikesetlikechrome.xhtml",
|
|
|
|
"dom/console/tests/test_jsm.xhtml",
|
|
|
|
"dom/events/test/test_bug1412775.xhtml",
|
|
|
|
"dom/events/test/test_bug336682_2.xhtml",
|
|
|
|
"dom/events/test/test_bug415498.xhtml",
|
2019-11-27 18:39:16 +03:00
|
|
|
"dom/events/test/test_bug602962.xhtml",
|
|
|
|
"dom/events/test/test_bug617528.xhtml",
|
|
|
|
"dom/events/test/test_bug679494.xhtml",
|
|
|
|
"dom/indexedDB/test/test_globalObjects_chrome.xhtml",
|
|
|
|
"dom/indexedDB/test/test_wrappedArray.xhtml",
|
|
|
|
"dom/ipc/test.xhtml",
|
|
|
|
"dom/ipc/tests/test_process_error.xhtml",
|
|
|
|
"dom/notification/test/chrome/test_notification_system_principal.xhtml",
|
|
|
|
"dom/security/test/general/test_bug1277803.xhtml",
|
|
|
|
"dom/serviceworkers/test/test_serviceworkerinfo.xhtml",
|
|
|
|
"dom/serviceworkers/test/test_serviceworkermanager.xhtml",
|
|
|
|
"dom/system/tests/test_constants.xhtml",
|
|
|
|
"dom/tests/mochitest/chrome/DOMWindowCreated_chrome.xhtml",
|
|
|
|
"dom/tests/mochitest/chrome/MozDomFullscreen_chrome.xhtml",
|
|
|
|
"dom/tests/mochitest/chrome/sizemode_attribute.xhtml",
|
|
|
|
"dom/tests/mochitest/chrome/test_cyclecollector.xhtml",
|
|
|
|
"dom/tests/mochitest/chrome/test_docshell_swap.xhtml",
|
|
|
|
"dom/tests/mochitest/chrome/window_focus.xhtml",
|
|
|
|
"dom/url/tests/test_bug883784.xhtml",
|
|
|
|
"dom/workers/test/test_WorkerDebugger.xhtml",
|
|
|
|
"dom/workers/test/test_WorkerDebugger_console.xhtml",
|
|
|
|
"dom/workers/test/test_fileReadSlice.xhtml",
|
|
|
|
"dom/workers/test/test_fileReaderSync.xhtml",
|
|
|
|
"dom/workers/test/test_fileSlice.xhtml",
|
2020-03-07 13:09:44 +03:00
|
|
|
],
|
|
|
|
rules: {
|
2019-11-27 18:39:16 +03:00
|
|
|
"mozilla/no-useless-parameters": "off",
|
|
|
|
"mozilla/no-useless-removeEventListener": "off",
|
|
|
|
"mozilla/use-chromeutils-generateqi": "off",
|
|
|
|
"mozilla/use-services": "off",
|
|
|
|
complexity: "off",
|
|
|
|
"no-array-constructor": "off",
|
|
|
|
"no-caller": "off",
|
|
|
|
"no-empty": "off",
|
|
|
|
"no-eval": "off",
|
|
|
|
"no-lone-blocks": "off",
|
|
|
|
"no-redeclare": "off",
|
|
|
|
"no-shadow": "off",
|
|
|
|
"no-throw-literal": "off",
|
|
|
|
"no-undef": "off",
|
|
|
|
"no-unsanitized/method": "off",
|
|
|
|
"no-unused-vars": "off",
|
|
|
|
"no-useless-return": "off",
|
|
|
|
"object-shorthand": "off",
|
2020-03-07 13:09:44 +03:00
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
2019-11-11 22:14:34 +03:00
|
|
|
files: [
|
|
|
|
"accessible/**",
|
|
|
|
"devtools/**",
|
|
|
|
"dom/**",
|
|
|
|
"docshell/**",
|
|
|
|
"editor/libeditor/tests/**",
|
|
|
|
"editor/spellchecker/tests/test_bug338427.html",
|
|
|
|
"gfx/**",
|
|
|
|
"image/test/browser/browser_image.js",
|
|
|
|
"js/src/builtin/**",
|
|
|
|
"layout/**",
|
2019-10-16 23:11:31 +03:00
|
|
|
"mobile/android/**",
|
|
|
|
"modules/**",
|
|
|
|
"netwerk/**",
|
|
|
|
"remote/**",
|
|
|
|
"security/manager/**",
|
|
|
|
"services/**",
|
|
|
|
"storage/test/unit/test_vacuum.js",
|
|
|
|
"taskcluster/docker/periodic-updates/scripts/**",
|
|
|
|
"testing/**",
|
|
|
|
"tools/**",
|
|
|
|
"widget/tests/test_assign_event_data.html",
|
2020-03-07 13:09:44 +03:00
|
|
|
],
|
|
|
|
rules: {
|
2019-10-16 23:11:31 +03:00
|
|
|
"mozilla/prefer-boolean-length-check": "off",
|
2020-03-07 13:09:44 +03:00
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
2019-10-16 23:11:31 +03:00
|
|
|
// TODO: Bug 1609271 Fix all violations for ChromeUtils.import(..., null)
|
2020-03-07 13:09:44 +03:00
|
|
|
files: [
|
2019-10-16 23:11:31 +03:00
|
|
|
"browser/base/content/test/sync/browser_fxa_web_channel.js",
|
|
|
|
"browser/components/customizableui/test/browser_1042100_default_placements_update.js",
|
|
|
|
"browser/components/customizableui/test/browser_1096763_seen_widgets_post_reset.js",
|
2020-01-29 16:15:54 +03:00
|
|
|
"browser/components/customizableui/test/browser_1161838_inserted_new_default_buttons.js",
|
|
|
|
"browser/components/customizableui/test/browser_989338_saved_placements_not_resaved.js",
|
|
|
|
"browser/components/customizableui/test/browser_currentset_post_reset.js",
|
|
|
|
"browser/components/customizableui/test/browser_panel_keyboard_navigation.js",
|
2021-02-24 23:00:15 +03:00
|
|
|
"browser/components/customizableui/test/browser_proton_toolbar_hide_toolbarbuttons.js",
|
2020-01-29 16:15:54 +03:00
|
|
|
"browser/components/enterprisepolicies/tests/browser/browser_policies_setAndLockPref_API.js",
|
|
|
|
"browser/components/enterprisepolicies/tests/xpcshell/head.js",
|
|
|
|
"browser/components/enterprisepolicies/tests/xpcshell/test_proxy.js",
|
|
|
|
"browser/components/enterprisepolicies/tests/xpcshell/test_runOnce_helper.js",
|
|
|
|
"browser/components/migration/tests/unit/test_Edge_db_migration.js",
|
|
|
|
"browser/components/translation/test/unit/test_cld2.js",
|
|
|
|
"browser/extensions/formautofill/test/unit/test_sync.js",
|
|
|
|
"devtools/client/aboutdebugging/test/browser/browser_aboutdebugging_addons_debug_popup.js",
|
|
|
|
"dom/ipc/tests/browser_memory_distribution_telemetry.js",
|
|
|
|
"dom/push/test/xpcshell/head.js",
|
|
|
|
"dom/push/test/xpcshell/test_broadcast_success.js",
|
|
|
|
"dom/push/test/xpcshell/test_crypto.js",
|
|
|
|
"services/common/tests/unit/head_helpers.js",
|
|
|
|
"services/common/tests/unit/test_uptake_telemetry.js",
|
|
|
|
"services/fxaccounts/tests/xpcshell/test_accounts.js",
|
|
|
|
"services/fxaccounts/tests/xpcshell/test_accounts_device_registration.js",
|
|
|
|
"services/fxaccounts/tests/xpcshell/test_loginmgr_storage.js",
|
|
|
|
"services/fxaccounts/tests/xpcshell/test_oauth_token_storage.js",
|
|
|
|
"services/fxaccounts/tests/xpcshell/test_oauth_tokens.js",
|
|
|
|
"services/fxaccounts/tests/xpcshell/test_web_channel.js",
|
|
|
|
"services/sync/modules-testing/utils.js",
|
|
|
|
"services/sync/tests/unit/test_postqueue.js",
|
|
|
|
"toolkit/components/cloudstorage/tests/unit/test_cloudstorage.js",
|
|
|
|
"toolkit/components/crashes/tests/xpcshell/test_crash_manager.js",
|
|
|
|
"toolkit/components/crashes/tests/xpcshell/test_crash_service.js",
|
|
|
|
"toolkit/components/crashes/tests/xpcshell/test_crash_store.js",
|
|
|
|
"toolkit/components/enterprisepolicies/tests/EnterprisePolicyTesting.jsm",
|
|
|
|
"toolkit/components/featuregates/test/unit/test_FeatureGate.js",
|
|
|
|
"toolkit/components/normandy/test/browser/browser_actions_ShowHeartbeatAction.js",
|
|
|
|
"toolkit/modules/subprocess/test/xpcshell/test_subprocess.js",
|
|
|
|
"toolkit/modules/tests/xpcshell/test_GMPInstallManager.js",
|
|
|
|
"toolkit/mozapps/extensions/internal/AddonTestUtils.jsm",
|
|
|
|
"toolkit/mozapps/extensions/test/browser/browser_gmpProvider.js",
|
|
|
|
"toolkit/mozapps/extensions/test/xpcshell/head_addons.js",
|
|
|
|
"toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_clients.js",
|
|
|
|
"toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_regexp_split.js",
|
|
|
|
"toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_targetapp_filter.js",
|
|
|
|
"toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklist_telemetry.js",
|
|
|
|
"toolkit/mozapps/extensions/test/xpcshell/rs-blocklist/test_blocklistchange.js",
|
|
|
|
"toolkit/mozapps/extensions/test/xpcshell/test_gmpProvider.js",
|
|
|
|
"toolkit/mozapps/extensions/test/xpcshell/test_no_addons.js",
|
|
|
|
"toolkit/mozapps/extensions/test/xpcshell/test_permissions_prefs.js",
|
|
|
|
"toolkit/mozapps/extensions/test/xpcshell/test_signed_updatepref.js",
|
|
|
|
"toolkit/mozapps/extensions/test/xpcshell/test_signed_verify.js",
|
|
|
|
"toolkit/mozapps/extensions/test/xpcshell/test_webextension.js",
|
|
|
|
"toolkit/mozapps/extensions/test/xpcshell/test_webextension_events.js",
|
|
|
|
"toolkit/mozapps/extensions/test/xpcshell/test_XPIStates.js",
|
|
|
|
],
|
|
|
|
rules: {
|
2021-11-01 17:25:46 +03:00
|
|
|
"mozilla/reject-chromeutils-import-params": "warn",
|
2020-03-07 13:09:44 +03:00
|
|
|
},
|
2020-01-29 16:15:54 +03:00
|
|
|
},
|
2020-03-07 13:09:44 +03:00
|
|
|
],
|
2016-10-18 10:38:10 +03:00
|
|
|
};
|