Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Isass Processor

Purpose

Compiles Sass and SCSS files to CSS. Native (in-process, using the grass compiler; no external tools required). An in-process alternative to sass.

How It Works

Each .scss or .sass file under src_dirs is compiled to a .css file under output_dir, keeping its path relative to the source directory:

sass/style.scss             ->  out/processor.generator.isass/style.css
sass/components/button.scss ->  out/processor.generator.isass/components/button.css

@use and @import resolve relative to the importing file. Compile errors fail the product with grass’s message.

Declare the sass analyzer alongside this processor. It makes every file a stylesheet loads (@use, @forward, @import, transitively) an input of that stylesheet. Without it, a product’s only input is its own source file: editing a partial does not rebuild the stylesheets that use it, and they keep their old CSS.

Like the sass command line, partials are not compiled: a file whose name starts with _ (_vars.scss) exists to be @used by other stylesheets and gets no .css of its own. Set skip_partials = false to compile every matching file, partials included.

Source Files

  • Input: .scss and .sass files under src_dirs
  • Output: out/processor.generator.isass/ mirroring the source structure, with .css extension

The default src_dirs is empty, so a stanza with no src_dirs or src_files compiles nothing.

Configuration

[processor.generator.isass]
src_dirs = ["sass"]

[analyzer.sass]
KeyTypeDefaultDescription
src_dirsstring[][]Directories to scan
src_extensionsstring[][".scss", ".sass"]File extensions to compile
output_dirstring"out/processor.generator.isass"Output directory
skip_partialsbooltrueLeave files whose name starts with _ (partials) out of discovery, as the sass CLI does. false compiles every matching file
dep_inputsstring[][]Extra files whose changes rebuild every product

Batch support

Each input file is processed individually, producing its own output file.

Clean behavior

This processor is a Generator — rsconstruct clean outputs removes each declared output file individually with no directory recursion. After all per-product cleans complete, the orchestrator removes any parent directories that are now empty. Pass --no-empty-dirs to keep them. See Clean behavior and rsconstruct clean.