【问题标题】:NPM, package.json and supporting multiple major version of a third party library, testing each version?npm、package.json 以及支持多个大版本的第三方库,每个版本的测试?
【发布时间】:2019-02-06 20:38:47
【问题描述】:
{
"name": "my-library",
"devDependencies": {
"3d-party": "^4.0.0"
}
}
假设my-library 应该支持3.x 和4.x 版本的3d-party 包。 my-library 已经过测试。
有什么我可以在本地运行的东西,比如 Travis CI:
- 运行
npm install,有时需要特定版本(3.x 和4.x)
- 运行我的测试以确保
my-library 与两个版本都兼容
【问题讨论】:
标签:
npm
continuous-integration
npm-install
semantic-versioning
【解决方案1】:
您必须复制 package.json 并将 3rd-party 版本更改为特定版本 - 然后运行 npm install
确保删除 ^,因为它表示 - get latest version
所以你应该这样做"3d-party": "3.5.5"
要自动执行此操作,您可以使用 gulp 并使用其自己的特定 package.json 为每个 3rd 方部门创建一个项目文件夹
然后你编写一个 gulp 构建,将你的源代码复制到每个文件夹中并运行 npm install
然后你可以运行每个版本,看看它是否崩溃:)