如何从其他地方访问项目与babel相关的deps?

时间:2017-08-16 03:35:23

标签: javascript node.js babel babel-register

这是一种奇怪的需求,但我不认为这是一个X / Y问题。我需要从我自己的工具访问项目的与babel相关的依赖项和配置。我的工具可能是devDep,或全局安装,或与values一起运行;我无从得知。

我知道这可以通过npx来完成,因为像babel-register这样的好工具可以做得很好。但就我而言,我不能只babel-tape-runner然后需要其他文件;我正在使用require('babel-register')。 (写出临时文件,运行它,然后取消链接在这种情况下不是一个好的选择,因为它可能会发生数百次或数千次。)

在将这些内容传递给module._compile之前,有没有办法通过使用用户的项目本地Babel配置和预设和插件来从某个地方读取一些代码?

1 个答案:

答案 0 :(得分:0)

事实证明,这里的正确答案是不使用babel-register。我快速浏览了Jest如何做到这一点,他们直接使用babel-core。将babel.transform(code, { extends: babelRc }).code传递到module._compile工作得很好。整个差异可用here