README.md 1.6 KB

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

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.