首页 > 解决方案 > Jest 如何将 babel.rc 交给 babel-jest?

问题描述

我刚开始在我的代码中使用 babel-plugin-macros,现在我所有的 Jest 测试都失败了。我有一个有点复杂的 monorepo 设置——当我尝试将其简化为一个超级简单的示例时,我无法重现测试,所以它可能与我的目录结构有关。

我查看了 babel-jest 等的源代码。如果我手动强制插件被拾取,通过在 babel-jest/build/index.js 的第 187 行周围添加它

const transformResult = (0, (_babelCore || _load_babelCore()).transform)(src,
   { ...theseOptions, plugins: ['macros'] }
);

一切都很完美。所以问题是它没有plugins: ['macros']从我的 .babelrc 中获取。我查看了函数getBabelRC,通过 console.logging,我似乎确认加载了正确的 .babelrc(带有插件:宏)等。但是,无论我查看代码多长时间,我都无法弄清楚 .加载的 babelrcgetBabelRC应该归结为process函数。如果我 console.log theseOptions,我的自定义设置都不存在。

我很高兴自己调试这个,但如果有人可以帮助我了解一点数据流,那将非常有帮助!

要重现,请查看https://github.com/chili-epfl/FROG,切换到 branch automaticimport, run ./initial_setup.sh,然后npm start jest.

标签: javascriptbabeljsjestjsbabel-jest

解决方案


推荐阅读