MCPcopy Index your code
hub / github.com/tinyhttp/tinyhttp / fileFetcher

Function fileFetcher

packages/cli/src/utils.ts:20–51  ·  view source on GitHub ↗
(data: any, statusCode: number, dir?: string)

Source from the content-addressed store, hash-verified

18}
19
20export const fileFetcher = async (data: any, statusCode: number, dir?: string) => {
21 const spinner = ora()
22
23 spinner.start(colorette.blue(`Fetching ${data.length} files...`))
24
25 if (statusCode !== 200) console.warn(`Bad status code: ${statusCode}`)
26
27 // Download files
28 for (const { name, download_url, type, url } of data) {
29 if (type !== 'dir') {
30 spinner.text = `Fetching ${name} file`
31 const { data } = await get(download_url, httpHeaders)
32
33 try {
34 await writeFile(dir ? `${dir}/${name}` : name, data)
35 } catch {
36 throw new Error('Failed to create a project file')
37 }
38 } else {
39 spinner.text = `Scanning ${name} directory`
40 try {
41 await mkdir(name)
42 } catch {
43 throw new Error('Failed to create a project subdirectory')
44 }
45 const { data, statusCode } = await get(url, httpHeaders)
46 await fileFetcher(data, statusCode, name)
47 }
48 }
49
50 spinner.stop()
51}
52
53export const installPackages = async (pkg: string) => {
54 // Edit package.json

Callers 1

index.tsFile · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected