Notes/scripts/port-issues.ts
2025-06-21 16:38:22 +03:00

28 lines
1.0 KiB
TypeScript

import { spawnSync } from "node:child_process";
import fs from "node:fs";
const result = spawnSync("gh issue list -s all -L 5000 --json number,title", { shell: true });
if (result.error) {
console.error("Error executing command:", result.error);
process.exit(1);
}
const items = JSON.parse(result.stdout.toString()) as { number: number; title: string }[];
const logFile = fs.openSync("issues.txt", "a");
for (const item of items.reverse()) {
console.log("Migrating ", item.number);
const issueContent = spawnSync(`gh issue transfer ${item.number} TriliumNext/trilium`, { shell: true });
if (issueContent.error) {
console.error(`Error transferring issue #${item.number}:`, issueContent.error);
fs.writeSync(logFile, `Error transferring issue #${item.number}: ${issueContent.error}\n`);
process.exit(1);
}
const link = issueContent.stdout.toString().trim();
fs.writeSync(logFile, `Migrated issue #${item.number} - ${item.title} to ${link}\n`);
}
fs.closeSync(logFile);