Definitelytyped: 明確に型指定されたパッケージのバージョンの意味は何ですか

作成日 2016年12月09日  ·  3コメント  ·  ソース: DefinitelyTyped/DefinitelyTyped

確実に型付けされたパッケージのバージョンは、実際のパッケージのバージョンと一致するべきではないと思います。 たとえば、私がこの号を書いている時点では、 lodashの最新バージョンは '4.17.2 and the latest version of @ types / lodash is 4.14.43 . This probably means that the typings are for lodash -v4.14.43`。 したがって、タイピングパッケージは実際のバージョンであることが意図されているため、タイピングパッケージをインクリメントする適切な方法がないため、タイピングパッケージを変更する場合は混乱を招きます。 これにより、多くのプロジェクトでnpmパッケージをインストールできなくなります。

パッケージを実際のパッケージの正確なバージョンに従わないように入力することをお勧めします。 例えば:

lodashバージョン: 4.14.43

@ types / lodashバージョン: 4.1.1

ただし、.d.tsファイルには、互換性のあるlodashパッケージバージョンを明示的に記述する必要があります。

また、古いバージョンのlodashには@types/lodash-3などを使用できます

最も参考になるコメント

バージョン番号のポリシーは、最初の2つの番号を一列に並べるようにすることです。 @ types / lodashが4.14.xにあるということは、lodash4.14以降で動作するはずであることを意味します。 最後の桁は、パッケージ構造の更新を反映しています(つまり、誰かが4.14の変更に対してより正確な型定義を行った可能性があります)。

DTがコミュニティでサポートされていることを考えると、次のいずれかが当てはまるようです。

  1. lodashは、タイプ関連の変更を必要とするものを導入しませんでした
  2. lodashは変更を導入しましたが、コミュニティの誰もその機能を必要としない/望んでいませんでした
  3. lodashは変更を導入しましたが、少し古いバージョンと互換性のあるタイプを維持したいという要望があります

私はその#2を推測します。

モジュールを解決する方法である@types / lodash-3に関しては、上記のタイプを取得するには、 import * as _ from "lodash-3"のようなものを実行する必要があります。

全てのコメント3件

バージョン番号のポリシーは、最初の2つの番号を一列に並べるようにすることです。 @ types / lodashが4.14.xにあるということは、lodash4.14以降で動作するはずであることを意味します。 最後の桁は、パッケージ構造の更新を反映しています(つまり、誰かが4.14の変更に対してより正確な型定義を行った可能性があります)。

DTがコミュニティでサポートされていることを考えると、次のいずれかが当てはまるようです。

  1. lodashは、タイプ関連の変更を必要とするものを導入しませんでした
  2. lodashは変更を導入しましたが、コミュニティの誰もその機能を必要としない/望んでいませんでした
  3. lodashは変更を導入しましたが、少し古いバージョンと互換性のあるタイプを維持したいという要望があります

私はその#2を推測します。

モジュールを解決する方法である@types / lodash-3に関しては、上記のタイプを取得するには、 import * as _ from "lodash-3"のようなものを実行する必要があります。

素晴らしい回答ありがとうございます。 最近、lodashタイピングの更新によってコードが壊れたため、この質問が頭に浮かびます(https://github.com/DefinitelyTyped/DefinitelyTyped/commit/34124e057f3f2baf4d1b0f17616a00221c04690c)。 どうやら、私たちはlodashタイピングのためのより多くのテストを書くべきです。

コンテキストとしては、この他のスレッドは、バージョン番号をある程度同期させようとするポリシーの後に、一部のパッケージのみが続くように聞こえます。

このページは役に立ちましたか?
0 / 5 - 0 評価