@puffinstudio/fizzyx 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +4 -4
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -39,12 +39,12 @@ ${n.slice(1)}`;return`${r}- ${n}`},dm=(e)=>{if(e.trim()==="")return{};let t=Bun.
|
|
|
39
39
|
`)},Jh=(e)=>{if(e.length===0)return"no new steps";return e.map((t)=>` + ${t.completed?"[x]":"[ ]"} ${t.content}`).join(`
|
|
40
40
|
`)},Qh=(e)=>e.column?.name||"TRIAGE",Yh=(e)=>{let t=(e.assignees||[]).map((r)=>r.name).filter(Boolean);return t.length===0?"-":t.join(", ")},t0=(e)=>e?e.replace(/T.*/,""):"?",r0=(e)=>{let t=e.trim();if(!t)return["(no description)"];return t.split(`
|
|
41
41
|
`)};var Kh=["\u25D0","\u25D3","\u25D1","\u25D2"],n0=80,o0="\r\x1B[2K",wi=(e)=>e?.stderr??process.stderr,s0=(e)=>e?.env??process.env,a0=(e)=>{if(!wi(e).isTTY)return!1;let r=s0(e);if(r.CI||r.NO_COLOR||r.FIZZYX_NO_SPINNER==="1")return!1;return!0},c0=(e)=>{e.write(o0)},i0=(e,t)=>{let r=wi(t),n=t.intervalMs??n0;return u.sync(()=>{let o=0,s=()=>{let i=Kh[o++%Kh.length];r.write(`\r${e} ${i}`)};s();let a=setInterval(s,n);return{stop(){clearInterval(a),c0(r)}}})},u0=(e,t,r)=>{let n=wi(r);return u.gen(function*(){return yield*u.sync(()=>{n.write(`${t}
|
|
42
|
-
`)}),yield*e})},ne=(e,t,r)=>{if(!a0(r)){if(r?.showStatusLine)return u0(t,e,r);return t}return u.gen(function*(){let n=yield*i0(e,r??{});return yield*t.pipe(u.onExit(()=>u.sync(()=>{n.stop()})))})};var Zh=(e)=>u.gen(function*(){let[t="help",...r]=e;switch(t){case"help":case"--help":case"-h":console.log(ex());return;case"setup":{if(me(r)){console.log(y0());return}let n=m0(r);if(n.list){let s=yield*ne("
|
|
42
|
+
`)}),yield*e})},ne=(e,t,r)=>{if(!a0(r)){if(r?.showStatusLine)return u0(t,e,r);return t}return u.gen(function*(){let n=yield*i0(e,r??{});return yield*t.pipe(u.onExit(()=>u.sync(()=>{n.stop()})))})};var Zh=(e)=>u.gen(function*(){let[t="help",...r]=e;switch(t){case"help":case"--help":case"-h":console.log(ex());return;case"setup":{if(me(r)){console.log(y0());return}let n=m0(r);if(n.list){let s=yield*ne("Loading Fizzy boards...",Oh());if(s.length===0){console.log("(no boards)");return}console.log(Ci(s,[{header:"id",value:(a)=>a.id},{header:"name",value:(a)=>a.name}]));return}let o=yield*ne("Initializing Fizzy workflow...",Rh(n));console.log(`created ${o.configPath}`);return}case"auth":yield*d0(r);return;case"flow":yield*p0(r);return;default:throw Error(l0(t))}}),f0={sync:"sync",mine:"mine",status:"status",next:"next",show:"show",start:"start",done:"done",block:"block",add:"add","steps-from-desc":"steps-from-desc"},l0=(e)=>{let t=f0[e];if(t)return`unknown command: ${e}. Did you mean: fizzyx flow ${t}?`;return`unknown command: ${e}
|
|
43
43
|
|
|
44
|
-
${ex()}`},p0=(e)=>u.gen(function*(){let[t="help",...r]=e;if(Cs(t)){console.log(ki());return}switch(t){case"sync":{if(me(r)){console.log(E0());return}let n=yield*ne("
|
|
45
|
-
# not_now (${n.cache.notNow.length})`),console.log(Ss(n.cache.notNow));return}case"next":{if(me(r)){console.log(C0());return}let n=yield*ne("
|
|
44
|
+
${ex()}`},p0=(e)=>u.gen(function*(){let[t="help",...r]=e;if(Cs(t)){console.log(ki());return}switch(t){case"sync":{if(me(r)){console.log(E0());return}let n=yield*ne("Syncing Fizzy board...",u.gen(function*(){let o=yield*Fe;return yield*Ft(o)}));console.error(`synced cards=${n.cards.length} not_now=${n.notNow.length}`);return}case"mine":{if(me(r)){console.log(b0());return}let n=r.includes("--fresh"),o=x0(r),s=yield*ne("Loading my tasks...",u.gen(function*(){let a=yield*Fe;return yield*bi(a,{fresh:n,user:o})}));console.log(`# ${s.name}: ${s.userId}`),console.log(Ss(s.cards));return}case"status":{if(me(r)){console.log(S0());return}let n=yield*ne("Loading board status...",u.gen(function*(){let o=yield*Fe;return yield*Fh(o,{fresh:r.includes("--fresh")})}));if(console.log(`# board cache age: ${n.age}s`),console.log(""),console.log(Ss(n.cache.cards.filter((o)=>["INPROGRESS","TODO"].includes(o.column?.name||"")))),n.cache.notNow.length>0)console.log(`
|
|
45
|
+
# not_now (${n.cache.notNow.length})`),console.log(Ss(n.cache.notNow));return}case"next":{if(me(r)){console.log(C0());return}let n=yield*ne("Loading next task...",u.gen(function*(){let o=yield*Fe;return yield*Nh(o,{fresh:r.includes("--fresh")})}));if(!n.card){console.log(`no TODO card for ${n.user.name}`);return}console.log(`#${n.card.number} ${n.card.title}`),console.log(`next: fizzyx flow start ${n.card.number}`);return}case"show":{if(me(r)){console.log(w0());return}let n=Vn(r[0]),o=yield*ne("Loading card details...",u.gen(function*(){let s=yield*Fe;return yield*Uh(s,n)}));console.log(Vh(o.card,o.comments));return}case"start":{if(me(r)){console.log(k0());return}let n=Vn(r[0]);yield*ne("Starting card...",u.gen(function*(){let o=yield*Fe;return yield*Dh(o,n)})),console.log(`started #${n}`);return}case"done":{if(me(r)){console.log(v0());return}let n=Vn(r[0]),o=r.slice(1).filter((i)=>!Cs(i)).join(" "),s=o?o:yield*Hh(),a=yield*ne("Closing card...",u.gen(function*(){let i=yield*Fe;return yield*Lh(i,n,s)}));console.log(`closed #${a.number} (${a.ref})`);return}case"block":{if(me(r)){console.log(T0());return}let n=Vn(r[0]),o=r.slice(1).join(" "),s=yield*ne("Marking card blocked...",u.gen(function*(){let a=yield*Fe;return yield*$h(a,n,o)}));console.log(`blocked #${s.number}: ${s.reason}`);return}case"add":{if(me(r)){console.log(Xh());return}let n=r[0],o=r[1],s=h0(r,"--desc");if(!n||!o||!s)throw Error(Xh());let a=yield*ne("Creating card...",u.gen(function*(){let i=yield*g0(s),l=yield*Fe;return yield*jh(l,{user:n,title:o,description:i})}));console.log(a);return}case"steps-from-desc":{if(me(r)){console.log(A0());return}let n=Vn(r[0]),o=yield*ne("Syncing Done When steps...",u.gen(function*(){let s=yield*Fe;return yield*qh(s,n)}));console.log(Jh(o));return}case"init":{if(me(r)){console.log(I0());return}let n=yield*ne("Initializing workflow config...",Fe);console.log(`flow configured with todo=${n.config.flow.columns.todo} in_progress=${n.config.flow.columns.inProgress}`);return}case"help":case"--help":case"-h":console.log(ki());return;default:throw Error(`unknown flow command: ${t}
|
|
46
46
|
|
|
47
|
-
${ki()}`)}}),d0=(e)=>u.gen(function*(){let[t="help",...r]=e;if(Cs(t)){console.log(Gh());return}switch(t){case"login":{if(me(r)||!r[0])throw Error(R0());let n=yield*ne("
|
|
47
|
+
${ki()}`)}}),d0=(e)=>u.gen(function*(){let[t="help",...r]=e;if(Cs(t)){console.log(Gh());return}switch(t){case"login":{if(me(r)||!r[0])throw Error(R0());let n=yield*ne("Saving credentials...",_h(r[0]));console.log(`token saved for ${n}`);return}case"status":{if(me(r)){console.log(O0());return}let n=yield*ne("Checking auth status...",Mh);if(console.log(`account: ${n.account}`),console.log(`board: ${n.board}`),console.log(`authenticated: ${n.authenticated}`),n.identity)console.log(`user: ${n.identity.name||""}`),console.log(`user_id: ${n.identity.userId}`),console.log(`email: ${n.identity.email||""}`);else if(n.identityError)console.log(`identity_error: ${n.identityError}`);return}case"logout":{if(me(r)){console.log(_0());return}let n=yield*ne("Clearing credentials...",Ph);console.log(`token removed for ${n}`);return}default:throw Error(Gh())}}),m0=(e)=>{let t=e.includes("--list"),r=e.filter((o)=>o.startsWith("--")),n=e.filter((o)=>!o.startsWith("--"));if(t){if(r.length>1||n.length>0)throw Error("usage: fizzyx setup --list");return{list:!0}}if(r.length>0||n.length!==1)throw Error("usage: fizzyx setup <board-id>");return{board:n[0]}},Vn=(e)=>{let t=Number.parseInt((e||"").replace(/^#/,""),10);if(!Number.isFinite(t))throw Error("card number is required");return t},h0=(e,t)=>{let r=e.indexOf(t);if(r<0||!e[r+1])return;return e[r+1]},x0=(e)=>e.find((t)=>!t.startsWith("--")),g0=(e)=>e==="-"?u.tryPromise({try:()=>Bun.stdin.text(),catch:(t)=>Error(`failed to read stdin: ${String(t)}`)}):u.tryPromise({try:()=>Bun.file(e).text(),catch:(t)=>Error(`failed to read ${e}: ${String(t)}`)}),Cs=(e)=>e==="help"||e==="--help"||e==="-h",me=(e)=>e.some(Cs),ex=()=>`fizzyx <command>
|
|
48
48
|
|
|
49
49
|
commands:
|
|
50
50
|
setup
|