small script to track compressed file sizes
authorDan Vanderkam <dan@dygraphs.com>
Sun, 26 Aug 2012 07:53:24 +0000 (10:53 +0300)
committerDan Vanderkam <dan@dygraphs.com>
Sun, 26 Aug 2012 07:53:24 +0000 (10:53 +0300)
file-size-stats.sh [new file with mode: 0755]

diff --git a/file-size-stats.sh b/file-size-stats.sh
new file mode 100755 (executable)
index 0000000..b3782ac
--- /dev/null
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+# Reports compressed file sizes for each JS file in dygraphs.
+
+# This list needs to be kept in sync w/ the one in dygraph-dev.js
+# and the one in jsTestDriver.conf.
+for file in \
+dygraph-layout.js \
+dygraph-canvas.js \
+dygraph.js \
+dygraph-utils.js \
+dygraph-gviz.js \
+dygraph-interaction-model.js \
+dygraph-range-selector.js \
+dygraph-tickers.js \
+rgbcolor/rgbcolor.js \
+strftime/strftime-min.js \
+dashed-canvas.js \
+plugins/base.js \
+plugins/annotations.js \
+plugins/axes.js \
+plugins/chart-labels.js \
+plugins/grid.js \
+plugins/legend.js \
+plugins/install.js \
+; do
+  base_size=$(cat $file | wc -c)
+  cat $file \
+    | perl -ne 'print unless m,REMOVE_FOR_COMBINED,..m,/REMOVE_FOR_COMBINED,' \
+    > /tmp/dygraph.js
+  min_size=$(java -jar yuicompressor-2.4.2.jar /tmp/dygraph.js | gzip -c | wc -c)
+
+  echo "$min_size ($base_size) $file"
+done