@squiz/component-cli-lib 1.72.6 → 1.72.8

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
@@ -264,7 +264,7 @@ Registered bindings:`,i.forEach(function(s){var o="Object";s.implementationType!
264
264
 
265
265
  see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0001");let{srcStat:n,destStat:i}=await _x.checkPaths(e,t,"copy",r);if(await _x.checkParentPaths(e,n,t,"copy"),!await v7e(e,t,r))return;let o=gx.dirname(t);await M0r(o)||await k0r(o),await b7e(i,e,t,r)}async function v7e(e,t,r){return r.filter?r.filter(e,t):!0}async function b7e(e,t,r,n){let s=await(n.dereference?Ui.stat:Ui.lstat)(t);if(s.isDirectory())return B0r(s,e,t,r,n);if(s.isFile()||s.isCharacterDevice()||s.isBlockDevice())return j0r(s,e,t,r,n);if(s.isSymbolicLink())return $0r(e,t,r,n);throw s.isSocket()?new Error(`Cannot copy a socket file: ${t}`):s.isFIFO()?new Error(`Cannot copy a FIFO pipe: ${t}`):new Error(`Unknown file: ${t}`)}async function j0r(e,t,r,n,i){if(!t)return y7e(e,r,n,i);if(i.overwrite)return await Ui.unlink(n),y7e(e,r,n,i);if(i.errorOnExist)throw new Error(`'${n}' already exists`)}async function y7e(e,t,r,n){if(await Ui.copyFile(t,r),n.preserveTimestamps){F0r(e.mode)&&await U0r(r,e.mode);let i=await Ui.stat(t);await q0r(r,i.atime,i.mtime)}return Ui.chmod(r,e.mode)}function F0r(e){return(e&128)===0}function U0r(e,t){return Ui.chmod(e,t|128)}async function B0r(e,t,r,n,i){t||await Ui.mkdir(n);let s=await Ui.readdir(r);await Promise.all(s.map(async o=>{let a=gx.join(r,o),c=gx.join(n,o);if(!await v7e(a,c,i))return;let{destStat:u}=await _x.checkPaths(a,c,"copy",i);return b7e(u,a,c,i)})),t||await Ui.chmod(n,e.mode)}async function $0r(e,t,r,n){let i=await Ui.readlink(t);if(n.dereference&&(i=gx.resolve(process.cwd(),i)),!e)return Ui.symlink(i,r);let s=null;try{s=await Ui.readlink(r)}catch(o){if(o.code==="EINVAL"||o.code==="UNKNOWN")return Ui.symlink(i,r);throw o}if(n.dereference&&(s=gx.resolve(process.cwd(),s)),_x.isSrcSubdir(i,s))throw new Error(`Cannot copy '${i}' to a subdirectory of itself, '${s}'.`);if(_x.isSrcSubdir(s,i))throw new Error(`Cannot overwrite '${s}' with '${i}'.`);return await Ui.unlink(r),Ui.symlink(i,r)}S7e.exports=L0r});var A7e=p((x6r,T7e)=>{"use strict";var fs=cn(),yx=require("path"),V0r=tc().mkdirsSync,G0r=L9().utimesMillisSync,vx=um();function W0r(e,t,r){typeof r=="function"&&(r={filter:r}),r=r||{},r.clobber="clobber"in r?!!r.clobber:!0,r.overwrite="overwrite"in r?!!r.overwrite:r.clobber,r.preserveTimestamps&&process.arch==="ia32"&&process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended;
266
266
 
267
- see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0002");let{srcStat:n,destStat:i}=vx.checkPathsSync(e,t,"copy",r);if(vx.checkParentPathsSync(e,n,t,"copy"),r.filter&&!r.filter(e,t))return;let s=yx.dirname(t);return fs.existsSync(s)||V0r(s),w7e(i,e,t,r)}function w7e(e,t,r,n){let s=(n.dereference?fs.statSync:fs.lstatSync)(t);if(s.isDirectory())return X0r(s,e,t,r,n);if(s.isFile()||s.isCharacterDevice()||s.isBlockDevice())return z0r(s,e,t,r,n);if(s.isSymbolicLink())return twr(e,t,r,n);throw s.isSocket()?new Error(`Cannot copy a socket file: ${t}`):s.isFIFO()?new Error(`Cannot copy a FIFO pipe: ${t}`):new Error(`Unknown file: ${t}`)}function z0r(e,t,r,n,i){return t?H0r(e,r,n,i):x7e(e,r,n,i)}function H0r(e,t,r,n){if(n.overwrite)return fs.unlinkSync(r),x7e(e,t,r,n);if(n.errorOnExist)throw new Error(`'${r}' already exists`)}function x7e(e,t,r,n){return fs.copyFileSync(t,r),n.preserveTimestamps&&K0r(e.mode,t,r),F9(r,e.mode)}function K0r(e,t,r){return J0r(e)&&Y0r(r,e),Q0r(t,r)}function J0r(e){return(e&128)===0}function Y0r(e,t){return F9(e,t|128)}function F9(e,t){return fs.chmodSync(e,t)}function Q0r(e,t){let r=fs.statSync(e);return G0r(t,r.atime,r.mtime)}function X0r(e,t,r,n,i){return t?C7e(r,n,i):Z0r(e.mode,r,n,i)}function Z0r(e,t,r,n){return fs.mkdirSync(r),C7e(t,r,n),F9(r,e)}function C7e(e,t,r){fs.readdirSync(e).forEach(n=>ewr(n,e,t,r))}function ewr(e,t,r,n){let i=yx.join(t,e),s=yx.join(r,e);if(n.filter&&!n.filter(i,s))return;let{destStat:o}=vx.checkPathsSync(i,s,"copy",n);return w7e(o,i,s,n)}function twr(e,t,r,n){let i=fs.readlinkSync(t);if(n.dereference&&(i=yx.resolve(process.cwd(),i)),e){let s;try{s=fs.readlinkSync(r)}catch(o){if(o.code==="EINVAL"||o.code==="UNKNOWN")return fs.symlinkSync(i,r);throw o}if(n.dereference&&(s=yx.resolve(process.cwd(),s)),vx.isSrcSubdir(i,s))throw new Error(`Cannot copy '${i}' to a subdirectory of itself, '${s}'.`);if(vx.isSrcSubdir(s,i))throw new Error(`Cannot overwrite '${s}' with '${i}'.`);return rwr(i,r)}else return fs.symlinkSync(i,r)}function rwr(e,t){return fs.unlinkSync(t),fs.symlinkSync(e,t)}T7e.exports=W0r});var xM=p((C6r,O7e)=>{"use strict";var nwr=Kt().fromPromise;O7e.exports={copy:nwr(E7e()),copySync:A7e()}});var bx=p((T6r,R7e)=>{"use strict";var I7e=cn(),iwr=Kt().fromCallback;function swr(e,t){I7e.rm(e,{recursive:!0,force:!0},t)}function owr(e){I7e.rmSync(e,{recursive:!0,force:!0})}R7e.exports={remove:iwr(swr),removeSync:owr}});var j7e=p((A6r,L7e)=>{"use strict";var awr=Kt().fromPromise,D7e=ps(),k7e=require("path"),M7e=tc(),q7e=bx(),P7e=awr(async function(t){let r;try{r=await D7e.readdir(t)}catch{return M7e.mkdirs(t)}return Promise.all(r.map(n=>q7e.remove(k7e.join(t,n))))});function N7e(e){let t;try{t=D7e.readdirSync(e)}catch{return M7e.mkdirsSync(e)}t.forEach(r=>{r=k7e.join(e,r),q7e.removeSync(r)})}L7e.exports={emptyDirSync:N7e,emptydirSync:N7e,emptyDir:P7e,emptydir:P7e}});var $7e=p((O6r,B7e)=>{"use strict";var cwr=Kt().fromPromise,F7e=require("path"),ju=ps(),U7e=tc();async function lwr(e){let t;try{t=await ju.stat(e)}catch{}if(t&&t.isFile())return;let r=F7e.dirname(e),n=null;try{n=await ju.stat(r)}catch(i){if(i.code==="ENOENT"){await U7e.mkdirs(r),await ju.writeFile(e,"");return}else throw i}n.isDirectory()?await ju.writeFile(e,""):await ju.readdir(r)}function uwr(e){let t;try{t=ju.statSync(e)}catch{}if(t&&t.isFile())return;let r=F7e.dirname(e);try{ju.statSync(r).isDirectory()||ju.readdirSync(r)}catch(n){if(n&&n.code==="ENOENT")U7e.mkdirsSync(r);else throw n}ju.writeFileSync(e,"")}B7e.exports={createFile:cwr(lwr),createFileSync:uwr}});var H7e=p((I6r,z7e)=>{"use strict";var dwr=Kt().fromPromise,V7e=require("path"),sf=ps(),G7e=tc(),{pathExists:pwr}=nf(),{areIdentical:W7e}=um();async function fwr(e,t){let r;try{r=await sf.lstat(t)}catch{}let n;try{n=await sf.lstat(e)}catch(o){throw o.message=o.message.replace("lstat","ensureLink"),o}if(r&&W7e(n,r))return;let i=V7e.dirname(t);await pwr(i)||await G7e.mkdirs(i),await sf.link(e,t)}function hwr(e,t){let r;try{r=sf.lstatSync(t)}catch{}try{let s=sf.lstatSync(e);if(r&&W7e(s,r))return}catch(s){throw s.message=s.message.replace("lstat","ensureLink"),s}let n=V7e.dirname(t);return sf.existsSync(n)||G7e.mkdirsSync(n),sf.linkSync(e,t)}z7e.exports={createLink:dwr(fwr),createLinkSync:hwr}});var J7e=p((R6r,K7e)=>{"use strict";var of=require("path"),Sx=ps(),{pathExists:mwr}=nf(),gwr=Kt().fromPromise;async function _wr(e,t){if(of.isAbsolute(e)){try{await Sx.lstat(e)}catch(s){throw s.message=s.message.replace("lstat","ensureSymlink"),s}return{toCwd:e,toDst:e}}let r=of.dirname(t),n=of.join(r,e);if(await mwr(n))return{toCwd:n,toDst:e};try{await Sx.lstat(e)}catch(s){throw s.message=s.message.replace("lstat","ensureSymlink"),s}return{toCwd:e,toDst:of.relative(r,e)}}function ywr(e,t){if(of.isAbsolute(e)){if(!Sx.existsSync(e))throw new Error("absolute srcpath does not exist");return{toCwd:e,toDst:e}}let r=of.dirname(t),n=of.join(r,e);if(Sx.existsSync(n))return{toCwd:n,toDst:e};if(!Sx.existsSync(e))throw new Error("relative srcpath does not exist");return{toCwd:e,toDst:of.relative(r,e)}}K7e.exports={symlinkPaths:gwr(_wr),symlinkPathsSync:ywr}});var X7e=p((P6r,Q7e)=>{"use strict";var Y7e=ps(),vwr=Kt().fromPromise;async function bwr(e,t){if(t)return t;let r;try{r=await Y7e.lstat(e)}catch{return"file"}return r&&r.isDirectory()?"dir":"file"}function Swr(e,t){if(t)return t;let r;try{r=Y7e.lstatSync(e)}catch{return"file"}return r&&r.isDirectory()?"dir":"file"}Q7e.exports={symlinkType:vwr(bwr),symlinkTypeSync:Swr}});var rJe=p((N6r,tJe)=>{"use strict";var Ewr=Kt().fromPromise,Z7e=require("path"),yl=ps(),{mkdirs:wwr,mkdirsSync:xwr}=tc(),{symlinkPaths:Cwr,symlinkPathsSync:Twr}=J7e(),{symlinkType:Awr,symlinkTypeSync:Owr}=X7e(),{pathExists:Iwr}=nf(),{areIdentical:eJe}=um();async function Rwr(e,t,r){let n;try{n=await yl.lstat(t)}catch{}if(n&&n.isSymbolicLink()){let[a,c]=await Promise.all([yl.stat(e),yl.stat(t)]);if(eJe(a,c))return}let i=await Cwr(e,t);e=i.toDst;let s=await Awr(i.toCwd,r),o=Z7e.dirname(t);return await Iwr(o)||await wwr(o),yl.symlink(e,t,s)}function Pwr(e,t,r){let n;try{n=yl.lstatSync(t)}catch{}if(n&&n.isSymbolicLink()){let a=yl.statSync(e),c=yl.statSync(t);if(eJe(a,c))return}let i=Twr(e,t);e=i.toDst,r=Owr(i.toCwd,r);let s=Z7e.dirname(t);return yl.existsSync(s)||xwr(s),yl.symlinkSync(e,t,r)}tJe.exports={createSymlink:Ewr(Rwr),createSymlinkSync:Pwr}});var uJe=p((D6r,lJe)=>{"use strict";var{createFile:nJe,createFileSync:iJe}=$7e(),{createLink:sJe,createLinkSync:oJe}=H7e(),{createSymlink:aJe,createSymlinkSync:cJe}=rJe();lJe.exports={createFile:nJe,createFileSync:iJe,ensureFile:nJe,ensureFileSync:iJe,createLink:sJe,createLinkSync:oJe,ensureLink:sJe,ensureLinkSync:oJe,createSymlink:aJe,createSymlinkSync:cJe,ensureSymlink:aJe,ensureSymlinkSync:cJe}});var pJe=p((k6r,dJe)=>{"use strict";var CM=Bq();dJe.exports={readJson:CM.readFile,readJsonSync:CM.readFileSync,writeJson:CM.writeFile,writeJsonSync:CM.writeFileSync}});var TM=p((M6r,mJe)=>{"use strict";var Nwr=Kt().fromPromise,U9=ps(),fJe=require("path"),hJe=tc(),Dwr=nf().pathExists;async function kwr(e,t,r="utf-8"){let n=fJe.dirname(e);return await Dwr(n)||await hJe.mkdirs(n),U9.writeFile(e,t,r)}function Mwr(e,...t){let r=fJe.dirname(e);U9.existsSync(r)||hJe.mkdirsSync(r),U9.writeFileSync(e,...t)}mJe.exports={outputFile:Nwr(kwr),outputFileSync:Mwr}});var _Je=p((q6r,gJe)=>{"use strict";var{stringify:qwr}=qm(),{outputFile:Lwr}=TM();async function jwr(e,t,r={}){let n=qwr(t,r);await Lwr(e,n,r)}gJe.exports=jwr});var vJe=p((L6r,yJe)=>{"use strict";var{stringify:Fwr}=qm(),{outputFileSync:Uwr}=TM();function Bwr(e,t,r){let n=Fwr(t,r);Uwr(e,n,r)}yJe.exports=Bwr});var SJe=p((j6r,bJe)=>{"use strict";var $wr=Kt().fromPromise,hs=pJe();hs.outputJson=$wr(_Je());hs.outputJsonSync=vJe();hs.outputJSON=hs.outputJson;hs.outputJSONSync=hs.outputJsonSync;hs.writeJSON=hs.writeJson;hs.writeJSONSync=hs.writeJsonSync;hs.readJSON=hs.readJson;hs.readJSONSync=hs.readJsonSync;bJe.exports=hs});var TJe=p((F6r,CJe)=>{"use strict";var Vwr=ps(),EJe=require("path"),{copy:Gwr}=xM(),{remove:xJe}=bx(),{mkdirp:Wwr}=tc(),{pathExists:zwr}=nf(),wJe=um();async function Hwr(e,t,r={}){let n=r.overwrite||r.clobber||!1,{srcStat:i,isChangingCase:s=!1}=await wJe.checkPaths(e,t,"move",r);await wJe.checkParentPaths(e,i,t,"move");let o=EJe.dirname(t);return EJe.parse(o).root!==o&&await Wwr(o),Kwr(e,t,n,s)}async function Kwr(e,t,r,n){if(!n){if(r)await xJe(t);else if(await zwr(t))throw new Error("dest already exists.")}try{await Vwr.rename(e,t)}catch(i){if(i.code!=="EXDEV")throw i;await Jwr(e,t,r)}}async function Jwr(e,t,r){return await Gwr(e,t,{overwrite:r,errorOnExist:!0,preserveTimestamps:!0}),xJe(e)}CJe.exports=Hwr});var PJe=p((U6r,RJe)=>{"use strict";var OJe=cn(),$9=require("path"),Ywr=xM().copySync,IJe=bx().removeSync,Qwr=tc().mkdirpSync,AJe=um();function Xwr(e,t,r){r=r||{};let n=r.overwrite||r.clobber||!1,{srcStat:i,isChangingCase:s=!1}=AJe.checkPathsSync(e,t,"move",r);return AJe.checkParentPathsSync(e,i,t,"move"),Zwr(t)||Qwr($9.dirname(t)),exr(e,t,n,s)}function Zwr(e){let t=$9.dirname(e);return $9.parse(t).root===t}function exr(e,t,r,n){if(n)return B9(e,t,r);if(r)return IJe(t),B9(e,t,r);if(OJe.existsSync(t))throw new Error("dest already exists.");return B9(e,t,r)}function B9(e,t,r){try{OJe.renameSync(e,t)}catch(n){if(n.code!=="EXDEV")throw n;return txr(e,t,r)}}function txr(e,t,r){return Ywr(e,t,{overwrite:r,errorOnExist:!0,preserveTimestamps:!0}),IJe(e)}RJe.exports=Xwr});var DJe=p((B6r,NJe)=>{"use strict";var rxr=Kt().fromPromise;NJe.exports={move:rxr(TJe()),moveSync:PJe()}});var MJe=p(($6r,kJe)=>{"use strict";kJe.exports={...ps(),...xM(),...j7e(),...uJe(),...SJe(),...tc(),...DJe(),...TM(),...nf(),...bx()}});var cxr={};Bs(cxr,{componentInit:()=>V9,startDevelopmentRender:()=>XKe,startEdgeDevelopmentRender:()=>r7e,uploadComponentFolder:()=>WKe,uploadJobFolder:()=>BJe});module.exports=_e(cxr);var BKe=ve(eq()),$Ke=ve(Yt()),VKe=ve(vM()),hx=ve(require("fs/promises")),D9=ve(require("path")),EM=ve(require("cli-color")),GKe=ve(Ic());var LKe=require("axios"),jKe=require("child_process");async function bM(e,t,r,n){let i;return n?i=()=>ef(e.get(t+r,{baseURL:n})):i=()=>ef(e.get(t+r)),new Promise((s,o)=>{let a=()=>i().then(async c=>{c.status=="Success"?s():c.status=="Flagged"?o(new Error("upload has been flagged as a virus")):c.status=="Error"?o(new Error("there has been an error")):setTimeout(async()=>{await a()},1e3)});a()})}async function Tv(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 s=new LKe.AxiosError(((n=i==null?void 0:i.data)==null?void 0:n.message)||i.statusText,i.status.toString(),void 0,void 0,i);throw fx(s)}catch(i){throw fx(i)}}async function ef(e){try{let t=await e;if(t.status.toString().startsWith("2"))return t.data;throw fx(t.data)}catch(t){throw fx(t)}}function fx(e){var i;let{response:t}=e,r=e.message,n=new Error(r||"An error has occurred");if(b0r(e)){let s=(t==null?void 0:t.status)??"unknown";(i=t==null?void 0:t.data)!=null&&i.message?n.message=`Unexpected response code ${s}. ${t.data.message}`.trim():n.message=`${r} (code: ${s})`}return n.stack=e.stack,n}function b0r(e){return e&&e.isAxiosError===!0}function SM(e){return e instanceof Object&&Object.prototype.hasOwnProperty.call(e,"status")}function qKe(e){try{return(0,jKe.execSync)(e,{encoding:"utf-8",stdio:["pipe","pipe","ignore"]}).trim()}catch{return""}}function FKe(e="squiz"){let t=qKe("npm whoami");return t?qKe(`npm org ls ${e} ${t}`).includes(t):!1}async function UKe(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 fx(i)}}var sa=(0,GKe.getLogger)({name:"upload-component",format:"human"});async function WKe(e,t,r,n=""){r==="."&&(n="../");let i=await hx.default.mkdtemp(D9.default.resolve(n,"cmp-upload"));try{let s=new VKe.ManifestServiceForDev(r,sa),o=D9.default.join(r,"manifest.json"),a=await s.readManifest(o);await UKe(a.type,e,"/health",t);let c=!FKe();if(await s.assertManifestIsValid(o,a.getModel(),{validateNamespace:c}),await Tv(e,`/v1/component/${a.getName()}/${a.getVersion()}`,t))throw new Error(`Cannot upload component version, ${a.getName()} ${a.getVersion()} already exists`);sa.info("Initial scanning");let l=await(0,$Ke.zipDirectory)(r,i),u=await ef(e.post("/v1/upload-component",{},{baseURL:t}));sa.info(`deployment id: ${u.id} status: transferring`),await(0,BKe.uploadFile)(u,l),await bM(e,"/v1/upload-component/status/",u.id,t),sa.info(`deployment id: ${u.id} status: deploying component folder`);let d=await ef(e.post(`/v1/upload-component/next/${u.id}`,{},{baseURL:t}));if(!SM(d)){let h=12;for(;h>0;){if(sa.info(`deployment id: ${u.id} status: ${EM.default.yellow(`unknown, retrying to check the upload status ${h} more times`)}`),await Tv(e,`/v1/component/${a.getName()}/${a.getVersion()}`,t)){d={status:"successful",accessLink:"unknown"};break}await new Promise(f=>setTimeout(f,1e4)),h--}if(h===0)throw sa.error(`deployment id: ${u.id} status: ${EM.default.red("failed to check the upload status")}`),new Error(d.toString())}if(await hx.default.rm(i,{force:!0,recursive:!0}).catch(h=>{sa.error("failed to remove temp directory",h)}),d.status==="successful")sa.info(`deployment id: ${u.id} status: ${EM.default.green("success")}`),sa.info(`uploaded location: ${d.accessLink}`);else{let h=(d==null?void 0:d.message)??"unknown";sa.error(`failed due an unexpected reason: ${h}`),await hx.default.rm(i,{force:!0,recursive:!0}).catch(f=>{sa.error("failed to remove temp directory",f)})}}catch(s){throw await hx.default.rm(i,{force:!0,recursive:!0}).catch(o=>{sa.error("failed to remove temp directory",o)}),s}}var tf=require("@squiz/render-runtime-lib"),zKe=require("@squiz/runtime-sandbox-node"),HKe=ve(Ic()),KKe=ve(require("path")),Av=ve(vM()),JKe=ve(require("open")),YKe=ve(Yt()),QKe=require("@squiz/component-logger-lib");function XKe(e,t){let r=(0,HKe.getLogger)({name:"component-dev",format:t.loggingFormat||"human",silent:process.env.NODE_ENV==="test"}),n=new QKe.ComponentLogger({enabled:!1,tenantId:"dev-tenant-id",logUrl:"",key:"",tags:"tag-foo tag-foo2",serviceName:"component-dev"}),i=KKe.default.resolve(process.cwd(),e),s=`http://localhost:${t.port}`,o=()=>s,a=new YKe.DevelopmentApiKeyService,c=new zKe.NodeSandbox({workerPool:{shouldCacheResponses:!1,workerLimits:{minWorkers:2,maxWorkers:2}}}),l=new tf.ComponentRunnerServiceWithWorkers(c,r,n),u=new Av.ComponentFunctionService,d=new Av.ComponentSetServiceForLocalDev(r),h=new Av.ManifestServiceForDev(i,r),f=void 0,y=new tf.RenderInputService(a,d,h,u,f,o),E=(0,tf.setupRenderRuntimeServer)({logger:r,componentRunnerService:l,componentFunctionService:u,componentPreviewService:new tf.ComponentPreviewService,componentSetService:d,manifestService:h,renderInputService:y,apiKeyService:a,sandbox:c,componentRootUrlResolver:o},{enableDevMode:!0}).listen(t.port,()=>{r.info(`Component development webserver started on port ${s}`)});return(t==null?void 0:t.noBrowser)!==!0&&(0,JKe.default)(s),E.on("close",async()=>{await l.stop()}),E}var rf=require("@squiz/edge-dev-render-runtime-lib"),ZKe=ve(Ic()),e7e=ve(require("path")),Ov=ve(vM()),t7e=ve(require("open"));function r7e(e,t){let r=(0,ZKe.getLogger)({name:"component-dev",format:t.loggingFormat||"human",silent:process.env.NODE_ENV==="test"}),n=e7e.default.resolve(process.cwd(),e),i=`http://localhost:${t.port}`,s=()=>i,o=new rf.DevelopmentComponentRunnerService,a=new Ov.ComponentFunctionService,c=new Ov.ComponentSetServiceForLocalDev(r),l=new Ov.ManifestServiceForDev(n,r),u=new rf.RenderInputService(c,l,a,s),h=(0,rf.setupRenderRuntimeServer)({logger:r,developmentComponentRunnerService:o,componentFunctionService:a,componentPreviewService:new rf.ComponentPreviewService,componentSetService:c,manifestService:l,renderInputService:u,componentRootUrlResolver:s},{enableDevMode:!0}).listen(t.port,()=>{r.info(`Edge Component development webserver started on port ${i}`)});return(t==null?void 0:t.noBrowser)!==!0&&(0,t7e.default)(i),h.on("close",async()=>{}),h}var dm=ve(MJe()),Ex=ve(require("path")),qJe=ve(Ic()),nxr={name:"default",displayName:"Default",description:"Default component",namespace:"default-namespace"};async function V9(e){let t=(0,qJe.getLogger)({name:"component-dev",format:e.loggingFormat||"human",silent:process.env.NODE_ENV==="test"});t.info("Initializing component...");let r=Ex.default.resolve(__dirname),n=Ex.default.join(r,"templates",e.componentType),i=Ex.default.resolve(e.destination);if(await dm.default.pathExists(i)){if((await dm.default.readdir(i)).length>0)throw new Error("The destination folder already exists and is not empty.")}else await dm.default.mkdirp(i);await dm.default.copy(n,i),await ixr({destination:i,prompts:Object.assign({},nxr,e.prompts)}),t.info("Component initialized!")}async function ixr(e){let{destination:t,prompts:r}=e,n=Ex.default.resolve(t,"manifest.json"),i=await dm.default.readJSON(n);i.name=r.name,i.displayName=r.displayName,i.description=r.description,i.namespace=r.namespace,await dm.default.writeJSON(n,i,{spaces:2})}var LJe=ve(eq()),jJe=ve(Yt()),FJe=require("@squiz/job-runner-lib"),W9=ve(require("fs/promises")),z9=ve(require("path")),AM=ve(require("cli-color")),UJe=ve(Ic());var Fu=(0,UJe.getLogger)({name:"upload-job",format:"human"});async function BJe(e,t,r=""){let n=await W9.default.mkdtemp(z9.default.resolve(r,"job-upload"));try{let i=await oxr(e,t),s=await sxr(e,t,n);await(0,LJe.uploadFile)(s.upload,s.zip),await bM(e,"/upload-job/status/",s.upload.id),Fu.info(`deployment id: ${s.upload.id} status: deploying job folder`);let o=await axr(e,s.upload.id,i.getModel());if(await G9(n),o.status==="successful")Fu.info(`deployment id: ${s.upload.id} status: ${AM.default.green("success")}`);else{let a=(o==null?void 0:o.message)??"unknown";Fu.error(`failed due an unexpected reason: ${a}`),await G9(n)}}catch(i){throw await G9(n),i}}async function sxr(e,t,r){Fu.info("Initial scanning");let i={zip:await(0,jJe.zipDirectory)(t,r),upload:await ef(e.post("/upload-job",{}))};return Fu.info(`deployment id: ${i.upload.id} status: transferring`),i}async function oxr(e,t){let r=new FJe.ManifestServiceForDev(t,Fu),n=z9.default.join(t,"manifest.json"),i=await r.readJobManifest(n);if(await Tv(e,`/job/${i.getName()}/${i.getVersion()}`))throw new Error(`Cannot upload job version, ${i.getName()} ${i.getVersion()} already exists`);return i}async function axr(e,t,r){let n=await ef(e.post("/upload-job/next",{id:t,manifest:r}));if(!SM(n)){let i=12;for(;i>0;){if(Fu.info(`deployment id: ${t} status: ${AM.default.yellow(`unknown, retrying to check the upload status ${i} more times`)}`),await Tv(e,`/job/${r.name}/${r.version}`)){n={status:"successful"};break}await new Promise(s=>setTimeout(s,1e4)),i--}if(i===0)throw Fu.error(`deployment id: ${t} status: ${AM.default.red("failed to check the upload status")}`),new Error(n.toString())}return n}async function G9(e){await W9.default.rm(e,{force:!0,recursive:!0}).catch(t=>{Fu.error("failed to remove temp directory",t)})}0&&(module.exports={componentInit,startDevelopmentRender,startEdgeDevelopmentRender,uploadComponentFolder,uploadJobFolder});
267
+ see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0002");let{srcStat:n,destStat:i}=vx.checkPathsSync(e,t,"copy",r);if(vx.checkParentPathsSync(e,n,t,"copy"),r.filter&&!r.filter(e,t))return;let s=yx.dirname(t);return fs.existsSync(s)||V0r(s),w7e(i,e,t,r)}function w7e(e,t,r,n){let s=(n.dereference?fs.statSync:fs.lstatSync)(t);if(s.isDirectory())return X0r(s,e,t,r,n);if(s.isFile()||s.isCharacterDevice()||s.isBlockDevice())return z0r(s,e,t,r,n);if(s.isSymbolicLink())return twr(e,t,r,n);throw s.isSocket()?new Error(`Cannot copy a socket file: ${t}`):s.isFIFO()?new Error(`Cannot copy a FIFO pipe: ${t}`):new Error(`Unknown file: ${t}`)}function z0r(e,t,r,n,i){return t?H0r(e,r,n,i):x7e(e,r,n,i)}function H0r(e,t,r,n){if(n.overwrite)return fs.unlinkSync(r),x7e(e,t,r,n);if(n.errorOnExist)throw new Error(`'${r}' already exists`)}function x7e(e,t,r,n){return fs.copyFileSync(t,r),n.preserveTimestamps&&K0r(e.mode,t,r),F9(r,e.mode)}function K0r(e,t,r){return J0r(e)&&Y0r(r,e),Q0r(t,r)}function J0r(e){return(e&128)===0}function Y0r(e,t){return F9(e,t|128)}function F9(e,t){return fs.chmodSync(e,t)}function Q0r(e,t){let r=fs.statSync(e);return G0r(t,r.atime,r.mtime)}function X0r(e,t,r,n,i){return t?C7e(r,n,i):Z0r(e.mode,r,n,i)}function Z0r(e,t,r,n){return fs.mkdirSync(r),C7e(t,r,n),F9(r,e)}function C7e(e,t,r){fs.readdirSync(e).forEach(n=>ewr(n,e,t,r))}function ewr(e,t,r,n){let i=yx.join(t,e),s=yx.join(r,e);if(n.filter&&!n.filter(i,s))return;let{destStat:o}=vx.checkPathsSync(i,s,"copy",n);return w7e(o,i,s,n)}function twr(e,t,r,n){let i=fs.readlinkSync(t);if(n.dereference&&(i=yx.resolve(process.cwd(),i)),e){let s;try{s=fs.readlinkSync(r)}catch(o){if(o.code==="EINVAL"||o.code==="UNKNOWN")return fs.symlinkSync(i,r);throw o}if(n.dereference&&(s=yx.resolve(process.cwd(),s)),vx.isSrcSubdir(i,s))throw new Error(`Cannot copy '${i}' to a subdirectory of itself, '${s}'.`);if(vx.isSrcSubdir(s,i))throw new Error(`Cannot overwrite '${s}' with '${i}'.`);return rwr(i,r)}else return fs.symlinkSync(i,r)}function rwr(e,t){return fs.unlinkSync(t),fs.symlinkSync(e,t)}T7e.exports=W0r});var xM=p((C6r,O7e)=>{"use strict";var nwr=Kt().fromPromise;O7e.exports={copy:nwr(E7e()),copySync:A7e()}});var bx=p((T6r,R7e)=>{"use strict";var I7e=cn(),iwr=Kt().fromCallback;function swr(e,t){I7e.rm(e,{recursive:!0,force:!0},t)}function owr(e){I7e.rmSync(e,{recursive:!0,force:!0})}R7e.exports={remove:iwr(swr),removeSync:owr}});var j7e=p((A6r,L7e)=>{"use strict";var awr=Kt().fromPromise,D7e=ps(),k7e=require("path"),M7e=tc(),q7e=bx(),P7e=awr(async function(t){let r;try{r=await D7e.readdir(t)}catch{return M7e.mkdirs(t)}return Promise.all(r.map(n=>q7e.remove(k7e.join(t,n))))});function N7e(e){let t;try{t=D7e.readdirSync(e)}catch{return M7e.mkdirsSync(e)}t.forEach(r=>{r=k7e.join(e,r),q7e.removeSync(r)})}L7e.exports={emptyDirSync:N7e,emptydirSync:N7e,emptyDir:P7e,emptydir:P7e}});var $7e=p((O6r,B7e)=>{"use strict";var cwr=Kt().fromPromise,F7e=require("path"),ju=ps(),U7e=tc();async function lwr(e){let t;try{t=await ju.stat(e)}catch{}if(t&&t.isFile())return;let r=F7e.dirname(e),n=null;try{n=await ju.stat(r)}catch(i){if(i.code==="ENOENT"){await U7e.mkdirs(r),await ju.writeFile(e,"");return}else throw i}n.isDirectory()?await ju.writeFile(e,""):await ju.readdir(r)}function uwr(e){let t;try{t=ju.statSync(e)}catch{}if(t&&t.isFile())return;let r=F7e.dirname(e);try{ju.statSync(r).isDirectory()||ju.readdirSync(r)}catch(n){if(n&&n.code==="ENOENT")U7e.mkdirsSync(r);else throw n}ju.writeFileSync(e,"")}B7e.exports={createFile:cwr(lwr),createFileSync:uwr}});var H7e=p((I6r,z7e)=>{"use strict";var dwr=Kt().fromPromise,V7e=require("path"),sf=ps(),G7e=tc(),{pathExists:pwr}=nf(),{areIdentical:W7e}=um();async function fwr(e,t){let r;try{r=await sf.lstat(t)}catch{}let n;try{n=await sf.lstat(e)}catch(o){throw o.message=o.message.replace("lstat","ensureLink"),o}if(r&&W7e(n,r))return;let i=V7e.dirname(t);await pwr(i)||await G7e.mkdirs(i),await sf.link(e,t)}function hwr(e,t){let r;try{r=sf.lstatSync(t)}catch{}try{let s=sf.lstatSync(e);if(r&&W7e(s,r))return}catch(s){throw s.message=s.message.replace("lstat","ensureLink"),s}let n=V7e.dirname(t);return sf.existsSync(n)||G7e.mkdirsSync(n),sf.linkSync(e,t)}z7e.exports={createLink:dwr(fwr),createLinkSync:hwr}});var J7e=p((R6r,K7e)=>{"use strict";var of=require("path"),Sx=ps(),{pathExists:mwr}=nf(),gwr=Kt().fromPromise;async function _wr(e,t){if(of.isAbsolute(e)){try{await Sx.lstat(e)}catch(s){throw s.message=s.message.replace("lstat","ensureSymlink"),s}return{toCwd:e,toDst:e}}let r=of.dirname(t),n=of.join(r,e);if(await mwr(n))return{toCwd:n,toDst:e};try{await Sx.lstat(e)}catch(s){throw s.message=s.message.replace("lstat","ensureSymlink"),s}return{toCwd:e,toDst:of.relative(r,e)}}function ywr(e,t){if(of.isAbsolute(e)){if(!Sx.existsSync(e))throw new Error("absolute srcpath does not exist");return{toCwd:e,toDst:e}}let r=of.dirname(t),n=of.join(r,e);if(Sx.existsSync(n))return{toCwd:n,toDst:e};if(!Sx.existsSync(e))throw new Error("relative srcpath does not exist");return{toCwd:e,toDst:of.relative(r,e)}}K7e.exports={symlinkPaths:gwr(_wr),symlinkPathsSync:ywr}});var X7e=p((P6r,Q7e)=>{"use strict";var Y7e=ps(),vwr=Kt().fromPromise;async function bwr(e,t){if(t)return t;let r;try{r=await Y7e.lstat(e)}catch{return"file"}return r&&r.isDirectory()?"dir":"file"}function Swr(e,t){if(t)return t;let r;try{r=Y7e.lstatSync(e)}catch{return"file"}return r&&r.isDirectory()?"dir":"file"}Q7e.exports={symlinkType:vwr(bwr),symlinkTypeSync:Swr}});var rJe=p((N6r,tJe)=>{"use strict";var Ewr=Kt().fromPromise,Z7e=require("path"),yl=ps(),{mkdirs:wwr,mkdirsSync:xwr}=tc(),{symlinkPaths:Cwr,symlinkPathsSync:Twr}=J7e(),{symlinkType:Awr,symlinkTypeSync:Owr}=X7e(),{pathExists:Iwr}=nf(),{areIdentical:eJe}=um();async function Rwr(e,t,r){let n;try{n=await yl.lstat(t)}catch{}if(n&&n.isSymbolicLink()){let[a,c]=await Promise.all([yl.stat(e),yl.stat(t)]);if(eJe(a,c))return}let i=await Cwr(e,t);e=i.toDst;let s=await Awr(i.toCwd,r),o=Z7e.dirname(t);return await Iwr(o)||await wwr(o),yl.symlink(e,t,s)}function Pwr(e,t,r){let n;try{n=yl.lstatSync(t)}catch{}if(n&&n.isSymbolicLink()){let a=yl.statSync(e),c=yl.statSync(t);if(eJe(a,c))return}let i=Twr(e,t);e=i.toDst,r=Owr(i.toCwd,r);let s=Z7e.dirname(t);return yl.existsSync(s)||xwr(s),yl.symlinkSync(e,t,r)}tJe.exports={createSymlink:Ewr(Rwr),createSymlinkSync:Pwr}});var uJe=p((D6r,lJe)=>{"use strict";var{createFile:nJe,createFileSync:iJe}=$7e(),{createLink:sJe,createLinkSync:oJe}=H7e(),{createSymlink:aJe,createSymlinkSync:cJe}=rJe();lJe.exports={createFile:nJe,createFileSync:iJe,ensureFile:nJe,ensureFileSync:iJe,createLink:sJe,createLinkSync:oJe,ensureLink:sJe,ensureLinkSync:oJe,createSymlink:aJe,createSymlinkSync:cJe,ensureSymlink:aJe,ensureSymlinkSync:cJe}});var pJe=p((k6r,dJe)=>{"use strict";var CM=Bq();dJe.exports={readJson:CM.readFile,readJsonSync:CM.readFileSync,writeJson:CM.writeFile,writeJsonSync:CM.writeFileSync}});var TM=p((M6r,mJe)=>{"use strict";var Nwr=Kt().fromPromise,U9=ps(),fJe=require("path"),hJe=tc(),Dwr=nf().pathExists;async function kwr(e,t,r="utf-8"){let n=fJe.dirname(e);return await Dwr(n)||await hJe.mkdirs(n),U9.writeFile(e,t,r)}function Mwr(e,...t){let r=fJe.dirname(e);U9.existsSync(r)||hJe.mkdirsSync(r),U9.writeFileSync(e,...t)}mJe.exports={outputFile:Nwr(kwr),outputFileSync:Mwr}});var _Je=p((q6r,gJe)=>{"use strict";var{stringify:qwr}=qm(),{outputFile:Lwr}=TM();async function jwr(e,t,r={}){let n=qwr(t,r);await Lwr(e,n,r)}gJe.exports=jwr});var vJe=p((L6r,yJe)=>{"use strict";var{stringify:Fwr}=qm(),{outputFileSync:Uwr}=TM();function Bwr(e,t,r){let n=Fwr(t,r);Uwr(e,n,r)}yJe.exports=Bwr});var SJe=p((j6r,bJe)=>{"use strict";var $wr=Kt().fromPromise,hs=pJe();hs.outputJson=$wr(_Je());hs.outputJsonSync=vJe();hs.outputJSON=hs.outputJson;hs.outputJSONSync=hs.outputJsonSync;hs.writeJSON=hs.writeJson;hs.writeJSONSync=hs.writeJsonSync;hs.readJSON=hs.readJson;hs.readJSONSync=hs.readJsonSync;bJe.exports=hs});var TJe=p((F6r,CJe)=>{"use strict";var Vwr=ps(),EJe=require("path"),{copy:Gwr}=xM(),{remove:xJe}=bx(),{mkdirp:Wwr}=tc(),{pathExists:zwr}=nf(),wJe=um();async function Hwr(e,t,r={}){let n=r.overwrite||r.clobber||!1,{srcStat:i,isChangingCase:s=!1}=await wJe.checkPaths(e,t,"move",r);await wJe.checkParentPaths(e,i,t,"move");let o=EJe.dirname(t);return EJe.parse(o).root!==o&&await Wwr(o),Kwr(e,t,n,s)}async function Kwr(e,t,r,n){if(!n){if(r)await xJe(t);else if(await zwr(t))throw new Error("dest already exists.")}try{await Vwr.rename(e,t)}catch(i){if(i.code!=="EXDEV")throw i;await Jwr(e,t,r)}}async function Jwr(e,t,r){return await Gwr(e,t,{overwrite:r,errorOnExist:!0,preserveTimestamps:!0}),xJe(e)}CJe.exports=Hwr});var PJe=p((U6r,RJe)=>{"use strict";var OJe=cn(),$9=require("path"),Ywr=xM().copySync,IJe=bx().removeSync,Qwr=tc().mkdirpSync,AJe=um();function Xwr(e,t,r){r=r||{};let n=r.overwrite||r.clobber||!1,{srcStat:i,isChangingCase:s=!1}=AJe.checkPathsSync(e,t,"move",r);return AJe.checkParentPathsSync(e,i,t,"move"),Zwr(t)||Qwr($9.dirname(t)),exr(e,t,n,s)}function Zwr(e){let t=$9.dirname(e);return $9.parse(t).root===t}function exr(e,t,r,n){if(n)return B9(e,t,r);if(r)return IJe(t),B9(e,t,r);if(OJe.existsSync(t))throw new Error("dest already exists.");return B9(e,t,r)}function B9(e,t,r){try{OJe.renameSync(e,t)}catch(n){if(n.code!=="EXDEV")throw n;return txr(e,t,r)}}function txr(e,t,r){return Ywr(e,t,{overwrite:r,errorOnExist:!0,preserveTimestamps:!0}),IJe(e)}RJe.exports=Xwr});var DJe=p((B6r,NJe)=>{"use strict";var rxr=Kt().fromPromise;NJe.exports={move:rxr(TJe()),moveSync:PJe()}});var MJe=p(($6r,kJe)=>{"use strict";kJe.exports={...ps(),...xM(),...j7e(),...uJe(),...SJe(),...tc(),...DJe(),...TM(),...nf(),...bx()}});var cxr={};Bs(cxr,{componentInit:()=>V9,startDevelopmentRender:()=>XKe,startEdgeDevelopmentRender:()=>r7e,uploadComponentFolder:()=>WKe,uploadJobFolder:()=>BJe});module.exports=_e(cxr);var BKe=ve(eq()),$Ke=ve(Yt()),VKe=ve(vM()),hx=ve(require("fs/promises")),D9=ve(require("path")),EM=ve(require("cli-color")),GKe=ve(Ic());var LKe=require("axios"),jKe=require("child_process");async function bM(e,t,r,n){let i;return n?i=()=>ef(e.get(t+r,{baseURL:n})):i=()=>ef(e.get(t+r)),new Promise((s,o)=>{let a=()=>i().then(async c=>{c.status=="Success"?s():c.status=="Flagged"?o(new Error("upload has been flagged as a virus")):c.status=="Error"?o(new Error("there has been an error")):setTimeout(async()=>{await a()},1e3)});a()})}async function Tv(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 s=new LKe.AxiosError(((n=i==null?void 0:i.data)==null?void 0:n.message)||i.statusText,i.status.toString(),void 0,void 0,i);throw fx(s)}catch(i){throw fx(i)}}async function ef(e){try{let t=await e;if(t.status.toString().startsWith("2"))return t.data;throw fx(t.data)}catch(t){throw fx(t)}}function fx(e){var i;let{response:t}=e,r=e.message,n=new Error(r||"An error has occurred");if(b0r(e)){let s=(t==null?void 0:t.status)??"unknown";(i=t==null?void 0:t.data)!=null&&i.message?n.message=`Unexpected response code ${s}. ${t.data.message}`.trim():n.message=`${r} (code: ${s})`}return n.stack=e.stack,n}function b0r(e){return e&&e.isAxiosError===!0}function SM(e){return e instanceof Object&&Object.prototype.hasOwnProperty.call(e,"status")}function qKe(e){try{return(0,jKe.execSync)(e,{encoding:"utf-8",stdio:["pipe","pipe","ignore"]}).trim()}catch{return""}}function FKe(e="squiz"){let t=qKe("npm whoami");return t?qKe(`npm org ls ${e} ${t}`).includes(t):!1}async function UKe(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 fx(i)}}var sa=(0,GKe.getLogger)({name:"upload-component",format:"human"});async function WKe(e,t,r,n=""){r==="."&&(n="../");let i=await hx.default.mkdtemp(D9.default.resolve(n,"cmp-upload"));try{let s=new VKe.ManifestServiceForDev(r,sa),o=D9.default.join(r,"manifest.json"),a=await s.readManifest(o);await UKe(a.type,e,"/health",t);let c=!FKe();if(await s.assertManifestIsValid(o,a.getModel(),{validateNamespace:c}),await Tv(e,`/v1/component/${a.getName()}/${a.getVersion()}`,t))throw new Error(`Cannot upload component version, ${a.getName()} ${a.getVersion()} already exists`);sa.info("Initial scanning");let l=await(0,$Ke.zipDirectory)(r,i),u=await ef(e.post("/v1/upload-component",{},{baseURL:t}));sa.info(`deployment id: ${u.id} status: transferring`),await(0,BKe.uploadFile)(u,l),await bM(e,"/v1/upload-component/status/",u.id,t),sa.info(`deployment id: ${u.id} status: deploying component folder`);let d=await ef(e.post(`/v1/upload-component/next/${u.id}`,{},{baseURL:t}));if(!SM(d)){let h=12;for(;h>0;){if(sa.info(`deployment id: ${u.id} status: ${EM.default.yellow(`unknown, retrying to check the upload status ${h} more times`)}`),await Tv(e,`/v1/component/${a.getName()}/${a.getVersion()}`,t)){d={status:"successful",accessLink:"unknown"};break}await new Promise(f=>setTimeout(f,1e4)),h--}if(h===0)throw sa.error(`deployment id: ${u.id} status: ${EM.default.red("failed to check the upload status")}`),new Error(d.toString())}if(await hx.default.rm(i,{force:!0,recursive:!0}).catch(h=>{sa.error("failed to remove temp directory",h)}),d.status==="successful")sa.info(`deployment id: ${u.id} status: ${EM.default.green("success")}`),sa.info(`uploaded location: ${d.accessLink}`);else{let h=(d==null?void 0:d.message)??"unknown";sa.error(`failed due an unexpected reason: ${h}`),await hx.default.rm(i,{force:!0,recursive:!0}).catch(f=>{sa.error("failed to remove temp directory",f)})}}catch(s){throw await hx.default.rm(i,{force:!0,recursive:!0}).catch(o=>{sa.error("failed to remove temp directory",o)}),s}}var tf=require("@squiz/render-runtime-lib"),zKe=require("@squiz/runtime-sandbox-node"),HKe=ve(Ic()),KKe=ve(require("path")),Av=ve(vM()),JKe=ve(require("open")),YKe=ve(Yt()),QKe=require("@squiz/component-logger-lib");function XKe(e,t){let r=(0,HKe.getLogger)({name:"component-dev",format:t.loggingFormat||"human",silent:process.env.NODE_ENV==="test"}),n=new QKe.ComponentLogger({enabled:!1,tenantId:"dev-tenant-id",logUrl:"",key:"",tags:"tag-foo tag-foo2",serviceName:"component-dev"}),i=KKe.default.resolve(process.cwd(),e),s=`http://localhost:${t.port}`,o=()=>s,a=new YKe.DevelopmentApiKeyService,c=new zKe.NodeSandbox({workerPool:{shouldCacheResponses:!1,workerLimits:{minWorkers:2,maxWorkers:2}}}),l=new tf.ComponentRunnerServiceWithWorkers(c,r,n),u=new Av.ComponentFunctionService,d=new Av.ComponentSetServiceForLocalDev(r),h=new Av.ManifestServiceForDev(i,r),f=void 0,y=new tf.RenderInputService(a,d,h,u,f,o),E=(0,tf.setupRenderRuntimeServer)({logger:r,componentRunnerService:l,componentFunctionService:u,componentPreviewService:new tf.ComponentPreviewService,componentSetService:d,manifestService:h,renderInputService:y,apiKeyService:a,sandbox:c,componentRootUrlResolver:o},{enableDevMode:!0}).listen(t.port,()=>{r.info(`Component development webserver started on port ${s}`)});return(t==null?void 0:t.noBrowser)!==!0&&(0,JKe.default)(s),E.on("close",async()=>{await l.stop()}),E}var rf=require("@squiz/edge-dev-render-runtime-lib"),ZKe=ve(Ic()),e7e=ve(require("path")),Ov=ve(vM()),t7e=ve(require("open"));function r7e(e,t){let r=(0,ZKe.getLogger)({name:"component-dev",format:t.loggingFormat||"human",silent:process.env.NODE_ENV==="test"}),n=e7e.default.resolve(process.cwd(),e),i=`http://localhost:${t.port}`,s=()=>i,o=new rf.DevelopmentComponentRunnerService,a=new Ov.ComponentFunctionService,c=new Ov.ComponentSetServiceForLocalDev(r),l=new Ov.ManifestServiceForDev(n,r),u=new rf.RenderInputService(c,l,a,s),d=(0,rf.setupRenderRuntimeServer)({logger:r,developmentComponentRunnerService:o,componentFunctionService:a,componentPreviewService:new rf.ComponentPreviewService,componentSetService:c,manifestService:l,renderInputService:u,componentRootUrlResolver:s},{enableDevMode:!0});d.use((f,y,S)=>{y.set({"Cache-Control":"no-store, no-cache, must-revalidate, proxy-revalidate",Pragma:"no-cache",Expires:"0","Surrogate-Control":"no-store"}),S()});let h=d.listen(t.port,()=>{r.info(`Edge Component development webserver started on port ${i}`)});return(t==null?void 0:t.noBrowser)!==!0&&(0,t7e.default)(i),h.on("close",async()=>{}),h}var dm=ve(MJe()),Ex=ve(require("path")),qJe=ve(Ic()),nxr={name:"default",displayName:"Default",description:"Default component",namespace:"default-namespace"};async function V9(e){let t=(0,qJe.getLogger)({name:"component-dev",format:e.loggingFormat||"human",silent:process.env.NODE_ENV==="test"});t.info("Initializing component...");let r=Ex.default.resolve(__dirname),n=Ex.default.join(r,"templates",e.componentType),i=Ex.default.resolve(e.destination);if(await dm.default.pathExists(i)){if((await dm.default.readdir(i)).length>0)throw new Error("The destination folder already exists and is not empty.")}else await dm.default.mkdirp(i);await dm.default.copy(n,i),await ixr({destination:i,prompts:Object.assign({},nxr,e.prompts)}),t.info("Component initialized!")}async function ixr(e){let{destination:t,prompts:r}=e,n=Ex.default.resolve(t,"manifest.json"),i=await dm.default.readJSON(n);i.name=r.name,i.displayName=r.displayName,i.description=r.description,i.namespace=r.namespace,await dm.default.writeJSON(n,i,{spaces:2})}var LJe=ve(eq()),jJe=ve(Yt()),FJe=require("@squiz/job-runner-lib"),W9=ve(require("fs/promises")),z9=ve(require("path")),AM=ve(require("cli-color")),UJe=ve(Ic());var Fu=(0,UJe.getLogger)({name:"upload-job",format:"human"});async function BJe(e,t,r=""){let n=await W9.default.mkdtemp(z9.default.resolve(r,"job-upload"));try{let i=await oxr(e,t),s=await sxr(e,t,n);await(0,LJe.uploadFile)(s.upload,s.zip),await bM(e,"/upload-job/status/",s.upload.id),Fu.info(`deployment id: ${s.upload.id} status: deploying job folder`);let o=await axr(e,s.upload.id,i.getModel());if(await G9(n),o.status==="successful")Fu.info(`deployment id: ${s.upload.id} status: ${AM.default.green("success")}`);else{let a=(o==null?void 0:o.message)??"unknown";Fu.error(`failed due an unexpected reason: ${a}`),await G9(n)}}catch(i){throw await G9(n),i}}async function sxr(e,t,r){Fu.info("Initial scanning");let i={zip:await(0,jJe.zipDirectory)(t,r),upload:await ef(e.post("/upload-job",{}))};return Fu.info(`deployment id: ${i.upload.id} status: transferring`),i}async function oxr(e,t){let r=new FJe.ManifestServiceForDev(t,Fu),n=z9.default.join(t,"manifest.json"),i=await r.readJobManifest(n);if(await Tv(e,`/job/${i.getName()}/${i.getVersion()}`))throw new Error(`Cannot upload job version, ${i.getName()} ${i.getVersion()} already exists`);return i}async function axr(e,t,r){let n=await ef(e.post("/upload-job/next",{id:t,manifest:r}));if(!SM(n)){let i=12;for(;i>0;){if(Fu.info(`deployment id: ${t} status: ${AM.default.yellow(`unknown, retrying to check the upload status ${i} more times`)}`),await Tv(e,`/job/${r.name}/${r.version}`)){n={status:"successful"};break}await new Promise(s=>setTimeout(s,1e4)),i--}if(i===0)throw Fu.error(`deployment id: ${t} status: ${AM.default.red("failed to check the upload status")}`),new Error(n.toString())}return n}async function G9(e){await W9.default.rm(e,{force:!0,recursive:!0}).catch(t=>{Fu.error("failed to remove temp directory",t)})}0&&(module.exports={componentInit,startDevelopmentRender,startEdgeDevelopmentRender,uploadComponentFolder,uploadJobFolder});
268
268
  /**
269
269
  * @title @squiz/content-api
270
270
  * @version 1.94.0