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.
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user