-
Notifications
You must be signed in to change notification settings - Fork 523
Migrating to 5.0
Prior to 5.0, the build_bazel_rules_nodejs workspace had zero starlark dependencies, because transitive handling of them in WORKSPACE was so difficult for users to get right.
However now that Bazel 5.0 has bzlmod to manage these transitive dependencies, we feel it's the right time to add dependencies.
(Documentation for using rules_nodejs with bzlmod will be added soon)
You need to update your WORKSPACE file to install the dependencies. Note that WORKSPACE ordering is critical, so if you need to override versions of rules_nodejs dependencies, you must do it before this code.
load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
rules_nodejs_dependencies()
Next, you can remove usage of node_repositories, which is now deprecated.
load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "nodejs_register_toolchains")
nodejs_register_toolchains(
# You can choose whatever name you like for the node toolchains, or register more than one version.
name = "nodejs",
)You'll have to continue using node_repositories for now. Follow https://github.com/bazelbuild/rules_nodejs/issues/3175 for a migration path.
Youll have to continue using node_repositories` for now. We would like to remove this feature. Please tell us in https://github.com/bazelbuild/rules_nodejs/issues/3176 if you still rely on it.
Default version of Node is now X and Yarn is Y to continue using the previous default: Z
The toolchain name is now controlled by the WORKSPACE file. The hard-coded @nodejs repo no longer exists.
In the examples below, we assume you used name "my_node" in your call to nodejs_register_toolchains.
If you explicitly used a label like @nodejs//:node, you can find a platform-specific variant at @my_node_linux_amd64//:node.
Custom rules should now use @rules_nodejs//nodejs:toolchain_type to request a nodejs toolchain.
Genrules should now use @my_node_toolchains//:resolved_toolchain.
See e2e/core for example of using the toolchain.
@bazel/angular is a minimal plugin for the Angular CLI builders system (aka. architect) teaching the ng command how to spawn bazel for build and test steps.
It has been moved from this repo and can now be found in https://github.com/just-jeb/angular-builders Thanks to @just-jeb for taking on maintenance of this code!
The @bazel/labs package has been removed, and is no longer published to npm. This repo doesn't contain support for protocol buffers or gRPC.
The ts_library rule is now in the @bazel/concatjs package.
The concatjs package is now in "maintenance mode". Since no one from Google participates in rules_nodejs, it has been impossible for us to keep this code up-to-date with what Google develops internally, and it is a complex package that OSS maintainers don't have time for.