Dm.Web.BuildStatic
1.0.3
dotnet tool install --global Dm.Web.BuildStatic --version 1.0.3
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
dotnet tool install --local Dm.Web.BuildStatic --version 1.0.3
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Dm.Web.BuildStatic&version=1.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
nuke :add-package Dm.Web.BuildStatic --version 1.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
🛠️ .NET Pre-build tool for static resources
Install
Install as a .NET tool:
dotnet tool install --global Dm.Web.BuildStatic
Usage
CLI:
Dm.Web.BuildStatic [config.json]
# OR
Dm.Web.BuildStatic # Uses dm.web.build.static.json config by default
Pre-build step:
<Target Name="BuildStatic" BeforeTargets="PreBuildEvent">
<Exec Command="Dm.Web.BuildStatic" />
<Exec Command="Dm.Web.BuildStatic PreBuild/config.json" />
</Target>
Config format
{
"use": {
"list": "Dm.Web.BuildStatic.Services.Stages.FilesSource+Builder",
"each": "Dm.Web.BuildStatic.Services.Stages.ForEach+Builder",
"copy": "Dm.Web.BuildStatic.Services.Stages.FileCopy+Builder",
"minjs": "Dm.Web.BuildStatic.Services.Stages.MinifyJS+Builder",
"gzip": "Dm.Web.BuildStatic.Services.Stages.GzipStream+Builder",
"sprite":"Dm.Web.BuildStatic.Services.Stages.SVGSprite+Builder"
},
"pipelines": [
{
"list": "TestStatic/js/**/*.js",
"each": "string",
"copy": "{path}.gz",
"minjs": null,
"gzip": "Optimal"
},
{
"list": "TestStatic/css/*.css",
"each": "string",
"copy": "{path}.gz",
"gzip": null
},
{
"list": "TestStatic/move-to-js.txt",
"each": "string",
"copy": "TestStatic/js/moved.js.gz",
"minjs": null,
"gzip": null
},
{
"list": "TestStatic/img/oauth2-icons/*.svg",
"sprite": "TestStatic/img/oauth2-icons.svg.gz",
"gzip": null
}
]
}
The configuration has two main sections:
use: Defines available steps in format:"step_name": "BuilderClassName"pipelines: Defines pipelines and their steps in format:"step_name": <config_data>|null
Built-in Pipeline Stages
Dm.Web.BuildStatic.Services.Stages.FilesSource- enumerates files in a folder. Requires a"folder+pattern"parameter (e.g.,"js/*.js"for all JS files in thejsfolder,"js/**/*.js"for JS files in thejsfolder and its subfolders).Dm.Web.BuildStatic.Services.Stages.ForEach- executes subsequent stages for each element in a collection. Requires a"type-of-element"parameter (e.g.,"string").Dm.Web.BuildStatic.Services.Stages.FileCopy- copies a file fromsrc(provided by the previous stage) todst(required parameter).Dm.Web.BuildStatic.Services.Stages.MinifyJS- minifies a JS file using Uglify. Accepts anInOutStreamsmodel with source JS and outputsInOutStreamswith minified JS inInOutStreams.In. If this is the final stage, saves the minified content toInOutStreams.Out.Dm.Web.BuildStatic.Services.Stages.GzipStream- compresses the incomingInOutStreams.Instream toInOutStreams.Outusing GZIP.Dm.Web.BuildStatic.Services.Stages.SVGSprite- combines an incoming collection of SVG symbol files into a sprite. Requires adstparameter (output destination).
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.