scan-human-all-sectionsunchanged
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
fixtures/configs/all-sections.config.ts — resolved, as the loader sees it
{
"excludes": [
"**/node_modules/**",
"**/dist/**",
"**/build/**",
"cases.ts",
"configs/**",
"registry/**",
"repos/**"
],
"versus": [
{
"name": "Design System Migration",
"packages": [
"@design-system/foundation",
"@new-system/arc"
]
},
{
"name": "Utility Library Migration",
"packages": [
"lodash",
"es-toolkit"
]
}
],
"rules": {
"no-files": [
{
"severity": "error",
"patterns": [
"jest.config.*",
".babelrc"
],
"message": "Use vitest + Vite"
}
],
"no-packages": [
{
"severity": "error",
"patterns": [
"moment"
],
"message": "Use date-fns or dayjs"
}
],
"require-files": [
{
"severity": "error",
"patterns": [
".nvmrc"
]
},
{
"severity": "warn",
"patterns": [
".editorconfig"
]
}
],
"require-packages": [
{
"severity": "error",
"patterns": [
"typescript"
],
"message": "TypeScript is required"
}
],
"require-scripts": [
{
"severity": "error",
"patterns": [
"build",
"test"
],
"message": "Required npm scripts"
}
],
"require-package-fields": [
{
"severity": "warn",
"patterns": [
"engines",
"license"
]
}
],
"require-engine-version": {
"severity": "warn",
"range": ">=20",
"message": "Minimum Node 20 required"
}
},
"output": {
"summary": "log",
"packages": "table",
"components": "table",
"patterns": "table",
"details": true,
"versus": true,
"rules": true
}
}
stdout.txthermex v<version>
- Parsing lockfile...
✔ Found pnpm lockfile (supports: v5, v6, v9) - 7 packages
✔ Found 22 files
✔ Analysis complete! Analyzed 21/22 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 │
├───────────────────────────┼─────────┤
│ react-dom │ 18.3.1 │
├───────────────────────────┼─────────┤
│ lodash │ 4.17.21 │
├───────────────────────────┼─────────┤
│ es-toolkit │ 1.39.10 │
├───────────────────────────┼─────────┤
│ eslint │ N/A │
├───────────────────────────┼─────────┤
│ [BANNED] moment │ 2.29.4 │
└───────────────────────────┴─────────┘
⚖️ Versus
Design System Migration
──────────────────────────────────────────────────
@design-system/foundation ██████████████████████████████ 100.0% (8 files, 33 renders)
@new-system/arc ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 0.0% (not found in this repo)
Utility Library Migration
──────────────────────────────────────────────────
lodash ███████████████████████░░░░░░░ 75.0% (3 files)
es-toolkit ████████░░░░░░░░░░░░░░░░░░░░░░ 25.0% (1 file)
🔍 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: 291
JSX Usage: 64
Props Analyzed: 64
Named Imports: 42
Default Imports: 40
Dynamic Imports: 20
Object Mappings: 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 │
├─────────────────────────┼───────┤
│ Named Imports │ 42 │
├─────────────────────────┼───────┤
│ Default Imports │ 40 │
├─────────────────────────┼───────┤
│ Dynamic Imports │ 20 │
├─────────────────────────┼───────┤
│ Object Mappings │ 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: 291 patterns detected
📊 Summary
┌─────────────────────┬───────┐
│ Metric │ Count │
├─────────────────────┼───────┤
│ Files Analyzed │ 21 │
├─────────────────────┼───────┤
│ Packages │ 7 │
├─────────────────────┼───────┤
│ External Components │ 19 │
├─────────────────────┼───────┤
│ Total Usages │ 36 │
└─────────────────────┴───────┘
stderr.txt