rlsbl 0.67.0 → 0.67.1
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/README.md +14 -9
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -75,7 +75,7 @@ All commands auto-detect targets (versioning) from project files (`package.json`
|
|
|
75
75
|
| `monorepo release-order` | Compute and display the topological release order for all projects in the monorepo workspace based on their declared depends-on relationships. Projects with no dependencies are listed first, followed by projects that depend on them, ensuring each project is released only after its dependencies. Detects and reports circular dependency errors. |
|
|
76
76
|
| `monorepo outdated` | Scan all projects in the monorepo workspace for intra-workspace dependencies that reference older versions than what is currently available in the workspace. Lists each outdated dependency with the referenced version and the latest available version, helping identify which downstream projects need a version bump after upstream releases. |
|
|
77
77
|
| `monorepo snapshot` | Generate a committed JSON artifact at .rlsbl-monorepo/snapshot.json summarizing all packages, versions, dependencies, and graph structure. Use --check to verify the snapshot is up-to-date without regenerating it (exits 1 if stale). |
|
|
78
|
-
| `monorepo mirror` | Initialize a subtree mirror repository for a monorepo project
|
|
78
|
+
| `monorepo mirror` | Initialize a subtree mirror repository for a monorepo project by performing a full git subtree split of the project's history, pushing the extracted tree to the configured subtree_remote URL, cloning the resulting standalone mirror repository, running rlsbl scaffold to generate CI workflows for independent publishing, and pushing the scaffolded mirror to its remote. |
|
|
79
79
|
| `monorepo graph` | Export the monorepo dependency graph in JSON, DOT (Graphviz), or indented text tree format. Supports filtering by a root package (transitive deps) or reverse package (transitive rdeps), with optional depth limiting. Use --output to write to a file instead of stdout. |
|
|
80
80
|
| `monorepo impact` | Analyze the impact of changes to a package, file, or git diff range on the monorepo dependency graph. Shows direct and transitive dependents, test scope, and release candidates. Supports package names, file paths, and --since for git-based change detection. |
|
|
81
81
|
| `monorepo release` | Execute a batch release of multiple monorepo packages in topological order. Reads package configurations from .rlsbl-monorepo/releases/unreleased.toml. Each package is released sequentially using the single-package release flow, with leaves (no dependencies) released first. Supports --dry-run, --yes, --allow-dirty flags. |
|
|
@@ -139,7 +139,7 @@ Created files are committed automatically by default.
|
|
|
139
139
|
| `.rlsbl/hooks/pre-checks.sh` | User-customizable pre-checks validation |
|
|
140
140
|
| `.rlsbl/hooks/pre-release.sh` | User-customizable pre-release validation |
|
|
141
141
|
| `.rlsbl/hooks/post-release.sh` | User-customizable post-release actions |
|
|
142
|
-
| `.git/hooks/pre-push` |
|
|
142
|
+
| `.git/hooks/pre-push` | Captures push refs, runs `rlsbl check --tag prepush` |
|
|
143
143
|
| `.rlsbl/bases/` | Three-way merge bases for scaffold |
|
|
144
144
|
|
|
145
145
|
**Three-way merge:** Bases are stored at scaffold time. On re-run, user customizations and template updates merge via `git merge-file`. Conflicts get git-style conflict markers.
|
|
@@ -169,7 +169,7 @@ rlsbl includes 50 checks across 6 tags.
|
|
|
169
169
|
| (untagged) | 4 | Additional validation checks |
|
|
170
170
|
|
|
171
171
|
```
|
|
172
|
-
rlsbl check --all # run all
|
|
172
|
+
rlsbl check --all # run all 50 checks
|
|
173
173
|
rlsbl check --tag changelog # run checks by tag
|
|
174
174
|
rlsbl check --name lock # run a single check
|
|
175
175
|
```
|
|
@@ -211,17 +211,22 @@ On partial failure, prints a structured summary table with remediation commands
|
|
|
211
211
|
|
|
212
212
|
## Pre-push hook
|
|
213
213
|
|
|
214
|
-
The `.git/hooks/pre-push` hook
|
|
214
|
+
The `.git/hooks/pre-push` hook captures push refs from git and runs `rlsbl check --tag prepush`, which enforces:
|
|
215
215
|
|
|
216
|
-
1.
|
|
217
|
-
2.
|
|
218
|
-
3.
|
|
219
|
-
4.
|
|
216
|
+
1. **Changelog coverage** -- every pushed commit must have a JSONL entry
|
|
217
|
+
2. **Gitignore guard** -- rlsbl-managed files must not be gitignored
|
|
218
|
+
3. **Manual push warning** -- warns when pushing to a release branch outside `rlsbl release`
|
|
219
|
+
4. **Test suite** -- runs project tests (single-project) or affected project tests (monorepo)
|
|
220
|
+
|
|
221
|
+
Old hooks that call `rlsbl pre-push-check` still work but show a deprecation warning. Run `rlsbl scaffold` to update to the current hook format.
|
|
220
222
|
|
|
221
223
|
To reinstall manually:
|
|
222
224
|
|
|
223
225
|
```
|
|
224
|
-
echo '#!/bin/
|
|
226
|
+
echo '#!/usr/bin/env bash' > .git/hooks/pre-push
|
|
227
|
+
echo 'export RLSBL_PUSH_STDIN="$(cat)"' >> .git/hooks/pre-push
|
|
228
|
+
echo 'exec rlsbl check --tag prepush' >> .git/hooks/pre-push
|
|
229
|
+
chmod +x .git/hooks/pre-push
|
|
225
230
|
```
|
|
226
231
|
|
|
227
232
|
## Ecosystem tagging
|