Node.js bindings to LibSass for compiling Sass/SCSS to CSS at high speed.
Node-sass is a library that provides native Node.js bindings to LibSass, the C implementation of the Sass preprocessor. It enables compilation of .scss and .sass files into CSS directly within Node.js applications, offering high performance and integration with JavaScript build tools. Note: The project is end-of-life and no longer maintained, with users advised to migrate to Dart Sass.
Node.js developers and teams using build tools like Grunt, Gulp, or Webpack who need to compile Sass/SCSS files into CSS as part of their JavaScript-based workflows. It's also for projects historically reliant on the speed of the LibSass C compiler.
Developers chose node-sass for its exceptional compilation speed due to native LibSass bindings and its seamless, synchronous and asynchronous API integration with the Node.js ecosystem. It provided extensive configuration options and custom importer/function support for complex preprocessing needs.
:rainbow: Node.js bindings to libsass
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages LibSass's C/C++ compiler for exceptionally fast Sass processing, as emphasized in the README's focus on speed and minimal abstraction.
Provides both synchronous `renderSync` for blocking operations and asynchronous `render` with callbacks, enabling seamless integration into diverse Node.js workflows.
Supports custom importers and functions, allowing developers to extend compilation with dynamic content or logic, as detailed in the experimental features section.
Includes a command-line interface with watch mode and recursive compilation, useful for direct file processing without additional build tools.
Officially deprecated and no longer receiving updates or security fixes, forcing migration to Dart Sass, as warned in the README's top banner.
Relies on pre-compiled binaries that can fail on unsupported platforms, leading to complex troubleshooting noted in the installation guide and need for node-gyp prerequisites.
Based on LibSass, which may not support newer Sass syntax and features available in Dart Sass, restricting modern development practices.
Tightly coupled with specific Node.js versions, as shown in the support table, causing potential breakages when upgrading Node and requiring manual checks.