{"id":25027,"library":"broccoli-sass-source-maps","title":"broccoli-sass-source-maps","description":"A Broccoli plugin for compiling SCSS and Sass files using Dart Sass or LibSass (via node-sass), with support for source maps (embedding sourcesContent). Version 4.3.0 is current, released May 2024, with slow release cadence (1-2 per year). Key differentiators: requires explicit Sass engine dependency, supports source maps by embedding sources, and offers options for silenceDeprecations and quietDeps. Designed for Ember and Broccoli-based build pipelines.","status":"active","version":"4.3.0","language":"javascript","source_language":"en","source_url":"https://github.com/adopted-ember-addons/broccoli-sass-source-maps","tags":["javascript","broccoli-plugin","sass","scss","css","libsass"],"install":[{"cmd":"npm install broccoli-sass-source-maps","lang":"bash","label":"npm"},{"cmd":"yarn add broccoli-sass-source-maps","lang":"bash","label":"yarn"},{"cmd":"pnpm add broccoli-sass-source-maps","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency – the Sass engine to compile files (Dart Sass or node-sass must be installed separately)","package":"sass","optional":false}],"imports":[{"note":"The factory function expects a Sass compiler instance (e.g., require('sass')). Forgetting to call with require('sass') breaks compilation.","wrong":"const compileSass = require('broccoli-sass-source-maps');","symbol":"default function","correct":"const compileSass = require('broccoli-sass-source-maps')(require('sass'));"},{"note":"Arguments are positional, not an options object. Common mistake: passing a single object instead of separate arguments.","wrong":"const outputTree = compileSass({inputTrees, inputFile: 'app.scss', outputFile: 'app.css', options});","symbol":"compileSass (returned)","correct":"const outputTree = compileSass(inputTrees, 'app.scss', 'app.css', options);"},{"note":"Fiber must be passed in the options hash, not to the require('sass') call. Passing it incorrectly does not speed up compilation.","wrong":"const Fiber = require('fibers'); const compileSass = require('broccoli-sass-source-maps')(require('sass')({fiber: Fiber}));","symbol":"Fiber option (Dart Sass)","correct":"const compileSass = require('broccoli-sass-source-maps')(require('sass')); const Fiber = require('fibers'); const tree = compileSass([...], 'in.scss', 'out.css', {fiber: Fiber});"}],"quickstart":{"code":"const compileSass = require('broccoli-sass-source-maps')(require('sass'));\nconst inputTrees = ['styles', 'vendor'];\nconst inputFile = 'myapp/app.scss';\nconst outputFile = 'assets/app.css';\nconst options = { outputStyle: 'compressed', sourceMap: true };\nconst outputTree = compileSass(inputTrees, inputFile, outputFile, options);\nmodule.exports = outputTree;","lang":"javascript","description":"Compiles SCSS with source maps using Dart Sass, demonstrating the required factory pattern and positional arguments."},"warnings":[{"fix":"Update Node to >= 10.24.1","message":"Requires Node >= 10.24.1","severity":"breaking","affected_versions":">=4.0.0"},{"fix":"Replace require('node-sass') with require('sass') and adjust options accordingly.","message":"LibSass (node-sass) is deprecated; use Dart Sass (sass) instead.","severity":"deprecated","affected_versions":">=4.0.0"},{"fix":"Use a post-processing step to correct source map paths, or accept that source maps point to wrong files.","message":"Source map paths are incorrect; only source content is embedded.","severity":"gotcha","affected_versions":">=4.0.0"},{"fix":"Ensure you do require('broccoli-sass-source-maps')(require('sass')) not just require('broccoli-sass-source-maps').","message":"The factory function must be called with a Sass compiler instance immediately.","severity":"gotcha","affected_versions":">=4.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Replace require('broccoli-sass-source-maps') with require('broccoli-sass-source-maps')(require('sass'))","cause":"Calling require('broccoli-sass-source-maps') without passing a Sass compiler.","error":"TypeError: compileSass is not a function"},{"fix":"Run npm install --save-dev sass (or node-sass)","cause":"Dart Sass not installed as a dependency.","error":"Error: Cannot find module 'sass'"},{"fix":"Wrap the tree path in an array: [tree] instead of a single string.","cause":"First argument must be an array of tree paths.","error":"TypeError: inputTrees is not iterable"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}