#!/bin/sh
set -eu

mkdir -p node_modules/@cropper

for package in packages/*; do
	name=$(node -p "require('./${package}/package.json').name")
	case "$name" in
		@cropper/*)
			ln -sfn "../../${package}" "node_modules/${name}"
			;;
		cropperjs)
			ln -sfn "../${package}" "node_modules/${name}"
			;;
	esac
done

rm -rf .temp
tsc -p debian/tsconfig.build.json --outDir ./.temp --declaration --emitDeclarationOnly

packages="\
	packages/utils \
	packages/element \
	packages/element-canvas \
	packages/element-crosshair \
	packages/element-grid \
	packages/element-handle \
	packages/element-image \
	packages/element-selection \
	packages/element-shade \
	packages/element-viewer \
	packages/elements \
	packages/cropperjs
"

for package in $packages; do
	(
		cd "$package"
		rm -rf dist .temp
		mkdir -p dist
		cp ../../.temp/"$package"/src/*.d.ts dist/
		mv dist/index.d.ts "$(node -p "require('./package.json').types")"
	)
done

for package in $packages; do
	(
		cd "$package"
		rollup -c ../../rollup.config.js
	)
done

: > packages/cropperjs/dist/cropper.css
