Skip to content

Commit bcbdb6f

Browse files
avrabeclaude
andcommitted
fix: update wizer init function to wizer-initialize (wasmtime v39+)
Breaking change aligned with wasmtime wizer migration: - Update rust_wasm_component_wizer default from "wizer.initialize" to "wizer-initialize" - Update checksum_updater_wasm to use new export name - Mark checksum_updater_wasm_wizer as manual (experimental) - Component model wizer integration requires WIT-level exports - Core module #[export_name] doesn't work with component exports 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
1 parent 1e7e8a1 commit bcbdb6f

File tree

4 files changed

+102
-97
lines changed

4 files changed

+102
-97
lines changed

MODULE.bazel.lock

Lines changed: 92 additions & 92 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

rust/private/rust_wasm_component_wizer.bzl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def rust_wasm_component_wizer(
1515
visibility = None,
1616
crate_root = None,
1717
edition = "2021",
18-
init_function_name = "wizer.initialize",
18+
init_function_name = "wizer-initialize",
1919
**kwargs):
2020
"""Builds a Rust WebAssembly component with Wizer pre-initialization.
2121
@@ -31,7 +31,7 @@ def rust_wasm_component_wizer(
3131
visibility: Target visibility
3232
crate_root: Rust crate root file
3333
edition: Rust edition (default: "2021")
34-
init_function_name: Wizer initialization function name (default: "wizer.initialize")
34+
init_function_name: Wizer initialization function name (default: "wizer-initialize")
3535
**kwargs: Additional arguments passed to rust_library
3636
"""
3737

tools/checksum_updater_wasm/BUILD.bazel

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,15 +61,20 @@ alias(
6161
actual = ":checksum_updater_wasm_component",
6262
)
6363

64+
# Note: Wizer pre-initialization with WebAssembly components requires the init
65+
# function to be exported via WIT interface, not just #[export_name]. This target
66+
# is experimental until proper component model integration is implemented.
67+
# Tagged manual to exclude from `bazel build //...`
6468
rust_wasm_component_wizer(
6569
name = "checksum_updater_wasm_wizer",
6670
srcs = ["src/main.rs"],
6771
crate_features = [
6872
"default",
6973
"wizer",
7074
],
71-
init_function_name = "wizer_initialize",
75+
init_function_name = "wizer-initialize",
7276
profiles = ["release"],
77+
tags = ["manual"], # Excluded from default builds - experimental
7378
deps = [
7479
"@crates//:anyhow",
7580
"@crates//:chrono",

tools/checksum_updater_wasm/src/main.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -904,8 +904,8 @@ fn get_tool_info(tool: &str) -> Result<ToolRuleInfo> {
904904
}
905905

906906
/// Wizer initialization function
907-
#[no_mangle]
908-
pub fn wizer_initialize() {
907+
#[export_name = "wizer-initialize"]
908+
pub extern "C" fn wizer_initialize() {
909909
// Pre-load the registry for faster startup
910910
if let Ok(manager) = ChecksumManager::new() {
911911
if let Ok(tools) = manager.discover_tools() {

0 commit comments

Comments
 (0)