Home

Awesome

Project replaced with DartSassBuilder

This project will be archived due to LibSass deprecation.

"LibSass is now deprecated—new projects should use Dart Sass instead." - https://sass-lang.com/libsass

LibSassBuilder

Inspired by Delegate.SassBuilder and LibSassHost

BuildNuGet Package.NET Global Tool
BuildNuget.NET Tool

LibSassBuilder

Nuget Package

LibSassBuilder NuGet package adds a build task to compile Sass files to .css. It's compatible with both MSBuild (VS) and dotnet build.

No configuration is required, it will compile the files implicitly on project build.

<PropertyGroup>
  <!-- outputstyle option -->
  <LibSassOutputStyle>compressed</LibSassOutputStyle>
  <LibSassOutputStyle Condition="'$(Configuration)' == 'Debug'">expanded</LibSassOutputStyle>
  <!-- level option -->
  <LibSassOutputLevel>verbose</LibSassOutputLevel>
  <!-- msbuild output level -->
  <LibSassMessageLevel>High</LibSassMessageLevel>
</PropertyGroup>
<PropertyGroup>
  <!-- take full-control -->
  <EnableDefaultSassItems>false</EnableDefaultSassItems>  
</PropertyGroup>

<ItemGroup>
  <!-- add files manually -->
  <SassFile Include="Vendor/**/*.scss" /> 
  <SassFile Include="Styles/**/*.scss" Exclude="Styles/unused/**" />
</ItemGroup>
<PropertyGroup>
  <!-- Take even more full-control -->
  <LibSassBuilderArgs>directory "$(MSBuildProjectDirectory)"</LibSassBuilderArgs>
  <!-- msbuild output level -->
  <LibSassMessageLevel>High</LibSassMessageLevel>
</PropertyGroup>

.NET Global Tool

Install:

dotnet tool install --global LibSassBuilder-Tool

Use:

lsb [optional-path] [options]
lsb help
lsb help directory
lsb help files

Generic options

-l, --level      Specify the level of output (silent, default, verbose)

--outputstyle    Specify the style of output (compressed, compact, nested, expanded)

Directory command (default)

Scans a directory recursively to generate .css files

-e, --exclude    (Default: bin obj logs node_modules) Specify explicit directories to exclude. Overrides the default.

--help           Display this help screen.

--version        Display version information.

value pos. 0     Directory in which to run. Defaults to current directory.

Example:

lsb directory
lsb directory sources/styles -e node_modules
lsb directory sources/styles -e node_modules -l verbose

Files in the following directories are excluded by default:

Files command (default)

Processes the files given on the commandline

--help           Display this help screen.

--version        Display version information.

value pos. 0     File(s) to process.

Example:

lsb files sources/style/a.scss sources/vendor/b.scss
lsb files sources/style/a.scss sources/vendor/b.scss -l verbose

Requirements

LibSassBuilder can be installed on any project, however the underlying build tool requires .NET 7 installed on the machine.

.NET 5 required with v1.x
.NET 6 required with v2.x

Support

The support is largely dependant on LibSassHost

This tool contains the following supporting packages:

Package as nuget package

./package.ps1 -PackageDir 'C:/LocalPackages' -Version '1.4.0.1'