用途
bun-first 是一份面向 JavaScript 开发的实践规范,核心目标是让项目默认以 Bun 作为 JavaScript 运行时、包管理器和任务运行器。规范假定在未明确说明的情况下 Bun 可用,并以此为前提指导依赖管理、脚本执行和运行时 API 的选择。
主要能力与原则
规范给出的总体原则包括:
- 优先选择 Bun,而不是 Node.js、npm、pnpm 或 yarn。
- 当 Bun 提供内置功能时,优先使用内置功能,而不是第三方工具。
- 优先使用 Bun 的原生 API(例如文件访问、SQL、S3 等),而不是 Node.js API。
使用方式
包管理
- 使用 bun install、bun add、bun remove。
- 避免使用 npm、yarn、pnpm。
- 优先使用 Bun 原生的 lockfile 和解析行为。
- 保持依赖最小化且有明确目的。
脚本与工具
- 脚本执行优先使用 bun run。
- 不使用 Bun 内置测试运行器 bun test,测试改用 Vitest。
- 不使用 Bun 构建工具 bun build,构建改用 Vite。
- 除非确有必要,避免引入额外的任务运行器。
运行时与 API
- 优先使用 Bun 的原生 API(fetch、fs、path、env 处理等)。
- 编写代码时假定运行时支持现代 Web API。
- 除非明确需要,避免使用 Node 专有 API。
性能与开发体验
- 优先使用简单、显式的脚本,而不是复杂的工具链。
- 避免不必要的抽象。
适用场景
该规范适用于以 Bun 为默认技术栈的 JavaScript 项目,尤其是希望统一包管理、脚本执行和运行时 API、减少对 Node.js 生态工具依赖、并保持工具链简洁的开发团队或个人。
限制
资料未提供该规范的具体版本、适用 Bun 版本、与现有 Node.js 项目的迁移方式、性能数据或兼容性说明,这些内容暂未提供。