blob: ab8f45573a2d969f8d07437840ae1ef0a3bbea13 [file]
bazel_dep(name = "aspect_rules_js")
bazel_dep(name = "bazel_skylib", version = "1.8.2")
bazel_dep(name = "diff.bzl", version = "0.4.3")
bazel_dep(name = "protobuf", version = "33.4") # Works with Bazel 7-9
bazel_dep(name = "rules_nodejs", version = "6.7.3")
local_path_override(
module_name = "aspect_rules_js",
path = "../..",
)
node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node")
node.toolchain(node_version_from_nvmrc = "//:.nvmrc")
pnpm = use_extension("@aspect_rules_js//npm:extensions.bzl", "pnpm")
pnpm.pnpm(pnpm_version_from = "//:package.json")
use_repo(pnpm, "pnpm")
npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm")
npm.npm_translate_lock(
name = "npm",
npmrc = "//:.npmrc",
pnpm_lock = "//:pnpm-lock.yaml",
)
use_repo(npm, "npm")
http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
# The usual way to obtain the protoc plugins below is to use the
# @protocolbuffers/protoc-gen-js and grpc-tools packages. However, both
# packages download the plugins using a post-install script, and this is not
# easy to accommodate in Bazel. Instead, we just download the release binaries
# directly.
http_archive(
name = "protobuf-javascript",
build_file_content = """filegroup(
name = \"protoc-gen-js\",
srcs = [\"bin/protoc-gen-js\"],
visibility = [\"//visibility:public\"],
)
""",
dev_dependency = True,
integrity = "sha256-HclFw2NR1qZfmvwUQjlDNuesMl9+HCf4bKmdqn/qKRc=",
url = "https://github.com/protocolbuffers/protobuf-javascript/releases/download/v4.0.2/protobuf-javascript-4.0.2-linux-x86_64.tar.gz",
)
http_archive(
name = "grpc-tools",
build_file_content = """filegroup(
name = \"grpc_node_plugin\",
srcs = [\"bin/grpc_node_plugin\"],
visibility = [\"//visibility:public\"],
)
""",
dev_dependency = True,
integrity = "sha256-1Lrryfk1b5tkoheXhjfiJ8rzQpwJFmmgC7TizLvfmps=",
url = "https://node-precompiled-binaries.grpc.io/grpc-tools/v1.12.4/linux-x64.tar.gz",
)
register_toolchains("//tools/toolchains:all")