#!/bin/sh

# helper script to update typescript-language-server and it's dependencies

ERROR=0

if [[ ! -f "flatpak-node-generator.py" ]]; then
    echo "Error: Place flatpak-node-generator.py in this directory (https://github.com/flatpak/flatpak-builder-tools/tree/master/node)"
    ERROR=1
fi
if [ -z "$1" ]; then
    echo "Error: Pass the typescript-language-server version number as argument (e.g. 'update-typescript-language-server 0.6.5')"
    ERROR=1
fi
if [[  $ERROR == 1 ]]; then exit 1; fi

TEMP_DIR="temp-tls-dir"

CURRENT_DIR="$PWD"

mkdir $TEMP_DIR
cd $TEMP_DIR

PACKAGE_URL="https://github.com/typescript-language-server/typescript-language-server/archive/refs/tags/v$1.tar.gz"

curl -L -O $PACKAGE_URL

TAR_FILE="$(ls | head -n 1)"
SHA_RET="$(sha256sum $TAR_FILE)"
SHA_SUM=($SHA_RET)
tar -xf $TAR_FILE
rm $TAR_FILE

PACKAGE_DIR="$(ls | head -n 1)"

cd $CURRENT_DIR

python flatpak-node-generator.py yarn $TEMP_DIR/$PACKAGE_DIR/yarn.lock -o typescript-language-server-deps.json

rm -rf $TEMP_DIR

echo "Generated typescript-language-server-deps.json successfully"

echo "Now be sure to update typescript-language-server.json with the following:"
echo "{
    \"type\": \"archive\",
    \"url\": \"$PACKAGE_URL\",
    \"sha256\": \"$SHA_SUM\",
    \"dest\": \"typescript-language-server\"
},"
