comparison third_party/bun/BUILD @ 12:de54585a40f1

Adding bun and node modules.
author June Park <parkjune1995@gmail.com>
date Thu, 02 Oct 2025 14:39:48 -0700
parents
children 7d3fa1a7a854
comparison
equal deleted inserted replaced
11:f33d9ff8b6e8 12:de54585a40f1
1 load("//gui_ze:gui_ze.bzl", "bun_binary")
2
3 alias(
4 name = "bun",
5 actual = select({
6 "//config:macos": ":bun_darwin_arm64",
7 "//config:linux": ":bun_linux_aarch64",
8 "//conditions:default": ":bun_linux_aarch64",
9 }),
10 visibility = ["//visibility:public"],
11 )
12
13 bun_binary(
14 name = "bun_darwin_arm64",
15 srcs = ["@bun_darwin_arm64_zip//file"],
16 target_compatible_with = [
17 "@platforms//os:osx",
18 ],
19 visibility = ["//visibility:public"],
20 )
21
22 genrule(
23 name = "bun_linux_aarch64",
24 srcs = ["@bun_linux_aarch64_zip//file"],
25 outs = ["bun_linux"], # must be a file, not a directory
26 cmd = """
27 mkdir -p $(@D)
28 unzip -j $(SRCS) bun-linux-aarch64/bun -d $(@D)
29 chmod +x $(@D)/bun
30 mv $(@D)/bun $@
31 """,
32 executable = True,
33 target_compatible_with = [
34 "@platforms//os:linux",
35 ],
36 visibility = ["//visibility:public"],
37 )
38
39 filegroup(
40 name = "node_modules",
41 srcs = [
42 "package.json", "tsconfig.json", "bun.lock",
43 ] + glob(["node_modules/**"]),
44 visibility = ["//visibility:public"],
45 )
46
47 filegroup(
48 name = "bun_dir",
49 srcs = glob(["**"], exclude = ["BUILD", "bun"],),
50 visibility = ["//visibility:public"],
51 )