exframe-cache-manager 1.1.2 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1,2 @@
1
+ /* eslint-disable */
1
2
  window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V<U;++V){var ae=Z[V];if(ae.ignoreCase){ac=true}else{if(/[a-z]/i.test(ae.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){S=true;ac=false;break}}}var Y={b:8,t:9,n:10,v:11,f:12,r:13};function ab(ah){var ag=ah.charCodeAt(0);if(ag!==92){return ag}var af=ah.charAt(1);ag=Y[af];if(ag){return ag}else{if("0"<=af&&af<="7"){return parseInt(ah.substring(1),8)}else{if(af==="u"||af==="x"){return parseInt(ah.substring(2),16)}else{return ah.charCodeAt(1)}}}}function T(af){if(af<32){return(af<16?"\\x0":"\\x")+af.toString(16)}var ag=String.fromCharCode(af);if(ag==="\\"||ag==="-"||ag==="["||ag==="]"){ag="\\"+ag}return ag}function X(am){var aq=am.substring(1,am.length-1).match(new RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g"));var ak=[];var af=[];var ao=aq[0]==="^";for(var ar=ao?1:0,aj=aq.length;ar<aj;++ar){var ah=aq[ar];if(/\\[bdsw]/i.test(ah)){ak.push(ah)}else{var ag=ab(ah);var al;if(ar+2<aj&&"-"===aq[ar+1]){al=ab(aq[ar+2]);ar+=2}else{al=ag}af.push([ag,al]);if(!(al<65||ag>122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;ar<af.length;++ar){var at=af[ar];if(at[0]<=ap[1]+1){ap[1]=Math.max(ap[1],at[1])}else{ai.push(ap=at)}}var an=["["];if(ao){an.push("^")}an.push.apply(an,ak);for(var ar=0;ar<ai.length;++ar){var at=ai[ar];an.push(T(at[0]));if(at[1]>at[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak<ah;++ak){var ag=aj[ak];if(ag==="("){++am}else{if("\\"===ag.charAt(0)){var af=+ag.substring(1);if(af&&af<=am){an[af]=-1}}}}for(var ak=1;ak<an.length;++ak){if(-1===an[ak]){an[ak]=++ad}}for(var ak=0,am=0;ak<ah;++ak){var ag=aj[ak];if(ag==="("){++am;if(an[am]===undefined){aj[ak]="(?:"}}else{if("\\"===ag.charAt(0)){var af=+ag.substring(1);if(af&&af<=am){aj[ak]="\\"+an[am]}}}}for(var ak=0,am=0;ak<ah;++ak){if("^"===aj[ak]&&"^"!==aj[ak+1]){aj[ak]=""}}if(al.ignoreCase&&S){for(var ak=0;ak<ah;++ak){var ag=aj[ak];var ai=ag.charAt(0);if(ag.length>=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V<U;++V){var ae=Z[V];if(ae.global||ae.multiline){throw new Error(""+ae)}aa.push("(?:"+W(ae)+")")}return new RegExp(aa.join("|"),ac?"gi":"g")}function a(V){var U=/(?:^|\s)nocode(?:\s|$)/;var X=[];var T=0;var Z=[];var W=0;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=document.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Y=S&&"pre"===S.substring(0,3);function aa(ab){switch(ab.nodeType){case 1:if(U.test(ab.className)){return}for(var ae=ab.firstChild;ae;ae=ae.nextSibling){aa(ae)}var ad=ab.nodeName;if("BR"===ad||"LI"===ad){X[W]="\n";Z[W<<1]=T++;Z[(W++<<1)|1]=ab}break;case 3:case 4:var ac=ab.nodeValue;if(ac.length){if(!Y){ac=ac.replace(/[ \t\r\n]+/g," ")}else{ac=ac.replace(/\r\n?/g,"\n")}X[W]=ac;Z[W<<1]=T;T+=ac.length;Z[(W++<<1)|1]=ab}break}}aa(V);return{sourceCode:X.join("").replace(/\n$/,""),spans:Z}}function B(S,U,W,T){if(!U){return}var V={sourceCode:U,basePos:S};W(V);T.push.apply(T,V.decorations)}var v=/\S/;function o(S){var V=undefined;for(var U=S.firstChild;U;U=U.nextSibling){var T=U.nodeType;V=(T===1)?(V?S:U):(T===3)?(v.test(U.nodeValue)?S:V):V}return V===S?undefined:V}function g(U,T){var S={};var V;(function(){var ad=U.concat(T);var ah=[];var ag={};for(var ab=0,Z=ad.length;ab<Z;++ab){var Y=ad[ab];var ac=Y[3];if(ac){for(var ae=ac.length;--ae>=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae<aq;++ae){var ag=an[ae];var ap=aj[ag];var ai=void 0;var am;if(typeof ap==="string"){am=false}else{var aa=S[ag.charAt(0)];if(aa){ai=ag.match(aa[1]);ap=aa[0]}else{for(var ao=0;ao<X;++ao){aa=T[ao];ai=ag.match(aa[1]);if(ai){ap=aa[0];break}}if(!ai){ap=F}}am=ap.length>=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y<W.length;++Y){ae(W[Y])}if(ag===(ag|0)){W[0].setAttribute("value",ag)}var aa=ac.createElement("OL");aa.className="linenums";var X=Math.max(0,((ag-1))|0)||0;for(var Y=0,T=W.length;Y<T;++Y){af=W[Y];af.className="L"+((Y+X)%10);if(!af.firstChild){af.appendChild(ac.createTextNode("\xA0"))}aa.appendChild(af)}V.appendChild(aa)}function D(ac){var aj=/\bMSIE\b/.test(navigator.userAgent);var am=/\n/g;var al=ac.sourceCode;var an=al.length;var V=0;var aa=ac.spans;var T=aa.length;var ah=0;var X=ac.decorations;var Y=X.length;var Z=0;X[Y]=an;var ar,aq;for(aq=ar=0;aq<Y;){if(X[aq]!==X[aq+2]){X[ar++]=X[aq++];X[ar++]=X[aq++]}else{aq+=2}}Y=ar;for(aq=ar=0;aq<Y;){var at=X[aq];var ab=X[aq+1];var W=aq+2;while(W+2<=Y&&X[W+1]===ab){W+=2}X[ar++]=at;X[ar++]=ab;aq=W}Y=X.length=ar;var ae=null;while(ah<T){var af=aa[ah];var S=aa[ah+2]||an;var ag=X[Z];var ap=X[Z+2]||an;var W=Math.min(S,ap);var ak=aa[ah+1];var U;if(ak.nodeType!==1&&(U=al.substring(V,W))){if(aj){U=U.replace(am,"\r")}ak.nodeValue=U;var ai=ak.ownerDocument;var ao=ai.createElement("SPAN");ao.className=X[Z+1];var ad=ak.parentNode;ad.replaceChild(ao,ak);ao.appendChild(ak);if(V<S){aa[ah+1]=ak=ai.createTextNode(al.substring(W,S));ad.insertBefore(ak,ao.nextSibling)}}V=W;if(V>=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*</.test(S)?"default-markup":"default-code"}return t[T]}c(K,["default-code"]);c(g([],[[F,/^[^<?]+/],[E,/^<!\w[^>]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa<ac.length;++aa){for(var Z=0,V=ac[aa].length;Z<V;++Z){T.push(ac[aa][Z])}}ac=null;var W=Date;if(!W.now){W={now:function(){return +(new Date)}}}var X=0;var S;var ab=/\blang(?:uage)?-([\w.]+)(?!\S)/;var ae=/\bprettyprint\b/;function U(){var ag=(window.PR_SHOULD_USE_CONTINUATION?W.now()+250:Infinity);for(;X<T.length&&W.now()<ag;X++){var aj=T[X];var ai=aj.className;if(ai.indexOf("prettyprint")>=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X<T.length){setTimeout(U,250)}else{if(ad){ad()}}}U()}window.prettyPrintOne=y;window.prettyPrint=b;window.PR={createSimpleLexer:g,registerLangHandler:c,sourceDecorator:i,PR_ATTRIB_NAME:P,PR_ATTRIB_VALUE:n,PR_COMMENT:j,PR_DECLARATION:E,PR_KEYWORD:z,PR_LITERAL:G,PR_NOCODE:N,PR_PLAIN:F,PR_PUNCTUATION:L,PR_SOURCE:J,PR_STRING:C,PR_TAG:m,PR_TYPE:O}})();PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_DECLARATION,/^<!\w[^>]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^<script\b[^>]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:<!--|-->)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]);
@@ -1,5 +1,6 @@
1
- var addSorting = (function () {
2
- "use strict";
1
+ /* eslint-disable */
2
+ var addSorting = (function() {
3
+ 'use strict';
3
4
  var cols,
4
5
  currentSort = {
5
6
  index: 0,
@@ -7,13 +8,46 @@ var addSorting = (function () {
7
8
  };
8
9
 
9
10
  // returns the summary table element
10
- function getTable() { return document.querySelector('.coverage-summary'); }
11
+ function getTable() {
12
+ return document.querySelector('.coverage-summary');
13
+ }
11
14
  // returns the thead element of the summary table
12
- function getTableHeader() { return getTable().querySelector('thead tr'); }
15
+ function getTableHeader() {
16
+ return getTable().querySelector('thead tr');
17
+ }
13
18
  // returns the tbody element of the summary table
14
- function getTableBody() { return getTable().querySelector('tbody'); }
19
+ function getTableBody() {
20
+ return getTable().querySelector('tbody');
21
+ }
15
22
  // returns the th element for nth column
16
- function getNthColumn(n) { return getTableHeader().querySelectorAll('th')[n]; }
23
+ function getNthColumn(n) {
24
+ return getTableHeader().querySelectorAll('th')[n];
25
+ }
26
+
27
+ function onFilterInput() {
28
+ const searchValue = document.getElementById('fileSearch').value;
29
+ const rows = document.getElementsByTagName('tbody')[0].children;
30
+ for (let i = 0; i < rows.length; i++) {
31
+ const row = rows[i];
32
+ if (
33
+ row.textContent
34
+ .toLowerCase()
35
+ .includes(searchValue.toLowerCase())
36
+ ) {
37
+ row.style.display = '';
38
+ } else {
39
+ row.style.display = 'none';
40
+ }
41
+ }
42
+ }
43
+
44
+ // loads the search box
45
+ function addSearchBox() {
46
+ var template = document.getElementById('filterTemplate');
47
+ var templateClone = template.content.cloneNode(true);
48
+ templateClone.getElementById('fileSearch').oninput = onFilterInput;
49
+ template.parentElement.appendChild(templateClone);
50
+ }
17
51
 
18
52
  // loads all columns
19
53
  function loadColumns() {
@@ -33,7 +67,8 @@ var addSorting = (function () {
33
67
  cols.push(col);
34
68
  if (col.sortable) {
35
69
  col.defaultDescSort = col.type === 'number';
36
- colNode.innerHTML = colNode.innerHTML + '<span class="sorter"></span>';
70
+ colNode.innerHTML =
71
+ colNode.innerHTML + '<span class="sorter"></span>';
37
72
  }
38
73
  }
39
74
  return cols;
@@ -70,7 +105,7 @@ var addSorting = (function () {
70
105
  // sorts the table using the data for the ith column
71
106
  function sortByIndex(index, desc) {
72
107
  var key = cols[index].key,
73
- sorter = function (a, b) {
108
+ sorter = function(a, b) {
74
109
  a = a.data[key];
75
110
  b = b.data[key];
76
111
  return a < b ? -1 : a > b ? 1 : 0;
@@ -82,7 +117,7 @@ var addSorting = (function () {
82
117
  i;
83
118
 
84
119
  if (desc) {
85
- finalSorter = function (a, b) {
120
+ finalSorter = function(a, b) {
86
121
  return -1 * sorter(a, b);
87
122
  };
88
123
  }
@@ -108,7 +143,9 @@ var addSorting = (function () {
108
143
  }
109
144
  // adds sort indicators for current column being sorted
110
145
  function addSortIndicators() {
111
- getNthColumn(currentSort.index).className += currentSort.desc ? ' sorted-desc' : ' sorted';
146
+ getNthColumn(currentSort.index).className += currentSort.desc
147
+ ? ' sorted-desc'
148
+ : ' sorted';
112
149
  }
113
150
  // adds event listeners for all sorter widgets
114
151
  function enableUI() {
@@ -117,7 +154,7 @@ var addSorting = (function () {
117
154
  ithSorter = function ithSorter(i) {
118
155
  var col = cols[i];
119
156
 
120
- return function () {
157
+ return function() {
121
158
  var desc = col.defaultDescSort;
122
159
 
123
160
  if (currentSort.index === i) {
@@ -130,7 +167,7 @@ var addSorting = (function () {
130
167
  addSortIndicators();
131
168
  };
132
169
  };
133
- for (i =0 ; i < cols.length; i += 1) {
170
+ for (i = 0; i < cols.length; i += 1) {
134
171
  if (cols[i].sortable) {
135
172
  // add the click event handler on the th so users
136
173
  // dont have to click on those tiny arrows
@@ -144,12 +181,13 @@ var addSorting = (function () {
144
181
  }
145
182
  }
146
183
  // adds sorting functionality to the UI
147
- return function () {
184
+ return function() {
148
185
  if (!getTable()) {
149
186
  return;
150
187
  }
151
188
  cols = loadColumns();
152
- loadData(cols);
189
+ loadData();
190
+ addSearchBox();
153
191
  addSortIndicators();
154
192
  enableUI();
155
193
  };
@@ -1,35 +1,56 @@
1
1
  TN:
2
- SF:/app/index.js
2
+ SF:index.js
3
3
  FN:15,cachemanager
4
- FN:55,(anonymous_1)
5
- FN:64,(anonymous_2)
6
- FN:73,(anonymous_3)
7
- FN:83,(anonymous_4)
8
- FN:83,(anonymous_5)
9
- FN:84,(anonymous_6)
10
- FN:95,(anonymous_7)
11
- FN:99,(anonymous_8)
12
- FN:105,(anonymous_9)
13
- FN:106,(anonymous_10)
14
- FN:117,(anonymous_11)
15
- FN:122,(anonymous_12)
16
- FN:156,(anonymous_13)
17
- FNF:14
18
- FNH:12
4
+ FN:41,(anonymous_1)
5
+ FN:53,(anonymous_2)
6
+ FN:66,(anonymous_3)
7
+ FN:67,(anonymous_4)
8
+ FN:75,(anonymous_5)
9
+ FN:76,(anonymous_6)
10
+ FN:85,(anonymous_7)
11
+ FN:86,(anonymous_8)
12
+ FN:86,(anonymous_9)
13
+ FN:87,(anonymous_10)
14
+ FN:97,(anonymous_11)
15
+ FN:98,(anonymous_12)
16
+ FN:101,(anonymous_13)
17
+ FN:102,(anonymous_14)
18
+ FN:107,(anonymous_15)
19
+ FN:108,(anonymous_16)
20
+ FN:109,(anonymous_17)
21
+ FN:120,(anonymous_18)
22
+ FN:125,(anonymous_19)
23
+ FN:137,(anonymous_20)
24
+ FN:158,(anonymous_21)
25
+ FN:159,(anonymous_22)
26
+ FN:182,(anonymous_23)
27
+ FNF:24
28
+ FNH:22
19
29
  FNDA:2,cachemanager
20
- FNDA:3,(anonymous_1)
30
+ FNDA:4,(anonymous_1)
21
31
  FNDA:3,(anonymous_2)
22
- FNDA:1,(anonymous_3)
23
- FNDA:5,(anonymous_4)
24
- FNDA:5,(anonymous_5)
25
- FNDA:5,(anonymous_6)
26
- FNDA:1,(anonymous_7)
27
- FNDA:1,(anonymous_8)
28
- FNDA:16,(anonymous_9)
29
- FNDA:16,(anonymous_10)
30
- FNDA:0,(anonymous_11)
31
- FNDA:0,(anonymous_12)
32
- FNDA:6,(anonymous_13)
32
+ FNDA:3,(anonymous_3)
33
+ FNDA:3,(anonymous_4)
34
+ FNDA:1,(anonymous_5)
35
+ FNDA:1,(anonymous_6)
36
+ FNDA:5,(anonymous_7)
37
+ FNDA:5,(anonymous_8)
38
+ FNDA:5,(anonymous_9)
39
+ FNDA:5,(anonymous_10)
40
+ FNDA:1,(anonymous_11)
41
+ FNDA:1,(anonymous_12)
42
+ FNDA:1,(anonymous_13)
43
+ FNDA:1,(anonymous_14)
44
+ FNDA:16,(anonymous_15)
45
+ FNDA:16,(anonymous_16)
46
+ FNDA:16,(anonymous_17)
47
+ FNDA:0,(anonymous_18)
48
+ FNDA:0,(anonymous_19)
49
+ FNDA:16,(anonymous_20)
50
+ FNDA:6,(anonymous_21)
51
+ FNDA:6,(anonymous_22)
52
+ FNDA:22,(anonymous_23)
53
+ DA:3,1
33
54
  DA:4,1
34
55
  DA:5,1
35
56
  DA:6,1
@@ -43,66 +64,72 @@ DA:33,2
43
64
  DA:34,2
44
65
  DA:36,2
45
66
  DA:42,4
46
- DA:53,3
47
- DA:55,3
48
- DA:64,3
49
- DA:73,1
50
- DA:83,5
51
- DA:84,5
52
- DA:85,5
67
+ DA:54,3
68
+ DA:58,3
69
+ DA:67,3
70
+ DA:76,1
53
71
  DA:86,5
54
- DA:95,1
55
- DA:99,1
56
- DA:100,1
57
- DA:105,16
58
- DA:106,16
72
+ DA:87,5
73
+ DA:88,5
74
+ DA:89,5
75
+ DA:98,1
76
+ DA:102,1
77
+ DA:103,1
78
+ DA:108,16
59
79
  DA:109,16
60
- DA:110,0
61
- DA:113,16
62
- DA:114,16
63
- DA:117,0
64
- DA:118,0
65
- DA:119,0
80
+ DA:112,16
81
+ DA:113,0
82
+ DA:116,16
83
+ DA:117,16
84
+ DA:120,0
85
+ DA:121,0
66
86
  DA:122,0
67
- DA:123,0
68
- DA:124,0
69
- DA:138,16
70
- DA:139,16
71
- DA:140,16
87
+ DA:125,0
88
+ DA:126,0
89
+ DA:127,0
90
+ DA:141,16
72
91
  DA:142,16
73
92
  DA:143,16
74
- DA:147,16
75
- DA:156,6
76
- DA:157,6
77
- DA:158,6
93
+ DA:145,16
94
+ DA:146,16
95
+ DA:150,16
78
96
  DA:159,6
79
97
  DA:160,6
98
+ DA:161,6
80
99
  DA:162,6
81
100
  DA:163,6
82
- DA:164,6
83
101
  DA:165,6
102
+ DA:166,6
103
+ DA:167,6
84
104
  DA:168,6
85
- DA:169,1
86
- DA:172,5
87
- DA:180,1
88
- LF:55
89
- LH:46
105
+ DA:171,6
106
+ DA:172,1
107
+ DA:175,5
108
+ DA:182,2
109
+ DA:183,22
110
+ DA:184,20
111
+ DA:188,2
112
+ DA:191,1
113
+ LF:60
114
+ LH:51
90
115
  BRDA:16,0,0,0
91
116
  BRDA:16,0,1,2
92
- BRDA:54,1,0,3
93
- BRDA:54,1,1,3
94
- BRDA:85,2,0,0
95
- BRDA:85,2,1,5
96
- BRDA:95,3,0,1
97
- BRDA:95,3,1,1
98
- BRDA:109,4,0,0
99
- BRDA:109,4,1,16
100
- BRDA:113,5,0,16
101
- BRDA:113,5,1,0
102
- BRDA:142,6,0,16
103
- BRDA:142,6,1,0
104
- BRDA:168,7,0,1
105
- BRDA:168,7,1,5
106
- BRF:16
107
- BRH:11
117
+ BRDA:55,1,0,3
118
+ BRDA:55,1,1,3
119
+ BRDA:88,2,0,0
120
+ BRDA:88,2,1,5
121
+ BRDA:98,3,0,1
122
+ BRDA:98,3,1,1
123
+ BRDA:112,4,0,0
124
+ BRDA:112,4,1,16
125
+ BRDA:116,5,0,16
126
+ BRDA:116,5,1,0
127
+ BRDA:145,6,0,16
128
+ BRDA:145,6,1,0
129
+ BRDA:171,7,0,1
130
+ BRDA:171,7,1,5
131
+ BRDA:183,8,0,20
132
+ BRDA:183,8,1,2
133
+ BRF:18
134
+ BRH:13
108
135
  end_of_record
@@ -0,0 +1 @@
1
+ {"parent":null,"pid":29,"argv":["/usr/local/bin/node","/app/node_modules/.bin/mocha","--reporter","mocha-exzeo-reporter","./test/**/*.test.js"],"execArgv":[],"cwd":"/app","time":1641325411763,"ppid":18,"coverageFilename":"/app/documentation/coverage/cc66d9f8-df92-4a7d-8ac7-4bf9b8af1beb.json","externalId":"","uuid":"cc66d9f8-df92-4a7d-8ac7-4bf9b8af1beb","files":["/app/index.js"]}
@@ -0,0 +1 @@
1
+ {"processes":{"cc66d9f8-df92-4a7d-8ac7-4bf9b8af1beb":{"parent":null,"children":[]}},"files":{"/app/index.js":["cc66d9f8-df92-4a7d-8ac7-4bf9b8af1beb"]},"externalIds":{}}
package/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
-
4
3
  const CacheManager = require('cache-manager');
5
4
  const RedisStore = require('cache-manager-redis');
6
5
  const util = require('util');
6
+ const { lazyInstrument } = require('exframe-metrics');
7
7
 
8
8
  const db = 0;
9
9
 
@@ -33,7 +33,7 @@ function cachemanager(options) {
33
33
  const cacheStorePool = Object.assign(redisStore._pool, { db });
34
34
  cacheStorePool.setMaxListeners(0);
35
35
 
36
- return {
36
+ const instance = {
37
37
  /**
38
38
  *
39
39
  * @param {string} key
@@ -44,15 +44,18 @@ function cachemanager(options) {
44
44
 
45
45
  /**
46
46
  *
47
+ * @template T
47
48
  * @param {string} key
48
- * @param {any} value
49
- * @param {number} ttl
50
- * @returns {Promise<any>}
49
+ * @param {T} value
50
+ * @param {number} [ttl]
51
+ * @returns {Promise<T>}
51
52
  */
52
- setItem(key, value, ttl) {
53
- return redisCache.set(key, value, {
53
+ async setItem(key, value, ttl) {
54
+ await redisCache.set(key, value, {
54
55
  ttl: ttl || Number(process.env.REDIS_CACHE_TTL)
55
- }).then(() => value);
56
+ });
57
+
58
+ return value;
56
59
  },
57
60
 
58
61
  /**
@@ -92,7 +95,7 @@ function cachemanager(options) {
92
95
  * @returns {Promise<true>}
93
96
  */
94
97
  async healthCheck() {
95
- return await this.processRedisCommands(client => client && client.server_info.loading === '0');
98
+ return this.processRedisCommands(client => client && client.server_info.loading === '0');
96
99
  },
97
100
 
98
101
  close() {
@@ -175,6 +178,14 @@ function cachemanager(options) {
175
178
  },
176
179
  cacheStorePool
177
180
  };
181
+
182
+ Object.keys(instance).forEach((key) => {
183
+ if (typeof instance[key] === 'function') {
184
+ instance[key] = lazyInstrument(instance[key].bind(instance), { metricPrefix: 'cache' });
185
+ }
186
+ });
187
+
188
+ return instance;
178
189
  }
179
190
 
180
191
  module.exports = {
@@ -0,0 +1,27 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <testsuites name="Mocha Tests" time="0.0460" tests="9" failures="0">
3
+ <testsuite name="Root Suite" timestamp="2022-01-04T19:43:33" tests="0" time="0.0000" failures="0">
4
+ </testsuite>
5
+ <testsuite name="Test User Profile Middleware" timestamp="2022-01-04T19:43:33" tests="0" file="/app/test/cacheManager.test.js" time="0.0000" failures="0">
6
+ </testsuite>
7
+ <testsuite name="Cache Manager" timestamp="2022-01-04T19:43:33" tests="9" file="/app/test/cacheManager.test.js" time="0.0430" failures="0">
8
+ <testcase name="Test User Profile Middleware Cache Manager validate the setItem function on the basis of key and value" time="0.0180" classname="validate the setItem function on the basis of key and value">
9
+ </testcase>
10
+ <testcase name="Test User Profile Middleware Cache Manager validate the getItem function on the basis of key" time="0.0020" classname="validate the getItem function on the basis of key">
11
+ </testcase>
12
+ <testcase name="Test User Profile Middleware Cache Manager validate the addSetItem function on the basis of key" time="0.0030" classname="validate the addSetItem function on the basis of key">
13
+ </testcase>
14
+ <testcase name="Test User Profile Middleware Cache Manager validate the isSetMember function on the basis of key" time="0.0020" classname="validate the isSetMember function on the basis of key">
15
+ </testcase>
16
+ <testcase name="Test User Profile Middleware Cache Manager validate the removeSetMember function on the basis of key" time="0.0020" classname="validate the removeSetMember function on the basis of key">
17
+ </testcase>
18
+ <testcase name="Test User Profile Middleware Cache Manager close drains the redis pool" time="0.0050" classname="close drains the redis pool">
19
+ </testcase>
20
+ <testcase name="Test User Profile Middleware Cache Manager validate the flushCache function" time="0.0020" classname="validate the flushCache function">
21
+ </testcase>
22
+ <testcase name="Test User Profile Middleware Cache Manager validate the cacheStorePool" time="0.0000" classname="validate the cacheStorePool">
23
+ </testcase>
24
+ <testcase name="Test User Profile Middleware Cache Manager validate the healthCheck function" time="0.0000" classname="validate the healthCheck function">
25
+ </testcase>
26
+ </testsuite>
27
+ </testsuites>
package/package.json CHANGED
@@ -1,33 +1,49 @@
1
1
  {
2
2
  "name": "exframe-cache-manager",
3
- "version": "1.1.2",
3
+ "version": "1.3.0",
4
4
  "description": "Managing the cache",
5
5
  "main": "index.js",
6
+ "config": {
7
+ "reporter": "mocha-exzeo-reporter"
8
+ },
9
+ "mocha": {
10
+ "recursive": true
11
+ },
6
12
  "scripts": {
13
+ "pretest": "npm-install-peers && npm run lint",
14
+ "lint": "./node_modules/eslint/bin/eslint.js .",
7
15
  "test": "docker-compose -f docker-compose.yml up --abort-on-container-exit --exit-code-from exframe-cache-manager",
8
- "unit-test": "istanbul cover --dir ./documentation/coverage node_modules/mocha/bin/_mocha \"./test/**/*.test.js\""
16
+ "unit-test": "nyc -r lcov --report-dir ./documentation/coverage -t ./documentation/coverage mocha --reporter $npm_package_config_reporter \"./test/**/*.test.js\""
9
17
  },
10
- "author": "",
18
+ "author": "Exzeo",
11
19
  "license": "ISC",
20
+ "peerDependencies": {
21
+ "exframe-health": "*",
22
+ "exframe-logger": "*",
23
+ "exframe-service": "*"
24
+ },
12
25
  "dependencies": {
13
- "@types/cache-manager": "^1.2.8",
14
- "@types/redis": "^2.8.13",
15
- "assert": "^1.4.1",
16
- "cache-manager": "^2.9.0",
17
- "cache-manager-redis": "^0.6.0"
26
+ "@types/cache-manager": "^3.4.2",
27
+ "@types/redis": "^2.8.32",
28
+ "cache-manager": "^3.6.0",
29
+ "cache-manager-redis": "^0.6.0",
30
+ "exframe-metrics": "^1.1.0",
31
+ "redis": "^3.1.2"
18
32
  },
19
33
  "devDependencies": {
20
- "chai": "^4.2.0",
21
- "cross-env": "^3.2.4",
22
- "eslint": "^3.1.1",
23
- "eslint-config-airbnb-base": "^5.0.0",
24
- "eslint-plugin-import": "^1.12.0",
25
- "istanbul": "^1.1.0-alpha.1",
26
- "loadtest": "^2.3.0",
27
- "mocha": "^3.5.3",
28
- "mocha-teamcity-reporter": "^2.2.1",
29
- "nodemon": "^1.18.7",
30
- "sinon": "^2.4.1",
31
- "sinon-mongoose": "^2.0.2"
32
- }
34
+ "chai": "^4.3.4",
35
+ "eslint": "^8.3.0",
36
+ "eslint-config-airbnb-base": "^15.0.0",
37
+ "eslint-plugin-import": "^2.25.3",
38
+ "mocha": "*",
39
+ "mocha-exzeo-reporter": "0.0.3",
40
+ "npm-install-peers": "*",
41
+ "nyc": "*"
42
+ },
43
+ "repository": {
44
+ "type": "git",
45
+ "url": "https://bitbucket.org/exzeo-usa/exframe",
46
+ "directory": "packages/exframe-cache-manager"
47
+ },
48
+ "gitHead": "1959247957f1a308c44d4c5210712125ab6e5573"
33
49
  }
@@ -0,0 +1,21 @@
1
+ # The language the application is written in.
2
+ ; sonar.language=js
3
+ sonar.language=JavaScript
4
+
5
+ # Path is relative to the sonar-project.properties file. Defaults to .
6
+ sonar.sources=.
7
+
8
+ # # Encoding of the source code. Default is default system encoding
9
+ sonar.sourceEncoding=UTF-8
10
+
11
+ # # Patterns used to exclude some source files from analysis.
12
+ sonar.exclusions=test*/**/*.js
13
+
14
+ # # Patterns used to include some test files and only these ones in analysis.
15
+ sonar.test.inclusions=test*/**/*.js
16
+
17
+ # Patterns used to exclude some files from coverage report.
18
+ sonar.coverage.exclusions=test*/**/*.js,node_modules/*,documentation/coverage/lcov-report/*,junit/*
19
+
20
+ # Paths (absolute or relative) to the files with LCOV data.
21
+ sonar.javascript.lcov.reportPaths=documentation/coverage/lcov.info