Tsd: 弃用 TSD

创建于 2016-01-26  ·  15评论  ·  资料来源: DefinitelyTyped/tsd

Typings 项目 (https://github.com/typings/typings) 已经发展,目前可以使用绝对类型作为生态系统的一个子集。 这种改进有效地使 TSD 维护变得多余,随着时间的推移,定义应该被编写为带有typings.json外部模块,或者与库内联转换,以便 TypeScript 编译器直接使用。

当 Typings 的官方网站创建并可以链接到改进的文档时,此问题将关闭。 目前,它用作新用户或现有用户的通知。

要继续安装来自绝对类型的类型定义,请记住使用--ambient标志(绝对类型中的所有内容本质上都是“全局的”)。 如果您打算使用没有类型定义的依赖项发布库(例如,您安装了来自绝对类型/类型的类型),您将需要确保这些是依赖项(而不是环境)。 全局依赖的核心问题是维护和冲突。

typings install node --save --ambient

TSD PR 和问题将继续得到响应,但开发实际上是 EOL。 如果其他开发人员愿意进行维护和/或开发,欢迎您贡献。 现有的问题应该已经用 Typings 解决了,但如果你发现一些不起作用 - 在 Typings 中提出问题。

链接: https : //github.com/typings/discussions/issues/5https://github.com/typings/typings/issues/125。

编辑:Typings 为 TSD 用户实施了升级命令。 升级只会将tsd.json的格式转换为typings.json ,您可能需要进行其他调整(例如更正现在删除的引用)。

typings init --upgrade
important notice

最有用的评论

:+1:

供参考以从 tsd 升级

网络包+打字稿
https://github.com/angular/universal-starter/commit/cfb7b52b12e1da9de7ee7c2a452e7636c93aaa09

gulpjs+打字稿
https://github.com/angular/answers-app/pull/27/files

带有打字稿的 gulpjs
https://gist.github.com/gdi2290/e544407980e261acc172

命令

$ npm uninstall tsd
$ rm -rf typings
$ npm install typings
$ typings init --upgrade
$ rm tsd.json
$ typings install

所有15条评论

:+1:

供参考以从 tsd 升级

网络包+打字稿
https://github.com/angular/universal-starter/commit/cfb7b52b12e1da9de7ee7c2a452e7636c93aaa09

gulpjs+打字稿
https://github.com/angular/answers-app/pull/27/files

带有打字稿的 gulpjs
https://gist.github.com/gdi2290/e544407980e261acc172

命令

$ npm uninstall tsd
$ rm -rf typings
$ npm install typings
$ typings init --upgrade
$ rm tsd.json
$ typings install

只是对@gdi2290迁移步骤的一个小补充,关于我刚刚发生的事情。
如果有人遵循它并在编译过程中以数百TS2300: duplicate indetifier ... ,解决方案在这里https://www.npmjs.com/package/typings#maindts -and-browserdts

你如何用打字来做tsd link

你如何用打字机做 tsd 链接?

你没有。 TSD 链接有缺陷,并不是真正可靠的长期解决方案——因为它依赖于环境模块,导致重复的标识符,并且通常会迫使用户重新安装子依赖项。 假设你想要完全相同的东西,你可以做typings install npm:<library>/<path-to-d-ts> --ambient 。 最有可能的是,您需要一个不同的解决方案来正确处理子依赖项。 在这种情况下,将您的typings.json文件与您的库一起发布并执行typings install npm:<library> --save - <library>/typings.json的依赖项将得到解决。

从另一个存储库安装类型时遇到问题。 创建了一个新问题: https :

只是想知道这里对于绝对类型/tsd 与打字的愿景/意图是什么? 我知道 Typings 是去中心化的,并且它可以与绝对类型化对话,但我也知道 Typings 也有一些流行项目的存储库......因此我的问题。

强制所有类型定义都强制集中在 npm 包安装中而不是在我们本地项目中复制一半的基础架构是否有意义?

  • 没有 tsd
  • 没有打字
  • 没有重复的努力
  • 没有重复的依赖足迹......

JSPM 就是一个令人震惊的例子

NPM 已经有配件来支持和处理这个。

有人甚至对瞬态依赖的影响进行理论分析吗?

我不会把我的孩子送到托儿所,它会将任务转交给其他地方的另一个托儿所......最终会断开连接......更不用说在整个生态系统中漫游的单一瞬态依赖了。

@nhhockeyplayer理想情况下就是这种情况,但要发生这种情况,每个作者都需要包含和维护类型定义。

有关的

对于 Angular 2,我们可以假设每个 ng2 模块都将包含类型定义,但对于其他模块可能并非如此。 因此,将会有一个社区 (ng2) 通过确保其生态系统中的每个模块都包含类型定义(理想情况)而受益更多。

@blakeembrey很抱歉npm 上,这可能导致人们在最初不知道该包已弃用的情况下仍在使用它。 这可能是因为软件包被弃用后没有新版本。

如果您安装 NPM,它会说。

编辑:但我会检查它并发布一个新版本。

酷,然后就好了👍

你能在npm 页面添加弃用通知吗?
使返回者更容易弄清楚打字。

首先发布typings完整和完成版本然后弃用tsd会很酷,因为现在typings只会使事情变得更加困难,并且与多个回购 IMO 的混乱混淆。 😠

这个问题页面上有四个问题,现在可以追溯到几个月前,指出 tsd 不再用于安装基本包,如 jquery 或 react。 弃用或停止开发是一回事,但看起来 tsd 实际上已被关闭(?)。 这是一个真正的问题——尤其是因为似乎没有一种明确的公告服务会彻底停止——因为 tsd 是一种可以成为自动化部署一部分的工具。 我刚刚让一个 Web 服务自行终止,因为它的自动部署运行 tsd,而 tsd 不再有效。

它说它在安装时已被弃用一年多了。 由于 TSD 基于 GitHub,所以它仍然可以正常工作。 您将看到的是绝对类型的更改。 TSD 架构无法处理这些变化,而此举是 TypeScript 决定支持 NPM @types

此页面是否有帮助?
0 / 5 - 0 等级