diff --git a/dist/setup.js b/dist/setup.js index 0bee308..de612a4 100644 --- a/dist/setup.js +++ b/dist/setup.js @@ -876,290 +876,294 @@ return A},B=A=>C(i({},"__esModule",{value:!0}),A),I=Q({"src/lib/errors/git-error function u(...A){const e=new String(A) return n.set(e,A),e}function d(A){return A instanceof String&&n.has(A)}function f(A){return n.get(A)||[]}var p,y,w,m,R,D,k,b,N=Q({"src/lib/args/pathspec.ts"(){n=new WeakMap}}),F=Q({"src/lib/errors/git-construct-error.ts"(){I(),p=class extends r{constructor(A,e){super(void 0,e),this.config=A}}}}),S=Q({"src/lib/errors/git-plugin-error.ts"(){I(),y=class extends r{constructor(A,e,t){super(A,t),this.task=A,this.plugin=e,Object.setPrototypeOf(this,new.target.prototype)}}}}),L=Q({"src/lib/errors/task-configuration-error.ts"(){I(),w=class extends r{constructor(A){super(void 0,A)}}}}) function U(A){return"function"!=typeof A?k:A}function M(A){return"function"==typeof A&&A!==k}function v(A,e){const t=A.indexOf(e) -return t<=0?[A,""]:[A.substr(0,t),A.substr(t+1)]}function T(A,e=0){return G(A)&&A.length>e?A[e]:void 0}function Y(A,e=0){if(G(A)&&A.length>e)return A[A.length-1-e]}function G(A){return!(!A||"number"!=typeof A.length)}function J(A="",e=!0,t="\n"){return A.split(t).reduce(((A,t)=>{const r=e?t.trim():t +return t<=0?[A,""]:[A.substr(0,t),A.substr(t+1)]}function T(A,e=0){return G(A)&&A.length>e?A[e]:void 0}function Y(A,e=0){if(G(A)&&A.length>e)return A[A.length-1-e]}function G(A){return sA(A)}function J(A="",e=!0,t="\n"){return A.split(t).reduce(((A,t)=>{const r=e?t.trim():t return r&&A.push(r),A}),[])}function O(A,e){return J(A,!0).map((A=>e(A)))}function x(A){return(0,R.exists)(A,R.FOLDER)}function H(A,e){return Array.isArray(A)?A.includes(e)||A.push(e):A.add(e),e}function V(A,e){return Array.isArray(A)&&!A.includes(e)&&A.push(e),A}function P(A,e){if(Array.isArray(A)){const t=A.indexOf(e) t>=0&&A.splice(t,1)}else A.delete(e) -return e}function _(A){return Array.isArray(A)?A:[A]}function W(A){return A.replace(/[\s-]+(.)/g,((A,e)=>e.toUpperCase()))}function q(A){return _(A).map(String)}function j(A,e=0){if(null==A)return e +return e}function _(A){return Array.isArray(A)?A:[A]}function W(A){return A.replace(/[\s-]+(.)/g,((A,e)=>e.toUpperCase()))}function q(A){return _(A).map((A=>A instanceof String?A:String(A)))}function j(A,e=0){if(null==A)return e const t=parseInt(A,10) -return isNaN(t)?e:t}function X(A,e){const t=[] +return Number.isNaN(t)?e:t}function X(A,e){const t=[] for(let r=0,s=A.length;re in A?{[e]:A[e]}:{})))}function z(A=0){return new Promise((e=>setTimeout(e,A)))}function $(A){if(!1!==A)return A}var AA,eA,tA,rA,sA,nA=Q({"src/lib/utils/util.ts"(){m=t(4573),R=t(8926),D="\0",k=()=>{},b=Object.prototype.toString.call.bind(Object.prototype.toString)}}) +return t}function Z(A){return(Array.isArray(A)?m.Buffer.concat(A):A).toString("utf-8")}function K(A,e){const t={} +return e.forEach((e=>{void 0!==A[e]&&(t[e]=A[e])})),t}function z(A=0){return new Promise((e=>setTimeout(e,A)))}function $(A){if(!1!==A)return A}var AA,eA,tA,rA,sA,nA=Q({"src/lib/utils/util.ts"(){m=t(4573),R=t(8926),CA(),D="\0",k=()=>{},b=Object.prototype.toString.call.bind(Object.prototype.toString)}}) function oA(A,e,t){return e(A)?A:arguments.length>2?t:void 0}function iA(A,e){const t=d(A)?"string":typeof A -return/number|string|boolean/.test(t)&&(!e||!e.includes(t))}function aA(A){return!!A&&"[object Object]"===b(A)}function cA(A){return"function"==typeof A}var gA,EA,QA,hA,CA,BA=Q({"src/lib/utils/argument-filters.ts"(){nA(),N(),AA=A=>Array.isArray(A),eA=A=>"string"==typeof A,tA=A=>Array.isArray(A)&&A.every(eA),rA=A=>eA(A)||Array.isArray(A)&&A.every(eA),sA=A=>null!=A&&!"number|boolean|function".includes(typeof A)&&(Array.isArray(A)||"string"==typeof A||"number"==typeof A.length)}}),IA=Q({"src/lib/utils/exit-codes.ts"(){gA=(A=>(A[A.SUCCESS=0]="SUCCESS",A[A.ERROR=1]="ERROR",A[A.NOT_FOUND=-2]="NOT_FOUND",A[A.UNCLEAN=128]="UNCLEAN",A))(gA||{})}}),lA=Q({"src/lib/utils/git-output-streams.ts"(){EA=class A{constructor(A,e){this.stdOut=A,this.stdErr=e}asStrings(){return new A(this.stdOut.toString("utf8"),this.stdErr.toString("utf8"))}}}}),uA=Q({"src/lib/utils/line-parser.ts"(){QA=class{constructor(A,e){this.matches=[],this.parse=(A,e)=>(this.resetMatches(),!!this._regExp.every(((e,t)=>this.addMatch(e,t,A(t))))&&!1!==this.useMatches(e,this.prepareMatches())),this._regExp=Array.isArray(A)?A:[A],e&&(this.useMatches=e)}useMatches(A,e){throw new Error("LineParser:useMatches not implemented")}resetMatches(){this.matches.length=0}prepareMatches(){return this.matches}addMatch(A,e,t){const r=t&&A.exec(t) +return/number|string|boolean/.test(t)&&(!e||!e.includes(t))}function aA(A){return!!A&&"[object Object]"===b(A)}function cA(A){return"function"==typeof A}var gA,EA,QA,hA,CA=Q({"src/lib/utils/argument-filters.ts"(){N(),nA(),AA=A=>Array.isArray(A),eA=A=>"number"==typeof A,tA=A=>"string"==typeof A,rA=A=>tA(A)||Array.isArray(A)&&A.every(tA),sA=A=>null!=A&&!"number|boolean|function".includes(typeof A)&&"number"==typeof A.length}}),BA=Q({"src/lib/utils/exit-codes.ts"(){gA=(A=>(A[A.SUCCESS=0]="SUCCESS",A[A.ERROR=1]="ERROR",A[A.NOT_FOUND=-2]="NOT_FOUND",A[A.UNCLEAN=128]="UNCLEAN",A))(gA||{})}}),IA=Q({"src/lib/utils/git-output-streams.ts"(){EA=class A{constructor(A,e){this.stdOut=A,this.stdErr=e}asStrings(){return new A(this.stdOut.toString("utf8"),this.stdErr.toString("utf8"))}}}}) +function lA(){throw new Error("LineParser:useMatches not implemented")}var uA,dA=Q({"src/lib/utils/line-parser.ts"(){QA=class{constructor(A,e){this.matches=[],this.useMatches=lA,this.parse=(A,e)=>(this.resetMatches(),!!this._regExp.every(((e,t)=>this.addMatch(e,t,A(t))))&&!1!==this.useMatches(e,this.prepareMatches())),this._regExp=Array.isArray(A)?A:[A],e&&(this.useMatches=e)}resetMatches(){this.matches.length=0}prepareMatches(){return this.matches}addMatch(A,e,t){const r=t&&A.exec(t) return r&&this.pushMatch(e,r),!!r}pushMatch(A,e){this.matches.push(...e.slice(1))}},hA=class extends QA{addMatch(A,e,t){return/^remote:\s/.test(String(t))&&super.addMatch(A,e,t)}pushMatch(A,e){(A>0||e.length>1)&&super.pushMatch(A,e)}}}}) -function dA(...A){const e=process.cwd(),t=Object.assign({baseDir:e,...CA},...A.filter((A=>"object"==typeof A&&A))) -return t.baseDir=t.baseDir||e,t.trimmed=!0===t.trimmed,t}var fA=Q({"src/lib/utils/simple-git-options.ts"(){CA={binary:"git",maxConcurrentProcesses:5,config:[],trimmed:!1}}}) -function pA(A,e=[]){return aA(A)?Object.keys(A).reduce(((e,t)=>{const r=A[t] +function fA(...A){const e=process.cwd(),t=Object.assign({baseDir:e,...uA},...A.filter((A=>"object"==typeof A&&A))) +return t.baseDir=t.baseDir||e,t.trimmed=!0===t.trimmed,t}var pA=Q({"src/lib/utils/simple-git-options.ts"(){uA={binary:"git",maxConcurrentProcesses:5,config:[],trimmed:!1}}}) +function yA(A,e=[]){return aA(A)?Object.keys(A).reduce(((e,t)=>{const r=A[t] if(d(r))e.push(r) else if(iA(r,["boolean"]))e.push(t+"="+r) else if(Array.isArray(r))for(const A of r)iA(A,["string","number"])||e.push(t+"="+A) else e.push(t) -return e}),e):e}function yA(A,e=0,t=!1){const r=[] +return e}),e):e}function wA(A,e=0,t=!1){const r=[] for(let t=0,s=e<0?A.length:e;t{for(let s=J(t,r),n=0,o=s.length;n{if(!(n+A>=o))return s[n+A]} -e.some((({parse:e})=>e(t,A)))}})),A}var bA=Q({"src/lib/utils/task-parser.ts"(){nA()}}),NA={} -h(NA,{ExitCodes:()=>gA,GitOutputStreams:()=>EA,LineParser:()=>QA,NOOP:()=>k,NULL:()=>D,RemoteLineParser:()=>hA,append:()=>H,appendTaskOptions:()=>pA,asArray:()=>_,asCamelCase:()=>W,asFunction:()=>U,asNumber:()=>j,asStringArray:()=>q,bufferToString:()=>Z,callTaskParser:()=>DA,createInstanceConfig:()=>dA,delay:()=>z,filterArray:()=>AA,filterFunction:()=>cA,filterHasLength:()=>sA,filterPlainObject:()=>aA,filterPrimitives:()=>iA,filterString:()=>eA,filterStringArray:()=>tA,filterStringOrStringArray:()=>rA,filterType:()=>oA,first:()=>T,folderExists:()=>x,forEachLineWithContent:()=>O,getTrailingOptions:()=>yA,including:()=>V,isUserFunction:()=>M,last:()=>Y,objectToString:()=>b,orVoid:()=>$,parseStringResponse:()=>kA,pick:()=>K,prefixedArray:()=>X,remove:()=>P,splitOn:()=>v,toLinesWithContent:()=>J,trailingFunctionArgument:()=>mA,trailingOptionsArgument:()=>wA}) -var FA,SA,LA,UA=Q({"src/lib/utils/index.ts"(){BA(),IA(),lA(),uA(),fA(),RA(),bA(),nA()}}),MA={} -function vA(A){switch(A){case"bare":return YA() -case"root":return TA()}return{commands:["rev-parse","--is-inside-work-tree"],format:"utf-8",onError:SA,parser:LA}}function TA(){return{commands:["rev-parse","--git-dir"],format:"utf-8",onError:SA,parser:A=>/^\.(git)?$/.test(A.trim())}}function YA(){return{commands:["rev-parse","--is-bare-repository"],format:"utf-8",onError:SA,parser:LA}}h(MA,{CheckRepoActions:()=>FA,checkIsBareRepoTask:()=>YA,checkIsRepoRootTask:()=>TA,checkIsRepoTask:()=>vA}) -var GA,JA,OA,xA,HA=Q({"src/lib/tasks/check-is-repo.ts"(){UA(),FA=(A=>(A.BARE="bare",A.IN_TREE="tree",A.IS_REPO_ROOT="root",A))(FA||{}),SA=({exitCode:A},e,t,r)=>{if(128===A&&function(A){return/(Not a git repository|Kein Git-Repository)/i.test(String(A))}(e))return t(Buffer.from("false")) -r(e)},LA=A=>"true"===A.trim()}}) -var VA,PA=Q({"src/lib/responses/CleanSummary.ts"(){UA(),GA=class{constructor(A){this.dryRun=A,this.paths=[],this.files=[],this.folders=[]}},JA=/^[a-z]+\s*/i,OA=/^[a-z]+\s+[a-z]+\s*/i,xA=/\/$/}}),_A={} -function WA(A){return{commands:VA,format:"empty",parser:A}}function qA(A){return{commands:VA,format:"empty",parser(){throw"string"==typeof A?new w(A):A}}}function jA(A,e=!1){return{commands:A,format:"utf-8",parser:A=>e?String(A).trim():A}}function XA(A){return{commands:A,format:"buffer",parser:A=>A}}function ZA(A){return"buffer"===A.format}function KA(A){return"empty"===A.format||!A.commands.length}h(_A,{EMPTY_COMMANDS:()=>VA,adhocExecTask:()=>WA,configurationErrorTask:()=>qA,isBufferTask:()=>ZA,isEmptyTask:()=>KA,straightThroughBufferTask:()=>XA,straightThroughStringTask:()=>jA}) -var zA,$A,Ae,ee,te,re=Q({"src/lib/tasks/task.ts"(){L(),VA=[]}}),se={} -function ne(A,e){const{cleanMode:t,options:r,valid:s}=function(A){let e,t=[],r={cleanMode:!1,options:!0} +return yA(mA(A),r),t||r.push(...function(A){const e="function"==typeof Y(A) +return q(oA(Y(A,e?1:0),AA,[]))}(A)),r}function mA(A){const e=cA(Y(A)) +return oA(Y(A,e?1:0),aA)}function RA(A,e=!0){const t=U(Y(A)) +return e||M(t)?t:void 0}var DA=Q({"src/lib/utils/task-options.ts"(){CA(),nA(),N()}}) +function kA(A,e){return A(e.stdOut,e.stdErr)}function bA(A,e,t,r=!0){return _(t).forEach((t=>{for(let s=J(t,r),n=0,o=s.length;n{if(!(n+A>=o))return s[n+A]} +e.some((({parse:e})=>e(t,A)))}})),A}var NA=Q({"src/lib/utils/task-parser.ts"(){nA()}}),FA={} +h(FA,{ExitCodes:()=>gA,GitOutputStreams:()=>EA,LineParser:()=>QA,NOOP:()=>k,NULL:()=>D,RemoteLineParser:()=>hA,append:()=>H,appendTaskOptions:()=>yA,asArray:()=>_,asCamelCase:()=>W,asFunction:()=>U,asNumber:()=>j,asStringArray:()=>q,bufferToString:()=>Z,callTaskParser:()=>kA,createInstanceConfig:()=>fA,delay:()=>z,filterArray:()=>AA,filterFunction:()=>cA,filterHasLength:()=>sA,filterNumber:()=>eA,filterPlainObject:()=>aA,filterPrimitives:()=>iA,filterString:()=>tA,filterStringOrStringArray:()=>rA,filterType:()=>oA,first:()=>T,folderExists:()=>x,forEachLineWithContent:()=>O,getTrailingOptions:()=>wA,including:()=>V,isUserFunction:()=>M,last:()=>Y,objectToString:()=>b,orVoid:()=>$,parseStringResponse:()=>bA,pick:()=>K,prefixedArray:()=>X,remove:()=>P,splitOn:()=>v,toLinesWithContent:()=>J,trailingFunctionArgument:()=>RA,trailingOptionsArgument:()=>mA}) +var SA,LA,UA,MA=Q({"src/lib/utils/index.ts"(){CA(),BA(),IA(),dA(),pA(),DA(),NA(),nA()}}),vA={} +function TA(A){switch(A){case"bare":return GA() +case"root":return YA()}return{commands:["rev-parse","--is-inside-work-tree"],format:"utf-8",onError:LA,parser:UA}}function YA(){return{commands:["rev-parse","--git-dir"],format:"utf-8",onError:LA,parser:A=>/^\.(git)?$/.test(A.trim())}}function GA(){return{commands:["rev-parse","--is-bare-repository"],format:"utf-8",onError:LA,parser:UA}}h(vA,{CheckRepoActions:()=>SA,checkIsBareRepoTask:()=>GA,checkIsRepoRootTask:()=>YA,checkIsRepoTask:()=>TA}) +var JA,OA,xA,HA,VA=Q({"src/lib/tasks/check-is-repo.ts"(){MA(),SA=(A=>(A.BARE="bare",A.IN_TREE="tree",A.IS_REPO_ROOT="root",A))(SA||{}),LA=({exitCode:A},e,t,r)=>{if(128===A&&function(A){return/(Not a git repository|Kein Git-Repository)/i.test(String(A))}(e))return t(Buffer.from("false")) +r(e)},UA=A=>"true"===A.trim()}}) +var PA,_A=Q({"src/lib/responses/CleanSummary.ts"(){MA(),JA=class{constructor(A){this.dryRun=A,this.paths=[],this.files=[],this.folders=[]}},OA=/^[a-z]+\s*/i,xA=/^[a-z]+\s+[a-z]+\s*/i,HA=/\/$/}}),WA={} +function qA(A){return{commands:PA,format:"empty",parser:A}}function jA(A){return{commands:PA,format:"empty",parser(){throw"string"==typeof A?new w(A):A}}}function XA(A,e=!1){return{commands:A,format:"utf-8",parser:A=>e?String(A).trim():A}}function ZA(A){return{commands:A,format:"buffer",parser:A=>A}}function KA(A){return"buffer"===A.format}function zA(A){return"empty"===A.format||!A.commands.length}h(WA,{EMPTY_COMMANDS:()=>PA,adhocExecTask:()=>qA,configurationErrorTask:()=>jA,isBufferTask:()=>KA,isEmptyTask:()=>zA,straightThroughBufferTask:()=>ZA,straightThroughStringTask:()=>XA}) +var $A,Ae,ee,te,re,se=Q({"src/lib/tasks/task.ts"(){L(),PA=[]}}),ne={} +function oe(A,e){const{cleanMode:t,options:r,valid:s}=function(A){let e,t=[],r={cleanMode:!1,options:!0} return A.replace(/[^a-z]i/g,"").split("").forEach((A=>{var s -!function(A){return"f"===A||"n"===A}(A)?r.options=r.options&&(s=t[t.length]=`-${A}`,/^-[a-z]$/i.test(s)&&te.has(s.charAt(1))):(e=A,r.cleanMode=!0)})),{cleanMode:e,options:t,valid:r}}(A) -return t?s.options?(r.push(...e),r.some(ae)?qA(zA):oe(t,r)):qA(Ae+JSON.stringify(A)):qA($A)}function oe(A,e){return{commands:["clean",`-${A}`,...e],format:"utf-8",parser:e=>function(A,e){const t=new GA(A),r=A?OA:JA +!function(A){return"f"===A||"n"===A}(A)?r.options=r.options&&(s=t[t.length]=`-${A}`,/^-[a-z]$/i.test(s)&&re.has(s.charAt(1))):(e=A,r.cleanMode=!0)})),{cleanMode:e,options:t,valid:r}}(A) +return t?s.options?(r.push(...e),r.some(ce)?jA($A):ie(t,r)):jA(ee+JSON.stringify(A)):jA(Ae)}function ie(A,e){return{commands:["clean",`-${A}`,...e],format:"utf-8",parser:e=>function(A,e){const t=new JA(A),r=A?xA:OA return J(e).forEach((A=>{const e=A.replace(r,"") -t.paths.push(e),(xA.test(e)?t.folders:t.files).push(e)})),t}("n"===A,e)}}function ie(A){return Array.isArray(A)&&A.every((A=>te.has(A)))}function ae(A){return/^-[^\-]/.test(A)?A.indexOf("i")>0:"--interactive"===A}h(se,{CONFIG_ERROR_INTERACTIVE_MODE:()=>zA,CONFIG_ERROR_MODE_REQUIRED:()=>$A,CONFIG_ERROR_UNKNOWN_OPTION:()=>Ae,CleanOptions:()=>ee,cleanTask:()=>oe,cleanWithOptionsTask:()=>ne,isCleanOptionsArray:()=>ie}) -var ce,ge=Q({"src/lib/tasks/clean.ts"(){PA(),UA(),re(),zA="Git clean interactive mode is not supported",$A='Git clean mode parameter ("n" or "f") is required',Ae="Git clean unknown option found in: ",ee=(A=>(A.DRY_RUN="n",A.FORCE="f",A.IGNORED_INCLUDED="x",A.IGNORED_ONLY="X",A.EXCLUDING="e",A.QUIET="q",A.RECURSIVE="d",A))(ee||{}),te=new Set(["i",...q(Object.values(ee))])}}) -function*Ee(A,e=null){const t=A.split("\0") +t.paths.push(e),(HA.test(e)?t.folders:t.files).push(e)})),t}("n"===A,e)}}function ae(A){return Array.isArray(A)&&A.every((A=>re.has(A)))}function ce(A){return/^-[^\-]/.test(A)?A.indexOf("i")>0:"--interactive"===A}h(ne,{CONFIG_ERROR_INTERACTIVE_MODE:()=>$A,CONFIG_ERROR_MODE_REQUIRED:()=>Ae,CONFIG_ERROR_UNKNOWN_OPTION:()=>ee,CleanOptions:()=>te,cleanTask:()=>ie,cleanWithOptionsTask:()=>oe,isCleanOptionsArray:()=>ae}) +var ge,Ee=Q({"src/lib/tasks/clean.ts"(){_A(),MA(),se(),$A="Git clean interactive mode is not supported",Ae='Git clean mode parameter ("n" or "f") is required',ee="Git clean unknown option found in: ",te=(A=>(A.DRY_RUN="n",A.FORCE="f",A.IGNORED_INCLUDED="x",A.IGNORED_ONLY="X",A.EXCLUDING="e",A.QUIET="q",A.RECURSIVE="d",A))(te||{}),re=new Set(["i",...q(Object.values(te))])}}) +function*Qe(A,e=null){const t=A.split("\0") for(let A=0,r=t.length-1;AObject.assign(A,this.values[e])),{})),this._all}addFile(A){if(!(A in this.values)){const e=Y(this.files) +n=A[0],s=A[1]}yield{file:r,key:n,value:s}}}var he,Ce=Q({"src/lib/responses/ConfigList.ts"(){MA(),ge=class{constructor(){this.files=[],this.values=Object.create(null)}get all(){return this._all||(this._all=this.files.reduce(((A,e)=>Object.assign(A,this.values[e])),{})),this._all}addFile(A){if(!(A in this.values)){const e=Y(this.files) this.values[A]=e?Object.create(this.values[e]):{},this.files.push(A)}return this.values[A]}addValue(A,e,t){const r=this.addFile(A) -r.hasOwnProperty(e)?Array.isArray(r[e])?r[e].push(t):r[e]=[r[e],t]:r[e]=t,this._all=void 0}}}}) -function Ce(A,e){return"string"==typeof A&&Qe.hasOwnProperty(A)?A:e}function Be(A,e){const t=["config","--null","--show-origin","--get-all",A] +Object.hasOwn(r,e)?Array.isArray(r[e])?r[e].push(t):r[e]=[r[e],t]:r[e]=t,this._all=void 0}}}}) +function Be(A,e){return"string"==typeof A&&Object.hasOwn(he,A)?A:e}function Ie(A,e){const t=["config","--null","--show-origin","--get-all",A] return e&&t.splice(1,0,`--${e}`),{commands:t,format:"utf-8",parser:e=>function(A,e){let t=null const r=[],s=new Map -for(const n of Ee(A,e))n.key===e&&(r.push(t=n.value),s.has(n.file)||s.set(n.file,[]),s.get(n.file).push(t)) -return{key:e,paths:Array.from(s.keys()),scopes:s,value:t,values:r}}(e,A)}}function Ie(A){const e=["config","--list","--show-origin","--null"] -return A&&e.push(`--${A}`),{commands:e,format:"utf-8",parser:A=>function(A){const e=new ce -for(const t of Ee(A))e.addValue(t.file,String(t.key),t.value) -return e}(A)}}var le,ue,de=Q({"src/lib/tasks/config.ts"(){he(),UA(),Qe=(A=>(A.system="system",A.global="global",A.local="local",A.worktree="worktree",A))(Qe||{})}}) -var fe,pe,ye,we,me=Q({"src/lib/tasks/diff-name-status.ts"(){le=(A=>(A.ADDED="A",A.COPIED="C",A.DELETED="D",A.MODIFIED="M",A.RENAMED="R",A.CHANGED="T",A.UNMERGED="U",A.UNKNOWN="X",A.BROKEN="B",A))(le||{}),ue=new Set(Object.values(le))}}) -function Re(...A){return(new we).param(...A)}function De(){return{grep(A){const e=mA(arguments),t=yA(arguments) -for(const A of fe)if(t.includes(A))return this._runTask(qA(`git.grep: use of "${A}" is not supported.`),e) -"string"==typeof A&&(A=Re().param(A)) +for(const n of Qe(A,e))n.key===e&&(r.push(t=n.value),s.has(n.file)||s.set(n.file,[]),s.get(n.file).push(t)) +return{key:e,paths:Array.from(s.keys()),scopes:s,value:t,values:r}}(e,A)}}function le(A){const e=["config","--list","--show-origin","--null"] +return A&&e.push(`--${A}`),{commands:e,format:"utf-8",parser:A=>function(A){const e=new ge +for(const t of Qe(A))e.addValue(t.file,String(t.key),t.value) +return e}(A)}}var ue,de,fe=Q({"src/lib/tasks/config.ts"(){Ce(),MA(),he=(A=>(A.system="system",A.global="global",A.local="local",A.worktree="worktree",A))(he||{})}}) +var pe,ye,we,me,Re=Q({"src/lib/tasks/diff-name-status.ts"(){ue=(A=>(A.ADDED="A",A.COPIED="C",A.DELETED="D",A.MODIFIED="M",A.RENAMED="R",A.CHANGED="T",A.UNMERGED="U",A.UNKNOWN="X",A.BROKEN="B",A))(ue||{}),de=new Set(Object.values(ue))}}) +function De(...A){return(new me).param(...A)}function ke(){return{grep(A){const e=RA(arguments),t=wA(arguments) +for(const A of pe)if(t.includes(A))return this._runTask(jA(`git.grep: use of "${A}" is not supported.`),e) +"string"==typeof A&&(A=De().param(A)) const r=["grep","--null","-n","--full-name",...t,...A] return this._runTask({commands:r,format:"utf-8",parser:A=>function(A){const e=new Set,t={} return O(A,(A=>{const[r,s,n]=A.split(D) -e.add(r),(t[r]=t[r]||[]).push({line:j(s),path:r,preview:n})})),{paths:e,results:t}}(A)},e)}}}var ke,be,Ne=Q({"src/lib/tasks/grep.ts"(){UA(),re(),fe=["-h"],pe=Symbol("grepQuery"),we=class{constructor(){this[ye]=[]}*[(ye=pe,Symbol.iterator)](){for(const A of this[pe])yield A}and(...A){return A.length&&this[pe].push("--and","(",...X(A,"-e"),")"),this}param(...A){return this[pe].push(...X(A,"-e")),this}}}}),Fe={} -function Se(A,e){const t=["reset"] -return Ue(A)&&t.push(`--${A}`),t.push(...e),jA(t)}function Le(A){if(Ue(A))return A -switch(typeof A){case"string":case"undefined":return"soft"}}function Ue(A){return be.includes(A)}h(Fe,{ResetMode:()=>ke,getResetMode:()=>Le,resetTask:()=>Se}) -var Me=Q({"src/lib/tasks/reset.ts"(){re(),ke=(A=>(A.MIXED="mixed",A.SOFT="soft",A.HARD="hard",A.MERGE="merge",A.KEEP="keep",A))(ke||{}),be=Array.from(Object.values(ke))}}),ve={} -h(ve,{CheckRepoActions:()=>FA,CleanOptions:()=>ee,DiffNameStatus:()=>le,GitConfigScope:()=>Qe,GitConstructError:()=>p,GitError:()=>r,GitPluginError:()=>y,GitResponseError:()=>s,ResetMode:()=>ke,TaskConfigurationError:()=>w,grepQueryBuilder:()=>Re,pathspec:()=>u}) -var Te=Q({"src/lib/api.ts"(){N(),F(),I(),S(),l(),L(),HA(),ge(),de(),me(),Ne(),Me()}}) -var Ye=Q({"src/lib/plugins/abort-plugin.ts"(){S()}}) -function Ge({allowUnsafeProtocolOverride:A=!1,allowUnsafePack:e=!1}={}){return{type:"spawn.args",action:(t,r)=>(t.forEach(((s,n)=>{const o=nbe,getResetMode:()=>Ue,resetTask:()=>Le}) +var ve=Q({"src/lib/tasks/reset.ts"(){MA(),se(),be=(A=>(A.MIXED="mixed",A.SOFT="soft",A.HARD="hard",A.MERGE="merge",A.KEEP="keep",A))(be||{}),Ne=q(Object.values(be))}}),Te={} +h(Te,{CheckRepoActions:()=>SA,CleanOptions:()=>te,DiffNameStatus:()=>ue,GitConfigScope:()=>he,GitConstructError:()=>p,GitError:()=>r,GitPluginError:()=>y,GitResponseError:()=>s,ResetMode:()=>be,TaskConfigurationError:()=>w,grepQueryBuilder:()=>De,pathspec:()=>u}) +var Ye=Q({"src/lib/api.ts"(){N(),F(),I(),S(),l(),L(),VA(),Ee(),fe(),Re(),Fe(),ve()}}) +var Ge=Q({"src/lib/plugins/abort-plugin.ts"(){S()}}) +function Je({allowUnsafeProtocolOverride:A=!1,allowUnsafePack:e=!1}={}){return{type:"spawn.args",action:(t,r)=>(t.forEach(((s,n)=>{const o=nz(A)))).then(t.done)}return{type:"spawn.after",async action(r,{spawned:s,close:n}){const o=function(){let r=-1 -const s={close:(0,Oe.deferred)(),closeTimeout:(0,Oe.deferred)(),exit:(0,Oe.deferred)(),exitTimeout:(0,Oe.deferred)()},n=Promise.race([!1===A?xe:s.closeTimeout.promise,!1===e?xe:s.exitTimeout.promise]) +if("push"===e&&/^\s*--exec\b/.test(A))throw new y(void 0,"unsafe","Use of push with option --exec is not permitted without enabling allowUnsafePack")}(s,r.method)})),t)}}var Oe=Q({"src/lib/plugins/block-unsafe-operations-plugin.ts"(){S()}}) +var xe,He,Ve=Q({"src/lib/plugins/command-config-prefixing-plugin.ts"(){MA()}}) +function Pe({onClose:A=!0,onExit:e=50}={}){function t(A,e,t){!1!==A&&(!0===A?e.promise:e.promise.then((()=>z(A)))).then(t.done)}return{type:"spawn.after",async action(r,{spawned:s,close:n}){const o=function(){let r=-1 +const s={close:(0,xe.deferred)(),closeTimeout:(0,xe.deferred)(),exit:(0,xe.deferred)(),exitTimeout:(0,xe.deferred)()},n=Promise.race([!1===A?He:s.closeTimeout.promise,!1===e?He:s.exitTimeout.promise]) return t(A,s.close,s.closeTimeout),t(e,s.exit,s.exitTimeout),{close(A){r=A,s.close.done()},exit(A){r=A,s.exit.done()},get exitCode(){return r},result:n}}() let i=!0,a=()=>{i=!1} s.stdout?.on("data",a),s.stderr?.on("data",a),s.on("error",a),s.on("close",(A=>o.close(A))),s.on("exit",(A=>o.exit(A))) -try{await o.result,i&&await z(50),n(o.exitCode)}catch(A){n(o.exitCode,A)}}}}var Pe,_e,We=Q({"src/lib/plugins/completion-detection.plugin.ts"(){Oe=t(8100),UA(),xe=(0,Oe.deferred)().promise}}) -function qe(A){return!A||!/^([a-z]:)?([a-z0-9/.\\_-]+)$/i.test(A)}function je(A,e){if(A.length<1||A.length>2)throw new y(void 0,"binary",Pe) -if(A.some(qe)){if(!e)throw new y(void 0,"binary",_e) -console.warn(_e)}const[t,r]=A -return{binary:t,prefix:r}}var Xe=Q({"src/lib/plugins/custom-binary.plugin.ts"(){S(),UA(),Pe="Invalid value supplied for custom binary, requires a single string or an array containing either one or two strings",_e="Invalid value supplied for custom binary, restricted characters must be removed or supply the unsafe.allowUnsafeCustomBinary option"}}) -function Ze(A){return!(!A.exitCode||!A.stdErr.length)}function Ke(A){return Buffer.concat([...A.stdOut,...A.stdErr])}function ze(A=!1,e=Ze,t=Ke){return(r,s)=>!A&&r||!e(s)?r:t(s)}function $e(A){return{type:"task.error",action(e,t){const s=A(e.error,{stdErr:t.stdErr,stdOut:t.stdOut,exitCode:t.exitCode}) -return Buffer.isBuffer(s)?{error:new r(void 0,s.toString("utf-8"))}:{error:s}}}}var At,et,tt=Q({"src/lib/plugins/error-detection.plugin.ts"(){I()}}),rt=Q({"src/lib/plugins/plugin-store.ts"(){At=t(8474),UA(),et=class{constructor(){this.plugins=new Set,this.events=new At.EventEmitter}on(A,e){this.events.on(A,e)}reconfigure(A,e){this.events.emit(A,e)}append(A,e){const t=H(this.plugins,{type:A,action:e}) +try{await o.result,i&&await z(50),n(o.exitCode)}catch(A){n(o.exitCode,A)}}}}var _e,We,qe=Q({"src/lib/plugins/completion-detection.plugin.ts"(){xe=t(8100),MA(),He=(0,xe.deferred)().promise}}) +function je(A){return!A||!/^([a-z]:)?([a-z0-9/.\\_-]+)$/i.test(A)}function Xe(A,e){if(A.length<1||A.length>2)throw new y(void 0,"binary",_e) +if(A.some(je)){if(!e)throw new y(void 0,"binary",We) +console.warn(We)}const[t,r]=A +return{binary:t,prefix:r}}var Ze=Q({"src/lib/plugins/custom-binary.plugin.ts"(){S(),MA(),_e="Invalid value supplied for custom binary, requires a single string or an array containing either one or two strings",We="Invalid value supplied for custom binary, restricted characters must be removed or supply the unsafe.allowUnsafeCustomBinary option"}}) +function Ke(A){return!(!A.exitCode||!A.stdErr.length)}function ze(A){return Buffer.concat([...A.stdOut,...A.stdErr])}function $e(A=!1,e=Ke,t=ze){return(r,s)=>!A&&r||!e(s)?r:t(s)}function At(A){return{type:"task.error",action(e,t){const s=A(e.error,{stdErr:t.stdErr,stdOut:t.stdOut,exitCode:t.exitCode}) +return Buffer.isBuffer(s)?{error:new r(void 0,s.toString("utf-8"))}:{error:s}}}}var et,tt,rt=Q({"src/lib/plugins/error-detection.plugin.ts"(){I()}}),st=Q({"src/lib/plugins/plugin-store.ts"(){et=t(8474),MA(),tt=class{constructor(){this.plugins=new Set,this.events=new et.EventEmitter}on(A,e){this.events.on(A,e)}reconfigure(A,e){this.events.emit(A,e)}append(A,e){const t=H(this.plugins,{type:A,action:e}) return()=>this.plugins.delete(t)}add(A){const e=[] return _(A).forEach((A=>A&&this.plugins.add(H(e,A)))),()=>{e.forEach((A=>this.plugins.delete(A)))}}exec(A,e,t){let r=e const s=Object.freeze(Object.create(t)) for(const e of this.plugins)e.type===A&&(r=e.action(r,s)) return r}}}}) -var st=Q({"src/lib/plugins/progress-monitor-plugin.ts"(){UA()}}),nt=Q({"src/lib/plugins/simple-git-plugin.ts"(){}}) -var ot=Q({"src/lib/plugins/spawn-options-plugin.ts"(){UA()}}) -var it=Q({"src/lib/plugins/timout-plugin.ts"(){S()}}),at=Q({"src/lib/plugins/index.ts"(){Ye(),Je(),He(),We(),Xe(),tt(),rt(),st(),nt(),ot(),it()}}) -var ct,gt=Q({"src/lib/plugins/suffix-paths.plugin.ts"(){N()}}) -function Et(A,e,t){return e&&String(e).replace(/\s*/,"")?(r,...s)=>{A(`%s ${r}`,e,...s),t&&t(r,...s)}:t?(e,...r)=>{A(e,...r),t(e,...r)}:A}function Qt(A,e,t,r=function(){return(0,ct.default)("simple-git")}()){const s=A&&`[${A}]`||"",n=[],o="string"==typeof e?r.extend(e):e,i=function(A,e,{namespace:t}){if("string"==typeof A)return A +var nt=Q({"src/lib/plugins/progress-monitor-plugin.ts"(){MA()}}),ot=Q({"src/lib/plugins/simple-git-plugin.ts"(){}}) +var it=Q({"src/lib/plugins/spawn-options-plugin.ts"(){MA()}}) +var at=Q({"src/lib/plugins/timout-plugin.ts"(){S()}}),ct=Q({"src/lib/plugins/index.ts"(){Ge(),Oe(),Ve(),qe(),Ze(),rt(),st(),nt(),ot(),it(),at()}}) +var gt,Et=Q({"src/lib/plugins/suffix-paths.plugin.ts"(){N()}}) +function Qt(A,e,t){return e&&String(e).replace(/\s*/,"")?(r,...s)=>{A(`%s ${r}`,e,...s),t&&t(r,...s)}:t?(e,...r)=>{A(e,...r),t(e,...r)}:A}function ht(A,e,t,r=function(){return(0,gt.default)("simple-git")}()){const s=A&&`[${A}]`||"",n=[],o="string"==typeof e?r.extend(e):e,i=function(A,e,{namespace:t}){if("string"==typeof A)return A const r=e&&e.namespace||"" -return r.startsWith(t)?r.substr(t.length+1):r||t}(oA(e,eA),o,r) -return function e(t){const n=t&&`[${t}]`||"",i=o&&Et(o,n)||k,c=Et(r,`${s} ${n}`,i) +return r.startsWith(t)?r.substr(t.length+1):r||t}(oA(e,tA),o,r) +return function e(t){const n=t&&`[${t}]`||"",i=o&&Qt(o,n)||k,c=Qt(r,`${s} ${n}`,i) return Object.assign(o?i:c,{label:A,sibling:a,info:c,step:e})}(t) -function a(e,t){return H(n,Qt(A,i.replace(/^[^:]+/,e),t,r))}}var ht,Ct,Bt,It=Q({"src/lib/git-logger.ts"(){var A,e,r -A=t(5753),r=null!=A?o(g(A)):{},ct=C(!e&&A&&A.__esModule?r:i(r,"default",{value:A,enumerable:!0}),A),UA(),ct.default.formatters.L=A=>String(sA(A)?A.length:"-"),ct.default.formatters.B=A=>Buffer.isBuffer(A)?A.toString("utf8"):b(A)}}),lt=Q({"src/lib/runners/tasks-pending-queue.ts"(){I(),It(),ht=class A{constructor(A="GitExecutor"){this.logLabel=A,this._queue=new Map}withProgress(A){return this._queue.get(A)}createProgress(e){const t=A.getName(e.commands[0]) -return{task:e,logger:Qt(this.logLabel,t),name:t}}push(A){const e=this.createProgress(A) +function a(e,t){return H(n,ht(A,i.replace(/^[^:]+/,e),t,r))}}var Ct,Bt,It,lt=Q({"src/lib/git-logger.ts"(){var A,e,r +A=t(5753),r=null!=A?o(g(A)):{},gt=C(!e&&A&&A.__esModule?r:i(r,"default",{value:A,enumerable:!0}),A),MA(),gt.default.formatters.L=A=>String(sA(A)?A.length:"-"),gt.default.formatters.B=A=>Buffer.isBuffer(A)?A.toString("utf8"):b(A)}}),ut=Q({"src/lib/runners/tasks-pending-queue.ts"(){I(),lt(),Ct=class A{constructor(A="GitExecutor"){this.logLabel=A,this._queue=new Map}withProgress(A){return this._queue.get(A)}createProgress(e){const t=A.getName(e.commands[0]) +return{task:e,logger:ht(this.logLabel,t),name:t}}push(A){const e=this.createProgress(A) return e.logger("Adding task to the queue, commands = %o",A.commands),this._queue.set(A,e),e}fatal(A){for(const[e,{logger:t}]of Array.from(this._queue.entries()))e===A.task?(t.info("Failed %o",A),t("Fatal exception, any as-yet un-started tasks run through this executor will not be attempted")):t.info("A fatal exception occurred in a previous task, the queue has been purged: %o",A.message),this.complete(e) if(0!==this._queue.size)throw new Error(`Queue size should be zero after fatal: ${this._queue.size}`)}complete(A){this.withProgress(A)&&this._queue.delete(A)}attempt(A){const e=this.withProgress(A) if(!e)throw new r(void 0,"TasksPendingQueue: attempt called for an unknown task") return e.logger("Starting task"),e}static getName(e="empty"){return`task:${e}:${++A.counter}`}static{this.counter=0}}}}) -function ut(A,e){return{method:T(A.commands)||"",commands:e}}function dt(A,e,t,r){return s=>{t("%s received %L bytes",e,s),r("%B",s),A.push(s)}}var ft,pt=Q({"src/lib/runners/git-executor-chain.ts"(){Ct=t(5317),I(),re(),UA(),lt(),Bt=class{constructor(A,e,t){this._executor=A,this._scheduler=e,this._plugins=t,this._chain=Promise.resolve(),this._queue=new ht}get cwd(){return this._cwd||this._executor.cwd}set cwd(A){this._cwd=A}get env(){return this._executor.env}get outputHandler(){return this._executor.outputHandler}chain(){return this}push(A){return this._queue.push(A),this._chain=this._chain.then((()=>this.attemptTask(A)))}async attemptTask(A){const e=await this._scheduler.next(),t=()=>this._queue.complete(A) +function dt(A,e){return{method:T(A.commands)||"",commands:e}}function ft(A,e,t,r){return s=>{t("%s received %L bytes",e,s),r("%B",s),A.push(s)}}var pt,yt=Q({"src/lib/runners/git-executor-chain.ts"(){Bt=t(5317),I(),se(),MA(),ut(),It=class{constructor(A,e,t){this._executor=A,this._scheduler=e,this._plugins=t,this._chain=Promise.resolve(),this._queue=new Ct}get cwd(){return this._cwd||this._executor.cwd}set cwd(A){this._cwd=A}get env(){return this._executor.env}get outputHandler(){return this._executor.outputHandler}chain(){return this}push(A){return this._queue.push(A),this._chain=this._chain.then((()=>this.attemptTask(A)))}async attemptTask(A){const e=await this._scheduler.next(),t=()=>this._queue.complete(A) try{const{logger:e}=this._queue.attempt(A) -return await(KA(A)?this.attemptEmptyTask(A,e):this.attemptRemoteTask(A,e))}catch(e){throw this.onFatalException(A,e)}finally{t(),e()}}onFatalException(A,e){const t=e instanceof r?Object.assign(e,{task:A}):new r(A,e&&String(e)) -return this._chain=Promise.resolve(),this._queue.fatal(t),t}async attemptRemoteTask(A,e){const t=this._plugins.exec("spawn.binary","",ut(A,A.commands)),r=this._plugins.exec("spawn.args",[...A.commands],ut(A,A.commands)),s=await this.gitResponse(A,t,r,this.outputHandler,e.step("SPAWN")),n=await this.handleTaskData(A,r,s,e.step("HANDLE")) -return e("passing response to task's parser as a %s",A.format),ZA(A)?DA(A.parser,n):DA(A.parser,n.asStrings())}async attemptEmptyTask(A,e){return e("empty task bypassing child process to call to task's parser"),A.parser(this)}handleTaskData(A,e,t,r){const{exitCode:s,rejection:n,stdOut:o,stdErr:i}=t +return await(zA(A)?this.attemptEmptyTask(A,e):this.attemptRemoteTask(A,e))}catch(e){throw this.onFatalException(A,e)}finally{t(),e()}}onFatalException(A,e){const t=e instanceof r?Object.assign(e,{task:A}):new r(A,e&&String(e)) +return this._chain=Promise.resolve(),this._queue.fatal(t),t}async attemptRemoteTask(A,e){const t=this._plugins.exec("spawn.binary","",dt(A,A.commands)),r=this._plugins.exec("spawn.args",[...A.commands],dt(A,A.commands)),s=await this.gitResponse(A,t,r,this.outputHandler,e.step("SPAWN")),n=await this.handleTaskData(A,r,s,e.step("HANDLE")) +return e("passing response to task's parser as a %s",A.format),KA(A)?kA(A.parser,n):kA(A.parser,n.asStrings())}async attemptEmptyTask(A,e){return e("empty task bypassing child process to call to task's parser"),A.parser(this)}handleTaskData(A,e,t,r){const{exitCode:s,rejection:n,stdOut:o,stdErr:i}=t return new Promise(((a,c)=>{r("Preparing to handle process response exitCode=%d stdOut=",s) -const{error:g}=this._plugins.exec("task.error",{error:n},{...ut(A,e),...t}) -return g&&A.onError?(r.info("exitCode=%s handling with custom error handler"),A.onError(t,g,(A=>{r.info("custom error handler treated as success"),r("custom error returned a %s",b(A)),a(new EA(Array.isArray(A)?Buffer.concat(A):A,Buffer.concat(i)))}),c)):g?(r.info("handling as error: exitCode=%s stdErr=%s rejection=%o",s,i.length,n),c(g)):(r.info("retrieving task output complete"),void a(new EA(Buffer.concat(o),Buffer.concat(i))))}))}async gitResponse(A,e,t,r,s){const n=s.sibling("output"),o=this._plugins.exec("spawn.options",{cwd:this.cwd,env:this.env,windowsHide:!0},ut(A,A.commands)) +const{error:g}=this._plugins.exec("task.error",{error:n},{...dt(A,e),...t}) +return g&&A.onError?(r.info("exitCode=%s handling with custom error handler"),A.onError(t,g,(A=>{r.info("custom error handler treated as success"),r("custom error returned a %s",b(A)),a(new EA(Array.isArray(A)?Buffer.concat(A):A,Buffer.concat(i)))}),c)):g?(r.info("handling as error: exitCode=%s stdErr=%s rejection=%o",s,i.length,n),c(g)):(r.info("retrieving task output complete"),void a(new EA(Buffer.concat(o),Buffer.concat(i))))}))}async gitResponse(A,e,t,r,s){const n=s.sibling("output"),o=this._plugins.exec("spawn.options",{cwd:this.cwd,env:this.env,windowsHide:!0},dt(A,A.commands)) return new Promise((i=>{const a=[],c=[] s.info("%s %o",e,t),s("%O",o) let g=this._beforeSpawn(A,t) if(g)return i({stdOut:a,stdErr:c,exitCode:9901,rejection:g}) -this._plugins.exec("spawn.before",void 0,{...ut(A,t),kill(A){g=A||g}}) -const E=(0,Ct.spawn)(e,t,o) -E.stdout.on("data",dt(a,"stdOut",s,n.step("stdOut"))),E.stderr.on("data",dt(c,"stdErr",s,n.step("stdErr"))),E.on("error",function(A,e){return t=>{e("[ERROR] child process exception %o",t),A.push(Buffer.from(String(t.stack),"ascii"))}}(c,s)),r&&(s("Passing child process stdOut/stdErr to custom outputHandler"),r(e,E.stdout,E.stderr,[...t])),this._plugins.exec("spawn.after",void 0,{...ut(A,t),spawned:E,close(A,e){i({stdOut:a,stdErr:c,exitCode:A,rejection:g||e})},kill(A){E.killed||(g=A,E.kill("SIGINT"))}})}))}_beforeSpawn(A,e){let t -return this._plugins.exec("spawn.before",void 0,{...ut(A,e),kill(A){t=A||t}}),t}}}}),yt={} -h(yt,{GitExecutor:()=>ft}) -var wt=Q({"src/lib/runners/git-executor.ts"(){pt(),ft=class{constructor(A,e,t){this.cwd=A,this._scheduler=e,this._plugins=t,this._chain=new Bt(this,this._scheduler,this._plugins)}chain(){return new Bt(this,this._scheduler,this._plugins)}push(A){return this._chain.push(A)}}}}) -function mt(A,e,t=k){e.then((A=>{t(null,A)}),(e=>{e?.task===A&&t(e instanceof s?function(A){let e=A=>{console.warn(`simple-git deprecation notice: accessing GitResponseError.${A} should be GitResponseError.git.${A}, this will no longer be available in version 3`),e=k} +this._plugins.exec("spawn.before",void 0,{...dt(A,t),kill(A){g=A||g}}) +const E=(0,Bt.spawn)(e,t,o) +E.stdout.on("data",ft(a,"stdOut",s,n.step("stdOut"))),E.stderr.on("data",ft(c,"stdErr",s,n.step("stdErr"))),E.on("error",function(A,e){return t=>{e("[ERROR] child process exception %o",t),A.push(Buffer.from(String(t.stack),"ascii"))}}(c,s)),r&&(s("Passing child process stdOut/stdErr to custom outputHandler"),r(e,E.stdout,E.stderr,[...t])),this._plugins.exec("spawn.after",void 0,{...dt(A,t),spawned:E,close(A,e){i({stdOut:a,stdErr:c,exitCode:A,rejection:g||e})},kill(A){E.killed||(g=A,E.kill("SIGINT"))}})}))}_beforeSpawn(A,e){let t +return this._plugins.exec("spawn.before",void 0,{...dt(A,e),kill(A){t=A||t}}),t}}}}),wt={} +h(wt,{GitExecutor:()=>pt}) +var mt=Q({"src/lib/runners/git-executor.ts"(){yt(),pt=class{constructor(A,e,t){this.cwd=A,this._scheduler=e,this._plugins=t,this._chain=new It(this,this._scheduler,this._plugins)}chain(){return new It(this,this._scheduler,this._plugins)}push(A){return this._chain.push(A)}}}}) +function Rt(A,e,t=k){e.then((A=>{t(null,A)}),(e=>{e?.task===A&&t(e instanceof s?function(A){let e=A=>{console.warn(`simple-git deprecation notice: accessing GitResponseError.${A} should be GitResponseError.git.${A}, this will no longer be available in version 3`),e=k} return Object.create(A,Object.getOwnPropertyNames(A.git).reduce(t,{})) -function t(t,r){return r in A||(t[r]={enumerable:!1,configurable:!1,get:()=>(e(r),A.git[r])}),t}}(e):e,void 0)}))}var Rt=Q({"src/lib/task-callback.ts"(){l(),UA()}}) -function Dt(A,e){return WA((t=>{if(!x(A))throw new Error(`Git.cwd: cannot change to non-directory "${A}"`) -return(e||t).cwd=A}))}var kt=Q({"src/lib/tasks/change-working-directory.ts"(){UA(),re()}}) -function bt(A){const e=["checkout",...A] -return"-b"===e[1]&&e.includes("-B")&&(e[1]=P(e,"-B")),jA(e)}var Nt,Ft=Q({"src/lib/tasks/checkout.ts"(){UA(),re()}}) -var St,Lt=Q({"src/lib/tasks/count-objects.ts"(){UA(),Nt=new QA(/([a-z-]+): (\d+)$/,((A,[e,t])=>{const r=W(e) -A.hasOwnProperty(r)&&(A[r]=j(t))}))}}) -function Ut(A){return kA({author:null,branch:"",commit:"",root:!1,summary:{changes:0,insertions:0,deletions:0}},St,A)}var Mt=Q({"src/lib/parsers/parse-commit.ts"(){UA(),St=[new QA(/^\[([^\s]+)( \([^)]+\))? ([^\]]+)/,((A,[e,t,r])=>{A.branch=e,A.commit=r,A.root=!!t})),new QA(/\s*Author:\s(.+)/i,((A,[e])=>{const t=e.split("<"),r=t.pop() +function t(t,r){return r in A||(t[r]={enumerable:!1,configurable:!1,get:()=>(e(r),A.git[r])}),t}}(e):e,void 0)}))}var Dt=Q({"src/lib/task-callback.ts"(){l(),MA()}}) +function kt(A,e){return qA((t=>{if(!x(A))throw new Error(`Git.cwd: cannot change to non-directory "${A}"`) +return(e||t).cwd=A}))}var bt=Q({"src/lib/tasks/change-working-directory.ts"(){MA(),se()}}) +function Nt(A){const e=["checkout",...A] +return"-b"===e[1]&&e.includes("-B")&&(e[1]=P(e,"-B")),XA(e)}var Ft,St=Q({"src/lib/tasks/checkout.ts"(){MA(),se()}}) +var Lt,Ut=Q({"src/lib/tasks/count-objects.ts"(){MA(),Ft=new QA(/([a-z-]+): (\d+)$/,((A,[e,t])=>{const r=W(e) +Object.hasOwn(A,r)&&(A[r]=j(t))}))}}) +function Mt(A){return bA({author:null,branch:"",commit:"",root:!1,summary:{changes:0,insertions:0,deletions:0}},Lt,A)}var vt=Q({"src/lib/parsers/parse-commit.ts"(){MA(),Lt=[new QA(/^\[([^\s]+)( \([^)]+\))? ([^\]]+)/,((A,[e,t,r])=>{A.branch=e,A.commit=r,A.root=!!t})),new QA(/\s*Author:\s(.+)/i,((A,[e])=>{const t=e.split("<"),r=t.pop() r&&r.includes("@")&&(A.author={email:r.substr(0,r.length-1),name:t.join("<").trim()})})),new QA(/(\d+)[^,]*(?:,\s*(\d+)[^,]*)(?:,\s*(\d+))/g,((A,[e,t,r])=>{A.summary.changes=parseInt(e,10)||0,A.summary.insertions=parseInt(t,10)||0,A.summary.deletions=parseInt(r,10)||0})),new QA(/^(\d+)[^,]*(?:,\s*(\d+)[^(]+\(([+-]))?/,((A,[e,t,r])=>{A.summary.changes=parseInt(e,10)||0 const s=parseInt(t,10)||0 "-"===r?A.summary.deletions=s:"+"===r&&(A.summary.insertions=s)}))]}}) -function vt(){return{commit(A,...e){const t=mA(arguments),r=function(A){return!rA(A)&&qA("git.commit: requires the commit message to be supplied as a string/string[]")}(A)||function(A,e,t){return{commands:["-c","core.abbrev=40","commit",...X(A,"-m"),...e,...t],format:"utf-8",parser:Ut}}(_(A),_(oA(e[0],rA,[])),[...oA(e[1],AA,[]),...yA(arguments,0,!0)]) -return this._runTask(r,t)}}}var Tt=Q({"src/lib/tasks/commit.ts"(){Mt(),UA(),re()}}) -var Yt=Q({"src/lib/tasks/first-commit.ts"(){UA(),re()}}) -var Gt,Jt,Ot,xt=Q({"src/lib/tasks/hash-object.ts"(){re()}}) -var Ht,Vt=Q({"src/lib/responses/InitSummary.ts"(){Gt=class{constructor(A,e,t,r){this.bare=A,this.path=e,this.existing=t,this.gitDir=r}},Jt=/^Init.+ repository in (.+)$/,Ot=/^Rein.+ in (.+)$/}}) -function Pt(A=!1,e,t){const r=["init",...t] -return A&&!r.includes(Ht)&&r.splice(1,0,Ht),{commands:r,format:"utf-8",parser:A=>function(A,e,t){const r=String(t).trim() +function Tt(){return{commit(A,...e){const t=RA(arguments),r=function(A){return!rA(A)&&jA("git.commit: requires the commit message to be supplied as a string/string[]")}(A)||function(A,e,t){return{commands:["-c","core.abbrev=40","commit",...X(A,"-m"),...e,...t],format:"utf-8",parser:Mt}}(_(A),_(oA(e[0],rA,[])),[...q(oA(e[1],AA,[])),...wA(arguments,0,!0)]) +return this._runTask(r,t)}}}var Yt=Q({"src/lib/tasks/commit.ts"(){vt(),MA(),se()}}) +var Gt=Q({"src/lib/tasks/first-commit.ts"(){MA(),se()}}) +var Jt,Ot,xt,Ht=Q({"src/lib/tasks/hash-object.ts"(){se()}}) +var Vt,Pt=Q({"src/lib/responses/InitSummary.ts"(){Jt=class{constructor(A,e,t,r){this.bare=A,this.path=e,this.existing=t,this.gitDir=r}},Ot=/^Init.+ repository in (.+)$/,xt=/^Rein.+ in (.+)$/}}) +function _t(A=!1,e,t){const r=["init",...t] +return A&&!r.includes(Vt)&&r.splice(1,0,Vt),{commands:r,format:"utf-8",parser:A=>function(A,e,t){const r=String(t).trim() let s -if(s=Jt.exec(r))return new Gt(A,e,!1,s[1]) -if(s=Ot.exec(r))return new Gt(A,e,!0,s[1]) +if(s=Ot.exec(r))return new Jt(A,e,!1,s[1]) +if(s=xt.exec(r))return new Jt(A,e,!0,s[1]) let n="" const o=r.split(" ") for(;o.length;)if("in"===o.shift()){n=o.join(" ") -break}return new Gt(A,e,/^re/i.test(r),n)}(r.includes("--bare"),e,A)}}var _t,Wt=Q({"src/lib/tasks/init.ts"(){Vt(),Ht="--bare"}}) -function qt(A){for(let e=0;ekA(new Xt,e,A,!1)}var sr,nr,or,ir,ar=Q({"src/lib/parsers/parse-diff-summary.ts"(){er(),tr(),me(),UA(),Zt=[new QA(/^(.+)\s+\|\s+(\d+)(\s+[+\-]+)?$/,((A,[e,t,r=""])=>{A.files.push({file:e.trim(),changes:j(t),insertions:r.replace(/[^+]/g,"").length,deletions:r.replace(/[^-]/g,"").length,binary:!1})})),new QA(/^(.+) \|\s+Bin ([0-9.]+) -> ([0-9.]+) ([a-z]+)/,((A,[e,t,r])=>{A.files.push({file:e.trim(),before:j(t),after:j(r),binary:!0})})),new QA(/(\d+) files? changed\s*((?:, \d+ [^,]+){0,2})/,((A,[e,t])=>{const r=/(\d+) i/.exec(t),s=/(\d+) d/.exec(t) -A.changed=j(e),A.insertions=j(r?.[1]),A.deletions=j(s?.[1])}))],Kt=[new QA(/(\d+)\t(\d+)\t(.+)$/,((A,[e,t,r])=>{const s=j(e),n=j(t) -A.changed++,A.insertions+=s,A.deletions+=n,A.files.push({file:r,changes:s+n,insertions:s,deletions:n,binary:!1})})),new QA(/-\t-\t(.+)$/,((A,[e])=>{A.changed++,A.files.push({file:e,after:0,before:0,binary:!0})}))],zt=[new QA(/(.+)$/,((A,[e])=>{A.changed++,A.files.push({file:e,changes:0,insertions:0,deletions:0,binary:!1})}))],$t=[new QA(/([ACDMRTUXB])([0-9]{0,3})\t(.[^\t]*)(\t(.[^\t]*))?$/,((A,[e,t,r,s,n])=>{var o -A.changed++,A.files.push({file:n??r,changes:0,insertions:0,deletions:0,binary:!1,status:$((o=e,ue.has(o)&&e)),from:$(!!n&&r!==n&&r),similarity:j(t)})}))],Ar={"":Zt,"--stat":Zt,"--numstat":Kt,"--name-status":$t,"--name-only":zt}}}) -function cr(A=or,e=ir,t=""){const r=rr(t) -return function(t){const s=J(t.trim(),!1,sr).map((function(t){const s=t.split(nr),n=function(A,e){return e.reduce(((e,t,r)=>(e[t]=A[r]||"",e)),Object.create({diff:null}))}(s[0].split(A),e) +break}return new Jt(A,e,/^re/i.test(r),n)}(r.includes("--bare"),e,A)}}var Wt,qt=Q({"src/lib/tasks/init.ts"(){Pt(),Vt="--bare"}}) +function jt(A){for(let e=0;ebA(new Zt,e,A,!1)}var nr,or,ir,ar,cr=Q({"src/lib/parsers/parse-diff-summary.ts"(){tr(),rr(),Re(),MA(),Kt=[new QA(/^(.+)\s+\|\s+(\d+)(\s+[+\-]+)?$/,((A,[e,t,r=""])=>{A.files.push({file:e.trim(),changes:j(t),insertions:r.replace(/[^+]/g,"").length,deletions:r.replace(/[^-]/g,"").length,binary:!1})})),new QA(/^(.+) \|\s+Bin ([0-9.]+) -> ([0-9.]+) ([a-z]+)/,((A,[e,t,r])=>{A.files.push({file:e.trim(),before:j(t),after:j(r),binary:!0})})),new QA(/(\d+) files? changed\s*((?:, \d+ [^,]+){0,2})/,((A,[e,t])=>{const r=/(\d+) i/.exec(t),s=/(\d+) d/.exec(t) +A.changed=j(e),A.insertions=j(r?.[1]),A.deletions=j(s?.[1])}))],zt=[new QA(/(\d+)\t(\d+)\t(.+)$/,((A,[e,t,r])=>{const s=j(e),n=j(t) +A.changed++,A.insertions+=s,A.deletions+=n,A.files.push({file:r,changes:s+n,insertions:s,deletions:n,binary:!1})})),new QA(/-\t-\t(.+)$/,((A,[e])=>{A.changed++,A.files.push({file:e,after:0,before:0,binary:!0})}))],$t=[new QA(/(.+)$/,((A,[e])=>{A.changed++,A.files.push({file:e,changes:0,insertions:0,deletions:0,binary:!1})}))],Ar=[new QA(/([ACDMRTUXB])([0-9]{0,3})\t(.[^\t]*)(\t(.[^\t]*))?$/,((A,[e,t,r,s,n])=>{var o +A.changed++,A.files.push({file:n??r,changes:0,insertions:0,deletions:0,binary:!1,status:$((o=e,de.has(o)&&e)),from:$(!!n&&r!==n&&r),similarity:j(t)})}))],er={"":Kt,"--stat":Kt,"--numstat":zt,"--name-status":Ar,"--name-only":$t}}}) +function gr(A=ir,e=ar,t=""){const r=sr(t) +return function(t){const s=J(t.trim(),!1,nr).map((function(t){const s=t.split(or),n=function(A,e){return e.reduce(((e,t,r)=>(e[t]=A[r]||"",e)),Object.create({diff:null}))}(s[0].split(A),e) return s.length>1&&s[1].trim()&&(n.diff=r(s[1])),n})) -return{all:s,latest:s.length&&s[0]||null,total:s.length}}}var gr=Q({"src/lib/parsers/parse-list-log-summary.ts"(){UA(),ar(),er(),sr="òòòòòò ",nr=" òò",or=" ò ",ir=["hash","date","message","refs","author_name","author_email"]}}),Er={} -function Qr(A){let e=qt(A) +return{all:s,latest:s.length&&s[0]||null,total:s.length}}}var Er=Q({"src/lib/parsers/parse-list-log-summary.ts"(){MA(),cr(),tr(),nr="òòòòòò ",or=" òò",ir=" ò ",ar=["hash","date","message","refs","author_name","author_email"]}}),Qr={} +function hr(A){let e=jt(A) const t=["diff"] -return""===e&&(e="--stat",t.push("--stat=4096")),t.push(...A),hr(t)||{commands:t,format:"utf-8",parser:rr(e)}}function hr(A){const e=A.filter(jt) -return e.length>1?qA(`Summary flags are mutually exclusive - pick one of ${e.join(",")}`):e.length&&A.includes("-z")?qA(`Summary flag ${e} parsing is not compatible with null termination option '-z'`):void 0}h(Er,{diffSummaryTask:()=>Qr,validateLogFormatConfig:()=>hr}) -var Cr,Br=Q({"src/lib/tasks/diff.ts"(){er(),ar(),re()}}) -function Ir(A={},e=[]){const t=oA(A.splitter,eA,or),r=aA(A.format)?A.format:{hash:"%H",date:!1===A.strictDate?"%ai":"%aI",message:"%s",refs:"%D",body:A.multiLine?"%B":"%b",author_name:!1!==A.mailMap?"%aN":"%an",author_email:!1!==A.mailMap?"%aE":"%ae"},[s,n]=function(A,e){const t=[],r=[] -return Object.keys(A).forEach((e=>{t.push(e),r.push(String(A[e]))})),[t,r.join(e)]}(r,t),o=[],i=[`--pretty=format:${sr}${n}${nr}`,...e],a=A.n||A["max-count"]||A.maxCount +return""===e&&(e="--stat",t.push("--stat=4096")),t.push(...A),Cr(t)||{commands:t,format:"utf-8",parser:sr(e)}}function Cr(A){const e=A.filter(Xt) +return e.length>1?jA(`Summary flags are mutually exclusive - pick one of ${e.join(",")}`):e.length&&A.includes("-z")?jA(`Summary flag ${e} parsing is not compatible with null termination option '-z'`):void 0}h(Qr,{diffSummaryTask:()=>hr,validateLogFormatConfig:()=>Cr}) +var Br,Ir=Q({"src/lib/tasks/diff.ts"(){tr(),cr(),se()}}) +function lr(A={},e=[]){const t=oA(A.splitter,tA,ir),r=aA(A.format)?A.format:{hash:"%H",date:!1===A.strictDate?"%ai":"%aI",message:"%s",refs:"%D",body:A.multiLine?"%B":"%b",author_name:!1!==A.mailMap?"%aN":"%an",author_email:!1!==A.mailMap?"%aE":"%ae"},[s,n]=function(A,e){const t=[],r=[] +return Object.keys(A).forEach((e=>{t.push(e),r.push(String(A[e]))})),[t,r.join(e)]}(r,t),o=[],i=[`--pretty=format:${nr}${n}${or}`,...e],a=A.n||A["max-count"]||A.maxCount if(a&&i.push(`--max-count=${a}`),A.from||A.to){const e=!1!==A.symmetric?"...":".." o.push(`${A.from||""}${e}${A.to||""}`)}var c -return eA(A.file)&&i.push("--follow",u(A.file)),pA((c=A,Object.keys(c).reduce(((A,e)=>(e in Cr||(A[e]=c[e]),A)),{})),i),{fields:s,splitter:t,commands:[...i,...o]}}function lr(){return{log(...A){const e=mA(arguments),t=Ir(wA(arguments),oA(arguments[0],AA)),r=function(A,e){return eA(A)&&eA(e)&&qA("git.log(string, string) should be replaced with git.log({ from: string, to: string })")}(...A)||hr(t.commands)||function(A){return function(A,e,t){const r=cr(A,e,qt(t)) +return tA(A.file)&&i.push("--follow",u(A.file)),yA((c=A,Object.keys(c).reduce(((A,e)=>(e in Br||(A[e]=c[e]),A)),{})),i),{fields:s,splitter:t,commands:[...i,...o]}}function ur(){return{log(...A){const e=RA(arguments),t=lr(mA(arguments),q(oA(arguments[0],AA,[]))),r=function(A,e){return tA(A)&&tA(e)&&jA("git.log(string, string) should be replaced with git.log({ from: string, to: string })")}(...A)||Cr(t.commands)||function(A){return function(A,e,t){const r=gr(A,e,jt(t)) return{commands:["log",...t],format:"utf-8",parser:r}}(A.splitter,A.fields,A.commands)}(t) -return this._runTask(r,e)}}}var ur,dr,fr,pr,yr,wr=Q({"src/lib/tasks/log.ts"(){er(),N(),gr(),UA(),re(),Br(),Cr=(A=>(A[A["--pretty"]=0]="--pretty",A[A["max-count"]=1]="max-count",A[A.maxCount=2]="maxCount",A[A.n=3]="n",A[A.file=4]="file",A[A.format=5]="format",A[A.from=6]="from",A[A.to=7]="to",A[A.splitter=8]="splitter",A[A.symmetric=9]="symmetric",A[A.mailMap=10]="mailMap",A[A.multiLine=11]="multiLine",A[A.strictDate=12]="strictDate",A))(Cr||{})}}),mr=Q({"src/lib/responses/MergeSummary.ts"(){ur=class{constructor(A,e=null,t){this.reason=A,this.file=e,this.meta=t}toString(){return`${this.file}:${this.reason}`}},dr=class{constructor(){this.conflicts=[],this.merges=[],this.result="success"}get failed(){return this.conflicts.length>0}get reason(){return this.result}toString(){return this.conflicts.length?`CONFLICTS: ${this.conflicts.join(", ")}`:"OK"}}}}),Rr=Q({"src/lib/responses/PullSummary.ts"(){fr=class{constructor(){this.remoteMessages={all:[]},this.created=[],this.deleted=[],this.files=[],this.deletions={},this.insertions={},this.summary={changes:0,deletions:0,insertions:0}}},pr=class{constructor(){this.remote="",this.hash={local:"",remote:""},this.branch={local:"",remote:""},this.message=""}toString(){return this.message}}}}) -function Dr(A){return A.objects=A.objects||{compressing:0,counting:0,enumerating:0,packReused:0,reused:{count:0,delta:0},total:{count:0,delta:0}}}function kr(A){const e=/^\s*(\d+)/.exec(A),t=/delta (\d+)/i.exec(A) -return{count:j(e&&e[1]||"0"),delta:j(t&&t[1]||"0")}}var br,Nr,Fr=Q({"src/lib/parsers/parse-remote-objects.ts"(){UA(),yr=[new hA(/^remote:\s*(enumerating|counting|compressing) objects: (\d+),/i,((A,[e,t])=>{const r=e.toLowerCase(),s=Dr(A.remoteMessages) -Object.assign(s,{[r]:j(t)})})),new hA(/^remote:\s*(enumerating|counting|compressing) objects: \d+% \(\d+\/(\d+)\),/i,((A,[e,t])=>{const r=e.toLowerCase(),s=Dr(A.remoteMessages) -Object.assign(s,{[r]:j(t)})})),new hA(/total ([^,]+), reused ([^,]+), pack-reused (\d+)/i,((A,[e,t,r])=>{const s=Dr(A.remoteMessages) -s.total=kr(e),s.reused=kr(t),s.packReused=j(r)}))]}}) -function Sr(A,e){return kA({remoteMessages:new Nr},br,e)}var Lr,Ur,Mr,vr,Tr,Yr,Gr=Q({"src/lib/parsers/parse-remote-messages.ts"(){UA(),Fr(),br=[new hA(/^remote:\s*(.+)$/,((A,[e])=>(A.remoteMessages.all.push(e.trim()),!1))),...yr,new hA([/create a (?:pull|merge) request/i,/\s(https?:\/\/\S+)$/],((A,[e])=>{A.remoteMessages.pullRequestUrl=e})),new hA([/found (\d+) vulnerabilities.+\(([^)]+)\)/i,/\s(https?:\/\/\S+)$/],((A,[e,t,r])=>{A.remoteMessages.vulnerabilities={count:j(e),summary:t,url:r}}))],Nr=class{constructor(){this.all=[]}}}}) -var Jr,Or,xr,Hr=Q({"src/lib/parsers/parse-pull.ts"(){Rr(),UA(),Gr(),Lr=/(\d+)\D+((\d+)\D+\(\+\))?(\D+(\d+)\D+\(-\))?/,Ur=/^(create|delete) mode \d+ (.+)/,Mr=[new QA(/^\s*(.+?)\s+\|\s+\d+\s*(\+*)(-*)/,((A,[e,t,r])=>{A.files.push(e),t&&(A.insertions[e]=t.length),r&&(A.deletions[e]=r.length)})),new QA(Lr,((A,[e,,t,,r])=>(void 0!==t||void 0!==r)&&(A.summary.changes=+e||0,A.summary.insertions=+t||0,A.summary.deletions=+r||0,!0))),new QA(Ur,((A,[e,t])=>{H(A.files,t),H("create"===e?A.created:A.deleted,t)}))],vr=[new QA(/^from\s(.+)$/i,((A,[e])=>{A.remote=e})),new QA(/^fatal:\s(.+)$/,((A,[e])=>{A.message=e})),new QA(/([a-z0-9]+)\.\.([a-z0-9]+)\s+(\S+)\s+->\s+(\S+)$/,((A,[e,t,r,s])=>{A.branch.local=r,A.hash.local=e,A.branch.remote=s,A.hash.remote=t}))],Tr=(A,e)=>kA(new fr,Mr,[A,e]),Yr=(A,e)=>Object.assign(new fr,Tr(A,e),Sr(0,e))}}),Vr=Q({"src/lib/parsers/parse-merge.ts"(){mr(),UA(),Hr(),Jr=[new QA(/^Auto-merging\s+(.+)$/,((A,[e])=>{A.merges.push(e)})),new QA(/^CONFLICT\s+\((.+)\): Merge conflict in (.+)$/,((A,[e,t])=>{A.conflicts.push(new ur(e,t))})),new QA(/^CONFLICT\s+\((.+\/delete)\): (.+) deleted in (.+) and/,((A,[e,t,r])=>{A.conflicts.push(new ur(e,t,{deleteRef:r}))})),new QA(/^CONFLICT\s+\((.+)\):/,((A,[e])=>{A.conflicts.push(new ur(e,null))})),new QA(/^Automatic merge failed;\s+(.+)$/,((A,[e])=>{A.result=e}))],Or=(A,e)=>Object.assign(xr(A,e),Yr(A,e)),xr=A=>kA(new dr,Jr,A)}}) -function Pr(A){return A.length?{commands:["merge",...A],format:"utf-8",parser(A,e){const t=Or(A,e) +return this._runTask(r,e)}}}var dr,fr,pr,yr,wr,mr=Q({"src/lib/tasks/log.ts"(){tr(),N(),Er(),MA(),se(),Ir(),Br=(A=>(A[A["--pretty"]=0]="--pretty",A[A["max-count"]=1]="max-count",A[A.maxCount=2]="maxCount",A[A.n=3]="n",A[A.file=4]="file",A[A.format=5]="format",A[A.from=6]="from",A[A.to=7]="to",A[A.splitter=8]="splitter",A[A.symmetric=9]="symmetric",A[A.mailMap=10]="mailMap",A[A.multiLine=11]="multiLine",A[A.strictDate=12]="strictDate",A))(Br||{})}}),Rr=Q({"src/lib/responses/MergeSummary.ts"(){dr=class{constructor(A,e=null,t){this.reason=A,this.file=e,this.meta=t}toString(){return`${this.file}:${this.reason}`}},fr=class{constructor(){this.conflicts=[],this.merges=[],this.result="success"}get failed(){return this.conflicts.length>0}get reason(){return this.result}toString(){return this.conflicts.length?`CONFLICTS: ${this.conflicts.join(", ")}`:"OK"}}}}),Dr=Q({"src/lib/responses/PullSummary.ts"(){pr=class{constructor(){this.remoteMessages={all:[]},this.created=[],this.deleted=[],this.files=[],this.deletions={},this.insertions={},this.summary={changes:0,deletions:0,insertions:0}}},yr=class{constructor(){this.remote="",this.hash={local:"",remote:""},this.branch={local:"",remote:""},this.message=""}toString(){return this.message}}}}) +function kr(A){return A.objects=A.objects||{compressing:0,counting:0,enumerating:0,packReused:0,reused:{count:0,delta:0},total:{count:0,delta:0}}}function br(A){const e=/^\s*(\d+)/.exec(A),t=/delta (\d+)/i.exec(A) +return{count:j(e&&e[1]||"0"),delta:j(t&&t[1]||"0")}}var Nr,Fr,Sr=Q({"src/lib/parsers/parse-remote-objects.ts"(){MA(),wr=[new hA(/^remote:\s*(enumerating|counting|compressing) objects: (\d+),/i,((A,[e,t])=>{const r=e.toLowerCase(),s=kr(A.remoteMessages) +Object.assign(s,{[r]:j(t)})})),new hA(/^remote:\s*(enumerating|counting|compressing) objects: \d+% \(\d+\/(\d+)\),/i,((A,[e,t])=>{const r=e.toLowerCase(),s=kr(A.remoteMessages) +Object.assign(s,{[r]:j(t)})})),new hA(/total ([^,]+), reused ([^,]+), pack-reused (\d+)/i,((A,[e,t,r])=>{const s=kr(A.remoteMessages) +s.total=br(e),s.reused=br(t),s.packReused=j(r)}))]}}) +function Lr(A,e){return bA({remoteMessages:new Fr},Nr,e)}var Ur,Mr,vr,Tr,Yr,Gr,Jr=Q({"src/lib/parsers/parse-remote-messages.ts"(){MA(),Sr(),Nr=[new hA(/^remote:\s*(.+)$/,((A,[e])=>(A.remoteMessages.all.push(e.trim()),!1))),...wr,new hA([/create a (?:pull|merge) request/i,/\s(https?:\/\/\S+)$/],((A,[e])=>{A.remoteMessages.pullRequestUrl=e})),new hA([/found (\d+) vulnerabilities.+\(([^)]+)\)/i,/\s(https?:\/\/\S+)$/],((A,[e,t,r])=>{A.remoteMessages.vulnerabilities={count:j(e),summary:t,url:r}}))],Fr=class{constructor(){this.all=[]}}}}) +var Or,xr,Hr,Vr=Q({"src/lib/parsers/parse-pull.ts"(){Dr(),MA(),Jr(),Ur=/(\d+)\D+((\d+)\D+\(\+\))?(\D+(\d+)\D+\(-\))?/,Mr=/^(create|delete) mode \d+ (.+)/,vr=[new QA(/^\s*(.+?)\s+\|\s+\d+\s*(\+*)(-*)/,((A,[e,t,r])=>{A.files.push(e),t&&(A.insertions[e]=t.length),r&&(A.deletions[e]=r.length)})),new QA(Ur,((A,[e,,t,,r])=>(void 0!==t||void 0!==r)&&(A.summary.changes=+e||0,A.summary.insertions=+t||0,A.summary.deletions=+r||0,!0))),new QA(Mr,((A,[e,t])=>{H(A.files,t),H("create"===e?A.created:A.deleted,t)}))],Tr=[new QA(/^from\s(.+)$/i,((A,[e])=>{A.remote=e})),new QA(/^fatal:\s(.+)$/,((A,[e])=>{A.message=e})),new QA(/([a-z0-9]+)\.\.([a-z0-9]+)\s+(\S+)\s+->\s+(\S+)$/,((A,[e,t,r,s])=>{A.branch.local=r,A.hash.local=e,A.branch.remote=s,A.hash.remote=t}))],Yr=(A,e)=>bA(new pr,vr,[A,e]),Gr=(A,e)=>Object.assign(new pr,Yr(A,e),Lr(0,e))}}),Pr=Q({"src/lib/parsers/parse-merge.ts"(){Rr(),MA(),Vr(),Or=[new QA(/^Auto-merging\s+(.+)$/,((A,[e])=>{A.merges.push(e)})),new QA(/^CONFLICT\s+\((.+)\): Merge conflict in (.+)$/,((A,[e,t])=>{A.conflicts.push(new dr(e,t))})),new QA(/^CONFLICT\s+\((.+\/delete)\): (.+) deleted in (.+) and/,((A,[e,t,r])=>{A.conflicts.push(new dr(e,t,{deleteRef:r}))})),new QA(/^CONFLICT\s+\((.+)\):/,((A,[e])=>{A.conflicts.push(new dr(e,null))})),new QA(/^Automatic merge failed;\s+(.+)$/,((A,[e])=>{A.result=e}))],xr=(A,e)=>Object.assign(Hr(A,e),Gr(A,e)),Hr=A=>bA(new fr,Or,A)}}) +function _r(A){return A.length?{commands:["merge",...A],format:"utf-8",parser(A,e){const t=xr(A,e) if(t.failed)throw new s(t) -return t}}:qA("Git.merge requires at least one option")}var _r,Wr,qr,jr=Q({"src/lib/tasks/merge.ts"(){l(),Vr(),re()}}) -var Xr=Q({"src/lib/parsers/parse-push.ts"(){UA(),Gr(),_r=[new QA(/^Pushing to (.+)$/,((A,[e])=>{A.repo=e})),new QA(/^updating local tracking ref '(.+)'/,((A,[e])=>{A.ref={...A.ref||{},local:e}})),new QA(/^[=*-]\s+([^:]+):(\S+)\s+\[(.+)]$/,((A,[e,t,r])=>{A.pushed.push(function(A,e,t){const r=t.includes("deleted"),s=t.includes("tag")||/^refs\/tags/.test(A),n=!t.includes("new") -return{deleted:r,tag:s,branch:!s,new:!n,alreadyUpdated:n,local:A,remote:e}}(e,t,r))})),new QA(/^Branch '([^']+)' set up to track remote branch '([^']+)' from '([^']+)'/,((A,[e,t,r])=>{A.branch={...A.branch||{},local:e,remote:t,remoteName:r}})),new QA(/^([^:]+):(\S+)\s+([a-z0-9]+)\.\.([a-z0-9]+)$/,((A,[e,t,r,s])=>{A.update={head:{local:e,remote:t},hash:{from:r,to:s}}}))],Wr=(A,e)=>({...qr(A,e),...Sr(0,e)}),qr=(A,e)=>kA({pushed:[]},_r,[A,e])}}),Zr={} -function Kr(A={},e){return H(e,"--tags"),zr(A,e)}function zr(A={},e){const t=["push",...e] -return A.branch&&t.splice(1,0,A.branch),A.remote&&t.splice(1,0,A.remote),P(t,"-v"),H(t,"--verbose"),H(t,"--porcelain"),{commands:t,format:"utf-8",parser:Wr}}h(Zr,{pushTagsTask:()=>Kr,pushTask:()=>zr}) -var $r=Q({"src/lib/tasks/push.ts"(){Xr(),UA()}}) -var As,es,ts,rs,ss,ns=Q({"src/lib/tasks/show.ts"(){UA(),re()}}),os=Q({"src/lib/responses/FileStatusSummary.ts"(){As=/^(.+)\0(.+)$/,es=class{constructor(A,e,t){if(this.path=A,this.index=e,this.working_dir=t,"R"===e||"R"===t){const e=As.exec(A)||[null,A,A] +return t}}:jA("Git.merge requires at least one option")}var Wr,qr,jr,Xr=Q({"src/lib/tasks/merge.ts"(){l(),Pr(),se()}}) +var Zr=Q({"src/lib/parsers/parse-push.ts"(){MA(),Jr(),Wr=[new QA(/^Pushing to (.+)$/,((A,[e])=>{A.repo=e})),new QA(/^updating local tracking ref '(.+)'/,((A,[e])=>{A.ref={...A.ref||{},local:e}})),new QA(/^[=*-]\s+([^:]+):(\S+)\s+\[(.+)]$/,((A,[e,t,r])=>{A.pushed.push(function(A,e,t){const r=t.includes("deleted"),s=t.includes("tag")||/^refs\/tags/.test(A),n=!t.includes("new") +return{deleted:r,tag:s,branch:!s,new:!n,alreadyUpdated:n,local:A,remote:e}}(e,t,r))})),new QA(/^Branch '([^']+)' set up to track remote branch '([^']+)' from '([^']+)'/,((A,[e,t,r])=>{A.branch={...A.branch||{},local:e,remote:t,remoteName:r}})),new QA(/^([^:]+):(\S+)\s+([a-z0-9]+)\.\.([a-z0-9]+)$/,((A,[e,t,r,s])=>{A.update={head:{local:e,remote:t},hash:{from:r,to:s}}}))],qr=(A,e)=>({...jr(A,e),...Lr(0,e)}),jr=(A,e)=>bA({pushed:[]},Wr,[A,e])}}),Kr={} +function zr(A={},e){return H(e,"--tags"),$r(A,e)}function $r(A={},e){const t=["push",...e] +return A.branch&&t.splice(1,0,A.branch),A.remote&&t.splice(1,0,A.remote),P(t,"-v"),H(t,"--verbose"),H(t,"--porcelain"),{commands:t,format:"utf-8",parser:qr}}h(Kr,{pushTagsTask:()=>zr,pushTask:()=>$r}) +var As=Q({"src/lib/tasks/push.ts"(){Zr(),MA()}}) +var es,ts,rs,ss,ns,os=Q({"src/lib/tasks/show.ts"(){MA(),se()}}),is=Q({"src/lib/responses/FileStatusSummary.ts"(){es=/^(.+)\0(.+)$/,ts=class{constructor(A,e,t){if(this.path=A,this.index=e,this.working_dir=t,"R"===e||"R"===t){const e=es.exec(A)||[null,A,A] this.from=e[2]||"",this.path=e[1]||""}}}}}) -function is(A){const[e,t]=A.split(D) -return{from:t||e,to:e}}function as(A,e,t){return[`${A}${e}`,t]}function cs(A,...e){return e.map((e=>as(A,e,((A,e)=>H(A.conflicted,e)))))}function gs(A,e){const t=e.trim() +function as(A){const[e,t]=A.split(D) +return{from:t||e,to:e}}function cs(A,e,t){return[`${A}${e}`,t]}function gs(A,...e){return e.map((e=>cs(A,e,((A,e)=>H(A.conflicted,e)))))}function Es(A,e){const t=e.trim() switch(" "){case t.charAt(2):return r(t.charAt(0),t.charAt(1),t.substr(3)) case t.charAt(1):return r(" ",t.charAt(0),t.substr(2)) -default:return}function r(e,t,r){const s=`${e}${t}`,n=rs.get(s) -n&&n(A,r),"##"!==s&&"!!"!==s&&A.files.push(new es(r,e,t))}}var Es,Qs=Q({"src/lib/responses/StatusSummary.ts"(){UA(),os(),ts=class{constructor(){this.not_added=[],this.conflicted=[],this.created=[],this.deleted=[],this.ignored=void 0,this.modified=[],this.renamed=[],this.files=[],this.staged=[],this.ahead=0,this.behind=0,this.current=null,this.tracking=null,this.detached=!1,this.isClean=()=>!this.files.length}},rs=new Map([as(" ","A",((A,e)=>H(A.created,e))),as(" ","D",((A,e)=>H(A.deleted,e))),as(" ","M",((A,e)=>H(A.modified,e))),as("A"," ",((A,e)=>H(A.created,e)&&H(A.staged,e))),as("A","M",((A,e)=>H(A.created,e)&&H(A.staged,e)&&H(A.modified,e))),as("D"," ",((A,e)=>H(A.deleted,e)&&H(A.staged,e))),as("M"," ",((A,e)=>H(A.modified,e)&&H(A.staged,e))),as("M","M",((A,e)=>H(A.modified,e)&&H(A.staged,e))),as("R"," ",((A,e)=>{H(A.renamed,is(e))})),as("R","M",((A,e)=>{const t=is(e) -H(A.renamed,t),H(A.modified,t.to)})),as("!","!",((A,e)=>{H(A.ignored=A.ignored||[],e)})),as("?","?",((A,e)=>H(A.not_added,e))),...cs("A","A","U"),...cs("D","D","U"),...cs("U","A","D","U"),["##",(A,e)=>{let t -t=/ahead (\d+)/.exec(e),A.ahead=t&&+t[1]||0,t=/behind (\d+)/.exec(e),A.behind=t&&+t[1]||0,t=/^(.+?(?=(?:\.{3}|\s|$)))/.exec(e),A.current=t&&t[1],t=/\.{3}(\S*)/.exec(e),A.tracking=t&&t[1],t=/\son\s([\S]+)$/.exec(e),A.current=t&&t[1]||A.current,A.detached=/\(no branch\)/.test(e)}]]),ss=function(A){const e=A.split(D),t=new ts +default:return}function r(e,t,r){const s=`${e}${t}`,n=ss.get(s) +n&&n(A,r),"##"!==s&&"!!"!==s&&A.files.push(new ts(r,e,t))}}var Qs,hs=Q({"src/lib/responses/StatusSummary.ts"(){MA(),is(),rs=class{constructor(){this.not_added=[],this.conflicted=[],this.created=[],this.deleted=[],this.ignored=void 0,this.modified=[],this.renamed=[],this.files=[],this.staged=[],this.ahead=0,this.behind=0,this.current=null,this.tracking=null,this.detached=!1,this.isClean=()=>!this.files.length}},ss=new Map([cs(" ","A",((A,e)=>H(A.created,e))),cs(" ","D",((A,e)=>H(A.deleted,e))),cs(" ","M",((A,e)=>H(A.modified,e))),cs("A"," ",((A,e)=>H(A.created,e)&&H(A.staged,e))),cs("A","M",((A,e)=>H(A.created,e)&&H(A.staged,e)&&H(A.modified,e))),cs("D"," ",((A,e)=>H(A.deleted,e)&&H(A.staged,e))),cs("M"," ",((A,e)=>H(A.modified,e)&&H(A.staged,e))),cs("M","M",((A,e)=>H(A.modified,e)&&H(A.staged,e))),cs("R"," ",((A,e)=>{H(A.renamed,as(e))})),cs("R","M",((A,e)=>{const t=as(e) +H(A.renamed,t),H(A.modified,t.to)})),cs("!","!",((A,e)=>{H(A.ignored=A.ignored||[],e)})),cs("?","?",((A,e)=>H(A.not_added,e))),...gs("A","A","U"),...gs("D","D","U"),...gs("U","A","D","U"),["##",(A,e)=>{let t=/ahead (\d+)/.exec(e) +A.ahead=t&&+t[1]||0,t=/behind (\d+)/.exec(e),A.behind=t&&+t[1]||0,t=/^(.+?(?=(?:\.{3}|\s|$)))/.exec(e),A.current=oA(t?.[1],tA,null),t=/\.{3}(\S*)/.exec(e),A.tracking=oA(t?.[1],tA,null),t=/\son\s(\S+?)(?=\.{3}|$)/.exec(e),t&&(A.current=oA(t?.[1],tA,A.current)),A.detached=/\(no branch\)/.test(e)}]]),ns=function(A){const e=A.split(D),t=new rs for(let A=0,r=e.length;A{Object.assign(A,Is(j(e),j(t),j(r),s))})),new QA(/version (\d+)\.(\d+)\.(\D+)(.+)?$/,((A,[e,t,r,s=""])=>{Object.assign(A,Is(j(e),j(t),r,s))}))]}}),fs={} -h(fs,{SimpleGitApi:()=>us}) -var ps,ys,ws,ms=Q({"src/lib/simple-git-api.ts"(){Rt(),kt(),Ft(),Lt(),Tt(),de(),Yt(),Ne(),xt(),Wt(),wr(),jr(),$r(),ns(),Bs(),re(),ds(),UA(),us=class{constructor(A){this._executor=A}_runTask(A,e){const t=this._executor.chain(),r=t.push(A) -return e&&mt(A,r,e),Object.create(this,{then:{value:r.then.bind(r)},catch:{value:r.catch.bind(r)},_executor:{value:t}})}add(A){return this._runTask(jA(["add",..._(A)]),mA(arguments))}cwd(A){const e=mA(arguments) -return"string"==typeof A?this._runTask(Dt(A,this._executor),e):"string"==typeof A?.path?this._runTask(Dt(A.path,A.root&&this._executor||void 0),e):this._runTask(qA("Git.cwd: workingDirectory must be supplied as a string"),e)}hashObject(A,e){return this._runTask(function(A,e){const t=["hash-object",A] -return e&&t.push("-w"),jA(t,!0)}(A,!0===e),mA(arguments))}init(A){return this._runTask(Pt(!0===A,this._executor.cwd,yA(arguments)),mA(arguments))}merge(){return this._runTask(Pr(yA(arguments)),mA(arguments))}mergeFromTo(A,e){return eA(A)&&eA(e)?this._runTask(Pr([A,e,...yA(arguments)]),mA(arguments,!1)):this._runTask(qA("Git.mergeFromTo requires that the 'remote' and 'branch' arguments are supplied as strings"))}outputHandler(A){return this._executor.outputHandler=A,this}push(){const A=zr({remote:oA(arguments[0],eA),branch:oA(arguments[1],eA)},yA(arguments)) -return this._runTask(A,mA(arguments))}stash(){return this._runTask(jA(["stash",...yA(arguments)]),mA(arguments))}status(){return this._runTask({format:"utf-8",commands:["status","--porcelain","-b","-u","--null",...yA(arguments).filter((A=>!Es.includes(A)))],parser:A=>ss(A)},mA(arguments))}},Object.assign(us.prototype,{checkout(){return this._runTask(bt(yA(arguments,1)),mA(arguments))},checkoutBranch(A,e){return this._runTask(bt(["-b",A,e,...yA(arguments)]),mA(arguments))},checkoutLocalBranch(A){return this._runTask(bt(["-b",A,...yA(arguments)]),mA(arguments))}},vt(),{addConfig(A,e,...t){return this._runTask(function(A,e,t,r){const s=["config",`--${r}`] -return t&&s.push("--add"),s.push(A,e),{commands:s,format:"utf-8",parser:A=>A}}(A,e,!0===t[0],Ce(t[1],"local")),mA(arguments))},getConfig(A,e){return this._runTask(Be(A,Ce(e,void 0)),mA(arguments))},listConfig(...A){return this._runTask(Ie(Ce(A[0],void 0)),mA(arguments))}},{countObjects(){return this._runTask({commands:["count-objects","--verbose"],format:"utf-8",parser:A=>kA({count:0,garbage:0,inPack:0,packs:0,prunePackable:0,size:0,sizeGarbage:0,sizePack:0},[Nt],A)})}},{firstCommit(){return this._runTask(jA(["rev-list","--max-parents=0","HEAD"],!0),mA(arguments))}},De(),lr(),{showBuffer(){const A=["show",...yA(arguments,1)] -return A.includes("--binary")||A.splice(1,0,"--binary"),this._runTask(XA(A),mA(arguments))},show(){const A=["show",...yA(arguments,1)] -return this._runTask(jA(A),mA(arguments))}},{version(){return this._runTask({commands:["--version"],format:"utf-8",parser:ls,onError(A,e,t,r){if(-2===A.exitCode)return t(Buffer.from(hs)) -r(e)}})}})}}),Rs={} -h(Rs,{Scheduler:()=>ws}) -var Ds=Q({"src/lib/runners/scheduler.ts"(){UA(),ps=t(8100),It(),ys=(()=>{let A=0 +r&&("R"===r.charAt(0)&&(r+=D+(e[A++]||"")),Es(t,r))}return t}}}) +var Cs,Bs,Is=Q({"src/lib/tasks/status.ts"(){hs(),Qs=["--null","-z"]}}) +function ls(A=0,e=0,t=0,r="",s=!0){return Object.defineProperty({major:A,minor:e,patch:t,agent:r,installed:s},"toString",{value(){return`${this.major}.${this.minor}.${this.patch}`},configurable:!1,enumerable:!1})}function us(A){return A===Cs?ls(0,0,0,"",!1):bA(ls(0,0,0,A),Bs,A)}var ds,fs=Q({"src/lib/tasks/version.ts"(){MA(),Cs="installed=false",Bs=[new QA(/version (\d+)\.(\d+)\.(\d+)(?:\s*\((.+)\))?/,((A,[e,t,r,s=""])=>{Object.assign(A,ls(j(e),j(t),j(r),s))})),new QA(/version (\d+)\.(\d+)\.(\D+)(.+)?$/,((A,[e,t,r,s=""])=>{Object.assign(A,ls(j(e),j(t),r,s))}))]}}),ps={} +h(ps,{SimpleGitApi:()=>ds}) +var ys,ws,ms,Rs=Q({"src/lib/simple-git-api.ts"(){Dt(),bt(),St(),Ut(),Yt(),fe(),Gt(),Fe(),Ht(),qt(),mr(),Xr(),As(),os(),Is(),se(),fs(),MA(),ds=class{constructor(A){this._executor=A}_runTask(A,e){const t=this._executor.chain(),r=t.push(A) +return e&&Rt(A,r,e),Object.create(this,{then:{value:r.then.bind(r)},catch:{value:r.catch.bind(r)},_executor:{value:t}})}add(A){return this._runTask(XA(["add",..._(A)]),RA(arguments))}cwd(A){const e=RA(arguments) +return"string"==typeof A?this._runTask(kt(A,this._executor),e):"string"==typeof A?.path?this._runTask(kt(A.path,A.root&&this._executor||void 0),e):this._runTask(jA("Git.cwd: workingDirectory must be supplied as a string"),e)}hashObject(A,e){return this._runTask(function(A,e){const t=["hash-object",A] +return e&&t.push("-w"),XA(t,!0)}(A,!0===e),RA(arguments))}init(A){return this._runTask(_t(!0===A,this._executor.cwd,wA(arguments)),RA(arguments))}merge(){return this._runTask(_r(wA(arguments)),RA(arguments))}mergeFromTo(A,e){return tA(A)&&tA(e)?this._runTask(_r([A,e,...wA(arguments)]),RA(arguments,!1)):this._runTask(jA("Git.mergeFromTo requires that the 'remote' and 'branch' arguments are supplied as strings"))}outputHandler(A){return this._executor.outputHandler=A,this}push(){const A=$r({remote:oA(arguments[0],tA),branch:oA(arguments[1],tA)},wA(arguments)) +return this._runTask(A,RA(arguments))}stash(){return this._runTask(XA(["stash",...wA(arguments)]),RA(arguments))}status(){return this._runTask({format:"utf-8",commands:["status","--porcelain","-b","-u","--null",...wA(arguments).filter((A=>!Qs.includes(A)))],parser:A=>ns(A)},RA(arguments))}},Object.assign(ds.prototype,{checkout(){return this._runTask(Nt(wA(arguments,1)),RA(arguments))},checkoutBranch(A,e){return this._runTask(Nt(["-b",A,e,...wA(arguments)]),RA(arguments))},checkoutLocalBranch(A){return this._runTask(Nt(["-b",A,...wA(arguments)]),RA(arguments))}},Tt(),{addConfig(A,e,...t){return this._runTask(function(A,e,t,r){const s=["config",`--${r}`] +return t&&s.push("--add"),s.push(A,e),{commands:s,format:"utf-8",parser:A=>A}}(A,e,!0===t[0],Be(t[1],"local")),RA(arguments))},getConfig(A,e){return this._runTask(Ie(A,Be(e,void 0)),RA(arguments))},listConfig(...A){return this._runTask(le(Be(A[0],void 0)),RA(arguments))}},{countObjects(){return this._runTask({commands:["count-objects","--verbose"],format:"utf-8",parser:A=>bA({count:0,garbage:0,inPack:0,packs:0,prunePackable:0,size:0,sizeGarbage:0,sizePack:0},[Ft],A)})}},{firstCommit(){return this._runTask(XA(["rev-list","--max-parents=0","HEAD"],!0),RA(arguments))}},ke(),ur(),{showBuffer(){const A=["show",...wA(arguments,1)] +return A.includes("--binary")||A.splice(1,0,"--binary"),this._runTask(ZA(A),RA(arguments))},show(){const A=["show",...wA(arguments,1)] +return this._runTask(XA(A),RA(arguments))}},{version(){return this._runTask({commands:["--version"],format:"utf-8",parser:us,onError(A,e,t,r){if(-2===A.exitCode)return t(Buffer.from(Cs)) +r(e)}})}})}}),Ds={} +h(Ds,{Scheduler:()=>ms}) +var ks=Q({"src/lib/runners/scheduler.ts"(){MA(),ys=t(8100),lt(),ws=(()=>{let A=0 return()=>{A++ -const{promise:e,done:t}=(0,ps.createDeferred)() -return{promise:e,done:t,id:A}}})(),ws=class{constructor(A=2){this.concurrency=A,this.logger=Qt("","scheduler"),this.pending=[],this.running=[],this.logger("Constructed, concurrency=%s",A)}schedule(){if(!this.pending.length||this.running.length>=this.concurrency)return void this.logger("Schedule attempt ignored, pending=%s running=%s concurrency=%s",this.pending.length,this.running.length,this.concurrency) +const{promise:e,done:t}=(0,ys.createDeferred)() +return{promise:e,done:t,id:A}}})(),ms=class{constructor(A=2){this.concurrency=A,this.logger=ht("","scheduler"),this.pending=[],this.running=[],this.logger("Constructed, concurrency=%s",A)}schedule(){if(!this.pending.length||this.running.length>=this.concurrency)return void this.logger("Schedule attempt ignored, pending=%s running=%s concurrency=%s",this.pending.length,this.running.length,this.concurrency) const A=H(this.running,this.pending.shift()) -this.logger("Attempting id=%s",A.id),A.done((()=>{this.logger("Completing id=",A.id),P(this.running,A),this.schedule()}))}next(){const{promise:A,id:e}=H(this.pending,ys()) -return this.logger("Scheduling id=%s",e),this.schedule(),A}}}}),ks={} -function bs(A,e){return jA(["apply",...e,...A])}h(ks,{applyPatchTask:()=>bs}) -var Ns,Fs=Q({"src/lib/tasks/apply-patch.ts"(){re()}}) -var Ss,Ls,Us,Ms=Q({"src/lib/responses/BranchDeleteSummary.ts"(){Ns=class{constructor(){this.all=[],this.branches={},this.errors=[]}get success(){return!this.errors.length}}}}) -function vs(A,e){return 1===e&&Ss.test(A)}var Ts,Ys,Gs=Q({"src/lib/parsers/parse-branch-delete.ts"(){Ms(),UA(),Ss=/^error[^']+'([^']+)'/m,Ls=[new QA(/(\S+)\s+\(\S+\s([^)]+)\)/,((A,[e,t])=>{const r=function(A,e){return{branch:A,hash:e,success:!0}}(e,t) -A.all.push(r),A.branches[e]=r})),new QA(Ss,((A,[e])=>{const t=function(A){return{branch:A,hash:null,success:!1}}(e) -A.errors.push(t),A.all.push(t),A.branches[e]=t}))],Us=(A,e)=>kA(new Ns,Ls,[A,e])}}),Js=Q({"src/lib/responses/BranchSummary.ts"(){Ts=class{constructor(){this.all=[],this.branches={},this.current="",this.detached=!1}push(A,e,t,r,s){"*"===A&&(this.detached=e,this.current=t),this.all.push(t),this.branches[t]={current:"*"===A,linkedWorkTree:"+"===A,name:t,commit:r,label:s}}}}}) -function Os(A){return A?A.charAt(0):""}function xs(A){return kA(new Ts,Ys,A)}var Hs=Q({"src/lib/parsers/parse-branch.ts"(){Js(),UA(),Ys=[new QA(/^([*+]\s)?\((?:HEAD )?detached (?:from|at) (\S+)\)\s+([a-z0-9]+)\s(.*)$/,((A,[e,t,r,s])=>{A.push(Os(e),!0,t,r,s)})),new QA(/^([*+]\s)?(\S+)\s+([a-z0-9]+)\s?(.*)$/s,((A,[e,t,r,s])=>{A.push(Os(e),!1,t,r,s)}))]}}),Vs={} -function Ps(A){const e=["-d","-D","--delete"] -return A.some((A=>e.includes(A)))}function _s(A){const e=Ps(A),t=["branch",...A] -return 1===t.length&&t.push("-a"),t.includes("-v")||t.splice(1,0,"-v"),{format:"utf-8",commands:t,parser:(A,t)=>e?Us(A,t).all[0]:xs(A)}}function Ws(){return{format:"utf-8",commands:["branch","-v"],parser:xs}}function qs(A,e=!1){return{format:"utf-8",commands:["branch","-v",e?"-D":"-d",...A],parser:(A,e)=>Us(A,e),onError({exitCode:A,stdOut:e},t,r,s){if(!vs(String(t),A))return s(t) -r(e)}}}function js(A,e=!1){const t={format:"utf-8",commands:["branch","-v",e?"-D":"-d",A],parser:(e,t)=>Us(e,t).branches[A],onError({exitCode:A,stdErr:e,stdOut:r},n,o,i){if(!vs(String(n),A))return i(n) +this.logger("Attempting id=%s",A.id),A.done((()=>{this.logger("Completing id=",A.id),P(this.running,A),this.schedule()}))}next(){const{promise:A,id:e}=H(this.pending,ws()) +return this.logger("Scheduling id=%s",e),this.schedule(),A}}}}),bs={} +function Ns(A,e){return XA(["apply",...e,...A])}h(bs,{applyPatchTask:()=>Ns}) +var Fs,Ss=Q({"src/lib/tasks/apply-patch.ts"(){se()}}) +var Ls,Us,Ms,vs=Q({"src/lib/responses/BranchDeleteSummary.ts"(){Fs=class{constructor(){this.all=[],this.branches={},this.errors=[]}get success(){return!this.errors.length}}}}) +function Ts(A,e){return 1===e&&Ls.test(A)}var Ys,Gs,Js,Os=Q({"src/lib/parsers/parse-branch-delete.ts"(){vs(),MA(),Ls=/^error[^']+'([^']+)'/m,Us=[new QA(/(\S+)\s+\(\S+\s([^)]+)\)/,((A,[e,t])=>{const r=function(A,e){return{branch:A,hash:e,success:!0}}(e,t) +A.all.push(r),A.branches[e]=r})),new QA(Ls,((A,[e])=>{const t=function(A){return{branch:A,hash:null,success:!1}}(e) +A.errors.push(t),A.all.push(t),A.branches[e]=t}))],Ms=(A,e)=>bA(new Fs,Us,[A,e])}}),xs=Q({"src/lib/responses/BranchSummary.ts"(){Ys=class{constructor(){this.all=[],this.branches={},this.current="",this.detached=!1}push(A,e,t,r,s){"*"===A&&(this.detached=e,this.current=t),this.all.push(t),this.branches[t]={current:"*"===A,linkedWorkTree:"+"===A,name:t,commit:r,label:s}}}}}) +function Hs(A){return A?A.charAt(0):""}function Vs(A,e=!1){return bA(new Ys,e?[Js]:Gs,A)}var Ps=Q({"src/lib/parsers/parse-branch.ts"(){xs(),MA(),Gs=[new QA(/^([*+]\s)?\((?:HEAD )?detached (?:from|at) (\S+)\)\s+([a-z0-9]+)\s(.*)$/,((A,[e,t,r,s])=>{A.push(Hs(e),!0,t,r,s)})),new QA(/^([*+]\s)?(\S+)\s+([a-z0-9]+)\s?(.*)$/s,((A,[e,t,r,s])=>{A.push(Hs(e),!1,t,r,s)}))],Js=new QA(/^(\S+)$/s,((A,[e])=>{A.push("*",!1,e,"","")}))}}),_s={} +function Ws(A){const e=["-d","-D","--delete"] +return A.some((A=>e.includes(A)))}function qs(A){const e=Ws(A),t=A.includes("--show-current"),r=["branch",...A] +return 1===r.length&&r.push("-a"),r.includes("-v")||r.splice(1,0,"-v"),{format:"utf-8",commands:r,parser:(A,r)=>e?Ms(A,r).all[0]:Vs(A,t)}}function js(){return{format:"utf-8",commands:["branch","-v"],parser:A=>Vs(A)}}function Xs(A,e=!1){return{format:"utf-8",commands:["branch","-v",e?"-D":"-d",...A],parser:(A,e)=>Ms(A,e),onError({exitCode:A,stdOut:e},t,r,s){if(!Ts(String(t),A))return s(t) +r(e)}}}function Zs(A,e=!1){const t={format:"utf-8",commands:["branch","-v",e?"-D":"-d",A],parser:(e,t)=>Ms(e,t).branches[A],onError({exitCode:A,stdErr:e,stdOut:r},n,o,i){if(!Ts(String(n),A))return i(n) throw new s(t.parser(Z(r),Z(e)),String(n))}} -return t}h(Vs,{branchLocalTask:()=>Ws,branchTask:()=>_s,containsDeleteBranchCommand:()=>Ps,deleteBranchTask:()=>js,deleteBranchesTask:()=>qs}) -var Xs,Zs=Q({"src/lib/tasks/branch.ts"(){l(),Gs(),Hs(),UA()}}),Ks=Q({"src/lib/responses/CheckIgnore.ts"(){Xs=A=>A.split(/\n/g).map((A=>A.trim())).filter((A=>!!A))}}),zs={} -function $s(A){return{commands:["check-ignore",...A],format:"utf-8",parser:Xs}}h(zs,{checkIgnoreTask:()=>$s}) -var An=Q({"src/lib/tasks/check-ignore.ts"(){Ks()}}),en={} -function tn(A){return/^--upload-pack(=|$)/.test(A)}function rn(A,e,t){const r=["clone",...t] -eA(A)&&r.push(A),eA(e)&&r.push(e) -return r.find(tn)?qA("git.fetch: potential exploit argument blocked."):jA(r)}function sn(A,e,t){return H(t,"--mirror"),rn(A,e,t)}h(en,{cloneMirrorTask:()=>sn,cloneTask:()=>rn}) -var nn,on=Q({"src/lib/tasks/clone.ts"(){re(),UA()}}) -function an(A,e){return kA({raw:A,remote:null,branches:[],tags:[],updated:[],deleted:[]},nn,[A,e])}var cn=Q({"src/lib/parsers/parse-fetch.ts"(){UA(),nn=[new QA(/From (.+)$/,((A,[e])=>{A.remote=e})),new QA(/\* \[new branch]\s+(\S+)\s*-> (.+)$/,((A,[e,t])=>{A.branches.push({name:e,tracking:t})})),new QA(/\* \[new tag]\s+(\S+)\s*-> (.+)$/,((A,[e,t])=>{A.tags.push({name:e,tracking:t})})),new QA(/- \[deleted]\s+\S+\s*-> (.+)$/,((A,[e])=>{A.deleted.push({tracking:e})})),new QA(/\s*([^.]+)\.\.(\S+)\s+(\S+)\s*-> (.+)$/,((A,[e,t,r,s])=>{A.updated.push({name:r,tracking:s,to:t,from:e})}))]}}),gn={} -function En(A){return/^--upload-pack(=|$)/.test(A)}function Qn(A,e,t){const r=["fetch",...t] +return t}h(_s,{branchLocalTask:()=>js,branchTask:()=>qs,containsDeleteBranchCommand:()=>Ws,deleteBranchTask:()=>Zs,deleteBranchesTask:()=>Xs}) +var Ks,zs,$s=Q({"src/lib/tasks/branch.ts"(){l(),Os(),Ps(),MA()}}) +function An(A){const e=A.trim().replace(/^["']|["']$/g,"") +return e&&(0,Ks.normalize)(e)}var en=Q({"src/lib/responses/CheckIgnore.ts"(){Ks=t(6760),zs=A=>A.split(/\n/g).map(An).filter(Boolean)}}),tn={} +function rn(A){return{commands:["check-ignore",...A],format:"utf-8",parser:zs}}h(tn,{checkIgnoreTask:()=>rn}) +var sn=Q({"src/lib/tasks/check-ignore.ts"(){en()}}),nn={} +function on(A){return/^--upload-pack(=|$)/.test(A)}function an(A,e,t){const r=["clone",...t] +tA(A)&&r.push(A),tA(e)&&r.push(e) +return r.find(on)?jA("git.fetch: potential exploit argument blocked."):XA(r)}function cn(A,e,t){return H(t,"--mirror"),an(A,e,t)}h(nn,{cloneMirrorTask:()=>cn,cloneTask:()=>an}) +var gn,En=Q({"src/lib/tasks/clone.ts"(){se(),MA()}}) +function Qn(A,e){return bA({raw:A,remote:null,branches:[],tags:[],updated:[],deleted:[]},gn,[A,e])}var hn=Q({"src/lib/parsers/parse-fetch.ts"(){MA(),gn=[new QA(/From (.+)$/,((A,[e])=>{A.remote=e})),new QA(/\* \[new branch]\s+(\S+)\s*-> (.+)$/,((A,[e,t])=>{A.branches.push({name:e,tracking:t})})),new QA(/\* \[new tag]\s+(\S+)\s*-> (.+)$/,((A,[e,t])=>{A.tags.push({name:e,tracking:t})})),new QA(/- \[deleted]\s+\S+\s*-> (.+)$/,((A,[e])=>{A.deleted.push({tracking:e})})),new QA(/\s*([^.]+)\.\.(\S+)\s+(\S+)\s*-> (.+)$/,((A,[e,t,r,s])=>{A.updated.push({name:r,tracking:s,to:t,from:e})}))]}}),Cn={} +function Bn(A){return/^--upload-pack(=|$)/.test(A)}function In(A,e,t){const r=["fetch",...t] A&&e&&r.push(A,e) -return r.find(En)?qA("git.fetch: potential exploit argument blocked."):{commands:r,format:"utf-8",parser:an}}h(gn,{fetchTask:()=>Qn}) -var hn,Cn=Q({"src/lib/tasks/fetch.ts"(){cn(),re()}}) -function Bn(A){return kA({moves:[]},hn,A)}var In=Q({"src/lib/parsers/parse-move.ts"(){UA(),hn=[new QA(/^Renaming (.+) to (.+)$/,((A,[e,t])=>{A.moves.push({from:e,to:t})}))]}}),ln={} -function un(A,e){return{commands:["mv","-v",..._(A),e],format:"utf-8",parser:Bn}}h(ln,{moveTask:()=>un}) -var dn=Q({"src/lib/tasks/move.ts"(){In(),UA()}}),fn={} -function pn(A,e,t){const r=["pull",...t] -return A&&e&&r.splice(1,0,A,e),{commands:r,format:"utf-8",parser:(A,e)=>Yr(A,e),onError(A,e,t,r){const n=function(A,e){const t=kA(new pr,vr,[A,e]) +return r.find(Bn)?jA("git.fetch: potential exploit argument blocked."):{commands:r,format:"utf-8",parser:Qn}}h(Cn,{fetchTask:()=>In}) +var ln,un=Q({"src/lib/tasks/fetch.ts"(){hn(),se()}}) +function dn(A){return bA({moves:[]},ln,A)}var fn=Q({"src/lib/parsers/parse-move.ts"(){MA(),ln=[new QA(/^Renaming (.+) to (.+)$/,((A,[e,t])=>{A.moves.push({from:e,to:t})}))]}}),pn={} +function yn(A,e){return{commands:["mv","-v",..._(A),e],format:"utf-8",parser:dn}}h(pn,{moveTask:()=>yn}) +var wn=Q({"src/lib/tasks/move.ts"(){fn(),MA()}}),mn={} +function Rn(A,e,t){const r=["pull",...t] +return A&&e&&r.splice(1,0,A,e),{commands:r,format:"utf-8",parser:(A,e)=>Gr(A,e),onError(A,e,t,r){const n=function(A,e){const t=bA(new yr,Tr,[A,e]) return t.message&&t}(Z(A.stdOut),Z(A.stdErr)) if(n)return r(new s(n)) -r(e)}}}h(fn,{pullTask:()=>pn}) -var yn=Q({"src/lib/tasks/pull.ts"(){l(),Hr(),UA()}}) -function wn(A){const e={} -return Rn(A,(([A])=>e[A]={name:A})),Object.values(e)}function mn(A){const e={} -return Rn(A,(([A,t,r])=>{e.hasOwnProperty(A)||(e[A]={name:A,refs:{fetch:"",push:""}}),r&&t&&(e[A].refs[r.replace(/[^a-z]/g,"")]=t)})),Object.values(e)}function Rn(A,e){O(A,(A=>e(A.split(/\s+/))))}var Dn=Q({"src/lib/responses/GetRemoteSummary.ts"(){UA()}}),kn={} -function bn(A,e,t){return jA(["remote","add",...t,A,e])}function Nn(A){const e=["remote"] -return A&&e.push("-v"),{commands:e,format:"utf-8",parser:A?mn:wn}}function Fn(A){const e=[...A] -return"ls-remote"!==e[0]&&e.unshift("ls-remote"),jA(e)}function Sn(A){const e=[...A] -return"remote"!==e[0]&&e.unshift("remote"),jA(e)}function Ln(A){return jA(["remote","remove",A])}h(kn,{addRemoteTask:()=>bn,getRemotesTask:()=>Nn,listRemotesTask:()=>Fn,remoteTask:()=>Sn,removeRemoteTask:()=>Ln}) -var Un=Q({"src/lib/tasks/remote.ts"(){Dn(),re()}}),Mn={} -function vn(A={},e){const t=Ir(A),r=["stash","list",...t.commands,...e],s=cr(t.splitter,t.fields,qt(r)) -return hr(r)||{commands:r,format:"utf-8",parser:s}}h(Mn,{stashListTask:()=>vn}) -var Tn=Q({"src/lib/tasks/stash-list.ts"(){er(),gr(),Br(),wr()}}),Yn={} -function Gn(A,e){return On(["add",A,e])}function Jn(A){return On(["init",...A])}function On(A){const e=[...A] -return"submodule"!==e[0]&&e.unshift("submodule"),jA(e)}function xn(A){return On(["update",...A])}h(Yn,{addSubModuleTask:()=>Gn,initSubModuleTask:()=>Jn,subModuleTask:()=>On,updateSubModuleTask:()=>xn}) -var Hn,Vn,Pn=Q({"src/lib/tasks/sub-module.ts"(){re()}}) -function _n(A,e){return A===e?0:A>e?1:-1}function Wn(A){return A.trim()}function qn(A){return"string"==typeof A&&parseInt(A.replace(/^\D+/g,""),10)||0}var jn=Q({"src/lib/responses/TagList.ts"(){Hn=class{constructor(A,e){this.all=A,this.latest=e}},Vn=function(A,e=!1){const t=A.split("\n").map(Wn).filter(Boolean) +r(e)}}}h(mn,{pullTask:()=>Rn}) +var Dn=Q({"src/lib/tasks/pull.ts"(){l(),Vr(),MA()}}) +function kn(A){const e={} +return Nn(A,(([A])=>e[A]={name:A})),Object.values(e)}function bn(A){const e={} +return Nn(A,(([A,t,r])=>{Object.hasOwn(e,A)||(e[A]={name:A,refs:{fetch:"",push:""}}),r&&t&&(e[A].refs[r.replace(/[^a-z]/g,"")]=t)})),Object.values(e)}function Nn(A,e){O(A,(A=>e(A.split(/\s+/))))}var Fn=Q({"src/lib/responses/GetRemoteSummary.ts"(){MA()}}),Sn={} +function Ln(A,e,t){return XA(["remote","add",...t,A,e])}function Un(A){const e=["remote"] +return A&&e.push("-v"),{commands:e,format:"utf-8",parser:A?bn:kn}}function Mn(A){const e=[...A] +return"ls-remote"!==e[0]&&e.unshift("ls-remote"),XA(e)}function vn(A){const e=[...A] +return"remote"!==e[0]&&e.unshift("remote"),XA(e)}function Tn(A){return XA(["remote","remove",A])}h(Sn,{addRemoteTask:()=>Ln,getRemotesTask:()=>Un,listRemotesTask:()=>Mn,remoteTask:()=>vn,removeRemoteTask:()=>Tn}) +var Yn=Q({"src/lib/tasks/remote.ts"(){Fn(),se()}}),Gn={} +function Jn(A={},e){const t=lr(A),r=["stash","list",...t.commands,...e],s=gr(t.splitter,t.fields,jt(r)) +return Cr(r)||{commands:r,format:"utf-8",parser:s}}h(Gn,{stashListTask:()=>Jn}) +var On=Q({"src/lib/tasks/stash-list.ts"(){tr(),Er(),Ir(),mr()}}),xn={} +function Hn(A,e){return Pn(["add",A,e])}function Vn(A){return Pn(["init",...A])}function Pn(A){const e=[...A] +return"submodule"!==e[0]&&e.unshift("submodule"),XA(e)}function _n(A){return Pn(["update",...A])}h(xn,{addSubModuleTask:()=>Hn,initSubModuleTask:()=>Vn,subModuleTask:()=>Pn,updateSubModuleTask:()=>_n}) +var Wn,qn,jn=Q({"src/lib/tasks/sub-module.ts"(){se()}}) +function Xn(A,e){return A===e?0:A>e?1:-1}function Zn(A){return A.trim()}function Kn(A){return"string"==typeof A&&parseInt(A.replace(/^\D+/g,""),10)||0}var zn=Q({"src/lib/responses/TagList.ts"(){Wn=class{constructor(A,e){this.all=A,this.latest=e}},qn=function(A,e=!1){const t=A.split("\n").map(Zn).filter(Boolean) e||t.sort((function(A,e){const t=A.split("."),r=e.split(".") -if(1===t.length||1===r.length)return function(A,e){const t=isNaN(A) -return t!==isNaN(e)?t?1:-1:t?_n(A,e):0}(qn(t[0]),qn(r[0])) -for(let A=0,e=Math.max(t.length,r.length);AA.indexOf(".")>=0)) -return new Hn(t,r)}}}),Xn={} -function Zn(A=[]){const e=A.some((A=>/^--sort=/.test(A))) -return{format:"utf-8",commands:["tag","-l",...A],parser:A=>Vn(A,e)}}function Kn(A){return{format:"utf-8",commands:["tag",A],parser:()=>({name:A})}}function zn(A,e){return{format:"utf-8",commands:["tag","-a","-m",e,A],parser:()=>({name:A})}}h(Xn,{addAnnotatedTagTask:()=>zn,addTagTask:()=>Kn,tagListTask:()=>Zn}) -var $n,Ao,eo,to=Q({"src/lib/tasks/tag.ts"(){jn()}}),ro=($n={"src/git.js"(A,e){var{GitExecutor:t}=(wt(),B(yt)),{SimpleGitApi:r}=(ms(),B(fs)),{Scheduler:s}=(Ds(),B(Rs)),{configurationErrorTask:n}=(re(),B(_A)),{asArray:o,filterArray:i,filterPrimitives:a,filterString:c,filterStringOrStringArray:g,filterType:E,getTrailingOptions:Q,trailingFunctionArgument:h,trailingOptionsArgument:C}=(UA(),B(NA)),{applyPatchTask:I}=(Fs(),B(ks)),{branchTask:l,branchLocalTask:u,deleteBranchesTask:d,deleteBranchTask:f}=(Zs(),B(Vs)),{checkIgnoreTask:p}=(An(),B(zs)),{checkIsRepoTask:y}=(HA(),B(MA)),{cloneTask:w,cloneMirrorTask:m}=(on(),B(en)),{cleanWithOptionsTask:R,isCleanOptionsArray:D}=(ge(),B(se)),{diffSummaryTask:k}=(Br(),B(Er)),{fetchTask:b}=(Cn(),B(gn)),{moveTask:N}=(dn(),B(ln)),{pullTask:F}=(yn(),B(fn)),{pushTagsTask:S}=($r(),B(Zr)),{addRemoteTask:L,getRemotesTask:U,listRemotesTask:M,remoteTask:v,removeRemoteTask:T}=(Un(),B(kn)),{getResetMode:Y,resetTask:G}=(Me(),B(Fe)),{stashListTask:J}=(Tn(),B(Mn)),{addSubModuleTask:O,initSubModuleTask:x,subModuleTask:H,updateSubModuleTask:V}=(Pn(),B(Yn)),{addAnnotatedTagTask:P,addTagTask:_,tagListTask:W}=(to(),B(Xn)),{straightThroughBufferTask:q,straightThroughStringTask:j}=(re(),B(_A)) +return new Wn(t,r)}}}),$n={} +function Ao(A=[]){const e=A.some((A=>/^--sort=/.test(A))) +return{format:"utf-8",commands:["tag","-l",...A],parser:A=>qn(A,e)}}function eo(A){return{format:"utf-8",commands:["tag",A],parser:()=>({name:A})}}function to(A,e){return{format:"utf-8",commands:["tag","-a","-m",e,A],parser:()=>({name:A})}}h($n,{addAnnotatedTagTask:()=>to,addTagTask:()=>eo,tagListTask:()=>Ao}) +var ro,so,no,oo=Q({"src/lib/tasks/tag.ts"(){zn()}}),io=(ro={"src/git.js"(A,e){var{GitExecutor:t}=(mt(),B(wt)),{SimpleGitApi:r}=(Rs(),B(ps)),{Scheduler:s}=(ks(),B(Ds)),{configurationErrorTask:n}=(se(),B(WA)),{asArray:o,filterArray:i,filterPrimitives:a,filterString:c,filterStringOrStringArray:g,filterType:E,getTrailingOptions:Q,trailingFunctionArgument:h,trailingOptionsArgument:C}=(MA(),B(FA)),{applyPatchTask:I}=(Ss(),B(bs)),{branchTask:l,branchLocalTask:u,deleteBranchesTask:d,deleteBranchTask:f}=($s(),B(_s)),{checkIgnoreTask:p}=(sn(),B(tn)),{checkIsRepoTask:y}=(VA(),B(vA)),{cloneTask:w,cloneMirrorTask:m}=(En(),B(nn)),{cleanWithOptionsTask:R,isCleanOptionsArray:D}=(Ee(),B(ne)),{diffSummaryTask:k}=(Ir(),B(Qr)),{fetchTask:b}=(un(),B(Cn)),{moveTask:N}=(wn(),B(pn)),{pullTask:F}=(Dn(),B(mn)),{pushTagsTask:S}=(As(),B(Kr)),{addRemoteTask:L,getRemotesTask:U,listRemotesTask:M,remoteTask:v,removeRemoteTask:T}=(Yn(),B(Sn)),{getResetMode:Y,resetTask:G}=(ve(),B(Se)),{stashListTask:J}=(On(),B(Gn)),{addSubModuleTask:O,initSubModuleTask:x,subModuleTask:H,updateSubModuleTask:V}=(jn(),B(xn)),{addAnnotatedTagTask:P,addTagTask:_,tagListTask:W}=(oo(),B($n)),{straightThroughBufferTask:q,straightThroughStringTask:j}=(se(),B(WA)) function X(A,e){this._plugins=e,this._executor=new t(A.baseDir,new s(A.maxConcurrentProcesses),e),this._trimmed=A.trimmed}function Z(A,e,t,r){return"string"!=typeof t?n(`git.${A}() requires a string 'repoPath'`):e(t,E(r,c),Q(arguments))}(X.prototype=Object.create(r.prototype)).constructor=X,X.prototype.customBinary=function(A){return this._plugins.reconfigure("binary",A),this},X.prototype.env=function(A,e){return 1===arguments.length&&"object"==typeof A?this._executor.env=A:(this._executor.env=this._executor.env||{})[A]=e,this},X.prototype.stashList=function(A){return this._runTask(J(C(arguments)||{},i(A)&&A||[]),h(arguments))},X.prototype.clone=function(){return this._runTask(Z("clone",w,...arguments),h(arguments))},X.prototype.mirror=function(){return this._runTask(Z("mirror",m,...arguments),h(arguments))},X.prototype.mv=function(A,e){return this._runTask(N(A,e),h(arguments))},X.prototype.checkoutLatestTag=function(A){var e=this return this.pull((function(){e.tags((function(t,r){e.checkout(r.latest,A)}))}))},X.prototype.pull=function(A,e,t,r){return this._runTask(F(E(A,c),E(e,c),Q(arguments)),h(arguments))},X.prototype.fetch=function(A,e){return this._runTask(b(E(A,c),E(e,c),Q(arguments)),h(arguments))},X.prototype.silent=function(A){return console.warn("simple-git deprecation notice: git.silent: logging should be configured using the `debug` library / `DEBUG` environment variable, this will be an error in version 3"),this},X.prototype.tags=function(A,e){return this._runTask(W(Q(arguments)),h(arguments))},X.prototype.rebase=function(){return this._runTask(j(["rebase",...Q(arguments)]),h(arguments))},X.prototype.reset=function(A){return this._runTask(G(Y(A),Q(arguments)),h(arguments))},X.prototype.revert=function(A){const e=h(arguments) return"string"!=typeof A?this._runTask(n("Commit must be a string"),e):this._runTask(j(["revert",...Q(arguments,0,!0),A]),e)},X.prototype.addTag=function(A){const e="string"==typeof A?_(A):n("Git.addTag requires a tag name") @@ -1178,27 +1182,27 @@ return this._runTask(t,h(arguments))},X.prototype.diffSummary=function(){return return this._runTask(e,h(arguments))},X.prototype.revparse=function(){const A=["rev-parse",...Q(arguments,!0)] return this._runTask(j(A,!0),h(arguments))},X.prototype.clean=function(A,e,t){const r=D(A),s=r&&A.join("")||E(A,c)||"",n=Q([].slice.call(arguments,r?1:0)) return this._runTask(R(s,n),h(arguments))},X.prototype.exec=function(A){const e={commands:[],format:"utf-8",parser(){"function"==typeof A&&A()}} -return this._runTask(e)},X.prototype.clearQueue=function(){return this},X.prototype.checkIgnore=function(A,e){return this._runTask(p(o(E(A,g,[]))),h(arguments))},X.prototype.checkIsRepo=function(A,e){return this._runTask(y(E(A,c)),h(arguments))},e.exports=X}},function(){return Ao||(0,$n[c($n)[0]])((Ao={exports:{}}).exports,Ao),Ao.exports}),so={} -function no(A){return Object.defineProperties(A,{__esModule:{value:!0},default:{value:A}})}function oo(A){return Object.assign(A.bind(null),ve)}function io(A,e){const t=new et,r=dA(A&&("string"==typeof A?{baseDir:A}:A)||{},e) +return this._runTask(e)},X.prototype.clearQueue=function(){return this},X.prototype.checkIgnore=function(A,e){return this._runTask(p(o(E(A,g,[]))),h(arguments))},X.prototype.checkIsRepo=function(A,e){return this._runTask(y(E(A,c)),h(arguments))},e.exports=X}},function(){return so||(0,ro[c(ro)[0]])((so={exports:{}}).exports,so),so.exports}),ao={} +function co(A){return Object.defineProperties(A,{__esModule:{value:!0},default:{value:A}})}function go(A){return Object.assign(A.bind(null),Te)}function Eo(A,e){const t=new tt,r=fA(A&&("string"==typeof A?{baseDir:A}:A)||{},e) if(!x(r.baseDir))throw new p(r,"Cannot use simple-git on a directory that does not exist") return Array.isArray(r.config)&&t.add(function(A){const e=X(A,"-c") -return{type:"spawn.args",action:A=>[...e,...A]}}(r.config)),t.add(Ge(r.unsafe)),t.add({type:"spawn.args",action(A){const e=[] +return{type:"spawn.args",action:A=>[...e,...A]}}(r.config)),t.add(Je(r.unsafe)),t.add({type:"spawn.args",action(A){const e=[] let t function r(A){(t=t||[]).push(...A)}for(let t=0;td(A)&&f(A)||A))) -break}e.push(s)}}return t?[...e,"--",...t.map(String)]:e}}),t.add(Ve(r.completion)),r.abort&&t.add(function(A){if(!A)return +break}e.push(s)}}return t?[...e,"--",...t.map(String)]:e}}),t.add(Pe(r.completion)),r.abort&&t.add(function(A){if(!A)return const e={type:"spawn.after",action(e,t){function r(){t.kill(new y(void 0,"abort","Abort signal received"))}A.addEventListener("abort",r),t.spawned.on("close",(()=>A.removeEventListener("abort",r)))}} return[{type:"spawn.before",action(e,t){A.aborted&&t.kill(new y(void 0,"abort","Abort already signaled"))}},e]}(r.abort)),r.progress&&t.add(function(A){const e="--progress",t=["checkout","clone","fetch","pull","push"] return[{type:"spawn.args",action:(A,r)=>t.includes(r.method)?V(A,e):A},{type:"spawn.after",action(t,r){r.commands.includes(e)&&r.spawned.stderr?.on("data",(e=>{const t=/^([\s\S]+?):\s*(\d+)% \((\d+)\/(\d+)\)/.exec(e.toString("utf8")) var s t&&A({method:r.method,stage:(s=t[1],String(s.toLowerCase().split(" ",1))||"unknown"),progress:j(t[2]),processed:j(t[3]),total:j(t[4])})}))}}]}(r.progress)),r.timeout&&t.add(function({block:A,stdErr:e=!0,stdOut:t=!0}){if(A>0)return{type:"spawn.after",action(r,s){let n function o(){n&&clearTimeout(n),n=setTimeout(a,A)}function i(){s.spawned.stdout?.off("data",o),s.spawned.stderr?.off("data",o),s.spawned.off("exit",i),s.spawned.off("close",i),n&&clearTimeout(n)}function a(){i(),s.kill(new y(void 0,"timeout","block timeout reached"))}t&&s.spawned.stdout?.on("data",o),e&&s.spawned.stderr?.on("data",o),s.spawned.on("exit",i),s.spawned.on("close",i),o()}}}(r.timeout)),r.spawnOptions&&t.add(function(A){const e=K(A,["uid","gid"]) -return{type:"spawn.options",action:A=>({...e,...A})}}(r.spawnOptions)),t.add($e(ze(!0))),r.errors&&t.add($e(r.errors)),function(A,e=["git"],t=!1){let r=je(_(e),t) -A.on("binary",(A=>{r=je(_(A),t)})),A.append("spawn.binary",(()=>r.binary)),A.append("spawn.args",(A=>r.prefix?[r.prefix,...A]:A))}(t,r.binary,r.unsafe?.allowUnsafeCustomBinary),new eo(r,t)}h(so,{esModuleFactory:()=>no,gitExportFactory:()=>oo,gitInstanceFactory:()=>io}) -var ao,co,go=Q({"src/lib/git-factory.ts"(){Te(),at(),gt(),UA(),eo=ro()}}),Eo={} -function Qo(...A){let e,t=Promise.resolve() -try{e=io(...A)}catch(A){t=Promise.reject(A)}function r(){return o}function n(){return t}const o=[...ao,...co].reduce(((A,o)=>{const i=co.includes(o),a=i?(c=o,g=e,function(...A){if("function"==typeof A[A.length])throw new TypeError("Promise interface requires that handlers are not supplied inline, trailing function not allowed in call to "+c) +return{type:"spawn.options",action:A=>({...e,...A})}}(r.spawnOptions)),t.add(At($e(!0))),r.errors&&t.add(At(r.errors)),function(A,e=["git"],t=!1){let r=Xe(_(e),t) +A.on("binary",(A=>{r=Xe(_(A),t)})),A.append("spawn.binary",(()=>r.binary)),A.append("spawn.args",(A=>r.prefix?[r.prefix,...A]:A))}(t,r.binary,r.unsafe?.allowUnsafeCustomBinary),new no(r,t)}h(ao,{esModuleFactory:()=>co,gitExportFactory:()=>go,gitInstanceFactory:()=>Eo}) +var Qo,ho,Co=Q({"src/lib/git-factory.ts"(){Ye(),ct(),Et(),MA(),no=io()}}),Bo={} +function Io(...A){let e,t=Promise.resolve() +try{e=Eo(...A)}catch(A){t=Promise.reject(A)}function r(){return o}function n(){return t}const o=[...Qo,...ho].reduce(((A,o)=>{const i=ho.includes(o),a=i?(c=o,g=e,function(...A){if("function"==typeof A[A.length])throw new TypeError("Promise interface requires that handlers are not supplied inline, trailing function not allowed in call to "+c) return t.then((function(){return new Promise((function(e,t){const r=(A,r)=>{if(A)return t((n=A)instanceof Error?n:"string"==typeof n?new Error(n):new s(n)) var n e(r)} @@ -1206,9 +1210,9 @@ A.push(r),g[c].apply(g,A)}))}))}):function(A,e,t){return(...r)=>(e[A](...r),t)}( var c,g const E=i?n:r return Object.defineProperty(A,o,{enumerable:!1,configurable:!1,value:e?a:E}),A}),{}) -return o}h(Eo,{gitP:()=>Qo}) -var ho=Q({"src/lib/runners/promise-wrapped.ts"(){l(),go(),ao=["customBinary","env","outputHandler","silent"],co=["add","addAnnotatedTag","addConfig","addRemote","addTag","applyPatch","binaryCatFile","branch","branchLocal","catFile","checkIgnore","checkIsRepo","checkout","checkoutBranch","checkoutLatestTag","checkoutLocalBranch","clean","clone","commit","cwd","deleteLocalBranch","deleteLocalBranches","diff","diffSummary","exec","fetch","getRemotes","init","listConfig","listRemote","log","merge","mergeFromTo","mirror","mv","pull","push","pushTags","raw","rebase","remote","removeRemote","reset","revert","revparse","rm","rmKeepLocal","show","stash","stashList","status","subModule","submoduleAdd","submoduleInit","submoduleUpdate","tag","tags","updateServerInfo"]}}),{gitP:Co}=(ho(),B(Eo)),{esModuleFactory:Bo,gitInstanceFactory:Io,gitExportFactory:lo}=(go(),B(so)),uo=Bo(lo(Io)) -A.exports=Object.assign(uo,{gitP:Co,simpleGit:uo})},4708:A=>{"use strict" +return o}h(Bo,{gitP:()=>Io}) +var lo=Q({"src/lib/runners/promise-wrapped.ts"(){l(),Co(),Qo=["customBinary","env","outputHandler","silent"],ho=["add","addAnnotatedTag","addConfig","addRemote","addTag","applyPatch","binaryCatFile","branch","branchLocal","catFile","checkIgnore","checkIsRepo","checkout","checkoutBranch","checkoutLatestTag","checkoutLocalBranch","clean","clone","commit","cwd","deleteLocalBranch","deleteLocalBranches","diff","diffSummary","exec","fetch","getRemotes","init","listConfig","listRemote","log","merge","mergeFromTo","mirror","mv","pull","push","pushTags","raw","rebase","remote","removeRemote","reset","revert","revparse","rm","rmKeepLocal","show","stash","stashList","status","subModule","submoduleAdd","submoduleInit","submoduleUpdate","tag","tags","updateServerInfo"]}}),{gitP:uo}=(lo(),B(Bo)),{esModuleFactory:fo,gitInstanceFactory:po,gitExportFactory:yo}=(Co(),B(ao)),wo=fo(yo(po)) +A.exports=Object.assign(wo,{gitP:uo,simpleGit:wo})},4708:A=>{"use strict" A.exports=require("node:https")},4756:A=>{"use strict" A.exports=require("tls")},4757:function(A,e,t){"use strict" var r=this&&this.__createBinding||(Object.create?function(A,e,t,r){void 0===r&&(r=t) diff --git a/package-lock.json b/package-lock.json index e219b8f..da7d614 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "@actions/core": "^1.11.1", "@actions/tool-cache": "^2.0.2", "fasm-versions": "github:stevenwdv/fasm-versions#v1.2", - "simple-git": "^3.28.0" + "simple-git": "^3.30.0" }, "devDependencies": { "@types/node": "^20.19.1", @@ -2868,9 +2868,9 @@ } }, "node_modules/simple-git": { - "version": "3.28.0", - "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.28.0.tgz", - "integrity": "sha512-Rs/vQRwsn1ILH1oBUy8NucJlXmnnLeLCfcvbSehkPzbv3wwoFWIdtfd6Ndo6ZPhlPsCZ60CPI4rxurnwAa+a2w==", + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.30.0.tgz", + "integrity": "sha512-q6lxyDsCmEal/MEGhP1aVyQ3oxnagGlBDOVSIB4XUVLl1iZh0Pah6ebC9V4xBap/RfgP2WlI8EKs0WS0rMEJHg==", "license": "MIT", "dependencies": { "@kwsites/file-exists": "^1.1.1", diff --git a/package.json b/package.json index 2609f23..62bcdf9 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "@actions/core": "^1.11.1", "@actions/tool-cache": "^2.0.2", "fasm-versions": "github:stevenwdv/fasm-versions#v1.2", - "simple-git": "^3.28.0" + "simple-git": "^3.30.0" }, "devDependencies": { "@types/node": "^20.19.1",