我看到一些API在类型声明/定义(如DefinitelyTyped模块(例如@types/prompts)和javascript模块的类型声明/定义之间漂移,而javascript模块的目的是“包装”。如何正确地对类型包和底层javascript包的版本进行配对?
假设我在我的@types/prompts": "^2.0.14"中添加了一个对package.json的依赖。如何确保我得到了与之配套的javascript包的正确版本?
npm包@types/prompts在其package.json中不显着依赖于javascript模块,而且在自述文件中似乎没有提到兼容性。
我在@types/prompts的index.d.ts中发现了一条松散的评论,其中提到:
// Type definitions for prompts 2.0
// Project: https://github.com/terkelg/prompts
...我们应该遵循什么约定吗?我很想了解一种通用的方法,而不仅仅是这个例子。
参考文献:
类型类型包:https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/prompts
发布于 2021-12-21 06:07:15
根据我的经验,通常在上游包和它的@type包之间保持主要版本和次要版本的同步。然后补丁版本将不匹配,因为需要能够修复一个bug。
有反应的例子:
react当前版本为17.0.2@types/react为17.0.37唯一不清楚的部分是当上游包的修补程序更改类型时。该更改是否已应用于类型包?
因此,例如,react决定发布17.0.3,其中包含了类型上的不间断差异。我们如何知道17.0.37是否包括这一变化?但是,为了解决这个新的变化,实际发布17.1.0可能是一个更好的想法。
https://stackoverflow.com/questions/70430867
复制相似问题