js2rust-bridge-macro 0.2.0

Proc-macro for generating Rust FFI bindings from js2rust C ABI export metadata
Documentation

Proc-macro for generating Rust FFI bindings from js2rust C ABI export metadata.

Usage

js2rust_bridge! {
    "js_src/main.js",    // core JS file path (relative to CARGO_MANIFEST_DIR)
    // Sync host functions (optional, comma-separated):
    host_add(i64, i64) -> i64,
    host_concat(str, str) -> str,
    // Async host functions (called with `await` from JS):
    async fetch_user(str) -> { id: i64, name: str },
}

The macro transpiles JS to Zig inline, writes output to .js2zig-cache/{group}/, and generates Rust FFI bindings. The group name is derived from the file name (sanitized for Zig identifiers). A minimal build.rs is only needed to link the compiled static library.