terser
https://gyazo.com/74ab43585a9863f3b9eb7899dd592286
A JavaScript parser and mangler/compressor toolkit for ES6+.
JSのminifyとDead Code Eliminationをするやつ
Webpackがdefaultのminifierとして使っている
以前はUglifyJSを使っていたが2018/11からterserを使うようになった ref
website
github
以下の2つのminifyをする
mangling
compression
圧縮という名前だが、やってることは最適化に近い
静的に解決できることは何でもやる
https://github.com/terser/terser#compress-options
terserがcompressionとしてやってること一覧
JSの特徴を捉えて何でもやってる感じがわかるmrsekut.icon
compressionのよく使う項目
https://gist.github.com/shqld/d101cae50dd83ab7d3487cdb10b80f4d
基本
terser -c -m
-c: 圧縮する
-m: 関数名などの名前を簡単なものに変換する
-o: アウトプット先を指定する
with Webpack
terser-webpack-plugin
https://github.com/webpack-contrib/terser-webpack-plugin
https://webpack.js.org/plugins/terser-webpack-plugin/
#??
webpackを使っている人は特にterserのことを気にかけなくてもいい?
webpackの設定として知っていればそこまで問題なかったりする?
それともとterserをちょくで実行することも多々ある?
参考
2019年のJavaScript minifier "terser" - Qiita
terserについての話ではないが、歴史的流れがわかってよかった