WARNING: this is beta-quality software. Breaking changes are likely. Not recommended for production use without expert support.
The Less rules run the Less CSS preprocessor with Bazel.
Add the @bazel/less npm package to your devDependencies in package.json.
Your WORKSPACE should declare a yarn_install or npm_install rule named npm. It should then install the rules found in the npm packages using the install_bazel_dependencies function. See https://github.com/bazelbuild/rules_nodejs/#quickstart
This causes the @bazel/less package to be installed as a Bazel workspace named npm_bazel_less.
If you didn‘t use the yarn_install or npm_install rule to create an npm workspace, you’ll have to declare a rule in your root BUILD.bazel file to execute less:
# Create a less rule to use in less_binary#compiler # attribute when using self-managed dependencies nodejs_binary( name = "less_bin", entry_point = "//:node_modules/less/bin/lessc", # Point bazel to your node_modules to find the entry point node_modules = ["//:node_modules"], )
less_binary(name, compiler, deps, sourcemap, src)
name(name, mandatory): A unique name for this target.
compiler(label): Label that points to the lessc binary to run. If you install your npm packages to a workspace named something other than “npm”, you may need to set this to @my_npm_name//@bazel/less/bin:less
deps(labels)
sourcemap(Boolean): Generates a sourcemap
src(label, mandatory)