Console
The console object in Bun
Bun provides a browser- and Node.js-compatible console global. This page only documents Bun-native APIs.
Object inspection depth#
You can configure how deeply console.log() prints nested objects:
- CLI flag: Use
--console-depth <number>to set the depth for a single run - Configuration: Set
console.depthin yourbunfig.tomlto persist it across runs - Default: Bun inspects objects to a depth of
2levels
const nested = { a: { b: { c: { d: "deep" } } } };
console.log(nested);
// Default (depth 2): { a: { b: { c: [Object ...] } } }
// With depth 4: { a: { b: { c: { d: 'deep' } } } }The CLI flag takes precedence over the configuration file setting.
Reading from stdin#
In Bun, the console object is also an AsyncIterable that reads process.stdin line by line.
adder.ts
for await (const line of console) {
console.log(line);
}Use this for interactive programs, like the following addition calculator.
adder.ts
console.log(`Let's add some numbers!`);
console.write(`Count: 0\n> `);
let count = 0;
for await (const line of console) {
count += Number(line);
console.write(`Count: ${count}\n> `);
}To run the file:
terminal
bun adder.ts
Let's add some numbers!
Count: 05Count: 55Count: 105Count: 15