#!/bin/bash

root=$(pwd)
entryFile=$1

if [ ! -f "$entryFile" ]
then
	echo "The build file $entryFile does not exists"
	exit 2
else
	path=$(dirname "$entryFile")
	file=$(basename $entryFile)

	set -e
	cd $path
	echo "Entering $path"

	# support for multiple chunks
	for chunk in *$file; do

		# Backup original file
		backupFile="$chunk.orig"
		echo "Backing up $chunk to $backupFile"
		cp $chunk $backupFile

	done

	# Make the app
	echo "Making $file"
	cd ../
	npm --silent install
	npm run --silent build

	# Reset
	cd $root
	cd $path

	# support for multiple chunks
	for chunk in *$file; do

		# Compare build files
		echo "Comparing $chunk to the original"
		backupFile="$chunk.orig"
		if ! diff -q $chunk $backupFile &>/dev/null
		then
			echo "$chunk build is NOT up-to-date! Please send the proper production build within the pull request"
			cat $HOME/.npm/_logs/*.log
			exit 2
		else
			echo "$chunk build is up-to-date"
		fi

	done
fi