import * as util from "util" import * as wtfnode from "wtfnode" // Jest seems to hijack console.log in a way that makes the output difficult to // read. So we'll write directly to process.stderr instead. const write = (...args: [any, ...any]) => { if (args.length > 0) { process.stderr.write(util.format(...args) + "\n") } } wtfnode.setLogger("info", write) wtfnode.setLogger("warn", write) wtfnode.setLogger("error", write) let active = false /** * Start logging open handles periodically. This can be used to see what is * hanging open if anything. */ export function setup(): void { if (active) { return } active = true const interval = 5000 const wtfnodeDump = () => { wtfnode.dump() const t = setTimeout(wtfnodeDump, interval) t.unref() } const t = setTimeout(wtfnodeDump, interval) t.unref() }