Anki/ts/lib/BUILD.bazel
Damien Elmes c0e615ddde support es6 imports in Jest tests
Switching to lodash-es caused Jest to fail. The standard Jest workflow
would be to transpile things with Bazel, but we can do it faster by
bundling with esbuild.

the log in lib.test.ts has revealed numbers are being set as Long instead
of JS numbers, and the published workaround for it is not working :-(
2021-04-17 16:38:45 +10:00

84 lines
1.5 KiB
Text

load("@npm//@bazel/typescript:index.bzl", "ts_library")
load("//ts:prettier.bzl", "prettier_test")
load("//ts:eslint.bzl", "eslint_test")
load("//ts:protobuf.bzl", "protobufjs_library")
load("//ts:jest.bzl", "jest_test")
# Protobuf
#############
protobufjs_library(
name = "backend_proto",
proto = "//rslib:backend_proto_lib",
visibility = ["//visibility:public"],
)
# Translations
################
load("@rules_python//python:defs.bzl", "py_binary")
load("@py_deps//:requirements.bzl", "requirement")
py_binary(
name = "genfluent",
srcs = [
"genfluent.py",
],
deps = [
requirement("black"),
requirement("stringcase"),
],
)
genrule(
name = "fluent_gen",
outs = ["i18n.ts"],
cmd = "$(location genfluent) $(location //rslib/i18n:strings.json) $@",
tools = [
"genfluent",
"//rslib/i18n:strings.json",
],
)
# Anki Library
################
ts_library(
name = "lib",
srcs = glob(
["**/*.ts"],
exclude = ["*.test.ts"],
) + [":i18n.ts"],
data = [
"backend_proto",
],
module_name = "anki",
tsconfig = "//:tsconfig.json",
visibility = ["//visibility:public"],
deps = [
"backend_proto",
"@npm//@fluent/bundle",
"@npm//@types/long",
"@npm//intl-pluralrules",
"@npm//tslib",
],
)
# Tests
################
prettier_test(
name = "format_check",
srcs = glob(["*.ts"]),
)
eslint_test(
name = "eslint",
srcs = glob(["*.ts"]),
)
jest_test(
deps = [
":lib",
],
)