BundlerMinifier.Core.Tool
7.4.1
See the version list below for details.
dotnet tool install --global BundlerMinifier.Core.Tool --version 7.4.1
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local BundlerMinifier.Core.Tool --version 7.4.1
#tool dotnet:?package=BundlerMinifier.Core.Tool&version=7.4.1
nuke :add-package BundlerMinifier.Core.Tool --version 7.4.1
Bundler and Minifier
A .NET Core tool that let's you configure bundling and minification of JS, CSS and HTML files. This is a simplified fork of https://github.com/madskristensen/BundlerMinifier that is kept more up-to-date with NUglify and implements some missing features. It has been repackaged into a .NET Core tool.
GitHub actions have been setup such that new NuGet releases of NUglify will automatically trigger a release and publish of this tool with an incremented version number, so this tool should track NUglify fairly closely. Enjoy! 👍
Install it by running dotnet tool install BundlerMinifier.Core.Tool
Invoke it by calling dotnet tool run bundle
.
Features
- Bundles CSS, JavaScript or HTML files into a single output file
- Support for globbing patterns
- Minify individual or bundled CSS, JavaScript and HTML files
- Minification options for each language is customizable
- Command line support
- Shortcut to update all bundles in solution
- Suppress output file generation
- Support NUglify killSwitch and ignoreErrorList directives for each bundle.
- A bundle can refer to the output file path of another bundle to include its input files (supports recursion).
- Bundles are processed in parallel for a faster build.
A note about encoding
All files without a BOM (Byte Order Mark) is treated as UTF-8. If you see strange characters in the output bundle files, you may want to consider saving the input files as UTF-8 or an encoding that lets you specify a BOM.
bundleconfig.json
Create a bundleconfig.json
file at the root of the
project which is used to configure all bundling.
Here's an example of what that file looks like:
[
{
"outputFileName": "output/bundle.css",
"inputFiles": [
"css/lib/**/*.css", // globbing patterns are supported
"css/input/site.css"
],
"minify": {
"enabled": true,
"commentMode": "all",
"renameLocals": true,
"ignoreErrorList": "JS1292,JS1315",
"gzip": true
}
},
{
"outputFileName": "output/all.js",
"inputFiles": [
"js/*.js",
"!js/ignore.js" // start with a ! to exclude files
]
},
{
"outputFileName": "output/app.js",
"inputFiles": [
"input/main.js",
"input/core/*.js" // all .js files in input/core/
]
}
]
There are some additional values that are possible in the minify section, see src/BundlerMinifier.Core/Minify/JavaScriptOptions.cs and src/BundlerMinifier.Core/Minify/CssOptions.cs for the complete list.
Contribute
Check out the contribution guidelines if you want to contribute to this project.
License
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | 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 is compatible. 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 is compatible. 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. |
This package has no dependencies.
Version | Downloads | Last updated |
---|---|---|
7.5.2 | 280 | 11/4/2024 |
7.5.1 | 3,848 | 6/25/2024 |
7.4.1 | 131 | 6/24/2024 |
7.4.0 | 148 | 6/21/2024 |
7.1.2 | 320 | 6/11/2024 |
7.1.1 | 1,174 | 4/24/2024 |
7.1.0 | 1,824 | 2/28/2024 |
7.0.3 | 9,920 | 2/5/2024 |
7.0.2 | 142 | 2/4/2024 |
7.0.1 | 1,487 | 12/16/2023 |
7.0.0 | 3,242 | 11/14/2023 |
6.1.1 | 1,508 | 10/6/2023 |
6.1.0 | 4,950 | 7/10/2023 |
6.0.2 | 157 | 7/9/2023 |
6.0.1 | 186 | 7/9/2023 |
6.0.0 | 220 | 7/9/2023 |
5.0.8 | 1,222 | 6/5/2023 |
5.0.4 | 2,039 | 5/11/2023 |
5.0.3 | 934 | 4/4/2023 |
5.0.2 | 2,130 | 1/26/2023 |
5.0.1 | 999 | 12/13/2022 |
5.0.0 | 376 | 12/11/2022 |
4.5.17 | 843 | 11/23/2022 |
4.5.16 | 6,911 | 7/21/2022 |
4.5.15 | 9,084 | 4/8/2022 |
4.5.14 | 456 | 4/1/2022 |
4.5.13 | 503 | 3/30/2022 |
4.5.12 | 1,607 | 3/16/2022 |
4.5.11 | 426 | 3/16/2022 |
4.5.10 | 537 | 3/8/2022 |
4.5.9 | 419 | 3/8/2022 |
4.5.8 | 3,140 | 1/24/2022 |
4.5.7 | 1,293 | 1/14/2022 |
4.5.6 | 457 | 1/14/2022 |
4.5.5 | 2,246 | 1/13/2022 |
4.5.4 | 470 | 1/10/2022 |
4.5.3 | 527 | 12/17/2021 |
4.5.2 | 3,568 | 12/14/2021 |
4.5.1 | 287 | 12/14/2021 |
4.5.0 | 1,119 | 11/29/2021 |
4.4.12 | 1,121 | 11/21/2021 |
4.4.11 | 1,069 | 10/8/2021 |
4.4.9 | 376 | 10/5/2021 |
4.4.8 | 1,749 | 9/1/2021 |
4.4.6 | 499 | 8/22/2021 |
4.4.5 | 348 | 8/20/2021 |
4.4.4 | 428 | 8/18/2021 |
4.4.3 | 1,802 | 8/14/2021 |
4.4.2 | 352 | 8/13/2021 |
4.4.1 | 368 | 8/11/2021 |
4.4.0 | 336 | 8/4/2021 |
4.3.2 | 505 | 7/25/2021 |
4.3.1 | 429 | 7/24/2021 |
4.3.0 | 3,983 | 5/2/2021 |
4.2.0 | 473 | 3/21/2021 |
4.1.1 | 583 | 12/31/2020 |
4.1.0 | 399 | 12/29/2020 |
4.0.0 | 484 | 12/28/2020 |