UNPKG

minify-cshtml-webpack-plugin

Version:

Minify CSHTML Razor Views

23 lines (21 loc) 1.16 kB
function minify(content) { content = content.trim(); content = content.replace(/<!--[\s\S]*?-->/g, ''); //Remove HTML comments content = content.replace(/@\*[\s\S]*?\*@/g, ''); //Remove Razor comments content = content.replace(/(\/\*([\s\S]*?)\*\/)|(\/\/(\s.*))/gm, ''); //Remove JS comments content = content.replace(/>[\s]*\<(?!(\/pre))/gi, '><'); //Remove whitespace content = content.replace(/>[\s]*\</gi, '><'); //Remove whitespace content = content.split(/\r\n|\n|\r/); //Remove line breaks except lines starting with '@' for (var i = 0; i < content.length; i++) { content[i] = content[i].replace(/^\s+/g, ' '); if (content[i].charAt(0) != '@' && content[i].charAt(1) != '@') { content[i] = content[i].replace(/[\r\n](?!@)/, ''); } else { content[i] = "\r\n" + content[i] + "\r\n"; } } content = content.join(''); content = content.replace(/[\r\n]{2,}/g, '\r\n'); return content; } exports.minify = minify;