#!/bin/bash
# Generates a single JS file that's easier to include.
+GetSources () {
+ # Include dyraph-options-reference only if DEBUG environment variable is set.
+ if [ ! -z "$DEBUG" ]; then
+ maybe_options_reference=dygraph-options-reference.js
+ else
+ maybe_options_reference=''
+ fi
+
+ # This list needs to be kept in sync w/ the one in dygraph-dev.js
+ # and the one in jsTestDriver.conf. Order matters, except for the plugins.
+ for F in \
+ polyfills/console.js \
+ dashed-canvas.js \
+ dygraph-options.js \
+ dygraph-layout.js \
+ dygraph-canvas.js \
+ dygraph.js \
+ dygraph-utils.js \
+ dygraph-gviz.js \
+ dygraph-interaction-model.js \
+ dygraph-tickers.js \
+ dygraph-plugin-base.js \
+ plugins/*.js \
+ dygraph-plugin-install.js \
+ $maybe_options_reference \
+ datahandler/datahandler.js \
+ datahandler/default.js \
+ datahandler/default-fractions.js \
+ datahandler/bars.js \
+ datahandler/bars-custom.js \
+ datahandler/bars-error.js \
+ datahandler/bars-fractions.js
+ do
+ echo "$F"
+ done
+}
+
# Pack all the JS together.
+CatSources () {
+ GetSources \
+ | xargs cat
+}
-# This list needs to be kept in sync w/ the one in dygraph-dev.js
-# and the one in jsTestDriver.conf.
-cat \
-strftime/strftime-min.js \
-rgbcolor/rgbcolor.js \
-stacktrace.js \
-dashed-canvas.js \
-dygraph-options.js \
-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 \
-plugins/base.js \
-plugins/annotations.js \
-plugins/axes.js \
-plugins/chart-labels.js \
-plugins/grid.js \
-plugins/legend.js \
-plugins/install.js \
-| perl -ne 'print unless m,REMOVE_FOR_COMBINED,..m,/REMOVE_FOR_COMBINED,' \
-> /tmp/dygraph.js
+Copyright () {
+ echo '/*! @license Copyright 2014 Dan Vanderkam (danvdk@gmail.com) MIT-licensed (http://opensource.org/licenses/MIT) */'
+}
-java -jar yuicompressor-2.4.2.jar /tmp/dygraph.js \
-> /tmp/dygraph-packed.js
+CatCompressed () {
+ node_modules/uglify-js/bin/uglifyjs \
+ $(GetSources | xargs) \
+ --compress warnings=false \
+ --mangle \
+ --define DEBUG=false \
+ --preamble "$(Copyright)" \
+ $*
+}
-(
- echo '/*! @license Copyright 2011 Dan Vanderkam (danvdk@gmail.com) MIT-licensed (http://opensource.org/licenses/MIT) */'
- cat /tmp/dygraph-packed.js
-) > dygraph-combined.js
-chmod a+r dygraph-combined.js
+ACTION="${1:-update}"
+case "$ACTION" in
+ls)
+ GetSources
+ ;;
+cat)
+ Copyright
+ CatSources
+ ;;
+cat-dev)
+ DEBUG=true
+ Copyright
+ CatSources
+ ;;
+compress*|cat_compress*)
+ CatCompressed
+ ;;
+update)
+ CatCompressed --source-map dygraph-combined.js.map \
+ > dygraph-combined.js
+ chmod a+r dygraph-combined.js dygraph-combined.js.map
+ ;;
+*)
+ echo >&2 "Unknown action '$ACTION'"
+ exit 1
+ ;;
+esac