Public API for toolchains
These provide platform-specific tool binaries for rules to consume and use. They are mostly useful for authors of custom rules, and aren't exposed to end-users.
See https://docs.bazel.build/versions/main/toolchains.html
USAGE
Defines a cypress toolchain.
For usage see https://docs.bazel.build/versions/main/toolchains.html#defining-toolchains.
ATTRIBUTES
(Name, mandatory): A unique name for this target.
(Label): A hermetically downloaded cypress executable binary for the target platform.
Defaults to None
(String): Path to an existing cypress executable for the target platform.
Defaults to ""
(Label): A hermetically downloaded cypress filegroup of all cypress binary files for the target platform. Must be set when cypress_bin is set.
Defaults to None
USAGE
Defines a node toolchain.
For usage see https://docs.bazel.build/versions/main/toolchains.html#defining-toolchains.
ATTRIBUTES
(Name, mandatory): A unique name for this target.
(Label): A hermetically downloaded nodejs executable target for the target platform.
Defaults to None
(String): Path to an existing nodejs executable for the target platform.
Defaults to ""
USAGE
Creates an external repository with a node_toolchain //:toolchain target properly configured.
ATTRIBUTES
(Name, mandatory): A unique name for this repository.
(Dictionary: String -> String, mandatory): A dictionary from local repository name to global repository name. This allows controls over workspace dependency resolution for dependencies of this repository.For example, an entry "@foo": "@bar" declares that, for any time this repository depends on @foo (such as a dependency on @foo//some:target, it should actually resolve that dependency within globally-declared @bar (@bar//some:target).
(Label): Target for a downloaded nodejs binary for the target os.
Defaults to None
(String): Absolute path to a pre-installed nodejs binary for the target os.
Defaults to ""
USAGE
Configures esbuild toolchains for a list of supported platforms
PARAMETERS
unused
Defaults to ""
dict of platforms to configure toolchains for
Defaults to {}
USAGE
Repository rule used to install cypress binary.
PARAMETERS
Name of the external workspace where the cypress binary lives
Version of cypress binary to use. Should match package.json
(Optional) URLs at which the cypress binary for linux distros of linux can be downloaded. If omitted, https://cdn.cypress.io/desktop will be used.
Defaults to []
(Optional) SHA-256 of the linux cypress binary
Defaults to ""
(Optional) URLs at which the cypress binary for darwin can be downloaded. If omitted, https://cdn.cypress.io/desktop will be used.
Defaults to []
(Optional) SHA-256 of the darwin cypress binary
Defaults to ""
(Optional) URLs at which the cypress binary for darwin arm64 can be downloaded. If omitted, https://cdn.cypress.io/desktop will be used (note: as of this writing (11/2021), Cypress does not have native arm64 builds, and this URL will link to the x86_64 build to run under Rosetta).
Defaults to []
(Optional) SHA-256 of the darwin arm64 cypress binary
Defaults to ""
(Optional) URLs at which the cypress binary for windows distros of linux can be downloaded. If omitted, https://cdn.cypress.io/desktop will be used.
Defaults to []
(Optional) SHA-256 of the windows cypress binary
Defaults to ""
USAGE
Helper for fetching and setting up the esbuild versions and toolchains
This uses Bazel's downloader (via http_archive) to fetch the esbuild package from npm, separately from any npm_install/yarn_install in your WORKSPACE. To configure where the download is from, you make a file containing a rewrite rule like
rewrite (registry.nodejs.org)/(.*) artifactory.build.internal.net/artifactory/$1/$2
You can find some documentation on the rewrite patterns in the Bazel sources: UrlRewriterConfig.java
Then use the --experimental_downloader_config Bazel option to point to your file. For example if you created .bazel_downloader_config you might add to your .bazelrc file:
common --experimental_downloader_config=.bazel_downloader_config
PARAMETERS
currently unused
Defaults to ""
the name of the repository where the @bazel/esbuild package is installed by npm_install or yarn_install.
Defaults to "npm"
additional args to pass to the npm install rule
Defaults to []