Skip to content

Conversation

@jonaslagoni
Copy link
Contributor

@jonaslagoni jonaslagoni commented Jan 26, 2026

Note

Improves CLI UX, error handling, and generator outputs across the codebase.

  • Adds Logger with levels, colors, spinners, JSON output; introduces BaseCommand with verbosity/JSON/color flags and updates generate, init, and telemetry to use it
  • Overhauls error system (CodegenError) and replaces ad-hoc throws with typed, user-friendly errors across configs, parsers (AsyncAPI/OpenAPI/JSON Schema), and TS generators
  • Generators and renderer now return GenerationResult/GeneratorResult with filesWritten and durations; watch mode and success output reflect this
  • Tracks written files in TS generators (payloads, parameters, headers, types, models, client, channels) and inputs; improves context validation
  • Adds comprehensive tests for logging, errors, renderer, and JSON Schema parsing; updates dependencies (e.g., picocolors)

Written by Cursor Bugbot for commit 9bac4a3. This will update automatically on new commits. Configure here.

@vercel
Copy link

vercel bot commented Jan 26, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
the-codegen-project Ready Ready Preview, Comment Jan 26, 2026 9:56pm
the-codegen-project-mcp Ready Ready Preview, Comment Jan 26, 2026 9:56pm

@netlify
Copy link

netlify bot commented Jan 26, 2026

Deploy Preview for the-codegen-project canceled.

Name Link
🔨 Latest commit 9bac4a3
🔍 Latest deploy log https://app.netlify.com/projects/the-codegen-project/deploys/6977e2c4f4226a00088ac7c0

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

const symbol = this.colorsEnabled ? pc.green('✓') : '[OK]';
console.log(`${symbol} ${displayText}`);
}
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spinner text fallback lost after stopSpinner nullifies spinner

Medium Severity

In succeedSpinner and failSpinner, calling this.stopSpinner() sets this.spinner = null before the code tries to access this.spinner?.text as a fallback. The fallback expression text || this.spinner?.text || '' will always resolve to an empty string when text is not provided, since this.spinner is already null at that point. The spinner text should be captured before calling stopSpinner().

Additional Locations (1)

Fix in Cursor Fix in Web

process.stdout.cursorTo(0);
}
}
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spinner never resumes after pause due to missing null assignment

Medium Severity

In pauseSpinner(), after calling clearInterval(this.spinner.interval), the interval property still holds the old interval ID (a truthy number). The resumeSpinner() method checks !this.spinner.interval to decide whether to restart the spinner, but this condition will always be false since the interval ID is still present. This causes the spinner animation to freeze permanently after any log message is output in TTY mode.

Additional Locations (1)

Fix in Cursor Fix in Web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants