@begit/core
Advanced tools
Comparing version 0.0.6 to 0.0.7
@@ -1,2 +0,2 @@ | ||
import{join as h}from"path";import{createWriteStream as f}from"fs";import{mkdir as y}from"fs/promises";import{Readable as g}from"stream";import{finished as w}from"stream/promises";import{homedir as O,tmpdir as b}from"os";import{dirname as x,join as s}from"path";var u=()=>{let r=process.env.XDG_CACHE_HOME??b();return s(r,".begit")},c=()=>s(u(),"cache"),m=async(r,e,t)=>{t=t??"HEAD";let o=await fetch(`https://github.com/${r}/${e}/tarball/${t}`);return{body:o.body,name:o.url.split("/").pop()}},p=async(r,e)=>{await y(x(r.toString()),{recursive:!0});let t=f(r);await w(g.fromWeb(e.body).pipe(t))},l=async(r,e)=>(await(await fetch(`https://api.github.com/repos/${r}/${e}/commits?per_page=1`)).json())[0].sha;import{existsSync as $}from"fs";import{extract as E,list as P}from"tar";import{mkdir as S}from"fs/promises";var k=async(r,e={cache:!0})=>{let{owner:t,name:o,branch:a}=r,i=await l(t,o),n=h(c(),`${t}-${o}-${i}.tar.gz`);if($(n))return n;let d=await m(t,o,a);return await p(n,d),n},A=async r=>{let e=[];return await P({file:r,onentry:t=>e.push(t.path)}),e},L=async(r,e,t=null)=>{t=t?.startsWith("/")?t:`/${t}`,t=t.endsWith("/")?t:`${t}/`,await S(e,{recursive:!0});let a=(await A(r)).find(n=>t?n.includes(t):!1),i=a?a.split("/").length-1:1;if(t&&!a)throw new Error("Subdirectory not found");E({file:r.toString(),strip:i,C:e},a?[a]:void 0)},X=async({repo:r,dest:e,cwd:t})=>{t=t??process.cwd(),e=e??r.name;let o=await k(r);await L(o,h(t,e),r.subdir)};export{X as downloadAndExtract,k as downloadToFile,L as extractFile}; | ||
import{join as f}from"path";import{createWriteStream as y}from"fs";import{mkdir as g}from"fs/promises";import{Readable as w}from"stream";import{finished as b}from"stream/promises";import{homedir as O,tmpdir as x}from"os";import{dirname as u,join as m}from"path";var $=()=>{let r=process.env.XDG_CACHE_HOME??x();return m(r,".begit")},p=()=>m($(),"cache"),l=async(r,e,t)=>{t=t??"HEAD";let o=await fetch(`https://github.com/${r}/${e}/tarball/${t}`);return{body:o.body,name:o.url.split("/").pop()}},h=async(r,e)=>{await g(u(r.toString()),{recursive:!0});let t=y(r);await b(w.fromWeb(e.body).pipe(t))},d=async(r,e)=>(await(await fetch(`https://api.github.com/repos/${r}/${e}/commits?per_page=1`)).json())[0].sha;import{existsSync as E}from"fs";import{extract as P,list as S}from"tar";import{mkdir as k}from"fs/promises";var A=async(r,e={cache:!0})=>{let{owner:t,name:o,branch:n}=r,i=await d(t,o),a=f(p(),`${t}-${o}-${i}.tar.gz`);if(E(a))return a;let s=await l(t,o,n);return await h(a,s),a},L=async r=>{let e=[];return await S({file:r,onentry:t=>e.push(t.path)}),e},R=async(r,e,t=null)=>{t&&(t=t?.startsWith("/")?t:`/${t}`,t=t?.endsWith("/")?t:`${t}/`),await k(e,{recursive:!0});let n=(await L(r)).find(a=>t?a.includes(t):!1);if(t&&!n)throw new Error("Subdirectory not found");let i=n?n.split("/").length-1:1;await new Promise((a,s)=>P({file:r.toString(),strip:i,C:e},n?[n]:void 0,c=>{c&&s(c),a()}))},z=async({repo:r,dest:e,cwd:t})=>{t=t??process.cwd(),e=e??r.name;let o=await A(r);await R(o,f(t,e),r.subdir)};export{z as downloadAndExtract,A as downloadToFile,R as extractFile}; | ||
//# sourceMappingURL=index.js.map |
{ | ||
"name": "@begit/core", | ||
"version": "0.0.6", | ||
"version": "0.0.7", | ||
"description": "Blazingly fast tool for cloning git repositories, with no reliance on local `git`, or `tar` installs", | ||
@@ -5,0 +5,0 @@ "type": "module", |
Sorry, the diff of this file is not supported yet
10831