Add linter for naked console.errors
Summary: `console.error(err)` are hard to identify in the codebase especially as we often don't have reliable stack trace information. I've already cleaned up a bunch of them manually by going after the most high-firing ones; this should make it easier to identify the remaining ones. Reviewed By: jknoxville Differential Revision: D27913964 fbshipit-source-id: 0ff6624a0c083829846550b40954945d655b7cf6
This commit is contained in:
committed by
Facebook GitHub Bot
parent
87cdd21951
commit
3431206c0e
@@ -0,0 +1,52 @@
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @format
|
||||
*/
|
||||
|
||||
import {TSESLint} from '@typescript-eslint/experimental-utils';
|
||||
import rule, {RULE_NAME} from '../noConsoleErrorWithoutContext';
|
||||
|
||||
const tester = new TSESLint.RuleTester({
|
||||
parser: require.resolve('@typescript-eslint/parser'),
|
||||
parserOptions: {
|
||||
sourceType: 'module',
|
||||
ecmaVersion: 2020,
|
||||
},
|
||||
});
|
||||
|
||||
tester.run(RULE_NAME, rule, {
|
||||
valid: [
|
||||
{
|
||||
code: `console.error("I've made a big mistake:", err);`,
|
||||
filename: __filename,
|
||||
},
|
||||
{
|
||||
code: `console.error("This should never happen.");`,
|
||||
filename: __filename,
|
||||
},
|
||||
{
|
||||
code: `console.error("Failed to open user settings: " + err);`,
|
||||
filename: __filename,
|
||||
},
|
||||
{
|
||||
code: `console.warn(e);`,
|
||||
filename: __filename,
|
||||
},
|
||||
],
|
||||
invalid: [
|
||||
{
|
||||
code: `console.error(err);`,
|
||||
filename: __filename,
|
||||
errors: [{messageId: 'noConsoleErrorWithoutContext'}],
|
||||
},
|
||||
{
|
||||
code: `console.error(err, "Too late for context.");`,
|
||||
filename: __filename,
|
||||
errors: [{messageId: 'noConsoleErrorWithoutContext'}],
|
||||
},
|
||||
],
|
||||
});
|
||||
Reference in New Issue
Block a user