網站搜尋

typescript - 會有 @types/jest 版本 27 嗎?


我看到的其他所有與 Jest 相關的套件目前都是 27 版本,除了這個。我不確定這是否是故意的。Jest 文件指出

對於 @types/* 模組,建議嘗試匹配相關模組的版本。例如,如果你使用 jest 26.4.0,那麼使用 @types/jest 26.4.x 是理想的。一般來說,盡量盡可能匹配主要版本(26)和次要版本(4)。

我不確定 27 是否因為要確保 @jest/globals 可以作為 DefinitelyTyped 的依賴使用而被擋住(如果我正確理解 PR 討論的話)。或者是因為 27 版本不需要任何型別更改(對我來說似乎不太可能)。也許只是還沒有人處理它而已。

如果只是還沒有人處理,作為後續,有沒有簡單的方法知道哪些類型需要更新?

答案#1

是的,DefinitelyTyped 與 Jest 無關。實際上,DefinitelyTyped 由微軟 TypeScript 團隊的人員以及當然還有很多志願者維護。

DefinitelyTyped 的型別定義文件說明了 JavaScript 函式庫的外部 API。

要查看有什麼變化,就必須比較這些 API:

  • 當前 (27.0): https://jestjs.io/docs/api
  • 26.x: https://jestjs.io/docs/26.x/api

變更清單可在此變更日誌中查閱:https://github.com/facebook/jest/blob/master/CHANGELOG.md#2700

人們必須瀏覽所有這些內容,並相應地更新類型。

答案#2

Jest 的人確認 44365 並沒有阻止 @types/jest 27。但他們不知道 @types/jest 更新的狀態。我不相信任何 Jest 的貢獻者同時也是 Jest DefinitelyTyped 的貢獻者。

在 GitHub 上發佈的一個問題確認了這只是尚未進行更新的情況。但現在已有一個拉取請求來更新類型。

Krisztián Balla 的回答描述如何尋找可能需要類型修改的版本之間的變更。不幸的是,沒有更簡單的方法可以做到這一點,也沒有任何地方可以檢查 Jest DefinelyTyped 維護者是否期望進行任何更改。