API docs for Toolchain support.
When you call nodejs_register_toolchains()
in your WORKSPACE
file it will setup a node toolchain for executing tools on all currently supported platforms.
If you have an advanced use-case and want to use a version of node not supported by this repository, you can also register your own toolchains.
To run a custom toolchain (i.e., to run a node binary not supported by the built-in toolchains), you’ll need four things:
1) A rule which can build or load a node binary from your repository
(a checked-in binary or a build using a relevant rules_foreign_cc
build rule will do nicely).
2) A nodejs_toolchain
rule which depends on your binary defined in step 1 as its node
.
3) A toolchain
rule that depends on your nodejs_toolchain
rule defined in step 2 as its toolchain
and on @rules_nodejs//nodejs:toolchain_type
as its toolchain_type
. Make sure to define appropriate platform restrictions as described in the
documentation for the toolchain
rule.
4) A call to the register_toolchains
function in your WORKSPACE
that refers to the toolchain
rule defined in step 3.
Examples of steps 2-4 can be found in the documentation for nodejs_toolchain
.
If necessary, you can substitute building the node binary as part of the build with using a locally installed version by skipping step 1 and replacing step 2 with:
2) A nodejs_toolchain
rule which has the path of the system binary as its node_path