This module provides a single place for all aspects, rules, and macros that are meant to have stardoc generated documentation.
Rules
rust_wasm_bindgen
Generates javascript and typescript bindings for a webassembly module using wasm-bindgen.
To use the Rust WebAssembly bindgen rules, add the following to your WORKSPACE
file to add the
external repositories for the Rust bindgen toolchain (in addition to the Rust rules setup):
load("@rules_rust//wasm_bindgen:repositories.bzl", "rust_wasm_bindgen_repositories")
rust_wasm_bindgen_repositories()
For more details on rust_wasm_bindgen_repositories
, see here.
An example of this rule in use can be seen at @rules_rust//examples/wasm
name
A unique name for this target.
bindgen_flags
Flags to pass directly to the bindgen executable. See https://github.com/rustwasm/wasm-bindgen/ for details.
target
The type of output to generate. See https://rustwasm.github.io/wasm-bindgen/reference/deployment.html for details.
wasm_file
The .wasm file to generate bindings for.
rust_wasm_bindgen_toolchain
The tools required for the rust_wasm_bindgen
rule.
In cases where users want to control or change the version of wasm-bindgen
used by rust_wasm_bindgen,
a unique toolchain can be created as in the example below:
load("@rules_rust//bindgen:bindgen.bzl", "rust_bindgen_toolchain")
rust_bindgen_toolchain(
bindgen = "//my/cargo_raze:cargo_bin_wasm_bindgen",
)
toolchain(
name = "wasm_bindgen_toolchain",
toolchain = "wasm_bindgen_toolchain_impl",
toolchain_type = "@rules_rust//wasm_bindgen:wasm_bindgen_toolchain",
)
Now that you have your own toolchain, you need to register it by
inserting the following statement in your WORKSPACE
file:
register_toolchains("//my/toolchains:wasm_bindgen_toolchain")
For additional information, see the Bazel toolchains documentation.
name
A unique name for this target.
bindgen
The label of a wasm-bindgen-cli
executable.
Macros and Functions
rust_wasm_bindgen_repositories
Declare dependencies needed for rust_wasm_bindgen.
register_default_toolchain
If True, the default rust_wasm_bindgen_toolchain
(@rules_rust//wasm_bindgen:default_wasm_bindgen_toolchain
) is registered. This toolchain requires a set of dependencies
that were generated using cargo raze. These will also be loaded.