ng2-logger
ng2-logger copied to clipboard
Error loading in IE 11
Hello.
I have used ng2-logger in my project. It works fine in all browsers, but when try to load it in Explorer 11 the console gives me a SCRIPT1002: Syntax Error, and the line point to the log.js
file, and the bundled line:
eval("\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst logger_1 = __webpack_require__(\"../../../../ng2-logger/logger.js\");\nconst level_1 = __webpack_require__(\"../../../../ng2-logger/level.js\");\nconst display_1 = __webpack_require__(\"../../../../ng2-logger/display.js\");\nconst include_1 = __webpack_require__(\"../../../../ng2-logger/include.js\");\nconst helper_1 = __webpack_require__(\"../../../../ng2-logger/helper.js\");\nif (helper_1.isNode) {\n var randomcolor = __webpack_require__(\"../../../../randomcolor/randomColor.js\");\n}\nclass Log {\n static create(name, ...level) {\n let i;\n if (Log.instances[name] === undefined) {\n i = new logger_1.Logger(name, Log.getRandomColor(), Log.isDevelopmentMode, level, Log.isMutedModule(name), Log.levels.length > 0 ? Log.fixedWidth : undefined, Log.levels.length > 0 ? Log.display : undefined);\n Log.instances[name] = i;\n }\n else {\n i = Log.instances[name];\n }\n return i;\n }\n static getRandomColor() {\n if (helper_1.isNode) {\n return randomcolor({ luminosity: 'light', count: 10 });\n }\n let letters = '012345'.split('');\n let color = '#';\n color += letters[Math.round(Math.random() * 5)];\n letters = '0123456789ABCDEF'.split('');\n for (let i = 0; i < 5; i++) {\n color += letters[Math.round(Math.random() * 15)];\n }\n if (color === undefined)\n return this.getRandomColor();\n return color;\n }\n static display(name, data, incomming, moduleName) {\n if (!include_1.contain(Log.levels, incomming))\n return;\n if (incomming === level_1.Level.DATA) {\n display_1.Display.msg(name, data, name, Log.instances[moduleName].color, level_1.Level.DATA, Log.instances[moduleName].fixedWidth);\n }\n if (incomming === level_1.Level.ERROR) {\n display_1.Display.msg(name, data, name, Log.instances[moduleName].color, level_1.Level.ERROR, Log.instances[moduleName].fixedWidth);\n }\n if (incomming === level_1.Level.INFO) {\n display_1.Display.msg(name, data, name, Log.instances[moduleName].color, level_1.Level.INFO, Log.instances[moduleName].fixedWidth);\n }\n if (incomming === level_1.Level.WARN) {\n display_1.Display.msg(name, data, name, Log.instances[moduleName].color, level_1.Level.WARN, Log.instances[moduleName].fixedWidth);\n }\n }\n static onlyLevel(...level) {\n if (Log._logOnly) {\n console.error('You should use funcion onlyLevel only once');\n return;\n }\n if (Log._logOnly)\n Log._logOnly = true;\n if (level.length === 0)\n return;\n Log.levels = level;\n }\n static onlyModules(...modules) {\n if (Log._logModules) {\n console.error('You should use funcion onlyModules only once');\n return;\n }\n if (modules.length === 0)\n return;\n Log.modules = modules;\n Log.muteAllOtherModules();\n }\n static isMutedModule(moduleName) {\n if (Log.modules.length == 0)\n return false;\n if (!include_1.contain(Log.modules, moduleName))\n return true;\n return false;\n }\n static muteAllOtherModules() {\n for (var moduleName in Log.instances) {\n if (!include_1.contain(Log.modules, moduleName))\n Log.instances[moduleName].mute();\n }\n }\n static setProductionMode() {\n if (Log.modeIsSet) {\n console.error('Mode is already set');\n return;\n }\n if (console !== undefined && console.clear !== undefined) {\n setTimeout(() => {\n console.clear();\n console.log = () => { };\n console.error = () => { };\n console.warn = () => { };\n console.info = () => { };\n });\n }\n logger_1.Logger.isProductionMode = true;\n Log.isDevelopmentMode = false;\n }\n}\nLog.instances = {};\nLog.fixedWidth = 0;\nLog._logOnly = false;\nLog.levels = [];\nLog._logModules = false;\nLog.modules = [];\nLog.isDevelopmentMode = true;\nLog.modeIsSet = false;\nexports.Log = Log;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkM6L1VzZXJzL1JpY2FyZG8vUHJveWVjdG9zL253ZS9ud2UtYW5ndWxhci9ub2RlX21vZHVsZXMvbmcyLWxvZ2dlci9sb2cuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSw4Q0FBOEMsY0FBYztBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQixpQ0FBaUM7QUFDM0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixPQUFPO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCLCtCQUErQjtBQUMvQiw4QkFBOEI7QUFDOUIsOEJBQThCO0FBQzlCLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4uLy4uLy4uLy4uL25nMi1sb2dnZXIvbG9nLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5jb25zdCBsb2dnZXJfMSA9IHJlcXVpcmUoXCIuL2xvZ2dlclwiKTtcbmNvbnN0IGxldmVsXzEgPSByZXF1aXJlKFwiLi9sZXZlbFwiKTtcbmNvbnN0IGRpc3BsYXlfMSA9IHJlcXVpcmUoXCIuL2Rpc3BsYXlcIik7XG5jb25zdCBpbmNsdWRlXzEgPSByZXF1aXJlKFwiLi9pbmNsdWRlXCIpO1xuY29uc3QgaGVscGVyXzEgPSByZXF1aXJlKFwiLi9oZWxwZXJcIik7XG5pZiAoaGVscGVyXzEuaXNOb2RlKSB7XG4gIHZhciByYW5kb21jb2xvciA9IHJlcXVpcmUoJ3JhbmRvbWNvbG9yJyk7XG59XG5jbGFzcyBMb2cge1xuICBzdGF0aWMgY3JlYXRlKG5hbWUsIC4uLmxldmVsKSB7XG4gICAgbGV0IGk7XG4gICAgaWYgKExvZy5pbnN0YW5jZXNbbmFtZV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgaSA9IG5ldyBsb2dnZXJfMS5Mb2dnZXIobmFtZSwgTG9nLmdldFJhbmRvbUNvbG9yKCksIExvZy5pc0RldmVsb3BtZW50TW9kZSwgbGV2ZWwsIExvZy5pc011dGVkTW9kdWxlKG5hbWUpLCBMb2cubGV2ZWxzLmxlbmd0aCA+IDAgPyBMb2cuZml4ZWRXaWR0aCA6IHVuZGVmaW5lZCwgTG9nLmxldmVscy5sZW5ndGggPiAwID8gTG9nLmRpc3BsYXkgOiB1bmRlZmluZWQpO1xuICAgICAgTG9nLmluc3RhbmNlc1tuYW1lXSA9IGk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgaSA9IExvZy5pbnN0YW5jZXNbbmFtZV07XG4gICAgfVxuICAgIHJldHVybiBpO1xuICB9XG4gIHN0YXRpYyBnZXRSYW5kb21Db2xvcigpIHtcbiAgICBpZiAoaGVscGVyXzEuaXNOb2RlKSB7XG4gICAgICByZXR1cm4gcmFuZG9tY29sb3IoeyBsdW1pbm9zaXR5OiAnbGlnaHQnLCBjb3VudDogMTAgfSk7XG4gICAgfVxuICAgIGxldCBsZXR0ZXJzID0gJzAxMjM0NScuc3BsaXQoJycpO1xuICAgIGxldCBjb2xvciA9ICcjJztcbiAgICBjb2xvciArPSBsZXR0ZXJzW01hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIDUpXTtcbiAgICBsZXR0ZXJzID0gJzAxMjM0NTY3ODlBQkNERUYnLnNwbGl0KCcnKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDU7IGkrKykge1xuICAgICAgY29sb3IgKz0gbGV0dGVyc1tNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAxNSldO1xuICAgIH1cbiAgICBpZiAoY29sb3IgPT09IHVuZGVmaW5lZClcbiAgICAgIHJldHVybiB0aGlzLmdldFJhbmRvbUNvbG9yKCk7XG4gICAgcmV0dXJuIGNvbG9yO1xuICB9XG4gIHN0YXRpYyBkaXNwbGF5KG5hbWUsIGRhdGEsIGluY29tbWluZywgbW9kdWxlTmFtZSkge1xuICAgIGlmICghaW5jbHVkZV8xLmNvbnRhaW4oTG9nLmxldmVscywgaW5jb21taW5nKSlcbiAgICAgIHJldHVybjtcbiAgICBpZiAoaW5jb21taW5nID09PSBsZXZlbF8xLkxldmVsLkRBVEEpIHtcbiAgICAgIGRpc3BsYXlfMS5EaXNwbGF5Lm1zZyhuYW1lLCBkYXRhLCBuYW1lLCBMb2cuaW5zdGFuY2VzW21vZHVsZU5hbWVdLmNvbG9yLCBsZXZlbF8xLkxldmVsLkRBVEEsIExvZy5pbnN0YW5jZXNbbW9kdWxlTmFtZV0uZml4ZWRXaWR0aCk7XG4gICAgfVxuICAgIGlmIChpbmNvbW1pbmcgPT09IGxldmVsXzEuTGV2ZWwuRVJST1IpIHtcbiAgICAgIGRpc3BsYXlfMS5EaXNwbGF5Lm1zZyhuYW1lLCBkYXRhLCBuYW1lLCBMb2cuaW5zdGFuY2VzW21vZHVsZU5hbWVdLmNvbG9yLCBsZXZlbF8xLkxldmVsLkVSUk9SLCBMb2cuaW5zdGFuY2VzW21vZHVsZU5hbWVdLmZpeGVkV2lkdGgpO1xuICAgIH1cbiAgICBpZiAoaW5jb21taW5nID09PSBsZXZlbF8xLkxldmVsLklORk8pIHtcbiAgICAgIGRpc3BsYXlfMS5EaXNwbGF5Lm1zZyhuYW1lLCBkYXRhLCBuYW1lLCBMb2cuaW5zdGFuY2VzW21vZHVsZU5hbWVdLmNvbG9yLCBsZXZlbF8xLkxldmVsLklORk8sIExvZy5pbnN0YW5jZXNbbW9kdWxlTmFtZV0uZml4ZWRXaWR0aCk7XG4gICAgfVxuICAgIGlmIChpbmNvbW1pbmcgPT09IGxldmVsXzEuTGV2ZWwuV0FSTikge1xuICAgICAgZGlzcGxheV8xLkRpc3BsYXkubXNnKG5hbWUsIGRhdGEsIG5hbWUsIExvZy5pbnN0YW5jZXNbbW9kdWxlTmFtZV0uY29sb3IsIGxldmVsXzEuTGV2ZWwuV0FSTiwgTG9nLmluc3RhbmNlc1ttb2R1bGVOYW1lXS5maXhlZFdpZHRoKTtcbiAgICB9XG4gIH1cbiAgc3RhdGljIG9ubHlMZXZlbCguLi5sZXZlbCkge1xuICAgIGlmIChMb2cuX2xvZ09ubHkpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1lvdSBzaG91bGQgdXNlIGZ1bmNpb24gb25seUxldmVsIG9ubHkgb25jZScpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoTG9nLl9sb2dPbmx5KVxuICAgICAgTG9nLl9sb2dPbmx5ID0gdHJ1ZTtcbiAgICBpZiAobGV2ZWwubGVuZ3RoID09PSAwKVxuICAgICAgcmV0dXJuO1xuICAgIExvZy5sZXZlbHMgPSBsZXZlbDtcbiAgfVxuICBzdGF0aWMgb25seU1vZHVsZXMoLi4ubW9kdWxlcykge1xuICAgIGlmIChMb2cuX2xvZ01vZHVsZXMpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1lvdSBzaG91bGQgdXNlIGZ1bmNpb24gb25seU1vZHVsZXMgb25seSBvbmNlJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChtb2R1bGVzLmxlbmd0aCA9PT0gMClcbiAgICAgIHJldHVybjtcbiAgICBMb2cubW9kdWxlcyA9IG1vZHVsZXM7XG4gICAgTG9nLm11dGVBbGxPdGhlck1vZHVsZXMoKTtcbiAgfVxuICBzdGF0aWMgaXNNdXRlZE1vZHVsZShtb2R1bGVOYW1lKSB7XG4gICAgaWYgKExvZy5tb2R1bGVzLmxlbmd0aCA9PSAwKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmICghaW5jbHVkZV8xLmNvbnRhaW4oTG9nLm1vZHVsZXMsIG1vZHVsZU5hbWUpKVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHN0YXRpYyBtdXRlQWxsT3RoZXJNb2R1bGVzKCkge1xuICAgIGZvciAodmFyIG1vZHVsZU5hbWUgaW4gTG9nLmluc3RhbmNlcykge1xuICAgICAgaWYgKCFpbmNsdWRlXzEuY29udGFpbihMb2cubW9kdWxlcywgbW9kdWxlTmFtZSkpXG4gICAgICAgIExvZy5pbnN0YW5jZXNbbW9kdWxlTmFtZV0ubXV0ZSgpO1xuICAgIH1cbiAgfVxuICBzdGF0aWMgc2V0UHJvZHVjdGlvbk1vZGUoKSB7XG4gICAgaWYgKExvZy5tb2RlSXNTZXQpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ01vZGUgaXMgYWxyZWFkeSBzZXQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGNvbnNvbGUgIT09IHVuZGVmaW5lZCAmJiBjb25zb2xlLmNsZWFyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBjb25zb2xlLmNsZWFyKCk7XG4gICAgICAgIGNvbnNvbGUubG9nID0gKCkgPT4geyB9O1xuICAgICAgICBjb25zb2xlLmVycm9yID0gKCkgPT4geyB9O1xuICAgICAgICBjb25zb2xlLndhcm4gPSAoKSA9PiB7IH07XG4gICAgICAgIGNvbnNvbGUuaW5mbyA9ICgpID0+IHsgfTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBsb2dnZXJfMS5Mb2dnZXIuaXNQcm9kdWN0aW9uTW9kZSA9IHRydWU7XG4gICAgTG9nLmlzRGV2ZWxvcG1lbnRNb2RlID0gZmFsc2U7XG4gIH1cbn1cbkxvZy5pbnN0YW5jZXMgPSB7fTtcbkxvZy5maXhlZFdpZHRoID0gMDtcbkxvZy5fbG9nT25seSA9IGZhbHNlO1xuTG9nLmxldmVscyA9IFtdO1xuTG9nLl9sb2dNb2R1bGVzID0gZmFsc2U7XG5Mb2cubW9kdWxlcyA9IFtdO1xuTG9nLmlzRGV2ZWxvcG1lbnRNb2RlID0gdHJ1ZTtcbkxvZy5tb2RlSXNTZXQgPSBmYWxzZTtcbmV4cG9ydHMuTG9nID0gTG9nO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gQzovVXNlcnMvUmljYXJkby9Qcm95ZWN0b3MvbndlL253ZS1hbmd1bGFyL25vZGVfbW9kdWxlcy9uZzItbG9nZ2VyL2xvZy5qc1xuLy8gbW9kdWxlIGlkID0gLi4vLi4vLi4vLi4vbmcyLWxvZ2dlci9sb2cuanNcbi8vIG1vZHVsZSBjaHVua3MgPSB2ZW5kb3IiXSwic291cmNlUm9vdCI6IndlYnBhY2s6Ly8vIn0=\n//# sourceURL=webpack-internal:///../../../../ng2-logger/log.js\n");
I have been doing lots of test, and tried to fix it, but cannot get the fix for the error. Any Idea or help?
I am using all polyfills from angular 5.2.
Thanks.
Indeed since a certain version (v1 to v2) ng2-logger doesn't work on IE/Edge.
It seems to be the use of keywords unvailable in IE/Edge (const in for...of... loop).
You can use v1.0.13, it worked for me.
@RicardoJBarrios try new version. Should be ok.
Ok for me 👍
After deploy it seems it's not working with the AOT build. Same error with const/loops keywords.
Hello again and sorry for the delay.
I have tested it with ie11, but the line var fs = require('fs');
in l.9 of backend-logging.js
gives me an error. I commented it and all works as expected, even AOT compilation.
@RicardoJBarrios try new version and "ng2-logger/browser" (or "ng2-logger/client"). It is a version without backend things....
I have tried the last version, and still have the fs
error when try to launch the tests. Once the line is commented all works as expected.