如何更新旧版本的类型

时间:2019-07-10 17:38:18

标签: typescript-typings definitelytyped

我有一个运行AngularJS 1.5.x的项目,它使用DefinitelyTyped中的类型声明:@types/angular@1.5.23。这是最新的1.5.x版本,发布于3年前。从那时起,该软件包已升级到1.6.x版。

1.5.23的问题在于它在any上使用了IScope索引器,此索引器已在1.6.27版本中进行了修补。但是我们无法完全升级到1.6.27,因为我们没有使用angular 1.6.x,而是锁定在1.5。

我的问题是:我对此有哪些选择?

  • DefinitelyTyped是否具有发布库旧版本更新的机制?
  • @types发布者会捡起它,并以1.5.24的形式发布到npm吗?

谢谢

1 个答案:

答案 0 :(得分:1)

看看DefinitelyTyped的github page,似乎确实有更新包以前主要版本的先例。

  

许多库的开发人员(包括使用该库作为依赖项的其他软件包的维护者)安装了庞大的基础,他们不会立即迁移到具有重大更改的新版本,因为维护者可能需要几个月的时间。是时候重写代码以适应新版本了。同时,旧库版本的用户仍可能希望更新旧版本的类型声明。

因此,我认为您可以选择在DefinitelyTyped的github上发出问题,并请他们为您进行更改。 Angular是一个非常重要的软件包,我希望他们能够对此做出响应。当然,您始终可以选择自己向他们提交PR。似乎有一些处理版本差异的说明,但在这种情况下我不熟悉具体细节。

如果更改确实被合并并合并,则为1.5.24,并且可以像其他任何更新一样工作。