Hermex Output Review

← all cases

scan-human-all-sections

changed

Asserts — Every human section rendered at once, including details and patterns, which the default config leaves off.

Ran hermex scan --config configs/all-sections.config.ts in fixtures/ → exit 0, as asserted

Config fixtures/configs/all-sections.config.ts · Fixture fixtures (overview) · Case scan-human-all-sections (dossier)

Reproduce locally: pnpm run test:output -- --filter scan-human-all-sections

Config

fixtures/configs/all-sections.config.ts

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

/**
 * Every human section on at once. The default config turns `details` and
 * `patterns` off, so without this case those two renderers never appear in
 * a reviewed output at all.
 */
export default {
  ...base,
  output: {
    summary: 'log',
    packages: 'table',
    components: 'table',
    patterns: 'table',
    details: true,
    versus: true,
    rules: true,
  },
} satisfies HermexConfigInput;

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
@@ -63,13 +63,14 @@
 
   Total usage patterns: 284
   JSX Usage: 64
+  Props Analyzed: 64
   Default Imports: 39
   Named Imports: 37
   Object Mappings: 19
   Dynamic Imports: 19
   Variable Assignments: 9
   Conditional Usage: 7
-  Aliased Imports: 6
+  Named Imports (aliased): 6
   Lazy Loading: 6
   Higher-Order Components: 5
   Namespace Imports: 4
@@ -128,6 +129,8 @@
 ├─────────────────────────┼───────┤
 │ JSX Usage               │ 64    │
 ├─────────────────────────┼───────┤
+│ Props Analyzed          │ 64    │
+├─────────────────────────┼───────┤
 │ Default Imports         │ 39    │
 ├─────────────────────────┼───────┤
 │ Named Imports           │ 37    │
@@ -140,7 +143,7 @@
 ├─────────────────────────┼───────┤
 │ Conditional Usage       │ 7     │
 ├─────────────────────────┼───────┤
-│ Aliased Imports         │ 6     │
+│ Named Imports (aliased) │ 6     │
 ├─────────────────────────┼───────┤
 │ Lazy Loading            │ 6     │
 ├─────────────────────────┼───────┤
@@ -155,7 +158,7 @@
 │ Portal Usage            │ 1     │
 └─────────────────────────┴───────┘
 
-Total: 220 patterns detected
+Total: 284 patterns detected
 
 📊 Summary
 

Full output

stdout.txt
hermex v<version>
- Parsing lockfile...
✔ Found pnpm lockfile (supports: v5, v6, v9) - 5 packages
✔ Found 18 files
✔ Analysis complete! Analyzed 17/18 files

⚠ 1 file(s) failed to parse:
  broken/unparseable.tsx
      x Expression expected
   ,----
 1 | export const Broken = ( : : :;
   :                         ^
   `----


Caused by:
    Syntax Error


📦 Packages

┌───────────────────────────┬─────────┐
│ Package                   │ Version │
├───────────────────────────┼─────────┤
│ @design-system/foundation │ 2.5.3   │
├───────────────────────────┼─────────┤
│ react                     │ 18.3.1  │
├───────────────────────────┼─────────┤
│ eslint                    │ N/A     │
├───────────────────────────┼─────────┤
│ [BANNED] moment           │ 2.29.4  │
├───────────────────────────┼─────────┤
│ react-dom                 │ 18.3.1  │
└───────────────────────────┴─────────┘

Total: 5 packages

⚖️ Versus

  Design System Migration
  ──────────────────────────────────────────────────
  @design-system/foundation  ██████████████████████████████ 100.0% (33 usages)
  @new-system/arc            ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 0.0% (0 usages)


🔍 Rules

┌──────────────────┬──────────────────────────────────────────────────────┐
│ Rule             │ Description                                          │
├──────────────────┼──────────────────────────────────────────────────────┤
│ no-packages      │ 🔴 moment is forbidden — Use date-fns or dayjs       │
├──────────────────┼──────────────────────────────────────────────────────┤
│ require-packages │ 🔴 typescript not installed — TypeScript is required │
├──────────────────┼──────────────────────────────────────────────────────┤
│ require-files    │ 🔴 .nvmrc not found                                  │
├──────────────────┼──────────────────────────────────────────────────────┤
│ require-files    │ 🟡 .editorconfig not found                           │
└──────────────────┴──────────────────────────────────────────────────────┘

3 errors, 1 warning

📋 Details

  Total usage patterns: 284
  JSX Usage: 64
  Props Analyzed: 64
  Default Imports: 39
  Named Imports: 37
  Object Mappings: 19
  Dynamic Imports: 19
  Variable Assignments: 9
  Conditional Usage: 7
  Named Imports (aliased): 6
  Lazy Loading: 6
  Higher-Order Components: 5
  Namespace Imports: 4
  Destructuring: 2
  Array Mappings: 2
  Portal Usage: 1

⚛️ Components

┌─────────────────────┬───────────────────────────┬───────┐
│ Component           │ Package                   │ Count │
├─────────────────────┼───────────────────────────┼───────┤
│ Button              │ @design-system/foundation │ 6     │
├─────────────────────┼───────────────────────────┼───────┤
│ Input               │ @design-system/foundation │ 5     │
├─────────────────────┼───────────────────────────┼───────┤
│ Card                │ @design-system/foundation │ 4     │
├─────────────────────┼───────────────────────────┼───────┤
│ Typography          │ @design-system/foundation │ 4     │
├─────────────────────┼───────────────────────────┼───────┤
│ Suspense            │ react                     │ 3     │
├─────────────────────┼───────────────────────────┼───────┤
│ Icon                │ @design-system/foundation │ 1     │
├─────────────────────┼───────────────────────────┼───────┤
│ Modal               │ @design-system/foundation │ 1     │
├─────────────────────┼───────────────────────────┼───────┤
│ CaseChild           │ @design-system/foundation │ 1     │
├─────────────────────┼───────────────────────────┼───────┤
│ CaseCond            │ @design-system/foundation │ 1     │
├─────────────────────┼───────────────────────────┼───────┤
│ CaseMap             │ @design-system/foundation │ 1     │
├─────────────────────┼───────────────────────────┼───────┤
│ CaseVar             │ @design-system/foundation │ 1     │
├─────────────────────┼───────────────────────────┼───────┤
│ CaseReturn          │ @design-system/foundation │ 1     │
├─────────────────────┼───────────────────────────┼───────┤
│ Child               │ @design-system/foundation │ 1     │
├─────────────────────┼───────────────────────────┼───────┤
│ CaseAttr            │ @design-system/foundation │ 1     │
├─────────────────────┼───────────────────────────┼───────┤
│ CaseAttrSelfClosing │ @design-system/foundation │ 1     │
├─────────────────────┼───────────────────────────┼───────┤
│ CaseAttrCond        │ @design-system/foundation │ 1     │
├─────────────────────┼───────────────────────────┼───────┤
│ CaseAttrHost        │ @design-system/foundation │ 1     │
├─────────────────────┼───────────────────────────┼───────┤
│ CaseAttrFragment    │ @design-system/foundation │ 1     │
├─────────────────────┼───────────────────────────┼───────┤
│ CaseBoth            │ @design-system/foundation │ 1     │
└─────────────────────┴───────────────────────────┴───────┘

🧩 Code Patterns

┌─────────────────────────┬───────┐
│ Pattern                 │ Count │
├─────────────────────────┼───────┤
│ JSX Usage               │ 64    │
├─────────────────────────┼───────┤
│ Props Analyzed          │ 64    │
├─────────────────────────┼───────┤
│ Default Imports         │ 39    │
├─────────────────────────┼───────┤
│ Named Imports           │ 37    │
├─────────────────────────┼───────┤
│ Object Mappings         │ 19    │
├─────────────────────────┼───────┤
│ Dynamic Imports         │ 19    │
├─────────────────────────┼───────┤
│ Variable Assignments    │ 9     │
├─────────────────────────┼───────┤
│ Conditional Usage       │ 7     │
├─────────────────────────┼───────┤
│ Named Imports (aliased) │ 6     │
├─────────────────────────┼───────┤
│ Lazy Loading            │ 6     │
├─────────────────────────┼───────┤
│ Higher-Order Components │ 5     │
├─────────────────────────┼───────┤
│ Namespace Imports       │ 4     │
├─────────────────────────┼───────┤
│ Destructuring           │ 2     │
├─────────────────────────┼───────┤
│ Array Mappings          │ 2     │
├─────────────────────────┼───────┤
│ Portal Usage            │ 1     │
└─────────────────────────┴───────┘

Total: 284 patterns detected

📊 Summary

┌─────────────────────┬───────┐
│ Metric              │ Count │
├─────────────────────┼───────┤
│ Files Analyzed      │ 17    │
├─────────────────────┼───────┤
│ Packages            │ 5     │
├─────────────────────┼───────┤
│ External Components │ 19    │
├─────────────────────┼───────┤
│ Total Usages        │ 36    │
└─────────────────────┴───────┘
stderr.txt