Underscore: Format ekspor/API yang diubah dalam semver minor break paket komunitas

Dibuat pada 30 Mar 2020  ·  8Komentar  ·  Sumber: jashkenas/underscore

Saya menemukan beberapa bug yang sangat aneh hari ini dalam paket pihak ketiga ( natural ) dengan kesalahan seperti TypeError: Cannot read property 'without' of undefined . Ini ternyata karena mengimpor underscore seperti ini:

var Tokenizer = require('./tokenizer'),
    util = require("util"),
    _ = require('underscore')._;

Tampaknya versi terbaru mengekspor seluruh shebang sebagai ekspor default, bukan sebagai nilai yang disebutkan pada ekspor. Itu mungkin baik-baik saja…kecuali untuk paket apa pun yang melakukan hal di atas.

Mungkin _ masih harus diekspos sebagai alias untuk ekspor default? Mengubah sesuatu yang begitu besar seperti API tingkat atas tampaknya seperti perubahan besar yang melanggar (bukan perubahan _minor_ semver!), dan bagaimanapun juga underscore digunakan sebagai ketergantungan oleh banyak paket di luar sana.

Semua 8 komentar

Masalah yang sama di sini .. sepertinya _ sedang diekspor sebagai undefined : https://github.com/jashkenas/underscore/issues/2835

Ping ke @jgonggrijp — sepertinya kita membutuhkan patch lanjutan 1.10.2.

Secara khusus, saya pikir itu adalah penghapusan kode shim lama untuk API Node sebelumnya yang menyebabkan masalah, di sini: https://github.com/jashkenas/underscore/compare/1.9.2...1.10.0# diff -0f36b362a0b81d6f4d4bfd8a7413c75dL45-L60

... @jgonggrijp — menurut Anda apakah akan ada masalah dengan menambahkan sesuatu seperti itu kembali?

Ini jelas sebuah kekhilafan, maaf tentang itu.

@jashkenas tautan Anda sepertinya tidak berfungsi jadi saya tidak bisa mengerti maksud Anda. Mungkin sesuatu seperti ini di index-default ?

var _ = mixin(allExports);
_._ = _;
export default _;
var _ = mixin(allExports);
_._ = _;
export default _;

Inilah yang saya lakukan! Super.

Ini harus diperbaiki sekarang di 1.10.2, yang telah saya dorong ke NPM. Silakan mencobanya, dan beri tahu saya jika semuanya kembali normal. Permintaan maaf untuk kesalahannya.

@jashkenas ya Tuhan! :malaikat: Terima kasih!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

danilopolani picture danilopolani  ·  5Komentar

jdalton picture jdalton  ·  4Komentar

xiaoliwang picture xiaoliwang  ·  3Komentar

marcalj picture marcalj  ·  5Komentar

umarfarooq125 picture umarfarooq125  ·  8Komentar