#!/bin/sh
set -eu

link_workspace_packages() {
	root="$(pwd)"
	find packages plugins plugin-packs -mindepth 2 -maxdepth 2 -name package.json | while read -r package_json; do
		dir="${package_json%/package.json}"
		name="$(jq -r .name "$package_json")"
		mkdir -p "node_modules/$(dirname "$name")"
		ln -sfn "$root/$dir" "node_modules/$name"
	done
}

build_package() {
	dir="$1"
	rm -rf "$dir/dist"
	if [ "$dir" = "plugins/postcss-progressive-custom-properties" ]; then
		(cd "$dir" && node ./scripts/matchers.mjs && rollup -c ../../rollup/default.mjs)
	else
		(cd "$dir" && rollup -c ../../rollup/default.mjs)
	fi
}

link_workspace_packages

for dir in \
	packages/color-helpers \
	packages/css-tokenizer \
	packages/css-parser-algorithms \
	packages/css-calc \
	packages/css-color-parser \
	packages/cascade-layer-name-parser \
	packages/media-query-list-parser \
	packages/selector-resolve-nested \
	packages/selector-specificity \
	packages/utilities \
	plugins/postcss-progressive-custom-properties \
	plugins/postcss-rebase-url \
	$(sed '/^$/d' debian/nodejs/additional_components) \
	plugins/postcss-nesting
do
	build_package "$dir"
done
