renewFacts
uses tcmts.registry.registryCodebase, which uses node:fs
Work out again the facts of mirrored releases whose facts are older than what the registry keeps now (no effects): each
once, against the version they were compared with. How many it did.
import { registryCodebase, releaseFacts, releases, shownRelease } from "#codebase/tcmts/registry"; export async function renewFacts(): Promise<number> { const cb = registryCodebase(); const old = (await releases.find()).filter( (r) => r.value.facts && !r.value.facts.effects && r.value.mount && shownRelease(r.value), ); for (const { id, value: r } of old) { const after = r.facts!.after; const before = after === undefined ? undefined : (await releases.find({ did: r.did, package: r.package })).find( (x) => x.value.version === after, )?.value; const facts = releaseFacts( cb, cb.store.namespaceRows(r.namespace), before && { version: before.version, rows: cb.store.namespaceRows(before.namespace) }, ); await releases.update(id, (v) => ({ ...v, facts })); } return old.length; }
uses
- tcmts.registry.registryCodebase
- tcmts.registry.releaseFacts
- tcmts.registry.releases
- tcmts.registry.shownRelease