ReviewOS

stacks/bumpx

Changelog fallback shells out to unscoped 'bunx logsmith' instead of @stacksjs/logsmith

#2004
Closed glennmichael123 opened this 9 days ago ·
9 days ago

Symptom

When the in-process changelog generation fails, bumpx falls back to a shell command that invokes the unscoped logsmith package:

Fallback also failed: Error: Command failed: bunx logsmith --output CHANGELOG.md --from v0.2.1 --to v0.2.2
...
error: could not determine executable to run for package logsmith

bunx logsmith resolves to the unscoped logsmith package on npm (currently 0.0.2, unrelated) which ships no binary named logsmith — so the fallback can never succeed. The real package is @stacksjs/logsmith, whose bin is logsmith.

Observed live while releasing @stacksjs/logsmith@0.2.2 — the release tagged + published to npm but produced no CHANGELOG entry because both the primary path and this fallback failed.

Location

packages/bumpx/src/version-bump.ts — two spots:

  • Line ~1276: let command = 'bunx logsmith --output CHANGELOG.md'
  • Line ~1313: let command = 'bunx logsmith --output CHANGELOG.md' (the catch-fallback)

Fix

Use the scoped package name (and --bun for consistency with the rest of the toolchain):

- let command = 'bunx logsmith --output CHANGELOG.md'
+ let command = 'bunx --bun @stacksjs/logsmith --output CHANGELOG.md'

in both spots.

The primary (in-process) path also fails independently — see the companion issue on stacksjs/logsmith about generateChangelog() crashing on a partial config. Either bug alone would have been masked by the other path succeeding; both being broken meant total changelog-generation failure on release.

Sign in to comment on this issue.