hubCodebase
uses node:fs
The hub's own codebase, holding what it mirrors: at hubDir (made if need be).
import { Codebase, openApart } from "#codebase/tcmts/cli/codebase"; import { hubDir, hubOpened } from "#codebase/tcmts/hub"; import fs from "node:fs"; import path from "node:path"; export function hubCodebase(): Codebase { const dir = hubDir(); const open = hubOpened.get(dir); if (open) return open; const made = fs.existsSync(path.join(dir, ".tcm", "codebase.sqlite")) ? openApart(dir) : (() => { fs.mkdirSync(dir, { recursive: true }); const session = process.env.TCM_BRANCH; delete process.env.TCM_BRANCH; try { return Codebase.init(dir); } finally { if (session !== undefined) process.env.TCM_BRANCH = session; } })(); hubOpened.set(dir, made); return made; }