mirror of
https://github.com/hanzoai/react.git
synced 2026-09-24 17:02:27 +00:00
Suppress known/expected warnings and errors in local DEV shell
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
// @flow
|
||||
|
||||
function ignoreStrings(
|
||||
methodName: string,
|
||||
stringsToIgnore: Array<string>
|
||||
): void {
|
||||
const originalMethod = console[methodName];
|
||||
console[methodName] = (...args) => {
|
||||
const maybeString = args[0];
|
||||
if (typeof maybeString === 'string') {
|
||||
for (let i = 0; i < stringsToIgnore.length; i++) {
|
||||
if (maybeString.startsWith(stringsToIgnore[i])) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
originalMethod(...args);
|
||||
};
|
||||
}
|
||||
|
||||
export function ignoreErrors(errorsToIgnore: Array<string>): void {
|
||||
ignoreStrings('error', errorsToIgnore);
|
||||
}
|
||||
|
||||
export function ignoreWarnings(warningsToIgnore: Array<string>): void {
|
||||
ignoreStrings('warn', warningsToIgnore);
|
||||
}
|
||||
@@ -19,9 +19,20 @@ import ReactNativeWeb from './ReactNativeWeb';
|
||||
import ToDoList from './ToDoList';
|
||||
import Toggle from './Toggle';
|
||||
import SuspenseTree from './SuspenseTree';
|
||||
import { ignoreErrors, ignoreWarnings } from './console';
|
||||
|
||||
import './styles.css';
|
||||
|
||||
// DevTools intentionally tests compatibility with certain legacy APIs.
|
||||
// Suppress their error messages in the local dev shell,
|
||||
// because they might mask other more serious error messages.
|
||||
ignoreErrors([
|
||||
'Warning: Legacy context API',
|
||||
'Warning: Unsafe lifecycle methods',
|
||||
'Warning: %s is deprecated in StrictMode.', // findDOMNode
|
||||
]);
|
||||
ignoreWarnings(['Warning: componentWillReceiveProps is deprecated']);
|
||||
|
||||
const roots = [];
|
||||
|
||||
function mountHelper(App) {
|
||||
|
||||
Reference in New Issue
Block a user