@fnet/cli 0.133.0 → 0.133.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/dist/fbin/index.js +14 -1
- package/dist/fnet/index.0jcm9pn5.js +1 -0
- package/dist/fnet/index.2084z2ed.js +2 -0
- package/dist/fnet/index.33f1ggpr.js +1 -0
- package/dist/fnet/index.3exge2js.js +1 -0
- package/dist/fnet/index.3kfx538h.js +1 -0
- package/dist/fnet/index.490y87nc.js +1 -0
- package/dist/fnet/index.4g9yezkq.js +1 -0
- package/dist/fnet/index.4jkat7r4.js +1 -0
- package/dist/fnet/index.7crx8ky1.js +1 -0
- package/dist/fnet/index.7vw06nrn.js +1 -0
- package/dist/fnet/index.9567fa9x.js +1 -0
- package/dist/fnet/index.gh75wt1m.js +1 -0
- package/dist/fnet/index.hzsfswvp.js +1 -0
- package/dist/fnet/index.jgpc3grc.js +1 -0
- package/dist/fnet/index.js +19 -1
- package/dist/fnet/index.p0zb7e1b.js +1 -0
- package/dist/fnet/index.r19p3bpa.js +2 -0
- package/dist/fnet/index.r82rtnmz.js +1 -0
- package/dist/fnet/index.s662t98v.js +1 -0
- package/dist/fnet/index.w74dpnpn.js +1 -0
- package/dist/fnet/index.xeaw5xa9.js +1 -0
- package/dist/fnet/index.zm4kesg6.js +1 -0
- package/dist/fnode/index.05n3mvs9.js +2 -0
- package/dist/fnode/index.2hc9tbyx.js +1 -0
- package/dist/fnode/index.2pnjg6dc.js +1 -0
- package/dist/fnode/index.9qgtmxq3.js +2 -0
- package/dist/fnode/index.b1q7y05p.js +1 -0
- package/dist/fnode/index.bhapgrs7.js +1 -0
- package/dist/fnode/index.cvxrf34y.js +2 -0
- package/dist/fnode/index.dp9wyahp.js +1 -0
- package/dist/fnode/index.eqxmcpdc.js +1 -0
- package/dist/fnode/index.f2tb0x3t.js +1 -0
- package/dist/fnode/index.fbzv6wwf.js +1 -0
- package/dist/fnode/index.gazd9raq.js +1 -0
- package/dist/fnode/index.hv4s25f0.js +3 -0
- package/dist/fnode/index.j5z7dtsx.js +1 -0
- package/dist/fnode/index.js +9 -1
- package/dist/fnode/index.kb4e4bxf.js +1 -0
- package/dist/fnode/index.qn0schqp.js +1 -0
- package/dist/fnode/index.rht29phd.js +1 -0
- package/dist/fnode/index.rzsfmek6.js +3 -0
- package/dist/fnode/index.s0nk6cv8.js +4 -0
- package/dist/fnode/index.s66v6wt4.js +1 -0
- package/dist/fnode/index.sv7v0y60.js +1 -0
- package/dist/fnode/index.tgkhgnrp.js +1 -0
- package/dist/fnode/index.vq706f75.js +1 -0
- package/dist/fnode/index.y8pvdcny.js +1 -0
- package/dist/fnode/index.z4vz93ww.js +1 -0
- package/dist/frun/index.js +1 -1
- package/dist/fservice/index.js +18 -1
- package/dist/fservice/index.q01yvaz0.js +2 -0
- package/package.json +21 -18
- package/readme.md +62 -15
- package/template/fnet/core/object.js +10 -10
- package/template/fnet/node/package.json.njk +6 -3
- package/template/fnet/node/src/cli/index.js.njk +5 -315
- package/template/fnet/node/src/cli/index.js.v1.njk +318 -0
- package/template/fnet/node/src/cli/v2/core/args-parser.njk +10 -0
- package/template/fnet/node/src/cli/v2/core/imports.njk +31 -0
- package/template/fnet/node/src/cli/v2/core/run-wrapper.njk +25 -0
- package/template/fnet/node/src/cli/v2/index.js.njk +184 -0
- package/template/fnet/node/src/cli/v2/modes/default/extend.njk +11 -0
- package/template/fnet/node/src/cli/v2/modes/default/standard.njk +20 -0
- package/template/fnet/node/src/cli/v2/modes/http/builtin.njk +66 -0
- package/template/fnet/node/src/cli/v2/modes/http/imports.njk +9 -0
- package/template/fnet/node/src/cli/v2/modes/http/index.njk +12 -0
- package/template/fnet/node/src/cli/v2/modes/mcp/imports.njk +33 -0
- package/template/fnet/node/src/cli/v2/modes/mcp/index.njk +30 -0
- package/template/fnet/node/src/cli/v2/modes/mcp/server-setup.njk +15 -0
- package/template/fnet/node/src/cli/v2/modes/mcp/tool-handlers.njk +46 -0
- package/template/fnet/node/src/cli/v2/modes/mcp/transport-http.njk +222 -0
- package/template/fnet/node/src/cli/v2/modes/mcp/transport-stdio.njk +9 -0
- package/template/fnet/node/src/cli/v2/modes/pipeline/imports.njk +9 -0
- package/template/fnet/node/src/cli/v2/modes/pipeline/index.njk +113 -0
- package/template/fnet/node/src/cli/v2/modes/webhook/imports.njk +9 -0
- package/template/fnet/node/src/cli/v2/modes/webhook/index.njk +127 -0
- package/template/fnet/node/src/cli/v2/modes/websocket/imports.njk +15 -0
- package/template/fnet/node/src/cli/v2/modes/websocket/index.njk +104 -0
- package/template/fnet/node/src/default/blocks/assign.js.njk +10 -48
- package/template/fnet/node/src/default/blocks/call.js.njk +110 -156
- package/template/fnet/node/src/default/blocks/for.js.njk +58 -74
- package/template/fnet/node/src/default/blocks/form.js.njk +21 -59
- package/template/fnet/node/src/default/blocks/http.js.njk +135 -0
- package/template/fnet/node/src/default/blocks/modules.js.njk +10 -52
- package/template/fnet/node/src/default/blocks/new.js.njk +40 -85
- package/template/fnet/node/src/default/blocks/next.js.njk +10 -32
- package/template/fnet/node/src/default/blocks/output.js.njk +10 -48
- package/template/fnet/node/src/default/blocks/parallel.js.njk +64 -0
- package/template/fnet/node/src/default/blocks/pipeline.js.njk +109 -0
- package/template/fnet/node/src/default/blocks/raise.js.njk +9 -25
- package/template/fnet/node/src/default/blocks/retry.js.njk +70 -0
- package/template/fnet/node/src/default/blocks/return.js.njk +13 -25
- package/template/fnet/node/src/default/blocks/schedule.js.njk +66 -0
- package/template/fnet/node/src/default/blocks/signal.js.njk +10 -32
- package/template/fnet/node/src/default/blocks/steps.js.njk +32 -48
- package/template/fnet/node/src/default/blocks/switch.js.njk +37 -67
- package/template/fnet/node/src/default/blocks/tryexcept.js.njk +58 -52
- package/template/fnet/node/src/default/blocks/wait.js.njk +10 -30
- package/template/fnet/node/src/default/input.args.js.njk +5 -2
- package/template/fnet/node/src/default/macros/block-body-header.js.njk +1 -1
- package/template/fnet/node/src/default/macros/block-header.js.njk +0 -3
- package/template/fnet/node/src/default/macros/block-next.js.njk +1 -1
- package/template/fnet/node/src/default/macros/block-run-footer.js.njk +1 -1
- package/template/fnet/node/src/default/macros/block-run-header.js.njk +14 -2
- package/template/fnet/node/src/default/macros/page.js.njk +1 -1
- package/template/fnet/node/src/default/types/block.js.njk +133 -0
- package/template/fnet/node/src/default/workflow.js.njk +8 -6
- package/template/fnode/node/package.json.njk +5 -4
- package/template/fnode/node/src/cli/index.js.njk +3 -397
- package/template/fnode/node/src/cli/index.js.v1.njk +464 -0
- package/template/fnode/node/src/cli/v2/core/args-parser.njk +10 -0
- package/template/fnode/node/src/cli/v2/core/imports.njk +29 -0
- package/template/fnode/node/src/cli/v2/core/run-wrapper.njk +25 -0
- package/template/fnode/node/src/cli/v2/index.js.njk +184 -0
- package/template/fnode/node/src/cli/v2/modes/default/extend.njk +11 -0
- package/template/fnode/node/src/cli/v2/modes/default/standard.njk +19 -0
- package/template/fnode/node/src/cli/v2/modes/http/builtin.njk +61 -0
- package/template/fnode/node/src/cli/v2/modes/http/imports.njk +9 -0
- package/template/fnode/node/src/cli/v2/modes/http/index.njk +12 -0
- package/template/fnode/node/src/cli/v2/modes/mcp/imports.njk +33 -0
- package/template/fnode/node/src/cli/v2/modes/mcp/index.njk +30 -0
- package/template/fnode/node/src/cli/v2/modes/mcp/server-setup.njk +15 -0
- package/template/fnode/node/src/cli/v2/modes/mcp/tool-handlers.njk +41 -0
- package/template/fnode/node/src/cli/v2/modes/mcp/transport-http.njk +212 -0
- package/template/fnode/node/src/cli/v2/modes/mcp/transport-stdio.njk +9 -0
- package/template/fnode/node/src/cli/v2/modes/pipeline/imports.njk +9 -0
- package/template/fnode/node/src/cli/v2/modes/pipeline/index.njk +103 -0
- package/template/fnode/node/src/cli/v2/modes/webhook/imports.njk +9 -0
- package/template/fnode/node/src/cli/v2/modes/webhook/index.njk +122 -0
- package/template/fnode/node/src/cli/v2/modes/websocket/imports.njk +15 -0
- package/template/fnode/node/src/cli/v2/modes/websocket/index.njk +99 -0
- package/template/fnode/node/src/default/input.args.js.njk +6 -2
- package/dist/fnet/index.-SGbq2cI.js +0 -1
- package/dist/fnet/index.B5XE4ChJ.js +0 -1
- package/dist/fnet/index.Bft2w7m3.js +0 -1
- package/dist/fnet/index.BuYxdKtK.js +0 -1
- package/dist/fnet/index.C0YpfQ5j.js +0 -1
- package/dist/fnet/index.C2S9JYhS.js +0 -1
- package/dist/fnet/index.C7saWH6d.js +0 -1
- package/dist/fnet/index.CDct_kkF.js +0 -1
- package/dist/fnet/index.CMC8mlye.js +0 -1
- package/dist/fnet/index.CmMM-Ek9.js +0 -1
- package/dist/fnet/index.CuMyez3E.js +0 -1
- package/dist/fnet/index.CzAV0S36.js +0 -1
- package/dist/fnet/index.D2N9YZmA.js +0 -1
- package/dist/fnet/index.D3p7pncT.js +0 -1
- package/dist/fnet/index.DG8TqL-1.js +0 -1
- package/dist/fnet/index.DI3yyTtl.js +0 -1
- package/dist/fnet/index.DOYkqsYT.js +0 -1
- package/dist/fnet/index.DWpw12No.js +0 -1
- package/dist/fnet/index.DrwlOzAe.js +0 -1
- package/dist/fnet/index.Q-CYRcna.js +0 -1
- package/dist/fnet/index.W6RYgypK.js +0 -1
- package/dist/fnet/index.xd8c7XMr.js +0 -1
- package/dist/fnode/index.-SGbq2cI.js +0 -1
- package/dist/fnode/index.B5XE4ChJ.js +0 -1
- package/dist/fnode/index.B8gal9up.js +0 -1
- package/dist/fnode/index.BU1440aO.js +0 -1
- package/dist/fnode/index.BcGYSPne.js +0 -1
- package/dist/fnode/index.Bft2w7m3.js +0 -1
- package/dist/fnode/index.BuYxdKtK.js +0 -1
- package/dist/fnode/index.C2S9JYhS.js +0 -1
- package/dist/fnode/index.C7saWH6d.js +0 -1
- package/dist/fnode/index.CDct_kkF.js +0 -1
- package/dist/fnode/index.CMC8mlye.js +0 -1
- package/dist/fnode/index.CmMM-Ek9.js +0 -1
- package/dist/fnode/index.CuMyez3E.js +0 -1
- package/dist/fnode/index.CzAV0S36.js +0 -1
- package/dist/fnode/index.D2N9YZmA.js +0 -1
- package/dist/fnode/index.D3p7pncT.js +0 -1
- package/dist/fnode/index.DG8TqL-1.js +0 -1
- package/dist/fnode/index.DI3yyTtl.js +0 -1
- package/dist/fnode/index.DWpw12No.js +0 -1
- package/dist/fnode/index.DrwlOzAe.js +0 -1
- package/dist/fnode/index.N_a5FdgA.js +0 -1
- package/dist/fnode/index.Q-CYRcna.js +0 -1
- package/dist/fnode/index.UNoFg95r.js +0 -1
- package/dist/fnode/index.W6RYgypK.js +0 -1
- package/dist/fnode/index.xd8c7XMr.js +0 -1
- package/template/fnet/core/print.js +0 -1
- package/template/fnet/node/src/default/macros/workflow-header.js.njk +0 -7
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"node:fs";import t from"node:path";import{randomUUID as i}from"node:crypto";import o from"yaml";import s from"nunjucks";import a from"chalk";import{Api as r,Atom as n}from"@flownet/lib-atom-api-js";import c from"@fnet/config";import d from"@fnet/list-files";import"redis";import"@flownet/lib-is-redis-online";import l from"@fnet/yaml";class p{init({config:e,accessToken:t}){return new Promise(((i,o)=>{if(r.set_api_url(e.data.url),t)return r.set_req_token(t),void i(t);fetch(`${e.data.issuer}/protocol/openid-connect/token`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams(e.data.grant.params)}).then((async e=>{if(!e.ok)throw new Error(await e.text());return e.json()})).then((e=>{r.set_req_token(e.access_token),i(e.access_token)})).catch((e=>{r.set_req_token(),o(e)}))}))}}var m=async e=>{const{atom:t,packageDependencies:i,context:o,deploymentProjectTarget:s,setProgress:a,deploymentProject:r,yamlTarget:n}=e;if(!0!==s.enabled)return;const c=s.type;try{if("lib"===c)await(await import("./index.DG8TqL-1.js")).default({...e});else if("red"===c)await(await import("./index.CmMM-Ek9.js")).default({...e});else if("npm"===c)await(await import("./index.N_a5FdgA.js")).default({...e});else if("gcs"===c)await(await import("./index.Bft2w7m3.js")).default({...e});else if("gitlab"===c)await(await import("./index.DI3yyTtl.js")).default({...e});else if("fnet-package"===c)await(await import("./index.D3p7pncT.js")).default({...e});else if("fnet-form"===c)await(await import("./index.Q-CYRcna.js")).default({...e});else if("fnet-node"===c)await(await import("./index.C2S9JYhS.js")).default({...e});else if("fnet-flow"===c)await(await import("./index.BuYxdKtK.js")).default({...e});else if("nextjs"===c)await(await import("./index.CDct_kkF.js")).default({atom:t,target:s,onProgress:a,projectDir:o.projectDir,dependencies:i,context:o,yamlTarget:n}),r.isDirty=!0;else if("webos"===c)await(await import("./index.CMC8mlye.js")).default({atom:t,target:s,onProgress:a,projectDir:o.projectDir,dependencies:i,context:o,yamlTarget:n}),r.isDirty=!0;else if("electron"===c)await(await import("./index.xd8c7XMr.js")).default({atom:t,target:s,onProgress:a,projectDir:o.projectDir,dependencies:i,context:o,yamlTarget:n}),r.isDirty=!0;else if("docker"===c)await(await import("./index.D2N9YZmA.js")).default({atom:t,target:s,onProgress:a,projectDir:o.projectDir,dependencies:i,context:o,yamlTarget:n}),r.isDirty=!0;else if("ios"===c)await(await import("./index.B5XE4ChJ.js")).default({atom:t,target:s,onProgress:a,projectDir:o.projectDir,dependencies:i,context:o,yamlTarget:n}),r.isDirty=!0;else if("macos"===c)await(await import("./index.W6RYgypK.js")).default({atom:t,target:s,onProgress:a,projectDir:o.projectDir,dependencies:i,context:o,yamlTarget:n}),r.isDirty=!0;else if("rust"===c)await(await import("./index.CzAV0S36.js")).default({atom:t,target:s,onProgress:a,projectDir:o.projectDir,dependencies:i,context:o,yamlTarget:n}),r.isDirty=!0;else{if("pypi"!==c)return void console.warn(`No deployer found for type: ${c}`);await(await import("./index.C7saWH6d.js")).default({atom:t,target:s,onProgress:a,projectDir:o.projectDir,dependencies:i,context:o,yamlTarget:n}),r.isDirty=!0}}catch(e){throw console.error(`Error during deployment for type "${c}":`,e),e}};class g{#e;#t;#i;#o;#s;#a;#r;#n;#c;#d;#l;#p;#m;#g;#h;#f;#y;constructor(e){this.#e=new p,this.#t=e,this.#a=[],this.#r=[],this._expire_ttl=3600,this._expire_ttl_short=300,this.#y={packageDependencies:this.#a,packageDevDependencies:this.#r,setProgress:this.setProgress.bind(this),context:this.#t,Atom:n,registerToPackageManager:this.registerToPackageManager.bind(this)}}get apiContext(){return this.#y}get context(){return this.#t}get atom(){return this.#i}get libs(){return this.#s}set libs(e){this.#s=e}get fileMode(){return this.#g}get buildMode(){return this.#h}get deployMode(){return this.#f}async _cache_set(e,t,i){}async initAuth(){this.#t.id&&(this.#n=await this.#e.init({config:this.#p}),this.#y.atomAccessToken=this.#n)}async initLibrary(){const e=this.#t.id;this.#i=this.#t.project?.libraryAtom||await n.get({id:e});let t=this.#i.doc.bundleName;t=t||(this.#i.doc.name||"").toUpperCase().replace(/[^A-Z0-9]/g,"_"),this.#i.doc.bundleName=t,this.#i.type=this.#i.type||"workflow.lib",this.#y.atom=this.#i}async initLibraryDir(){this.setProgress({message:"Initializing library directory."});const i=this.#t.projectDir;this.setProgress({message:"Cleaning project directory."});const o=d({dir:i,ignore:[".cache","node_modules",".conda",".bin"],absolute:!0});for(const t of o)e.rmSync(t,{recursive:!0,force:!0});this.setProgress({message:"Creating project directory."});let s=i;e.existsSync(s)||e.mkdirSync(s,{recursive:!0}),s=t.join(i,"src"),e.existsSync(s)||e.mkdirSync(s,{recursive:!0}),s=t.join(i,"src","default"),e.existsSync(s)||e.mkdirSync(s,{recursive:!0})}async initNunjucks(){this.setProgress({message:"Initializing nunjucks."});const e=this.#t.templateDir;this.#o=s.configure(e,{watch:!1,dev:!0}),this.#y.njEnv=this.#o}async createProjectYaml(){const i="fnode.yaml",s=`Creating ${i}`;await this.setProgress({message:s});const{content:a,...r}=this.#i.doc,n=this.#t.projectDir,c=t.resolve(n,`${i}`);e.writeFileSync(c,o.stringify(r),"utf8")}async deploy(){if(await this.setProgress({message:"Deploying."}),this.#t.project?.devops){const e=[this.#t.project?.devops];for(let t=0;t<e.length;t++){let i=e[t];await this.deployProject({deploymentProject:i}),!0===i.isDirty&&await i.save()}}else if(this.#i.id){const e=await n.list({type:"library.deploy",parent_id:this.#i.id});for(let t=0;t<e.length;t++){let i=e[t];await this.deployProject({deploymentProject:i}),!0===i.isDirty&&(i=await n.update(i,{id:i.id}))}}}async deployProject(e){const{deploymentProject:t}=e,{yamlDocument:i}=t;if(t.doc.targets&&Array.isArray(t.doc.targets))throw new Error("Deployment project targets are deprecated. Please update targets in the yaml file.");const o=Object.keys(t.doc||{}),s=i||{};for(let e=0;e<o.length;e++){const i=t.doc[o[e]];i.name=o[e];const a=s.get(o[e]);await m({...this.#y,deploymentProject:t,deploymentProjectTarget:i,yamlTarget:a})}}async registerToPackageManager(e){const{target:t,packageJSON:i}=e;if(!this.#t.id)return;let o=await n.first({name:t.params.name,parent_id:this.#p.env.ATOM_PACKAGES_ID});o?(o.doc.versions.splice(0,0,{v:i.version}),await n.update(o,{id:o.id})):o=await n.create({parent_id:this.#p.env.ATOM_PACKAGES_ID,doc:{name:t.params.name,type:"pm",versions:[{v:i.version}]}})}async setProgress(e){const t="string"==typeof e?e:e?.message;console.log(a.blue(t)),await this._cache_set(this.#d,{status:"IN_PROGRESS",message:t})}async init(){this.#c=this.#t.buildId||i(),this.#y.buildId=this.#c,this.#m=this.#t.mode,this.#g=["all","deploy","build","file"].includes(this.#m),this.#h=["all","deploy","build"].includes(this.#m),this.#f=["all","deploy"].includes(this.#m),this.#l=this.#t.protocol,this.#d="BUILD:"+this.#c,this.#p=(await c({optional:!0,name:this.#t.atomConfig||"atom",dir:this.#t.projectDir,tags:this.#t.tags}))?.data;try{await this.setProgress({message:"Initialization started."}),await this.initAuth(),await this.initLibrary(),await this.initRuntime()}catch(e){throw await this._cache_set(this.#d,{status:"FAILED",message:e?.message||e}),e}}async initRuntime(){throw new Error("initRuntime method must be implemented by runtime-specific builder")}async build(){throw new Error("build method must be implemented by runtime-specific builder")}}async function h({atom:i,setProgress:o,context:a,packageDependencies:r}){await o({message:"Creating .gitignore"});const n={atom:i,packageDependencies:r},c=a.templateDir,d=s.compile(e.readFileSync(t.resolve(c,".gitignore.njk"),"utf8"),s.configure(c)).render(n),l=a.projectDir,p=t.resolve(l,".gitignore");e.writeFileSync(p,d,"utf8")}async function f({atom:i,context:o,setProgress:a,Atom:r}){const n="readme.md",c=`Creating ${n}`;if(await a({message:c}),o.project?.readme){const i=o.projectDir,a={content:o.project.readme.doc.content},r=t.resolve(o.project.projectDir,"fnet/how-to.md");if(e.existsSync(r)){const t=e.readFileSync(r,"utf8");a.howto=t}const c=t.resolve(o.project.projectDir,"fnet/input.yaml");if(e.existsSync(c)){const e=await l({file:c,tags:o.tags});a.input=e.content}const d=t.resolve(o.project.projectDir,"fnet/output.yaml");if(e.existsSync(d)){const e=await l({file:d,tags:o.tags});a.output=e.content}const p=o.templateDir,m=s.compile(e.readFileSync(t.resolve(p,`${n}.njk`),"utf8"),s.configure(p)).render(a),g=t.resolve(i,`${n}`);e.writeFileSync(g,m,"utf8")}else if(i.id){const a=await r.first({type:"wiki",parent_id:i.id});if(!a||"markdown"!==a.doc?.["content-type"])return;const{content:c,...d}=a.doc,l={content:c},p=o.templateDir,m=s.compile(e.readFileSync(t.resolve(p,`${n}.njk`),"utf8"),s.configure(p)).render(l),g=o.projectDir,h=t.resolve(g,`${n}`);e.writeFileSync(h,m,"utf8")}}export{g as B,h as a,f as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"node:fs";import t from"node:path";import r from"semver";import a from"@fnet/shelljs";import n from"@fnet/config";async function i({setProgress:i,context:o,deploymentProject:s,deploymentProjectTarget:c,registerToPackageManager:m,yamlTarget:p}){await i({message:"Deploying it as gcs package."});const l=o.projectDir,d=t.resolve(l,"package.json"),g=e.readFileSync(d),f=JSON.parse(g);f.name=c.params.name,f.version=r.inc(c.version,"patch"),delete f.scripts,delete f.devDependencies,e.writeFileSync(d,JSON.stringify(f,null,"\t"));const{file:v,data:y}=await n({name:c.config||"gcs",dir:o.projectDir,tags:o.tags});let u="fnet-files-to-gcs";u+=` --projectId='${y.env.GCS_PROJECT_ID}'`,u+=` --bucketName='${y.env.GCS_BUCKET_NAME}'`,u+=` --keyFilename='${t.resolve(t.dirname(v),y.env.GCS_UPLOADER_KEY_FILE)}'`,u+=` --dir='${l}'`,u+=" --pattern='dist/**/**'",u+=" --pattern='bin/**/**'",u+=" --pattern='test/**/**'",u+=" --pattern='*.html'",u+=` --destDir='${f.name}/${f.version}'`,u+=" --metadata.cacheControl='public, max-age=31536000, immutable'",console.log(u),y.env.DOMAIN&&(u+=` --domain='${y.env.DOMAIN}'`),!0!==c.dry_run&&!0!==c.params.dry_run||(u+=" --dryRun"),await a(u),e.writeFileSync(d,g),!0!==c.dryRun&&(s.isDirty=!0,c.version=f.version,p.set("version",f.version),await m({target:c,packageJSON:f}))}export{i as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import r from"semver";import e from"@fnet/config";import o from"node:fs";import t from"@fnet/shelljs";import n from"form-data";async function i({setProgress:i,context:s,deploymentProject:a,deploymentProjectTarget:f,yamlTarget:c}){await i({message:"Deploying it as fnet flow."});const{file:p,data:w}=await e({name:f.config||"fnet-flow",dir:s.project.projectDir,tags:s.tags});if(!w.env.ATOM_API_URL)throw new Error(`ATOM_API_URL is required in ${p}`);if(!w.env.ATOM_API_USERNAME)throw new Error(`ATOM_API_USERNAME is required in ${p}`);if(!w.env.ATOM_API_PASSWORD)throw new Error(`ATOM_API_PASSWORD is required in ${p}`);const d=`${w.env.ATOM_API_URL}/v1/auth/token`,m=w.env.ATOM_API_USERNAME,l=w.env.ATOM_API_PASSWORD,A=await fetch(d,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:m,password:l})});if(!A.ok)throw new Error(`Failed to fetch token: ${A.statusText}`);const h=await A.json(),_=h?.access_token;if(!_)throw new Error(`Invalid access_token from ${d}`);a.isDirty=!0;const u=r.inc(f.version,"patch");f.params.version=u,f.version=u,c.set("version",u);const v=`${w.env.ATOM_API_URL}/v1/service/fnet-flow/publish`,T=await fetch(v,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${_}`},body:JSON.stringify({name:f.params.name,version:f.params.version,docs:f.params.docs,configs:f.params.configs})});if(!T.ok)throw new Error(`Error publishing fnet flow: ${T.statusText}`);const E=await T.json();if(E?.error)throw new Error("Error publishing fnet flow.");const O=E?.upload.id;let P="fnet-dir-zipper";P+=` --sourceDir='${s.project.projectDir}'`,P+=" --pattern=**/*",P+=" --stdout_format=json";const g=await t(P);if(0!==g.code)throw new Error(g.stderr);const S=JSON.parse(g.stdout).path;let M=new n;M.append("file",o.createReadStream(S));const $=await fetch(`${w.env.ATOM_API_URL}/v1/service/upload/single/${O}`,{method:"POST",headers:{...M.getHeaders(),Authorization:`Bearer ${_}`},body:M});if(!$.ok)throw new Error(`Error uploading fnet flow: ${$.statusText}`);const j=await $.json();if(j?.error)throw new Error("Error uploading fnet flow.")}export{i as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"semver";import r from"@fnet/config";import o from"node:fs";import t from"@fnet/shelljs";import n from"form-data";async function i({setProgress:i,context:s,deploymentProject:a,deploymentProjectTarget:d,yamlTarget:c}){await i({message:"Deploying it as fnet node."});const{file:f,data:p}=await r({name:d.config||"fnet-node",dir:s.project.projectDir,tags:s.tags});if(!p.env.ATOM_API_URL)throw new Error(`ATOM_API_URL is required in ${f}`);if(!p.env.ATOM_API_USERNAME)throw new Error(`ATOM_API_USERNAME is required in ${f}`);if(!p.env.ATOM_API_PASSWORD)throw new Error(`ATOM_API_PASSWORD is required in ${f}`);const m=`${p.env.ATOM_API_URL}/v1/auth/token`,w=p.env.ATOM_API_USERNAME,A=p.env.ATOM_API_PASSWORD,h=await fetch(m,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:w,password:A})});if(!h.ok)throw new Error(`Failed to fetch token: ${h.statusText}`);const _=await h.json(),l=_?.access_token;if(!l)throw new Error(`Invalid access_token from ${m}`);a.isDirty=!0;const u=e.inc(d.version,"patch");d.params.version=u,d.version=u,c.set("version",u);const v=`${p.env.ATOM_API_URL}/v1/service/fnet-node/publish`,T=await fetch(v,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${l}`},body:JSON.stringify({name:d.params.name,version:d.params.version,docs:d.params.docs,configs:d.params.configs})});if(!T.ok)throw new Error(`Error publishing fnet node: ${T.statusText}`);const E=await T.json();if(E?.error)throw new Error("Error publishing fnet node.");const O=E?.upload.id;let P="fnet-dir-zipper";P+=` --sourceDir='${s.project.projectDir}'`,P+=" --pattern=**/*",P+=" --stdout_format=json";const g=await t(P);if(0!==g.code)throw new Error(g.stderr);const S=JSON.parse(g.stdout).path;let M=new n;M.append("file",o.createReadStream(S));const $=await fetch(`${p.env.ATOM_API_URL}/v1/service/upload/single/${O}`,{method:"POST",headers:{...M.getHeaders(),Authorization:`Bearer ${l}`},body:M});if(!$.ok)throw new Error(`Error uploading fnet node: ${$.statusText}`);const j=await $.json();if(j?.error)throw new Error("Error uploading fnet node.")}export{i as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"@fnet/config";import o from"@fnet/to-pyip";import t from"lodash.clonedeep";import a from"semver";async function n({atom:n,target:r,onProgress:i,projectDir:s,dependencies:p,context:c,yamlTarget:m}){i&&await i({message:"Deploying it as pypi package."});const f=r?.config?await e({name:r.config,dir:s,optional:!0,transferEnv:!1,tags:c.tags}):void 0,g=a.inc(r.version||"0.1.0","patch");r.params.version=g,r.version=g,m.set("version",g);const d=t(r.params);d.dependencies=t(p);const l={atom:n,params:d,config:f?.config,src:s,dest:s};return{deployer:await o(l)}}export{n as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"@fnet/config";import o from"@flownet/lib-to-nextjs";import t from"lodash.clonedeep";import n from"semver";async function a({atom:a,target:r,onProgress:s,projectDir:i,dependencies:c,context:m,yamlTarget:p}){s&&await s({message:"Deploying it as nextjs package."});const f=r?.config?await e({name:r.config,dir:i,optional:!0,transferEnv:!1,tags:m.tags}):void 0,g=n.inc(r.version||"0.1.0","patch");r.params.version=g,r.version=g,p.set("version",g);const d=t(r.params);d.dependencies=t(c);const l={atom:a,params:d,config:f?.config,src:i,dest:i};return{deployer:await o(l)}}export{a as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"@fnet/config";import o from"@flownet/lib-to-webos";import t from"lodash.clonedeep";import a from"semver";async function n({atom:n,target:r,onProgress:s,projectDir:i,dependencies:c,context:m,yamlTarget:p}){s&&await s({message:"Deploying it as webos package."});const f=r?.config?await e({name:r.config,dir:i,optional:!0,transferEnv:!1,tags:m.tags}):void 0,g=a.inc(r.version||"0.1.0","patch");r.params.version=g,r.version=g,p.set("version",g);const d=t(r.params);d.dependencies=t(c);const l={atom:n,params:d,config:f?.config,src:i,dest:i};return{deployer:await o(l)}}export{n as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"node:fs";import t from"node:path";import a from"node:os";import d from"nunjucks";import o from"@node-red/util";import i from"@fnet/config";async function n({atom:n,setProgress:l,context:r,deploymentProject:p,deploymentProjectTarget:s,buildId:c,packageDependencies:m,njEnv:f}){await l({message:"Deploying it as node-red flow."});const y=r.projectDir,u=r.templateDir,g="workflow"===n.type?"WF":"LIB";let h;if("simple"===s.deploy.template)h={atom:n,packageDependencies:m,red:{tab:{id:s.deploy.id||o.util.generateId(),label:`${g}/${n.id?n.id:a.hostname()}/${n.name}/${s.deploy.name||s.deploy.template}`},function:{id:o.util.generateId(),name:n.doc.name,initialize:{content:e.readFileSync(t.resolve(y,"dist/default/iife/index.js"),{encoding:"utf8",flag:"r"}),var:n.doc.bundleName}},inject:{id:o.util.generateId(),...s.params?.inject,payload:"json"===s.params?.inject?.payloadType?`'${JSON.stringify(s.params?.inject?.payload)}'`:s.params?.inject?.payload},debug:{id:o.util.generateId()}}};else if("cronjob"===s.deploy.template){let d=s.params?.schedules?cloneDeep(s.params?.schedules):void 0;d?.forEach((e=>{"json"===e.payloadType&&(e.payload=`'${JSON.stringify(e.payload)}'`)})),h={atom:n,packageDependencies:m,red:{tab:{id:s.deploy.id||o.util.generateId(),label:`${g}/${n.id?n.id:a.hostname()}/${s.deploy.name||s.deploy.template}`},function:{id:o.util.generateId(),name:n.doc.name,initialize:{content:e.readFileSync(t.resolve(y,"dist/default/iife/index.js"),{encoding:"utf8",flag:"r"}),var:n.doc.bundleName}},cronjob:{id:o.util.generateId(),schedules:d},debug:{id:o.util.generateId()}}}}else{if("http"!==s.deploy.template)return;h={atom:n,packageDependencies:m,red:{tab:{id:s.deploy.id||o.util.generateId(),label:`${g}/${n.id?n.id:a.hostname()}/${s.deploy.name||s.deploy.template}`},function:{id:o.util.generateId(),name:n.doc.name,initialize:{content:e.readFileSync(t.resolve(y,"dist/default/iife/index.js"),{encoding:"utf8",flag:"r"}),var:n.doc.bundleName}},httpin:{id:o.util.generateId(),method:s.params.method||"get",url:s.params.url},httpout:{id:o.util.generateId()},debug:{id:o.util.generateId()}}}}let j=d.compile(e.readFileSync(t.resolve(u,`deploy/node-red/${s.deploy.template}.yaml.njk`),"utf8"),f).render(h);if(e.writeFileSync(t.resolve(y,"node-red.yaml"),j),j=yaml.load(j),!0===s.dryRun)return;p.isDirty=!0;const w=(await i({name:r.redConfig||"red",dir:r.projectDir,tags:r.tags}))?.data,$=s.deploy.url||w.env.RED_URL,b={};if(!1!==s.deploy.auth&&(b.Authorization="Bearer "+atomAccessToken),s.deploy.id)if(!0===s.actions?.delete){const e=await fetch(`${$}/flow/${s.deploy.id}`,{method:"DELETE",headers:b});if(!e.ok)throw new Error(`Failed to delete flow: ${e.statusText}`);delete s.actions.delete,delete s.deploy.id,s.enabled=!1}else{const e=await fetch(`${$}/flow/${s.deploy.id}`,{method:"PUT",headers:{...b,"Content-Type":"application/json"},body:JSON.stringify(j)});if(!e.ok)throw new Error(`Failed to update flow: ${e.statusText}`)}else{const e=await fetch(`${$}/flow`,{method:"POST",headers:{...b,"Content-Type":"application/json"},body:JSON.stringify(j)});if(!e.ok)throw new Error(`Failed to create flow: ${e.statusText}`);const t=await e.json();s.deploy.id=t.id}}export{n as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
async function r(r){return{projectDir:process.cwd(),tags:r.ftag}}export{r as createContext};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"@fnet/config";import o from"@fnet/to-rust";import t from"lodash.clonedeep";import a from"semver";async function n({atom:n,target:r,onProgress:s,projectDir:i,dependencies:c,context:m,yamlTarget:p}){s&&await s({message:"Deploying it as Rust package."});const f=r?.config?await e({name:r.config,dir:i,optional:!0,transferEnv:!1,tags:m.tags}):void 0,g=a.inc(r.version||"0.1.0","patch");r.params.version=g,r.version=g,p.set("version",g);const d=t(r.params);d.dependencies=t(c);const l={atom:n,params:d,config:f?.config,src:i,dest:i};return{deployer:await o(l)}}export{n as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"@fnet/config";import o from"@flownet/lib-to-docker";import t from"lodash.clonedeep";import r from"semver";async function a({atom:a,target:n,onProgress:i,projectDir:s,dependencies:c,context:m,yamlTarget:p}){i&&await i({message:"Deploying it as docker package."});const f=n?.config?await e({name:n.config,dir:s,optional:!0,transferEnv:!1,tags:m.tags}):void 0,d=r.inc(n.version||"0.1.0","patch");n.params.version=d,n.version=d,p.set("version",d);const g=t(n.params);g.dependencies=t(c);const l={atom:a,params:g,config:f?.config,src:s,dest:s};return{deployer:await o(l)}}export{a as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"node:fs";import t from"node:path";import r from"semver";import n from"@fnet/shelljs";import o from"@fnet/config";async function a({setProgress:a,context:i,deploymentProject:s,deploymentProjectTarget:c,yamlTarget:p}){await a({message:"Deploying it as fnet package."});const d=i.projectDir,m=t.resolve(d,"package.json"),f=e.readFileSync(m),l=JSON.parse(f);l.name=c.params.name,l.version=r.inc(c.version,"patch"),delete l.scripts,delete l.devDependencies,e.writeFileSync(m,JSON.stringify(l,null,"\t"));const{file:A,data:_}=await o({name:c.config||"fnet-package",dir:i.projectDir,tags:i.tags});if(!_.env.ATOM_API_URL)throw new Error(`ATOM_API_URL is required in ${A}`);if(!_.env.ATOM_API_USERNAME)throw new Error(`ATOM_API_USERNAME is required in ${A}`);if(!_.env.ATOM_API_PASSWORD)throw new Error(`ATOM_API_PASSWORD is required in ${A}`);const v=`${_.env.ATOM_API_URL}/v1/auth/token`,h=_.env.ATOM_API_USERNAME,w=_.env.ATOM_API_PASSWORD,O=await fetch(v,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:h,password:w})});if(!O.ok)throw new Error(`Failed to fetch token: ${O.statusText}`);const g=await O.json(),u=g?.access_token;if(!u)throw new Error(`Invalid access_token from ${v}`);let y="fnet-files-to-gcs";if(y+=` --projectId='${_.env.GCS_PROJECT_ID}'`,y+=` --bucketName='${_.env.GCS_BUCKET_NAME}'`,y+=` --keyFilename='${t.resolve(t.dirname(A),_.env.GCS_UPLOADER_KEY_FILE)}'`,y+=` --dir='${d}'`,y+=" --pattern='dist/**/**'",y+=" --pattern='bin/**/**'",y+=" --pattern='test/**/**'",y+=" --pattern='*.html'",y+=` --destDir='${l.name}/${l.version}'`,y+=" --metadata.cacheControl='public, max-age=31536000, immutable'",_.env.DOMAIN&&(y+=` --domain='${_.env.DOMAIN}'`),!0!==c.dry_run&&!0!==c.params.dry_run||(y+=" --dryRun"),await n(y),e.writeFileSync(m,f),!0===c.dryRun)return;s.isDirty=!0,c.version=l.version,p.set("version",l.version);const S=`${_.env.ATOM_API_URL}/v1/service/fnet-package/publish`,P=await fetch(S,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${u}`},body:JSON.stringify({name:l.name,version:l.version,version_domain:_.env.DOMAIN,docs:c.params.docs,configs:c.params.configs})});if(!P.ok)throw new Error(`Failed to publish fnet package: ${P.statusText}`);const T=await P.json();if(T?.error)throw new Error("Failed to publish fnet package.")}export{a as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"node:fs";import t from"node:path";import o from"@fnet/config";async function n({atom:n,Atom:i,setProgress:r,context:a,packageDependencies:d,deploymentProject:c,deploymentProjectTarget:l}){await r({message:"Deploying it as workflow lib."});const s=(await o({name:"atom",dir:a.projectDir,tags:a.tags}))?.data;let f,p,y,m=l.deploy.name.split("/");if(1===m.length)p=s.env.ATOM_LIBRARIES_ID,y=l.deploy.name;else{if(2!==m.length)throw new Error("Wrong name path.");{const e=await i.first({where:{name:m[0],parent_id:s.env.ATOM_LIBRARIES_ID,type:"folder"},limit:1});if(!e)throw new Error("Couldnt file lib folder.");p=e.id,y=m[1]}}if(!0===l.dryRun)return;if(c.isDirty=!0,l.deploy.id){if(f=await i.get({id:l.deploy.id}),!f)return}else{if(f=await i.create({parent_id:p,doc:{name:y,type:"workflow.lib","content-type":"javascript",dependencies:[],content:void 0,subtype:"workflow"}}),!f)return;l.deploy.id=f.id}const w=a.projectDir;f.doc.contents=[{content:e.readFileSync(t.resolve(w,"dist/default/esm/index.js"),{encoding:"utf8",flag:"r"}),"content-type":"javascript",format:"esm"},{content:e.readFileSync(t.resolve(w,"dist/default/cjs/index.js"),{encoding:"utf8",flag:"r"}),"content-type":"javascript",format:"cjs"},{content:e.readFileSync(t.resolve(w,"dist/default/iife/index.js"),{encoding:"utf8",flag:"r"}),"content-type":"javascript",format:"iife"}],f.doc.name=y,f.doc.dependencies=d,"workflow.lib"===n.type?f.doc.subtype="library":"workflow"===n.type&&(f.doc.subtype="workflow"),f=await i.update(f,{id:f.id})}export{n as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import t from"@fnet/shelljs";import a from"@fnet/config";async function e({setProgress:e,context:o,deploymentProject:r,deploymentProjectTarget:i,buildId:n}){await e({message:"Deploying it as gitlab project."});const s=o.projectDir;let l="fnet-to-gitlab";const c=i.params.config||"gitlab",g=await a({name:c,dir:o.projectDir,tags:o.tags});if(!g)throw new Error(`Couldnt load config ${c}`);const{data:p}=g.data;l+=` --projectGroupId=${p.projectGroupId}`,l+=` --projectPath='${s}'`,l+=` --projectName='${i.params.name}'`,l+=` --projectBranch='${i.params.branch||"main"}'`,l+=` --gitlabHost='${p.gitlabHost}'`,l+=` --gitlabToken='${p.gitlabToken}'`,l+=` --gitlabUsername='${p.gitlabUsername}'`,l+=` --gitlabUserEmail='${p.gitlabUserEmail}'`,!0!==i.dryRun&&(await t(l),r.isDirty=!0)}export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import r from"node:path";import{fileURLToPath as n}from"node:url";import e from"node:os";import i from"node:fs";async function t(n){const t=function(){const n=e.homedir(),t=r.join(n,".fnet","bin");return i.existsSync(t)||i.mkdirSync(t,{recursive:!0}),t}(),o=function(){const n=e.homedir(),t=r.join(n,".fnet");return i.existsSync(t)||i.mkdirSync(t,{recursive:!0}),r.join(t,"bin-registry.json")}();let s={};if(i.existsSync(o))try{const r=i.readFileSync(o,"utf8");s=JSON.parse(r)}catch(r){console.warn(`Warning: Could not parse bin registry: ${r.message}`)}return{binDir:t,registryPath:o,registry:s,args:n}}r.dirname(n(import.meta.url));export{t as createContext};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"fs";import r from"path";import n from"@fnet/yaml";import t from"@fnet/shell-flow";async function o({projectType:e,group:r,tags:o,args:f,argv:i}){try{const m=await a(e),{parsed:s}=await n({file:m.path,tags:o}),c=s.commands;if(!c)throw new Error(`Commands section not found in ${m.name}`);const y=c[r];if(!y)throw new Error(`Command group '${r}' not found in ${m.name}`);await t({commands:y,context:{args:f,argv:i,projectType:m.type}})}catch(e){console.error(`Error: ${e.message}`),process.exit(1)}}async function a(n){const t=process.cwd(),o=r.resolve(t,"fnode.yaml"),a=r.resolve(t,"fnet.yaml");if("fnode"===n){if(e.existsSync(o))return{path:o,name:"fnode.yaml",type:"fnode"};throw new Error("fnode.yaml file not found in current directory")}if("fnet"===n){if(e.existsSync(a))return{path:a,name:"fnet.yaml",type:"fnet"};throw new Error("fnet.yaml file not found in current directory")}if(e.existsSync(o))return{path:o,name:"fnode.yaml",type:"fnode"};if(e.existsSync(a))return{path:a,name:"fnet.yaml",type:"fnet"};throw new Error("No project file (fnode.yaml or fnet.yaml) found in current directory")}export{a as detectProjectFile,o as runCommandGroup};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"node:fs";import r from"node:path";import t from"semver";import i from"@fnet/shelljs";import o from"@fnet/config";import n from"@fnet/object-from-schema";import s from"yaml";import{r as a,w as m}from"./index.js";import{fileURLToPath as p}from"node:url";import"yargs";import"chalk";import"node:util";import"tree-kill";import"node:child_process";import"node:os";import"@flownet/lib-render-templates-dir";import"@fnet/yaml";import"@fnet/prompt";async function c({atom:p,setProgress:c,context:l,deploymentProject:d,deploymentProjectTarget:f,yamlTarget:y}){await c({message:"Deploying it as npm package."});const g=l.projectDir,u=r.resolve(g,"package.json"),w=e.readFileSync(u),b=JSON.parse(w);b.name=f.params.name,b.version=t.inc(f.version,"patch");const h=f.params.bin?.name||f.params.bin;!1!==f.params.bin?.enabled&&h&&"string"==typeof h&&(b.bin={[h]:"dist/cli/esm/index.js"}),delete b.scripts,delete b.devDependencies,b.scripts={serve:"npx serve ."},e.writeFileSync(u,JSON.stringify(b,null,"\t"));const v=f.config||"npm";let j=(await o({name:v,dir:l.projectDir,tags:l.tags,optional:!0}))?.data;if(!j){const t=a("./template/schemas/to-npm.yaml"),i=await n({schema:t,tags:l.tags}),o=l.project.projectDir,m=r.resolve(o,".fnet");e.existsSync(m)||e.mkdirSync(m),e.writeFileSync(r.resolve(m,`${v}.fnet`),s.stringify(i)),j=i}if(e.writeFileSync(r.resolve(g,".npmrc"),`//registry.npmjs.org/:_authToken=${j.env.NPM_TOKEN}`),!0!==f.dryRun){if(m("bun")){if(0!==(await i("bun publish --access public",{cwd:g})).code)throw new Error("Couldnt publish to npm")}else{if(0!==(await i("npm publish --access public",{cwd:g})).code)throw new Error("Couldnt publish to npm")}e.writeFileSync(u,w),d.isDirty=!0,f.version=b.version,y.set("version",b.version)}}r.dirname(p(import.meta.url)),process.cwd();export{c as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import r from"semver";import e from"@fnet/config";async function o({setProgress:o,context:t,deploymentProject:n,deploymentProjectTarget:i,yamlTarget:s}){await o({message:"Deploying it as fnet form."});const{file:a,data:f}=await e({name:i.config||"fnet-form",dir:t.projectDir,tags:t.tags});if(!f.env.ATOM_API_URL)throw new Error(`ATOM_API_URL is required in ${a}`);if(!f.env.ATOM_API_USERNAME)throw new Error(`ATOM_API_USERNAME is required in ${a}`);if(!f.env.ATOM_API_PASSWORD)throw new Error(`ATOM_API_PASSWORD is required in ${a}`);const c=`${f.env.ATOM_API_URL}/v1/auth/token`,A=f.env.ATOM_API_USERNAME,m=f.env.ATOM_API_PASSWORD,p=await fetch(c,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:A,password:m})});if(!p.ok)throw new Error(`Failed to fetch token: ${p.statusText}`);const _=await p.json(),w=_?.access_token;if(!w)throw new Error(`Invalid access_token from ${c}`);n.isDirty=!0;const h=r.inc(i.version,"patch");i.params.version=h,i.version=h,s.set("version",h);const d=`${f.env.ATOM_API_URL}/v1/service/fnet-form/publish`,v=await fetch(d,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${w}`},body:JSON.stringify({name:i.params.name,version:i.params.version,docs:i.params.docs,configs:i.params.configs})});if(!v.ok)throw new Error(`Error publishing fnet form: ${v.statusText}`);const P=await v.json();if(P?.error)throw new Error("Error publishing fnet form.")}export{o as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"node:path";import t from"node:fs";import o from"@fnet/yaml";import r from"yaml";import{r as i}from"./index.js";import"yargs";import"chalk";import"node:util";import"tree-kill";import"node:url";import"node:child_process";import"@fnet/config";import"node:os";import"@flownet/lib-render-templates-dir";import"@fnet/shelljs";import"@fnet/prompt";async function n(n){if(n.id)return{id:n.id,buildId:n.buildId,mode:n.mode,protocol:n.protocol||"ac:",templateDir:i("./template/fnet/node"),coreDir:i("./template/fnet/core"),projectDir:e.resolve(process.cwd(),`./.output/${n.id}`),tags:n.ftag,dev:n.dev};try{const s=await async function({tags:i}){let n=(s=process.cwd(),e.resolve(s,"fnet.yaml"));var s;if(!t.existsSync(n))throw new Error("fnet.yaml file not found in current directory.");const{raw:a,parsed:l}=await o({file:n,tags:i}),c=e.dirname(n);l.features=l.features||{};const p=l.features;let m;if(p.runtime=p.runtime||{},p.runtime.type=p.runtime.type||"node","object"==typeof l.flows)m=l.flows;else{let r="flow.main.yaml";t.existsSync(e.join(c,"fnet","flows.yaml"))&&(r=e.join("fnet","flows.yaml"));const n=l.main||r;let s=e.resolve(c,n);if(t.existsSync(s)){const{parsed:e}=await o({file:s,tags:i});m=e}else m={main:{steps:[]}}}const d={workflowAtom:{doc:{...l,content:m}},projectDir:c,projectFilePath:n,projectFileContent:a,projectFileParsed:l,runtime:p.runtime};let f=e.resolve(c,"fnet/targets.yaml");if(t.existsSync(f)){const{raw:e,parsed:n}=await o({file:f,tags:i}),s=r.parseDocument(e);d.devops={filePath:f,fileContent:e,yamlDocument:s,doc:{...n},type:"workflow.deploy",save:async()=>{t.writeFileSync(d.devops.filePath,s.toString())}}}const u=e.resolve(c,"readme.md");if(t.existsSync(u)){const e=t.readFileSync(u,"utf8");d.readme={filePath:u,fileContent:e,doc:{content:e,"content-type":"markdown"},type:"wiki"}}return d}({tags:n.ftag});return{buildId:n.buildId,mode:n.mode,protocol:n.protocol||"local:",templateDir:i("./template/fnet/node"),coreDir:i("./template/fnet/core"),projectDir:e.resolve(s.projectDir,"./.workspace"),projectSrcDir:e.resolve(s.projectDir,"./src"),project:s,tags:n.ftag,dev:n.dev}}catch(e){return console.warn(`Warning: Could not load project: ${e.message}`),{projectDir:process.cwd(),tags:n.ftag}}}export{n as createContext};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import o from"@fnet/config";import e from"@flownet/lib-to-macos-app";import a from"lodash.clonedeep";import t from"semver";async function n({atom:n,target:r,onProgress:s,projectDir:i,dependencies:c,context:p,yamlTarget:m}){s&&await s({message:"Deploying it as macos-app package."});const f=r?.config?await o({name:r.config,dir:i,optional:!0,transferEnv:!1,tags:p.tags}):void 0,g=t.inc(r.version||"0.1.0","patch");r.params.version=g,r.version=g,m.set("version",g);const d=a(r.params);d.dependencies=a(c);const l={atom:n,params:d,config:f?.config,src:i,dest:i};return{deployer:await e(l)}}export{n as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"@fnet/config";import o from"@flownet/lib-to-electron";import t from"lodash.clonedeep";import n from"semver";async function r({atom:r,target:a,onProgress:i,projectDir:s,dependencies:c,context:m,yamlTarget:p}){i&&await i({message:"Deploying it as electron package."});const f=a?.config?await e({name:a.config,dir:s,optional:!0,transferEnv:!1,tags:m.tags}):void 0,g=n.inc(a.version||"0.1.0","patch");a.version=g,p.set("version",g);const d=t(a.params);d.dependencies=t(c);const l={atom:r,params:d,config:f?.config,src:s,dest:s};return{deployer:await o(l)}}export{r as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default console.log;
|