Skip to content

fix(console): the global console never routes through util.inspect, so object formatting diverges from node #101

Description

@Sunrisepeak

现象

console.log({marker:1}) 打印 Bun 的多行形式,node 打印 { marker: 1 }

根因(W48 lane C5 定位)

util.inspect 本身已经是 node-correct 的。 问题是全局 console 是一个原生 Bun 格式化器,从不路由到 util.inspect。两条路径各自独立,任何断言 console 输出形状的测试都会分叉。

一个已确认的受害者:test-runner-import-no-scheme.js 的模块解析已经在同一条 lane 修好(能正确落到 node_modules/test),现在只剩这个格式差异挡着。

为什么当时没有顺手修

lane 明确判断这需要自己的 lane:改全局 console 的格式化路径会在两个语料库上双向扩散。

但要区分清楚:MEMORY.md 记录的那次灾难是全量替换 util.inspect + Proxy 跟踪;这里是让 console 走一个已经正确的 inspect。不是同一件事,只是同一片区域。所以该做,但要带性能门禁做。

建议的 lane 形状

  • 让全局 console.log/warn/error 的对象格式化走 node-correct 的 inspect 路径
  • 门禁:两个语料库的 console 相关组,加 tools/integration/latency_probe.py 的性能基线(console 在热路径上)
  • 预期收益:任何断言 console 输出的文件,跨两个语料库

相关

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions