From df686fbcdae39861437b604d9f5419a6d823d1be Mon Sep 17 00:00:00 2001 From: Alexander Zinn Date: Sat, 22 Nov 2025 22:56:45 -0500 Subject: [PATCH] Enhance ci-deploy script by adding functions for directory cleanup and package.json version updating, ensuring version consistency before deployment. Improve deployment messages for beta and GA releases. --- scripts/ci-deploy.sh | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/scripts/ci-deploy.sh b/scripts/ci-deploy.sh index ddfa17f..7eda093 100755 --- a/scripts/ci-deploy.sh +++ b/scripts/ci-deploy.sh @@ -11,7 +11,7 @@ if ! command -v jq &> /dev/null; then fi registryUrl="https://npm.techniker.me" -packageVersionToDeploy=$(cat package.json | jq -r '.version') +packageVersionToDeploy=$(jq -r '.version' package.json) isBeta="false" while [[ "${#}" -gt 0 ]]; do @@ -31,7 +31,36 @@ while [[ "${#}" -gt 0 ]]; do esac done -echo "Deploying [${packageVersionToDeploy}]" +function cleanDirectory { + local directory="${1}" + + if [ -d "${directory}" ]; then + echo "Deleting [${directory}]..." + rm -rf "${directory}" + fi +} + +function updatePackageJsonVersion { + local versionToUpdate="${1}" + local packageJsonPath="dist/package.json" + + echo "Updating package.json version to [${versionToUpdate}]" + + # Use jq for cross-platform compatibility + jq ".version = \"${versionToUpdate}\"" "${packageJsonPath}" > tmp.$$.json && mv tmp.$$.json "${packageJsonPath}" +} + +if [[ "${isBeta}" == "true" ]]; then + echo "Deploying beta [${packageVersionToDeploy}]" +else + echo "Deploying GA [${packageVersionToDeploy}]" +fi + + +# Update version if it differs from package.json (beta or build release) +if [ "${packageVersionToDeploy}" != "$(jq -r '.version' package.json)" ]; then + updatePackageJsonVersion "${packageVersionToDeploy}" +fi echo "Publishing to [${registryUrl}]" cd dist