| 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", |
| ) |
| |
| _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", |
| ) |