Files
2026-05-20 18:38:30 +07:00

33 lines
896 B
Bash

#!/usr/bin/env nix-shell
#!nix-shell -i bash -p bash nodejs nix-update git curl jq
WORKDIR=$(mktemp -d)
PACKAGE_DIR="$(realpath "$(dirname "$0")")"
# Get latest tag
NEW_VERSION=$(curl "https://api.github.com/repos/fauna/fauna-shell/tags" | jq -r '.[] | .name' | sort --version-sort | tail -1)
# Trim leading "v" for version comparisons
NEW_VERSION=${NEW_VERSION:1}
# exit early if no change
if [[ "$UPDATE_NIX_OLD_VERSION" == "$NEW_VERSION" ]]; then
echo "package is up-to-date: $UPDATE_NIX_OLD_VERSION"
exit 0
fi
# Clone source
git clone "https://github.com/fauna/fauna-shell" -b "v$NEW_VERSION" "$WORKDIR/src"
pushd "$WORKDIR/src"
npx --yes npm-package-lock-add-resolved
npm install --package-lock-only --ignore-scripts
# Update vendored lock file
cp package-lock.json "$PACKAGE_DIR/package-lock.json"
popd
# Run nix-update
nix-update "$UPDATE_NIX_PNAME"
# Cleanup
rm -rf "$WORKDIR"