1#! /usr/bin/env nix-shell
2#! nix-shell -i bash -p curl nix-update prefetch-npm-deps nodejs jq gnused
3
4set -eu -o pipefail
5
6pushd "$(dirname "${BASH_SOURCE[0]}")"
7
8tag=$(curl -sfL ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} https://api.github.com/repos/node-red/node-red/releases/latest | jq -r .tag_name)
9
10curl -sfL ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://github.com/node-red/node-red/raw/refs/tags/$tag/package.json" > package.json
11
12rm package-lock.json
13npm i --package-lock-only
14
15npm_hash=$(prefetch-npm-deps package-lock.json)
16sed -i "s|npmDepsHash = \".*\";|npmDepsHash = \"$npm_hash\";|" package.nix
17
18rm package.json
19popd
20
21nix-update node-red --version "$tag"