Files
wails_tools/wails_bun/private/macros.bzl
2026-03-12 18:58:43 +01:00

72 lines
2.0 KiB
Python

"""Macros for Bun-backed Wails applications."""
load("//wails:defs.bzl", "wails_build_assets", "wails_generate_bindings", "wails_run")
load(":private/dev_session.bzl", "wails_bun_dev_session")
load(":private/frontend_dist.bzl", "wails_bun_frontend_dev", "wails_bun_frontend_dist")
def wails_bun_app(
name,
app_binary,
frontend_srcs,
package_json,
node_modules,
build_asset_srcs,
app_name,
binary_name,
icon = None,
bindings_package_dir = ".",
frontend_strip_prefix = "",
build_strip_prefix = "",
visibility = None):
wails_bun_frontend_dist(
name = name + "_frontend_dist",
srcs = frontend_srcs,
node_modules = node_modules,
package_json = package_json,
strip_prefix = frontend_strip_prefix,
visibility = visibility,
)
wails_build_assets(
name = name + "_build_assets",
srcs = build_asset_srcs,
app_name = app_name,
binary_name = binary_name,
strip_prefix = build_strip_prefix,
visibility = visibility,
)
wails_generate_bindings(
name = name + "_bindings",
out_dir = "frontend/src/lib/bindings",
package_dir = bindings_package_dir,
visibility = visibility,
)
wails_bun_frontend_dev(
name = name + "_frontend_dev",
data = frontend_srcs,
node_modules = node_modules,
package_json = package_json,
visibility = visibility,
)
wails_run(
name = name + "_run",
binary = app_binary,
build_assets = name + "_build_assets",
icon = icon,
visibility = visibility,
)
wails_bun_dev_session(
name = name + "_dev",
workspace_dir = native.package_name() or ".",
frontend_dev = name + "_frontend_dev",
app_binary = app_binary,
build_assets = name + "_build_assets",
bindings_target = name + "_bindings",
icon = icon,
visibility = visibility,
)