#!/bin/bash cd "$(dirname "$0")" cd '..' BRANCH=`git rev-parse --abbrev-ref HEAD` RELEASE_MODE=$1 echo "" echo "-----> CHECK INPUTS" echo "" if [[ "$RELEASE_MODE" == "alpha" ]] then PRERELEASE='true' VERSION_ARGS="prerelease --preid alpha" DIST_TAG="next" elif [[ "$RELEASE_MODE" == "alpha-minor" ]] then PRERELEASE='true' VERSION_ARGS="preminor --preid alpha" DIST_TAG="next" elif [[ "$RELEASE_MODE" == "alpha-major" ]] then PRERELEASE='true' VERSION_ARGS="premajor --preid alpha" DIST_TAG="next" else echo 'Release Mode required' exit 1 fi if [ -f ~/.npmrc ]; then echo "Found existing .npmrc" else if [[ -z "$NPM_TOKEN" ]];then echo "No NPM_TOKEN or ~/.npmrc, exiting.." exit 1; else echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc fi fi echo "Publishing as NPM user: `npm whoami`" if [[ $BRANCH != 'main' ]]; then echo "Not on 'main' branch. Exiting" exit 1 fi if [[ -n $(git status -s) ]]; then echo "There are uncommitted changes on this branch. Exiting..." exit 1 fi echo "" echo "-----> BUMP VERSION" echo "" npm version $VERSION_ARGS || exit 1 git push && git push --tags || exit 1 NEW_VERSION=`cat package.json | jq -r .version` echo "New Version: $NEW_VERSION" echo "" echo "-----> PUSH TO NPM" echo "" npm publish --tag $DIST_TAG echo "" echo "-----> Done!" echo "Version $NEW_VERSION published to $DIST_TAG tag" echo "" echo "::set-output name=NEW_VERSION::$NEW_VERSION" echo "::set-output name=PRERELEASE::$PRERELEASE" exit 0