Sass
The reference Dart implementation of Sass, the mature CSS preprocessor that compiles SCSS and indented syntax to standards-compliant CSS.
Repository Health
Technical Analysis
Sass (Syntactically Awesome Style Sheets) is the most widely used CSS preprocessor, and this package is its canonical reference implementation written in Dart and distributed on npm as JavaScript. It compiles the SCSS and indented Sass syntaxes down to plain CSS, adding variables, nesting, mixins, functions, partials, and a module system on top of ordinary stylesheets.
Available as both a command-line sass executable and an embeddable compilation API (compile, compileString, and their async variants), it powers the styling pipeline of countless build tools, design systems, and frameworks. With more than 28 million weekly npm downloads it is effectively the industry standard for authoring maintainable, DRY stylesheets at scale.
What You Get
- A
sasscommand-line executable that compiles files and whole directories, with--watchmode and source-map generation - An embeddable JavaScript/Dart API (
compile,compileString,compileAsync,compileStringAsync) for programmatic compilation inside build pipelines - Full support for the modern module system (
@use,@forward) alongside the SCSS and indented Sass syntaxes - A rich built-in function library for color, math, string, list, and map manipulation
- Custom importers and custom functions so host applications can hook their own resolution and logic into compilation
Common Use Cases
- Authoring maintainable design systems with shared variables, mixins, and reusable partials
- Integrating with bundlers such as Webpack (sass-loader), Vite, and Parcel to compile styles at build time
- Compiling stylesheets on the command line during local development with live
--watchrebuilds - Generating production CSS with compressed output and accurate source maps for debugging
Under The Hood
Architecture — Dart Sass is structured as a classic compiler pipeline under lib/src: source text is tokenized and parsed (lib/src/parse) into an abstract syntax tree (lib/src/ast), evaluated by a tree-walking visitor (lib/src/visitor/evaluate.dart) that resolves variables, mixins, modules, and the @extend machinery (lib/src/extend), and finally serialized to CSS (lib/src/visitor/serialize.dart). The public compile/compileString entry points in lib/sass.dart delegate to lib/src/compile.dart, importers are pluggable via lib/src/importer, and cross-cutting concerns like value types, functions, and logging live in dedicated lib/src/value, lib/src/functions, and lib/src/logger directories.
Tech Stack — The engine is written in Dart (SDK >=3.6.0) and compiled to JavaScript for npm distribution. Core dependencies include args and cli_repl for the CLI, source_maps/source_span for source maps and diagnostics, string_scanner and charcode for lexing, protobuf for the embedded-compiler protocol, and js/node_interop for the JS bridge. A distinctive detail is that synchronous files such as compile.dart are code-generated from their async counterparts via tool/grind/synchronize.dart, keeping the sync and async APIs in lockstep.
Code Quality — The codebase is mature and disciplined: roughly 59 Dart test files under test/ cover the Dart API, CLI, compressed output, deprecations, doc comments, and the embedded protocol, and generated files carry checksums to guard against manual edits drifting from their sources. Strong static analysis (analysis_options.yaml, lints), consistent MIT license headers, and clear module boundaries reflect a project maintained to reference-implementation standards.
API Design — The public surface is deliberately small and ergonomic: four compile functions (compile, compileString, compileAsync, compileStringAsync) cover file and string input in sync and async forms, returning a structured CompileResult. Custom importers and custom functions offer well-typed extension points, and the CLI mirrors the library so the same engine is reachable from a terminal or a build script with minimal boilerplate.
Used by 108 apps in this directory
Hoppscotch
Developer Tools
A lightweight, offline-capable API development ecosystem for testing HTTP, GraphQL, WebSocket, MQTT, and SSE endpoints across web, desktop, and CLI.
Huly Platform
Collaboration · Project Management · Team Chat
Open-source all-in-one workspace that replaces Linear, Jira, Slack, and Notion for product and engineering teams.
HyperDX
Analytics · Developer Tools · Monitoring
Open source observability platform that unifies logs, traces, metrics, and session replays on ClickHouse — now the core of ClickStack.
Invoice Ninja
Invoicing Finance · Project Management
Self-hostable invoicing, time-tracking, and multi-gateway payment platform for freelancers and small businesses, with built-in e-invoicing compliance for EU and global standards.
Jan
AI Assistants
Run LLMs 100% locally with full privacy, or connect to cloud AI — your machine, your data, your control.
Jitsi Meet
Collaboration · Team Chat · Video Conferencing
Open-source, end-to-end encrypted video conferencing you can self-host or embed into any web or mobile app.
Joplin
Note Taking
The privacy-first, open-source note-taking app with end-to-end encrypted sync, AI assistance, and a powerful plugin ecosystem across every platform.
Keep
Automation · Devops · Monitoring
The open-source AIOps and alert management platform that unifies 130+ monitoring tools into a single pane of glass with AI-powered correlation, deduplication, and workflow automation.
Kestra
Automation · Data Engineering · Devops
Event-driven orchestration platform for data, AI, and infrastructure workflows — define everything in YAML, run anywhere at scale.