6868 fi
6969 done
7070
71- # Remove beta suffixes temporarily so changeset can properly increment versions
72- echo "Temporarily removing beta suffixes for proper version increments..."
73-
74- # Remove beta suffix from main package
75- MAIN_VERSION=$(node -p "require('./package.json').version")
76- if [[ "$MAIN_VERSION" == *"-beta."* ]]; then
77- CLEAN_MAIN=$(echo "$MAIN_VERSION" | sed 's/-beta\.[0-9]*$//')
78- npm version $CLEAN_MAIN --no-git-tag-version
79- echo "✓ Main package: $MAIN_VERSION → $CLEAN_MAIN"
80- fi
81-
82- # Remove beta suffix from sub-packages
83- for pkg in packages/*/; do
84- if [ -d "$pkg" ] && [ -f "$pkg/package.json" ]; then
85- PKG_VERSION=$(node -p "require('./$pkg/package.json').version")
86- if [[ "$PKG_VERSION" == *"-beta."* ]]; then
87- CLEAN_PKG=$(echo "$PKG_VERSION" | sed 's/-beta\.[0-9]*$//')
88- cd "$pkg" && npm version $CLEAN_PKG --no-git-tag-version && cd ../..
89- echo "✓ $(basename $pkg): $PKG_VERSION → $CLEAN_PKG"
90- fi
91- fi
92- done
93-
94- # Apply changesets and consume them (now versions will properly increment)
71+ # Apply changesets and consume them
9572 pnpm changeset version
9673
9774 # Ensure beta versions on develop branch
@@ -112,35 +89,47 @@ jobs:
11289 fi
11390 }
11491
115- # Apply beta suffixes to packages processed by changeset
116- echo "Applying beta timestamps to packages processed by changeset ..."
92+ # Apply beta suffixes to packages
93+ echo "Applying beta timestamps to packages..."
11794
118- # Check main package - if no beta suffix, it was processed by changeset
95+ # Check main package
11996 NEW_MAIN=$(node -p "require('./package.json').version")
120- if [[ "$NEW_MAIN" != *"-beta."* ]]; then
121- BETA_MAIN="${NEW_MAIN}-beta.${TIMESTAMP}"
97+
98+ # If version changed OR doesn't have beta suffix, update it
99+ if [ "$ORIGINAL_MAIN" != "$NEW_MAIN" ] || [[ "$NEW_MAIN" != *"-beta."* ]]; then
100+ # If already has beta, just update timestamp; otherwise add beta
101+ if [[ "$NEW_MAIN" == *"-beta."* ]]; then
102+ BETA_MAIN=$(echo "$NEW_MAIN" | sed "s/-beta\.[0-9]*$/-beta.${TIMESTAMP}/")
103+ else
104+ BETA_MAIN="${NEW_MAIN}-beta.${TIMESTAMP}"
105+ fi
122106 npm version $BETA_MAIN --no-git-tag-version
123107 CHANGED_PACKAGES="vue-pivottable"
124108 echo "✓ Updated vue-pivottable: $NEW_MAIN → $BETA_MAIN"
125109 else
126- echo "✓ vue-pivottable already has beta suffix : $NEW_MAIN"
110+ echo "✓ vue-pivottable unchanged : $NEW_MAIN"
127111 fi
128112
129- # Check sub-packages - if no beta suffix, they were processed by changeset
113+ # Check sub-packages
130114 for pkg in packages/*/; do
131115 if [ -d "$pkg" ] && [ -f "$pkg/package.json" ]; then
132116 cd "$pkg"
133117 PKG_NAME=$(basename "$pkg")
134118 NEW_VERSION=$(node -p "require('./package.json').version")
135119
136- # If no beta suffix, it was processed by changeset, so add beta
137- if [[ "$NEW_VERSION" != *"-beta."* ]]; then
138- BETA_VERSION="${NEW_VERSION}-beta.${TIMESTAMP}"
120+ # If version changed OR doesn't have beta suffix, update it
121+ if [ "${ORIGINAL_VERSIONS[$PKG_NAME]}" != "$NEW_VERSION" ] || [[ "$NEW_VERSION" != *"-beta."* ]]; then
122+ # If already has beta, just update timestamp; otherwise add beta
123+ if [[ "$NEW_VERSION" == *"-beta."* ]]; then
124+ BETA_VERSION=$(echo "$NEW_VERSION" | sed "s/-beta\.[0-9]*$/-beta.${TIMESTAMP}/")
125+ else
126+ BETA_VERSION="${NEW_VERSION}-beta.${TIMESTAMP}"
127+ fi
139128 npm version $BETA_VERSION --no-git-tag-version
140129 CHANGED_PACKAGES="$CHANGED_PACKAGES $PKG_NAME"
141130 echo "✓ Updated $PKG_NAME: $NEW_VERSION → $BETA_VERSION"
142131 else
143- echo "✓ $PKG_NAME already has beta suffix : $NEW_VERSION"
132+ echo "✓ $PKG_NAME unchanged : $NEW_VERSION"
144133 fi
145134 cd -
146135 fi
0 commit comments