import { ApiError, RefUpdateError, GitStorage } from "@pierre/storage";
const store = new GitStorage({ name: "your-name", key: env.privateKey });
try {
const repo = await store.createRepo({ id: "existing" });
console.log(repo.id);
} catch (err) {
if (err instanceof ApiError) {
console.error("API error:", err.message);
console.error("Status code:", err.statusCode);
} else {
throw err;
}
}
const repo = await store.findOne({ id: "repo-id" });
const builder = repo?.createCommit({
targetBranch: "main",
commitMessage: "Update docs",
author: { name: "Docs Bot", email: "docs@example.com" },
});
try {
const result = await builder
?.addFileFromString("docs/changelog.md", "# v2.0.1\n- add streaming SDK\n")
.send();
console.log(result?.commitSha);
} catch (err) {
if (err instanceof RefUpdateError) {
console.error("Ref update failed:", err.message);
console.error("Status:", err.status);
console.error("Reason:", err.reason);
console.error("Ref update:", err.refUpdate);
} else {
throw err;
}
}