gitpick 4.5.0-canary.3 → 4.5.0

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.
Files changed (3) hide show
  1. package/README.md +1 -1
  2. package/dist/index.js +12 -12
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  **Clone exactly what you need aka straightforward project scaffolding**
4
4
 
5
- 📦 `Zero dependencies` / `Un/packed (<25/10kb)` / `Faster and more features` yet drop-in replacement for `degit`
5
+ 📦 `Zero dependencies` / `Un/packed (<30/15kb)` / `Faster and more features` yet drop-in replacement for `degit`
6
6
 
7
7
  [![Twitter](https://img.shields.io/twitter/follow/nrjdalal_com?label=%40nrjdalal_com)](https://twitter.com/nrjdalal_com)
8
8
  [![npm](https://img.shields.io/npm/v/gitpick?color=red&logo=npm)](https://www.npmjs.com/package/gitpick)
package/dist/index.js CHANGED
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
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=`
2
+ var lt=Object.defineProperty,Ce=Object.defineProperties;var Se=Object.getOwnPropertyDescriptors;var F=Object.getOwnPropertySymbols;var pt=Object.prototype.hasOwnProperty,ut=Object.prototype.propertyIsEnumerable;var S=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t),Oe=t=>{throw TypeError(t)};var q=(t,e,r)=>e in t?lt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,g=(t,e)=>{for(var r in e||(e={}))pt.call(e,r)&&q(t,r,e[r]);if(F)for(var r of F(e))ut.call(e,r)&&q(t,r,e[r]);return t},k=(t,e)=>Ce(t,Se(e));var B=(t,e)=>{var r={};for(var o in t)pt.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(t!=null&&F)for(var o of F(t))e.indexOf(o)<0&&ut.call(t,o)&&(r[o]=t[o]);return r};var mt=(t,e)=>{for(var r in e)lt(t,r,{get:e[r],enumerable:!0})};var ft=(t,e,r)=>q(t,typeof e!="symbol"?e+"":e,r);var v=function(t,e){this[0]=t,this[1]=e},z=(t,e,r)=>{var o=(i,a,c,p)=>{try{var f=r[i](a),d=(a=f.value)instanceof v,y=f.done;Promise.resolve(d?a[0]:a).then(h=>d?o(i==="return"?i:"next",a[1]?{done:h.done,value:h.value}:h,c,p):c({value:h,done:y})).catch(h=>o("throw",h,c,p))}catch(h){p(h)}},n=i=>s[i]=a=>new Promise((c,p)=>o(i,a,c,p)),s={};return r=r.apply(t,e),s[S("asyncIterator")]=()=>s,n("next"),n("throw"),n("return"),s},ht=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||Oe("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},N=(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(p=>i({value:p,done:c}),a)))),r("next"),r("return"),e);import Re from"fs";import{parseArgs as bo}from"node:util";import yo from"path";import P from"node:fs";import Lr from"node:os";import Lt from"node:path";import Q from"node:fs";import dt 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=dt.join(t,o.name),s=dt.join(e,o.name);o.isDirectory()?await X(n,s):await Q.promises.copyFile(n,s)}};import Ae from"node:process";import{stripVTControlCharacters as Ie}from"node:util";var gt=t=>({start:Ae.hrtime.bigint(),command:t.map(e=>Be(Ie(e))).join(" "),state:{stdout:"",stderr:"",output:""}}),Be=t=>/[^\w./-]/.test(t)?`'${t.replaceAll("'","'\\''")}'`:t;import O from"node:path";import{fileURLToPath as Pe}from"node:url";import wt from"node:process";var xt=c=>{var p=c,{stdin:t,stdout:e,stderr:r,stdio:o=[t,e,r],env:n,preferLocal:s,cwd:i="."}=p,a=B(p,["stdin","stdout","stderr","stdio","env","preferLocal","cwd"]);var h;let f=i instanceof URL?Pe(i):O.resolve(i),d=n?g(g({},wt.env),n):void 0,y=(h=o[0])==null?void 0:h.string;return k(g({},a),{input:y,stdio:y===void 0?o:["pipe",...o.slice(1)],env:s?je(d!=null?d:wt.env,f):d,cwd:f})},je=(n,o)=>{var s=n,{Path:t="",PATH:e=t}=s,r=B(s,["Path","PATH"]);let i=e.split(O.delimiter),a=bt([],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)})},bt=(t,e)=>t.at(-1)===e?t:bt([...t,e],O.resolve(e,".."));import{spawn as Ye}from"node:child_process";import{once as Je}from"node:events";import Ct from"node:process";import{stat as Me}from"node:fs/promises";import yt from"node:path";import $t from"node:process";var vt=async(t,e,r)=>await Le(t,r)?[tt(t),e.map(o=>De(o)),k(g({},r),{shell:!0})]:[t,e,r],Le=async(t,{shell:e,cwd:r,env:o=$t.env})=>$t.platform==="win32"&&!e&&!await _e(t,r,o),_e=async(t,e,{Path:r="",PATH:o=r})=>{var n,s;return Tt.some(i=>t.toLowerCase().endsWith(i))||((s=Z[n=`${t}\0${e}\0${o}`])!=null?s:Z[n]=await We(t,e,o))},Z={},We=async(t,e,r)=>{let o=r.split(yt.delimiter).filter(Boolean).map(n=>n.replace(/^"(.*)"$/,"$1"));try{await Promise.all(Tt.flatMap(n=>[e,...o].map(s=>`${yt.resolve(s,t)}${n}`)).map(async n=>{try{await Me(n)}catch(s){return}throw 0}))}catch(n){return!0}return!1},Tt=[".exe",".com"],De=t=>tt(tt(`"${t.replaceAll(/(\\*)"/g,'$1$1\\"').replace(/(\\*)$/,"$1$1")}"`)),tt=t=>t.replaceAll(/([()\][%!^"`<>&|;, *?])/g,"^$1");import{once as Fe,on as Ne}from"node:events";import Ge from"node:process";var Et=async(t,{input:e},r)=>{let o=await t;e!==void 0&&o.stdin.end(e);let n=Fe(o,"close");try{return await Promise.race([n,...o.stdio.filter(Boolean).map(s=>Ue(s))]),He(r,kt(o)),Rt(r)}catch(s){throw await Promise.allSettled([n]),rt(s,o,r)}},Ue=async t=>{try{for(var e=N(Ne(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]}}},He=({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(Ve(t,r),kt(e),Rt(r)),Ve=(t,{command:e})=>t instanceof R?t:new R(`Command failed: ${e}`,{cause:t}),R=class extends Error{constructor(){super(...arguments);ft(this,"name","SubprocessError")}},kt=({exitCode:t,signalCode:e})=>g(g({},t<1?{}:{exitCode:t}),e===null?{}:{signalName:e}),Rt=({state:{stdout:t,stderr:e,output:r},command:o,start:n})=>({stdout:et(t),stderr:et(e),output:et(r),command:o,durationMs:Number(Ge.hrtime.bigint()-n)/1e6}),et=t=>t.at(-1)===`
3
+ `?t.slice(0,t.at(-2)==="\r"?-2:-1):t;var Ot=async(t,e,r,o)=>{try{[t,e]=["node","node.exe"].includes(t.toLowerCase())?[Ct.execPath,[...Ct.execArgv.filter(s=>!s.startsWith("--inspect")),...e]]:[t,e];let n=Ye(...await vt(t,e,r));return St(n.stdout,o,"stdout"),St(n.stderr,o,"stderr"),n.once("error",()=>{}),await Je(n,"spawn"),n}catch(n){throw rt(n,{},o)}},St=(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 Ke}from"node:stream/promises";var At=async t=>{var o;let[[e,r]]=await Promise.all([Promise.allSettled(t),qe(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})},qe=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.');Ke(e,r).catch(()=>{})}catch(e){throw await Promise.allSettled(t.map(({nodeChildProcess:r})=>ze(r))),e}},ze=async t=>{let{stdin:e}=await t;e.end()};var ot=function(o,n,s){return z(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]:f}=yield new v(t.nodeChildProcess);if(!f)return;let d="";try{for(var i=N(f.iterator({destroyOnReturn:!1})),a,c,p;a=!(c=yield new v(i.next())).done;a=!1){let y=c.value;let h=`${d}${y}`.split(/\r?\n/);d=h.pop(),yield*ht(h)}}catch(c){p=[c]}finally{try{a&&(c=i.return)&&(yield new v(c.call(i)))}finally{if(p)throw p[0]}}d&&(yield d)}finally{yield new v(t)}})},It=function(...t){return z(this,null,function*(){try{let e=[];for(;t.length>0;){e=t.map((i,a)=>{var c;return(c=e[a])!=null?c:Qe(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())))}})},Qe=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=gt([t,...n]),a=xt(s),c=Ot(t,n,a,i),p=Et(c,a,i);Object.assign(p,{nodeChildProcess:c}),p=o?At([o,p]):p;let f=ot(p,i,"stdout"),d=ot(p,i,"stderr");return Object.assign(p,{nodeChildProcess:c,stdout:f,stderr:d,[Symbol.asyncIterator]:()=>It(f,d),pipe:(y,h,D)=>T(y,h,D,p)})}var nt={};mt(nt,{bgBlack:()=>fr,bgBlue:()=>wr,bgBlueBright:()=>Br,bgCyan:()=>br,bgCyanBright:()=>jr,bgGray:()=>$r,bgGreen:()=>dr,bgGreenBright:()=>Ar,bgMagenta:()=>xr,bgMagentaBright:()=>Pr,bgRed:()=>hr,bgRedBright:()=>Or,bgWhite:()=>yr,bgWhiteBright:()=>Mr,bgYellow:()=>gr,bgYellowBright:()=>Ir,black:()=>cr,blue:()=>lr,blueBright:()=>kr,bold:()=>x,cyan:()=>w,cyanBright:()=>Cr,dim:()=>er,gray:()=>mr,green:()=>$,greenBright:()=>Tr,hidden:()=>ir,inverse:()=>sr,italic:()=>rr,magenta:()=>pr,magentaBright:()=>Rr,overline:()=>nr,red:()=>U,redBright:()=>vr,reset:()=>tr,strikethrough:()=>ar,underline:()=>or,white:()=>ur,whiteBright:()=>Sr,yellow:()=>A,yellowBright:()=>Er});import Xe from"node:tty";var Bt,Pt,G,jt,Mt,Ze=(Mt=(jt=(G=(Pt=(Bt=Xe)==null?void 0:Bt.WriteStream)==null?void 0:Pt.prototype)==null?void 0:G.hasColors)==null?void 0:jt.call(G))!=null?Mt:!1,l=(t,e)=>{if(!Ze)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}},tr=l(0,0),x=l(1,22),er=l(2,22),rr=l(3,23),or=l(4,24),nr=l(53,55),sr=l(7,27),ir=l(8,28),ar=l(9,29),cr=l(30,39),U=l(31,39),$=l(32,39),A=l(33,39),lr=l(34,39),pr=l(35,39),w=l(36,39),ur=l(37,39),mr=l(90,39),fr=l(40,49),hr=l(41,49),dr=l(42,49),gr=l(43,49),wr=l(44,49),xr=l(45,49),br=l(46,49),yr=l(47,49),$r=l(100,49),vr=l(91,39),Tr=l(92,39),Er=l(93,39),kr=l(94,39),Rr=l(95,39),Cr=l(96,39),Sr=l(97,39),Or=l(101,49),Ar=l(102,49),Ir=l(103,49),Br=l(104,49),Pr=l(105,49),jr=l(106,49),Mr=l(107,49);var H=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(Lr.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 P.promises.stat(i)).isDirectory()?(await P.promises.mkdir(r,{recursive:!0}),await X(i,r)):(await P.promises.mkdir(r.split("/").slice(0,-1).join("/"),{recursive:!0}),await P.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 P.promises.rm(n,{recursive:!0,force:!0})};function st(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 _t=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 Wt(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 D of i)if(t.startsWith(D)){t=t.replace(D,"");break}let a=t.split("/"),c=a[0],p=a[1].endsWith(".git")?a[1].slice(0,-4):a[1],f=a[2]==="blob"?"blob":a[2]==="tree"?"tree":a[2]+a[3]==="refsheads"?"raw":"repository",d=e||(f==="repository"?await _t(`https://${s&&s+"@"}github.com/${c}/${p}`):f==="raw"?a[4]:a[3]),y=f?f==="raw"?a.slice(5).join("/"):a.slice(4).join("/"):a.slice(2).join("/")||"/",h=r||(f==="blob"?".":y.split("/").pop()||p);return{token:s,owner:c,repository:p,type:f,branch:d,path:y,target:h}}var _={};mt(_,{beep:()=>co,clearScreen:()=>no,clearTerminal:()=>so,cursorBackward:()=>Ur,cursorDown:()=>Nr,cursorForward:()=>Gr,cursorGetPosition:()=>Yr,cursorHide:()=>qr,cursorLeft:()=>xe,cursorMove:()=>Fr,cursorNextLine:()=>Jr,cursorPrevLine:()=>Kr,cursorRestorePosition:()=>Vr,cursorSavePosition:()=>Hr,cursorShow:()=>zr,cursorTo:()=>Dr,cursorUp:()=>we,enterAlternativeScreen:()=>io,eraseDown:()=>to,eraseEndLine:()=>Xr,eraseLine:()=>be,eraseLines:()=>Qr,eraseScreen:()=>it,eraseStartLine:()=>Zr,eraseUp:()=>eo,exitAlternativeScreen:()=>ao,iTerm:()=>uo,image:()=>po,link:()=>lo,scrollDown:()=>oo,scrollUp:()=>ro});import at from"node:process";var Dt,V=((Dt=globalThis.window)==null?void 0:Dt.document)!==void 0,Ft,Nt,Rn=((Nt=(Ft=globalThis.process)==null?void 0:Ft.versions)==null?void 0:Nt.node)!==void 0,Gt,Ut,Cn=((Ut=(Gt=globalThis.process)==null?void 0:Gt.versions)==null?void 0:Ut.bun)!==void 0,Ht,Vt,Sn=((Vt=(Ht=globalThis.Deno)==null?void 0:Ht.version)==null?void 0:Vt.deno)!==void 0,Yt,Jt,On=((Jt=(Yt=globalThis.process)==null?void 0:Yt.versions)==null?void 0:Jt.electron)!==void 0,Kt,qt,An=((qt=(Kt=globalThis.navigator)==null?void 0:Kt.userAgent)==null?void 0:qt.includes("jsdom"))===!0,In=typeof WorkerGlobalScope!="undefined"&&globalThis instanceof WorkerGlobalScope,Bn=typeof DedicatedWorkerGlobalScope!="undefined"&&globalThis instanceof DedicatedWorkerGlobalScope,Pn=typeof SharedWorkerGlobalScope!="undefined"&&globalThis instanceof SharedWorkerGlobalScope,jn=typeof ServiceWorkerGlobalScope!="undefined"&&globalThis instanceof ServiceWorkerGlobalScope,zt,Qt,j=(Qt=(zt=globalThis.navigator)==null?void 0:zt.userAgentData)==null?void 0:Qt.platform,Xt,Zt,te,ee,Mn=j==="macOS"||((Xt=globalThis.navigator)==null?void 0:Xt.platform)==="MacIntel"||((te=(Zt=globalThis.navigator)==null?void 0:Zt.userAgent)==null?void 0:te.includes(" Mac "))===!0||((ee=globalThis.process)==null?void 0:ee.platform)==="darwin",re,oe,Ln=j==="Windows"||((re=globalThis.navigator)==null?void 0:re.platform)==="Win32"||((oe=globalThis.process)==null?void 0:oe.platform)==="win32",ne,se,ie,ae,ce,_n=j==="Linux"||((se=(ne=globalThis.navigator)==null?void 0:ne.platform)==null?void 0:se.startsWith("Linux"))===!0||((ae=(ie=globalThis.navigator)==null?void 0:ie.userAgent)==null?void 0:ae.includes(" Linux "))===!0||((ce=globalThis.process)==null?void 0:ce.platform)==="linux",le,pe,ue,Wn=j==="iOS"||((le=globalThis.navigator)==null?void 0:le.platform)==="MacIntel"&&((pe=globalThis.navigator)==null?void 0:pe.maxTouchPoints)>1||/iPad|iPhone|iPod/.test((ue=globalThis.navigator)==null?void 0:ue.platform),me,fe,he,de,Dn=j==="Android"||((me=globalThis.navigator)==null?void 0:me.platform)==="Android"||((he=(fe=globalThis.navigator)==null?void 0:fe.userAgent)==null?void 0:he.includes(" Android "))===!0||((de=globalThis.process)==null?void 0:de.platform)==="android";var u="\x1B[",L="\x1B]",I="\x07",M=";",ge=!V&&at.env.TERM_PROGRAM==="Apple_Terminal",_r=!V&&at.platform==="win32",Wr=V?()=>{throw new Error("`process.cwd()` only works in Node.js, not the browser.")}:at.cwd,Dr=(t,e)=>{if(typeof t!="number")throw new TypeError("The `x` argument is required");return typeof e!="number"?u+(t+1)+"G":u+(e+1)+M+(t+1)+"H"},Fr=(t,e)=>{if(typeof t!="number")throw new TypeError("The `x` argument is required");let r="";return t<0?r+=u+-t+"D":t>0&&(r+=u+t+"C"),e<0?r+=u+-e+"A":e>0&&(r+=u+e+"B"),r},we=(t=1)=>u+t+"A",Nr=(t=1)=>u+t+"B",Gr=(t=1)=>u+t+"C",Ur=(t=1)=>u+t+"D",xe=u+"G",Hr=ge?"\x1B7":u+"s",Vr=ge?"\x1B8":u+"u",Yr=u+"6n",Jr=u+"E",Kr=u+"F",qr=u+"?25l",zr=u+"?25h",Qr=t=>{let e="";for(let r=0;r<t;r++)e+=be+(r<t-1?we():"");return t&&(e+=xe),e},Xr=u+"K",Zr=u+"1K",be=u+"2K",to=u+"J",eo=u+"1J",it=u+"2J",ro=u+"S",oo=u+"T",no="\x1Bc",so=_r?`${it}${u}0f`:`${it}${u}3J${u}H`,io=u+"?1049h",ao=u+"?1049l",co=I,lo=(t,e)=>[L,"8",M,M,e,I,t,L,"8",M,M,I].join(""),po=(t,e={})=>{let r=`${L}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")+I},uo={setCwd:(t=Wr())=>`${L}50;CurrentDir=${t}${I}`,annotation(t,e={}){let r=`${L}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+I}};import W from"node:process";import ct from"node:process";import mo from"node:os";import ye from"node:tty";function b(t,e=globalThis.Deno?globalThis.Deno.args:ct.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:m}=ct,Y;b("no-color")||b("no-colors")||b("color=false")||b("color=never")?Y=0:(b("color")||b("colors")||b("color=true")||b("color=always"))&&(Y=1);function fo(){if(!("FORCE_COLOR"in m))return;if(m.FORCE_COLOR==="true")return 1;if(m.FORCE_COLOR==="false")return 0;if(m.FORCE_COLOR.length===0)return 1;let t=Math.min(Number.parseInt(m.FORCE_COLOR,10),3);if([0,1,2,3].includes(t))return t}function ho(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function go(t,{streamIsTTY:e,sniffFlags:r=!0}={}){let o=fo();o!==void 0&&(Y=o);let n=r?Y: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 m&&"AGENT_NAME"in m)return 1;if(t&&!e&&n===void 0)return 0;let s=n||0;if(m.TERM==="dumb")return s;if(ct.platform==="win32"){let i=mo.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in m)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(i=>i in m)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(i=>i in m)||m.CI_NAME==="codeship"?1:s;if("TEAMCITY_VERSION"in m)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(m.TEAMCITY_VERSION)?1:0;if(m.COLORTERM==="truecolor"||m.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in m){let i=Number.parseInt((m.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(m.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(m.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(m.TERM)||"COLORTERM"in m?1:s}function J(t,e={}){let r=go(t,g({streamIsTTY:t&&t.isTTY},e));return ho(r)}var Kn={stdout:J({isTTY:ye.isatty(1)}),stderr:J({isTTY:ye.isatty(2)})};import wo from"process";function E(t,e=wo.argv){let r=t.startsWith("-")?"":t.length===1?"-":"--",o=e.indexOf(r+t),n=e.indexOf("--");return o!==-1&&(n===-1||o<n)}function $e(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 ve(t){let{CI:e,FORCE_HYPERLINK:r,NETLIFY:o,TEAMCITY_VERSION:n,TERM_PROGRAM:s,TERM_PROGRAM_VERSION:i,VTE_VERSION:a,TERM:c}=W.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(!J(t)||t&&!t.isTTY)return!1;if("WT_SESSION"in W.env)return!0;if(W.platform==="win32"||e||n)return!1;if(s){let p=$e(i);switch(s){case"iTerm.app":return p.major===3?p.minor>=1:p.major>3;case"WezTerm":return p.major>=20200620;case"vscode":return p.major>1||p.major===1&&p.minor>=72;case"ghostty":return!0}}if(a){if(a==="0.50.0")return!1;let p=$e(a);return p.major>0||p.minor>=50}switch(c){case"alacritty":return!0}return!1}var xo={stdout:ve(W.stdout),stderr:ve(W.stderr)},K=xo;function C(t,e,n={}){var s=n,{target:r="stdout"}=s,o=B(s,["target"]);return K[r]?_.link(t,e):o.fallback===!1?t:typeof o.fallback=="function"?o.fallback(t,e):`${t} (\u200B${e}\u200B)`}C.isSupported=K.stdout;C.stderr=(t,e,r={})=>C(t,e,g({target:"stderr"},r));C.stderr.isSupported=K.stderr;var Ee="gitpick",ke="4.5.0";var $o=`
5
5
  ${x("With GitPick, you can clone precisely what you need.")}
6
6
 
7
- ${x("gitpick")} ${P("<url>")} ${$("[target]")} ${w("[options]")}
7
+ ${x("gitpick")} ${A("<url>")} ${$("[target]")} ${w("[options]")}
8
8
 
9
9
  ${x("Hint:")} Target is optional, and follows default git clone behavior.
10
10
 
11
11
  ${x("Arguments:")}
12
- ${P("url")} GitHub URL with path to file/folder/repository
12
+ ${A("url")} GitHub URL with path to file/folder/repository
13
13
  ${$("target")} Directory to clone into (optional)
14
14
 
15
15
  ${x("Options:")}
@@ -28,11 +28,11 @@ ${x("Examples:")}
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 ${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(`
31
+ \u{1F680} More awesome tools at ${w("https://github.com/nrjdalal")}`,vo=t=>{try{return bo(t)}catch(e){throw new Error(`Error parsing arguments: ${e.message}`)}},To=async()=>{try{let{positionals:t,values:e}=vo({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
+ ${Ee}@${ke}`),process.exit(0)),console.log($o),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 Wt(r,{branch:n.branch,target:o});if(s.type==="blob"){let a=s.target.split("/").filter(p=>p!==""),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?A(s.path)+" >":">"} ${$(s.target)}`}`);let i=yo.resolve(s.target);if(n.overwrite=n.overwrite||n.force,n.watch&&(n.overwrite=!0),Re.existsSync(i+(s.type==="blob"?"/"+s.path.split("/").pop():""))&&(await Re.promises.readdir(i)).length&&!n.overwrite&&(console.log(x(`${A(`
34
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();
35
+ \u{1F440} Watching every ${st(n.watch)/1e3+"s"}
36
+ `),await H(s,n,i);let a=st(n.watch);setInterval(async()=>await H(s,n,i),a)}else await H(s,n,i),process.exit(0)}catch(t){t instanceof Error?console.log(x(`
37
+ ${U("Error: ")}`)+t.message):console.log(x(`${U(`
38
+ Unexpected Error: `)}`)+JSON.stringify(t,null,2)),process.exit(1)}};To();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gitpick",
3
- "version": "4.5.0-canary.3",
3
+ "version": "4.5.0",
4
4
  "description": "Clone exactly what you need aka straightforward project scaffolding",
5
5
  "keywords": [
6
6
  "clone",