epiq 0.2.17 → 0.2.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -8,7 +8,7 @@ import{render as bd}from"ink";import Sd from"meow";import Ii from"react";import
|
|
|
8
8
|
`).filter(i=>i.startsWith("worktree ")).map(i=>i.slice(9)).map(i=>Ue.resolve(i)).includes(r);return c("Checked worktree registration",o)},kt=async e=>{let t=await Ze({args:["rev-parse","--abbrev-ref","--symbolic-full-name","@{u}"],cwd:e});return c("Checked upstream",t.exitCode===0&&t.stdout.trim().length>0)},Dn=async e=>{let t=await F({args:["rev-parse","--abbrev-ref","HEAD"],cwd:e});return l(t)?s(t.message):t.data?c("Resolved current branch",t.data.stdout.trim()):s("Git command returned no branch name")},co=async e=>{let t=await F({args:["rev-parse","--short","HEAD"],cwd:e});return l(t)?s(t.message):t.data?c("Resolved short HEAD sha",t.data.stdout.trim()):s("Git command returned no short sha")},Fn=async e=>{if((await Ze({args:["rev-parse","--verify","HEAD"],cwd:e})).exitCode===0)return c("Repo already initialized",!1);let n=await F({args:["commit","--allow-empty","-m","[epiq:init]"],cwd:e});return l(n)?s(`Failed to create initial commit
|
|
9
9
|
${n.message}`):n.data?c("Created initial commit",!0):s("Git command returned no commit result data")},Bn=async({cwd:e,remote:t,branch:n})=>{let r=await kt(e);if(l(r))return s(r.message);if(!r.data)return c("No upstream configured, skipped pull",!1);let o=await Bt({repoRoot:e,remote:t,branch:n});if(l(o))return s(o.message);if(!o.data)return c("Remote branch missing, skipped pull",!1);let i=await F({args:["fetch",t,n],cwd:e});if(l(i))return s(`Failed to fetch ${n}
|
|
10
10
|
${i.message}`);if(!i.data)return s("Git command returned no fetch result data");let a=await F({args:["pull","--rebase"],cwd:e});return l(a)?s(`Failed during pull --rebase
|
|
11
|
-
${a.message}`):a.data?c("Pulled with rebase",!0):s("Git command returned no pull result data")};var go=pe(),fo="events",O="epiq-state-
|
|
11
|
+
${a.message}`):a.data?c("Pulled with rebase",!0):s("Git command returned no pull result data")};var go=pe(),fo="events",O="epiq-state-4",le="origin",xo=e=>re.join(go,fo,e),Bs=e=>Ds("sha1").update(e).digest("hex").slice(0,12),yo=()=>re.join(Fs.homedir(),".epiq"),vo=()=>re.join(yo(),"worktrees"),ho=e=>re.join(vo(),Bs(e)),Co=e=>re.join(e,go),lt=e=>re.join(Co(e),fo),lo=({root:e,fileName:t})=>re.join(lt(e),t),kn=e=>(B.mkdirSync(e,{recursive:!0}),c("Ensured directory",void 0)),ks=()=>{let e=kn(yo());if(l(e))return s(e.message);let t=kn(vo());return l(t)?s(t.message):c("Ensured epiq storage",void 0)},mo=e=>{let t=Co(e);return B.existsSync(t)?c("Epiq dir already exists",!1):(B.mkdirSync(t,{recursive:!0}),c("Created epiq dir",!0))},uo=e=>{let t=lt(e);return B.existsSync(t)?c("Events dir already exists",!1):(B.mkdirSync(t,{recursive:!0}),c("Created events dir",!0))},Os=e=>{B.existsSync(e)&&B.rmSync(e,{recursive:!0,force:!0})},Us=e=>e.endsWith(".jsonl")?e.includes("/")||e.includes("\\")?s("Own event file must be a file name, not a path"):e==="."||e===".."||e.trim()===""?s("Own event file name is invalid"):c("Validated own event file name",e):s("Own event file must end with .jsonl"),Ws=e=>{let t=lt(e);return B.existsSync(t)?c("Listed event files",B.readdirSync(t,{withFileTypes:!0}).filter(n=>n.isFile()).map(n=>n.name).filter(n=>n.endsWith(".jsonl")).sort()):c("Events dir missing",[])},Hs=({repoRoot:e,worktreeRoot:t,ownEventFileName:n})=>{let r=lo({root:e,fileName:n}),o=lo({root:t,fileName:n});if(!B.existsSync(r))return c("Local own event file missing, nothing to copy",!1);let i=B.readFileSync(r,"utf8"),a=B.existsSync(o)?B.readFileSync(o,"utf8"):"";return i===a?c("Own event file already matches board worktree",!1):(B.mkdirSync(re.dirname(o),{recursive:!0}),B.copyFileSync(r,o),c("Copied own event file into board worktree",!0))},No=({repoRoot:e,worktreeRoot:t})=>{let n=Ws(t);if(l(n))return s(n.message);let r=lt(t),o=lt(e),i=!1;for(let a of n.data){let d=re.join(r,a),m=re.join(o,a),u=B.existsSync(d)?B.readFileSync(d,"utf8"):"",f=B.existsSync(m)?B.readFileSync(m,"utf8"):"";u!==f&&(B.mkdirSync(re.dirname(m),{recursive:!0}),B.copyFileSync(d,m),i=!0)}return c("Hydrated event files from board worktree",i)},po=e=>e.trim().replace(/\s+/g,"-").replace(/[^A-Za-z0-9._/-]/g,"-").replace(/-+/g,"-").replace(/^[-/.]+|[-/.]+$/g,"")||"unknown",_s=async e=>{let t=await Dn(e);if(l(t))return s(t.message);let n=await co(e);return l(n)?s(n.message):c("Built sync commit message",`[epiq:sync:${po(t.data)}:${po(n.data)}]`)},$s=async({repoRoot:e})=>{let t=await ao({repoRoot:e,branch:O});if(l(t))return s(t.message);if(t.data)return c("Local board branch already exists",!1);let n=await Ln({repoRoot:e,remote:le});if(l(n))return s(n.message);if(n.data){let o=await Bt({repoRoot:e,remote:le,branch:O});if(l(o))return s(o.message);if(o.data){let i=await F({args:["fetch",le,O],cwd:e});if(l(i))return s(`Failed to fetch ${O} from remote
|
|
12
12
|
${i.message}`);let a=await F({args:["branch","--track",O,`${le}/${O}`],cwd:e});return l(a)?s(`Failed to create local ${O} from remote
|
|
13
13
|
${a.message}`):c("Created local board branch from remote",!0)}}let r=await F({args:["branch",O,"HEAD"],cwd:e});return l(r)?s(`Failed to create local ${O}
|
|
14
14
|
${r.message}`):c("Created local board branch",!0)},Vs=async({repoRoot:e,worktreeRoot:t})=>{let n=kn(re.dirname(t));if(l(n))return s(n.message);B.existsSync(t)&&!B.existsSync(re.join(t,".git"))&&Os(t);let r=await F({args:["worktree","add",t,O],cwd:e});return l(r)?s(`Failed to create board worktree
|