建议
🔍 搜索词
博客发布说明公告降级-dts破坏性更改
✅ 可实现性检查清单
我的建议符合以下准则:
- 这不会对现有的TypeScript/JavaScript代码造成破坏性更改
- 这不会改变现有JavaScript代码的运行时行为
- 这可以在不根据表达式的类型发出不同的JS的情况下实现
- 这不是一个运行时特性(例如库功能、带有JavaScript输出的非ECMAScript语法、JS的新语法糖等)
- 这个特性将与TypeScript's Design Goals一致。
⭐ 建议
TypeScript项目的发布公告博客文章(如this one for 4.8)是精心制作的文档。我期待着阅读每一篇。它们用有激励性的示例介绍新功能,并描述我可能需要处理的破坏性更改。
然而,有一种类型的更改我很难从这些发布文章中轻松了解(我不认为还有其他地方能回答同样的问题)。我不知道一种简单的方法来回答“如果我升级到这个版本,构建一个库,并发布它的.d.ts文件,我的库的用户是否也需要使用这个新版本?这个答案是否取决于我是否使用新功能或设置特定设置?”
例如,在TS 4.7中,使用变体注解需要.d.ts
文件的消费者升级到TS 4.7;如果不使用该功能,则不需要升级。
另一方面,我认为TS 4.8中没有包含任何生成.d.ts
文件的语法更改。
从某种意义上说,我正在寻找一种简单的方法来了解发布是否引入了任何downlevel-dts
可能会有所帮助的更改。我认为这将在公告博客文章中很好地完成,或者在每个发布的其他易于找到的地方。
📃 动机示例
能够区分像变体注解(需要.d.ts
文件的消费者升级TS)这样的功能和其他功能。
💻 用例
了解当我升级TypeScript或使用新功能时,如果我也强制我的库使用者升级TypeScript的情况。
3条答案
按热度按时间gpnt7bae1#
这是一个好主意。我们可以把它们都整理到一个"升级说明"部分。
yizd12fk2#
我可以看到。我们在4.8 RC中所做的一件事是,"Breaking Changes"变成了"Correctness Improvements and Breaking Changes"。"Upgrade Notes"只是对这个的重命名,还是一个单独的部分?
rfbsl7qr3#
我认为升级说明应该是一个全新的整体部分,包括: