Exemple #1
0
        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));
        }