comply-colorchanged
Asserts — The coloured path a developer actually sees in a terminal. Captured raw, so escape sequences are part of the diff.
Ran hermex comply in fixtures/ → exit 1, as asserted
Config fixtures/hermex.config.ts · Fixture fixtures (overview) · Case comply-color (dossier)
Environment NO_COLOR unset, FORCE_COLOR=3
Reproduce locally: pnpm run test:output -- --filter comply-color
fixtures/hermex.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": {
"details": false,
"patterns": 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
@@ -1,8 +1,8 @@
hermex v<version>
- Parsing lockfile...
-✔ Found pnpm lockfile (supports: v5, v6, v9) - 5 packages
-✔ Found 18 files
-✔ Analysis complete! Analyzed 17/18 files
+✔ 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
@@ -37,10 +37,15 @@
Design System Migration
──────────────────────────────────────────────────
- @design-system/foundation ██████████████████████████████ 100.0% (33 usages)
- @new-system/arc ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 0.0% (0 usages)
+ @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)
+
🔴 Not compliant
3 mandatory violations found
--- target/stdout.ansi.txt
+++ current/stdout.ansi.txt
@@ -1,8 +1,8 @@
[90mhermex v<version>
[90m[39m- Parsing lockfile...
-[32m✔[39m [34mFound pnpm lockfile (supports: v5, v6, v9) - 5 packages[39m
-[32m✔[39m [32mFound 18 files[39m
-[32m✔[39m [32mAnalysis complete! Analyzed 17/18 files[39m
+[32m✔[39m [34mFound pnpm lockfile (supports: v5, v6, v9) - 7 packages[39m
+[32m✔[39m [32mFound 22 files[39m
+[32m✔[39m [32mAnalysis complete! Analyzed 21/22 files[39m
[33m[39m
[33m⚠ 1 file(s) failed to parse:[39m
[33m[39m[33m broken/unparseable.tsx[39m
@@ -37,9 +37,14 @@
[95m[1m[22m[39m
[1m Design System Migration[22m
[90m ──────────────────────────────────────────────────[39m
- @design-system/foundation [36m██████████████████████████████[39m [1m100.0%[22m [90m(33 usages)[39m
- @new-system/arc [90m░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░[39m [1m0.0%[22m [90m(0 usages)[39m
+ @design-system/foundation [36m██████████████████████████████[39m [1m100.0%[22m [90m(8 files, 33 renders)[39m
+ @new-system/arc [90m░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░[39m [1m0.0%[22m [90m(not found in this repo)[39m
+[1m Utility Library Migration[22m
+[90m ──────────────────────────────────────────────────[39m
+ lodash [36m███████████████████████[39m[90m░░░░░░░[39m [1m75.0%[22m [90m(3 files)[39m
+ es-toolkit [36m████████[39m[90m░░░░░░░░░░░░░░░░░░░░░░[39m [1m25.0%[22m [90m(1 file)[39m
+
[91m[1m[22m[39m
[91m[1m🔴 Not compliant[22m[39m
[31m 3 mandatory violations found[39m
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
🔍 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
⚖️ 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)
🔴 Not compliant
3 mandatory violations found
stderr.txt
stdout.ansi.txt[90mhermex v<version>
[90m[39m- Parsing lockfile...
[32m✔[39m [34mFound pnpm lockfile (supports: v5, v6, v9) - 7 packages[39m
[32m✔[39m [32mFound 22 files[39m
[32m✔[39m [32mAnalysis complete! Analyzed 21/22 files[39m
[33m[39m
[33m⚠ 1 file(s) failed to parse:[39m
[33m[39m[33m broken/unparseable.tsx[39m
[33m[39m[90m x Expression expected[39m
[90m ,----[39m
[90m 1 | export const Broken = ( : : :;[39m
[90m : ^[39m
[90m `----[39m
[90m[39m
[90m[39m
[90mCaused by:[39m
[90m Syntax Error[39m
[90m[39m
[94m[1m[22m[39m
[94m[1m🔍 Rules[22m[39m
[94m[1m[22m[39m
[90m┌──────────────────[39m[90m┬──────────────────────────────────────────────────────┐[39m
[90m│[39m[36m Rule [39m[90m│[39m[36m Description [39m[90m│[39m
[90m├──────────────────[39m[90m┼──────────────────────────────────────────────────────┤[39m
[90m│[39m no-packages [90m│[39m 🔴 moment is forbidden[90m — Use date-fns or dayjs[39m [90m│[39m
[90m├──────────────────[39m[90m┼──────────────────────────────────────────────────────┤[39m
[90m│[39m require-packages [90m│[39m 🔴 typescript not installed[90m — TypeScript is required[39m [90m│[39m
[90m├──────────────────[39m[90m┼──────────────────────────────────────────────────────┤[39m
[90m│[39m require-files [90m│[39m 🔴 .nvmrc not found [90m│[39m
[90m├──────────────────[39m[90m┼──────────────────────────────────────────────────────┤[39m
[90m│[39m require-files [90m│[39m 🟡 .editorconfig not found [90m│[39m
[90m└──────────────────[39m[90m┴──────────────────────────────────────────────────────┘[39m
[90m[39m
[90m[31m3 errors[39m[90m, [33m1 warning[39m[90m[39m
[95m[1m[22m[39m
[95m[1m⚖️ Versus[22m[39m
[95m[1m[22m[39m
[1m Design System Migration[22m
[90m ──────────────────────────────────────────────────[39m
@design-system/foundation [36m██████████████████████████████[39m [1m100.0%[22m [90m(8 files, 33 renders)[39m
@new-system/arc [90m░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░[39m [1m0.0%[22m [90m(not found in this repo)[39m
[1m Utility Library Migration[22m
[90m ──────────────────────────────────────────────────[39m
lodash [36m███████████████████████[39m[90m░░░░░░░[39m [1m75.0%[22m [90m(3 files)[39m
es-toolkit [36m████████[39m[90m░░░░░░░░░░░░░░░░░░░░░░[39m [1m25.0%[22m [90m(1 file)[39m
[91m[1m[22m[39m
[91m[1m🔴 Not compliant[22m[39m
[31m 3 mandatory violations found[39m