1#!/usr/bin/env nix-shell
2#!nix-shell -i bash -p common-updater-scripts gnused jq nix-prefetch
3set -eou pipefail
4
5ROOT="$(dirname "$(readlink -f "$0")")"
6
7CURRENT_VERSION=$(nix-instantiate --eval --strict --json -A tailwindcss_3.version . | jq -r .)
8LATEST_VERSION=$(list-git-tags --url=https://github.com/tailwindlabs/tailwindcss | rg 'v3[0-9\.]*$' | sed -e 's/^v//' | sort -V | tail -n 1)
9sed -i "s/version = \".*\"/version = \"${LATEST_VERSION}\"/" "$ROOT/package.nix"
10
11if [ "$CURRENT_VERSION" = "$LATEST_VERSION" ]; then
12 echo "tailwindcss_3 already at latest version $CURRENT_VERSION, exiting"
13 exit 0
14fi
15
16function updatePlatform() {
17 NIXPLAT=$1
18 TAILWINDPLAT=$2
19 echo "Updating tailwindcss_3 for $NIXPLAT"
20
21 URL="https://github.com/tailwindlabs/tailwindcss/releases/download/v${LATEST_VERSION}/tailwindcss-${TAILWINDPLAT}"
22 HASH=$(nix --extra-experimental-features nix-command hash to-sri --type sha256 "$(nix-prefetch-url --type sha256 "$URL")")
23
24 sed -i "s,$NIXPLAT = \"sha256.*\",$NIXPLAT = \"${HASH}\"," "$ROOT/package.nix"
25}
26
27updatePlatform aarch64-darwin macos-arm64
28updatePlatform aarch64-linux linux-arm64
29updatePlatform armv7l-linux linux-armv7
30updatePlatform x86_64-darwin macos-x64
31updatePlatform x86_64-linux linux-x64