swc/scripts/update-all-swc-crates.sh
2024-03-28 15:29:59 +09:00

27 lines
820 B
Bash
Executable File

#!/usr/bin/env bash
set -eu
echo "Listing all swc crates"
swc_crates=$(cargo metadata --format-version=1 --all-features | jq '.packages .[] | select(.repository == "https://github.com/swc-project/swc.git" or .repository == "https://github.com/swc-project/plugins.git") | .name' -r)
command="cargo update"
for crate in $swc_crates; do
command="$command -p $crate"
done
echo "Running: $command"
eval $command
all_direct_deps=$(cargo metadata --format-version=1 --all-features | jq -r '.packages[] | select(.source == null) | .dependencies .[] .name' -r)
direct_swc_deps=$(comm -12 <(echo "$swc_crates" | sort) <(echo "$all_direct_deps" | sort))
command="cargo upgrade --incompatible --recursive false"
for crate in $direct_swc_deps; do
command="$command -p $crate"
done
echo "Running: $command"
eval $command