Commit d6cefa7
authored
feat: improve DX of the CI (#317)
Modernizes the CLI UX, error handling, and generator outputs.
> - **Logging/CLI UX**: New `Logger` with levels, colors, spinners, and JSON mode; shared `BaseCommand` adds flags (`-v`, `-q`, `--silent`, `--json`, `--no-color`, `--debug`). `generate`, `init`, and `telemetry` adopt spinners, verbose/debug output, and JSON results.
> - **Structured errors**: Introduces `CodegenError` with many specific creators; replaces generic throws across parsers, generators, and renderer for clearer, colorized messages.
> - **Generator results**: Generators and renderer now return `GenerationResult`/`GeneratorResult`, tracking `filesWritten` and timings; TypeScript generators (payloads/parameters/headers/types/channels/client/models) propagate file tracking.
> - **Parsing/validation**: AsyncAPI/OpenAPI/JSON Schema loaders emit detailed errors and verbose logs; config processing logs downgraded (debug/verbose) and error creators used.
> - **Tests**: Add comprehensive unit tests for logging, errors, renderer, and JSON Schema parser; update expectations for new error messages.
> - **Deps**: Add `picocolors`.1 parent 4e64d2b commit d6cefa7
File tree
40 files changed
+2085
-482
lines changed- src
- codegen
- generators
- typescript
- channels
- protocols
- amqp
- eventsource
- kafka
- mqtt
- nats
- websocket
- client
- protocols
- inputs
- asyncapi
- generators
- jsonschema
- openapi
- generators
- commands
- test
- codegen
- inputs
40 files changed
+2085
-482
lines changedSome generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
| |||
0 commit comments