| load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") |
| load("@npm//@bazel/typescript:index.bzl", "ts_project") |
| load("@rules_proto//proto:defs.bzl", "proto_library") |
| load(":defs.bzl", "protobufjs_library") |
| |
| proto_library( |
| name = "car_proto", |
| srcs = [ |
| "car.proto", |
| "tire.proto", |
| ], |
| ) |
| |
| protobufjs_library( |
| # produces outputs named after this, |
| # car.d.ts and car.js |
| name = "car", |
| proto = "car_proto", |
| ) |
| |
| ts_project( |
| name = "test_lib", |
| testonly = True, |
| srcs = ["car.spec.ts"], |
| tsconfig = "tsconfig.json", |
| deps = [ |
| ":car", |
| "@npm//@types/jasmine", |
| "@npm//protobufjs", |
| ], |
| ) |
| |
| ts_project( |
| name = "app", |
| srcs = [ |
| "app.ts", |
| ], |
| tsconfig = "//:tsconfig.json", |
| deps = [ |
| ":car", |
| "@npm//protobufjs", |
| ], |
| ) |
| |
| jasmine_node_test( |
| name = "test", |
| deps = ["test_lib"], |
| ) |