#!/usr/bin/env bash

BIN=node_modules/.bin

function run {
  NODE_ENV=development $BIN/watchify --debug --verbose \
    --external panels \
    --external panels/blocks \
    --external panels/normalise-uri \
    --external panels/snap \
    --external react \
    --external react-dom \
    --external velocity-react \
    --transform [rollupify --config rollup.config.js] \
    --transform loose-envify \
    --require ./playground/$1/src.js:$1 \
    --outfile playground/$1/app.js
}

run trails.panels.localhost & \
run launchpad.panels.localhost & \
run launchpad-floating.panels.localhost & \
run toc.localhost & \
run notes.localhost & \
NODE_ENV=development $BIN/watchify --debug --verbose \
  --external panels \
  --external panels/blocks \
  --external panels/normalise-uri \
  --external panels/snap \
  --external react \
  --external react-dom \
  --external velocity-react \
  --transform [rollupify --config rollup.config.js] \
  --transform loose-envify \
  --require ./playground/custom-parser.panels.localhost/app/src.js:custom-parser.panels.localhost \
  --outfile playground/custom-parser.panels.localhost/app/app.js & \
NODE_ENV=development $BIN/watchify --debug --verbose \
  --require react \
  --require react-dom \
  --require velocity-react \
  --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 \
  --outfile playground/panels.js index.dev.js & \
  sudo $BIN/babel-node --plugins transform-es2015-modules-commonjs .bin/server.js & \
  wait
