|
59 | 59 | fi |
60 | 60 | done |
61 | 61 | |
| 62 | + # Store package.json files BEFORE changeset to preserve peerDependencies |
| 63 | + echo "Backing up peerDependencies before changeset..." |
| 64 | + for pkg in packages/*/; do |
| 65 | + if [ -d "$pkg" ] && [ -f "$pkg/package.json" ]; then |
| 66 | + cp "$pkg/package.json" "$pkg/package.json.backup" |
| 67 | + echo "✓ Backed up $pkg/package.json" |
| 68 | + fi |
| 69 | + done |
| 70 | + |
62 | 71 | # Apply changesets and consume them |
63 | 72 | pnpm changeset version |
64 | 73 | |
@@ -105,45 +114,41 @@ jobs: |
105 | 114 | fi |
106 | 115 | done |
107 | 116 | |
108 | | - # Store package.json files before changeset modifications |
109 | | - for pkg in packages/*/; do |
110 | | - if [ -d "$pkg" ] && [ -f "$pkg/package.json" ]; then |
111 | | - cp "$pkg/package.json" "$pkg/package.json.backup" |
112 | | - fi |
113 | | - done |
114 | | - |
115 | | - # Commit all changes |
116 | | - git config user.name "github-actions[bot]" |
117 | | - git config user.email "github-actions[bot]@users.noreply.github.com" |
118 | | - git add -A |
119 | | - git commit -m "chore: prepare beta release |
120 | | - |
121 | | - Changed packages: $CHANGED_PACKAGES" |
122 | | - |
123 | | - # Restore peerDependencies from backup to prevent beta version pollution |
| 117 | + # Restore peerDependencies from backup to prevent auto-update |
| 118 | + echo "Restoring peerDependencies from backup..." |
124 | 119 | for pkg in packages/*/; do |
125 | 120 | if [ -d "$pkg" ] && [ -f "$pkg/package.json.backup" ]; then |
126 | 121 | cd "$pkg" |
| 122 | + echo "Restoring peerDependencies for $(basename "$pkg")" |
127 | 123 | # Extract peerDependencies from backup and apply to current |
128 | 124 | node -e " |
129 | 125 | const fs = require('fs'); |
130 | 126 | const backup = JSON.parse(fs.readFileSync('./package.json.backup', 'utf8')); |
131 | 127 | const current = JSON.parse(fs.readFileSync('./package.json', 'utf8')); |
132 | 128 | if (backup.peerDependencies) { |
| 129 | + console.log('Restoring peerDependencies:', backup.peerDependencies); |
133 | 130 | current.peerDependencies = backup.peerDependencies; |
| 131 | + fs.writeFileSync('./package.json', JSON.stringify(current, null, 2) + '\\n'); |
134 | 132 | } |
135 | | - fs.writeFileSync('./package.json', JSON.stringify(current, null, 2) + '\\n'); |
136 | 133 | " |
137 | | - rm -f package.json.backup |
138 | 134 | cd - |
139 | 135 | fi |
140 | 136 | done |
141 | 137 | |
142 | | - # Commit peerDependencies fix if there are changes |
143 | | - if ! git diff --quiet; then |
144 | | - git add -A |
145 | | - git commit -m "fix: restore peerDependencies to prevent beta version pollution" |
146 | | - fi |
| 138 | + # Commit all changes |
| 139 | + git config user.name "github-actions[bot]" |
| 140 | + git config user.email "github-actions[bot]@users.noreply.github.com" |
| 141 | + git add -A |
| 142 | + git commit -m "chore: prepare beta release |
| 143 | + |
| 144 | + Changed packages: $CHANGED_PACKAGES" |
| 145 | + |
| 146 | + # Clean up backup files |
| 147 | + for pkg in packages/*/; do |
| 148 | + if [ -d "$pkg" ] && [ -f "$pkg/package.json.backup" ]; then |
| 149 | + rm -f "$pkg/package.json.backup" |
| 150 | + fi |
| 151 | + done |
147 | 152 | |
148 | 153 | git push origin develop |
149 | 154 | |
@@ -181,6 +186,14 @@ jobs: |
181 | 186 | local PKG_VERSION=$2 |
182 | 187 | local NPM_NAME=$3 |
183 | 188 | |
| 189 | + echo "Checking if release ${PKG_NAME}@${PKG_VERSION} already exists..." |
| 190 | + |
| 191 | + # Check if release already exists |
| 192 | + if gh release view "${PKG_NAME}@${PKG_VERSION}" &>/dev/null; then |
| 193 | + echo "⚠️ Release ${PKG_NAME}@${PKG_VERSION} already exists, skipping..." |
| 194 | + return 0 |
| 195 | + fi |
| 196 | + |
184 | 197 | echo "Creating release for $PKG_NAME@$PKG_VERSION" |
185 | 198 | |
186 | 199 | gh release create "${PKG_NAME}@${PKG_VERSION}" \ |
|
0 commit comments