私は React コンポーネント ライブラリを開発しています。このライブラリは、いくつかの内部 NextJs プロジェクトで使用されます。
NextJs との互換性の理由から、このライブラリはある時点で CommonJs に変換する必要があります。
問題は、私のライブラリの一部の npm 依存関係が CommonJS を処理しないことです。これは、たとえばスワイパーの場合に当てはまります。
したがって、選択肢は 2 つあります:
この 2 つを組み合わせることもできます。CommonJs および ES モジュールのすべての依存関係の管理を無視し、必要なものだけを置き換えます。
###どう思いますか?
同じ状況です。基盤となる ESM モジュールを含むコア ライブラリに依存する Next.js アプリケーションがあります。ただし、依存関係をバンドルしないことをお勧めします。ダウンストリーム アプリケーションにも同じ依存関係がある可能性があり、それらを 2 回ロードすることになります。また、他のサードパーティの依存関係 (ESM 依存関係) でこの問題が発生したことがあるかもしれません。これらを
リーリーnext.config.js
のtranspilePackages
リストに追加するだけです: https://nextjs.org/docs/app/api-reference/ next-config-js /transpilePackages. next/jest も使用していますが、これも設定を取得して機能しているようです。唯一の注意点は、@babel/runtime
をトランスパイルする必要があることがわかりましたが、それは jest が実行されているときのみです。そうしないと、メイン アプリケーションが壊れてしまいます。