@datawheel/bespoke-cms-warmup
Version:
Warmup utility for Bespoke CMS pages
14 lines (11 loc) • 2.32 kB
JavaScript
;
var p=(s=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(s,{get:(t,e)=>(typeof require<"u"?require:t)[e]}):s)(function(s){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+s+'" is not supported')});var d=(s,t)=>()=>(s&&(t=s(s=0)),t);var w=(s,t)=>()=>(t||s((t={exports:{}}).exports,t),t.exports);var u=d(()=>{});var C=w((g,h)=>{u();var i=p("fs"),c=p("path"),l=class{errorCount;failures;outputPath;successCount;writer;constructor(t){this.resetCounters(),t&&this.setOutput(t);}setOutput(t){let e=c.resolve(process.cwd(),t);i.existsSync(e)||i.mkdirSync(e),process.stdout.write(`Reports will be saved on:
${e}
`),this.outputPath=e;let r=c.resolve(e,"results.json");this.writer=i.createWriteStream(r,{flags:"w"});}log(t){this.writer.write(`${t}
`);}writeReport(t){let e=a(this.failures),r=c.resolve(this.outputPath,`profile_${t}.json`);return i.promises.writeFile(r,e)}print(t,e=!0){process.stdout.write(`${t}${e?`
`:""}`);}printLine(t="-"){let e=process.stdout.columns*1||80,r=new Array(e).fill(t).join("").slice(0,e);process.stdout.write(`${r}
`);}countResult(t){t.status==="ERROR"&&this.errorCount++,t.status==="SUCCESS"&&this.successCount++,t.status==="FAILURE"&&this.failures.push(t);}resetCounters(){this.errorCount=0,this.failures=[],this.successCount=0;}printCount(t){let e="";this.errorCount>0&&(e=`with ${this.errorCount} errors`),this.failures.length>0&&(e=`${e?", and":"with"} ${this.failures.length} failures`),this.print(`
Profile "${t}" completed ${e||"without errors"}.`);}step(t){return process.stdout.write(`WAIT: ${t}...`),{reject(e){throw process.stdout.write("\r\x1B[K"),process.stdout.write(`ERR : ${t}
`),e},resolve(e){return process.stdout.write("\r\x1B[K"),process.stdout.write(`OK : ${t}
`),e}}}};function a(s){let t=new Map([["",[""].slice(0,0)]]);t.clear();let e=r=>{let n=t.get(r);if(n!==void 0)return n;let o=[];return t.set(r,o),o};for(let r of s){let{test_na:n}=r.result;if(n&&n.length>0){let{url:o}=r.job;for(let f of n)e(f).push(o);}}return JSON.stringify([...t.entries()],null,2)}function $(s){return [].concat(s).reduce((t,e)=>{let r=e.indexOf(":"),n=e.substr(0,r).trim();return t[n]=e.substr(r+1).trim(),t},{})}h.exports={Reporter:l,parseHeaders:$,transposeResults:a};});var common = C();
module.exports = common;