khoros-aurora-sdk 24.5.0 → 24.5.2
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/build-hash.txt +1 -1
- package/package.json +1 -1
- package/scripts/buildPluginCli.js +1 -1
- package/scripts/devPluginCli.js +1 -1
- package/scripts/formatPluginCli.js +1 -1
- package/scripts/generateCli.js +1 -1
- package/scripts/initPluginCli.js +4 -4
- package/scripts/lintPluginCli.js +1 -1
- package/scripts/pluginPreviewCli.js +1 -1
- package/types/mf/index.d.ts +108 -4
- package/types/pkg/index.d.ts +108 -4
- package/.env +0 -6
package/build-hash.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
17a7024
|
package/package.json
CHANGED
|
@@ -4,4 +4,4 @@ GFS4: `),console.error(e)});k[T]||(dt=global[T]||[],ht(k,dt),k.close=function(e)
|
|
|
4
4
|
see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0001");let{srcStat:n,destStat:i}=await de.checkPaths(e,t,"copy",r);if(await de.checkParentPaths(e,n,t,"copy"),!await Lt(e,t,r))return;let s=pe.dirname(t);await Xn(s)||await zn(s),await Tt(i,e,t,r)}async function Lt(e,t,r){return r.filter?r.filter(e,t):!0}async function Tt(e,t,r,n){let o=await(n.dereference?I.stat:I.lstat)(t);if(o.isDirectory())return ii(o,e,t,r,n);if(o.isFile()||o.isCharacterDevice()||o.isBlockDevice())return ti(o,e,t,r,n);if(o.isSymbolicLink())return oi(e,t,r,n);throw o.isSocket()?new Error(`Cannot copy a socket file: ${t}`):o.isFIFO()?new Error(`Cannot copy a FIFO pipe: ${t}`):new Error(`Unknown file: ${t}`)}async function ti(e,t,r,n,i){if(!t)return $t(e,r,n,i);if(i.overwrite)return await I.unlink(n),$t(e,r,n,i);if(i.errorOnExist)throw new Error(`'${n}' already exists`)}async function $t(e,t,r,n){if(await I.copyFile(t,r),n.preserveTimestamps){ri(e.mode)&&await ni(r,e.mode);let i=await I.stat(t);await Zn(r,i.atime,i.mtime)}return I.chmod(r,e.mode)}function ri(e){return(e&128)===0}function ni(e,t){return I.chmod(e,t|128)}async function ii(e,t,r,n,i){t||await I.mkdir(n);let o=await I.readdir(r);await Promise.all(o.map(async s=>{let c=pe.join(r,s),y=pe.join(n,s);if(!await Lt(c,y,i))return;let{destStat:a}=await de.checkPaths(c,y,"copy",i);return Tt(a,c,y,i)})),t||await I.chmod(n,e.mode)}async function oi(e,t,r,n){let i=await I.readlink(t);if(n.dereference&&(i=pe.resolve(process.cwd(),i)),!e)return I.symlink(i,r);let o=null;try{o=await I.readlink(r)}catch(s){if(s.code==="EINVAL"||s.code==="UNKNOWN")return I.symlink(i,r);throw s}if(n.dereference&&(o=pe.resolve(process.cwd(),o)),de.isSrcSubdir(i,o))throw new Error(`Cannot copy '${i}' to a subdirectory of itself, '${o}'.`);if(de.isSrcSubdir(o,i))throw new Error(`Cannot overwrite '${o}' with '${i}'.`);return await I.unlink(r),I.symlink(i,r)}_t.exports=ei});var Jt=d((ss,Rt)=>{"use strict";var R=se(),ye=require("path"),si=Y().mkdirsSync,ai=Ge().utimesMillisSync,he=re();function ci(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;
|
|
5
5
|
|
|
6
6
|
see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0002");let{srcStat:n,destStat:i}=he.checkPathsSync(e,t,"copy",r);if(he.checkParentPathsSync(e,n,t,"copy"),r.filter&&!r.filter(e,t))return;let o=ye.dirname(t);return R.existsSync(o)||si(o),Dt(i,e,t,r)}function Dt(e,t,r,n){let o=(n.dereference?R.statSync:R.lstatSync)(t);if(o.isDirectory())return yi(o,e,t,r,n);if(o.isFile()||o.isCharacterDevice()||o.isBlockDevice())return ui(o,e,t,r,n);if(o.isSymbolicLink())return gi(e,t,r,n);throw o.isSocket()?new Error(`Cannot copy a socket file: ${t}`):o.isFIFO()?new Error(`Cannot copy a FIFO pipe: ${t}`):new Error(`Unknown file: ${t}`)}function ui(e,t,r,n,i){return t?li(e,r,n,i):At(e,r,n,i)}function li(e,t,r,n){if(n.overwrite)return R.unlinkSync(r),At(e,t,r,n);if(n.errorOnExist)throw new Error(`'${r}' already exists`)}function At(e,t,r,n){return R.copyFileSync(t,r),n.preserveTimestamps&&fi(e.mode,t,r),He(r,e.mode)}function fi(e,t,r){return mi(e)&&pi(r,e),di(t,r)}function mi(e){return(e&128)===0}function pi(e,t){return He(e,t|128)}function He(e,t){return R.chmodSync(e,t)}function di(e,t){let r=R.statSync(e);return ai(t,r.atime,r.mtime)}function yi(e,t,r,n,i){return t?Wt(r,n,i):hi(e.mode,r,n,i)}function hi(e,t,r,n){return R.mkdirSync(r),Wt(t,r,n),He(r,e)}function Wt(e,t,r){R.readdirSync(e).forEach(n=>wi(n,e,t,r))}function wi(e,t,r,n){let i=ye.join(t,e),o=ye.join(r,e);if(n.filter&&!n.filter(i,o))return;let{destStat:s}=he.checkPathsSync(i,o,"copy",n);return Dt(s,i,o,n)}function gi(e,t,r,n){let i=R.readlinkSync(t);if(n.dereference&&(i=ye.resolve(process.cwd(),i)),e){let o;try{o=R.readlinkSync(r)}catch(s){if(s.code==="EINVAL"||s.code==="UNKNOWN")return R.symlinkSync(i,r);throw s}if(n.dereference&&(o=ye.resolve(process.cwd(),o)),he.isSrcSubdir(i,o))throw new Error(`Cannot copy '${i}' to a subdirectory of itself, '${o}'.`);if(he.isSrcSubdir(o,i))throw new Error(`Cannot overwrite '${o}' with '${i}'.`);return Si(i,r)}else return R.symlinkSync(i,r)}function Si(e,t){return R.unlinkSync(t),R.symlinkSync(e,t)}Rt.exports=ci});var qe=d((as,Mt)=>{"use strict";var vi=j().fromPromise;Mt.exports={copy:vi(It()),copySync:Jt()}});var we=d((cs,Ut)=>{"use strict";var Bt=se(),ki=j().fromCallback;function xi(e,t){Bt.rm(e,{recursive:!0,force:!0},t)}function bi(e){Bt.rmSync(e,{recursive:!0,force:!0})}Ut.exports={remove:ki(xi),removeSync:bi}});var Xt=d((us,zt)=>{"use strict";var Ei=j().fromPromise,Gt=W(),Vt=require("path"),Ht=Y(),Qt=we(),Kt=Ei(async function(t){let r;try{r=await Gt.readdir(t)}catch{return Ht.mkdirs(t)}return Promise.all(r.map(n=>Qt.remove(Vt.join(t,n))))});function Yt(e){let t;try{t=Gt.readdirSync(e)}catch{return Ht.mkdirsSync(e)}t.forEach(r=>{r=Vt.join(e,r),Qt.removeSync(r)})}zt.exports={emptyDirSync:Yt,emptydirSync:Yt,emptyDir:Kt,emptydir:Kt}});var rr=d((ls,tr)=>{"use strict";var Pi=j().fromPromise,Zt=require("path"),H=W(),er=Y();async function Fi(e){let t;try{t=await H.stat(e)}catch{}if(t&&t.isFile())return;let r=Zt.dirname(e),n=null;try{n=await H.stat(r)}catch(i){if(i.code==="ENOENT"){await er.mkdirs(r),await H.writeFile(e,"");return}else throw i}n.isDirectory()?await H.writeFile(e,""):await H.readdir(r)}function qi(e){let t;try{t=H.statSync(e)}catch{}if(t&&t.isFile())return;let r=Zt.dirname(e);try{H.statSync(r).isDirectory()||H.readdirSync(r)}catch(n){if(n&&n.code==="ENOENT")er.mkdirsSync(r);else throw n}H.writeFileSync(e,"")}tr.exports={createFile:Pi(Fi),createFileSync:qi}});var ar=d((fs,sr)=>{"use strict";var ji=j().fromPromise,nr=require("path"),X=W(),ir=Y(),{pathExists:Oi}=z(),{areIdentical:or}=re();async function Ci(e,t){let r;try{r=await X.lstat(t)}catch{}let n;try{n=await X.lstat(e)}catch(s){throw s.message=s.message.replace("lstat","ensureLink"),s}if(r&&or(n,r))return;let i=nr.dirname(t);await Oi(i)||await ir.mkdirs(i),await X.link(e,t)}function Ni(e,t){let r;try{r=X.lstatSync(t)}catch{}try{let o=X.lstatSync(e);if(r&&or(o,r))return}catch(o){throw o.message=o.message.replace("lstat","ensureLink"),o}let n=nr.dirname(t);return X.existsSync(n)||ir.mkdirsSync(n),X.linkSync(e,t)}sr.exports={createLink:ji(Ci),createLinkSync:Ni}});var ur=d((ms,cr)=>{"use strict";var Z=require("path"),ge=W(),{pathExists:$i}=z(),Li=j().fromPromise;async function Ti(e,t){if(Z.isAbsolute(e)){try{await ge.lstat(e)}catch(o){throw o.message=o.message.replace("lstat","ensureSymlink"),o}return{toCwd:e,toDst:e}}let r=Z.dirname(t),n=Z.join(r,e);if(await $i(n))return{toCwd:n,toDst:e};try{await ge.lstat(e)}catch(o){throw o.message=o.message.replace("lstat","ensureSymlink"),o}return{toCwd:e,toDst:Z.relative(r,e)}}function _i(e,t){if(Z.isAbsolute(e)){if(!ge.existsSync(e))throw new Error("absolute srcpath does not exist");return{toCwd:e,toDst:e}}let r=Z.dirname(t),n=Z.join(r,e);if(ge.existsSync(n))return{toCwd:n,toDst:e};if(!ge.existsSync(e))throw new Error("relative srcpath does not exist");return{toCwd:e,toDst:Z.relative(r,e)}}cr.exports={symlinkPaths:Li(Ti),symlinkPathsSync:_i}});var mr=d((ps,fr)=>{"use strict";var lr=W(),Ii=j().fromPromise;async function Di(e,t){if(t)return t;let r;try{r=await lr.lstat(e)}catch{return"file"}return r&&r.isDirectory()?"dir":"file"}function Ai(e,t){if(t)return t;let r;try{r=lr.lstatSync(e)}catch{return"file"}return r&&r.isDirectory()?"dir":"file"}fr.exports={symlinkType:Ii(Di),symlinkTypeSync:Ai}});var hr=d((ds,yr)=>{"use strict";var Wi=j().fromPromise,pr=require("path"),G=W(),{mkdirs:Ri,mkdirsSync:Ji}=Y(),{symlinkPaths:Mi,symlinkPathsSync:Bi}=ur(),{symlinkType:Ui,symlinkTypeSync:Ki}=mr(),{pathExists:Yi}=z(),{areIdentical:dr}=re();async function Gi(e,t,r){let n;try{n=await G.lstat(t)}catch{}if(n&&n.isSymbolicLink()){let[c,y]=await Promise.all([G.stat(e),G.stat(t)]);if(dr(c,y))return}let i=await Mi(e,t);e=i.toDst;let o=await Ui(i.toCwd,r),s=pr.dirname(t);return await Yi(s)||await Ri(s),G.symlink(e,t,o)}function Vi(e,t,r){let n;try{n=G.lstatSync(t)}catch{}if(n&&n.isSymbolicLink()){let c=G.statSync(e),y=G.statSync(t);if(dr(c,y))return}let i=Bi(e,t);e=i.toDst,r=Ki(i.toCwd,r);let o=pr.dirname(t);return G.existsSync(o)||Ji(o),G.symlinkSync(e,t,r)}yr.exports={createSymlink:Wi(Gi),createSymlinkSync:Vi}});var Er=d((ys,br)=>{"use strict";var{createFile:wr,createFileSync:gr}=rr(),{createLink:Sr,createLinkSync:vr}=ar(),{createSymlink:kr,createSymlinkSync:xr}=hr();br.exports={createFile:wr,createFileSync:gr,ensureFile:wr,ensureFileSync:gr,createLink:Sr,createLinkSync:vr,ensureLink:Sr,ensureLinkSync:vr,createSymlink:kr,createSymlinkSync:xr,ensureSymlink:kr,ensureSymlinkSync:xr}});var je=d((hs,Pr)=>{function Hi(e,{EOL:t=`
|
|
7
|
-
`,finalEOL:r=!0,replacer:n=null,spaces:i}={}){let o=r?t:"";return JSON.stringify(e,n,i).replace(/\n/g,t)+o}function Qi(e){return Buffer.isBuffer(e)&&(e=e.toString("utf8")),e.replace(/^\uFEFF/,"")}Pr.exports={stringify:Hi,stripBom:Qi}});var Or=d((ws,jr)=>{var ue;try{ue=se()}catch{ue=require("fs")}var Oe=j(),{stringify:Fr,stripBom:qr}=je();async function zi(e,t={}){typeof t=="string"&&(t={encoding:t});let r=t.fs||ue,n="throws"in t?t.throws:!0,i=await Oe.fromCallback(r.readFile)(e,t);i=qr(i);let o;try{o=JSON.parse(i,t?t.reviver:null)}catch(s){if(n)throw s.message=`${e}: ${s.message}`,s;return null}return o}var Xi=Oe.fromPromise(zi);function Zi(e,t={}){typeof t=="string"&&(t={encoding:t});let r=t.fs||ue,n="throws"in t?t.throws:!0;try{let i=r.readFileSync(e,t);return i=qr(i),JSON.parse(i,t.reviver)}catch(i){if(n)throw i.message=`${e}: ${i.message}`,i;return null}}async function eo(e,t,r={}){let n=r.fs||ue,i=Fr(t,r);await Oe.fromCallback(n.writeFile)(e,i,r)}var to=Oe.fromPromise(eo);function ro(e,t,r={}){let n=r.fs||ue,i=Fr(t,r);return n.writeFileSync(e,i,r)}var no={readFile:Xi,readFileSync:Zi,writeFile:to,writeFileSync:ro};jr.exports=no});var Nr=d((gs,Cr)=>{"use strict";var Ce=Or();Cr.exports={readJson:Ce.readFile,readJsonSync:Ce.readFileSync,writeJson:Ce.writeFile,writeJsonSync:Ce.writeFileSync}});var Ne=d((Ss,Tr)=>{"use strict";var io=j().fromPromise,Qe=W(),$r=require("path"),Lr=Y(),oo=z().pathExists;async function so(e,t,r="utf-8"){let n=$r.dirname(e);return await oo(n)||await Lr.mkdirs(n),Qe.writeFile(e,t,r)}function ao(e,...t){let r=$r.dirname(e);Qe.existsSync(r)||Lr.mkdirsSync(r),Qe.writeFileSync(e,...t)}Tr.exports={outputFile:io(so),outputFileSync:ao}});var Ir=d((vs,_r)=>{"use strict";var{stringify:co}=je(),{outputFile:uo}=Ne();async function lo(e,t,r={}){let n=co(t,r);await uo(e,n,r)}_r.exports=lo});var Ar=d((ks,Dr)=>{"use strict";var{stringify:fo}=je(),{outputFileSync:mo}=Ne();function po(e,t,r){let n=fo(t,r);mo(e,n,r)}Dr.exports=po});var Rr=d((xs,Wr)=>{"use strict";var yo=j().fromPromise,J=Nr();J.outputJson=yo(Ir());J.outputJsonSync=Ar();J.outputJSON=J.outputJson;J.outputJSONSync=J.outputJsonSync;J.writeJSON=J.writeJson;J.writeJSONSync=J.writeJsonSync;J.readJSON=J.readJson;J.readJSONSync=J.readJsonSync;Wr.exports=J});var Kr=d((bs,Ur)=>{"use strict";var ho=W(),Jr=require("path"),{copy:wo}=qe(),{remove:Br}=we(),{mkdirp:go}=Y(),{pathExists:So}=z(),Mr=re();async function vo(e,t,r={}){let n=r.overwrite||r.clobber||!1,{srcStat:i,isChangingCase:o=!1}=await Mr.checkPaths(e,t,"move",r);await Mr.checkParentPaths(e,i,t,"move");let s=Jr.dirname(t);return Jr.parse(s).root!==s&&await go(s),ko(e,t,n,o)}async function ko(e,t,r,n){if(!n){if(r)await Br(t);else if(await So(t))throw new Error("dest already exists.")}try{await ho.rename(e,t)}catch(i){if(i.code!=="EXDEV")throw i;await xo(e,t,r)}}async function xo(e,t,r){return await wo(e,t,{overwrite:r,errorOnExist:!0,preserveTimestamps:!0}),Br(e)}Ur.exports=vo});var Qr=d((Es,Hr)=>{"use strict";var Gr=se(),Xe=require("path"),bo=qe().copySync,Vr=we().removeSync,Eo=Y().mkdirpSync,Yr=re();function Po(e,t,r){r=r||{};let n=r.overwrite||r.clobber||!1,{srcStat:i,isChangingCase:o=!1}=Yr.checkPathsSync(e,t,"move",r);return Yr.checkParentPathsSync(e,i,t,"move"),Fo(t)||Eo(Xe.dirname(t)),qo(e,t,n,o)}function Fo(e){let t=Xe.dirname(e);return Xe.parse(t).root===t}function qo(e,t,r,n){if(n)return ze(e,t,r);if(r)return Vr(t),ze(e,t,r);if(Gr.existsSync(t))throw new Error("dest already exists.");return ze(e,t,r)}function ze(e,t,r){try{Gr.renameSync(e,t)}catch(n){if(n.code!=="EXDEV")throw n;return jo(e,t,r)}}function jo(e,t,r){return bo(e,t,{overwrite:r,errorOnExist:!0,preserveTimestamps:!0}),Vr(e)}Hr.exports=Po});var Xr=d((Ps,zr)=>{"use strict";var Oo=j().fromPromise;zr.exports={move:Oo(Kr()),moveSync:Qr()}});var le=d((Fs,Zr)=>{"use strict";Zr.exports={...W(),...qe(),...Xt(),...Er(),...Rr(),...Y(),...Xr(),...Ne(),...z(),...we()}});var vn=b(le()),kn=require("rimraf");var en=b(require("pino")),Co=(0,en.default)({transport:{target:"pino-pretty",options:{sync:!0}},level:process.env.LOG_LEVEL??"info"});function _(e){return Co.child({name:e??"sdk"})}var M=b(le()),B=b(require("node:path")),tn=require("rimraf"),rn=b(require("shelljs"));var ne=_();async function No(e,t){let r=B.default.join(e,"src","endpoints");if(await(0,M.pathExists)(r)){ne.info("Building plugin modules at %s",B.default.resolve(__dirname,e));let n=t.startsWith(B.default.sep)?t:B.default.join(e,t);await(0,M.ensureDir)(n),await(0,tn.rimraf)(B.default.join(n,"pkg")),ne.info(`Output directory is ${n}`);let i=B.default.join(e,"tsconfig.server.json");if(await(0,M.pathExists)(i)){let o=rn.default.exec(`tsc -p ${B.default.join(e,"tsconfig.server.json")}`,{fatal:!0});if(o.code>0)return ne.error("Error building modules"),o.code;{await(0,M.copy)(r,B.default.join(e,"dist","pkg","endpoints"),{filter:c=>!(c.endsWith(".ts")||c.includes("node_modules"))});let s=B.default.join(e,"package.json");if(await(0,M.pathExists)(s)){let c=await(0,M.readJSON)(s);c.workspaces=["endpoints/**/*"],await(0,M.writeJSON)(B.default.join(e,"dist","pkg","package.json"),c);let y=B.default.join(e,"package-lock.json");await(0,M.pathExists)(y)&&await(0,M.copy)(y,B.default.join(e,"dist","pkg","package-lock.json"),{errorOnExist:!1})}else ne.warn("Missing package.json file exists in %s",e);ne.info("Module build complete")}}else ne.warn("No tsconfig.server.json file found. Please run init first.")}else ne.info("No plugin modules to build");return 0}var nn=No;var Le=b(le()),on=require("glob"),ee=b(require("node:path")),Ze=b(require("shelljs"));var $e=_("build"),$o=async e=>{let t=await(0,on.glob)(ee.default.join(e,"**","*.component.json"));return(await Promise.all(t.map(async n=>({path:n,descriptor:await Le.default.readJson(n)})))).filter(n=>n.descriptor.markupLanguage==="REACT")},Lo=async(e,t)=>{let r={};return await Promise.all(t.map(async n=>{let{descriptor:i,path:o}=n,s=`./${i.id}`,c=ee.default.join(ee.default.dirname(o.replace(ee.default.sep+"res",ee.default.sep+"src")),"Component.tsx");await Le.default.pathExists(c)?($e.debug(`React component found at path ${c} for descriptor at path ${o}`),Object.assign(r,{[s]:`./${ee.default.relative(e,c)}`})):$e.warn(`No React component found at path ${c} for descriptor at path ${o}`)})),r};function To(e){return e==="dev"}async function _o(e,t,r){let n=await $o(t),i=await Lo(t,n);$e.info("Federation config is %O",i),await Le.default.writeJSON(ee.default.join(t,"federation.config.json"),{name:"auroraComponents",exposes:i,extraOptions:{debug:!1}});let o="",s=To(e);s&&(o=`-p ${r}`),Ze.default.env.NEXT_PRIVATE_LOCAL_WEBPACK="true";let c=Ze.default.exec(`next ${e} ${o} ${t}`,{async:s,fatal:!0});return"code"in c?(!s&&c.code>0&&$e.error("Error in NextJS build"),{success:c.code==0,descriptors:n}):{success:!0,descriptors:n}}var sn=_o;var an=b(require("dotenv-flow")),cn=b(require("findup-sync")),tt=b(require("node:path")),un=b(require("yargs")),ln=require("yargs/helpers");var et=_("cli");function Io(){if(!global.sdkConfigLoaded){let e=(0,cn.default)(".env*");if(e){et.debug("Loading config from .env files: $s",e);let{error:t,parsed:r}=an.default.config({path:tt.default.dirname(e)});t?(et.error(t,"Error reading config file"),process.exit(1)):et.info("Using config values: %O",r)}}global.sdkConfigLoaded=!0}function Do(e,t,r,n,i){Io(),(0,un.default)((0,ln.hideBin)(process.argv)).scriptName(e).options(n??{}).env("PLUGIN").usage("$0 [repoPath]").command("$0 [repoPath]",t,o=>o.positional("repoPath",{describe:"The full path to plugin root directory.",type:"string"}),async o=>{await r(o)}).check(o=>{let{repoPath:s}=o;if(!s)throw new Error("No plugin repository path found. Please either pass it as an argument to this process or specify it in your .env file as PLUGIN_REPO_PATH. ");if(!s.startsWith(tt.default.sep))throw new Error("The plugin repository path must be a full (not relative) path.");return i?i(o):!0}).help().parse()}var fn=Do;var mn=b(require("asset-compressor")),pn=b(le()),_e=b(require("node:path"));var Te=_("compress");async function Ao(e,t){let r=t.startsWith(_e.default.sep)?t:_e.default.join(e,t),n=_e.default.join(r,"mf");if(await(0,pn.pathExists)(n)){Te.info("Compressing assets in %s",n);try{await(0,mn.default)({dirs:[n]}),Te.info("Compressing assets complete")}catch(i){Te.error(i,"Error compressing assets")}}else Te.info("No mf assets to compress")}var dn=Ao;var Se=b(require("node:path")),yn=b(require("shelljs"));var Ie=_("format");function Wo(e,t){Ie.info("Formatting plugin directory: %s",t);let r=e==="format:fix"?"--write":"--check",n=`prettier --config ${Se.default.join(t,".prettierrc.js")} --ignore-path ${Se.default.join(t,".prettierignore")} ${r} ${Se.default.join(t,"res")} ${Se.default.join(t,"src")} `;Ie.debug(n);let i=yn.default.exec(n);return i.code>0?Ie.warn("Formatting errors found for plugin at %s",t):Ie.info("Formatting complete for plugin at %s",t),i.code}var hn=Wo;var U=b(le()),x=b(require("node:path"));var rt=_("setup"),Ro={hooks:{"pre-commit":"npm run precommit","post-commit":"git update-index --again"}},Jo={"**/*.{js,jsx,ts,tsx,css,scss,pcss,json}":["prettier --write"],"**/*.{js,ts,tsx}":["eslint --fix --ignore-pattern '!.eslintrc.js' --ignore-pattern '!.prettierrc.js'"]},ie=x.default.resolve(__dirname,x.default.join("..")),Mo=x.default.join(ie,"templates");async function Bo(e){rt.info("Initializing plugin directory %s",e),await U.default.remove(x.default.join(e,"app")),await U.default.ensureDir(x.default.join(e,"pages")),await U.default.ensureDir(x.default.join(e,"src"));async function t(s,c=!0){let y=x.default.join(Mo,s),C=x.default.join(e,s.replaceAll(".tmpl",""));rt.debug(`Copying ${y} to ${C}`),await U.default.copy(y,C,{overwrite:c})}let r={".babelrc.tmpl":!0,".env.local.tmpl":!1,".eslintignore.tmpl":!0,".eslintrc.tmpl.js":!0,".gitignore.tmpl":!0,".npmrc.tmpl":!0,".nvmrc.tmpl":!0,".prettierignore.tmpl":!0,".prettierrc.tmpl.js":!0,"tsconfig.server.tmpl.json":!0,"tsconfig.tmpl.json":!0};rt.info(`Copying template files to the plugin at ${e}`),await Promise.all(Object.keys(r).map(async s=>{await t(s,r[s])}));let i=(await U.default.readJson(x.default.join(ie,"package.json"))).name,o=await U.default.readJson(x.default.join(e,"package.json"),"utf8");o.workspaces=["src/**/*"],o.scripts||(o.scripts={}),o.scripts.start=`npm explore ${i} -- npm run start -- $INIT_CWD`,o.scripts.dev=`npm explore ${i} -- npm run dev:plugin -- $INIT_CWD`,o.scripts.build=`npm explore ${i} -- npm run build:plugin -- $INIT_CWD`,o.scripts.lint=`npm explore ${i} -- npm run lint:plugin -- $INIT_CWD`,o.scripts["lint:fix"]=`npm explore ${i} -- npm run lint:plugin:fix -- $INIT_CWD`,o.scripts.format=`npm explore ${i} -- npm run format:plugin -- $INIT_CWD`,o.scripts["format:fix"]=`npm explore ${i} -- npm run format:plugin:fix -- $INIT_CWD`,o.scripts.init=`npm explore ${i} -- npm run init:plugin -- $INIT_CWD`,o.scripts.gen=`npm explore ${i} -- npm run gen -- $INIT_CWD`,o.scripts.precommit="lint-staged",o.husky=Ro,o["lint-staged"]=Jo,await U.default.writeJson(x.default.join(e,"package.json"),o,{spaces:" "}),await U.default.copy(x.default.join(ie,"next.config.js"),x.default.join(e,"next.config.js"),{overwrite:!0}),await U.default.copy(x.default.join(ie,"README.md"),x.default.join(e,"SDK.md"),{overwrite:!0}),await U.default.copy(x.default.join(ie,"types","mf","index.d.ts"),x.default.join(e,"types","mf","aurora.d.ts"),{overwrite:!0}),await U.default.copy(x.default.join(ie,"types","pkg","index.d.ts"),x.default.join(e,"types","pkg","aurora.d.ts"),{overwrite:!0}),await U.default.copy(x.default.join(ie,"types","graphql.d.ts"),x.default.join(e,"types","graphql.d.ts"),{overwrite:!0})}var wn=Bo;var nt=b(require("node:path")),gn=b(require("shelljs"));var De=_("lint");function Uo(e,t){De.info("Linting plugin directory: %s",t);let r=e==="lint:fix"?"--fix --max-warnings=0":"",n=`eslint --ext .js --ext .jsx --ext .tsx --ext .ts --cache --config ${nt.default.join(t,".eslintrc.js")} ${r} ${nt.default.join(t,"src")}`;De.debug(n);let i=gn.default.exec(n,{fatal:!0});return i.code>0?De.error("Linting failed for plugin at %s",t):De.info("Linting complete for plugin at %s",t),i.code}var Sn=Uo;var ve=_("build");fn("build:modules","Build the plugin modules",async({repoPath:e,outputDirectory:t,init:r,lint:n,format:i})=>{let o=Date.now();if(await(0,vn.pathExists)(t))try{ve.info("Cleaning output directory at %s",t),await(0,kn.rimraf)(t)}catch(y){ve.error(y,"Error cleaning output directory at %s",t)}r===!0&&await wn(e),n===!0&&Sn("lint",e)>0&&(ve.warn("Terminating build due to lint failure"),process.exit(1)),i===!0&&hn("format",e),(await sn("build",e,3002)).success&&await dn(e,t),await nn(e,t)>0?(ve.warn("Terminating build due to module build failure"),process.exit(1)):ve.info("Plugin build complete in "+(Date.now()-o)+"ms")},{b:{alias:"branchName",demandOption:!1,default:"main",describe:'The branch to build. If not specified, "main" is assumed. This does not control the checked out files but adds an additional branch segment to the S3 file key',type:"string"},c:{alias:"changeSet",demandOption:!1,describe:"A set of changed files. If not specified, all components and middlewares in the plugin will be built. If specified, only components and middlewares with changed files will be built.",type:"array"},o:{alias:"outputDirectory",demandOption:!1,default:"dist",describe:'The output directory. If not specified, "dist" is assumed. This is where the build artifacts will be placed.',type:"string"},i:{alias:"init",demandOption:!1,default:!1,describe:"Whether to init the plugin as part of the build process",type:"boolean"},l:{alias:"lint",demandOption:!1,default:!0,describe:"Whether to run lint as part of the build process.",type:"boolean"},f:{alias:"format",demandOption:!1,default:!1,describe:"Whether to run format as part of the build process.",type:"boolean"}});
|
|
7
|
+
`,finalEOL:r=!0,replacer:n=null,spaces:i}={}){let o=r?t:"";return JSON.stringify(e,n,i).replace(/\n/g,t)+o}function Qi(e){return Buffer.isBuffer(e)&&(e=e.toString("utf8")),e.replace(/^\uFEFF/,"")}Pr.exports={stringify:Hi,stripBom:Qi}});var Or=d((ws,jr)=>{var ue;try{ue=se()}catch{ue=require("fs")}var Oe=j(),{stringify:Fr,stripBom:qr}=je();async function zi(e,t={}){typeof t=="string"&&(t={encoding:t});let r=t.fs||ue,n="throws"in t?t.throws:!0,i=await Oe.fromCallback(r.readFile)(e,t);i=qr(i);let o;try{o=JSON.parse(i,t?t.reviver:null)}catch(s){if(n)throw s.message=`${e}: ${s.message}`,s;return null}return o}var Xi=Oe.fromPromise(zi);function Zi(e,t={}){typeof t=="string"&&(t={encoding:t});let r=t.fs||ue,n="throws"in t?t.throws:!0;try{let i=r.readFileSync(e,t);return i=qr(i),JSON.parse(i,t.reviver)}catch(i){if(n)throw i.message=`${e}: ${i.message}`,i;return null}}async function eo(e,t,r={}){let n=r.fs||ue,i=Fr(t,r);await Oe.fromCallback(n.writeFile)(e,i,r)}var to=Oe.fromPromise(eo);function ro(e,t,r={}){let n=r.fs||ue,i=Fr(t,r);return n.writeFileSync(e,i,r)}var no={readFile:Xi,readFileSync:Zi,writeFile:to,writeFileSync:ro};jr.exports=no});var Nr=d((gs,Cr)=>{"use strict";var Ce=Or();Cr.exports={readJson:Ce.readFile,readJsonSync:Ce.readFileSync,writeJson:Ce.writeFile,writeJsonSync:Ce.writeFileSync}});var Ne=d((Ss,Tr)=>{"use strict";var io=j().fromPromise,Qe=W(),$r=require("path"),Lr=Y(),oo=z().pathExists;async function so(e,t,r="utf-8"){let n=$r.dirname(e);return await oo(n)||await Lr.mkdirs(n),Qe.writeFile(e,t,r)}function ao(e,...t){let r=$r.dirname(e);Qe.existsSync(r)||Lr.mkdirsSync(r),Qe.writeFileSync(e,...t)}Tr.exports={outputFile:io(so),outputFileSync:ao}});var Ir=d((vs,_r)=>{"use strict";var{stringify:co}=je(),{outputFile:uo}=Ne();async function lo(e,t,r={}){let n=co(t,r);await uo(e,n,r)}_r.exports=lo});var Ar=d((ks,Dr)=>{"use strict";var{stringify:fo}=je(),{outputFileSync:mo}=Ne();function po(e,t,r){let n=fo(t,r);mo(e,n,r)}Dr.exports=po});var Rr=d((xs,Wr)=>{"use strict";var yo=j().fromPromise,J=Nr();J.outputJson=yo(Ir());J.outputJsonSync=Ar();J.outputJSON=J.outputJson;J.outputJSONSync=J.outputJsonSync;J.writeJSON=J.writeJson;J.writeJSONSync=J.writeJsonSync;J.readJSON=J.readJson;J.readJSONSync=J.readJsonSync;Wr.exports=J});var Kr=d((bs,Ur)=>{"use strict";var ho=W(),Jr=require("path"),{copy:wo}=qe(),{remove:Br}=we(),{mkdirp:go}=Y(),{pathExists:So}=z(),Mr=re();async function vo(e,t,r={}){let n=r.overwrite||r.clobber||!1,{srcStat:i,isChangingCase:o=!1}=await Mr.checkPaths(e,t,"move",r);await Mr.checkParentPaths(e,i,t,"move");let s=Jr.dirname(t);return Jr.parse(s).root!==s&&await go(s),ko(e,t,n,o)}async function ko(e,t,r,n){if(!n){if(r)await Br(t);else if(await So(t))throw new Error("dest already exists.")}try{await ho.rename(e,t)}catch(i){if(i.code!=="EXDEV")throw i;await xo(e,t,r)}}async function xo(e,t,r){return await wo(e,t,{overwrite:r,errorOnExist:!0,preserveTimestamps:!0}),Br(e)}Ur.exports=vo});var Qr=d((Es,Hr)=>{"use strict";var Gr=se(),Xe=require("path"),bo=qe().copySync,Vr=we().removeSync,Eo=Y().mkdirpSync,Yr=re();function Po(e,t,r){r=r||{};let n=r.overwrite||r.clobber||!1,{srcStat:i,isChangingCase:o=!1}=Yr.checkPathsSync(e,t,"move",r);return Yr.checkParentPathsSync(e,i,t,"move"),Fo(t)||Eo(Xe.dirname(t)),qo(e,t,n,o)}function Fo(e){let t=Xe.dirname(e);return Xe.parse(t).root===t}function qo(e,t,r,n){if(n)return ze(e,t,r);if(r)return Vr(t),ze(e,t,r);if(Gr.existsSync(t))throw new Error("dest already exists.");return ze(e,t,r)}function ze(e,t,r){try{Gr.renameSync(e,t)}catch(n){if(n.code!=="EXDEV")throw n;return jo(e,t,r)}}function jo(e,t,r){return bo(e,t,{overwrite:r,errorOnExist:!0,preserveTimestamps:!0}),Vr(e)}Hr.exports=Po});var Xr=d((Ps,zr)=>{"use strict";var Oo=j().fromPromise;zr.exports={move:Oo(Kr()),moveSync:Qr()}});var le=d((Fs,Zr)=>{"use strict";Zr.exports={...W(),...qe(),...Xt(),...Er(),...Rr(),...Y(),...Xr(),...Ne(),...z(),...we()}});var vn=b(le()),kn=require("rimraf");var en=b(require("pino")),Co=(0,en.default)({transport:{target:"pino-pretty",options:{sync:!0}},level:process.env.LOG_LEVEL??"info"});function _(e){return Co.child({name:e??"sdk"})}var M=b(le()),B=b(require("node:path")),tn=require("rimraf"),rn=b(require("shelljs"));var ne=_();async function No(e,t){let r=B.default.join(e,"src","endpoints");if(await(0,M.pathExists)(r)){ne.info("Building plugin modules at %s",B.default.resolve(__dirname,e));let n=t.startsWith(B.default.sep)?t:B.default.join(e,t);await(0,M.ensureDir)(n),await(0,tn.rimraf)(B.default.join(n,"pkg")),ne.info(`Output directory is ${n}`);let i=B.default.join(e,"tsconfig.server.json");if(await(0,M.pathExists)(i)){let o=rn.default.exec(`tsc -p ${B.default.join(e,"tsconfig.server.json")}`,{fatal:!0});if(o.code>0)return ne.error("Error building modules"),o.code;{await(0,M.copy)(r,B.default.join(e,"dist","pkg","endpoints"),{filter:c=>!(c.endsWith(".ts")||c.includes("node_modules"))});let s=B.default.join(e,"package.json");if(await(0,M.pathExists)(s)){let c=await(0,M.readJSON)(s);c.workspaces=["endpoints/**/*"],await(0,M.writeJSON)(B.default.join(e,"dist","pkg","package.json"),c);let y=B.default.join(e,"package-lock.json");await(0,M.pathExists)(y)&&await(0,M.copy)(y,B.default.join(e,"dist","pkg","package-lock.json"),{errorOnExist:!1})}else ne.warn("Missing package.json file exists in %s",e);ne.info("Module build complete")}}else ne.warn("No tsconfig.server.json file found. Please run init first.")}else ne.info("No plugin modules to build");return 0}var nn=No;var Le=b(le()),on=require("glob"),ee=b(require("node:path")),Ze=b(require("shelljs"));var $e=_("build"),$o=async e=>{let t=await(0,on.glob)(ee.default.join(e,"**","*.component.json"));return(await Promise.all(t.map(async n=>({path:n,descriptor:await Le.default.readJson(n)})))).filter(n=>n.descriptor.markupLanguage==="REACT")},Lo=async(e,t)=>{let r={};return await Promise.all(t.map(async n=>{let{descriptor:i,path:o}=n,s=`./${i.id}`,c=ee.default.join(ee.default.dirname(o.replace(ee.default.sep+"res",ee.default.sep+"src")),"Component.tsx");await Le.default.pathExists(c)?($e.debug(`React component found at path ${c} for descriptor at path ${o}`),Object.assign(r,{[s]:`./${ee.default.relative(e,c)}`})):$e.warn(`No React component found at path ${c} for descriptor at path ${o}`)})),r};function To(e){return e==="dev"}async function _o(e,t,r){let n=await $o(t),i=await Lo(t,n);$e.info("Federation config is %O",i),await Le.default.writeJSON(ee.default.join(t,"federation.config.json"),{name:"auroraComponents",exposes:i,extraOptions:{debug:!1}});let o="",s=To(e);s&&(o=`-p ${r}`),Ze.default.env.NEXT_PRIVATE_LOCAL_WEBPACK="true";let c=Ze.default.exec(`next ${e} ${o} ${t}`,{async:s,fatal:!0});return"code"in c?(!s&&c.code>0&&$e.error("Error in NextJS build"),{success:c.code==0,descriptors:n}):{success:!0,descriptors:n}}var sn=_o;var an=b(require("dotenv-flow")),cn=b(require("findup-sync")),tt=b(require("node:path")),un=b(require("yargs")),ln=require("yargs/helpers");var et=_("cli");global.FormData=void 0;function Io(){if(!global.sdkConfigLoaded){let e=(0,cn.default)(".env*");if(e){et.debug("Loading config from .env files: $s",e);let{error:t,parsed:r}=an.default.config({path:tt.default.dirname(e)});t?(et.error(t,"Error reading config file"),process.exit(1)):et.info("Using config values: %O",r)}}global.sdkConfigLoaded=!0}function Do(e,t,r,n,i){Io(),(0,un.default)((0,ln.hideBin)(process.argv)).scriptName(e).options(n??{}).env("PLUGIN").usage("$0 [repoPath]").command("$0 [repoPath]",t,o=>o.positional("repoPath",{describe:"The full path to plugin root directory.",type:"string"}),async o=>{await r(o)}).check(o=>{let{repoPath:s}=o;if(!s)throw new Error("No plugin repository path found. Please either pass it as an argument to this process or specify it in your .env file as PLUGIN_REPO_PATH. ");if(!s.startsWith(tt.default.sep))throw new Error("The plugin repository path must be a full (not relative) path.");return i?i(o):!0}).help().parse()}var fn=Do;var mn=b(require("asset-compressor")),pn=b(le()),_e=b(require("node:path"));var Te=_("compress");async function Ao(e,t){let r=t.startsWith(_e.default.sep)?t:_e.default.join(e,t),n=_e.default.join(r,"mf");if(await(0,pn.pathExists)(n)){Te.info("Compressing assets in %s",n);try{await(0,mn.default)({dirs:[n]}),Te.info("Compressing assets complete")}catch(i){Te.error(i,"Error compressing assets")}}else Te.info("No mf assets to compress")}var dn=Ao;var Se=b(require("node:path")),yn=b(require("shelljs"));var Ie=_("format");function Wo(e,t){Ie.info("Formatting plugin directory: %s",t);let r=e==="format:fix"?"--write":"--check",n=`prettier --config ${Se.default.join(t,".prettierrc.js")} --ignore-path ${Se.default.join(t,".prettierignore")} ${r} ${Se.default.join(t,"res")} ${Se.default.join(t,"src")} `;Ie.debug(n);let i=yn.default.exec(n);return i.code>0?Ie.warn("Formatting errors found for plugin at %s",t):Ie.info("Formatting complete for plugin at %s",t),i.code}var hn=Wo;var U=b(le()),x=b(require("node:path"));var rt=_("setup"),Ro={hooks:{"pre-commit":"npm run precommit","post-commit":"git update-index --again"}},Jo={"**/*.{js,jsx,ts,tsx,css,scss,pcss,json}":["prettier --write"],"**/*.{js,ts,tsx}":["eslint --fix --ignore-pattern '!.eslintrc.js' --ignore-pattern '!.prettierrc.js'"]},ie=x.default.resolve(__dirname,x.default.join("..")),Mo=x.default.join(ie,"templates");async function Bo(e){rt.info("Initializing plugin directory %s",e),await U.default.remove(x.default.join(e,"app")),await U.default.ensureDir(x.default.join(e,"pages")),await U.default.ensureDir(x.default.join(e,"src"));async function t(s,c=!0){let y=x.default.join(Mo,s),C=x.default.join(e,s.replaceAll(".tmpl",""));rt.debug(`Copying ${y} to ${C}`),await U.default.copy(y,C,{overwrite:c})}let r={".babelrc.tmpl":!0,".env.local.tmpl":!1,".eslintignore.tmpl":!0,".eslintrc.tmpl.js":!0,".gitignore.tmpl":!0,".npmrc.tmpl":!0,".nvmrc.tmpl":!0,".prettierignore.tmpl":!0,".prettierrc.tmpl.js":!0,"tsconfig.server.tmpl.json":!0,"tsconfig.tmpl.json":!0};rt.info(`Copying template files to the plugin at ${e}`),await Promise.all(Object.keys(r).map(async s=>{await t(s,r[s])}));let i=(await U.default.readJson(x.default.join(ie,"package.json"))).name,o=await U.default.readJson(x.default.join(e,"package.json"),"utf8");o.workspaces=["src/**/*"],o.scripts||(o.scripts={}),o.scripts.start=`npm explore ${i} -- npm run start -- $INIT_CWD`,o.scripts.dev=`npm explore ${i} -- npm run dev:plugin -- $INIT_CWD`,o.scripts.build=`npm explore ${i} -- npm run build:plugin -- $INIT_CWD`,o.scripts.lint=`npm explore ${i} -- npm run lint:plugin -- $INIT_CWD`,o.scripts["lint:fix"]=`npm explore ${i} -- npm run lint:plugin:fix -- $INIT_CWD`,o.scripts.format=`npm explore ${i} -- npm run format:plugin -- $INIT_CWD`,o.scripts["format:fix"]=`npm explore ${i} -- npm run format:plugin:fix -- $INIT_CWD`,o.scripts.init=`npm explore ${i} -- npm run init:plugin -- $INIT_CWD`,o.scripts.gen=`npm explore ${i} -- npm run gen -- $INIT_CWD`,o.scripts.precommit="lint-staged",o.husky=Ro,o["lint-staged"]=Jo,await U.default.writeJson(x.default.join(e,"package.json"),o,{spaces:" "}),await U.default.copy(x.default.join(ie,"next.config.js"),x.default.join(e,"next.config.js"),{overwrite:!0}),await U.default.copy(x.default.join(ie,"README.md"),x.default.join(e,"SDK.md"),{overwrite:!0}),await U.default.copy(x.default.join(ie,"types","mf","index.d.ts"),x.default.join(e,"types","mf","aurora.d.ts"),{overwrite:!0}),await U.default.copy(x.default.join(ie,"types","pkg","index.d.ts"),x.default.join(e,"types","pkg","aurora.d.ts"),{overwrite:!0}),await U.default.copy(x.default.join(ie,"types","graphql.d.ts"),x.default.join(e,"types","graphql.d.ts"),{overwrite:!0})}var wn=Bo;var nt=b(require("node:path")),gn=b(require("shelljs"));var De=_("lint");function Uo(e,t){De.info("Linting plugin directory: %s",t);let r=e==="lint:fix"?"--fix --max-warnings=0":"",n=`eslint --ext .js --ext .jsx --ext .tsx --ext .ts --cache --config ${nt.default.join(t,".eslintrc.js")} ${r} ${nt.default.join(t,"src")}`;De.debug(n);let i=gn.default.exec(n,{fatal:!0});return i.code>0?De.error("Linting failed for plugin at %s",t):De.info("Linting complete for plugin at %s",t),i.code}var Sn=Uo;var ve=_("build");fn("build:modules","Build the plugin modules",async({repoPath:e,outputDirectory:t,init:r,lint:n,format:i})=>{let o=Date.now();if(await(0,vn.pathExists)(t))try{ve.info("Cleaning output directory at %s",t),await(0,kn.rimraf)(t)}catch(y){ve.error(y,"Error cleaning output directory at %s",t)}r===!0&&await wn(e),n===!0&&Sn("lint",e)>0&&(ve.warn("Terminating build due to lint failure"),process.exit(1)),i===!0&&hn("format",e),(await sn("build",e,3002)).success&&await dn(e,t),await nn(e,t)>0?(ve.warn("Terminating build due to module build failure"),process.exit(1)):ve.info("Plugin build complete in "+(Date.now()-o)+"ms")},{b:{alias:"branchName",demandOption:!1,default:"main",describe:'The branch to build. If not specified, "main" is assumed. This does not control the checked out files but adds an additional branch segment to the S3 file key',type:"string"},c:{alias:"changeSet",demandOption:!1,describe:"A set of changed files. If not specified, all components and middlewares in the plugin will be built. If specified, only components and middlewares with changed files will be built.",type:"array"},o:{alias:"outputDirectory",demandOption:!1,default:"dist",describe:'The output directory. If not specified, "dist" is assumed. This is where the build artifacts will be placed.',type:"string"},i:{alias:"init",demandOption:!1,default:!1,describe:"Whether to init the plugin as part of the build process",type:"boolean"},l:{alias:"lint",demandOption:!1,default:!0,describe:"Whether to run lint as part of the build process.",type:"boolean"},f:{alias:"format",demandOption:!1,default:!1,describe:"Whether to run format as part of the build process.",type:"boolean"}});
|