#!/bin/sh

dirname=$(dirname "$(readlink -f "$0")")

browserify="$dirname/../node_modules/.bin/browserify"
uglify="$dirname/../node_modules/.bin/uglifyjs"

usage () {
  printf "Usage: build-umd <argument>\n"
}

build_dev () {
  mkdir -p dist/
  NODE_ENV=development "$browserify" index.js \
    --standalone=choo \
    -t envify \
    -g yo-yoify \
    -g es2020 \
    > dist/choo.js
}

build_min () {
  mkdir -p dist/
  NODE_ENV=production "$browserify" index.js \
    --standalone=choo \
    -t envify \
    -g unassertify \
    -g yo-yoify \
    -g es2020 \
    -g uglifyify \
    -t envify \
    -p bundle-collapser/plugin \
    | uglifyjs \
    | "$uglify" \
    > dist/choo.min.js
}

# parse CLI flags
while true; do
  case "$1" in
    -h|--help) usage && exit 1 ;;
    -- ) shift; break ;;
    * ) break ;;
  esac
done

case "$1" in
  d|dev) shift; build_dev "$@" ;;
  m|min) shift; build_min "$@" ;;
  *) shift; build_min "$@" ;;
esac
