-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathBUILD.bazel
99 lines (90 loc) · 2.31 KB
/
BUILD.bazel
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
load("@aspect_rules_js//js:defs.bzl", "js_library")
load("@aspect_rules_ts//ts:defs.bzl", "ts_config")
load("@npm//:defs.bzl", "npm_link_all_packages")
load("@npm//:tsconfig-to-swcconfig/package_json.bzl", tsconfig_to_swcconfig = "bin")
package(default_visibility = ["//visibility:public"])
npm_link_all_packages(
name = "node_modules",
)
exports_files([
"VERSION",
"tsconfig.json",
".eslintrc.js",
".prettierrc.js",
"package.json",
"vitest.config.mts",
".editorconfig",
".all-contributorsrc",
"README.md",
])
js_library(
name = "vitest_config",
testonly = True,
srcs = [
"scripts/vitest.setup.ts",
"vitest.config.mts",
],
visibility = ["//visibility:public"],
deps = [
"//:node_modules/@testing-library/jest-dom",
"//:node_modules/@testing-library/react",
"//:node_modules/@testing-library/react-hooks",
"//:node_modules/@testing-library/user-event",
"//:node_modules/@vitest/coverage-v8",
"//:node_modules/happy-dom",
"//:node_modules/vitest",
"//helpers:vitest_coverage_mapper",
],
)
js_library(
name = "eslint_config",
testonly = True,
srcs = [
".eslintrc.js",
],
visibility = ["//visibility:public"],
deps = [
":node_modules/@typescript-eslint/eslint-plugin",
":node_modules/@typescript-eslint/parser",
":node_modules/eslint",
":node_modules/eslint-plugin-prettier",
":node_modules/eslint-plugin-react",
],
)
js_library(
name = "tsup_config",
srcs = [
"tsup.config.ts",
],
data = [":typings"],
visibility = ["//visibility:public"],
deps = [
":node_modules/@types/node",
":node_modules/tsup",
":node_modules/typescript",
":node_modules/vitest",
],
)
js_library(
name = "typings",
srcs = [
"tsconfig.build.json",
"tsconfig.json",
] + glob(["typings/*"]),
visibility = ["//visibility:public"],
)
ts_config(
name = "tsconfig",
src = "tsconfig.json",
visibility = ["//visibility:public"],
)
tsconfig_to_swcconfig.t2s(
name = "write_swcrc",
srcs = ["tsconfig.json"],
args = [
"--filename",
"$(location tsconfig.json)",
],
stdout = ".swcrc",
visibility = ["//:__subpackages__"],
)