mirror of
https://github.com/oven-sh/bun
synced 2026-02-12 11:59:00 +00:00
47 lines
1011 B
TypeScript
47 lines
1011 B
TypeScript
export const bunEnv: any = {
|
|
...process.env,
|
|
BUN_DEBUG_QUIET_LOGS: "1",
|
|
NO_COLOR: "1",
|
|
FORCE_COLOR: undefined,
|
|
};
|
|
|
|
export function bunExe() {
|
|
return process.execPath;
|
|
}
|
|
|
|
export function gc(force: boolean = true) {
|
|
Bun.gc(force);
|
|
}
|
|
|
|
// we must ensure that finalizers are run
|
|
// so that the reference-counting logic is exercised
|
|
export function gcTick(trace = false) {
|
|
trace && console.trace("");
|
|
// console.trace("hello");
|
|
gc();
|
|
return new Promise(resolve => {
|
|
setTimeout(resolve, 0);
|
|
});
|
|
}
|
|
|
|
export function withoutAggressiveGC(block: () => unknown) {
|
|
if (!Bun.unsafe.gcAggressionLevel) return block();
|
|
|
|
const origGC = Bun.unsafe.gcAggressionLevel();
|
|
Bun.unsafe.gcAggressionLevel(0);
|
|
try {
|
|
return block();
|
|
} finally {
|
|
Bun.unsafe.gcAggressionLevel(origGC);
|
|
}
|
|
}
|
|
|
|
export function hideFromStackTrace(block: CallableFunction) {
|
|
Object.defineProperty(block, "name", {
|
|
value: "::bunternal::",
|
|
configurable: true,
|
|
enumerable: true,
|
|
writable: true,
|
|
});
|
|
}
|