//native
/**
* Create Repository
* Create a repository for the authenticated user, or in an organization when org is set.
*/
export async function main(
auth: RT.Github,
name: string,
org: string | undefined,
description: string | undefined,
private_repo: boolean = false,
auto_init: boolean = false
) {
const path = org ? `orgs/${org}/repos` : "user/repos"
const response = await fetch(`https://api.github.com/${path}`, {
method: "POST",
headers: {
Authorization: `Bearer ${auth.token}`,
"Content-Type": "application/json",
Accept: "application/vnd.github+json",
"X-GitHub-Api-Version": "2022-11-28",
},
body: JSON.stringify({
name,
description,
private: private_repo,
auto_init,
}),
})
if (!response.ok) {
throw new Error(`${response.status} ${await response.text()}`)
}
return await response.json()
}
Submitted by hugo989 2 hours ago