关于 prettier-compare
prettier-compare 是一个 Bun 命令行技能,用于在发布格式化器改动前对比 Biome 与 Prettier 的格式结果。它支持代码片段、文件和标准输入,并要求先重建 Biome WASM 包。
主要功能
- 01对比 Biome 与 Prettier 的输出
- 02检查中间表示输出
- 03处理片段、文件或标准输入
- 04对比前重建 Biome WASM
适用场景
- 01发布前检查格式化器改动
- 02对比代码片段的格式结果
- 03查看文件或编辑器选区的输出
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ biomejs/ biome --skill prettier-compare安装后在 Claude Code 中输入/prettier-compare确认已加载。
详细介绍
目的
在发布格式化程序更改之前,使用 packages/prettier-compare/ 检查 Biome 与 Prettier 格式化结果(包括 IR 输出)之间的差异。
前提条件
- 从代码库根目录运行每条命令,以确保相对路径正确解析。
- 使用
bun(CLI 是 Bun 脚本),并确保已安装依赖项。 - 始终传入
--rebuild,确保 Biome WASM 包与当前的 Rust 更改相匹配。
代码规范
重要:禁止使用 Emoji
所有 Prettier 比较代码和输出中均禁止使用 Emoji:
- 比较脚本中不得使用 Emoji
- 测试文件中不得使用 Emoji
- 输出或诊断消息中不得使用 Emoji
保持所有代码专业且不含 Emoji。
常见工作流
作为 CLI 参数传入代码片段:
bun packages/prettier-compare/bin/prettier-compare.js --rebuild 'const x={a:1,b:2}'
强制指定语言(当工具无法根据文件名推断语言时很有用):
bun packages/prettier-compare/bin/prettier-compare.js --rebuild -l ts 'const x: number = 1'
比较磁盘上的文件:
bun packages/prettier-compare/bin/prettier-compare.js --rebuild -f src/example.tsx
从标准输入读取(非常适合通过管道传入编辑器选区):
echo 'const x = 1' | bun packages/prettier-compare/bin/prettier-compare.js --rebuild -l js
提示
- 格式化没有扩展名的代码时,使用
-l/--language,以便两个格式化程序选择正确的解析器。 - 对于大型示例或快照测试,使用
-f/--file,以便直接使用项目夹具进行迭代。 - 需要更详细的 CLI 信息时,请参阅
packages/prettier-compare/README.md;在此处同步任何更新时,务必保留命令必须包含--rebuild这一硬性要求。 - 将代码片段作为 CLI 参数传入时,请使用单引号,以避免 shell 解释问题。
- 作为 CLI 参数传入时,"\n" 不会被转义为换行符。你应写入实际换行符,或改用文件。
- 即使使用
--rebuild,也可以在只读或规划模式下运行此工具,因为它只会重新构建 Biome WASM 包,不会修改任何源文件。
评论
支持 Markdown