Add protobufjs as an external dependency.
BUILD.bazel
load("@better_rules_javascript//protobufjs:rules.bzl", configure_js_proto)
configure_js_proto(
name = "js_proto",
dep = "@npm//protobufjs:lib",
)
load("@better_rules_javascript//commonjs:rules.bzl", "cjs_root")
load("@better_rules_javascript//protobufjs:rules.bzl", "js_proto_library")
load("@rules_proto//proto:defs.bzl", "proto_library")
cjs_root(
descriptor = "package.json",
name = "root",
)
proto_library(
name = "proto",
srcs = glob(["**/*.proto"]),
)
js_proto_library(
module_name = "pb.js",
name = "proto_js",
root = ":root",
js_proto = "//:js_protojs",
deps = [":proto"],
)
JsProtobuf(runtime, bin)
FIELDS
Name | Description |
---|---|
runtime | Runtime dependencies |
bin | Executable |
js_proto(name, bin, runtime)
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
bin | - | Label | required | |
runtime | - | Label | required |
js_proto_library(name, deps, js_proto, output, root)
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
deps | Protobufs | List of labels | required | |
js_proto | Config | Label | required | |
output | - | Label | required | |
root | CommonJS root | Label | required |
configure_js_proto(name, dep, visibility)
PARAMETERS
Name | Description | Default Value |
---|---|---|
name | - |
none |
dep | - |
none |
visibility | - |
None |