const disposers = new Set<(directory: string) => Promise>() export function registerDisposer(disposer: (directory: string) => Promise) { disposers.add(disposer) return () => { disposers.delete(disposer) } } export async function disposeInstance(directory: string) { await Promise.allSettled([...disposers].map((disposer) => disposer(directory))) }