33 lines
896 B
Bash
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"
|