UNPKG

webpack-clear-console

Version:
48 lines (37 loc) 1.82 kB
/** * Created by yasem on 10.07.2016. */ var WebpackClearConsole = function () { }; WebpackClearConsole.prototype.apply = function (compiler) { var self = this; compiler.plugin("emit", function (compilation, callback) { compilation.chunks.forEach(function (chunk) { // Explore each asset filename generated by the chunk and replace the console.* methods: chunk.files.forEach(function (filename) { // Get the asset source for each file generated by the chunk: var source = compilation.assets[filename].source(); var consoleName=["console","window.console"]; var consoleType= ["log", "info", "warn", "error" ,"assert" ,"count" ,"clear", "group" , "groupEnd", "groupCollapsed" ,"trace" ,"debug", "dir" ,"dirxml", "profile", "profileEnd" , "time" ,"timeEnd" ,"timeStamp" ,"table","exception"]; //Console.log|debug|info|warn|error regexp rConsole = new RegExp("(" + consoleName.join("|") + ")" + ".(?:" + consoleType.join("|") + ")\\s{0,}\\([^;]*\\)(?!\\s*[;,]?\\s*\\/\\*\\s*NotClearConsole\\s*\\*\\/)\\s{0,};?", "gi"); //Regexp replace null source = source.replace(rConsole, function() { return source.replaceWith || ""; }); compilation.assets[filename] = { source: function () { return source; }, size: function () { return source.length; } } }); }); callback(); }); }; module.exports = WebpackClearConsole;