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
<PackageReference Include="Abstractions.Sass.CIBuild" Version="1.1.59" />
paket add Abstractions.Sass.CIBuild --version 1.1.59
#r "nuget: Abstractions.Sass.CIBuild, 1.1.59"
// 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 | Versions 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. |
-
.NETFramework 4.8
- DartSassHost (>= 1.0.14)
-
.NETStandard 2.0
- DartSassHost (>= 1.0.14)
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 | 200 | 11/13/2024 |
1.1.58 | 512 | 10/21/2024 |
1.1.57 | 328 | 10/19/2024 |
1.1.56 | 270 | 10/18/2024 |
1.1.55 | 202 | 10/18/2024 |
1.1.52 | 8,590 | 2/15/2022 |
1.1.50 | 446 | 2/15/2022 |
1.1.48 | 1,613 | 2/3/2022 |
1.1.47 | 433 | 2/3/2022 |
1.1.46 | 451 | 2/3/2022 |
1.1.45 | 413 | 2/3/2022 |
1.1.42 | 442 | 2/3/2022 |
1.1.40 | 427 | 2/3/2022 |
1.1.30 | 435 | 2/1/2022 |
1.1.29 | 431 | 2/1/2022 |
1.1.28 | 426 | 2/1/2022 |
1.1.27 | 422 | 2/1/2022 |