gitpick 3.27.0-canary.13 → 3.27.0-canary.14

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 (2) hide show
  1. package/dist/index.js +1 -1
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  var jt=Object.defineProperty,Bt=Object.defineProperties;var Pt=Object.getOwnPropertyDescriptors;var P=Object.getOwnPropertySymbols;var Y=Object.prototype.hasOwnProperty,_=Object.prototype.propertyIsEnumerable;var v=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t),Ct=t=>{throw TypeError(t)};var R=(t,e,r)=>e in t?jt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,u=(t,e)=>{for(var r in e||(e={}))Y.call(e,r)&&R(t,r,e[r]);if(P)for(var r of P(e))_.call(e,r)&&R(t,r,e[r]);return t},y=(t,e)=>Bt(t,Pt(e));var A=(t,e)=>{var r={};for(var o in t)Y.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(t!=null&&P)for(var o of P(t))e.indexOf(o)<0&&_.call(t,o)&&(r[o]=t[o]);return r};var J=(t,e,r)=>R(t,typeof e!="symbol"?e+"":e,r);var d=function(t,e){this[0]=t,this[1]=e},D=(t,e,r)=>{var o=(a,i,p,l)=>{try{var m=r[a](i),g=(i=m.value)instanceof d,f=m.done;Promise.resolve(g?i[0]:i).then(h=>g?o(a==="return"?a:"next",i[1]?{done:h.done,value:h.value}:h,p,l):p({value:h,done:f})).catch(h=>o("throw",h,p,l))}catch(h){l(h)}},s=a=>n[a]=i=>new Promise((p,l)=>o(a,i,p,l)),n={};return r=r.apply(t,e),n[v("asyncIterator")]=()=>n,s("next"),s("throw"),s("return"),n},V=t=>{var e=t[v("asyncIterator")],r=!1,o,s={};return e==null?(e=t[v("iterator")](),o=n=>s[n]=a=>e[n](a)):(e=e.call(t),o=n=>s[n]=a=>{if(r){if(r=!1,n==="throw")throw a;return a}return r=!0,{done:!1,value:new d(new Promise(i=>{var p=e[n](a);p instanceof Object||Ct("Object expected"),i(p)}),1)}}),s[v("iterator")]=()=>s,o("next"),"throw"in e?o("throw"):s.throw=n=>{throw n},"return"in e&&o("return"),s},C=(t,e,r)=>(e=t[v("asyncIterator")])?e.call(t):(t=t[v("iterator")](),e={},r=(o,s)=>(s=t[o])&&(e[o]=n=>new Promise((a,i,p)=>(n=s.call(t,n),p=n.done,Promise.resolve(n.value).then(l=>a({value:l,done:p}),i)))),r("next"),r("return"),e);import kt from"fs";import{parseArgs as ee}from"node:util";import re from"path";import j from"node:fs";import Qt from"node:os";import mt from"node:path";import T from"node:fs";import q from"node:path";var F=async(t,e)=>{let r=await T.promises.readdir(t,{withFileTypes:!0});await T.promises.mkdir(e,{recursive:!0});for(let o of r){if(o.name===".git")continue;let s=q.join(t,o.name),n=q.join(e,o.name);o.isDirectory()?await F(s,n):await T.promises.copyFile(s,n)}};import{log as G,spinner as Zt}from"@clack/prompts";import St from"node:process";import{stripVTControlCharacters as It}from"node:util";var z=t=>({start:St.hrtime.bigint(),command:t.map(e=>Rt(It(e))).join(" "),state:{stdout:"",stderr:"",output:""}}),Rt=t=>/[^\w./-]/.test(t)?`'${t.replaceAll("'","'\\''")}'`:t;var O=function(o,s,n){return D(this,arguments,function*(t,{state:e},r){if(e.isIterating===!1)throw new Error(`The subprocess must be iterated right away, for example:
3
3
  for await (const line of spawn(...)) { ... }`);e.isIterating=!0;try{let{[r]:m}=yield new d(t.nodeChildProcess);if(!m)return;let g="";try{for(var a=C(m.iterator({destroyOnReturn:!1})),i,p,l;i=!(p=yield new d(a.next())).done;i=!1){let f=p.value;let h=`${g}${f}`.split(/\r?\n/);g=h.pop(),yield*V(h)}}catch(p){l=[p]}finally{try{i&&(p=a.return)&&(yield new d(p.call(a)))}finally{if(l)throw l[0]}}g&&(yield g)}finally{yield new d(t)}})},K=function(...t){return D(this,null,function*(){try{let e=[];for(;t.length>0;){e=t.map((a,i)=>{var p;return(p=e[i])!=null?p:At(a)});let[{value:r,done:o},s]=yield new d(Promise.race(e.map((a,i)=>Promise.all([a,i])))),[n]=t.splice(s,1);e.splice(s,1),o||(t.push(n),yield r)}}finally{yield new d(Promise.all(t.map(e=>e.return())))}})},At=async t=>{try{return await t.next()}catch(e){await t.throw(e)}};import k from"node:path";import Q from"node:process";import{fileURLToPath as Dt}from"node:url";var Z=p=>{var l=p,{stdin:t,stdout:e,stderr:r,stdio:o=[t,e,r],env:s,preferLocal:n,cwd:a="."}=l,i=A(l,["stdin","stdout","stderr","stdio","env","preferLocal","cwd"]);var h;let m=a instanceof URL?Dt(a):k.resolve(a),g=s?u(u({},Q.env),s):void 0,f=(h=o[0])==null?void 0:h.string;return y(u({},i),{input:f,stdio:f===void 0?o:["pipe",...o.slice(1)],env:n?Tt(g!=null?g:Q.env,m):g,cwd:m})},Tt=(s,o)=>{var n=s,{Path:t="",PATH:e=t}=n,r=A(n,["Path","PATH"]);let a=e.split(k.delimiter),i=X([],k.resolve(o)).map(p=>k.join(p,"node_modules/.bin")).filter(p=>!a.includes(p));return y(u({},r),{PATH:[...i,e].filter(Boolean).join(k.delimiter)})},X=(t,e)=>t.at(-1)===e?t:X([...t,e],k.resolve(e,".."));import{pipeline as Ft}from"node:stream/promises";var tt=async t=>{var o;let[[e,r]]=await Promise.all([Promise.allSettled(t),Ot(t)]);if(r.reason)throw r.reason.pipedFrom=(o=e.reason)!=null?o:e.value,r.reason;if(e.reason)throw e.reason;return y(u({},r.value),{pipedFrom:e.value})},Ot=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.');Ft(e,r).catch(()=>{})}catch(e){throw await Promise.allSettled(t.map(({nodeChildProcess:r})=>Wt(r))),e}},Wt=async t=>{let{stdin:e}=await t;e.end()};import{on as Lt,once as Mt}from"node:events";import Ut from"node:process";var et=async(t,{input:e},r)=>{let o=await t;e!==void 0&&o.stdin.end(e);let s=Mt(o,"close");try{return await Promise.race([s,...o.stdio.filter(Boolean).map(n=>Gt(n))]),Ht(r,rt(o)),ot(r)}catch(n){throw await Promise.allSettled([s]),L(n,o,r)}},Gt=async t=>{try{for(var e=C(Lt(t,"error")),r,o,s;r=!(o=await e.next()).done;r=!1){let[n]=o.value;if(!["ERR_STREAM_PREMATURE_CLOSE","EPIPE"].includes(n==null?void 0:n.code))throw n}}catch(o){s=[o]}finally{try{r&&(o=e.return)&&await o.call(e)}finally{if(s)throw s[0]}}},Ht=({command:t},{exitCode:e,signalName:r})=>{if(r!==void 0)throw new b(`Command was terminated with ${r}: ${t}`);if(e!==void 0)throw new b(`Command failed with exit code ${e}: ${t}`)},L=(t,e,r)=>Object.assign(Nt(t,r),rt(e),ot(r)),Nt=(t,{command:e})=>t instanceof b?t:new b(`Command failed: ${e}`,{cause:t}),b=class extends Error{constructor(){super(...arguments);J(this,"name","SubprocessError")}},rt=({exitCode:t,signalCode:e})=>u(u({},t<1?{}:{exitCode:t}),e===null?{}:{signalName:e}),ot=({state:{stdout:t,stderr:e,output:r},command:o,start:s})=>({stdout:W(t),stderr:W(e),output:W(r),command:o,durationMs:Number(Ut.hrtime.bigint()-s)/1e6}),W=t=>t.at(-1)===`
4
- `?t.slice(0,t.at(-2)==="\r"?-2:-1):t;import{spawn as zt}from"node:child_process";import{once as Kt}from"node:events";import ct from"node:process";import{stat as Yt}from"node:fs/promises";import st from"node:path";import nt from"node:process";var it=async(t,e,r)=>await _t(t,r)?[U(t),e.map(o=>qt(o)),y(u({},r),{shell:!0})]:[t,e,r],_t=async(t,{shell:e,cwd:r,env:o=nt.env})=>nt.platform==="win32"&&!e&&!await Jt(t,r,o),Jt=async(t,e,{Path:r="",PATH:o=r})=>{var s,n;return at.some(a=>t.toLowerCase().endsWith(a))||((n=M[s=`${t}\0${e}\0${o}`])!=null?n:M[s]=await Vt(t,e,o))},M={},Vt=async(t,e,r)=>{let o=r.split(st.delimiter).filter(Boolean).map(s=>s.replace(/^"(.*)"$/,"$1"));try{await Promise.all(at.flatMap(s=>[e,...o].map(n=>`${st.resolve(n,t)}${s}`)).map(async s=>{try{await Yt(s)}catch(n){return}throw 0}))}catch(s){return!0}return!1},at=[".exe",".com"],qt=t=>U(U(`"${t.replaceAll(/(\\*)"/g,'$1$1\\"').replace(/(\\*)$/,"$1$1")}"`)),U=t=>t.replaceAll(/([()\][%!^"`<>&|;, *?])/g,"^$1");var lt=async(t,e,r,o)=>{try{[t,e]=["node","node.exe"].includes(t.toLowerCase())?[ct.execPath,[...ct.execArgv.filter(n=>!n.startsWith("--inspect")),...e]]:[t,e];let s=zt(...await it(t,e,r));return pt(s.stdout,o,"stdout"),pt(s.stderr,o,"stderr"),s.once("error",()=>{}),await Kt(s,"spawn"),s}catch(s){throw L(s,{},o)}},pt=(t,{state:e},r)=>{t&&(t.setEncoding("utf8"),e.isIterating||(e.isIterating=!1,t.on("data",o=>{e[r]+=o,e.output+=o})))};function x(t,e,r,o){let[s=[],n={}]=Array.isArray(e)?[e,r]:[[],e],a=z([t,...s]),i=Z(n),p=lt(t,s,i,a),l=et(p,i,a);Object.assign(l,{nodeChildProcess:p}),l=o?tt([o,l]):l;let m=O(l,a,"stdout"),g=O(l,a,"stderr");return Object.assign(l,{nodeChildProcess:p,stdout:m,stderr:g,[Symbol.asyncIterator]:()=>K(m,g),pipe:(f,h,B)=>x(f,h,B,l)})}var H=async(t,e,r)=>{let o=Zt();try{process.platform==="win32"&&await x("git",["config","--global","core.longpaths","true"]);let s=`https://${t.token?t.token+"@":t.token}github.com/${t.owner}/${t.repository}.git`,n=mt.join(Qt.tmpdir(),`${t.repository}-${Date.now()}${Math.random().toString(16).slice(2,6)}`);e.watch||o.start(`Picking ${t.type}${t.type==="repository"?" without .git":" from repository"}`);let a=performance.now();await x("git",["clone",s,n,"--depth","1","--single-branch","--branch",t.branch]);let i=mt.join(n,t.path);(await j.promises.stat(i)).isDirectory()?(await j.promises.mkdir(r,{recursive:!0}),await F(i,r)):(await j.promises.mkdir(r,{recursive:!0}),await j.promises.copyFile(i,r+"/"+t.path.split("/").pop())),e.watch?G.success("Synced at "+new Date().toLocaleTimeString()):o.stop(`Picked ${t.type}${t.type==="repository"?" without .git":" from repository"} in ${((performance.now()-a)/1e3).toFixed(2)} seconds!`),await j.promises.rm(n,{recursive:!0,force:!0})}catch(s){o.stop("Level 2: An error occurred while cloning!"),s instanceof Error?G.error("Error: "+s.message):G.error("Unexpected Error: "+JSON.stringify(s,null,2)),process.exit(1)}};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 s=parseInt(o[1],10);switch(o[2]){case"h":r+=s*36e5;break;case"m":r+=s*6e4;break;case"s":r+=s*1e3;break}}return r}var ht=async t=>{var s,n;let e=(await x("git",["ls-remote",t])).stdout,r=(s=e.match(/(.+)\s+HEAD/))==null?void 0:s[1],o=(n=e.match(new RegExp(`${r}\\s+refs/heads/(.+)`)))==null?void 0:n[1];if(!o)throw new Error("Could not determine default branch!");return o};async function gt(t,{branch:e,target:r}){let o=/^https:\/\/([^@]+)@github\.com/,s=t.match(o),n="";s&&(n=s[1],t=t.replace(o,"https://github.com"));let a=["git@github.com:","https://github.com/","https://raw.githubusercontent.com/"];for(let B of a)if(t.startsWith(B)){t=t.replace(B,"");break}let i=t.split("/"),p=i[0],l=i[1].endsWith(".git")?i[1].slice(0,-4):i[1],m=i[2]==="blob"?"blob":i[2]==="tree"?"tree":i[2]+i[3]==="refsheads"?"raw":"repository",g=e||(m==="repository"?await ht(`https://${n&&n+"@"}github.com/${p}/${l}`):m==="raw"?i[4]:i[3]),f=m?m==="raw"?i.slice(5).join("/"):i.slice(4).join("/"):i.slice(2).join("/")||"/",h=r||(m==="blob"?".":f.split("/").pop()||l);return{token:n,owner:p,repository:l,type:m,branch:g,path:f,target:h}}import{cancel as oe,confirm as se,intro as ne,isCancel as ie,log as Et}from"@clack/prompts";import Xt from"node:tty";var ut,ft,S,dt,wt,te=(wt=(dt=(S=(ft=(ut=Xt)==null?void 0:ut.WriteStream)==null?void 0:ft.prototype)==null?void 0:S.hasColors)==null?void 0:dt.call(S))!=null?wt:!1,c=(t,e)=>{if(!te)return s=>s;let r=`\x1B[${t}m`,o=`\x1B[${e}m`;return s=>{let n=s+"",a=n.indexOf(o);if(a===-1)return r+n+o;let i=r,p=0;for(;a!==-1;)i+=n.slice(p,a)+r,p=a+o.length,a=n.indexOf(o,p);return i+=n.slice(p)+o,i}},pr=c(0,0),w=c(1,22),lr=c(2,22),mr=c(3,23),hr=c(4,24),gr=c(53,55),ur=c(7,27),fr=c(8,28),dr=c(9,29),wr=c(30,39),yr=c(31,39),I=c(32,39),yt=c(33,39),$=c(34,39),br=c(35,39),E=c(36,39),bt=c(37,39),xr=c(90,39),$r=c(40,49),vr=c(41,49),kr=c(42,49),Er=c(43,49),jr=c(44,49),Br=c(45,49),Pr=c(46,49),Cr=c(47,49),Sr=c(100,49),Ir=c(91,39),Rr=c(92,39),Ar=c(93,39),Dr=c(94,39),Tr=c(95,39),Fr=c(96,39),Or=c(97,39),Wr=c(101,49),Lr=c(102,49),Mr=c(103,49),Ur=c(104,49),Gr=c(105,49),Hr=c(106,49),Nr=c(107,49);var $t="gitpick",vt="3.27.0-canary.13";var ae=`
4
+ `?t.slice(0,t.at(-2)==="\r"?-2:-1):t;import{spawn as zt}from"node:child_process";import{once as Kt}from"node:events";import ct from"node:process";import{stat as Yt}from"node:fs/promises";import st from"node:path";import nt from"node:process";var it=async(t,e,r)=>await _t(t,r)?[U(t),e.map(o=>qt(o)),y(u({},r),{shell:!0})]:[t,e,r],_t=async(t,{shell:e,cwd:r,env:o=nt.env})=>nt.platform==="win32"&&!e&&!await Jt(t,r,o),Jt=async(t,e,{Path:r="",PATH:o=r})=>{var s,n;return at.some(a=>t.toLowerCase().endsWith(a))||((n=M[s=`${t}\0${e}\0${o}`])!=null?n:M[s]=await Vt(t,e,o))},M={},Vt=async(t,e,r)=>{let o=r.split(st.delimiter).filter(Boolean).map(s=>s.replace(/^"(.*)"$/,"$1"));try{await Promise.all(at.flatMap(s=>[e,...o].map(n=>`${st.resolve(n,t)}${s}`)).map(async s=>{try{await Yt(s)}catch(n){return}throw 0}))}catch(s){return!0}return!1},at=[".exe",".com"],qt=t=>U(U(`"${t.replaceAll(/(\\*)"/g,'$1$1\\"').replace(/(\\*)$/,"$1$1")}"`)),U=t=>t.replaceAll(/([()\][%!^"`<>&|;, *?])/g,"^$1");var lt=async(t,e,r,o)=>{try{[t,e]=["node","node.exe"].includes(t.toLowerCase())?[ct.execPath,[...ct.execArgv.filter(n=>!n.startsWith("--inspect")),...e]]:[t,e];let s=zt(...await it(t,e,r));return pt(s.stdout,o,"stdout"),pt(s.stderr,o,"stderr"),s.once("error",()=>{}),await Kt(s,"spawn"),s}catch(s){throw L(s,{},o)}},pt=(t,{state:e},r)=>{t&&(t.setEncoding("utf8"),e.isIterating||(e.isIterating=!1,t.on("data",o=>{e[r]+=o,e.output+=o})))};function x(t,e,r,o){let[s=[],n={}]=Array.isArray(e)?[e,r]:[[],e],a=z([t,...s]),i=Z(n),p=lt(t,s,i,a),l=et(p,i,a);Object.assign(l,{nodeChildProcess:p}),l=o?tt([o,l]):l;let m=O(l,a,"stdout"),g=O(l,a,"stderr");return Object.assign(l,{nodeChildProcess:p,stdout:m,stderr:g,[Symbol.asyncIterator]:()=>K(m,g),pipe:(f,h,B)=>x(f,h,B,l)})}var H=async(t,e,r)=>{let o=Zt();try{process.platform==="win32"&&await x("git",["config","--global","core.longpaths","true"]);let s=`https://${t.token?t.token+"@":t.token}github.com/${t.owner}/${t.repository}.git`,n=mt.join(Qt.tmpdir(),`${t.repository}-${Date.now()}${Math.random().toString(16).slice(2,6)}`);e.watch||o.start(`Picking ${t.type}${t.type==="repository"?" without .git":" from repository"}`);let a=performance.now();await x("git",["clone",s,n,"--depth","1","--single-branch","--branch",t.branch]);let i=mt.join(n,t.path);(await j.promises.stat(i)).isDirectory()?(await j.promises.mkdir(r,{recursive:!0}),await F(i,r)):(await j.promises.mkdir(r,{recursive:!0}),await j.promises.copyFile(i,r+"/"+t.path.split("/").pop())),e.watch?G.success("Synced at "+new Date().toLocaleTimeString()):o.stop(`Picked ${t.type}${t.type==="repository"?" without .git":" from repository"} in ${((performance.now()-a)/1e3).toFixed(2)} seconds!`),await j.promises.rm(n,{recursive:!0,force:!0})}catch(s){o.stop("Level 2: An error occurred while cloning!"),s instanceof Error?G.error("Error: "+s.message):G.error("Unexpected Error: "+JSON.stringify(s,null,2)),process.exit(1)}};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 s=parseInt(o[1],10);switch(o[2]){case"h":r+=s*36e5;break;case"m":r+=s*6e4;break;case"s":r+=s*1e3;break}}return r}var ht=async t=>{var s,n;let e=(await x("git",["ls-remote",t])).stdout,r=(s=e.match(/(.+)\s+HEAD/))==null?void 0:s[1],o=(n=e.match(new RegExp(`${r}\\s+refs/heads/(.+)`)))==null?void 0:n[1];if(!o)throw new Error("Could not determine default branch!");return o};async function gt(t,{branch:e,target:r}){let o=/^https:\/\/([^@]+)@github\.com/,s=t.match(o),n="";s&&(n=s[1],t=t.replace(o,"https://github.com"));let a=["git@github.com:","https://github.com/","https://raw.githubusercontent.com/"];for(let B of a)if(t.startsWith(B)){t=t.replace(B,"");break}let i=t.split("/"),p=i[0],l=i[1].endsWith(".git")?i[1].slice(0,-4):i[1],m=i[2]==="blob"?"blob":i[2]==="tree"?"tree":i[2]+i[3]==="refsheads"?"raw":"repository",g=e||(m==="repository"?await ht(`https://${n&&n+"@"}github.com/${p}/${l}`):m==="raw"?i[4]:i[3]),f=m?m==="raw"?i.slice(5).join("/"):i.slice(4).join("/"):i.slice(2).join("/")||"/",h=r||(m==="blob"?".":f.split("/").pop()||l);return{token:n,owner:p,repository:l,type:m,branch:g,path:f,target:h}}import{cancel as oe,confirm as se,intro as ne,isCancel as ie,log as Et}from"@clack/prompts";import Xt from"node:tty";var ut,ft,S,dt,wt,te=(wt=(dt=(S=(ft=(ut=Xt)==null?void 0:ut.WriteStream)==null?void 0:ft.prototype)==null?void 0:S.hasColors)==null?void 0:dt.call(S))!=null?wt:!1,c=(t,e)=>{if(!te)return s=>s;let r=`\x1B[${t}m`,o=`\x1B[${e}m`;return s=>{let n=s+"",a=n.indexOf(o);if(a===-1)return r+n+o;let i=r,p=0;for(;a!==-1;)i+=n.slice(p,a)+r,p=a+o.length,a=n.indexOf(o,p);return i+=n.slice(p)+o,i}},pr=c(0,0),w=c(1,22),lr=c(2,22),mr=c(3,23),hr=c(4,24),gr=c(53,55),ur=c(7,27),fr=c(8,28),dr=c(9,29),wr=c(30,39),yr=c(31,39),I=c(32,39),yt=c(33,39),$=c(34,39),br=c(35,39),E=c(36,39),bt=c(37,39),xr=c(90,39),$r=c(40,49),vr=c(41,49),kr=c(42,49),Er=c(43,49),jr=c(44,49),Br=c(45,49),Pr=c(46,49),Cr=c(47,49),Sr=c(100,49),Ir=c(91,39),Rr=c(92,39),Ar=c(93,39),Dr=c(94,39),Tr=c(95,39),Fr=c(96,39),Or=c(97,39),Wr=c(101,49),Lr=c(102,49),Mr=c(103,49),Ur=c(104,49),Gr=c(105,49),Hr=c(106,49),Nr=c(107,49);var $t="gitpick",vt="3.27.0-canary.14";var ae=`
5
5
  ${w("With GitPick, you can clone precisely what you need.")}
6
6
 
7
7
  ${E("gitpick <url>")} ${I("[target]")} ${$("[options]")}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gitpick",
3
- "version": "3.27.0-canary.13",
3
+ "version": "3.27.0-canary.14",
4
4
  "description": "With gitpick, you can clone precisely what you need.",
5
5
  "keywords": [
6
6
  "clone",