webpackでuglify-save-licenseを使ってライセンスコメントを残す

今日KobitoのWindows版がリリースされた。

mizchiさんがその前後のツイートでライセンスについてのツイートをしていた。

licensifyというのがあるのか、名前からしてbrowserifyのプラグインかな、と思ったらやはりそうだった。

以前からconcatやuglifyをしたときのライブラリのライセンスコメントについて気になっていたので、いろいろ調べてみた。browserifyを使うなら上記のプラグインを使えば良さそう。

なのだけど、自分はbrowserifyはあまり使っていなくて、webpackを使ってみている。webpackで圧縮すると(オプションに-pを付けるだけ)当然コメントはすべて削除されてしまうのでどうにかならないのかと少し調べてみたら、uglify-save-licenseというモジュールを見つけた。

UglifyJSに渡してあげるといい感じにライセンスコメントが残せる。webpackで使うには

plugins: [
  new webpack.optimize.UglifyJsPlugin(
    output:
      comments: require('uglify-save-license')
  )
]

というふうに書けば良い。