| # gazelle:map_kind bzl_library bzl_library @bazel_lib//:bzl_library.bzl |
| load("@bazel_lib//:bzl_library.bzl", "bzl_library") |
| load("//nodejs/private:nodejs_toolchains_repo.bzl", "PLATFORMS") |
| load("//nodejs/private:user_build_settings.bzl", "user_args") |
| |
| package(default_visibility = ["//visibility:public"]) |
| |
| bzl_library( |
| name = "providers", |
| srcs = ["providers.bzl"], |
| deps = [ |
| "//nodejs/private/providers:stamp_setting_info", |
| "//nodejs/private/providers:user_build_settings", |
| ], |
| ) |
| |
| bzl_library( |
| name = "repositories", |
| srcs = ["repositories.bzl"], |
| deps = [ |
| "//nodejs/private:node_versions", |
| "//nodejs/private:nodejs_repo_host_os_alias", |
| "//nodejs/private:nodejs_toolchains_repo", |
| "//nodejs/private:os_name", |
| ], |
| ) |
| |
| bzl_library( |
| name = "toolchain", |
| srcs = ["toolchain.bzl"], |
| ) |
| |
| bzl_library( |
| name = "extensions", |
| srcs = ["extensions.bzl"], |
| deps = ["repositories"], |
| ) |
| |
| # This is the target rule authors should put in their "toolchains" |
| # attribute in order to get a node interpreter for the correct |
| # platform. |
| # See https://docs.bazel.build/versions/main/toolchains.html#writing-rules-that-use-toolchains |
| toolchain_type(name = "toolchain_type") |
| |
| [ |
| platform( |
| name = key, |
| constraint_values = values.compatible_with, |
| ) |
| for key, values in PLATFORMS.items() |
| ] |
| |
| # Default arguments/flags that are passed to nodejs in all nodejs_binary and |
| # nodejs_test targets. Can be overwritten by settings |
| # --@rules_nodejs//nodejs:default_args="--flag1 --flag2" |
| user_args( |
| name = "default_args", |
| build_setting_default = "--preserve-symlinks", |
| ) |