bulk-release 2.18.1 → 2.18.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## [2.18.2](https://github.com/semrel-extra/zx-bulk-release/compare/v2.18.1...v2.18.2) (2026-04-05)
2
+
3
+ ### Fixes & improvements
4
+ * fix: enhance recovery ([2bb5c4d](https://github.com/semrel-extra/zx-bulk-release/commit/2bb5c4dbd9ccf9a54ecc26065f5693517b815472))
5
+
1
6
  ## [2.18.1](https://github.com/semrel-extra/zx-bulk-release/compare/v2.18.0...v2.18.1) (2026-04-05)
2
7
 
3
8
  ### Fixes & improvements
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bulk-release",
3
3
  "alias": "bulk-release",
4
- "version": "2.18.1",
4
+ "version": "2.18.2",
5
5
  "description": "zx-based alternative for multi-semantic-release",
6
6
  "type": "module",
7
7
  "exports": {
@@ -115,6 +115,9 @@ export const pushTag = async ({cwd, tag, gitCommitterName, gitCommitterEmail}) =
115
115
  git push origin ${tag}`
116
116
  }
117
117
 
118
+ export const fetchTags = async (cwd) =>
119
+ $({cwd})`git fetch --tags`
120
+
118
121
  export const deleteRemoteTag = async ({cwd, tag}) => {
119
122
  log()(`rolling back remote tag '${tag}'`)
120
123
  await $({cwd, nothrow: true})`git push origin :refs/tags/${tag}`
@@ -6,6 +6,7 @@ import {topo, traverseQueue} from './deps.js'
6
6
  import {createReport} from '../log.js'
7
7
  import {exec} from './exec.js'
8
8
  import {contextify, recover} from '../steps/contextify.js'
9
+ import {fetchTags} from '../api/git.js'
9
10
  import {analyze} from '../steps/analyze.js'
10
11
  import {build} from '../steps/build.js'
11
12
  import {publish} from '../steps/publish.js'
@@ -31,6 +32,7 @@ export const run = async ({cwd = process.cwd(), env, flags = {}} = {}) => within
31
32
  // --recover: standalone mode — clean orphan tags and exit.
32
33
  // Run the full pipeline again after this to rebuild and publish affected packages.
33
34
  if (flags.recover) {
35
+ await fetchTags(cwd)
34
36
  let recovered = 0
35
37
  for (const name of queue) {
36
38
  const pkg = packages[name]