view hg-web/BUILD @ 234:1de6f553cbc0

[resume] Add Microsoft Member of Technical Staff role
author MrJuneJune <me@mrjunejune.com>
date Sun, 02 Aug 2026 18:27:15 -0700
parents 8bb0ac8f4587
children c5129452493e
line wrap: on
line source

load("@rules_cc//cc:cc_binary.bzl", "cc_binary")
load("@rules_shell//shell:sh_binary.bzl", "sh_binary")
load("//gui_ze:gui_ze.bzl", "move_files_into_dir", "bundle", "bun_bundle")

# Source files
filegroup(
  name = "src_ts_files",
  srcs = glob([
    "src/**/*.ts",
    "src/**/*.tsx",
    "src/**/*.js",
    "src/**/*.jsx",
  ], allow_empty = True),
)

# Bundle TypeScript with Bun
bun_bundle(
  name = "page",
  src = "src/main.tsx",
  deps = [
    ":src_ts_files",
    "//markdown_converter:markdown_to_html_wasm",
    "//third_party/highlight:js",
  ],
  visibility = ["//visibility:public"],
)

# Prepare compiled assets
move_files_into_dir(
  name = "compiled_js",
  srcs = [
    ":page",
    "//markdown_converter:markdown_to_html_wasm",
    "//third_party/highlight:js",
  ],
  dest = "src",
)

move_files_into_dir(
  name = "public_files",
  srcs = ["//mrjunejune:public_files"],
  dest = "src/public",
)

move_files_into_dir(
  name = "public_fonts_files",
  srcs = ["//mrjunejune:public_fonts_files"],
  dest = "src/public/fonts",
)

filegroup(
  name = "all_assets",
  srcs = glob(["src/**"]) + [":compiled_js", ":public_files", ":public_fonts_files"],
)

# Server binaries
cc_binary(
  name = "hg_web_server",
  srcs = ["main.c"],
  deps = ["//seobeo:seobeo"],
  data = [":all_assets"],
  visibility = ["//hg-web:__subpackages__"],
)

cc_binary(
  name = "hg_web_server_debug",
  srcs = ["main.c"],
  deps = ["//seobeo:seobeo"],
  data = [":all_assets"],
)

sh_binary(
  name = "dev",
  srcs = ["dev.sh"],
  data = [
    ":hg_web_server",
    "@bazel_tools//tools/bash/runfiles",
  ],
)

test_suite(
  name = "tests",
  tests = ["//hg-web/e2e:app_e2e_test"],
)

bundle(
  name = "hg_web_server_bundle",
  binary = ":hg_web_server",
)

sh_binary(
  name = "deploy",
  srcs = ["deploy.sh"],
  data = [
    ":hg_web_server_bundle",
    "@bazel_tools//tools/bash/runfiles",
  ],
)