38 lines
682 B
Bash
Executable file
38 lines
682 B
Bash
Executable file
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
cd "$(dirname "$0")/.."
|
|
|
|
lint () {
|
|
echo "::group::lint"
|
|
pnpm lint
|
|
echo "::endgroup::"
|
|
}
|
|
|
|
check () {
|
|
echo "::group::typecheck"
|
|
pnpm check
|
|
echo "::endgroup::"
|
|
}
|
|
|
|
build () {
|
|
echo "::group::build"
|
|
pnpm build
|
|
echo "::endgroup::"
|
|
}
|
|
|
|
no_local_overrides () {
|
|
echo "::group::no-local-overrides"
|
|
# Make sure no "link:" overrides are committed — those break every other clone
|
|
if grep -q 'link:' package.json pnpm-workspace.yaml 2>/dev/null; then
|
|
echo "Some packages are linked to local files!"
|
|
exit 1
|
|
fi
|
|
echo "::endgroup::"
|
|
}
|
|
|
|
steps="${*:-lint check no_local_overrides build}"
|
|
|
|
for step in $steps; do
|
|
"$step"
|
|
done
|