Jest 没有从 babel.config.js 选择最新的插件

Jest not picking latest plugin from babel.config.js

我在 babel.config.js 中提到了我自己的 babel 插件,当我更改插件时,jest 不会选择更新的插件代码并中断测试。当我 运行 npx jest --no-cache,拾取更新的更改。

我不想每次更新插件时 运行 和 --no-cache

我很想知道 jest 如何选择最新的 babel 插件,当它们在 npm artifactory 中更新时?

我在 babel.config.js 中提到了我的插件:

module.exports = function (api) {
  api.cache(true);

  const presets = ["@babel/preset-env", "@babel/preset-react"];
  const plugins = [
    "@babel/plugin-syntax-dynamic-import",
    "@babel/plugin-proposal-class-properties",
    "@babel/plugin-transform-runtime",
    ["module:@babel-plugin-dynamic-import-override", {
      options: someOptions
    }]
  ];

  return {
    presets,
    plugins
  };
}

此外,我对我的 jest.config.js 做了哪些更改以使其选择最新的插件?

Jest 缓存 babel 配置以提升性能。这与在 webpack 中提供 cacheDirectory: truebabel-loader 相同。 babel-loader 还可以选择使用 cacheIdentifier 来突增缓存,目前还没有,也不打算在将来添加它。

但是,可以通过扩展 babel-jest 来解决。 详细讨论可以在这里阅读:https://github.com/facebook/jest/issues/8932