/* File Name: index.js */
const { Octokit } = require(“@octokit/rest”);
const octokit = new Octokit({
auth: process.env.GITHUB_TOKEN,
});
async function run() {
try {
console.log(“Searching for PWA repositories…”);
// 1. Search for repositories with ‘PWA’ in the name or description const { data: searchResults } = await octokit.rest.search.repos({ q: “topic:pwa language:javascript”,
sort: “stars”,
order: “desc”,
per_page: 5, // Adjust as needed
});
for (const repo of searchResults.items) {
console.log(`Found: ${repo.full_name}. Attempting to fork…`);
try {
// 2. Fork the repository
const [owner, repoName] = repo.full_name.split(“/”);
await octokit.rest.repos.createFork({
owner,
repo: repoName,
});
console.log(`Successfully requested fork for ${repo.full_name}`); } catch (forkError) {
if (forkError.status === 403) {
console.log(`Already forked or permission denied for ${repo.full_name}`); } else {
console.error(`Error forking ${repo.full_name}:`, forkError.message); }
}
}
} catch (error) {
console.error(“Search failed:”, error.message);
process.exit(1);
}
}
run();