Skip to content

Commit d6cefa7

Browse files
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

40 files changed

+2085
-482
lines changed

package-lock.json

Lines changed: 274 additions & 30 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
"@oclif/plugin-version": "^2.0.17",
2121
"@readme/openapi-parser": "^5.0.1",
2222
"chokidar": "^4.0.3",
23+
"picocolors": "^1.1.1",
2324
"cosmiconfig": "^9.0.0",
2425
"graphology": "^0.26.0",
2526
"inquirer": "^8.2.6",

0 commit comments

Comments
 (0)