forked from mirrors/gecko-dev
Bug 1883371 - Enable ESLint rule no-console on production code. r=mossop,webcompat-reviewers,devtools-reviewers,omc-reviewers,twisniewski,nchevobbe,aminomancer
Allow for console.error, console.warn and console.createInstance, but fail for everything else. Differential Revision: https://phabricator.services.mozilla.com/D203456
This commit is contained in:
parent
5ee6fc544c
commit
4f1d29d324
18 changed files with 68 additions and 28 deletions
54
.eslintrc.js
54
.eslintrc.js
|
|
@ -450,6 +450,60 @@ module.exports = {
|
||||||
],
|
],
|
||||||
rules: { "no-constant-condition": "warn" },
|
rules: { "no-constant-condition": "warn" },
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
files: [
|
||||||
|
"browser/actors/AboutPocketParent.sys.mjs",
|
||||||
|
"browser/actors/SpeechDispatcherParent.sys.mjs",
|
||||||
|
"browser/base/content/browser-sync.js",
|
||||||
|
"browser/base/content/tabbrowser.js",
|
||||||
|
"browser/components/BrowserContentHandler.sys.mjs",
|
||||||
|
"browser/components/enterprisepolicies/Policies.sys.mjs",
|
||||||
|
"browser/components/messagepreview/actors/AboutMessagePreviewChild.sys.mjs",
|
||||||
|
"browser/components/messagepreview/actors/AboutMessagePreviewParent.sys.mjs",
|
||||||
|
"browser/components/migration/ChromeMigrationUtils.sys.mjs",
|
||||||
|
"browser/components/migration/SafariProfileMigrator.sys.mjs",
|
||||||
|
"browser/components/places/content/places-tree.js",
|
||||||
|
"browser/components/places/content/treeView.js",
|
||||||
|
"browser/extensions/screenshots/build/shot.js",
|
||||||
|
"browser/extensions/webcompat/**",
|
||||||
|
"browser/modules/BackgroundTask_*.sys.mjs",
|
||||||
|
"browser/themes/BuiltInThemes.sys.mjs",
|
||||||
|
"browser/tools/mozscreenshots/mozscreenshots/extension/lib/mozscreenshots-script.js",
|
||||||
|
"browser/tools/mozscreenshots/mozscreenshots/extension/lib/mozscreenshots.html",
|
||||||
|
"devtools/client/**",
|
||||||
|
"devtools/server/actors/inspector/css-logic.js",
|
||||||
|
"devtools/shared/compatibility/bin/update.js",
|
||||||
|
"devtools/shared/discovery/discovery.js",
|
||||||
|
"devtools/shared/protocol/Front.js",
|
||||||
|
"dom/media/webvtt/update-webvtt.js",
|
||||||
|
"gfx/layers/layerviewer/layerTreeView.js",
|
||||||
|
"layout/tools/reftest/reftest-analyzer.xhtml",
|
||||||
|
"mobile/android/geckoview/src/androidTest/**",
|
||||||
|
"services/automation/ServicesAutomation.sys.mjs",
|
||||||
|
"services/settings/RemoteSettings.worker.mjs",
|
||||||
|
"services/sync/modules/SyncDisconnect.sys.mjs",
|
||||||
|
"taskcluster/docker/index-task/insert-indexes.js",
|
||||||
|
"testing/**",
|
||||||
|
"toolkit/actors/NetErrorParent.sys.mjs",
|
||||||
|
"toolkit/components/aboutcheckerboard/content/aboutCheckerboard.js",
|
||||||
|
"toolkit/components/backgroundtasks/BackgroundTask_message.sys.mjs",
|
||||||
|
"toolkit/components/backgroundtasks/BackgroundTasksTestUtils.sys.mjs",
|
||||||
|
"toolkit/components/credentialmanagement/IdentityCredentialPromptService.sys.mjs",
|
||||||
|
"toolkit/components/ml/content/MLEngine.worker.mjs",
|
||||||
|
"toolkit/components/telemetry/pings/BackgroundTask_pingsender.sys.mjs",
|
||||||
|
"toolkit/components/translations/actors/TranslationsParent.sys.mjs",
|
||||||
|
"toolkit/components/translations/content/translations-engine.worker.js",
|
||||||
|
"toolkit/components/xulstore/XULStore.sys.mjs",
|
||||||
|
"toolkit/content/aboutTelemetry.js",
|
||||||
|
"toolkit/content/customElements.js",
|
||||||
|
"toolkit/content/widgets/dialog.js",
|
||||||
|
"toolkit/content/widgets/menu.js",
|
||||||
|
"toolkit/mozapps/update/BackgroundUpdate.sys.mjs",
|
||||||
|
],
|
||||||
|
rules: {
|
||||||
|
"no-console": "off",
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
// Bug 877389 - Gradually migrate from Cu.reportError to console.error.
|
// Bug 877389 - Gradually migrate from Cu.reportError to console.error.
|
||||||
// Enable these as we fix more areas.
|
// Enable these as we fix more areas.
|
||||||
|
|
|
||||||
|
|
@ -130,7 +130,6 @@ module.exports = {
|
||||||
"max-statements": ["error", 50],
|
"max-statements": ["error", 50],
|
||||||
"new-cap": ["error", { newIsCap: true, capIsNew: false }],
|
"new-cap": ["error", { newIsCap: true, capIsNew: false }],
|
||||||
"no-alert": "error",
|
"no-alert": "error",
|
||||||
"no-console": ["error", { allow: ["error"] }],
|
|
||||||
"no-div-regex": "error",
|
"no-div-regex": "error",
|
||||||
"no-duplicate-imports": "error",
|
"no-duplicate-imports": "error",
|
||||||
"no-eq-null": "error",
|
"no-eq-null": "error",
|
||||||
|
|
|
||||||
|
|
@ -100,7 +100,6 @@ module.exports = {
|
||||||
"max-statements": ["error", 50],
|
"max-statements": ["error", 50],
|
||||||
"new-cap": ["error", { newIsCap: true, capIsNew: false }],
|
"new-cap": ["error", { newIsCap: true, capIsNew: false }],
|
||||||
"no-alert": "error",
|
"no-alert": "error",
|
||||||
"no-console": ["error", { allow: ["error"] }],
|
|
||||||
"no-div-regex": "error",
|
"no-div-regex": "error",
|
||||||
"no-duplicate-imports": "error",
|
"no-duplicate-imports": "error",
|
||||||
"no-eq-null": "error",
|
"no-eq-null": "error",
|
||||||
|
|
|
||||||
|
|
@ -129,7 +129,6 @@ module.exports = {
|
||||||
"max-statements": ["error", 50],
|
"max-statements": ["error", 50],
|
||||||
"new-cap": ["error", { newIsCap: true, capIsNew: false }],
|
"new-cap": ["error", { newIsCap: true, capIsNew: false }],
|
||||||
"no-alert": "error",
|
"no-alert": "error",
|
||||||
"no-console": ["error", { allow: ["error"] }],
|
|
||||||
"no-div-regex": "error",
|
"no-div-regex": "error",
|
||||||
"no-duplicate-imports": "error",
|
"no-duplicate-imports": "error",
|
||||||
"no-eq-null": "error",
|
"no-eq-null": "error",
|
||||||
|
|
|
||||||
|
|
@ -27,9 +27,6 @@ module.exports = {
|
||||||
// Maximum depth callbacks can be nested.
|
// Maximum depth callbacks can be nested.
|
||||||
"max-nested-callbacks": ["error", 4],
|
"max-nested-callbacks": ["error", 4],
|
||||||
|
|
||||||
// Allow the console API aside from console.log.
|
|
||||||
"no-console": ["error", { allow: ["error", "info", "trace", "warn"] }],
|
|
||||||
|
|
||||||
// Disallow use of multiline strings (use template strings instead).
|
// Disallow use of multiline strings (use template strings instead).
|
||||||
"no-multi-str": "error",
|
"no-multi-str": "error",
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<script>
|
<script>
|
||||||
/* eslint-disable no-console */
|
|
||||||
/* eslint-disable no-unused-expressions */
|
/* eslint-disable no-unused-expressions */
|
||||||
"use strict";
|
"use strict";
|
||||||
console.log(null);
|
console.log(null);
|
||||||
|
|
|
||||||
|
|
@ -130,8 +130,6 @@ module.exports = {
|
||||||
"no-catch-shadow": 2,
|
"no-catch-shadow": 2,
|
||||||
// Disallow assignment in conditional expressions.
|
// Disallow assignment in conditional expressions.
|
||||||
"no-cond-assign": 2,
|
"no-cond-assign": 2,
|
||||||
// Allow using the console API.
|
|
||||||
"no-console": 0,
|
|
||||||
// Allow use of the continue statement.
|
// Allow use of the continue statement.
|
||||||
"no-continue": 0,
|
"no-continue": 0,
|
||||||
// Disallow control characters in regular expressions.
|
// Disallow control characters in regular expressions.
|
||||||
|
|
|
||||||
|
|
@ -19,9 +19,6 @@ module.exports = {
|
||||||
// case/default clauses.
|
// case/default clauses.
|
||||||
"no-case-declarations": "error",
|
"no-case-declarations": "error",
|
||||||
|
|
||||||
// Disallow use of the console API.
|
|
||||||
"no-console": ["error", { allow: ["error"] }],
|
|
||||||
|
|
||||||
// Disallow constant expressions in conditions (except for loops).
|
// Disallow constant expressions in conditions (except for loops).
|
||||||
"no-constant-condition": ["error", { checkLoops: false }],
|
"no-constant-condition": ["error", { checkLoops: false }],
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,9 +24,6 @@ module.exports = {
|
||||||
// case/default clauses.
|
// case/default clauses.
|
||||||
"no-case-declarations": "error",
|
"no-case-declarations": "error",
|
||||||
|
|
||||||
// Disallow use of the console API.
|
|
||||||
"no-console": "error",
|
|
||||||
|
|
||||||
// Disallow constant expressions in conditions (except for loops).
|
// Disallow constant expressions in conditions (except for loops).
|
||||||
"no-constant-condition": ["error", { checkLoops: false }],
|
"no-constant-condition": ["error", { checkLoops: false }],
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -120,9 +120,6 @@ module.exports = {
|
||||||
// Allow use of bitwise operators.
|
// Allow use of bitwise operators.
|
||||||
"no-bitwise": "off",
|
"no-bitwise": "off",
|
||||||
|
|
||||||
// Disallow using the console API.
|
|
||||||
"no-console": "error",
|
|
||||||
|
|
||||||
// Allow use of the continue statement.
|
// Allow use of the continue statement.
|
||||||
"no-continue": "off",
|
"no-continue": "off",
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,4 @@
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
extends: "../../components/extensions/.eslintrc.js",
|
extends: "../../components/extensions/.eslintrc.js",
|
||||||
|
|
||||||
rules: {
|
|
||||||
"no-console": "off",
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ function generateESMURIMap(jsm_map) {
|
||||||
|
|
||||||
function isESMifiedSlow(resourceURI) {
|
function isESMifiedSlow(resourceURI) {
|
||||||
if (!(resourceURI in uri_map)) {
|
if (!(resourceURI in uri_map)) {
|
||||||
console.log(`WARNING: Unknown module: ${resourceURI}`);
|
console.warn(`WARNING: Unknown module: ${resourceURI}`);
|
||||||
return { result: false, jsms: [] };
|
return { result: false, jsms: [] };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
function warnForPath(inputFile, path, message) {
|
function warnForPath(inputFile, path, message) {
|
||||||
const loc = path.node.loc;
|
const loc = path.node.loc;
|
||||||
console.log(
|
console.warn(
|
||||||
`WARNING: ${inputFile}:${loc.start.line}:${loc.start.column} : ${message}`
|
`WARNING: ${inputFile}:${loc.start.line}:${loc.start.column} : ${message}`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,8 @@ module.exports = {
|
||||||
"mozilla/mark-test-function-used": "error",
|
"mozilla/mark-test-function-used": "error",
|
||||||
"mozilla/no-arbitrary-setTimeout": "error",
|
"mozilla/no-arbitrary-setTimeout": "error",
|
||||||
|
|
||||||
|
// Bug 1883707 - Turn off no-console in tests at the moment.
|
||||||
|
"no-console": "off",
|
||||||
// Turn off no-unsanitized for tests, as we do want to be able to use
|
// Turn off no-unsanitized for tests, as we do want to be able to use
|
||||||
// these for testing.
|
// these for testing.
|
||||||
"no-unsanitized/method": "off",
|
"no-unsanitized/method": "off",
|
||||||
|
|
|
||||||
|
|
@ -208,9 +208,8 @@ module.exports = {
|
||||||
// Disallow use of arguments.caller or arguments.callee.
|
// Disallow use of arguments.caller or arguments.callee.
|
||||||
"no-caller": "error",
|
"no-caller": "error",
|
||||||
|
|
||||||
// XXX Bug 1487642 - decide if we want to enable this or not.
|
// Disallow the use of console, except for errors and warnings.
|
||||||
// Disallow the use of console
|
"no-console": ["error", { allow: ["createInstance", "error", "warn"] }],
|
||||||
"no-console": "off",
|
|
||||||
|
|
||||||
// Disallows expressions where the operation doesn't affect the value.
|
// Disallows expressions where the operation doesn't affect the value.
|
||||||
// TODO: This is enabled by default in ESLint's v9 recommended configuration.
|
// TODO: This is enabled by default in ESLint's v9 recommended configuration.
|
||||||
|
|
|
||||||
|
|
@ -511,7 +511,7 @@ module.exports = {
|
||||||
manifest,
|
manifest,
|
||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(
|
console.error(
|
||||||
"TOML ERROR: " +
|
"TOML ERROR: " +
|
||||||
e.message +
|
e.message +
|
||||||
" @line: " +
|
" @line: " +
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,9 @@
|
||||||
* mach itself.
|
* mach itself.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// This is a non-production file that needs to log.
|
||||||
|
/* eslint-disable no-console */
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var mocha = require("mocha");
|
var mocha = require("mocha");
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,10 @@
|
||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
* 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/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// This is a non-production script.
|
||||||
|
/* eslint-disable no-console */
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var fs = require("fs");
|
var fs = require("fs");
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue