【问题标题】:How to update an older version of a type如何更新旧版本的类型
【发布时间】:2022-05-12 03:32:57
【问题描述】:

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

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

我的问题是:我有哪些选择来处理这个问题?

  • DefinitelyTyped 是否具有为旧版本库发布更新的机制?
  • 它会被@types 发布者接收并以1.5.24 发布到npm 吗?

谢谢

【问题讨论】:

    标签: typescript-typings definitelytyped


    【解决方案1】:

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

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

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

    如果确实提取并合并了某个更改,那么它将是 1.5.24,并且可以像任何其他更新一样工作。

    【讨论】:

    • 感谢您的回答。我知道有办法。我正在寻找如何做的细节。
    猜你喜欢
    • 2021-12-01
    • 2013-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-06
    • 1970-01-01
    • 1970-01-01
    • 2016-10-15
    相关资源
    最近更新 更多