#!/usr/bin/env bash

set -eu

. ./node_modules/release-util-fnd/lib.sh

root=`dirname $0`
root=`realpath "$root/.."`

skip=${SKIP_UPDATES:-""}
if [ -z "$skip" ]; then
	"$root/bin/update-pkg"
fi

# ensure meta-packages are in sync and up to date
version=`determine_version "."`
packages=`find "$root/pkg" -type d -d 1`
for dir in $packages; do
	package=`basename $dir`
	_version=`determine_version "./pkg/$package"`
	if [ "$_version" != "$version" ]; then
		abort "version mismatch in $package"
	fi
	unset _version
done
"$root/bin/validate-dependencies" faucet-pipeline-js $packages
unset version

skip=${SKIP_CHECKS:-""}
if [ -z "$skip" ]; then
	pre_release_checks
fi
npm test

target_dir=`create_package`
# remove meta-packages
rm -r "$target_dir/pkg"

publish_package
for dir in $packages; do
	(cd "$dir"; echo "about to publish `basename $dir`"; npm publish)
done
