#!/usr/bin/env bash

BIN=node_modules/.bin
BUNDLE=bundle

VERSION=$1
PANELS=$BUNDLE/panels-$VERSION

echo "[bundle] bundling panels..."
mkdir -p $BUNDLE

echo "[bundle] v${VERSION}..."
NODE_ENV=development $BIN/browserify --verbose --debug \
  --require react \
  --require react-dom \
  --require prop-types \
  --require ./index.dev.js:panels \
  --require ./panels-ui-compat.js:panels-ui \
  --require ./blocks/index.js:panels/blocks \
  --require ./utils/normalise-uri/index.js:panels/normalise-uri \
  --require ./utils/snap.js:panels/snap \
  --transform [rollupify --config rollup.config.js] \
  --transform loose-envify \
  --entry index.dev.js | \
  $BIN/exorcist $PANELS.js.map > $PANELS.js

NODE_ENV=production $BIN/browserify --verbose --debug \
  --require react \
  --require react-dom \
  --require prop-types \
  --require ./index.js:panels \
  --require ./panels-ui-compat.js:panels-ui \
  --require ./blocks/index.js:panels/blocks \
  --require ./utils/normalise-uri/index.js:panels/normalise-uri \
  --require ./utils/snap.js:panels/snap \
  --transform [rollupify --config rollup.config.js] \
  --transform loose-envify \
  --entry index.js | \
  $BIN/exorcist $PANELS-prod.js.map > $PANELS-prod.js &&
  $BIN/uglifyjs --verbose \
    --compress \
    --mangle \
    --screw-ie8 \
    --in-source-map $PANELS-prod.js.map \
    --source-map $PANELS.min.js.map $PANELS-prod.js > $PANELS.min.js

ls -lha $PANELS.*
echo "[bundle] done"
