Created
March 11, 2023 21:23
-
-
Save abracadabra80/9879851fc9de03dbe5819b06d313b6a8 to your computer and use it in GitHub Desktop.
Delete named or all forked repositories from github profile
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // 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