1#! /usr/bin/env nix-shell
2#! nix-shell -i bash -p gnused nix nodejs prefetch-npm-deps wget
3
4set -euo pipefail
5pushd "$(dirname "${BASH_SOURCE[0]}")"
6
7version=$(npm view @withgraphite/graphite-cli version)
8tarball="graphite-cli-$version.tgz"
9url="https://registry.npmjs.org/@withgraphite/graphite-cli/-/$tarball"
10
11if [[ "$UPDATE_NIX_OLD_VERSION" == "$version" ]]; then
12 echo "Already up to date!"
13 exit 0
14fi
15
16sed -i 's#version = "[^"]*"#version = "'"$version"'"#' package.nix
17
18sha256=$(nix-prefetch-url "$url")
19src_hash=$(nix-hash --to-sri --type sha256 "$sha256")
20sed -i 's#hash = "[^"]*"#hash = "'"$src_hash"'"#' package.nix
21
22rm -f package-lock.json package.json *.tgz
23wget "$url"
24tar xf "$tarball" --strip-components=1 package/package.json
25npm i --package-lock-only --ignore-scripts
26npm_hash=$(prefetch-npm-deps package-lock.json)
27sed -i 's#npmDepsHash = "[^"]*"#npmDepsHash = "'"$npm_hash"'"#' package.nix
28rm -f package.json *.tgz
29
30popd