@@ -75,42 +75,58 @@ jobs:
7575 TIMESTAMP=$(date +%s)
7676 CHANGED_PACKAGES=""
7777
78- # Function to ensure beta version with timestamp replacement
79- ensure_beta_version () {
78+ # Function to update beta timestamp (preserving version increments)
79+ update_beta_timestamp () {
8080 local current_version=$1
8181 local timestamp=$2
8282
83- # If already has beta suffix, replace the timestamp
83+ # If already has beta suffix, replace only the timestamp
8484 if [[ "$current_version" == *"-beta."* ]]; then
85- # Extract base version before first -beta
86- local base_version=$(echo "$current_version" | sed 's/-beta\..*//')
87- echo "${base_version}-beta.${timestamp}"
85+ echo "$current_version" | sed "s/-beta\.[0-9]*$/-beta.${timestamp}/"
8886 else
89- # Add beta suffix
87+ # Add beta suffix to non-beta versions
9088 echo "${current_version}-beta.${timestamp}"
9189 fi
9290 }
9391
94- # Check main package - always ensure beta on develop
95- CURRENT_MAIN=$(node -p "require('./package.json').version")
96- BETA_MAIN=$(ensure_beta_version "$CURRENT_MAIN" "$TIMESTAMP")
92+ # Check which packages were changed by changeset version
93+ # Only apply beta timestamps to packages that were actually modified
94+ echo "Checking which packages were modified by changeset..."
9795
98- if [ "$CURRENT_MAIN" != "$BETA_MAIN" ]; then
99- npm version $BETA_MAIN --no-git-tag-version
100- CHANGED_PACKAGES="vue-pivottable"
96+ # Check main package
97+ NEW_MAIN=$(node -p "require('./package.json').version")
98+ if [ "$ORIGINAL_MAIN" != "$NEW_MAIN" ] || [[ "$NEW_MAIN" != *"-beta."* ]]; then
99+ BETA_MAIN=$(update_beta_timestamp "$NEW_MAIN" "$TIMESTAMP")
100+ if [ "$NEW_MAIN" != "$BETA_MAIN" ]; then
101+ npm version $BETA_MAIN --no-git-tag-version
102+ CHANGED_PACKAGES="vue-pivottable"
103+ echo "✓ Updated vue-pivottable: $NEW_MAIN → $BETA_MAIN"
104+ else
105+ echo "✓ vue-pivottable already has correct beta version: $NEW_MAIN"
106+ fi
107+ else
108+ echo "✓ vue-pivottable unchanged: $NEW_MAIN"
101109 fi
102110
103- # Check sub-packages - always ensure beta on develop
111+ # Check sub-packages
104112 for pkg in packages/*/; do
105113 if [ -d "$pkg" ] && [ -f "$pkg/package.json" ]; then
106114 cd "$pkg"
107115 PKG_NAME=$(basename "$pkg")
108- CURRENT_VERSION=$(node -p "require('./package.json').version")
109- BETA_VERSION=$(ensure_beta_version "$CURRENT_VERSION" "$TIMESTAMP")
116+ NEW_VERSION=$(node -p "require('./package.json').version")
110117
111- if [ "$CURRENT_VERSION" != "$BETA_VERSION" ]; then
112- npm version $BETA_VERSION --no-git-tag-version
113- CHANGED_PACKAGES="$CHANGED_PACKAGES $PKG_NAME"
118+ # Only update if package was changed by changeset OR doesn't have beta suffix
119+ if [ "${ORIGINAL_VERSIONS[$PKG_NAME]}" != "$NEW_VERSION" ] || [[ "$NEW_VERSION" != *"-beta."* ]]; then
120+ BETA_VERSION=$(update_beta_timestamp "$NEW_VERSION" "$TIMESTAMP")
121+ if [ "$NEW_VERSION" != "$BETA_VERSION" ]; then
122+ npm version $BETA_VERSION --no-git-tag-version
123+ CHANGED_PACKAGES="$CHANGED_PACKAGES $PKG_NAME"
124+ echo "✓ Updated $PKG_NAME: $NEW_VERSION → $BETA_VERSION"
125+ else
126+ echo "✓ $PKG_NAME already has correct beta version: $NEW_VERSION"
127+ fi
128+ else
129+ echo "✓ $PKG_NAME unchanged: $NEW_VERSION"
114130 fi
115131 cd -
116132 fi
0 commit comments