load("@aspect_rules_js//js:defs.bzl", "js_library", "js_test") load("@bazel_skylib//rules:copy_file.bzl", "copy_file") load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_shared_library") load("@rules_rust//wasm_bindgen/rules_js:defs.bzl", "js_rust_wasm_bindgen") package(default_visibility = ["//visibility:public"]) copy_file( name = "hello_world_wasm_test.src", src = "//wasm_bindgen:hello_world_wasm_test.js", out = "hello_world_wasm_test.js", ) rust_binary( name = "hello_world_bin_wasm", srcs = ["//wasm_bindgen:main.rs"], edition = "2018", deps = [ "@rules_rust//wasm_bindgen/3rdparty:wasm_bindgen", ], ) rust_shared_library( name = "hello_world_lib_wasm", srcs = ["//wasm_bindgen:main.rs"], edition = "2018", deps = [ "@rules_rust//wasm_bindgen/3rdparty:wasm_bindgen", ], ) js_rust_wasm_bindgen( name = "hello_world_bundler_wasm_bindgen", wasm_file = ":hello_world_bin_wasm", ) js_rust_wasm_bindgen( name = "hello_world_web_wasm_bindgen", target = "web", wasm_file = ":hello_world_lib_wasm", ) js_rust_wasm_bindgen( name = "hello_world_deno_wasm_bindgen", target = "deno", wasm_file = ":hello_world_lib_wasm", ) js_rust_wasm_bindgen( name = "hello_world_nomodules_wasm_bindgen", target = "no-modules", wasm_file = ":hello_world_lib_wasm", ) js_rust_wasm_bindgen( name = "hello_world_nodejs_wasm_bindgen", target = "nodejs", wasm_file = ":hello_world_lib_wasm", ) js_rust_wasm_bindgen( name = "hello_world_nodejs_no_typescript_wasm_bindgen", bindgen_flags = [ "--no-typescript", ], target = "nodejs", wasm_file = ":hello_world_lib_wasm", ) _WASM_DATA = [ ":hello_world_bundler_wasm_bindgen", ":hello_world_deno_wasm_bindgen", ":hello_world_nodejs_wasm_bindgen", ":hello_world_nomodules_wasm_bindgen", ":hello_world_web_wasm_bindgen", ] js_test( name = "hello_world_wasm_direct_test", data = _WASM_DATA, entry_point = ":hello_world_wasm_test.js", ) js_library( name = "hello_world_wasm_lib", srcs = [ ":hello_world_wasm_test.js", ], data = _WASM_DATA, deps = [], ) js_test( name = "hello_world_wasm_lib_test", data = [ ":hello_world_wasm_lib", ], entry_point = ":hello_world_wasm_lib", )