背景
UglifyJS と uglify-es
UglifyJSという大変有名な minifier がありました。しかしES6に対応していないため、class構文などのES2015以降に追加された文法をつかったJavaScriptをminifyできません。
uglify-esというUglifyJSをES2015の文法に対応させる開発ブランチもありました。開発終了しています。
terser
terserという minifier があります。生きてます。
2019年の2月ぐらいからuglify-esより使われるようになりました。
現在も増加傾向にあります。
モジュールバンドラー
この流れはモジュールバンドラーにも来ています。
browserify
uglifyifyというbrowserify向けのminify用トランスフォームモジュールがあります。
以前は名前の通りUglifyJSをつかっていました。
2017年1月から uglify-es
use uglify-es as the main uglify module by lrlna · Pull Request #65 · hughsk/uglifyify
2018年6月から terser
Switch to uglify-es fork by toddself · Pull Request #86 · hughsk/uglifyify
Webpack
Webpackは2018年2月からは、デフォルトでES2015をminifyできます。
2018年2月から uglify-es
- https://github.com/webpack/webpack/releases/tag/v4.0.0
- https://github.com/webpack-contrib/uglifyjs-webpack-plugin/releases/tag/v1.0.0
2018年11月から terser
uglifyjs-webpack-plugin は名前の通りの uglify 用プラグインに戻り、ES2015向けには terser-webpack-plugin が生まれました。
- https://github.com/webpack-contrib/uglifyjs-webpack-plugin/releases/tag/v2.0.0
- https://github.com/webpack-contrib/terser-webpack-plugin
WebpackのES2015対応の変遷リンク
- 【webpack】(2018年2月25日現時点で)ES2015 (ES6)のままminifyする方法 - Qiita
- 【webpack】(2018年1月現時点で)ES2015 (ES6)のままminifyする方法 - Qiita
- 【webpack】(現時点で)ES2015 (ES6)のままminifyする方法 - Qiita