104d18c607
* Completely rewrite Create Next App * Sort imports * Show what package manager is being used * Fix project name suggestion * Update tests for new implementation * Use normal prepublish command for on-install * Upgrade Node version * Switch to 8.16 * Disable v8 cache * Swap out update check package and fix CLI boot
22 lines
632 B
TypeScript
22 lines
632 B
TypeScript
import got from 'got'
|
|
import promisePipe from 'promisepipe'
|
|
import tar from 'tar'
|
|
|
|
export async function hasExample(name: string): Promise<boolean> {
|
|
const res = await got(
|
|
`https://api.github.com/repos/zeit/next.js/contents/examples/${encodeURIComponent(
|
|
name
|
|
)}/package.json`
|
|
).catch(e => e)
|
|
return res.statusCode === 200
|
|
}
|
|
|
|
export async function downloadAndExtractExample(
|
|
root: string,
|
|
name: string
|
|
): Promise<void> {
|
|
return await promisePipe(
|
|
got.stream('https://codeload.github.com/zeit/next.js/tar.gz/canary'),
|
|
tar.extract({ cwd: root, strip: 3 }, [`next.js-canary/examples/${name}`])
|
|
)
|
|
}
|