Abstractions.Sass.CIBuild 1.1.59

dotnet add package Abstractions.Sass.CIBuild --version 1.1.59                
NuGet\Install-Package Abstractions.Sass.CIBuild -Version 1.1.59                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Abstractions.Sass.CIBuild" Version="1.1.59" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Abstractions.Sass.CIBuild --version 1.1.59                
#r "nuget: Abstractions.Sass.CIBuild, 1.1.59"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Abstractions.Sass.CIBuild as a Cake Addin
#addin nuget:?package=Abstractions.Sass.CIBuild&version=1.1.59

// Install Abstractions.Sass.CIBuild as a Cake Tool
#tool nuget:?package=Abstractions.Sass.CIBuild&version=1.1.59                

Sass Compiler

Based on and heavily influenced by the awsome WebCompiler by Mads Christensen. Compiles Sass/Scss files into CSS with cross-platform build support

What's new in the latest version

The compiler can now use DartSassHost in addition to LibSassHost, which is still the default. Use DartSassHost in order to make use of newer SASS/SCSS features that are not supported by the now depricated libsass.

To switch to dart-sass set the runtime parameter, either per file in sassconfig.json:

[
  {
    "outputFile": "wwwroot/site.css",
    "inputFile": "Styles/site.scss",
    "runtime": "LibSass"
  },
  {
    "outputFile": "wwwroot/someotherfile.css",
    "inputFile": "Styles/someotherfile.scss",
    "runtime": "DartSass"
  }
]

or globally in sassconfig.default.json:

{
  "sourceMap": false,
  "loadPaths": [],
  "style": "Expanded",
  "precision": 10,
  "lineFeed": "CrLf",
  "includeInProject": true,
  "runtime": "DartSass"
}

Key differences

  • Works with Visual Studio 2022
  • Only works with Sass/Scss files
  • No dependency on node; LibSassHost, or DartSassHost is used instead
  • CI builds works on Linux build hosts as well as Windows
  • Configuration files are simplified to reflect sass-only compilation
  • Errors point to the correct source file when even when they occurred in an import

Visual Studio etension

A Visual Studio extension that compiles Sass/Scss files. Works with Visual Studio 2022, and supports CI/CD with cross-platform build support

Download the extension at the Coming soon

Features

  • Compilation of Sass/Scss files
  • Saving a source file triggers re-compilation automatically
  • Specify compiler options for each individual file
  • Error List integration
  • MSBuild support for CI scenarios
  • Shows a watermark when opening a generated file
  • Shortcut to compile all specified files in solution

Getting started

Right-click any .scss or .sass file in Solution Explorer to setup compilation.

A file called sassconfig.json is created in the root of the project. This file lets you modify the behavior of the compiler.

Right-clicking the sassconfig.json file or the corresponding project lets you easily run all the configured compilers.

Compile on save

Any time either a .scss or .sass file or one of the configuration files (sassonfig.json or sassconfig.json.defaults) is saved, the compiler runs automatically to produce the compiled output file.

Compile on build / CI support

You can enable compilation as part of the build step. Simply right-click the sassconfig.json file or the corresponding project to enable it.

A PackageReference will be added to the project. We reccomend manually setting PrivateAssets = all. The NuGet package contains an MSBuild task that will run the exact same compilers on the sassconfig.json file in the root of the project.

Compile all

You can run the compiler on all sassconfig.json files in the solution by using the keyboard shortcut Shift+Alt+Y or by using the button on the top level Build menu.

Error list

When a compiler error occurs, the error list in Visual Studio will show the error and its exact location in the source file.

Source maps

Source maps are supported when enabled either in sassonfig.json or sassconfig.json.defaults.

sassconfig.json

The extension adds a sassconfig.json file at the root of the project which is used to configure the compilation.

Here's an example of what that file looks like:

[
  {
    "outputFile": "wwwroot/site.css",
    "inputFile": "Styles/site.scss"
  },
  {
    "outputFile": "wwwroot/someotherfile.css",
    "inputFile": "Styles/someotherfile.scss",
    "sourceMap": "true",
    "style": "Compact"
  }
]

Default values for sassconfig.json can be found in the sassconfig.json.defaults file in the same location.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 is compatible.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.1.59 1,167 11/13/2024
1.1.58 657 10/21/2024
1.1.57 405 10/19/2024
1.1.56 332 10/18/2024
1.1.55 262 10/18/2024
1.1.52 9,552 2/15/2022
1.1.50 456 2/15/2022
1.1.48 1,625 2/3/2022
1.1.47 443 2/3/2022
1.1.46 463 2/3/2022
1.1.45 423 2/3/2022
1.1.42 454 2/3/2022
1.1.40 437 2/3/2022
1.1.30 445 2/1/2022
1.1.29 441 2/1/2022
1.1.28 436 2/1/2022
1.1.27 432 2/1/2022