scoped-sass-core 0.1.0

Core scoped Sass compiler used by the scoped-sass proc-macro crate
Documentation
  • Coverage
  • 100%
    11 out of 11 items documented2 out of 4 items with examples
  • Size
  • Source code size: 40.15 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 2.54 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 3m 11s Average build duration of successful builds.
  • all releases: 3m 11s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • decomoraes

scoped-sass-core

Core scoped Sass compiler used by scoped-sass.

Install

[dependencies]
scoped-sass-core = "0.1.0"

In Rust code, import it as scoped_sass_core.

This crate compiles Sass files, rewrites class selectors with a deterministic suffix, and returns:

  • transformed CSS
  • class name mapping (original -> scoped)
  • dependency list

It also caches compilation output in target/scoped_sass_cache (or equivalent target directory).

Main API

use scoped_sass_core::{compile_module_file, ScopedSassOptions};

let module = compile_module_file(
    "src/components/card.scss",
    ScopedSassOptions::default(),
)?;

Returned ScopedModule contains:

  • suffix
  • css
  • classes
  • dependencies

Options

ScopedSassOptions:

  • compressed (default: true)
  • suffix (optional fixed suffix)
  • suffix_len (default: 7, clamped to 4..=16)

Behavior

  • Detects Sass dependencies from @import, @use, and @forward.
  • Builds a dependency fingerprint from file paths + contents.
  • Reuses cached compiled output when fingerprint and options are unchanged.