@runeya/runeya
Version:
Monitor processes as a stack
2 lines (1 loc) • 8.83 kB
JavaScript
import{u as tt,S as R,P as $,n as g}from"./router-CdfdQZKk.js";import{_ as q}from"./Section-D0z9MjV4.js";import{S as F}from"./Spinner-CkmZ5Bkp.js";import{_ as lt}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{r as w,j as et,c as L,a as o,o as s,b as a,s as W,g as y,e as M,f as T,F as m,q as C,d as f,t as c,Z as j}from"./index-CXxIspfv.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./Editor-B--wgkn6.js";const at={class:"git-section"},nt={class:"sections"},st={class:"custom-header"},ot={key:0,class:"loader"},ut={key:1,class:"loader"},it=["onClick"],rt={class:"badge"},dt=["onClick","disabled"],ct={key:0,class:"line"},pt={key:0},ft=["disabled","onClick"],ht=["disabled","onClick"],gt={class:"custom-header"},mt={key:0,class:"loader"},vt={key:1,class:"loader"},kt=["onClick"],_t={class:"badge"},yt=["disabled"],wt=["value"],Ct=["onClick"],Bt={key:0,colspan:"3"},xt={class:"badge"},bt=["onInput","disabled"],Pt=["value"],St={key:1},Ut={class:"line"},At=["disabled","onClick"],Tt=["disabled","onClick"],Gt={__name:"NotUpToDate",setup(Nt){const D=tt(),G=w(R.services.value.sort((n,t)=>{var e;return((e=n.label)==null?void 0:e.localeCompare((t==null?void 0:t.label)||""))||0})),x=w([]),b=w([]),v=w({});async function O(){const n=await $.map(R.services.value,async t=>(await t.updateGit(),t),{concurrency:6});G.value=n.sort((t,e)=>{var d;return((d=t.label)==null?void 0:d.localeCompare((e==null?void 0:e.label)||""))||0})}et(async()=>{await R.loadServices(),await O(),await P()});const Z=(n,t)=>n.filter((e,d,l)=>l.findIndex(i=>t.every(p=>i[p]===e[p]))===d),J=L(()=>{const n=G.value.flatMap(t=>{var e;return(e=t.git)==null?void 0:e.branches}).filter(t=>t);return Z(n,["name"]).sort((t,e)=>{var d;return(d=t==null?void 0:t.name)==null?void 0:d.localeCompare(e==null?void 0:e.name)})}),r=w(!1),N=w(0),H=w(""),I=L(()=>{var t;const n=(((t=R)==null?void 0:t.services.value)||[]).reduce((e,d)=>(e[d.rootPath]||(e[d.rootPath]=[]),e[d.rootPath].push(d),e),{});return console.log(n),Object.keys(n).map(e=>({rootPath:e,services:n[e]}))}),P=async()=>{r.value=!0,N.value=0,H.value="",x.value=[],b.value=[],v.value={},console.log(I.value),await $.map(I.value,async({rootPath:n,services:t})=>{console.log(t);const[e]=t;try{H.value=e.label||"",await e.updateGit();const d=await e.getCurrentBranch().catch(l=>{var i;throw v.value[e.label]=(i=l.response.data)==null?void 0:i.message,l});return e.git&&d&&(e.git.delta=await e.gitRemoteDelta(d).catch(l=>{var i,p;throw((i=l.response.data)==null?void 0:i.code)===500.12578?(b.value.push(t),v.value[e.label]="BRANCH_TO_PUSH"):v.value[e.label]=(p=l.response.data)==null?void 0:p.message,l}),e.git.delta&&(e.git.delta<0&&x.value.push(t),e.git.delta>0&&b.value.push(t))),e}catch(d){console.error(d)}finally{N.value+=1}return null},{concurrency:6}).finally(()=>{r.value=!1,H.value=""})};async function K(n){r.value=!0,await n.pull().catch(t=>g.next("error",t.response.data)),await n.updateGit(),await P(),g.next("success","Branch is now up to date")}async function Q(){r.value=!0;try{await $.map(x.value,async n=>{await n[0].pull().catch(t=>g.next("error",t.response.data))},{concurrency:6}),await P(),g.next("success","All branches are pulled")}catch(n){console.error(n)}finally{r.value=!1}}async function X(n){n&&(r.value=!0,await $.map(G.value,async t=>{await t.changeBranch(n).catch(e=>g.next("error",e.response.data))},{concurrency:6}),await O(),await P())}async function Y(n,t){t&&(r.value=!0,await n.changeBranch(t).catch(e=>g.next("error",e.response.data)),await O(),await P())}async function z(n){return await n.stash().then(()=>g.next("success","All changes is in stash")).catch(t=>g.next("error",t.response.data)),n.updateGit()}async function E(n){return await n.stashPop().then(()=>g.next("success","All changes unstashed")).catch(t=>g.next("error",t.response.data)),n.updateGit()}return(n,t)=>{var e,d;return s(),o("div",at,[t[15]||(t[15]=a("h1",null,"Git",-1)),a("div",nt,[(e=x.value)!=null&&e.length||r.value?(s(),W(q,{key:0,class:"section",actions:[{label:"Pull all",icon:"fas fa-download",click:Q,hidden:r.value}]},{header:T(()=>{var l;return[a("div",st,[r.value?(s(),o("div",ot,[M(F,{size:"15"})])):y("",!0),t[1]||(t[1]=f(" Services to pull ")),r.value?(s(),o("div",ut," ("+c(N.value)+"/"+c((l=I.value)==null?void 0:l.length)+") "+c(H.value),1)):y("",!0)])]}),default:T(()=>[a("table",null,[t[6]||(t[6]=a("caption",null,"All services to pull",-1)),(s(!0),o(m,null,C(x.value,l=>{var i,p,k,_,B,S,U;return s(),o("tr",{key:l[0].label},[a("td",null,[(s(!0),o(m,null,C(l,h=>(s(),o("h3",null,[f(c(h.label)+" ",1),a("i",{class:"fas fa-external-link-alt",onClick:V=>j(D).push({name:"stack-single",params:{label:h.label}})},null,8,it)]))),256))]),a("td",null,[a("div",rt,c((i=l[0].git)==null?void 0:i.currentBranch),1)]),a("td",null,[a("button",{onClick:h=>K(l[0]),disabled:r.value||!!((k=(p=l[0].git)==null?void 0:p.status)!=null&&k.length)},[t[2]||(t[2]=a("i",{class:"fas fa-download"},null,-1)),f(" "+c("Pull ("+(((_=l[0].git)==null?void 0:_.delta)||0)+")"),1)],8,dt)]),a("td",null,[l[0].git?(s(),o("div",ct,[(B=l[0].git.status)!=null&&B.length?(s(),o("div",pt,t[3]||(t[3]=[a("i",{class:"fas fa-exclamation-triangle"},null,-1),f(" Pending changes... Pull may not work. Stash or reset your changes before. ")]))):y("",!0),a("button",{class:"small",disabled:r.value||!((U=(S=l[0].git)==null?void 0:S.status)!=null&&U.filter(h=>h).length),onClick:h=>z(l[0])},t[4]||(t[4]=[a("i",{class:"fas fa-sun"},null,-1),f(" Stash ")]),8,ft),a("button",{class:"small",disabled:r.value||!l[0].git.stash,onClick:h=>E(l[0])},t[5]||(t[5]=[a("i",{class:"far fa-sun"},null,-1),f(" Unstash ")]),8,ht)])):y("",!0)])])}),128))])]),_:1},8,["actions"])):y("",!0),(d=b.value)!=null&&d.length||r.value?(s(),W(q,{key:1,class:"section"},{header:T(()=>{var l;return[a("div",gt,[r.value?(s(),o("div",mt,[M(F,{size:"15"})])):y("",!0),t[7]||(t[7]=f(" Services to push ")),r.value?(s(),o("div",vt," ("+c(N.value)+"/"+c((l=I.value)==null?void 0:l.length)+") ",1)):y("",!0)])]}),default:T(()=>[a("table",null,[t[8]||(t[8]=a("caption",null,"All services to push",-1)),(s(!0),o(m,null,C(b.value,l=>{var i,p,k;return s(),o("tr",{key:(i=l[0])==null?void 0:i.label},[a("td",null,[(s(!0),o(m,null,C(l,_=>(s(),o("h3",null,[f(c(_.label)+" ",1),a("i",{class:"fas fa-external-link-alt",onClick:B=>j(D).push({name:"stack-single",params:{label:_.label}})},null,8,kt)]))),256))]),a("td",null,[a("div",_t,c((p=l[0].git)==null?void 0:p.currentBranch),1)]),a("td",null,[v.value[l[0].label]==="BRANCH_TO_PUSH"?(s(),o(m,{key:0},[f(" Branch not on remote ")],64)):(s(),o(m,{key:1},[f(c((k=l[0].git)==null?void 0:k.delta)+" commits to push ",1)],64))])])}),128))])]),_:1})):y("",!0),M(q,{header:"Services"},{default:T(()=>[t[14]||(t[14]=f(" Change all branches to: ")),a("select",{onInput:t[0]||(t[0]=l=>{var i;return X(((i=l==null?void 0:l.target)==null?void 0:i.value)||"")}),disabled:r.value},[t[9]||(t[9]=a("option",{default:""},null,-1)),(s(!0),o(m,null,C(J.value,l=>(s(),o("option",{key:l==null?void 0:l.name,value:l==null?void 0:l.name},c(l==null?void 0:l.name),9,wt))),128))],40,yt),a("table",null,[t[13]||(t[13]=a("caption",null,"Manage all services",-1)),(s(!0),o(m,null,C(G.value.filter(l=>{var i;return(i=l.git)==null?void 0:i.currentBranch}),l=>{var i,p,k,_,B,S,U,h,V;return s(),o("tr",{key:l==null?void 0:l.label},[a("td",null,[a("h3",null,[f(c(l.label)+" ",1),a("i",{class:"fas fa-external-link-alt",onClick:u=>j(D).push({name:"stack-single",params:{label:l.label}})},null,8,Ct)])]),v.value[l.label]&&v.value[l.label]!=="BRANCH_TO_PUSH"?(s(),o("td",Bt,c(v.value[l.label]),1)):(s(),o(m,{key:1},[a("td",null,[a("div",xt,c((i=l.git)==null?void 0:i.currentBranch),1)]),a("td",null,[(_=(k=(p=l.git)==null?void 0:p.branches)==null?void 0:k.filter(u=>{var A;return(u==null?void 0:u.name)!==((A=l.git)==null?void 0:A.currentBranch)}))!=null&&_.length?(s(),o("select",{key:0,onInput:u=>Y(l,u.target.value),disabled:r.value},[t[10]||(t[10]=a("option",{default:""},null,-1)),(s(!0),o(m,null,C((S=(B=l.git)==null?void 0:B.branches)==null?void 0:S.filter(u=>{var A;return(u==null?void 0:u.name)!==((A=l.git)==null?void 0:A.currentBranch)}),u=>(s(),o("option",{key:u==null?void 0:u.name,value:u==null?void 0:u.name},c(u==null?void 0:u.name),9,Pt))),128))],40,bt)):(s(),o("div",St," Unique branch, cannot change branch for this service "))]),a("td",null,[a("div",Ut,[a("button",{class:"small",disabled:r.value||!((h=(U=l.git)==null?void 0:U.status)!=null&&h.filter(u=>u).length),onClick:u=>z(l)},t[11]||(t[11]=[a("i",{class:"fas fa-sun"},null,-1),f(" Stash ")]),8,At),a("button",{class:"small",disabled:r.value||!((V=l.git)!=null&&V.stash),onClick:u=>E(l)},t[12]||(t[12]=[a("i",{class:"far fa-sun"},null,-1),f(" Unstash ")]),8,Tt)])])],64))])}),128))])]),_:1,__:[14]})])])}}},qt=lt(Gt,[["__scopeId","data-v-09077d4c"]]);export{qt as default};