AspNetCore.SassCompiler
1.55.0
See the version list below for details.
dotnet add package AspNetCore.SassCompiler --version 1.55.0
NuGet\Install-Package AspNetCore.SassCompiler -Version 1.55.0
<PackageReference Include="AspNetCore.SassCompiler" Version="1.55.0" />
paket add AspNetCore.SassCompiler --version 1.55.0
#r "nuget: AspNetCore.SassCompiler, 1.55.0"
// Install AspNetCore.SassCompiler as a Cake Addin #addin nuget:?package=AspNetCore.SassCompiler&version=1.55.0 // Install AspNetCore.SassCompiler as a Cake Tool #tool nuget:?package=AspNetCore.SassCompiler&version=1.55.0
AspNetCore.SassCompiler
Sass Compiler Library for .NET Core 3.1/5.x./6.x without node.
Installation
The installation of this package is quite simple, you can install this package using NuGet with the following command:
# Package Manager
PM> Install-Package AspNetCore.SassCompiler
# .NET CLI
dotnet add package AspNetCore.SassCompiler
Configuration
After adding the package, the Sass styles from the SourceFolder (defaults to: Styles) will automatically be compiled into .css
files in the TargetFolder (defaults to: wwwroot\css) on build.
You can also adjust the default configuration in the appsettings.json or sasscompiler.json, do note that when using appsettings.json
the configuration needs to be nested under a "SassCompiler" property, but when you're using sasscompiler.json
the settings should not be nested.
Available options
Name | Default value | Description |
---|---|---|
SourceFolder | "Styles" | The folder where all the .scss files reside |
TargetFolder | "wwwroot/css" | The folder to output the generated .css files to |
Arguments | "--error-css" | Arguments passed to the dart-sass executable |
GenerateScopedCss | true | Enable/disable support for scoped scss |
ScopedCssFolders | ["Views", "Pages", "Shared", "Components"] | The folders in which .scss files are considered for scoped css |
IncludePaths | [] | Add folders to search in when importing modules |
Examples
<details open> <summary>appsettings.json</summary>
{
"SassCompiler": {
"SourceFolder": "Styles",
"TargetFolder": "wwwroot/css",
"Arguments": "--style=compressed",
"GenerateScopedCss": true,
"ScopedCssFolders": ["Views", "Pages", "Shared", "Components"],
"IncludePaths": [],
// You can override specific options based on the build configuration
"Configurations": {
"Debug": { // These options apply only to Debug builds
"Arguments": "--style=expanded"
}
}
}
}
</details>
<details> <summary>sasscompiler.json</summary>
{
"SourceFolder": "Styles",
"TargetFolder": "wwwroot/css",
"Arguments": "--style=compressed",
"GenerateScopedCss": true,
"ScopedCssFolders": ["Views", "Pages", "Shared", "Components"],
"IncludePaths": [],
// You can override specific options based on the build configuration
"Configurations": {
"Debug": { // These options apply only to Debug builds
"Arguments": "--style=expanded"
}
}
}
</details>
Sass watcher
To use the Sass watcher in your project, you must add the following code to your startup.cs:
public void ConfigureServices(IServiceCollection services)
{
#if DEBUG
services.AddSassCompiler();
#endif
}
We recommend adding the #if DEBUG
statement to only use a watcher during debug mode.
Note: The Sass watcher is currently not supported inside of a docker container. This should only be an issue when you're developing inside of a docker container, running the published application in docker is supported as the compiler is automatically run during the MSBuild publish step. See this issue for the progress.
Blazor WASM
If you use this with Blazor WebAssembly and want to customize the settings you need to use the sasscompiler.json, using appsettings.json is not supported. The sass watcher is currently not supported for Blazor WebAssembly projects, the MSBuild task is still available and will compile your scss during build and publish.
Publish
This library also includes an MSBuild task that runs during the publish of your application. Because of this you don't need to include the Sass Watcher in your release builds and you can safely add the generated .css files to the .gitignore file as they are regenerated during publish.
Examples
To provide you with examples, a configured version of a .NET 5.0 project and a configured .NET 6.0 Blazor app are added in the /Samples folder. Please see the link below for quick access
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. 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 is compatible. |
.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 was computed. 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. |
-
.NETCoreApp 3.1
- Microsoft.Extensions.Configuration.Binder (>= 3.1.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 3.1.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 3.1.0)
- Microsoft.Extensions.Options (>= 3.1.0)
-
net5.0
- Microsoft.Extensions.Configuration.Binder (>= 3.1.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 3.1.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 3.1.0)
- Microsoft.Extensions.Options (>= 3.1.0)
-
net6.0
- Microsoft.Extensions.Configuration.Binder (>= 3.1.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 3.1.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 3.1.0)
- Microsoft.Extensions.Options (>= 3.1.0)
NuGet packages (19)
Showing the top 5 NuGet packages that depend on AspNetCore.SassCompiler:
Package | Downloads |
---|---|
JJMasterData.Web
JJMasterData is a codeless CRUD Generator from database metadata. This package contains the Data Dictionary Razor Class Library with all necessary packages. |
|
Enter.Ui
Package Description |
|
ThePensionsRegulator.GovUk.Frontend
Based on the GOV.UK Design System and GovUk.Frontend.AspNetCore. Adds extra features and components. |
|
ThePensionsRegulator.GovUk.Frontend.Umbraco
GOV.UK Design System components implemented using the block list editor in Umbraco, and classes used to build applications based on these components. |
|
ThePensionsRegulator.Frontend.Umbraco
Umbraco support for components targeted at The Pensions Regulator. |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on AspNetCore.SassCompiler:
Repository | Stars |
---|---|
dotnetcore/BootstrapBlazor
A set of enterprise-class UI components based on Bootstrap and Blazor
|
Version | Downloads | Last updated |
---|---|---|
1.77.8 | 9,538 | 7/12/2024 |
1.77.5 | 13,561 | 6/12/2024 |
1.77.4 | 2,900 | 6/3/2024 |
1.77.3 | 2,323 | 5/30/2024 |
1.77.2 | 10,198 | 5/17/2024 |
1.77.1 | 9,051 | 5/11/2024 |
1.77.0 | 367 | 5/10/2024 |
1.75.0 | 18,199 | 4/12/2024 |
1.74.1 | 12,034 | 4/4/2024 |
1.72.0 | 31,709 | 3/14/2024 |
1.71.1.1 | 14,447 | 3/1/2024 |
1.71.1 | 9,590 | 2/24/2024 |
1.71.0 | 3,549 | 2/16/2024 |
1.70.0 | 26,603 | 1/18/2024 |
1.69.7 | 15,171 | 1/3/2024 |
1.69.5 | 72,898 | 10/26/2023 |
1.69.3 | 12,209 | 10/12/2023 |
1.69.2 | 755 | 10/11/2023 |
1.69.1 | 975 | 10/10/2023 |
1.68.0 | 13,111 | 9/21/2023 |
1.67.0 | 2,454 | 9/15/2023 |
1.66.0 | 22,539 | 8/18/2023 |
1.64.2 | 16,852 | 8/1/2023 |
1.64.1 | 2,515 | 7/22/2023 |
1.64.0 | 4,857 | 7/20/2023 |
1.63.6 | 46,539 | 6/22/2023 |
1.63.5 | 5,564 | 6/21/2023 |
1.63.3 | 7,051 | 6/12/2023 |
1.63.2 | 644 | 6/8/2023 |
1.62.1 | 40,176 | 4/26/2023 |
1.61.0 | 14,530 | 4/7/2023 |
1.60.0 | 4,146 | 3/25/2023 |
1.59.3 | 3,389 | 3/16/2023 |
1.58.1 | 32,992 | 2/15/2023 |
1.58.0 | 6,660 | 2/1/2023 |
1.57.1 | 18,013 | 12/20/2022 |
1.56.2 | 2,010 | 12/9/2022 |
1.56.1 | 7,400 | 11/21/2022 |
1.55.0 | 15,345 | 9/22/2022 |
1.54.9 | 2,751 | 9/8/2022 |
1.54.8 | 2,313 | 9/1/2022 |
1.54.6 | 729 | 8/30/2022 |
1.54.5.1 | 3,845 | 8/22/2022 |
1.54.5 | 1,646 | 8/21/2022 |
1.54.4.1 | 2,631 | 8/16/2022 |
1.54.4 | 1,115 | 8/11/2022 |
1.54.3 | 2,149 | 8/5/2022 |
1.54.1 | 941 | 8/3/2022 |
1.54.0 | 7,318 | 7/23/2022 |
1.53.0 | 9,264 | 7/1/2022 |
1.52.3 | 2,941 | 6/9/2022 |
1.52.2 | 1,556 | 6/3/2022 |
1.52.1.2 | 2,346 | 5/26/2022 |
1.52.1.1 | 1,229 | 5/23/2022 |
1.52.1 | 1,934 | 5/21/2022 |
1.52.0 | 583 | 5/20/2022 |
1.51.0.4 | 1,466 | 5/9/2022 |
1.51.0.3 | 697 | 5/5/2022 |
1.51.0.2 | 794 | 5/3/2022 |
1.51.0.1 | 6,278 | 5/2/2022 |
1.51.0 | 15,854 | 4/26/2022 |
1.50.1 | 926 | 4/19/2022 |
1.50.0.1 | 1,319 | 4/11/2022 |
1.50.0 | 1,588 | 4/7/2022 |
1.49.11 | 564 | 4/6/2022 |
1.49.9 | 5,021 | 2/25/2022 |
1.49.8 | 962 | 2/19/2022 |
1.49.7 | 2,745 | 2/3/2022 |
1.49.4 | 1,140 | 2/1/2022 |
1.49.0 | 1,121 | 1/19/2022 |
1.48.0 | 658 | 1/13/2022 |
1.47.0 | 946 | 1/10/2022 |
1.45.2 | 2,895 | 12/31/2021 |
1.45.1 | 1,104 | 12/21/2021 |
1.45.0.1 | 348 | 12/19/2021 |
1.45.0 | 890 | 12/11/2021 |
1.44.0.1 | 414 | 12/10/2021 |
1.43.5 | 3,054 | 11/25/2021 |
1.43.4 | 1,137 | 10/27/2021 |
1.43.3 | 530 | 10/22/2021 |
1.43.2 | 640 | 10/14/2021 |
1.43.1 | 605 | 10/6/2021 |
1.42.1.1 | 579 | 9/29/2021 |
1.42.1 | 470 | 9/22/2021 |
1.42.0 | 429 | 9/21/2021 |
1.41.1 | 431 | 9/17/2021 |
1.41.0 | 400 | 9/15/2021 |
1.40.0 | 355 | 9/14/2021 |
1.39.2 | 490 | 9/10/2021 |
1.39.0 | 457 | 9/9/2021 |
1.0.4 | 2,199 | 8/12/2021 |
1.0.3 | 475 | 6/22/2021 |
1.0.2 | 493 | 6/17/2021 |
1.0.1 | 421 | 6/15/2021 |
1.0.0 | 413 | 6/14/2021 |
0.1.0 | 672 | 6/10/2021 |