Bazel rules for CSS, SASS, and related technologies.
- Flexibility and extensibility
- Performance
- Bazel idioms
- Clear factorization
- languages
- SASS
- dev
- Stardoc
- CI
package.json
{}lib.scss
button { border: 1px solid red; }styles.scss
@import "lib"; body { margin: 0; }BUILD.bazel
load("@better_rules_css//sass:rules.bzl", "sass_bundle", "sass_library") load("@better_rules_javascript//commonjs:rules.bzl", "cjs_root") # SASS bundle sass_bundle( compiler = "//:sassc", dep = ":styles", main = "styles.scss", name = "css", ) # SASS library sass_library( name = "lib", root = ":root", srcs = ["lib.scss"], ) # package root cjs_root( descriptors = ["package.json"], name = "root", package_name = "example", ) # SASS library sass_library( deps = [":lib"], name = "styles", root = ":root", srcs = ["styles.scss"], out = "styles.css", )Running
bazel build :css cat bazel-bin/styles.cssoutputs
button { border: 1px solid red; } body { margin: 0; }See auto-generated Stardoc documentation.