release-age-tree-scopechanged
Asserts — scope: tree enforces every resolved copy, so the nested version becomes the mandatory failure and the reported installed version follows it.
Ran hermex comply --config tree.config.ts in fixtures/repos/version-conflict → exit 1, as asserted
Config fixtures/repos/version-conflict/tree.config.ts · Fixture fixtures/repos/version-conflict (overview) · Case release-age-tree-scope (dossier)
Registry offline, served from fixtures/registry/timelines.ts — no network
Reproduce locally: pnpm run test:output -- --filter release-age-tree-scope
fixtures/repos/version-conflict/tree.config.ts — resolved, as the loader sees it
{
"releaseAge": {
"cacheDisabled": true
},
"rules": {
"release-age": [
{
"severity": "error",
"patterns": [
"react"
],
"scope": "tree"
}
]
},
"output": {
"components": false,
"patterns": false,
"versus": false
}
}
Diffs are unified format: - is the target branch, + is this run. @@ -12,7 +12,9 @@ is a hunk header — unchanged lines were skipped, and the hunk below covers 7 lines from line 12 of the target branch and 9 lines from line 12 of this run.
--- target/stdout.txt
+++ current/stdout.txt
@@ -7,13 +7,13 @@
📦 Packages
-┌───────────────────────┬───────────┬──────────────────────────────────────────────────┐
-│ Package │ Installed │ Target │
-├───────────────────────┼───────────┼──────────────────────────────────────────────────┤
-│ react │ 17.0.2 │ 🔴 major 19.1.0 (640 days overdue) │
-├───────────────────────┼───────────┼──────────────────────────────────────────────────┤
-│ @hermex/legacy-widget │ 1.0.0 │ 🟡 major 2.1.0 (240 days overdue) [not enforced] │
-└───────────────────────┴───────────┴──────────────────────────────────────────────────┘
+┌───────────────────────┬───────────┬─────────────────────────────────────┐
+│ Package │ Installed │ Minimum target │
+├───────────────────────┼───────────┼─────────────────────────────────────┤
+│ react │ 17.0.2 │ 🔴 19.1.0 (major, 640 days overdue) │
+├───────────────────────┼───────────┼─────────────────────────────────────┤
+│ @hermex/legacy-widget │ 1.0.0 │ 🟡 2.1.0 (major, 240 days overdue) │
+└───────────────────────┴───────────┴─────────────────────────────────────┘
Notes:
🔵 react → 2 versions installed (bundle impact): 17.0.2, 18.3.1
stdout.txthermex v<version>
- Parsing lockfile...
✔ Found pnpm lockfile (supports: v5, v6, v9) - 2 packages
✔ Found 3 files
✔ Analysis complete! Analyzed 3/3 files
✔ Release age fetched
📦 Packages
┌───────────────────────┬───────────┬─────────────────────────────────────┐
│ Package │ Installed │ Minimum target │
├───────────────────────┼───────────┼─────────────────────────────────────┤
│ react │ 17.0.2 │ 🔴 19.1.0 (major, 640 days overdue) │
├───────────────────────┼───────────┼─────────────────────────────────────┤
│ @hermex/legacy-widget │ 1.0.0 │ 🟡 2.1.0 (major, 240 days overdue) │
└───────────────────────┴───────────┴─────────────────────────────────────┘
Notes:
🔵 react → 2 versions installed (bundle impact): 17.0.2, 18.3.1
1 error, 1 warning
🔴 Not compliant
1 mandatory violation found
stderr.txt