@squiz/component-cli-lib 1.71.0 → 1.71.1

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.
package/lib/index.js CHANGED
@@ -289,7 +289,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
289
289
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return o=l.done,l},e:function(l){s=!0,a=l},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function Ner(e,t){if(e){if(typeof e=="string")return YUe(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return YUe(e,t)}}function YUe(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function IG(){this._defaults=[]}for(JI=0,RG=["use","on","once","set","query","type","accept","auth","withCredentials","sortQuery","retry","ok","redirects","timeout","buffer","serialize","parse","ca","key","pfx","cert","disableTLSCerts"];JI<RG.length;JI++){let e=RG[JI];IG.prototype[e]=function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return this._defaults.push({fn:e,args:r}),this}}var JI,RG;IG.prototype._setDefaults=function(e){var t=Per(this._defaults),r;try{for(t.s();!(r=t.n()).done;){let n=r.value;e[n.fn](...n.args)}}catch(n){t.e(n)}finally{t.f()}};XUe.exports=IG});var iBe=p((YCr,nBe)=>{"use strict";function Der(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=qer(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
290
290
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return o=l.done,l},e:function(l){s=!0,a=l},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function qer(e,t){if(e){if(typeof e=="string")return ZUe(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ZUe(e,t)}}function ZUe(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var ker=require("url"),tBe=ker.parse,Mer=kI(),Ler=Mer.CookieJar,jer=kI(),Fer=jer.CookieAccessInfo,$er=I3(),Uer=PG(),rBe=QUe();nBe.exports=el;function el(e){if(!(this instanceof el))return new el(e);rBe.call(this),this.jar=new Ler,e&&(e.ca&&this.ca(e.ca),e.key&&this.key(e.key),e.pfx&&this.pfx(e.pfx),e.cert&&this.cert(e.cert),e.rejectUnauthorized===!1&&this.disableTLSCerts())}el.prototype=Object.create(rBe.prototype);el.prototype._saveCookies=function(e){let t=e.headers["set-cookie"];if(t){var r;let n=tBe(((r=e.request)===null||r===void 0?void 0:r.url)||"");this.jar.setCookies(t,n.hostname,n.pathname)}};el.prototype._attachCookies=function(e){let t=tBe(e.url),r=new Fer(t.hostname,t.pathname,t.protocol==="https:"),n=this.jar.getCookies(r).toValueString();e.cookies=n};var YI=Der($er),eBe;try{for(YI.s();!(eBe=YI.n()).done;){let e=eBe.value,t=e.toUpperCase();el.prototype[e]=function(r,n){let i=new Uer.Request(t,r);return i.on("response",this._saveCookies.bind(this)),i.on("redirect",this._saveCookies.bind(this)),i.on("redirect",this._attachCookies.bind(this,i)),this._setDefaults(i),this._attachCookies(i),n&&i.end(n),i}}}catch(e){YI.e(e)}finally{YI.f()}el.prototype.del=el.prototype.delete});var sBe=p((XCr,oBe)=>{"use strict";var Ber=R3();oBe.exports=(e,t)=>{e.text="",e.setEncoding("ascii"),e.on("data",r=>{e.text+=r}),e.on("end",()=>{try{t(null,Ber.parse(e.text))}catch(r){t(r)}})}});var cBe=p((QCr,aBe)=>{"use strict";aBe.exports=function(e,t){e.text="",e.setEncoding("utf8"),e.on("data",r=>{e.text+=r}),e.on("end",()=>{let r,n;try{r=e.text&&JSON.parse(e.text)}catch(i){n=i,n.rawResponse=e.text||null,n.statusCode=e.statusCode}finally{t(n,r)}})}});var uBe=p((ZCr,lBe)=>{"use strict";lBe.exports=(e,t)=>{e.text="",e.setEncoding("utf8"),e.on("data",r=>{e.text+=r}),e.on("end",t)}});var pBe=p((eAr,dBe)=>{"use strict";dBe.exports=(e,t)=>{let r=[];e.on("data",n=>{r.push(n)}),e.on("end",()=>{t(null,Buffer.concat(r))})}});var fBe=p(tl=>{"use strict";tl["application/x-www-form-urlencoded"]=sBe();tl["application/json"]=cBe();tl.text=uBe();tl["application/json-seq"]=tl.text;var NG=pBe();tl["application/octet-stream"]=NG;tl["application/pdf"]=NG;tl.image=NG});var PG=p((It,$G)=>{"use strict";function Ver(e,t){return Her(e)||zer(e,t)||vBe(e,t)||Ger()}function Ger(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
291
291
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function zer(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,o,s,a=[],c=!0,l=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(a.push(n.value),a.length!==t);c=!0);}catch(u){l=!0,i=u}finally{try{if(!c&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(l)throw i}}return a}}function Her(e){if(Array.isArray(e))return e}function Wer(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=vBe(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
292
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return o=l.done,l},e:function(l){s=!0,a=l},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function vBe(e,t){if(e){if(typeof e=="string")return mBe(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return mBe(e,t)}}function mBe(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var LG=require("url"),qG=LG.parse,Ker=LG.format,Jer=LG.resolve,$b=require("stream"),Yer=require("https"),_Be=require("http"),Xer=require("fs"),Qer=require("zlib"),Zer=require("util"),yBe=R3(),jG=eFe(),Fb=I3(),bBe=xP(),etr=v2e(),As=R2e()("superagent"),hBe=kI(),ttr=gg(),rtr=J2e(),Ub=Ib(),ntr=jUe(),itr=$Ue(),otr=itr.unzip,FG=zUe(),str=Ub.mixin,kG=Ub.hasOwn,EBe;ttr(process.version,"v10.10.0")&&(EBe=JUe());function MG(e,t){return typeof t=="function"?new It.Request("GET",e).end(t):arguments.length===1?new It.Request("GET",e):new It.Request(e,t)}$G.exports=MG;It=$G.exports;It.Request=yt;It.agent=iBe();function SBe(){}It.Response=FG;jG.define({"application/x-www-form-urlencoded":["form","urlencoded","form-data"]},!0);It.protocols={"http:":_Be,"https:":Yer,"http2:":EBe};It.serialize={"application/x-www-form-urlencoded":yBe.stringify,"application/json":rtr};It.parse=fBe();It.buffer={};function xBe(e){e._header={},e.header={}}function yt(e,t){$b.call(this),typeof t!="string"&&(t=Ker(t)),this._enableHttp2=!!process.env.HTTP2_TEST,this._agent=!1,this._formData=null,this.method=e,this.url=t,xBe(this),this.writable=!0,this._redirects=0,this.redirects(e==="HEAD"?0:5),this.cookies="",this.qs={},this._query=[],this.qsRaw=this._query,this._redirectList=[],this._streamRequest=!1,this._lookup=void 0,this.once("end",this.clearTimeout.bind(this))}Zer.inherits(yt,$b);str(yt.prototype,ntr.prototype);yt.prototype.http2=function(e){if(It.protocols["http2:"]===void 0)throw new Error("superagent: this version of Node.js does not support http2");return this._enableHttp2=e===void 0?!0:e,this};yt.prototype.attach=function(e,t,r){if(t){if(this._data)throw new Error("superagent can't mix .send() and .attach()");let n=r||{};typeof r=="string"&&(n={filename:r}),typeof t=="string"?(n.filename||(n.filename=t),As("creating `fs.ReadStream` instance for file: %s",t),t=Xer.createReadStream(t),t.on("error",i=>{this._getFormData().emit("error",i)})):!n.filename&&t.path&&(n.filename=t.path),this._getFormData().append(e,t,n)}return this};yt.prototype._getFormData=function(){return this._formData||(this._formData=new bBe,this._formData.on("error",e=>{As("FormData error",e),!this.called&&(this.callback(e),this.abort())})),this._formData};yt.prototype.agent=function(e){return arguments.length===0?this._agent:(this._agent=e,this)};yt.prototype.lookup=function(e){return arguments.length===0?this._lookup:(this._lookup=e,this)};yt.prototype.type=function(e){return this.set("Content-Type",e.includes("/")?e:jG.getType(e))};yt.prototype.accept=function(e){return this.set("Accept",e.includes("/")?e:jG.getType(e))};yt.prototype.query=function(e){return typeof e=="string"?this._query.push(e):Object.assign(this.qs,e),this};yt.prototype.write=function(e,t){let r=this.request();return this._streamRequest||(this._streamRequest=!0),r.write(e,t)};yt.prototype.pipe=function(e,t){return this.piped=!0,this.buffer(!1),this.end(),this._pipeContinue(e,t)};yt.prototype._pipeContinue=function(e,t){return this.req.once("response",r=>{if(wBe(r.statusCode)&&this._redirects++!==this._maxRedirects)return this._redirect(r)===this?this._pipeContinue(e,t):void 0;if(this.res=r,this._emitResponse(),!this._aborted){if(this._shouldUnzip(r)){let n=Qer.createUnzip();n.on("error",i=>{if(i&&i.code==="Z_BUF_ERROR"){e.emit("end");return}e.emit("error",i)}),r.pipe(n).pipe(e,t)}else r.pipe(e,t);r.once("end",()=>{this.emit("end")})}}),e};yt.prototype.buffer=function(e){return this._buffer=e!==!1,this};yt.prototype._redirect=function(e){let t=e.headers.location;if(!t)return this.callback(new Error("No location header for redirect"),e);As("redirect %s -> %s",this.url,t),t=Jer(this.url,t),e.resume();let r=this.req.getHeaders?this.req.getHeaders():this.req._headers,n=qG(t).host!==qG(this.url).host;return(e.statusCode===301||e.statusCode===302)&&(r=Ub.cleanHeader(r,n),this.method=this.method==="HEAD"?"HEAD":"GET",this._data=null),e.statusCode===303&&(r=Ub.cleanHeader(r,n),this.method="GET",this._data=null),delete r.host,delete this.req,delete this._formData,xBe(this),this.res=e,this._endCalled=!1,this.url=t,this.qs={},this._query.length=0,this.set(r),this._emitRedirect(),this._redirectList.push(this.url),this.end(this._callback),this};yt.prototype.auth=function(e,t,r){arguments.length===1&&(t=""),typeof t=="object"&&t!==null&&(r=t,t=""),r||(r={type:"basic"});let n=i=>Buffer.from(i).toString("base64");return this._auth(e,t,r,n)};yt.prototype.ca=function(e){return this._ca=e,this};yt.prototype.key=function(e){return this._key=e,this};yt.prototype.pfx=function(e){return typeof e=="object"&&!Buffer.isBuffer(e)?(this._pfx=e.pfx,this._passphrase=e.passphrase):this._pfx=e,this};yt.prototype.cert=function(e){return this._cert=e,this};yt.prototype.disableTLSCerts=function(){return this._disableTLSCerts=!0,this};yt.prototype.request=function(){if(this.req)return this.req;let e={};try{let s=yBe.stringify(this.qs,{indices:!1,strictNullHandling:!0});s&&(this.qs={},this._query.push(s)),this._finalizeQueryString()}catch(s){return this.emit("error",s)}let t=this.url,r=this._retries,n;if(t.includes("`")){let s=t.indexOf("?");s!==-1&&(n=t.slice(s+1).match(/`|%60/g))}if(t.indexOf("http")!==0&&(t=`http://${t}`),t=qG(t),n){let s=0;t.query=t.query.replace(/%60/g,()=>n[s++]),t.search=`?${t.query}`,t.path=t.pathname+t.search}if(/^https?\+unix:/.test(t.protocol)===!0){t.protocol=`${t.protocol.split("+")[0]}:`;let s=t.path.match(/^([^/]+)(.+)$/);e.socketPath=s[1].replace(/%2F/g,"/"),t.path=s[2]}if(this._connectOverride){let s=t,a=s.hostname,c=a in this._connectOverride?this._connectOverride[a]:this._connectOverride["*"];if(c){this._header.host||this.set("host",t.host);let l,u;typeof c=="object"?(l=c.host,u=c.port):(l=c,u=t.port),t.host=/:/.test(l)?`[${l}]`:l,u&&(t.host+=`:${u}`,t.port=u),t.hostname=l}}e.method=this.method,e.port=t.port,e.path=t.path,e.host=t.hostname,e.ca=this._ca,e.key=this._key,e.pfx=this._pfx,e.cert=this._cert,e.passphrase=this._passphrase,e.agent=this._agent,e.lookup=this._lookup,e.rejectUnauthorized=typeof this._disableTLSCerts=="boolean"?!this._disableTLSCerts:process.env.NODE_TLS_REJECT_UNAUTHORIZED!=="0",this._header.host&&(e.servername=this._header.host.replace(/:\d+$/,"")),this._trustLocalhost&&/^(?:localhost|127\.0\.0\.\d+|(0*:)+:0*1)$/.test(t.hostname)&&(e.rejectUnauthorized=!1);let i=this._enableHttp2?It.protocols["http2:"].setProtocol(t.protocol):It.protocols[t.protocol];this.req=i.request(e);let o=this.req;if(o.setNoDelay(!0),e.method!=="HEAD"&&o.setHeader("Accept-Encoding","gzip, deflate"),this.protocol=t.protocol,this.host=t.host,o.once("drain",()=>{this.emit("drain")}),o.on("error",s=>{this._aborted||this._retries===r&&(this.response||this.callback(s))}),t.auth){let s=t.auth.split(":");this.auth(s[0],s[1])}this.username&&this.password&&this.auth(this.username,this.password);for(let s in this.header)kG(this.header,s)&&o.setHeader(s,this.header[s]);if(this.cookies)if(kG(this._header,"cookie")){let s=new hBe.CookieJar;s.setCookies(this._header.cookie.split("; ")),s.setCookies(this.cookies.split("; ")),o.setHeader("Cookie",s.getCookies(hBe.CookieAccessInfo.All).toValueString())}else o.setHeader("Cookie",this.cookies);return o};yt.prototype.callback=function(e,t){if(this._shouldRetry(e,t))return this._retry();let r=this._callback||SBe;if(this.clearTimeout(),this.called)return console.warn("superagent: double callback bug");if(this.called=!0,!e)try{if(!this._isResponseOK(t)){let n="Unsuccessful HTTP response";t&&(n=_Be.STATUS_CODES[t.status]||n),e=new Error(n),e.status=t?t.status:void 0}}catch(n){e=n,e.status=e.status||(t?t.status:void 0)}if(!e)return r(null,t);e.response=t,this._maxRetries&&(e.retries=this._retries-1),e&&this.listeners("error").length>0&&this.emit("error",e),r(e,t)};yt.prototype._isHost=function(e){return Buffer.isBuffer(e)||e instanceof $b||e instanceof bBe};yt.prototype._emitResponse=function(e,t){let r=new FG(this);return this.response=r,r.redirects=this._redirectList,e!==void 0&&(r.body=e),r.files=t,this._endCalled&&(r.pipe=function(){throw new Error("end() has already been called, so it's too late to start piping")}),this.emit("response",r),r};yt.prototype._emitRedirect=function(){let e=new FG(this);e.redirects=this._redirectList,this.emit("redirect",e)};yt.prototype.end=function(e){if(this.request(),As("%s %s",this.method,this.url),this._endCalled)throw new Error(".end() was called twice. This is not supported in superagent");this._endCalled=!0,this._callback=e||SBe,this._end()};yt.prototype._end=function(){if(this._aborted)return this.callback(new Error("The request has been aborted even before .end() was called"));let e=this._data,t=this.req,r=this.method;if(this._setTimeouts(),r!=="HEAD"&&!t._headerSent){if(typeof e!="string"){let s=t.getHeader("Content-Type");s&&(s=s.split(";")[0]);let a=this._serializer||It.serialize[s];!a&&DG(s)&&(a=It.serialize["application/json"]),a&&(e=a(e))}e&&!t.getHeader("Content-Length")&&t.setHeader("Content-Length",Buffer.isBuffer(e)?e.length:Buffer.byteLength(e))}t.once("response",s=>{if(As("%s %s -> %s",this.method,this.url,s.statusCode),this._responseTimeoutTimer&&clearTimeout(this._responseTimeoutTimer),this.piped)return;let a=this._maxRedirects,c=Ub.type(s.headers["content-type"]||"")||"text/plain",l=c.split("/")[0];l&&(l=l.toLowerCase().trim());let u=l==="multipart",d=wBe(s.statusCode),m=this._responseType;if(this.res=s,d&&this._redirects++!==a)return this._redirect(s);if(this.method==="HEAD"){this.emit("end"),this.callback(null,this._emitResponse());return}this._shouldUnzip(s)&&otr(t,s);let f=this._buffer;f===void 0&&c in It.buffer&&(f=!!It.buffer[c]);let _=this._parser;if(f===void 0&&_&&(console.warn("A custom superagent parser has been set, but buffering strategy for the parser hasn't been configured. Call `req.buffer(true or false)` or set `superagent.buffer[mime] = true or false`"),f=!0),!_)if(m)_=It.parse.image,f=!0;else if(u){let x=etr();_=x.parse.bind(x),f=!0}else ctr(c)?(_=It.parse.image,f=!0):It.parse[c]?_=It.parse[c]:l==="text"?(_=It.parse.text,f=f!==!1):DG(c)?(_=It.parse["application/json"],f=f!==!1):f?_=It.parse.text:f===void 0&&(_=It.parse.image,f=!0);(f===void 0&&atr(c)||DG(c))&&(f=!0),this._resBuffered=f;let w=!1;if(f){let x=this._maxResponseSize||2e8;s.on("data",C=>{if(x-=C.byteLength||C.length>0?C.length:0,x<0){let I=new Error("Maximum response size reached");I.code="ETOOLARGE",w=!1,s.destroy(I),this.callback(I,null)}})}if(_)try{w=f,_(s,(x,C,I)=>{if(!this.timedout){if(x&&!this._aborted)return this.callback(x);w&&(this.emit("end"),this.callback(null,this._emitResponse(C,I)))}})}catch(x){this.callback(x);return}if(this.res=s,!f){if(As("unbuffered %s %s",this.method,this.url),this.callback(null,this._emitResponse()),u)return;s.once("end",()=>{As("end %s %s",this.method,this.url),this.emit("end")});return}s.once("error",x=>{w=!1,this.callback(x,null)}),w||s.once("end",()=>{As("end %s %s",this.method,this.url),this.emit("end"),this.callback(null,this._emitResponse())})}),this.emit("request",this);let n=()=>{let a=t.getHeader("Content-Length"),c=0,l=new $b.Transform;return l._transform=(u,d,m)=>{c+=u.length,this.emit("progress",{direction:"upload",lengthComputable:!0,loaded:c,total:a}),m(null,u)},l},i=s=>{let c=new $b.Readable,l=s.length,u=l%16384,d=l-u;for(let m=0;m<d;m+=16384){let f=s.slice(m,m+16384);c.push(f)}if(u>0){let m=s.slice(-u);c.push(m)}return c.push(null),c},o=this._formData;if(o){let s=o.getHeaders();for(let a in s)kG(s,a)&&(As('setting FormData header: "%s: %s"',a,s[a]),t.setHeader(a,s[a]));o.getLength((a,c)=>{a&&As("formData.getLength had error",a,c),As("got FormData Content-Length: %s",c),typeof c=="number"&&t.setHeader("Content-Length",c),o.pipe(n()).pipe(t)})}else Buffer.isBuffer(e)?i(e).pipe(n()).pipe(t):t.end(e)};yt.prototype._shouldUnzip=e=>e.statusCode===204||e.statusCode===304||e.headers["content-length"]==="0"?!1:/^\s*(?:deflate|gzip)\s*$/.test(e.headers["content-encoding"]);yt.prototype.connect=function(e){return typeof e=="string"?this._connectOverride={"*":e}:typeof e=="object"?this._connectOverride=e:this._connectOverride=void 0,this};yt.prototype.trustLocalhost=function(e){return this._trustLocalhost=e===void 0?!0:e,this};Fb.includes("del")||(Fb=[...Fb],Fb.push("del"));var XI=Wer(Fb),gBe;try{for(XI.s();!(gBe=XI.n()).done;){let e=gBe.value,t=e;e=e==="del"?"delete":e,e=e.toUpperCase(),MG[t]=(r,n,i)=>{let o=MG(e,r);return typeof n=="function"&&(i=n,n=null),n&&(e==="GET"||e==="HEAD"?o.query(n):o.send(n)),i&&o.end(i),o}}}catch(e){XI.e(e)}finally{XI.f()}function atr(e){let t=e.split("/"),r=t[0];r&&(r=r.toLowerCase().trim());let n=t[1];return n&&(n=n.toLowerCase().trim()),r==="text"||n==="x-www-form-urlencoded"}function ctr(e){let t=e.split("/"),r=Ver(t,2),n=r[0],i=r[1];return n&&(n=n.toLowerCase().trim()),i&&(i=i.toLowerCase().trim()),["audio","font","image","video"].includes(n)||["gz","gzip"].includes(i)}function DG(e){return/[/+]json($|[^-\w])/i.test(e)}function wBe(e){return[301,302,303,305,307,308].includes(e)}});var BG=p(Ho=>{"use strict";var ltr=Ho&&Ho.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ho,"__esModule",{value:!0});Ho.ComponentLogger=Ho.MAX_TAG_LENGTH=Ho.MAX_MESSAGE_LENGTH=void 0;var utr=ltr(PG()),dtr=kj(),ptr=100;Ho.MAX_MESSAGE_LENGTH=2e5;Ho.MAX_TAG_LENGTH=200;var ftr=dtr.trace.getTracer("component-logger-lib:ComponentLogger"),UG=class{constructor(t){if(this.config=t,this.batch=[],t.enabled){if(!t.logUrl)throw new Error("config.logUrl is required");if(!t.key)throw new Error("config.key is required");if(!t.tenantId)throw new Error("config.tenantId is required")}}async debug(t,r,n,i){return this.append("DEBUG",t,r,n,i)}async info(t,r,n,i){return this.append("INFO",t,r,n,i)}async warn(t,r,n,i){return this.append("WARN",t,r,n,i)}async error(t,r,n,i){return this.append("ERROR",t,r,n,i)}async append(t,r,n,i,o){var s;let a=typeof r=="string"?r:JSON.stringify(r),c={level:t,service:this.config.serviceName,timestamp:new Date().toISOString(),message:a.slice(0,Ho.MAX_MESSAGE_LENGTH),traceid:n,userid:i},l="";!((s=this.config.tags)===null||s===void 0)&&s.length&&(l+=this.config.tags),o&&(l+=` ${o}`),l.length&&(c={...c,tags:this.cleanTags(l)}),this.batch.push(c),this.batch.length==ptr&&await this.flush()}cleanTags(t){return t=t.replace(/[^A-Za-z0-9.:_/-\s]/g,""),t=t.slice(0,Ho.MAX_TAG_LENGTH),t}async flush(t=!0){let r=this.flushInternal();t||await r}async flushInternal(){if(!(!this.config.enabled||this.batch.length===0))return ftr.startActiveSpan("flush",{attributes:{"batch.length":this.batch.length}},async t=>{let r=this.batch;this.batch=[];try{let n=`${this.config.logUrl.replace(/\/+$/,"")}`;await utr.default.post(n).set({"x-dxp-tenant":this.config.tenantId,"x-api-key":this.config.key}).send(r)}catch(n){if(this.batch.push(...r),!(n instanceof Error))throw n;if("response"in n&&typeof n.response=="object"&&"error"in n.response){console.warn("Failed to post logs: %s",n.response.error);return}console.warn("Failed to post logs: %s",n)}finally{t.end()}})}};Ho.ComponentLogger=UG});var ABe=p(QI=>{"use strict";Object.defineProperty(QI,"__esModule",{value:!0});QI.getComponentLogger=void 0;var mtr=BG(),CBe=Ax();async function htr(e){if(e.accessSecret&&e.accessCredentials)throw new Error("Only either of Logging Service API accessSecret or accessCredentials should be provided");let t="";e.enabled&&(e.accessCredentials?t=e.accessCredentials:e.accessSecret&&(t=await gtr(e.accessSecret)));let r={url:"",key:""};return t.length&&(r=JSON.parse(t)),new mtr.ComponentLogger({enabled:e.enabled,tenantId:e.tenantId,logUrl:r.url,key:r.key,tags:e.tags,serviceName:e.serviceName})}QI.getComponentLogger=htr;async function gtr(e){let r=await new CBe.SecretsManagerClient({}).send(new CBe.GetSecretValueCommand({SecretId:e}));if(r.SecretString===void 0)throw new Error(`Secret ${e} could not be found`);return r.SecretString}});var OBe=p(Eg=>{"use strict";Object.defineProperty(Eg,"__esModule",{value:!0});Eg.getComponentLogger=Eg.ComponentLogger=void 0;var vtr=BG();Object.defineProperty(Eg,"ComponentLogger",{enumerable:!0,get:function(){return vtr.ComponentLogger}});var _tr=ABe();Object.defineProperty(Eg,"getComponentLogger",{enumerable:!0,get:function(){return _tr.getComponentLogger}})});var wtr={};Pi(wtr,{componentInit:()=>VG,startDevelopmentRender:()=>qBe,startEdgeDevelopmentRender:()=>jBe,uploadComponentFolder:()=>cLe,uploadJobFolder:()=>GBe});module.exports=se(wtr);var iLe=ce(CP()),oLe=ce(ft()),sLe=ce(tI()),vb=ce(require("fs/promises")),n3=ce(require("path")),iI=ce(require("cli-color")),aLe=ce(hc());var eLe=require("axios"),tLe=require("child_process");async function rI(e,t,r,n){let i;return n?i=()=>Wu(e.get(t+r,{baseURL:n})):i=()=>Wu(e.get(t+r)),new Promise((o,s)=>{let a=()=>i().then(async c=>{c.status=="Success"?o():c.status=="Flagged"?s(new Error("upload has been flagged as a virus")):c.status=="Error"?s(new Error("there has been an error")):setTimeout(async()=>{await a()},1e3)});a()})}async function Zh(e,t,r){var n;try{let i=await e.get(t,{validateStatus:null,baseURL:r});if(i.status===200)return!0;if(i.status===404)return!1;let o=new eLe.AxiosError(((n=i==null?void 0:i.data)==null?void 0:n.message)||i.statusText,i.status.toString(),void 0,void 0,i);throw gb(o)}catch(i){throw gb(i)}}async function Wu(e){try{let t=await e;if(t.status.toString().startsWith("2"))return t.data;throw gb(t.data)}catch(t){throw gb(t)}}function gb(e){var i;let{response:t}=e,r=e.message,n=new Error(r||"An error has occurred");if(sKt(e)){let o=(t==null?void 0:t.status)??"unknown";(i=t==null?void 0:t.data)!=null&&i.message?n.message=`Unexpected response code ${o}. ${t.data.message}`.trim():n.message=`${r} (code: ${o})`}return n.stack=e.stack,n}function sKt(e){return e&&e.isAxiosError===!0}function nI(e){return e instanceof Object&&Object.prototype.hasOwnProperty.call(e,"status")}function ZMe(e){try{return(0,tLe.execSync)(e,{encoding:"utf-8",stdio:["pipe","pipe","ignore"]}).trim()}catch{return""}}function rLe(e="squiz"){let t=ZMe("npm whoami");return t?ZMe(`npm org ls ${t} ${e}`).includes("user"):!1}async function nLe(e,t,r,n){if(e!=="edge")try{if((await t.get(r,{baseURL:n})).data.edgeComponentsOnly)throw Error('Cannot upload "server" type component. Tenant component service is configured to allow "edge" type components only.')}catch(i){throw gb(i)}}var Bo=(0,aLe.getLogger)({name:"upload-component",format:"human"});async function cLe(e,t,r,n=""){r==="."&&(n="../");let i=await vb.default.mkdtemp(n3.default.resolve(n,"cmp-upload"));try{let o=new sLe.ManifestServiceForDev(r,Bo),s=n3.default.join(r,"manifest.json"),a=await o.readManifest(s);await nLe(a.type,e,"/health",t);let c=!rLe();if(await o.assertManifestIsValid(s,a.getModel(),{validateNamespace:c}),await Zh(e,`/v1/component/${a.getName()}/${a.getVersion()}`,t))throw new Error(`Cannot upload component version, ${a.getName()} ${a.getVersion()} already exists`);Bo.info("Initial scanning");let l=await(0,oLe.zipDirectory)(r,i),u=await Wu(e.post("/v1/upload-component",{},{baseURL:t}));Bo.info(`deployment id: ${u.id} status: transferring`),await(0,iLe.uploadFile)(u,l),await rI(e,"/v1/upload-component/status/",u.id,t),Bo.info(`deployment id: ${u.id} status: deploying component folder`);let d=await Wu(e.post(`/v1/upload-component/next/${u.id}`,{},{baseURL:t}));if(!nI(d)){let m=12;for(;m>0;){if(Bo.info(`deployment id: ${u.id} status: ${iI.default.yellow(`unknown, retrying to check the upload status ${m} more times`)}`),await Zh(e,`/v1/component/${a.getName()}/${a.getVersion()}`,t)){d={status:"successful",accessLink:"unknown"};break}await new Promise(f=>setTimeout(f,1e4)),m--}if(m===0)throw Bo.error(`deployment id: ${u.id} status: ${iI.default.red("failed to check the upload status")}`),new Error(d.toString())}if(await vb.default.rm(i,{force:!0,recursive:!0}).catch(m=>{Bo.error("failed to remove temp directory",m)}),d.status==="successful")Bo.info(`deployment id: ${u.id} status: ${iI.default.green("success")}`),Bo.info(`uploaded location: ${d.accessLink}`);else{let m=(d==null?void 0:d.message)??"unknown";Bo.error(`failed due an unexpected reason: ${m}`),await vb.default.rm(i,{force:!0,recursive:!0}).catch(f=>{Bo.error("failed to remove temp directory",f)})}}catch(o){throw await vb.default.rm(i,{force:!0,recursive:!0}).catch(s=>{Bo.error("failed to remove temp directory",s)}),o}}var Zu=require("@squiz/render-runtime-lib"),TBe=require("@squiz/runtime-sandbox-node"),RBe=ce(hc()),IBe=ce(require("path")),Sg=ce(tI()),PBe=ce(require("open")),NBe=ce(ft()),DBe=ce(OBe());function qBe(e,t){let r=(0,RBe.getLogger)({name:"component-dev",format:t.loggingFormat||"human",silent:process.env.NODE_ENV==="test"}),n=new DBe.ComponentLogger({enabled:!1,tenantId:"dev-tenant-id",logUrl:"",key:"",tags:"tag-foo tag-foo2",serviceName:"component-dev"}),i=IBe.default.resolve(process.cwd(),e),o=`http://localhost:${t.port}`,s=()=>o,a=new NBe.DevelopmentApiKeyService,c=new TBe.NodeSandbox({workerPool:{shouldCacheResponses:!1,workerLimits:{minWorkers:2,maxWorkers:2}}}),l=new Zu.ComponentRunnerServiceWithWorkers(c,r,n),u=new Sg.ComponentFunctionService,d=new Sg.ComponentSetServiceForLocalDev(r),m=new Sg.ManifestServiceForDev(i,r),f=void 0,_=new Zu.RenderInputService(a,d,m,u,f,s),x=(0,Zu.setupRenderRuntimeServer)({logger:r,componentRunnerService:l,componentFunctionService:u,componentPreviewService:new Zu.ComponentPreviewService,componentSetService:d,manifestService:m,renderInputService:_,apiKeyService:a,sandbox:c,componentRootUrlResolver:s},{enableDevMode:!0}).listen(t.port,()=>{r.info(`Component development webserver started on port ${o}`)});return(t==null?void 0:t.noBrowser)!==!0&&(0,PBe.default)(o),x.on("close",async()=>{await l.stop()}),x}var ed=require("@squiz/edge-dev-render-runtime-lib"),kBe=ce(hc()),MBe=ce(require("path")),xg=ce(tI()),LBe=ce(require("open"));function jBe(e,t){let r=(0,kBe.getLogger)({name:"component-dev",format:t.loggingFormat||"human",silent:process.env.NODE_ENV==="test"}),n=MBe.default.resolve(process.cwd(),e),i=`http://localhost:${t.port}`,o=()=>i,s=new ed.DevelopmentComponentRunnerService,a=new xg.ComponentFunctionService,c=new xg.ComponentSetServiceForLocalDev(r),l=new xg.ManifestServiceForDev(n,r),u=new ed.RenderInputService(c,l,a,o),m=(0,ed.setupRenderRuntimeServer)({logger:r,developmentComponentRunnerService:s,componentFunctionService:a,componentPreviewService:new ed.ComponentPreviewService,componentSetService:c,manifestService:l,renderInputService:u,componentRootUrlResolver:o},{enableDevMode:!0}).listen(t.port,()=>{r.info(`Edge Component development webserver started on port ${i}`)});return(t==null?void 0:t.noBrowser)!==!0&&(0,LBe.default)(i),m.on("close",async()=>{}),m}var Pp=ce(Bp()),Bb=ce(require("path")),FBe=ce(hc()),ytr={name:"default",displayName:"Default",description:"Default component",namespace:"default-namespace"};async function VG(e){let t=(0,FBe.getLogger)({name:"component-dev",format:e.loggingFormat||"human",silent:process.env.NODE_ENV==="test"});t.info("Initializing component...");let r=Bb.default.resolve(__dirname),n=Bb.default.join(r,"templates",e.componentType),i=Bb.default.resolve(e.destination);if(await Pp.default.pathExists(i)){if((await Pp.default.readdir(i)).length>0)throw new Error("The destination folder already exists and is not empty.")}else await Pp.default.mkdirp(i);await Pp.default.copy(n,i),await btr({destination:i,prompts:Object.assign({},ytr,e.prompts)}),t.info("Component initialized!")}async function btr(e){let{destination:t,prompts:r}=e,n=Bb.default.resolve(t,"manifest.json"),i=await Pp.default.readJSON(n);i.name=r.name,i.displayName=r.displayName,i.description=r.description,i.namespace=r.namespace,await Pp.default.writeJSON(n,i,{spaces:2})}var $Be=ce(CP()),UBe=ce(ft()),BBe=require("@squiz/job-runner-lib"),zG=ce(require("fs/promises")),HG=ce(require("path")),ZI=ce(require("cli-color")),VBe=ce(hc());var rl=(0,VBe.getLogger)({name:"upload-job",format:"human"});async function GBe(e,t,r=""){let n=await zG.default.mkdtemp(HG.default.resolve(r,"job-upload"));try{let i=await Str(e,t),o=await Etr(e,t,n);await(0,$Be.uploadFile)(o.upload,o.zip),await rI(e,"/upload-job/status/",o.upload.id),rl.info(`deployment id: ${o.upload.id} status: deploying job folder`);let s=await xtr(e,o.upload.id,i.getModel());if(await GG(n),s.status==="successful")rl.info(`deployment id: ${o.upload.id} status: ${ZI.default.green("success")}`);else{let a=(s==null?void 0:s.message)??"unknown";rl.error(`failed due an unexpected reason: ${a}`),await GG(n)}}catch(i){throw await GG(n),i}}async function Etr(e,t,r){rl.info("Initial scanning");let i={zip:await(0,UBe.zipDirectory)(t,r),upload:await Wu(e.post("/upload-job",{}))};return rl.info(`deployment id: ${i.upload.id} status: transferring`),i}async function Str(e,t){let r=new BBe.ManifestServiceForDev(t,rl),n=HG.default.join(t,"manifest.json"),i=await r.readJobManifest(n);if(await Zh(e,`/job/${i.getName()}/${i.getVersion()}`))throw new Error(`Cannot upload job version, ${i.getName()} ${i.getVersion()} already exists`);return i}async function xtr(e,t,r){let n=await Wu(e.post("/upload-job/next",{id:t,manifest:r}));if(!nI(n)){let i=12;for(;i>0;){if(rl.info(`deployment id: ${t} status: ${ZI.default.yellow(`unknown, retrying to check the upload status ${i} more times`)}`),await Zh(e,`/job/${r.name}/${r.version}`)){n={status:"successful"};break}await new Promise(o=>setTimeout(o,1e4)),i--}if(i===0)throw rl.error(`deployment id: ${t} status: ${ZI.default.red("failed to check the upload status")}`),new Error(n.toString())}return n}async function GG(e){await zG.default.rm(e,{force:!0,recursive:!0}).catch(t=>{rl.error("failed to remove temp directory",t)})}0&&(module.exports={componentInit,startDevelopmentRender,startEdgeDevelopmentRender,uploadComponentFolder,uploadJobFolder});
292
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,a;return{s:function(){r=r.call(e)},n:function(){var l=r.next();return o=l.done,l},e:function(l){s=!0,a=l},f:function(){try{!o&&r.return!=null&&r.return()}finally{if(s)throw a}}}}function vBe(e,t){if(e){if(typeof e=="string")return mBe(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return mBe(e,t)}}function mBe(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var LG=require("url"),qG=LG.parse,Ker=LG.format,Jer=LG.resolve,$b=require("stream"),Yer=require("https"),_Be=require("http"),Xer=require("fs"),Qer=require("zlib"),Zer=require("util"),yBe=R3(),jG=eFe(),Fb=I3(),bBe=xP(),etr=v2e(),As=R2e()("superagent"),hBe=kI(),ttr=gg(),rtr=J2e(),Ub=Ib(),ntr=jUe(),itr=$Ue(),otr=itr.unzip,FG=zUe(),str=Ub.mixin,kG=Ub.hasOwn,EBe;ttr(process.version,"v10.10.0")&&(EBe=JUe());function MG(e,t){return typeof t=="function"?new It.Request("GET",e).end(t):arguments.length===1?new It.Request("GET",e):new It.Request(e,t)}$G.exports=MG;It=$G.exports;It.Request=yt;It.agent=iBe();function SBe(){}It.Response=FG;jG.define({"application/x-www-form-urlencoded":["form","urlencoded","form-data"]},!0);It.protocols={"http:":_Be,"https:":Yer,"http2:":EBe};It.serialize={"application/x-www-form-urlencoded":yBe.stringify,"application/json":rtr};It.parse=fBe();It.buffer={};function xBe(e){e._header={},e.header={}}function yt(e,t){$b.call(this),typeof t!="string"&&(t=Ker(t)),this._enableHttp2=!!process.env.HTTP2_TEST,this._agent=!1,this._formData=null,this.method=e,this.url=t,xBe(this),this.writable=!0,this._redirects=0,this.redirects(e==="HEAD"?0:5),this.cookies="",this.qs={},this._query=[],this.qsRaw=this._query,this._redirectList=[],this._streamRequest=!1,this._lookup=void 0,this.once("end",this.clearTimeout.bind(this))}Zer.inherits(yt,$b);str(yt.prototype,ntr.prototype);yt.prototype.http2=function(e){if(It.protocols["http2:"]===void 0)throw new Error("superagent: this version of Node.js does not support http2");return this._enableHttp2=e===void 0?!0:e,this};yt.prototype.attach=function(e,t,r){if(t){if(this._data)throw new Error("superagent can't mix .send() and .attach()");let n=r||{};typeof r=="string"&&(n={filename:r}),typeof t=="string"?(n.filename||(n.filename=t),As("creating `fs.ReadStream` instance for file: %s",t),t=Xer.createReadStream(t),t.on("error",i=>{this._getFormData().emit("error",i)})):!n.filename&&t.path&&(n.filename=t.path),this._getFormData().append(e,t,n)}return this};yt.prototype._getFormData=function(){return this._formData||(this._formData=new bBe,this._formData.on("error",e=>{As("FormData error",e),!this.called&&(this.callback(e),this.abort())})),this._formData};yt.prototype.agent=function(e){return arguments.length===0?this._agent:(this._agent=e,this)};yt.prototype.lookup=function(e){return arguments.length===0?this._lookup:(this._lookup=e,this)};yt.prototype.type=function(e){return this.set("Content-Type",e.includes("/")?e:jG.getType(e))};yt.prototype.accept=function(e){return this.set("Accept",e.includes("/")?e:jG.getType(e))};yt.prototype.query=function(e){return typeof e=="string"?this._query.push(e):Object.assign(this.qs,e),this};yt.prototype.write=function(e,t){let r=this.request();return this._streamRequest||(this._streamRequest=!0),r.write(e,t)};yt.prototype.pipe=function(e,t){return this.piped=!0,this.buffer(!1),this.end(),this._pipeContinue(e,t)};yt.prototype._pipeContinue=function(e,t){return this.req.once("response",r=>{if(wBe(r.statusCode)&&this._redirects++!==this._maxRedirects)return this._redirect(r)===this?this._pipeContinue(e,t):void 0;if(this.res=r,this._emitResponse(),!this._aborted){if(this._shouldUnzip(r)){let n=Qer.createUnzip();n.on("error",i=>{if(i&&i.code==="Z_BUF_ERROR"){e.emit("end");return}e.emit("error",i)}),r.pipe(n).pipe(e,t)}else r.pipe(e,t);r.once("end",()=>{this.emit("end")})}}),e};yt.prototype.buffer=function(e){return this._buffer=e!==!1,this};yt.prototype._redirect=function(e){let t=e.headers.location;if(!t)return this.callback(new Error("No location header for redirect"),e);As("redirect %s -> %s",this.url,t),t=Jer(this.url,t),e.resume();let r=this.req.getHeaders?this.req.getHeaders():this.req._headers,n=qG(t).host!==qG(this.url).host;return(e.statusCode===301||e.statusCode===302)&&(r=Ub.cleanHeader(r,n),this.method=this.method==="HEAD"?"HEAD":"GET",this._data=null),e.statusCode===303&&(r=Ub.cleanHeader(r,n),this.method="GET",this._data=null),delete r.host,delete this.req,delete this._formData,xBe(this),this.res=e,this._endCalled=!1,this.url=t,this.qs={},this._query.length=0,this.set(r),this._emitRedirect(),this._redirectList.push(this.url),this.end(this._callback),this};yt.prototype.auth=function(e,t,r){arguments.length===1&&(t=""),typeof t=="object"&&t!==null&&(r=t,t=""),r||(r={type:"basic"});let n=i=>Buffer.from(i).toString("base64");return this._auth(e,t,r,n)};yt.prototype.ca=function(e){return this._ca=e,this};yt.prototype.key=function(e){return this._key=e,this};yt.prototype.pfx=function(e){return typeof e=="object"&&!Buffer.isBuffer(e)?(this._pfx=e.pfx,this._passphrase=e.passphrase):this._pfx=e,this};yt.prototype.cert=function(e){return this._cert=e,this};yt.prototype.disableTLSCerts=function(){return this._disableTLSCerts=!0,this};yt.prototype.request=function(){if(this.req)return this.req;let e={};try{let s=yBe.stringify(this.qs,{indices:!1,strictNullHandling:!0});s&&(this.qs={},this._query.push(s)),this._finalizeQueryString()}catch(s){return this.emit("error",s)}let t=this.url,r=this._retries,n;if(t.includes("`")){let s=t.indexOf("?");s!==-1&&(n=t.slice(s+1).match(/`|%60/g))}if(t.indexOf("http")!==0&&(t=`http://${t}`),t=qG(t),n){let s=0;t.query=t.query.replace(/%60/g,()=>n[s++]),t.search=`?${t.query}`,t.path=t.pathname+t.search}if(/^https?\+unix:/.test(t.protocol)===!0){t.protocol=`${t.protocol.split("+")[0]}:`;let s=t.path.match(/^([^/]+)(.+)$/);e.socketPath=s[1].replace(/%2F/g,"/"),t.path=s[2]}if(this._connectOverride){let s=t,a=s.hostname,c=a in this._connectOverride?this._connectOverride[a]:this._connectOverride["*"];if(c){this._header.host||this.set("host",t.host);let l,u;typeof c=="object"?(l=c.host,u=c.port):(l=c,u=t.port),t.host=/:/.test(l)?`[${l}]`:l,u&&(t.host+=`:${u}`,t.port=u),t.hostname=l}}e.method=this.method,e.port=t.port,e.path=t.path,e.host=t.hostname,e.ca=this._ca,e.key=this._key,e.pfx=this._pfx,e.cert=this._cert,e.passphrase=this._passphrase,e.agent=this._agent,e.lookup=this._lookup,e.rejectUnauthorized=typeof this._disableTLSCerts=="boolean"?!this._disableTLSCerts:process.env.NODE_TLS_REJECT_UNAUTHORIZED!=="0",this._header.host&&(e.servername=this._header.host.replace(/:\d+$/,"")),this._trustLocalhost&&/^(?:localhost|127\.0\.0\.\d+|(0*:)+:0*1)$/.test(t.hostname)&&(e.rejectUnauthorized=!1);let i=this._enableHttp2?It.protocols["http2:"].setProtocol(t.protocol):It.protocols[t.protocol];this.req=i.request(e);let o=this.req;if(o.setNoDelay(!0),e.method!=="HEAD"&&o.setHeader("Accept-Encoding","gzip, deflate"),this.protocol=t.protocol,this.host=t.host,o.once("drain",()=>{this.emit("drain")}),o.on("error",s=>{this._aborted||this._retries===r&&(this.response||this.callback(s))}),t.auth){let s=t.auth.split(":");this.auth(s[0],s[1])}this.username&&this.password&&this.auth(this.username,this.password);for(let s in this.header)kG(this.header,s)&&o.setHeader(s,this.header[s]);if(this.cookies)if(kG(this._header,"cookie")){let s=new hBe.CookieJar;s.setCookies(this._header.cookie.split("; ")),s.setCookies(this.cookies.split("; ")),o.setHeader("Cookie",s.getCookies(hBe.CookieAccessInfo.All).toValueString())}else o.setHeader("Cookie",this.cookies);return o};yt.prototype.callback=function(e,t){if(this._shouldRetry(e,t))return this._retry();let r=this._callback||SBe;if(this.clearTimeout(),this.called)return console.warn("superagent: double callback bug");if(this.called=!0,!e)try{if(!this._isResponseOK(t)){let n="Unsuccessful HTTP response";t&&(n=_Be.STATUS_CODES[t.status]||n),e=new Error(n),e.status=t?t.status:void 0}}catch(n){e=n,e.status=e.status||(t?t.status:void 0)}if(!e)return r(null,t);e.response=t,this._maxRetries&&(e.retries=this._retries-1),e&&this.listeners("error").length>0&&this.emit("error",e),r(e,t)};yt.prototype._isHost=function(e){return Buffer.isBuffer(e)||e instanceof $b||e instanceof bBe};yt.prototype._emitResponse=function(e,t){let r=new FG(this);return this.response=r,r.redirects=this._redirectList,e!==void 0&&(r.body=e),r.files=t,this._endCalled&&(r.pipe=function(){throw new Error("end() has already been called, so it's too late to start piping")}),this.emit("response",r),r};yt.prototype._emitRedirect=function(){let e=new FG(this);e.redirects=this._redirectList,this.emit("redirect",e)};yt.prototype.end=function(e){if(this.request(),As("%s %s",this.method,this.url),this._endCalled)throw new Error(".end() was called twice. This is not supported in superagent");this._endCalled=!0,this._callback=e||SBe,this._end()};yt.prototype._end=function(){if(this._aborted)return this.callback(new Error("The request has been aborted even before .end() was called"));let e=this._data,t=this.req,r=this.method;if(this._setTimeouts(),r!=="HEAD"&&!t._headerSent){if(typeof e!="string"){let s=t.getHeader("Content-Type");s&&(s=s.split(";")[0]);let a=this._serializer||It.serialize[s];!a&&DG(s)&&(a=It.serialize["application/json"]),a&&(e=a(e))}e&&!t.getHeader("Content-Length")&&t.setHeader("Content-Length",Buffer.isBuffer(e)?e.length:Buffer.byteLength(e))}t.once("response",s=>{if(As("%s %s -> %s",this.method,this.url,s.statusCode),this._responseTimeoutTimer&&clearTimeout(this._responseTimeoutTimer),this.piped)return;let a=this._maxRedirects,c=Ub.type(s.headers["content-type"]||"")||"text/plain",l=c.split("/")[0];l&&(l=l.toLowerCase().trim());let u=l==="multipart",d=wBe(s.statusCode),m=this._responseType;if(this.res=s,d&&this._redirects++!==a)return this._redirect(s);if(this.method==="HEAD"){this.emit("end"),this.callback(null,this._emitResponse());return}this._shouldUnzip(s)&&otr(t,s);let f=this._buffer;f===void 0&&c in It.buffer&&(f=!!It.buffer[c]);let _=this._parser;if(f===void 0&&_&&(console.warn("A custom superagent parser has been set, but buffering strategy for the parser hasn't been configured. Call `req.buffer(true or false)` or set `superagent.buffer[mime] = true or false`"),f=!0),!_)if(m)_=It.parse.image,f=!0;else if(u){let x=etr();_=x.parse.bind(x),f=!0}else ctr(c)?(_=It.parse.image,f=!0):It.parse[c]?_=It.parse[c]:l==="text"?(_=It.parse.text,f=f!==!1):DG(c)?(_=It.parse["application/json"],f=f!==!1):f?_=It.parse.text:f===void 0&&(_=It.parse.image,f=!0);(f===void 0&&atr(c)||DG(c))&&(f=!0),this._resBuffered=f;let w=!1;if(f){let x=this._maxResponseSize||2e8;s.on("data",C=>{if(x-=C.byteLength||C.length>0?C.length:0,x<0){let I=new Error("Maximum response size reached");I.code="ETOOLARGE",w=!1,s.destroy(I),this.callback(I,null)}})}if(_)try{w=f,_(s,(x,C,I)=>{if(!this.timedout){if(x&&!this._aborted)return this.callback(x);w&&(this.emit("end"),this.callback(null,this._emitResponse(C,I)))}})}catch(x){this.callback(x);return}if(this.res=s,!f){if(As("unbuffered %s %s",this.method,this.url),this.callback(null,this._emitResponse()),u)return;s.once("end",()=>{As("end %s %s",this.method,this.url),this.emit("end")});return}s.once("error",x=>{w=!1,this.callback(x,null)}),w||s.once("end",()=>{As("end %s %s",this.method,this.url),this.emit("end"),this.callback(null,this._emitResponse())})}),this.emit("request",this);let n=()=>{let a=t.getHeader("Content-Length"),c=0,l=new $b.Transform;return l._transform=(u,d,m)=>{c+=u.length,this.emit("progress",{direction:"upload",lengthComputable:!0,loaded:c,total:a}),m(null,u)},l},i=s=>{let c=new $b.Readable,l=s.length,u=l%16384,d=l-u;for(let m=0;m<d;m+=16384){let f=s.slice(m,m+16384);c.push(f)}if(u>0){let m=s.slice(-u);c.push(m)}return c.push(null),c},o=this._formData;if(o){let s=o.getHeaders();for(let a in s)kG(s,a)&&(As('setting FormData header: "%s: %s"',a,s[a]),t.setHeader(a,s[a]));o.getLength((a,c)=>{a&&As("formData.getLength had error",a,c),As("got FormData Content-Length: %s",c),typeof c=="number"&&t.setHeader("Content-Length",c),o.pipe(n()).pipe(t)})}else Buffer.isBuffer(e)?i(e).pipe(n()).pipe(t):t.end(e)};yt.prototype._shouldUnzip=e=>e.statusCode===204||e.statusCode===304||e.headers["content-length"]==="0"?!1:/^\s*(?:deflate|gzip)\s*$/.test(e.headers["content-encoding"]);yt.prototype.connect=function(e){return typeof e=="string"?this._connectOverride={"*":e}:typeof e=="object"?this._connectOverride=e:this._connectOverride=void 0,this};yt.prototype.trustLocalhost=function(e){return this._trustLocalhost=e===void 0?!0:e,this};Fb.includes("del")||(Fb=[...Fb],Fb.push("del"));var XI=Wer(Fb),gBe;try{for(XI.s();!(gBe=XI.n()).done;){let e=gBe.value,t=e;e=e==="del"?"delete":e,e=e.toUpperCase(),MG[t]=(r,n,i)=>{let o=MG(e,r);return typeof n=="function"&&(i=n,n=null),n&&(e==="GET"||e==="HEAD"?o.query(n):o.send(n)),i&&o.end(i),o}}}catch(e){XI.e(e)}finally{XI.f()}function atr(e){let t=e.split("/"),r=t[0];r&&(r=r.toLowerCase().trim());let n=t[1];return n&&(n=n.toLowerCase().trim()),r==="text"||n==="x-www-form-urlencoded"}function ctr(e){let t=e.split("/"),r=Ver(t,2),n=r[0],i=r[1];return n&&(n=n.toLowerCase().trim()),i&&(i=i.toLowerCase().trim()),["audio","font","image","video"].includes(n)||["gz","gzip"].includes(i)}function DG(e){return/[/+]json($|[^-\w])/i.test(e)}function wBe(e){return[301,302,303,305,307,308].includes(e)}});var BG=p(Ho=>{"use strict";var ltr=Ho&&Ho.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Ho,"__esModule",{value:!0});Ho.ComponentLogger=Ho.MAX_TAG_LENGTH=Ho.MAX_MESSAGE_LENGTH=void 0;var utr=ltr(PG()),dtr=kj(),ptr=100;Ho.MAX_MESSAGE_LENGTH=2e5;Ho.MAX_TAG_LENGTH=200;var ftr=dtr.trace.getTracer("component-logger-lib:ComponentLogger"),UG=class{constructor(t){if(this.config=t,this.batch=[],t.enabled){if(!t.logUrl)throw new Error("config.logUrl is required");if(!t.key)throw new Error("config.key is required");if(!t.tenantId)throw new Error("config.tenantId is required")}}async debug(t,r,n,i){return this.append("DEBUG",t,r,n,i)}async info(t,r,n,i){return this.append("INFO",t,r,n,i)}async warn(t,r,n,i){return this.append("WARN",t,r,n,i)}async error(t,r,n,i){return this.append("ERROR",t,r,n,i)}async append(t,r,n,i,o){var s;let a=typeof r=="string"?r:JSON.stringify(r),c={level:t,service:this.config.serviceName,timestamp:new Date().toISOString(),message:a.slice(0,Ho.MAX_MESSAGE_LENGTH),traceid:n,userid:i},l="";!((s=this.config.tags)===null||s===void 0)&&s.length&&(l+=this.config.tags),o&&(l+=` ${o}`),l.length&&(c={...c,tags:this.cleanTags(l)}),this.batch.push(c),this.batch.length==ptr&&await this.flush()}cleanTags(t){return t=t.replace(/[^A-Za-z0-9.:_/-\s]/g,""),t=t.slice(0,Ho.MAX_TAG_LENGTH),t}async flush(t=!0){let r=this.flushInternal();t||await r}async flushInternal(){if(!(!this.config.enabled||this.batch.length===0))return ftr.startActiveSpan("flush",{attributes:{"batch.length":this.batch.length}},async t=>{let r=this.batch;this.batch=[];try{let n=`${this.config.logUrl.replace(/\/+$/,"")}`;await utr.default.post(n).set({"x-dxp-tenant":this.config.tenantId,"x-api-key":this.config.key}).send(r)}catch(n){if(this.batch.push(...r),!(n instanceof Error))throw n;if("response"in n&&typeof n.response=="object"&&"error"in n.response){console.warn("Failed to post logs: %s",n.response.error);return}console.warn("Failed to post logs: %s",n)}finally{t.end()}})}};Ho.ComponentLogger=UG});var ABe=p(QI=>{"use strict";Object.defineProperty(QI,"__esModule",{value:!0});QI.getComponentLogger=void 0;var mtr=BG(),CBe=Ax();async function htr(e){if(e.accessSecret&&e.accessCredentials)throw new Error("Only either of Logging Service API accessSecret or accessCredentials should be provided");let t="";e.enabled&&(e.accessCredentials?t=e.accessCredentials:e.accessSecret&&(t=await gtr(e.accessSecret)));let r={url:"",key:""};return t.length&&(r=JSON.parse(t)),new mtr.ComponentLogger({enabled:e.enabled,tenantId:e.tenantId,logUrl:r.url,key:r.key,tags:e.tags,serviceName:e.serviceName})}QI.getComponentLogger=htr;async function gtr(e){let r=await new CBe.SecretsManagerClient({}).send(new CBe.GetSecretValueCommand({SecretId:e}));if(r.SecretString===void 0)throw new Error(`Secret ${e} could not be found`);return r.SecretString}});var OBe=p(Eg=>{"use strict";Object.defineProperty(Eg,"__esModule",{value:!0});Eg.getComponentLogger=Eg.ComponentLogger=void 0;var vtr=BG();Object.defineProperty(Eg,"ComponentLogger",{enumerable:!0,get:function(){return vtr.ComponentLogger}});var _tr=ABe();Object.defineProperty(Eg,"getComponentLogger",{enumerable:!0,get:function(){return _tr.getComponentLogger}})});var wtr={};Pi(wtr,{componentInit:()=>VG,startDevelopmentRender:()=>qBe,startEdgeDevelopmentRender:()=>jBe,uploadComponentFolder:()=>cLe,uploadJobFolder:()=>GBe});module.exports=se(wtr);var iLe=ce(CP()),oLe=ce(ft()),sLe=ce(tI()),vb=ce(require("fs/promises")),n3=ce(require("path")),iI=ce(require("cli-color")),aLe=ce(hc());var eLe=require("axios"),tLe=require("child_process");async function rI(e,t,r,n){let i;return n?i=()=>Wu(e.get(t+r,{baseURL:n})):i=()=>Wu(e.get(t+r)),new Promise((o,s)=>{let a=()=>i().then(async c=>{c.status=="Success"?o():c.status=="Flagged"?s(new Error("upload has been flagged as a virus")):c.status=="Error"?s(new Error("there has been an error")):setTimeout(async()=>{await a()},1e3)});a()})}async function Zh(e,t,r){var n;try{let i=await e.get(t,{validateStatus:null,baseURL:r});if(i.status===200)return!0;if(i.status===404)return!1;let o=new eLe.AxiosError(((n=i==null?void 0:i.data)==null?void 0:n.message)||i.statusText,i.status.toString(),void 0,void 0,i);throw gb(o)}catch(i){throw gb(i)}}async function Wu(e){try{let t=await e;if(t.status.toString().startsWith("2"))return t.data;throw gb(t.data)}catch(t){throw gb(t)}}function gb(e){var i;let{response:t}=e,r=e.message,n=new Error(r||"An error has occurred");if(sKt(e)){let o=(t==null?void 0:t.status)??"unknown";(i=t==null?void 0:t.data)!=null&&i.message?n.message=`Unexpected response code ${o}. ${t.data.message}`.trim():n.message=`${r} (code: ${o})`}return n.stack=e.stack,n}function sKt(e){return e&&e.isAxiosError===!0}function nI(e){return e instanceof Object&&Object.prototype.hasOwnProperty.call(e,"status")}function ZMe(e){try{return(0,tLe.execSync)(e,{encoding:"utf-8",stdio:["pipe","pipe","ignore"]}).trim()}catch{return""}}function rLe(e="squiz"){let t=ZMe("npm whoami");return t?ZMe(`npm org ls ${e} ${t}`).includes(t):!1}async function nLe(e,t,r,n){if(e!=="edge")try{if((await t.get(r,{baseURL:n})).data.edgeComponentsOnly)throw Error('Cannot upload "server" type component. Tenant component service is configured to allow "edge" type components only.')}catch(i){throw gb(i)}}var Bo=(0,aLe.getLogger)({name:"upload-component",format:"human"});async function cLe(e,t,r,n=""){r==="."&&(n="../");let i=await vb.default.mkdtemp(n3.default.resolve(n,"cmp-upload"));try{let o=new sLe.ManifestServiceForDev(r,Bo),s=n3.default.join(r,"manifest.json"),a=await o.readManifest(s);await nLe(a.type,e,"/health",t);let c=!rLe();if(await o.assertManifestIsValid(s,a.getModel(),{validateNamespace:c}),await Zh(e,`/v1/component/${a.getName()}/${a.getVersion()}`,t))throw new Error(`Cannot upload component version, ${a.getName()} ${a.getVersion()} already exists`);Bo.info("Initial scanning");let l=await(0,oLe.zipDirectory)(r,i),u=await Wu(e.post("/v1/upload-component",{},{baseURL:t}));Bo.info(`deployment id: ${u.id} status: transferring`),await(0,iLe.uploadFile)(u,l),await rI(e,"/v1/upload-component/status/",u.id,t),Bo.info(`deployment id: ${u.id} status: deploying component folder`);let d=await Wu(e.post(`/v1/upload-component/next/${u.id}`,{},{baseURL:t}));if(!nI(d)){let m=12;for(;m>0;){if(Bo.info(`deployment id: ${u.id} status: ${iI.default.yellow(`unknown, retrying to check the upload status ${m} more times`)}`),await Zh(e,`/v1/component/${a.getName()}/${a.getVersion()}`,t)){d={status:"successful",accessLink:"unknown"};break}await new Promise(f=>setTimeout(f,1e4)),m--}if(m===0)throw Bo.error(`deployment id: ${u.id} status: ${iI.default.red("failed to check the upload status")}`),new Error(d.toString())}if(await vb.default.rm(i,{force:!0,recursive:!0}).catch(m=>{Bo.error("failed to remove temp directory",m)}),d.status==="successful")Bo.info(`deployment id: ${u.id} status: ${iI.default.green("success")}`),Bo.info(`uploaded location: ${d.accessLink}`);else{let m=(d==null?void 0:d.message)??"unknown";Bo.error(`failed due an unexpected reason: ${m}`),await vb.default.rm(i,{force:!0,recursive:!0}).catch(f=>{Bo.error("failed to remove temp directory",f)})}}catch(o){throw await vb.default.rm(i,{force:!0,recursive:!0}).catch(s=>{Bo.error("failed to remove temp directory",s)}),o}}var Zu=require("@squiz/render-runtime-lib"),TBe=require("@squiz/runtime-sandbox-node"),RBe=ce(hc()),IBe=ce(require("path")),Sg=ce(tI()),PBe=ce(require("open")),NBe=ce(ft()),DBe=ce(OBe());function qBe(e,t){let r=(0,RBe.getLogger)({name:"component-dev",format:t.loggingFormat||"human",silent:process.env.NODE_ENV==="test"}),n=new DBe.ComponentLogger({enabled:!1,tenantId:"dev-tenant-id",logUrl:"",key:"",tags:"tag-foo tag-foo2",serviceName:"component-dev"}),i=IBe.default.resolve(process.cwd(),e),o=`http://localhost:${t.port}`,s=()=>o,a=new NBe.DevelopmentApiKeyService,c=new TBe.NodeSandbox({workerPool:{shouldCacheResponses:!1,workerLimits:{minWorkers:2,maxWorkers:2}}}),l=new Zu.ComponentRunnerServiceWithWorkers(c,r,n),u=new Sg.ComponentFunctionService,d=new Sg.ComponentSetServiceForLocalDev(r),m=new Sg.ManifestServiceForDev(i,r),f=void 0,_=new Zu.RenderInputService(a,d,m,u,f,s),x=(0,Zu.setupRenderRuntimeServer)({logger:r,componentRunnerService:l,componentFunctionService:u,componentPreviewService:new Zu.ComponentPreviewService,componentSetService:d,manifestService:m,renderInputService:_,apiKeyService:a,sandbox:c,componentRootUrlResolver:s},{enableDevMode:!0}).listen(t.port,()=>{r.info(`Component development webserver started on port ${o}`)});return(t==null?void 0:t.noBrowser)!==!0&&(0,PBe.default)(o),x.on("close",async()=>{await l.stop()}),x}var ed=require("@squiz/edge-dev-render-runtime-lib"),kBe=ce(hc()),MBe=ce(require("path")),xg=ce(tI()),LBe=ce(require("open"));function jBe(e,t){let r=(0,kBe.getLogger)({name:"component-dev",format:t.loggingFormat||"human",silent:process.env.NODE_ENV==="test"}),n=MBe.default.resolve(process.cwd(),e),i=`http://localhost:${t.port}`,o=()=>i,s=new ed.DevelopmentComponentRunnerService,a=new xg.ComponentFunctionService,c=new xg.ComponentSetServiceForLocalDev(r),l=new xg.ManifestServiceForDev(n,r),u=new ed.RenderInputService(c,l,a,o),m=(0,ed.setupRenderRuntimeServer)({logger:r,developmentComponentRunnerService:s,componentFunctionService:a,componentPreviewService:new ed.ComponentPreviewService,componentSetService:c,manifestService:l,renderInputService:u,componentRootUrlResolver:o},{enableDevMode:!0}).listen(t.port,()=>{r.info(`Edge Component development webserver started on port ${i}`)});return(t==null?void 0:t.noBrowser)!==!0&&(0,LBe.default)(i),m.on("close",async()=>{}),m}var Pp=ce(Bp()),Bb=ce(require("path")),FBe=ce(hc()),ytr={name:"default",displayName:"Default",description:"Default component",namespace:"default-namespace"};async function VG(e){let t=(0,FBe.getLogger)({name:"component-dev",format:e.loggingFormat||"human",silent:process.env.NODE_ENV==="test"});t.info("Initializing component...");let r=Bb.default.resolve(__dirname),n=Bb.default.join(r,"templates",e.componentType),i=Bb.default.resolve(e.destination);if(await Pp.default.pathExists(i)){if((await Pp.default.readdir(i)).length>0)throw new Error("The destination folder already exists and is not empty.")}else await Pp.default.mkdirp(i);await Pp.default.copy(n,i),await btr({destination:i,prompts:Object.assign({},ytr,e.prompts)}),t.info("Component initialized!")}async function btr(e){let{destination:t,prompts:r}=e,n=Bb.default.resolve(t,"manifest.json"),i=await Pp.default.readJSON(n);i.name=r.name,i.displayName=r.displayName,i.description=r.description,i.namespace=r.namespace,await Pp.default.writeJSON(n,i,{spaces:2})}var $Be=ce(CP()),UBe=ce(ft()),BBe=require("@squiz/job-runner-lib"),zG=ce(require("fs/promises")),HG=ce(require("path")),ZI=ce(require("cli-color")),VBe=ce(hc());var rl=(0,VBe.getLogger)({name:"upload-job",format:"human"});async function GBe(e,t,r=""){let n=await zG.default.mkdtemp(HG.default.resolve(r,"job-upload"));try{let i=await Str(e,t),o=await Etr(e,t,n);await(0,$Be.uploadFile)(o.upload,o.zip),await rI(e,"/upload-job/status/",o.upload.id),rl.info(`deployment id: ${o.upload.id} status: deploying job folder`);let s=await xtr(e,o.upload.id,i.getModel());if(await GG(n),s.status==="successful")rl.info(`deployment id: ${o.upload.id} status: ${ZI.default.green("success")}`);else{let a=(s==null?void 0:s.message)??"unknown";rl.error(`failed due an unexpected reason: ${a}`),await GG(n)}}catch(i){throw await GG(n),i}}async function Etr(e,t,r){rl.info("Initial scanning");let i={zip:await(0,UBe.zipDirectory)(t,r),upload:await Wu(e.post("/upload-job",{}))};return rl.info(`deployment id: ${i.upload.id} status: transferring`),i}async function Str(e,t){let r=new BBe.ManifestServiceForDev(t,rl),n=HG.default.join(t,"manifest.json"),i=await r.readJobManifest(n);if(await Zh(e,`/job/${i.getName()}/${i.getVersion()}`))throw new Error(`Cannot upload job version, ${i.getName()} ${i.getVersion()} already exists`);return i}async function xtr(e,t,r){let n=await Wu(e.post("/upload-job/next",{id:t,manifest:r}));if(!nI(n)){let i=12;for(;i>0;){if(rl.info(`deployment id: ${t} status: ${ZI.default.yellow(`unknown, retrying to check the upload status ${i} more times`)}`),await Zh(e,`/job/${r.name}/${r.version}`)){n={status:"successful"};break}await new Promise(o=>setTimeout(o,1e4)),i--}if(i===0)throw rl.error(`deployment id: ${t} status: ${ZI.default.red("failed to check the upload status")}`),new Error(n.toString())}return n}async function GG(e){await zG.default.rm(e,{force:!0,recursive:!0}).catch(t=>{rl.error("failed to remove temp directory",t)})}0&&(module.exports={componentInit,startDevelopmentRender,startEdgeDevelopmentRender,uploadComponentFolder,uploadJobFolder});
293
293
  /**
294
294
  * @title @squiz/content-api
295
295
  * @version 1.88.0