-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdefs.bzl
48 lines (42 loc) · 1.14 KB
/
defs.bzl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
load("@npm//@bazel/typescript:index.bzl", _ts_project = "ts_project")
load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test")
load("@npm//@bazel/esbuild:index.bzl", "esbuild")
load("@aspect_rules_swc//swc:swc.bzl", "swc_transpiler")
def _ts_base_project(**kwargs):
_ts_project(
composite = True,
**kwargs
)
def _swc(name, swcrc = "//:.swcrc", **kwargs):
swc_transpiler(
name = name,
swcrc = swcrc,
**kwargs
)
def ts_project(tsconfig = "//:tsconfig_browser", **kwargs):
_ts_base_project(
tsconfig = tsconfig,
transpiler = _swc,
**kwargs
)
def ts_node_project(tsconfig = "//:tsconfig_node", **kwargs):
_ts_base_project(
tsconfig = tsconfig,
**kwargs
)
def ts_jasmine_node_test(name, srcs, deps = [], size = "small", **kwargs):
ts_node_project(
name = "%s_lib" % name,
testonly = 1,
srcs = srcs,
deps = deps + [
"@npm//@types/jasmine",
],
**kwargs
)
jasmine_node_test(
name = name,
size = "small",
deps = [":%s_lib" % name],
**kwargs
)