BundlerMinifier.Core.Tool
6.1.0
See the version list below for details.
dotnet tool install --global BundlerMinifier.Core.Tool --version 6.1.0
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local BundlerMinifier.Core.Tool --version 6.1.0
#tool dotnet:?package=BundlerMinifier.Core.Tool&version=6.1.0
nuke :add-package BundlerMinifier.Core.Tool --version 6.1.0
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 | net5.0 was computed. 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 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 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 | netcoreapp3.1 is compatible. |
This package has no dependencies.
Version | Downloads | Last updated |
---|---|---|
7.5.2 | 352 | 11/4/2024 |
7.5.1 | 3,933 | 6/25/2024 |
7.4.1 | 132 | 6/24/2024 |
7.4.0 | 149 | 6/21/2024 |
7.1.2 | 321 | 6/11/2024 |
7.1.1 | 1,175 | 4/24/2024 |
7.1.0 | 1,848 | 2/28/2024 |
7.0.3 | 10,305 | 2/5/2024 |
7.0.2 | 143 | 2/4/2024 |
7.0.1 | 1,520 | 12/16/2023 |
7.0.0 | 3,257 | 11/14/2023 |
6.1.1 | 1,510 | 10/6/2023 |
6.1.0 | 4,990 | 7/10/2023 |
6.0.2 | 158 | 7/9/2023 |
6.0.1 | 187 | 7/9/2023 |
6.0.0 | 223 | 7/9/2023 |
5.0.8 | 1,225 | 6/5/2023 |
5.0.4 | 2,063 | 5/11/2023 |
5.0.3 | 935 | 4/4/2023 |
5.0.2 | 2,132 | 1/26/2023 |
5.0.1 | 1,000 | 12/13/2022 |
5.0.0 | 377 | 12/11/2022 |
4.5.17 | 851 | 11/23/2022 |
4.5.16 | 6,922 | 7/21/2022 |
4.5.15 | 9,106 | 4/8/2022 |
4.5.14 | 457 | 4/1/2022 |
4.5.13 | 504 | 3/30/2022 |
4.5.12 | 1,611 | 3/16/2022 |
4.5.11 | 427 | 3/16/2022 |
4.5.10 | 538 | 3/8/2022 |
4.5.9 | 420 | 3/8/2022 |
4.5.8 | 3,150 | 1/24/2022 |
4.5.7 | 1,294 | 1/14/2022 |
4.5.6 | 458 | 1/14/2022 |
4.5.5 | 2,286 | 1/13/2022 |
4.5.4 | 471 | 1/10/2022 |
4.5.3 | 531 | 12/17/2021 |
4.5.2 | 3,569 | 12/14/2021 |
4.5.1 | 288 | 12/14/2021 |
4.5.0 | 1,120 | 11/29/2021 |
4.4.12 | 1,122 | 11/21/2021 |
4.4.11 | 1,070 | 10/8/2021 |
4.4.9 | 377 | 10/5/2021 |
4.4.8 | 1,750 | 9/1/2021 |
4.4.6 | 500 | 8/22/2021 |
4.4.5 | 349 | 8/20/2021 |
4.4.4 | 429 | 8/18/2021 |
4.4.3 | 1,805 | 8/14/2021 |
4.4.2 | 355 | 8/13/2021 |
4.4.1 | 369 | 8/11/2021 |
4.4.0 | 337 | 8/4/2021 |
4.3.2 | 506 | 7/25/2021 |
4.3.1 | 432 | 7/24/2021 |
4.3.0 | 3,984 | 5/2/2021 |
4.2.0 | 474 | 3/21/2021 |
4.1.1 | 584 | 12/31/2020 |
4.1.0 | 400 | 12/29/2020 |
4.0.0 | 487 | 12/28/2020 |