WebOptimizer
WebOptimizer copied to clipboard
JavaScriptMinifier removes minified javascript source from bundle
An already minified javascript included in a bundle is not added to the content dictionary returned, and is removed from the resultant bundle
public override Task ExecuteAsync(IAssetContext config)
{
var content = new Dictionary<string, byte[]>();
foreach (string key in config.Content.Keys)
{
if (key.EndsWith(".min.js"))
continue; // <--- content key skipped
string input = config.Content[key].AsString();
UglifyResult result = Uglify.Js(input, Settings);
string minified = result.Code;
if (result.HasErrors)
{
minified = $"/* {string.Join("\r\n", result.Errors)} */\r\n" + input;
}
content[key] = minified.AsByteArray();
}
config.Content = content;
return Task.CompletedTask;
}