2020-08-16 17:01:18 +03:00
# Minification
2020-08-21 15:46:31 +03:00
We're basically following the same protocol as [described on the Elm Guide. ](https://guide.elm-lang.org/optimization/asset_size.html ) We use Terser, which is just an actively maintained fork of Uglify.
2020-08-24 14:56:01 +03:00
After installing `elm-optimize-level-2` ,
2020-08-16 17:01:18 +03:00
Install a minifier like [`Terser` ](https://www.npmjs.com/package/terser ).
```
npm install -g terser
```
Then, you'll want to run these commands to minify and gzip your code before deploying.
```bash
2020-08-24 14:56:01 +03:00
elm-optimize-level-2 Main.elm --output=app.js
2020-08-21 15:46:31 +03:00
terser app.js --compress 'pure_funcs="F2,F3,F4,F5,F6,F7,F8,F9,A2,A3,A4,A5,A6,A7,A8,A9",pure_getters,keep_fargs=false,unsafe_comps,unsafe' | terser --mangle --output=app.min.js
2020-08-16 17:01:18 +03:00
gzip --keep --force app.min.js
# --keep = keep the original file
# --force = overwrite the exisign gzip file if it's there
2020-08-21 15:46:31 +03:00
```