11import type { Options , Tree } from './type.js' ;
2- import { createWriteStream } from 'node:fs' ;
3- import { access , constants , mkdir } from 'node:fs/promises' ;
2+ import { Buffer } from 'node:buffer' ;
3+ // import { createWriteStream } from 'node:fs';
4+ import { access , constants , mkdir , writeFile } from 'node:fs/promises' ;
45import { join , parse } from 'node:path' ;
56import process from 'node:process' ;
6- import { pipeline } from 'node:stream/promises' ;
7+ // import { pipeline } from 'node:stream/promises';
78import { minimatch } from 'minimatch' ;
89import { request } from './request.js' ;
910
@@ -31,7 +32,7 @@ export async function getGitTree(options: Options, base: string) {
3132 if ( result . status === '404' ) {
3233 throw new Error ( `${ owner } /${ repo } (${ branch } ): ${ result . message } ` ) ;
3334 }
34- throw new Error ( result ) ;
35+ throw new Error ( JSON . stringify ( result , null , 2 ) ) ;
3536 }
3637
3738 const tree = result . tree . map ( ( v : Tree ) => {
@@ -50,10 +51,12 @@ export function getOutPutPath(options: Options) {
5051}
5152
5253export async function writeFileFromItem ( item : Tree ) {
53- const blob = ( await request ( item . _url ) ) . body ;
54-
54+ const blob : any = await ( await request ( item . url ) ) . json ( ) ;
5555 await mkdirRecursive ( parse ( item . _out ) . dir ) ;
56- return pipeline ( blob , createWriteStream ( item . _out ) ) ;
56+ return writeFile ( item . _out , Buffer . from ( blob ?. content , 'base64' ) ) ;
57+ // const blob = (await request(item._url)).body;
58+ // await mkdirRecursive(parse(item._out).dir);
59+ // return pipeline(blob, createWriteStream(item._out));
5760}
5861
5962export async function mkdirRecursive ( dir : string , options ?: { existsHandler : any } ) {
0 commit comments