捕获 Material UI 弃用警告

Catching Material UI deprecation warnings

我们公司有一个中央共享 material UI 主题,各个团队将其纳入他们的代码库。

虽然我们试图始终与最新版本保持同步,但当出现重大更改时(就像我们在从 v4 到 v5 的过程中)

现在我们的本地代码库中的版本比中央代码库中的版本更新,并且在创建 fade 重命名为 alpha 的主题时收到弃用警告。

Material-UI: The `fade` color utility was renamed to `alpha` to better describe its functionality.

我们很多测试也抛出这个问题,我想暂时想办法抑制这个错误,有没有简单的方法?

我知道我们已经在我们的代码库中将淡入淡出的所有用法都切换为 alpha,只有中心的仍然使用旧的表示法。

尝试更新包 npm 更新 我发现已弃用的 'fade' 属性 用于某些 material ui 组件的实现,当我更新它时警告消失了

我们实际上写了一个这样的包装器:

if (process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') {
  const errorFn = global.console.error;
  const warnFn = global.console.warn;

  const contains = (target, pattern) => {
    let value = 0;
    pattern.forEach(word => (value = value + target.includes(word)));
    return value === 1;
  };

  const ignoreListError = [
    'The `fade` color utility was renamed to `alpha` to better describe its functionality.',
    'the createMuiTheme function was renamed to createTheme',
  ];

  const ignoreListWarn = ['The `theme.typography.round` helper is deprecated.'];

  global.console.error = msg => {
    if (!(typeof msg === 'string' && msg.indexOf('Material-UI') !== -1 && contains(msg, ignoreListError))) {
      errorFn(msg);
    }
  };

  global.console.warn = msg => {
    if (!(typeof msg === 'string' && msg.indexOf('Material-UI') !== -1 && contains(msg, ignoreListWarn))) {
      warnFn(msg);
    }
  };
}

export {};