# compileSass Compiles SCSS to compressed CSS, including official Sass `pkg:` package imports. ## actionConfig options - `filePath` (string, required): Input SCSS file path (computed from `jobConfig`). - `fileOutputPath` (string, required): Output CSS file path (computed from `jobConfig`). - `assetOutputDirsByExtension` (object, optional): Maps copied asset extensions to output dirs relative to `opts.outDir`. - `includeCssInDetail` (boolean, optional): When `true`, includes the compiled CSS text in `detail.css` for downstream template inlining. Defaults to `false`. Defaults to: - fonts (`.woff2`, `.woff`, `.ttf`, `.otf`, `.eot`) -> `static/fonts/` - `default` -> `static/assets/` ## Usage ```javascript action: compileSass, jobConfig: { inputFiles: [{ pattern: "styles/**/*.scss", ignore: "**/_*.scss" }], outputDir: "static/styles/", outputFileExtension: ".css" }, actionConfig: { includeCssInDetail: true, assetOutputDirsByExtension: { ".woff2": "static/fonts/", ".woff": "static/fonts/", default: "static/assets/" } } ``` ## Notes - `compileSass` enables Sass `NodePackageImporter` automatically, so `@use "pkg:@fontsource/overlock" as overlock;` works out of the box. - Relative `url(...)` assets that resolve against loaded Sass or CSS files are copied into the configured output dirs and rewritten to site-rooted URLs such as `/static/fonts/example.woff2`. - Dependency paths include loaded Sass/CSS files and any copied asset source files for cache invalidation. - `includeCssInDetail` is off by default so action state and caches do not carry CSS blobs unless a downstream template explicitly needs inline styles.