#!/usr/bin/env bash

set -e

# Only argument is the directory to bundle
cd "$1"
zipfile=${2:-$(pwd)/build/bundle.zip}

function removemodules() {
  for filename in node_modules/*; do
    npm uninstall "$(basename "$filename")"
  done
}

# Reinstall node modules for linux, without devDependencies
removemodules > /dev/null
npm install --production \
  --target=0.10.38 \
  --target_platform=linux \
  --target_arch=x64 > /dev/null 2>&1

mkdir -p "build"
if [ -f "$zipfile" ]; then
  rm "$zipfile"
fi

# Make a zip archive
zip -r -q "$zipfile" . -x *.git* -x ./build*

# Reinstall your platform's dependencies so you can keep working
removemodules > /dev/null 2>&1
npm install > /dev/null 2>&1

echo "$zipfile"
