Skip to content

Would you want a Tauri IPC resolver? #772

@vdavid

Description

@vdavid

Hi there!

I'm using CodeGraph on my Tauri-based file manager Cmdr.
I've found a gap that looks very close to the React Native / native bridge resolver shape that recently got into CodeGraph, so I have high hopes that I could contribute with a Tauri resolver.

In Tauri, the frontend calls Rust through runtime IPC. CodeGraph can't currently connect things like:

  • TS: commands.getMcpPort() or invoke('get_mcp_port')
  • Rust: #[tauri::command] fn get_mcp_port(...)

Same thing for events:

  • Rust: tauri_specta::Event structs or emit("volume-space-changed", ...)
  • TS: events.volumeSpaceChanged.listen(...) or listen('volume-space-changed', ...)

Would you be interested in an in-tree Tauri framework resolver for this?

The rough plan would be:

  • extract refs from commands.fooBar(...), raw invoke('foo_bar', ...), events.fooBar.listen(...), and raw listen('foo-bar', ...)
  • resolve them to Rust #[tauri::command] functions and Tauri event structs / emit sites
  • mark synthesized edges as provenance: 'heuristic'
  • cover it with fixture-style Vitest tests, plus real-repo validation per the dynamic-dispatch playbook

Before I spend time on it, I wanted to ask a few questions:

  1. Is this something you'd want in-tree?
  2. Is TS ref → Rust node the right edge shape for commands?
  3. For events, would you prefer direct emit → listen edges, or a shared event node that both sides reference?
  4. Is provenance: 'heuristic' the right marking here?

If these baselines sound good, I'm happy to bring a PR for this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions