diff --git a/package.json b/package.json index 2dfbff78c..737fdc362 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,7 @@ { "name": "explorer", + "description": "Tangle Explorer", + "version": "3.3.2", "scripts": { "setup:client": "cd client && npm install && npm run postinstall", "setup:api": "cd api && npm install && npm run build-compile && npm run build-config", @@ -7,7 +9,8 @@ "clear": "rimraf api/node_modules api/dist client/node_modules client/build", "dev": "concurrently 'cd api && npm run start-dev' 'cd client && npm run start'", "prepare": "husky install", - "format": "concurrently 'cd api && npm run format' 'cd client && npm run format'" + "format": "concurrently 'cd api && npm run format' 'cd client && npm run format'", + "tag:release": "./scripts/tag_release.sh" }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^6.18.1", diff --git a/scripts/tag_release.sh b/scripts/tag_release.sh new file mode 100755 index 000000000..8fce4cb1d --- /dev/null +++ b/scripts/tag_release.sh @@ -0,0 +1,74 @@ +#!/bin/bash + +# Read target version from command line +TARGET_VERSION=$1 +CURRENT_VERSION=$(sed -n 's/.*"version": "\([^"]*\)".*/\1/p' package.json) + +if [[ -z $TARGET_VERSION ]]; then + echo "Current version (root) is v$CURRENT_VERSION" + read -p "Please specify target version: " TARGET_VERSION + read -n 1 -p "Confirm version change 'v$CURRENT_VERSION' -> 'v$TARGET_VERSION' ? (Enter): " CONFIRM_VERSION + + if [[ $CONFIRM_VERSION != "" ]]; then + echo "Aborting..." + exit 1 + fi +else + echo "Target version: v$TARGET_VERSION" +fi + +echo "Bumping version in package.json..." +sed -i.bak "4s/version\": \"\(.*\)\"/version\": \"$TARGET_VERSION\"/g" package.json +rm package.json.bak + +echo "Bumping version in api/package.json..." +cd "./api" +sed -i.bak "4s/version\": \"\(.*\)\"/version\": \"$TARGET_VERSION\"/g" package.json +rm package.json.bak + +echo "Bumping version in client/package.json..." +cd "../client" +sed -i.bak "4s/version\": \"\(.*\)\"/version\": \"$TARGET_VERSION\"/g" package.json +rm package.json.bak +cd "../" + +read -n 1 -p "Confirm making a bump commit and tagging with 'v$TARGET_VERSION' ? (Enter): " CONFIRM_BUMP + +if [[ $CONFIRM_BUMP != "" ]]; then + echo "Aborting..." + exit 1 +fi + +cd "./api" +npm i +cd "../client" +npm i +cd "../" + +echo "Making a bump commit..." +files_to_add=("package.json" "package-lock.json") +folders_to_add=("." "api" "client") +for folder in "${folders_to_add[@]}" +do + for file in "${files_to_add[@]}" + do + git add "$folder/$file" + done +done + +git commit -S -m "chore: bump version to v$TARGET_VERSION" + +echo "Tagging commit with 'v$TARGET_VERSION'..." +git tag v$TARGET_VERSION + +read -n 1 -p "Do you want to push branch and tags ? (Enter): " CONFIRM_PUSH +if [[ $CONFIRM_PUSH != "" ]]; then + echo "Exiting without pushing..." + exit 1 +fi + +echo "Pushing branch and tags..." +git push +git push origin refs/tags/v$TARGET_VERSION +echo "Done!" +