【发布时间】:2019-06-12 06:28:05
【问题描述】:
我是新了解 peerDependencies,并且我已阅读以下参考资料,以了解如何测试 npm 模块在其 package.json 中包含 peerDependencies:
- Peer Dependencies
- Understanding the npm dependency model
- Common npm mistakes
- StackOverflow: npm peerDependencies during development
但是,我还没有找到一个明确的解决方案来测试带有 peerDependencies 的 npm。有些人建议将 peerDependencies 添加为全局变量,有些人建议将 peerDependencies 包含在 devDependencies 中,但似乎都不对。
例如,我有一个具有对等依赖项的包,一个自定义记录器,而这个记录器需要由其宿主包配置才能使用。
这是我使用这个 Gulp 任务执行大多数脚本测试的方式:
function testRunner() {
return (
gulp
.src('./tests/**/*.js', { read: false })
.pipe(
mocha({
exit: true,
timeout: 10000
})
)
.on('error', console.error)
);
}
我确实收到了一个有用的建议(请参阅下面的 cmets,@estus)来使用 npm-install-peers,但是,我还不确定它是否可以在使用前配置对等依赖项,因为它将由主机包执行。
非常感谢您的反馈和建议。
【问题讨论】:
-
“测试”到底是什么意思?您是否正在寻找编写自动化测试?您是在谈论手动测试某些东西吗?你在说别的吗?
-
@pedro-a 感谢您的回复,我很感激我应该澄清“测试”的含义。我刚刚使用执行 mocha 测试的 Gulp 任务编辑了我的问题。所以,我所说的测试首先是本地化,然后是 CI 自动化测试。
-
@estus 感谢您的建议,我现在正在检查它并与它的作者联系。我忘记了一个细节,peer依赖也需要由peer的父级配置。将该细节添加到我最初的问题中。
-
我目前正在检查另一个 npm 包:npm install-peerdeps
标签: node.js npm mocha.js gulp-mocha peer-dependencies