-
Notifications
You must be signed in to change notification settings - Fork 38
/
Copy pathupdate-versions.sh
executable file
·58 lines (52 loc) · 1.25 KB
/
update-versions.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/bin/bash
if ! command -v jq &> /dev/null; then
echo "Error: jq command not found. Please install jq to run this script."
exit 1
fi
VERSION=$1
FILE_NAME=package.json
if [[ "$1" == "" ]]; then
echo 'usage: update-versions.sh <SEMVER>'
exit 1
fi
PKG_DIRS="utils
test-utils
cdn-location
geoip-location
proto-rpc
autocertifier-client
dht
autocertifier-server
trackerless-network
sdk
cli-tools
node"
PKG_NAMES="@streamr/utils
@streamr/test-utils
@streamr/cdn-location
@streamr/geoip-location
@streamr/proto-rpc
@streamr/autocertifier-client
@streamr/dht
@streamr/autocertifier-server
@streamr/trackerless-network
@streamr/sdk
@streamr/cli-tools
@streamr/node
"
# Update package versions
for pkg in $PKG_DIRS
do
FILE_NAME=packages/$pkg/package.json
TMP_FILE=$(mktemp)
jq --arg versionNumber $VERSION '.version |= $versionNumber' $FILE_NAME > $TMP_FILE
mv $TMP_FILE $FILE_NAME
for PKG_NAME in $PKG_NAMES
do
jq --arg versionNumber $VERSION --arg PKG_NAME $PKG_NAME '
if .dependencies[$PKG_NAME]? then .dependencies[$PKG_NAME] |= $versionNumber
elif .devDependencies[$PKG_NAME]? then .devDependencies[$PKG_NAME] |= $versionNumber
else . end' $FILE_NAME > $TMP_FILE
mv $TMP_FILE $FILE_NAME
done
done