Definitelytyped: Apa arti dari versi dalam paket yang diketik dengan pasti

Dibuat pada 9 Des 2016  ·  3Komentar  ·  Sumber: DefinitelyTyped/DefinitelyTyped

Saya pikir versi paket yang diketik pasti tidak cocok dengan versi paket sebenarnya. Misalnya saat saya menulis masalah ini versi terbaru dari lodash adalah '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`. Jadi membingungkan ketika kita ingin mengubah paket pengetikan karena tidak ada cara yang baik untuk menambah paket pengetikan karena itu dimaksudkan untuk menjadi versi sebenarnya dari paket tersebut. Ini akan menghentikan pemasangan paket npm di banyak proyek.

Saya menyarankan untuk mengetik paket tidak mengikuti versi persis dari paket sebenarnya. Sebagai contoh:

versi lodash: 4.14.43

@types/lodash versi: 4.1.1

Tetapi dalam file .d.ts kita harus secara eksplisit menulis versi paket lodash yang kompatibel.

Kami juga dapat memiliki @types/lodash-3 dll untuk versi lodash yang lebih lama

Komentar yang paling membantu

Kebijakan untuk nomor versi adalah mencoba untuk menjaga agar dua nomor pertama tetap sejalan. @types/lodash berada di 4.14.x berarti harus bekerja dengan lodash 4.14 dan di atasnya. Digit terakhir mencerminkan pembaruan pada struktur paket (IE: mungkin seseorang membuat definisi tipe yang lebih akurat untuk perubahan 4.14).

Mengingat DT didukung oleh komunitas, tampaknya salah satu dari berikut ini pasti benar:

  1. lodash tidak memperkenalkan apa pun yang memerlukan perubahan terkait tipe
  2. lodash memang memperkenalkan perubahan tetapi tidak ada seorang pun di komunitas yang membutuhkan/menginginkan fungsionalitas tersebut
  3. lodash memang memperkenalkan perubahan tetapi ada keinginan untuk menjaga jenis yang kompatibel dengan versi yang sedikit lebih lama

Saya akan menebak yang #2.

Mengenai @types/lodash-3, cara modul diselesaikan, Anda harus melakukan sesuatu seperti import * as _ from "lodash-3" agar tipe tersebut diambil.

Semua 3 komentar

Kebijakan untuk nomor versi adalah mencoba untuk menjaga agar dua nomor pertama tetap sejalan. @types/lodash berada di 4.14.x berarti harus bekerja dengan lodash 4.14 dan di atasnya. Digit terakhir mencerminkan pembaruan pada struktur paket (IE: mungkin seseorang membuat definisi tipe yang lebih akurat untuk perubahan 4.14).

Mengingat DT didukung oleh komunitas, tampaknya salah satu dari berikut ini pasti benar:

  1. lodash tidak memperkenalkan apa pun yang memerlukan perubahan terkait tipe
  2. lodash memang memperkenalkan perubahan tetapi tidak ada seorang pun di komunitas yang membutuhkan/menginginkan fungsionalitas tersebut
  3. lodash memang memperkenalkan perubahan tetapi ada keinginan untuk menjaga jenis yang kompatibel dengan versi yang sedikit lebih lama

Saya akan menebak yang #2.

Mengenai @types/lodash-3, cara modul diselesaikan, Anda harus melakukan sesuatu seperti import * as _ from "lodash-3" agar tipe tersebut diambil.

Terima kasih atas jawaban Anda yang luar biasa. Pertanyaan ini muncul di benak saya karena baru-baru ini pembaruan untuk pengetikan lodash merusak kode saya (https://github.com/DefinitelyTyped/DefinitelyTyped/commit/34124e057f3f2baf4d1b0f17616a00221c04690c). Rupanya, kita harus menulis lebih banyak tes untuk pengetikan lodash.

Untuk konteksnya, utas lain ini membuatnya terdengar seolah-olah kebijakan mencoba menjaga nomor versi tetap sinkron hanya diikuti oleh beberapa paket.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat