UNPKG

@datawheel/bespoke-cms-warmup

Version:

Warmup utility for Bespoke CMS pages

14 lines (11 loc) 2.32 kB
'use strict'; 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;