GitShow/drizzle-team/hanji
drizzle-team

hanji

Designless command line user interface builder for nodejs+typescript

by drizzle-team
command-linenodejsprompttypescripttypescript-library
Star on GitHubForkWebsitenpm

TypeScript

96 stars5 forks2 contributorsQuiet · 6mo agoSince 2022

Meet the team

See all 2 on GitHub →
AlexBlokh
AlexBlokh24 contributions
AndriiSherman
AndriiSherman1 contribution

Languages

View on GitHub →
TypeScript99.4%
Shell0.6%

Commit activity

Last 12 weeks · 0 commits

Full graph →

Community health

1 of 6 standards met

Community profile →
25
✓README○License○Contributing○Code of Conduct○Issue Template○PR Template

Recent PRs & issues

Quiet · 1 in progress · Last activity 6mo ago
See all on GitHub →
kirkouimet
Print a rejected task's error when the view cannotOpenPR

Problem calls as soon as the view has rendered a rejected task: That makes the view the only thing standing between the error and the user. Whatever it renders is the entire report, and because the process exits immediately, the caller's own never runs either. A view whose does not take the second argument cannot surface the error. It returns its in-progress frame for , so a failed task prints something indistinguishable from one still running, and the error is discarded with nothing written anywhere. This is not hypothetical: 's migrate view had exactly that shape, so a failed migration reported and exited 1, with no message on stdout or stderr and no indication of what went wrong. Change now reports whether the view is able to receive the error, and prints it when the view is not. A view that does render the error suppresses the fallback, so there is no double report. The signal is the view's declared arity rather than a comparison of the rendered strings. Spinner views advance a frame between renders, so their and output differ by a character even when the error was ignored entirely — comparing strings reports success for exactly the views that need the fallback. Notes Views that already accept the error are unaffected. Success and pending paths are unchanged. passes (35 tests), identical to the unmodified baseline.

kirkouimet · 2mo ago

Recent fixes

View closed PRs →
masad-frost
Reject with error when interactive prompts are rendered outside a TTYMergedPR

Instead of silently hanging when stdin or stdout is not a TTY (e.g. CI, piped input), render() now prints the prompt and returns a rejected promise with a descriptive error.

masad-frost · 6mo ago
Structured data for AI agents

Repository: drizzle-team/hanji. Description: Designless command line user interface builder for nodejs+typescript Stars: 96, Forks: 5. Primary language: TypeScript. Languages: TypeScript (99.4%), Shell (0.6%). Homepage: https://github.com/drizzle-team/armin Topics: command-line, nodejs, prompt, typescript, typescript-library. Open PRs: 1, open issues: 0. Last activity: 6mo ago. Community health: 25%. Top contributors: AlexBlokh, AndriiSherman.

·@ofershap

Replace github.com with gitshow.dev