scripts/deploy.sh
#!/usr/bin/env bash VERSION="${npm_package_version?This script must be called using npm}"ROOTDIR=$PWDSVNROOT=$(cd "$ROOTDIR" && cd ../SVN && pwd || exit) # shellcheck source=../.env. "$ROOTDIR"/.env # Make sure svn repo is up to datecd "$SVNROOT" || exit svn update \ --username "${SVN_USER:?SVN_USER not defined in env}" \ --password "${SVN_PASS:?SVN_PASS not defined in env}" # Delete entire trunk directoryrm -rf trunk/* # Create tag directorymkdir -p tags/"$VERSION" # Copy dist over to tag and trunk directorycp -r "$ROOTDIR"/dist/* "$SVNROOT"/trunk/cp -r "$ROOTDIR"/dist/* "$SVNROOT"/tags/"$VERSION"/ # Remove deleted filessvn stat | awk '/^!/{print $2}' | xargs --no-run-if-empty svn rm # Add new filessvn stat | awk '/^?/{print $2}' | xargs --no-run-if-empty svn add # Commit the changessvn commit \ --username "$SVN_USER" \ --password "$SVN_PASS" \ -m "Release $VERSION"