load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild") load("@aspect_rules_ts//ts:defs.bzl", "ts_project") load("@npm//:defs.bzl", "npm_link_all_packages") package(default_visibility = ["//visibility:public"]) npm_link_all_packages(name = "node_modules") SRC_PATTERNS = [ "**/*.js", "**/*.tsx", "**/*.ts", ] TEST_PATTERNS = [ "**/*_test.tsx", "**/*_test.ts", ] ts_project( name = "ts_compiler", srcs = glob( include = SRC_PATTERNS, exclude = TEST_PATTERNS, ), extends = "//:tsconfig", resolve_json_module = True, tsconfig = "//third_party/gopherage/cmd/html/ts:tsconfig.json", deps = [ ":node_modules/@types/google.visualization", ], ) esbuild( name = "browser_bundle", config = { "keepNames": True, "resolveExtensions": [ ".mjs", ".js", ], }, entry_point = ":browser.js", format = "cjs", minify = True, deps = [ ":ts_compiler", ], )