...
1load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild")
2load("@aspect_rules_ts//ts:defs.bzl", "ts_project")
3load("@npm//:defs.bzl", "npm_link_all_packages")
4
5package(default_visibility = ["//visibility:public"])
6
7npm_link_all_packages(name = "node_modules")
8
9SRC_PATTERNS = [
10 "**/*.js",
11 "**/*.tsx",
12 "**/*.ts",
13]
14
15TEST_PATTERNS = [
16 "**/*_test.tsx",
17 "**/*_test.ts",
18]
19
20ts_project(
21 name = "ts_compiler",
22 srcs = glob(
23 include = SRC_PATTERNS,
24 exclude = TEST_PATTERNS,
25 ),
26 extends = "//:tsconfig",
27 resolve_json_module = True,
28 tsconfig = "//third_party/gopherage/cmd/html/ts:tsconfig.json",
29 deps = [
30 ":node_modules/@types/google.visualization",
31 ],
32)
33
34esbuild(
35 name = "browser_bundle",
36 config = {
37 "keepNames": True,
38 "resolveExtensions": [
39 ".mjs",
40 ".js",
41 ],
42 },
43 entry_point = ":browser.js",
44 format = "cjs",
45 minify = True,
46 deps = [
47 ":ts_compiler",
48 ],
49)
View as plain text