1#!/usr/bin/env nix-shell
2#!nix-shell -i bash -p curl nix-update prefetch-npm-deps nodejs jq gnused ruby bundix
3
4set -eu -o pipefail
5
6# Make a temporary directory and make sure it's removed when the script exits
7tmp=$(mktemp -d)
8trap "rm -rf $tmp" EXIT
9
10package_dir="$(dirname "${BASH_SOURCE[0]}")"
11pushd "$package_dir"
12
13curl -sfL ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} https://api.github.com/repos/Shopify/cli/releases/latest > $tmp/latest.json
14version=$(cat $tmp/latest.json | jq -r '.tag_name')
15
16if [[ "$UPDATE_NIX_OLD_VERSION" == "$version" ]]; then
17 echo "Already up to date!"
18 exit 0
19fi
20
21pushd manifests
22
23# Update the package.json
24sed -i "s|$UPDATE_NIX_OLD_VERSION|$version|g" package.json
25
26# Update the package-lock.json
27rm -f package-lock.json
28npm i --package-lock-only
29npm_hash=$(prefetch-npm-deps package-lock.json)
30
31popd
32
33sed -i "s|npmDepsHash = \".*\";|npmDepsHash = \"$npm_hash\";|" package.nix
34
35popd
36
37nix-update shopify-cli --version $version