blob: 014cc36e87ac09e24d5213080092549ca3b84337 [file] [log] [blame]
"bzlmod declaration for bazel-contrib/rules_nodejs"
module(
name = "rules_nodejs",
compatibility_level = 1,
)
# Lower-bounds (minimum) versions for direct runtime dependencies
bazel_dep(name = "bazel_lib", version = "3.0.0")
bazel_dep(name = "bazel_features", version = "1.39.0")
bazel_dep(name = "bazel_skylib", version = "1.4.1")
bazel_dep(name = "platforms", version = "1.0.0")
bazel_dep(name = "rules_cc", version = "0.2.16") # to expose headers
# workaround for https://github.com/bazelbuild/bazel/issues/25124
bazel_dep(name = "zlib", version = "1.3.1.bcr.6", dev_dependency = True)
node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node")
# Note, this gets the default version of Node.js from
# https://github.com/bazel-contrib/rules_nodejs/blob/main/nodejs/repositories.bzl#L11
node.toolchain()
use_repo(node, "nodejs_toolchains")
# Toolchain registration under bzlmod should match the order of WORKSPACE registration
# which is the order specified in the PLATFORMS dict https://github.com/bazel-contrib/rules_nodejs/blob/4c373209b058d46f2a5f9ab9f8abf11b161ae459/nodejs/private/nodejs_toolchains_repo.bzl#L20.
# For each platform, `:<PLATFORM>_runtime_toolchain` should be registered before `:<PLATFORM>_toolchain`,
# https://github.com/bazel-contrib/rules_nodejs/blob/4c373209b058d46f2a5f9ab9f8abf11b161ae459/nodejs/repositories.bzl#L461/.
# See https://github.com/bazelbuild/bazel/issues/19645 and https://github.com/bazel-contrib/rules_nodejs/pull/3750 for more context.
register_toolchains("@nodejs_toolchains//:linux_amd64_runtime_toolchain")
register_toolchains("@nodejs_toolchains//:linux_amd64_toolchain")
register_toolchains("@nodejs_toolchains//:linux_arm64_runtime_toolchain")
register_toolchains("@nodejs_toolchains//:linux_arm64_toolchain")
register_toolchains("@nodejs_toolchains//:linux_s390x_runtime_toolchain")
register_toolchains("@nodejs_toolchains//:linux_s390x_toolchain")
register_toolchains("@nodejs_toolchains//:linux_ppc64le_runtime_toolchain")
register_toolchains("@nodejs_toolchains//:linux_ppc64le_toolchain")
register_toolchains("@nodejs_toolchains//:darwin_amd64_runtime_toolchain")
register_toolchains("@nodejs_toolchains//:darwin_amd64_toolchain")
register_toolchains("@nodejs_toolchains//:darwin_arm64_runtime_toolchain")
register_toolchains("@nodejs_toolchains//:darwin_arm64_toolchain")
register_toolchains("@nodejs_toolchains//:windows_amd64_runtime_toolchain")
register_toolchains("@nodejs_toolchains//:windows_amd64_toolchain")
register_toolchains("@nodejs_toolchains//:windows_arm64_runtime_toolchain")
register_toolchains("@nodejs_toolchains//:windows_arm64_toolchain")
############
# Dev dependencies
bazel_dep(name = "buildifier_prebuilt", version = "8.2.1.1", dev_dependency = True)
http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "npm_typescript",
build_file = "//:external/typescript.BUILD",
dev_dependency = True,
sha256 = "6e2faae079c9047aa921e8a307f0cec0da4dc4853e20bb31d18acc678f5bf505",
urls = ["https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz"],
)
http_archive(
name = "npm_types_node",
build_file = "//:external/types_node.BUILD",
dev_dependency = True,
sha256 = "6ef16adadc11a80601c023e1271887425c5c5c1867266d35493c7e92d7cc00fa",
urls = ["https://registry.npmjs.org/@types/node/-/node-16.18.23.tgz"],
)