feat(releaser): release v1.5.0 — Node.js, multi-module Maven, configurable bump rules
- Add internal/node package: reads/writes package.json version (single or multi-path via node.package_json / node.package_jsons) - Add maven.pom_paths support: update multiple pom.xml files in one release commit; pom_paths overrides pom_path; --pom flag clears pom_paths - Add git.bump_rules config: per-type control of which version component bumps (breaking/feat/fix accept "patch" or "minor"); wired through version.Next() as a new sixth parameter - Extract injectable function vars (absPath, gitAllCommits, gitCommitsSince, gitCommitFiles) to enable error-path testing without interfaces - Achieve 100% per-package statement coverage across all 12 packages Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# releaser
|
||||
|
||||

|
||||

|
||||
|
||||
A CI-friendly release automation tool for GitFlow workflows using Conventional Commits.
|
||||
|
||||
@@ -27,13 +27,15 @@ release/1.2 branch
|
||||
|
||||
## Version bump rules
|
||||
|
||||
| Commit type | Bump | Notes |
|
||||
|------------------|---------|--------------------------------------------|
|
||||
| `fix:` | patch | |
|
||||
| `feat:` | patch | minor is pinned to branch |
|
||||
| `feat!:` / `BREAKING CHANGE` | patch | same — branch defines the minor boundary |
|
||||
| `chore:`, `docs:`, etc. | none | |
|
||||
| unparseable msg | none | non-strict mode: silently ignored |
|
||||
By default, all releasable commits bump the **patch** component (minor is pinned to the branch). You can override this per commit type via `git.bump_rules` in `.releaser.yml`:
|
||||
|
||||
| Commit type | Default | Configurable via `bump_rules` |
|
||||
|------------------|---------|------------------------------------------------|
|
||||
| `fix:` | patch | `fix: "minor"` to bump minor instead |
|
||||
| `feat:` | patch | `feat: "minor"` to bump minor instead |
|
||||
| `feat!:` / `BREAKING CHANGE` | patch | `breaking: "minor"` to bump minor |
|
||||
| `chore:`, `docs:`, etc. | none | — |
|
||||
| unparseable msg | none | non-strict mode: silently ignored |
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -95,9 +97,23 @@ git:
|
||||
- fix
|
||||
- feat
|
||||
- breaking
|
||||
bump_rules: # which version component each type bumps
|
||||
breaking: "patch" # "minor" to bump minor on breaking changes
|
||||
feat: "patch"
|
||||
fix: "patch"
|
||||
|
||||
maven:
|
||||
pom_path: "pom.xml" # relative to repo root
|
||||
pom_path: "pom.xml" # single pom.xml, relative to repo root
|
||||
# pom_paths: # multi-module: list overrides pom_path
|
||||
# - "pom.xml"
|
||||
# - "module-a/pom.xml"
|
||||
# - "module-b/pom.xml"
|
||||
|
||||
node: # opt-in — no default; omit to skip
|
||||
# package_json: "package.json" # single path
|
||||
# package_jsons: # monorepo: list overrides package_json
|
||||
# - "packages/frontend/package.json"
|
||||
# - "packages/backend/package.json"
|
||||
|
||||
gitlab:
|
||||
url: "https://gitlab.example.com" # or env CI_SERVER_URL
|
||||
|
||||
Reference in New Issue
Block a user