summaryrefslogtreecommitdiffstats
path: root/scripts/build-prod.sh
diff options
context:
space:
mode:
authorJan Tuomi <jan.tuomi@valuemotive.com>2021-10-29 15:22:09 +0300
committerJan Tuomi <jan.tuomi@valuemotive.com>2021-10-29 15:22:09 +0300
commitf4dacee4908300f63200864b9f089874152a568c (patch)
tree38102b52e258531f197a3454492448b57a16acb6 /scripts/build-prod.sh
parentd0b6988a1a49ae0966e887e892508f2afc12bc6a (diff)
Add scripts
Diffstat (limited to 'scripts/build-prod.sh')
-rwxr-xr-xscripts/build-prod.sh19
1 files changed, 19 insertions, 0 deletions
diff --git a/scripts/build-prod.sh b/scripts/build-prod.sh
new file mode 100755
index 0000000..7f73a6f
--- /dev/null
+++ b/scripts/build-prod.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+TOP_LEVEL="$(git rev-parse --show-toplevel)"
+OUT_FILE="build/index.js"
+OUT_MIN_FILE="build/index.min.js"
+
+mkdir -p build && rm -r build/*
+
+echo ":: Outputting JS to ${OUT_FILE}"
+echo ":: Outputting optimized JS to ${OUT_MIN_FILE}"
+echo ":: Outputting index.html to build/index.html"
+
+elm make src/Main.elm --optimize --output="${OUT_FILE}"
+uglifyjs "${OUT_FILE}" --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' | uglifyjs --mangle --output "${OUT_MIN_FILE}"
+cp index.prod.html build/index.html
+
+echo ":: Compiled size: $(wc -c $OUT_FILE) bytes ($OUT_FILE)"
+echo ":: Minified size: $(wc -c $OUT_MIN_FILE) bytes ($OUT_MIN_FILE)"
+echo ":: Gzipped size: $(gzip -c $OUT_MIN_FILE | wc -c) bytes"