SuperAPI AI 工具集

ts-runtime-bun

编程与开发

查看项目

更新于 10-26 16:22

技能介绍

用途:本技能用于在 Bun 运行时上运行 TypeScript。适用场景包括:直接用 Bun 运行 .ts/.tsx 而无需单独的转译步骤;配置 bunfig.toml(如 [test] 覆盖率阈值、JUnit 报告器、preload);使用 Bun.build / bun build 打包,或产出 --compile 单文件二进制;组织 Bun workspaces 单仓库;以及为项目在 Bun 与 Node 之间做选择。不适用于 Node 原生类型剥离与 node:test(应使用 ts-runtime-node)、代码检查与格式化(应使用 ts-lint-format),也不适用于自带构建流水线的框架运行时(如 Next.js、Astro)。

主要能力与关键规则:Bun 原生运行 .ts/.tsx,其转译器无需配置即可处理 TS 与 JSX;与 Node 不同,.tsx、enum 和装饰器在运行时可用。Bun 不会向下转换语法,较新的 ECMAScript 会原样出现在打包输出中;打包器不能替代 tsc 类型检查。bunfig.toml 仅属于 Bun,它补充而不会替代 package.json 与 tsconfig.json,命令行参数会覆盖 bunfig 中的值。bun test 与 Jest 兼容,从 bun:test 导入,但并非所有 Jest 特性都已实现。类型检查需单独进行,应在 CI 中保留 tsc --noEmit(或 bun x tsc),因为 Bun 的运行时和打包器都不做类型检查。

使用方式:资料给出一个建议的单仓库结构:根目录包含 package.json(workspaces: ["packages/*"])、bunfig.toml([test] 覆盖率与 [test.reporter] junit)、bun.lock、tsconfig.json,以及 packages/ 下的 core(使用 bun:test、Bun.build)与 cli(bun build --compile 生成二进制)。文档还要求在执行任何实现前并行启动三个代理:explore-codebase 检查 package.json、bunfig.toml、tsconfig.json;research-expert 通过 Context7/Exa 核实 Bun 1.4.x 行为;mcp__context7__query-docs 查阅 Bun 运行时、测试和打包器文档。实现后运行 sniper 做验证。

参考文档与模板:bunfig-test.md 覆盖覆盖率阈值、JUnit、preload、watch;build-compile.md 覆盖 Bun.build、单文件可执行文件、交叉编译;workspaces.md 覆盖单仓库布局、workspace:*、--filter、catalogs;references/bun-vs-node.md 用于选择运行时及了解转译器差异;bun-project-setup.md 用于启动 Bun TS 项目或单仓库。

最佳实践:在 bunfig.toml 中为 CI 设置覆盖率阈值与 JUnit 报告器;在流水线中使用 bun test --coverage 与 --reporter=junit --reporter-outfile;使用 --compile --target= 为其他平台交叉编译 CLI。不要将 bun build 当作类型检查器(应同时运行 tsc --noEmit);不要假设 Bun 会降级现代语法(它不会);不要把 tsconfig 设置重复写入 bunfig.toml(Bun 直接读取 tsconfig)。

限制:资料未提供具体收费、价格、平台支持范围或效果数据,相关事实暂未提供。