Underscore: semverマイナーブレークコミュニティパッケージのエクスポート形式/ APIの変更

作成日 2020年03月30日  ·  8コメント  ·  ソース: jashkenas/underscore

今日、サードパーティのパッケージ( natural )で、 TypeError: Cannot read property 'without' of undefinedのようなエラーを伴う非常に奇妙なバグに遭遇しました。 これは、次のようにunderscoreをインポートするためであることがわかります。

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

最新バージョンでは、エクスポートの名前付きの値としてではなく、デフォルトのエクスポートとしてシバン全体がエクスポートされているようです。 上記を実行するパッケージを除いて、それはおそらく問題ありません。

おそらく_は、デフォルトのエクスポートのエイリアスとして引き続き公開する必要がありますか? トップレベルAPIのように大きな変更は、大きな重大な変更のように見えます(_マイナー_semverの変更ではありません!)。結局、 underscoreは、そこにある多くのパッケージによって依存関係として使用されます。

全てのコメント8件

ここで同じ問題.. _undefinedとしてエクスポートされているようです: https ://github.com/jashkenas/underscore/issues/2835

@jgonggrijpにpingを送信—1.10.2パッチのフォローアップが必要なようです。

具体的には、問題の原因となったのは以前のNode APIの古いシムコードの削除だったと思います: https ://github.com/jashkenas/underscore/compare/1.9.2...1.10.0#

... @jgonggrijp —そのようなものを追加し直すことに問題があると思いますか?

これは間違いなく見落としです、申し訳ありません。

@jashkenasあなたのリンクが機能していないようですので、あなたが何を意味しているのかわかりません。 おそらくindex-defaultでこのようなものですか?

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

これはまさに私がやっていたことです! 素晴らしい。

これは、私がNPMにプッシュした1.10.2で修正されるはずです。 それを試してみて、すべてが正常に戻ったかどうかを知らせてください。 失敗をお詫びします。

@jashkenas ur GOD! :angel:ありがとう!

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

関連する問題

jdalton picture jdalton  ·  4コメント

githublyp picture githublyp  ·  3コメント

marcalj picture marcalj  ·  5コメント

afranioce picture afranioce  ·  8コメント

Francefire picture Francefire  ·  5コメント