Conversation
✅ Deploy Preview for rslint ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: eaa5a3659a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
eaa5a36 to
82fe96d
Compare
There was a problem hiding this comment.
Pull request overview
This PR introduces a new Rust workspace member tsgo-client, a Rust client for the existing tsgo TypeScript analyzer, and wires it into CI so Rust formatting, linting, build, and tests run alongside the rest of the project.
Changes:
- Add a Cargo workspace and
tsgo-clientcrate with a process-based client and protocol types for deserializing CBOR responses fromtsgo. - Provide a small high-level
Apiwrapper over the lower-levelClient. - Extend the GitHub Actions CI pipeline with a Rust job (fmt, clippy, build, test) and adjust repo ignore rules for Rust.
Reviewed changes
Copilot reviewed 7 out of 9 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
crates/tsgo-client/src/proto.rs |
Defines the wire protocol data structures and custom serde deserializers used to decode CBOR responses from the tsgo process. |
crates/tsgo-client/src/client.rs |
Implements the process-spawning Client, its Builder and UninitializedClient, the load-project RPC, error types, and lifecycle management (including a close method and custom Drop). |
crates/tsgo-client/src/lib.rs |
Exposes the crate modules and adds an Api wrapper for initializing a client and loading a project. |
crates/tsgo-client/Cargo.toml |
Declares the tsgo-client package metadata and Rust dependencies needed for error handling and CBOR/serde decoding. |
crates/tsgo-client/README.md |
Documents the purpose of the tsgo-client crate and the data it exposes from TypeScript projects. |
Cargo.toml |
Defines a root Cargo workspace that includes all crates under crates/* and configures common package metadata and release profile. |
Cargo.lock |
Adds the generated lockfile capturing resolved versions for the new Rust workspace and dependencies. |
.gitignore |
Updates ignore rules to include Rust target/ artifacts while preserving existing entries. |
.github/workflows/ci.yml |
Adds a test-rust job to run cargo fmt, cargo clippy, build, and tests across OSes and wires it into the overall CI done gate. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
4da88ed to
2abd42b
Compare
a49cb66 to
cace090
Compare
Summary
add tsgo-client to support better integration with rust
and add get_shorthand_assignment_value_symbol api
Related Links
Checklist