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:
- Is this something you'd want in-tree?
- Is TS ref → Rust node the right edge shape for commands?
- For events, would you prefer direct emit → listen edges, or a shared event node that both sides reference?
- Is
provenance: 'heuristic' the right marking here?
If these baselines sound good, I'm happy to bring a PR for this.
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:
commands.getMcpPort()orinvoke('get_mcp_port')#[tauri::command] fn get_mcp_port(...)Same thing for events:
tauri_specta::Eventstructs oremit("volume-space-changed", ...)events.volumeSpaceChanged.listen(...)orlisten('volume-space-changed', ...)Would you be interested in an in-tree Tauri framework resolver for this?
The rough plan would be:
commands.fooBar(...), rawinvoke('foo_bar', ...),events.fooBar.listen(...), and rawlisten('foo-bar', ...)#[tauri::command]functions and Tauri event structs / emit sitesprovenance: 'heuristic'Before I spend time on it, I wanted to ask a few questions:
provenance: 'heuristic'the right marking here?If these baselines sound good, I'm happy to bring a PR for this.