检测依赖关系的兼容性中断

时间:2016-08-11 14:19:06

标签: javascript

来自C ++并且是一个相当陌生的JavaScript,我发现自己在如何验证第三方依赖的稳定性。例如,我目前正在升级使用Three.js作为便利框架的现有WebGL引擎,我发现在最后的版本中,删除了引擎所依赖的多个对象属性和功能。

IIUC,没有先验的方法来检测此类中断,除非被删除的功能或属性被积极使用 - 这对我来说是有意义的,因为您只能在运行时知道实际访问的内容,因此无法确定是否一个属性实际存在,直到它以某种方式使用。现在的第一个问题:假设正确吗?

如果是这样,我能想到的唯一方法是自动验证API的稳定性(或指出中断点)(我在功能和对象属性方面都指代API)是维护一套单元测试(基本上使用实际代码使用的所有内容以及每次更新第三方依赖项时。根据一个代码库中使用的不同API的数量,这可能会非常非常快速地变得乏味。

我目前的方法,因为单元测试目前根本不存在,是手动浏览更改日志,找到对已删除API的所有引用,并试图找出如何替换现有功能,现在已经破坏而不会破坏更多的东西。这显然很糟糕。

我希望项目尽量保持兼容性,并尽快制定政策,例如Node.js stability policy,但在做了一些初步搜索后,我对这个主题没有太多了解(或者我使用了错误的关键词。)

Fianlly,我发现自己提出以下问题:

  • 社区对如何处理问题达成了共识 以上?

  • 是否存在实现解决方案的工具?

  • 那些可扩展的解决方案?

0 个答案:

没有答案
相关问题