genui check currently runs compiler.compile() (the same pass genui lint does) plus TypeScript semantic diagnostics. This means:
- Running
check alone duplicates lint's work
- Running both
lint then check compiles twice
The comment in check.ts states the intent:
genui lint stays the fast-only command, while genui check adds semantic TypeScript diagnostics.
But the implementation doesn't follow through — check still includes the compile pass internally.
Proposed change
check should only run the TypeScript semantic diagnostics (checkGenUITypeScriptCode / checkStandaloneTypeScriptCode), not compiler.compile(). The two commands become orthogonal:
| command |
scope |
genui lint |
fast compile pass (syntax, JSX transform) |
genui check |
TypeScript semantic diagnostics only |
| both |
full coverage, no overlap |
genui checkcurrently runscompiler.compile()(the same passgenui lintdoes) plus TypeScript semantic diagnostics. This means:checkalone duplicates lint's worklintthencheckcompiles twiceThe comment in
check.tsstates the intent:But the implementation doesn't follow through —
checkstill includes the compile pass internally.Proposed change
checkshould only run the TypeScript semantic diagnostics (checkGenUITypeScriptCode/checkStandaloneTypeScriptCode), notcompiler.compile(). The two commands become orthogonal:genui lintgenui check