private static MinificationResult MinifyJavaScript(Config config, string file) { string content = File.ReadAllText(file); var settings = JavaScriptOptions.GetSettings(config); if (config.Minify.ContainsKey("enabled") && config.Minify["enabled"].ToString().Equals("false", StringComparison.OrdinalIgnoreCase)) { return(null); } var minifier = new Minifier(); string minFile = GetMinFileName(file); string mapFile = minFile + ".map"; string result = minifier.MinifyJavaScript(content, settings); bool containsChanges = FileHelpers.HasFileContentChanged(minFile, result); if (!string.IsNullOrEmpty(result)) { OnBeforeWritingMinFile(file, minFile, containsChanges); if (containsChanges) { File.WriteAllText(minFile, result, new UTF8Encoding(true)); } OnAfterWritingMinFile(file, minFile, containsChanges); GzipFile(config, minFile, containsChanges); } return(new MinificationResult(result, null)); }
private static MinificationResult MinifyJavaScript(Config config, string file) { string content = File.ReadAllText(file); var settings = JavaScriptOptions.GetSettings(config); var minifier = new Minifier(); string ext = Path.GetExtension(file); string minFile = file.Substring(0, file.LastIndexOf(ext)) + ".min" + ext; string mapFile = minFile + ".map"; string result = minifier.MinifyJavaScript(content, settings); if (!string.IsNullOrEmpty(result)) { OnBeforeWritingMinFile(file, minFile); File.WriteAllText(minFile, result, new UTF8Encoding(true)); OnAfterWritingMinFile(file, minFile); GzipFile(config, minFile); } return(new MinificationResult(result, null)); }