WebOptimizer icon indicating copy to clipboard operation
WebOptimizer copied to clipboard

JavaScriptMinifier removes minified javascript source from bundle

Open slaneyrw opened this issue 5 years ago • 0 comments

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;
    }

slaneyrw avatar May 20 '20 06:05 slaneyrw