Hermex Output Review

← all cases

release-age-tree-scope

unchanged

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

import type { HermexConfigInput } from '../../../src/config/types.ts';
import base from './hermex.config.ts';

/**
 * `scope: 'tree'` — every resolved copy is enforced, so the ancient nested
 * react 17.0.2 becomes a mandatory failure rather than advisory context,
 * and the reported installed version is the worst copy rather than the
 * direct one. Everything else is identical to `./hermex.config.ts`, so the
 * diff between the two baselines is exactly what `scope` does.
 */
export default {
  ...base,
  releaseAge: { ...base.releaseAge, scope: 'tree' },
} satisfies HermexConfigInput;

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                             │
├───────────────┼───────────┼────────────────────────────────────┤
│ legacy-widget │ 1.0.0     │                                    │
├───────────────┼───────────┼────────────────────────────────────┤
│ 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