13
10

More than 3 years have passed since last update.

2019年のJavaScript minifier "terser"

Last updated at Posted at 2019-10-03

背景

UglifyJS と uglify-es

UglifyJSという大変有名な minifier がありました。しかしES6に対応していないため、class構文などのES2015以降に追加された文法をつかったJavaScriptをminifyできません。

uglify-esというUglifyJSをES2015の文法に対応させる開発ブランチもありました。開発終了しています。

terser

terserという minifier があります。生きてます。
2019年の2月ぐらいからuglify-esより使われるようになりました。
現在も増加傾向にあります。

スクリーンショット 2019-09-11 22.47.37.png
https://www.npmtrends.com/terser-vs-uglify-js-vs-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

2018年11月から terser

uglifyjs-webpack-plugin は名前の通りの uglify 用プラグインに戻り、ES2015向けには terser-webpack-plugin が生まれました。

WebpackのES2015対応の変遷リンク

その他参考リンク

13
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
10