Skip to content

Instantly share code, notes, and snippets.

@abracadabra80
Created March 11, 2023 21:23
Show Gist options
  • Select an option

  • Save abracadabra80/9879851fc9de03dbe5819b06d313b6a8 to your computer and use it in GitHub Desktop.

Select an option

Save abracadabra80/9879851fc9de03dbe5819b06d313b6a8 to your computer and use it in GitHub Desktop.
Delete named or all forked repositories from github profile
// npm install @octokit/rest
const { Octokit } = require("@octokit/rest");
// Replace "ACCESS_TOKEN" with your personal access token
const octokit = new Octokit({
auth: "ACCESS_TOKEN",
});
// Define a function to delete a single repository
async function deleteRepository(repoName) {
console.log(`Deleting repository ${repoName}...`);
await octokit.repos.delete({
owner: "<your-github-username>",
repo: repoName,
});
console.log(`Deleted repository ${repoName}.`);
}
// Define a function to delete all forked repositories
async function deleteAllForks() {
console.log("Getting list of repositories...");
const response = await octokit.repos.listForAuthenticatedUser();
console.log(`Found ${response.data.length} repositories.`);
const forkedRepos = response.data.filter((repo) => repo.fork);
console.log(`Found ${forkedRepos.length} forked repositories.`);
for (const repo of forkedRepos) {
await deleteRepository(repo.name);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment