gitpick 4.5.0-canary.2 → 4.5.0-canary.3
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/index.js +25 -25
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,38 +1,38 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
var
|
|
3
|
-
`?t.slice(0,t.at(-2)==="\r"?-2:-1):t;var
|
|
4
|
-
for await (const line of spawn(...)) { ... }`);e.isIterating=!0;try{let{[r]:l}=yield new b(t.nodeChildProcess);if(!l)return;let u="";try{for(var n=I(l.iterator({destroyOnReturn:!1})),a,c,p;a=!(c=yield new b(n.next())).done;a=!1){let g=c.value;let m=`${u}${g}`.split(/\r?\n/);u=m.pop(),yield*q(m)}}catch(c){p=[c]}finally{try{a&&(c=n.return)&&(yield new b(c.call(n)))}finally{if(p)throw p[0]}}u&&(yield u)}finally{yield new b(t)}})},ft=function(...t){return F(this,null,function*(){try{let e=[];for(;t.length>0;){e=t.map((n,a)=>{var c;return(c=e[a])!=null?c:Kt(n)});let[{value:r,done:o},i]=yield new b(Promise.race(e.map((n,a)=>Promise.all([n,a])))),[s]=t.splice(i,1);e.splice(i,1),o||(t.push(s),yield r)}}finally{yield new b(Promise.all(t.map(e=>e.return())))}})},Kt=async t=>{try{return await t.next()}catch(e){await t.throw(e)}};function $(t,e,r,o){let[i=[],s={}]=Array.isArray(e)?[e,r]:[[],e],n=X([t,...i]),a=et(s),c=ht(t,i,a,n),p=at(c,a,n);Object.assign(p,{nodeChildProcess:c}),p=o?ut([o,p]):p;let l=H(p,n,"stdout"),u=H(p,n,"stderr");return Object.assign(p,{nodeChildProcess:c,stdout:l,stderr:u,[Symbol.asyncIterator]:()=>ft(l,u),pipe:(g,m,C)=>$(g,m,C,p)})}var A=async(t,e,r)=>{process.platform==="win32"&&await $("git",["config","--global","core.longpaths","true"]);let o=`https://${t.token?t.token+"@":t.token}github.com/${t.owner}/${t.repository}.git`,i=dt.resolve(Qt.tmpdir(),`${t.repository}-${Date.now()}${Math.random().toString(16).slice(2,6)}`);e.watch||console.log(`${y("\u2714")} Picking ${t.type}${t.type==="repository"?" without .git":" from repository"}...`);let s=performance.now();try{await $("git",["clone",o,i,"--branch",t.branch,"--depth","1","--single-branch",...e.recursive?["--recursive"]:[]])}catch(c){console.log(`${y("\u2714")} Using robust checkout process...`),await $("git",["clone",o,i,...e.recursive?["--recursive"]:[]]),await $("git",["checkout",t.branch],{cwd:i})}let n=dt.resolve(i,t.path);(await P.promises.stat(n)).isDirectory()?(await P.promises.mkdir(r,{recursive:!0}),await B(n,r)):(await P.promises.mkdir(r.split("/").slice(0,-1).join("/"),{recursive:!0}),await P.promises.copyFile(n,r)),e.watch?console.log("- Synced at "+new Date().toLocaleTimeString()):console.log(`${y("\u2714")} Picked ${t.type}${t.type==="repository"?" without .git":" from repository"} in ${((performance.now()-s)/1e3).toFixed(2)} seconds!`),await P.promises.rm(i,{recursive:!0,force:!0})};function N(t){if(typeof t=="number"||/^\d+$/.test(t))return typeof t=="number"?t:parseInt(t,10);let e=/(\d+)([hms])/g,r=0,o;for(;(o=e.exec(t))!==null;){let i=parseInt(o[1],10);switch(o[2]){case"h":r+=i*36e5;break;case"m":r+=i*6e4;break;case"s":r+=i*1e3;break}}return r}var gt=async t=>{var i,s;let e=(await $("git",["ls-remote",t])).stdout,r=(i=e.match(/(.+)\s+HEAD/))==null?void 0:i[1],o=(s=e.match(new RegExp(`${r}\\s+refs/heads/(.+)`)))==null?void 0:s[1];if(!o)throw new Error("Could not determine default branch!");return o};async function wt(t,{branch:e,target:r}){let o=/^https:\/\/([^@]+)@github\.com/,i=t.match(o),s="";i&&(s=i[1],t=t.replace(o,"https://github.com"));let n=["git@github.com:","https://github.com/","https://raw.githubusercontent.com/"];for(let C of n)if(t.startsWith(C)){t=t.replace(C,"");break}let a=t.split("/"),c=a[0],p=a[1].endsWith(".git")?a[1].slice(0,-4):a[1],l=a[2]==="blob"?"blob":a[2]==="tree"?"tree":a[2]+a[3]==="refsheads"?"raw":"repository",u=e||(l==="repository"?await gt(`https://${s&&s+"@"}github.com/${c}/${p}`):l==="raw"?a[4]:a[3]),g=l?l==="raw"?a.slice(5).join("/"):a.slice(4).join("/"):a.slice(2).join("/")||"/",m=r||(l==="blob"?".":g.split("/").pop()||p);return{token:s,owner:c,repository:p,type:l,branch:u,path:g,target:m}}var bt="gitpick",$t="4.5.0-canary.2";var Xt=`
|
|
5
|
-
${
|
|
2
|
+
var ct=Object.defineProperty,ke=Object.defineProperties;var Re=Object.getOwnPropertyDescriptors;var W=Object.getOwnPropertySymbols;var lt=Object.prototype.hasOwnProperty,pt=Object.prototype.propertyIsEnumerable;var S=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t),Ce=t=>{throw TypeError(t)};var K=(t,e,r)=>e in t?ct(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,g=(t,e)=>{for(var r in e||(e={}))lt.call(e,r)&&K(t,r,e[r]);if(W)for(var r of W(e))pt.call(e,r)&&K(t,r,e[r]);return t},k=(t,e)=>ke(t,Re(e));var I=(t,e)=>{var r={};for(var o in t)lt.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(t!=null&&W)for(var o of W(t))e.indexOf(o)<0&&pt.call(t,o)&&(r[o]=t[o]);return r};var Se=(t,e)=>{for(var r in e)ct(t,r,{get:e[r],enumerable:!0})};var ut=(t,e,r)=>K(t,typeof e!="symbol"?e+"":e,r);var v=function(t,e){this[0]=t,this[1]=e},q=(t,e,r)=>{var o=(i,a,c,l)=>{try{var m=r[i](a),d=(a=m.value)instanceof v,y=m.done;Promise.resolve(d?a[0]:a).then(f=>d?o(i==="return"?i:"next",a[1]?{done:f.done,value:f.value}:f,c,l):c({value:f,done:y})).catch(f=>o("throw",f,c,l))}catch(f){l(f)}},n=i=>s[i]=a=>new Promise((c,l)=>o(i,a,c,l)),s={};return r=r.apply(t,e),s[S("asyncIterator")]=()=>s,n("next"),n("throw"),n("return"),s},mt=t=>{var e=t[S("asyncIterator")],r=!1,o,n={};return e==null?(e=t[S("iterator")](),o=s=>n[s]=i=>e[s](i)):(e=e.call(t),o=s=>n[s]=i=>{if(r){if(r=!1,s==="throw")throw i;return i}return r=!0,{done:!1,value:new v(new Promise(a=>{var c=e[s](i);c instanceof Object||Ce("Object expected"),a(c)}),1)}}),n[S("iterator")]=()=>n,o("next"),"throw"in e?o("throw"):n.throw=s=>{throw s},"return"in e&&o("return"),n},B=(t,e,r)=>(e=t[S("asyncIterator")])?e.call(t):(t=t[S("iterator")](),e={},r=(o,n)=>(n=t[o])&&(e[o]=s=>new Promise((i,a,c)=>(s=n.call(t,s),c=s.done,Promise.resolve(s.value).then(l=>i({value:l,done:c}),a)))),r("next"),r("return"),e);import Ee from"fs";import{parseArgs as Mr}from"node:util";import _r from"path";import j from"node:fs";import Ze from"node:os";import Lt from"node:path";import Oe from"node:tty";var ft,ht,G,dt,gt,Ae=(gt=(dt=(G=(ht=(ft=Oe)==null?void 0:ft.WriteStream)==null?void 0:ht.prototype)==null?void 0:G.hasColors)==null?void 0:dt.call(G))!=null?gt:!1,h=(t,e)=>{if(!Ae)return n=>n;let r=`\x1B[${t}m`,o=`\x1B[${e}m`;return n=>{let s=n+"",i=s.indexOf(o);if(i===-1)return r+s+o;let a=r,c=0;for(;i!==-1;)a+=s.slice(c,i)+r,c=i+o.length,i=s.indexOf(o,c);return a+=s.slice(c)+o,a}},Gr=h(0,0),x=h(1,22),Ur=h(2,22),Hr=h(3,23),Vr=h(4,24),Yr=h(53,55),Jr=h(7,27),Kr=h(8,28),qr=h(9,29),zr=h(30,39),z=h(31,39),$=h(32,39),P=h(33,39),Qr=h(34,39),Xr=h(35,39),w=h(36,39),Zr=h(37,39),to=h(90,39);import Q from"node:fs";import wt from"node:path";var X=async(t,e)=>{let r=await Q.promises.readdir(t,{withFileTypes:!0});await Q.promises.mkdir(e,{recursive:!0});for(let o of r){if(o.name===".git")continue;let n=wt.join(t,o.name),s=wt.join(e,o.name);o.isDirectory()?await X(n,s):await Q.promises.copyFile(n,s)}};import Ie from"node:process";import{stripVTControlCharacters as Pe}from"node:util";var bt=t=>({start:Ie.hrtime.bigint(),command:t.map(e=>je(Pe(e))).join(" "),state:{stdout:"",stderr:"",output:""}}),je=t=>/[^\w./-]/.test(t)?`'${t.replaceAll("'","'\\''")}'`:t;import O from"node:path";import{fileURLToPath as Le}from"node:url";import yt from"node:process";var xt=c=>{var l=c,{stdin:t,stdout:e,stderr:r,stdio:o=[t,e,r],env:n,preferLocal:s,cwd:i="."}=l,a=I(l,["stdin","stdout","stderr","stdio","env","preferLocal","cwd"]);var f;let m=i instanceof URL?Le(i):O.resolve(i),d=n?g(g({},yt.env),n):void 0,y=(f=o[0])==null?void 0:f.string;return k(g({},a),{input:y,stdio:y===void 0?o:["pipe",...o.slice(1)],env:s?Me(d!=null?d:yt.env,m):d,cwd:m})},Me=(n,o)=>{var s=n,{Path:t="",PATH:e=t}=s,r=I(s,["Path","PATH"]);let i=e.split(O.delimiter),a=$t([],O.resolve(o)).map(c=>O.join(c,"node_modules/.bin")).filter(c=>!i.includes(c));return k(g({},r),{PATH:[...a,e].filter(Boolean).join(O.delimiter)})},$t=(t,e)=>t.at(-1)===e?t:$t([...t,e],O.resolve(e,".."));import{spawn as Je}from"node:child_process";import{once as Ke}from"node:events";import Ot from"node:process";import{stat as _e}from"node:fs/promises";import vt from"node:path";import Tt from"node:process";var Et=async(t,e,r)=>await De(t,r)?[tt(t),e.map(o=>We(o)),k(g({},r),{shell:!0})]:[t,e,r],De=async(t,{shell:e,cwd:r,env:o=Tt.env})=>Tt.platform==="win32"&&!e&&!await Fe(t,r,o),Fe=async(t,e,{Path:r="",PATH:o=r})=>{var n,s;return kt.some(i=>t.toLowerCase().endsWith(i))||((s=Z[n=`${t}\0${e}\0${o}`])!=null?s:Z[n]=await Ne(t,e,o))},Z={},Ne=async(t,e,r)=>{let o=r.split(vt.delimiter).filter(Boolean).map(n=>n.replace(/^"(.*)"$/,"$1"));try{await Promise.all(kt.flatMap(n=>[e,...o].map(s=>`${vt.resolve(s,t)}${n}`)).map(async n=>{try{await _e(n)}catch(s){return}throw 0}))}catch(n){return!0}return!1},kt=[".exe",".com"],We=t=>tt(tt(`"${t.replaceAll(/(\\*)"/g,'$1$1\\"').replace(/(\\*)$/,"$1$1")}"`)),tt=t=>t.replaceAll(/([()\][%!^"`<>&|;, *?])/g,"^$1");import{once as Be,on as Ge}from"node:events";import Ue from"node:process";var Rt=async(t,{input:e},r)=>{let o=await t;e!==void 0&&o.stdin.end(e);let n=Be(o,"close");try{return await Promise.race([n,...o.stdio.filter(Boolean).map(s=>He(s))]),Ve(r,Ct(o)),St(r)}catch(s){throw await Promise.allSettled([n]),rt(s,o,r)}},He=async t=>{try{for(var e=B(Ge(t,"error")),r,o,n;r=!(o=await e.next()).done;r=!1){let[s]=o.value;if(!["ERR_STREAM_PREMATURE_CLOSE","EPIPE"].includes(s==null?void 0:s.code))throw s}}catch(o){n=[o]}finally{try{r&&(o=e.return)&&await o.call(e)}finally{if(n)throw n[0]}}},Ve=({command:t},{exitCode:e,signalName:r})=>{if(r!==void 0)throw new R(`Command was terminated with ${r}: ${t}`);if(e!==void 0)throw new R(`Command failed with exit code ${e}: ${t}`)},rt=(t,e,r)=>Object.assign(Ye(t,r),Ct(e),St(r)),Ye=(t,{command:e})=>t instanceof R?t:new R(`Command failed: ${e}`,{cause:t}),R=class extends Error{constructor(){super(...arguments);ut(this,"name","SubprocessError")}},Ct=({exitCode:t,signalCode:e})=>g(g({},t<1?{}:{exitCode:t}),e===null?{}:{signalName:e}),St=({state:{stdout:t,stderr:e,output:r},command:o,start:n})=>({stdout:et(t),stderr:et(e),output:et(r),command:o,durationMs:Number(Ue.hrtime.bigint()-n)/1e6}),et=t=>t.at(-1)===`
|
|
3
|
+
`?t.slice(0,t.at(-2)==="\r"?-2:-1):t;var It=async(t,e,r,o)=>{try{[t,e]=["node","node.exe"].includes(t.toLowerCase())?[Ot.execPath,[...Ot.execArgv.filter(s=>!s.startsWith("--inspect")),...e]]:[t,e];let n=Je(...await Et(t,e,r));return At(n.stdout,o,"stdout"),At(n.stderr,o,"stderr"),n.once("error",()=>{}),await Ke(n,"spawn"),n}catch(n){throw rt(n,{},o)}},At=(t,{state:e},r)=>{t&&(t.setEncoding("utf8"),e.isIterating||(e.isIterating=!1,t.on("data",o=>{e[r]+=o,e.output+=o})))};import{pipeline as qe}from"node:stream/promises";var Pt=async t=>{var o;let[[e,r]]=await Promise.all([Promise.allSettled(t),ze(t)]);if(r.reason)throw r.reason.pipedFrom=(o=e.reason)!=null?o:e.value,r.reason;if(e.reason)throw e.reason;return k(g({},r.value),{pipedFrom:e.value})},ze=async t=>{try{let[{stdout:e},{stdin:r}]=await Promise.all(t.map(({nodeChildProcess:o})=>o));if(r===null)throw new Error('The "stdin" option must be set on the first "spawn()" call in the pipeline.');if(e===null)throw new Error('The "stdout" option must be set on the last "spawn()" call in the pipeline.');qe(e,r).catch(()=>{})}catch(e){throw await Promise.allSettled(t.map(({nodeChildProcess:r})=>Qe(r))),e}},Qe=async t=>{let{stdin:e}=await t;e.end()};var ot=function(o,n,s){return q(this,arguments,function*(t,{state:e},r){if(e.isIterating===!1)throw new Error(`The subprocess must be iterated right away, for example:
|
|
4
|
+
for await (const line of spawn(...)) { ... }`);e.isIterating=!0;try{let{[r]:m}=yield new v(t.nodeChildProcess);if(!m)return;let d="";try{for(var i=B(m.iterator({destroyOnReturn:!1})),a,c,l;a=!(c=yield new v(i.next())).done;a=!1){let y=c.value;let f=`${d}${y}`.split(/\r?\n/);d=f.pop(),yield*mt(f)}}catch(c){l=[c]}finally{try{a&&(c=i.return)&&(yield new v(c.call(i)))}finally{if(l)throw l[0]}}d&&(yield d)}finally{yield new v(t)}})},jt=function(...t){return q(this,null,function*(){try{let e=[];for(;t.length>0;){e=t.map((i,a)=>{var c;return(c=e[a])!=null?c:Xe(i)});let[{value:r,done:o},n]=yield new v(Promise.race(e.map((i,a)=>Promise.all([i,a])))),[s]=t.splice(n,1);e.splice(n,1),o||(t.push(s),yield r)}}finally{yield new v(Promise.all(t.map(e=>e.return())))}})},Xe=async t=>{try{return await t.next()}catch(e){await t.throw(e)}};function T(t,e,r,o){let[n=[],s={}]=Array.isArray(e)?[e,r]:[[],e],i=bt([t,...n]),a=xt(s),c=It(t,n,a,i),l=Rt(c,a,i);Object.assign(l,{nodeChildProcess:c}),l=o?Pt([o,l]):l;let m=ot(l,i,"stdout"),d=ot(l,i,"stderr");return Object.assign(l,{nodeChildProcess:c,stdout:m,stderr:d,[Symbol.asyncIterator]:()=>jt(m,d),pipe:(y,f,N)=>T(y,f,N,l)})}var U=async(t,e,r)=>{process.platform==="win32"&&await T("git",["config","--global","core.longpaths","true"]);let o=`https://${t.token?t.token+"@":t.token}github.com/${t.owner}/${t.repository}.git`,n=Lt.resolve(Ze.tmpdir(),`${t.repository}-${Date.now()}${Math.random().toString(16).slice(2,6)}`);e.watch||console.log(`${$("\u2714")} Picking ${t.type}${t.type==="repository"?" without .git":" from repository"}...`);let s=performance.now();try{await T("git",["clone",o,n,"--branch",t.branch,"--depth","1","--single-branch",...e.recursive?["--recursive"]:[]])}catch(c){console.log(`${$("\u2714")} Using robust checkout process...`),await T("git",["clone",o,n,...e.recursive?["--recursive"]:[]]),await T("git",["checkout",t.branch],{cwd:n})}let i=Lt.resolve(n,t.path);(await j.promises.stat(i)).isDirectory()?(await j.promises.mkdir(r,{recursive:!0}),await X(i,r)):(await j.promises.mkdir(r.split("/").slice(0,-1).join("/"),{recursive:!0}),await j.promises.copyFile(i,r)),e.watch?console.log("- Synced at "+new Date().toLocaleTimeString()):console.log(`${$("\u2714")} Picked ${t.type}${t.type==="repository"?" without .git":" from repository"} in ${((performance.now()-s)/1e3).toFixed(2)} seconds!`),await j.promises.rm(n,{recursive:!0,force:!0})};function nt(t){if(typeof t=="number"||/^\d+$/.test(t))return typeof t=="number"?t:parseInt(t,10);let e=/(\d+)([hms])/g,r=0,o;for(;(o=e.exec(t))!==null;){let n=parseInt(o[1],10);switch(o[2]){case"h":r+=n*36e5;break;case"m":r+=n*6e4;break;case"s":r+=n*1e3;break}}return r}var Mt=async t=>{var n,s;let e=(await T("git",["ls-remote",t])).stdout,r=(n=e.match(/(.+)\s+HEAD/))==null?void 0:n[1],o=(s=e.match(new RegExp(`${r}\\s+refs/heads/(.+)`)))==null?void 0:s[1];if(!o)throw new Error("Could not determine default branch!");return o};async function _t(t,{branch:e,target:r}){let o=/^https:\/\/([^@]+)@github\.com/,n=t.match(o),s="";n&&(s=n[1],t=t.replace(o,"https://github.com"));let i=["git@github.com:","https://github.com/","https://raw.githubusercontent.com/"];for(let N of i)if(t.startsWith(N)){t=t.replace(N,"");break}let a=t.split("/"),c=a[0],l=a[1].endsWith(".git")?a[1].slice(0,-4):a[1],m=a[2]==="blob"?"blob":a[2]==="tree"?"tree":a[2]+a[3]==="refsheads"?"raw":"repository",d=e||(m==="repository"?await Mt(`https://${s&&s+"@"}github.com/${c}/${l}`):m==="raw"?a[4]:a[3]),y=m?m==="raw"?a.slice(5).join("/"):a.slice(4).join("/"):a.slice(2).join("/")||"/",f=r||(m==="blob"?".":y.split("/").pop()||l);return{token:s,owner:c,repository:l,type:m,branch:d,path:y,target:f}}var D={};Se(D,{beep:()=>kr,clearScreen:()=>$r,clearTerminal:()=>vr,cursorBackward:()=>ir,cursorDown:()=>nr,cursorForward:()=>sr,cursorGetPosition:()=>lr,cursorHide:()=>mr,cursorLeft:()=>ge,cursorMove:()=>or,cursorNextLine:()=>pr,cursorPrevLine:()=>ur,cursorRestorePosition:()=>cr,cursorSavePosition:()=>ar,cursorShow:()=>fr,cursorTo:()=>rr,cursorUp:()=>de,enterAlternativeScreen:()=>Tr,eraseDown:()=>wr,eraseEndLine:()=>dr,eraseLine:()=>we,eraseLines:()=>hr,eraseScreen:()=>st,eraseStartLine:()=>gr,eraseUp:()=>br,exitAlternativeScreen:()=>Er,iTerm:()=>Sr,image:()=>Cr,link:()=>Rr,scrollDown:()=>xr,scrollUp:()=>yr});import it from"node:process";var Dt,H=((Dt=globalThis.window)==null?void 0:Dt.document)!==void 0,Ft,Nt,tn=((Nt=(Ft=globalThis.process)==null?void 0:Ft.versions)==null?void 0:Nt.node)!==void 0,Wt,Bt,en=((Bt=(Wt=globalThis.process)==null?void 0:Wt.versions)==null?void 0:Bt.bun)!==void 0,Gt,Ut,rn=((Ut=(Gt=globalThis.Deno)==null?void 0:Gt.version)==null?void 0:Ut.deno)!==void 0,Ht,Vt,on=((Vt=(Ht=globalThis.process)==null?void 0:Ht.versions)==null?void 0:Vt.electron)!==void 0,Yt,Jt,nn=((Jt=(Yt=globalThis.navigator)==null?void 0:Yt.userAgent)==null?void 0:Jt.includes("jsdom"))===!0,sn=typeof WorkerGlobalScope!="undefined"&&globalThis instanceof WorkerGlobalScope,an=typeof DedicatedWorkerGlobalScope!="undefined"&&globalThis instanceof DedicatedWorkerGlobalScope,cn=typeof SharedWorkerGlobalScope!="undefined"&&globalThis instanceof SharedWorkerGlobalScope,ln=typeof ServiceWorkerGlobalScope!="undefined"&&globalThis instanceof ServiceWorkerGlobalScope,Kt,qt,L=(qt=(Kt=globalThis.navigator)==null?void 0:Kt.userAgentData)==null?void 0:qt.platform,zt,Qt,Xt,Zt,pn=L==="macOS"||((zt=globalThis.navigator)==null?void 0:zt.platform)==="MacIntel"||((Xt=(Qt=globalThis.navigator)==null?void 0:Qt.userAgent)==null?void 0:Xt.includes(" Mac "))===!0||((Zt=globalThis.process)==null?void 0:Zt.platform)==="darwin",te,ee,un=L==="Windows"||((te=globalThis.navigator)==null?void 0:te.platform)==="Win32"||((ee=globalThis.process)==null?void 0:ee.platform)==="win32",re,oe,ne,se,ie,mn=L==="Linux"||((oe=(re=globalThis.navigator)==null?void 0:re.platform)==null?void 0:oe.startsWith("Linux"))===!0||((se=(ne=globalThis.navigator)==null?void 0:ne.userAgent)==null?void 0:se.includes(" Linux "))===!0||((ie=globalThis.process)==null?void 0:ie.platform)==="linux",ae,ce,le,fn=L==="iOS"||((ae=globalThis.navigator)==null?void 0:ae.platform)==="MacIntel"&&((ce=globalThis.navigator)==null?void 0:ce.maxTouchPoints)>1||/iPad|iPhone|iPod/.test((le=globalThis.navigator)==null?void 0:le.platform),pe,ue,me,fe,hn=L==="Android"||((pe=globalThis.navigator)==null?void 0:pe.platform)==="Android"||((me=(ue=globalThis.navigator)==null?void 0:ue.userAgent)==null?void 0:me.includes(" Android "))===!0||((fe=globalThis.process)==null?void 0:fe.platform)==="android";var p="\x1B[",_="\x1B]",A="\x07",M=";",he=!H&&it.env.TERM_PROGRAM==="Apple_Terminal",tr=!H&&it.platform==="win32",er=H?()=>{throw new Error("`process.cwd()` only works in Node.js, not the browser.")}:it.cwd,rr=(t,e)=>{if(typeof t!="number")throw new TypeError("The `x` argument is required");return typeof e!="number"?p+(t+1)+"G":p+(e+1)+M+(t+1)+"H"},or=(t,e)=>{if(typeof t!="number")throw new TypeError("The `x` argument is required");let r="";return t<0?r+=p+-t+"D":t>0&&(r+=p+t+"C"),e<0?r+=p+-e+"A":e>0&&(r+=p+e+"B"),r},de=(t=1)=>p+t+"A",nr=(t=1)=>p+t+"B",sr=(t=1)=>p+t+"C",ir=(t=1)=>p+t+"D",ge=p+"G",ar=he?"\x1B7":p+"s",cr=he?"\x1B8":p+"u",lr=p+"6n",pr=p+"E",ur=p+"F",mr=p+"?25l",fr=p+"?25h",hr=t=>{let e="";for(let r=0;r<t;r++)e+=we+(r<t-1?de():"");return t&&(e+=ge),e},dr=p+"K",gr=p+"1K",we=p+"2K",wr=p+"J",br=p+"1J",st=p+"2J",yr=p+"S",xr=p+"T",$r="\x1Bc",vr=tr?`${st}${p}0f`:`${st}${p}3J${p}H`,Tr=p+"?1049h",Er=p+"?1049l",kr=A,Rr=(t,e)=>[_,"8",M,M,e,A,t,_,"8",M,M,A].join(""),Cr=(t,e={})=>{let r=`${_}1337;File=inline=1`;return e.width&&(r+=`;width=${e.width}`),e.height&&(r+=`;height=${e.height}`),e.preserveAspectRatio===!1&&(r+=";preserveAspectRatio=0"),r+":"+Buffer.from(t).toString("base64")+A},Sr={setCwd:(t=er())=>`${_}50;CurrentDir=${t}${A}`,annotation(t,e={}){let r=`${_}1337;`,o=e.x!==void 0,n=e.y!==void 0;if((o||n)&&!(o&&n&&e.length!==void 0))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return t=t.replaceAll("|",""),r+=e.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",e.length>0?r+=(o?[t,e.length,e.x,e.y]:[e.length,t]).join("|"):r+=t,r+A}};import F from"node:process";import at from"node:process";import Or from"node:os";import be from"node:tty";function b(t,e=globalThis.Deno?globalThis.Deno.args:at.argv){let r=t.startsWith("-")?"":t.length===1?"-":"--",o=e.indexOf(r+t),n=e.indexOf("--");return o!==-1&&(n===-1||o<n)}var{env:u}=at,V;b("no-color")||b("no-colors")||b("color=false")||b("color=never")?V=0:(b("color")||b("colors")||b("color=true")||b("color=always"))&&(V=1);function Ar(){if(!("FORCE_COLOR"in u))return;if(u.FORCE_COLOR==="true")return 1;if(u.FORCE_COLOR==="false")return 0;if(u.FORCE_COLOR.length===0)return 1;let t=Math.min(Number.parseInt(u.FORCE_COLOR,10),3);if([0,1,2,3].includes(t))return t}function Ir(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Pr(t,{streamIsTTY:e,sniffFlags:r=!0}={}){let o=Ar();o!==void 0&&(V=o);let n=r?V:o;if(n===0)return 0;if(r){if(b("color=16m")||b("color=full")||b("color=truecolor"))return 3;if(b("color=256"))return 2}if("TF_BUILD"in u&&"AGENT_NAME"in u)return 1;if(t&&!e&&n===void 0)return 0;let s=n||0;if(u.TERM==="dumb")return s;if(at.platform==="win32"){let i=Or.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in u)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(i=>i in u)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(i=>i in u)||u.CI_NAME==="codeship"?1:s;if("TEAMCITY_VERSION"in u)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(u.TEAMCITY_VERSION)?1:0;if(u.COLORTERM==="truecolor"||u.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in u){let i=Number.parseInt((u.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(u.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(u.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(u.TERM)||"COLORTERM"in u?1:s}function Y(t,e={}){let r=Pr(t,g({streamIsTTY:t&&t.isTTY},e));return Ir(r)}var Tn={stdout:Y({isTTY:be.isatty(1)}),stderr:Y({isTTY:be.isatty(2)})};import jr from"process";function E(t,e=jr.argv){let r=t.startsWith("-")?"":t.length===1?"-":"--",o=e.indexOf(r+t),n=e.indexOf("--");return o!==-1&&(n===-1||o<n)}function ye(t=""){var r;if(/^\d{3,4}$/.test(t)){let o=(r=/(\d{1,2})(\d{2})/.exec(t))!=null?r:[];return{major:0,minor:Number.parseInt(o[1],10),patch:Number.parseInt(o[2],10)}}let e=(t!=null?t:"").split(".").map(o=>Number.parseInt(o,10));return{major:e[0],minor:e[1],patch:e[2]}}function xe(t){let{CI:e,FORCE_HYPERLINK:r,NETLIFY:o,TEAMCITY_VERSION:n,TERM_PROGRAM:s,TERM_PROGRAM_VERSION:i,VTE_VERSION:a,TERM:c}=F.env;if(r)return!(r.length>0&&Number.parseInt(r,10)===0);if(E("no-hyperlink")||E("no-hyperlinks")||E("hyperlink=false")||E("hyperlink=never"))return!1;if(E("hyperlink=true")||E("hyperlink=always")||o)return!0;if(!Y(t)||t&&!t.isTTY)return!1;if("WT_SESSION"in F.env)return!0;if(F.platform==="win32"||e||n)return!1;if(s){let l=ye(i);switch(s){case"iTerm.app":return l.major===3?l.minor>=1:l.major>3;case"WezTerm":return l.major>=20200620;case"vscode":return l.major>1||l.major===1&&l.minor>=72;case"ghostty":return!0}}if(a){if(a==="0.50.0")return!1;let l=ye(a);return l.major>0||l.minor>=50}switch(c){case"alacritty":return!0}return!1}var Lr={stdout:xe(F.stdout),stderr:xe(F.stderr)},J=Lr;function C(t,e,n={}){var s=n,{target:r="stdout"}=s,o=I(s,["target"]);return J[r]?D.link(t,e):o.fallback===!1?t:typeof o.fallback=="function"?o.fallback(t,e):`${t} (\u200B${e}\u200B)`}C.isSupported=J.stdout;C.stderr=(t,e,r={})=>C(t,e,g({target:"stderr"},r));C.stderr.isSupported=J.stderr;var ve="gitpick",Te="4.5.0-canary.3";var Dr=`
|
|
5
|
+
${x("With GitPick, you can clone precisely what you need.")}
|
|
6
6
|
|
|
7
|
-
${
|
|
7
|
+
${x("gitpick")} ${P("<url>")} ${$("[target]")} ${w("[options]")}
|
|
8
8
|
|
|
9
|
-
${
|
|
9
|
+
${x("Hint:")} Target is optional, and follows default git clone behavior.
|
|
10
10
|
|
|
11
|
-
${
|
|
12
|
-
${
|
|
13
|
-
${
|
|
11
|
+
${x("Arguments:")}
|
|
12
|
+
${P("url")} GitHub URL with path to file/folder/repository
|
|
13
|
+
${$("target")} Directory to clone into (optional)
|
|
14
14
|
|
|
15
|
-
${
|
|
16
|
-
${
|
|
17
|
-
${
|
|
18
|
-
${
|
|
19
|
-
${
|
|
15
|
+
${x("Options:")}
|
|
16
|
+
${w("-b, --branch ")} Branch to clone
|
|
17
|
+
${w("-o, --overwrite")} Skip overwrite prompt
|
|
18
|
+
${w("-r, --recursive")} Clone submodules
|
|
19
|
+
${w("-w, --watch [time]")} Watch the repository and sync every [time]
|
|
20
20
|
(e.g. 1h, 30m, 15s)
|
|
21
|
-
${
|
|
22
|
-
${
|
|
21
|
+
${w("-h, --help")} display help for command
|
|
22
|
+
${w("-v, --version")} display the version number
|
|
23
23
|
|
|
24
|
-
${
|
|
24
|
+
${x("Examples:")}
|
|
25
25
|
$ gitpick <url>
|
|
26
26
|
$ gitpick <url> [target]
|
|
27
27
|
$ gitpick <url> [target] -b [branch]
|
|
28
28
|
$ gitpick <url> [target] -w [time]
|
|
29
29
|
$ gitpick <url> [target] -b [branch] -w [time]
|
|
30
30
|
|
|
31
|
-
\u{1F680} More awesome tools at ${
|
|
32
|
-
${
|
|
33
|
-
${
|
|
34
|
-
Warning: The target directory is not empty. Use ${
|
|
35
|
-
\u{1F440} Watching every ${
|
|
36
|
-
`),await
|
|
37
|
-
${
|
|
38
|
-
Unexpected Error: `)}`)+JSON.stringify(t,null,2)),process.exit(1)}};
|
|
31
|
+
\u{1F680} More awesome tools at ${w("https://github.com/nrjdalal")}`,Fr=t=>{try{return Mr(t)}catch(e){throw new Error(`Error parsing arguments: ${e.message}`)}},Nr=async()=>{try{let{positionals:t,values:e}=Fr({allowPositionals:!0,options:{branch:{type:"string",short:"b"},force:{type:"boolean",short:"f"},help:{type:"boolean",short:"h"},overwrite:{type:"boolean",short:"o"},recursive:{type:"boolean",short:"r"},version:{type:"boolean",short:"v"},watch:{type:"string",short:"w"}}});t.length||(e.version&&(console.log(`
|
|
32
|
+
${ve}@${Te}`),process.exit(0)),console.log(Dr),process.exit(0)),t[0]==="clone"&&t.shift();let[r,o]=t,n={branch:e.branch,force:e.force,overwrite:e.overwrite,recursive:e.recursive,watch:e.watch};console.log(`${x(`${C("GitPick \u2197\uFE0F ","https://github.com/nrjdalal/gitpick")}`)} - Clone specific directories or files from GitHub!`);let s=await _t(r,{branch:n.branch,target:o});if(s.type==="blob"){let a=s.target.split("/").filter(l=>l!==""),c=a[a.length-1];c!=="."&&c!==".."&&c.includes(".")?a.pop():c=s.path.split("/").pop()||c,s.target=[...a,c].join("/")}console.info(`
|
|
33
|
+
${$("\u2714")} ${s.owner}/${s.repository} ${w(s.type+":"+s.branch)} ${s.type==="repository"?`> ${$(s.target)}`:`${s.path.length?P(s.path)+" >":">"} ${$(s.target)}`}`);let i=_r.resolve(s.target);if(n.overwrite=n.overwrite||n.force,n.watch&&(n.overwrite=!0),Ee.existsSync(i+(s.type==="blob"?"/"+s.path.split("/").pop():""))&&(await Ee.promises.readdir(i)).length&&!n.overwrite&&(console.log(x(`${P(`
|
|
34
|
+
Warning: The target directory is not empty. Use ${w("-f")} | ${w("-o")} to overwrite.`)}`)),process.exit(1)),n.watch){console.log(`
|
|
35
|
+
\u{1F440} Watching every ${nt(n.watch)/1e3+"s"}
|
|
36
|
+
`),await U(s,n,i);let a=nt(n.watch);setInterval(async()=>await U(s,n,i),a)}else await U(s,n,i),process.exit(0)}catch(t){t instanceof Error?console.log(x(`
|
|
37
|
+
${z("Error: ")}`)+t.message):console.log(x(`${z(`
|
|
38
|
+
Unexpected Error: `)}`)+JSON.stringify(t,null,2)),process.exit(1)}};Nr();
|