deno
7aeb859e - feat(cli): support workspaces in `deno bump-version` (#33689)

Commit
94 days ago
feat(cli): support workspaces in `deno bump-version` (#33689) This extends `deno bump-version` from a single-package helper into a workspace-aware release utility, with behavior intended to cover the workflow currently handled by `jsr:@deno/bump-workspaces` in repos like `denoland/std`. At a workspace root, `deno bump-version <patch|minor|major|premajor|preminor|prepatch|prerelease>` now applies the same increment to every workspace member with a `version`. It also rewrites matching `jsr:` constraints in the root config and import map target so cross-package references stay in sync. When no increment is passed in workspace mode, `deno bump-version` derives per-package bumps from conventional commits between a start ref and a base ref. It supports scoped commits, wildcard `*` scopes, `BREAKING` / `!` major bumps, unstable-scope patch clamping, 0.x.y semver downgrades, prerelease increments, and generated `Releases.md` entries. The implementation also detects manual version edits made since the start ref and treats them as authoritative, matching `@deno/bump-workspaces`. Historical `deno.json` reads use JSONC parsing, and git refspec paths are normalized so manual-version detection works on Windows. New flags: - `--workspace` / `--no-workspace` - `--dry-run` - `--start <ref>` - `--base <ref>` - `--import-map <path>` - `--release-notes <path>` Single-package behavior remains unchanged. Workspace mode auto-engages at the workspace root when there is more than one member with a version. Branch creation, commits, and PR creation remain out of scope for the command and should stay in the calling workflow. --------- Co-authored-by: Bartek IwaƄczuk <biwanczuk@gmail.com>
Author
Parents
Loading