Hermex Output Review

← all cases

release-age-tree-scope

changed

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

Config

fixtures/repos/version-conflict/tree.config.ts — resolved, as the loader sees it

{
  "releaseAge": {
    "enabled": true,
    "registry": "<fixture registry>",
    "cacheDisabled": true,
    "thresholds": {
      "patch": 30,
      "minor": 45,
      "major": 60
    },
    "enforceOn": [
      "react"
    ],
    "scope": "tree"
  },
  "output": {
    "components": false,
    "patterns": false,
    "versus": false
  }
}

Diff against the target branch

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                             │
-├───────────────────────┼───────────┼────────────────────────────────────┤
-│ @hermex/legacy-widget │ 1.0.0     │                                    │
-├───────────────────────┼───────────┼────────────────────────────────────┤
-│ react                 │ 17.0.2    │ 🔴 major 19.1.0 (640 days overdue) │
-└───────────────────────┴───────────┴────────────────────────────────────┘
+┌───────────────────────┬───────────┬──────────────────────────────────────────────────┐
+│ Package               │ Installed │ Target                                           │
+├───────────────────────┼───────────┼──────────────────────────────────────────────────┤
+│ @hermex/legacy-widget │ 1.0.0     │ 🟡 major 2.1.0 (240 days overdue) [not enforced] │
+├───────────────────────┼───────────┼──────────────────────────────────────────────────┤
+│ react                 │ 17.0.2    │ 🔴 major 19.1.0 (640 days overdue)               │
+└───────────────────────┴───────────┴──────────────────────────────────────────────────┘
 
 Notes:
   🔵 react → 2 versions installed (bundle impact): 17.0.2, 18.3.1

Full output

stdout.txt
hermex 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 │ Target                                           │
├───────────────────────┼───────────┼──────────────────────────────────────────────────┤
│ @hermex/legacy-widget │ 1.0.0     │ 🟡 major 2.1.0 (240 days overdue) [not enforced] │
├───────────────────────┼───────────┼──────────────────────────────────────────────────┤
│ react                 │ 17.0.2    │ 🔴 major 19.1.0 (640 days overdue)               │
└───────────────────────┴───────────┴──────────────────────────────────────────────────┘

Notes:
  🔵 react → 2 versions installed (bundle impact): 17.0.2, 18.3.1

Total: 2 packages

🔴 Not compliant
  1 mandatory violation found
stderr.txt