ただし前回の記事でも書いたとおり、あのツールを使うだけでDeno対応できるモジュールは、外部に依存せず自己完結しているものだけです。
じゃあ外部に依存しているモジュールはDeno対応できないのか、と考えてみました。
Webpackで1つのファイルにバンドルするだけです。
1つにまとめてしまえばimport文自体が消えるので、拡張子のことを考えずに済みます。
勿体つけましたが別に大したことはない。多分誰かが既に考えてる方法です。
ただし、この方法でも完全ではなく、いくつか気をつけないといけないことがあります。
コアモジュールはバンドルできない
コアモジュールはWebpackを使ってもバンドルできません。
モジュールが直接使っている場合はもちろん、依存モジュールが使っている場合も不可です。
ただしポリフィルが存在しているコアモジュール(querystring等)はバンドルできます。
ライセンスに注意
例えば依存モジュールがGPLの場合は、バンドル後のモジュールもGPLにしなければいけません。
それだけではなく、依存モジュールの中にGPLとCDDLのような非互換なライセンスを含むものがあった場合、ライセンス上はバンドルできません。
TypeScriptのモジュールにならない
WebpackでバンドルしたファイルはJavaScriptなので、もともとTypeScriptで書いていた場合はせっかくの型情報が消えてしまい、利用者にとって不便になります。
0 件のコメント:
コメントを投稿