SuperAPI AI 工具集

deno-to-bun

编程与开发

查看项目

更新于 10-16 03:04

技能介绍

用途:协助把一个已有的 Deno 项目迁移到 Bun 运行时,核心是分析 API 兼容性、转换 Deno API、更新配置并适配 Bun 的运行时模型。

主要能力:提供 Deno.* API 到 Bun 等价实现的映射(如文件读写、HTTP 服务、环境变量、读取 JSON、命令执行);把 deno.json/deno.jsonc 转换为 package.json 与 bunfig.toml;将 import map 与 URL 导入改为 npm 依赖;说明权限模型差异;将测试从 Deno.test 迁移到 bun:test;生成 bun 项目的 tsconfig.json。

典型转换:Deno.readTextFile/writeTextFile 对应 Bun.file().text()/Bun.write();Deno.serve 对应 Bun.serve;Deno.env.get 对应 process.env;deno.land/std 的 HTTP 用 hono 或 Bun.serve 替代,oak 用 hono 或 express 替代,testing 用 bun:test 替代,path 用 Node.js path 模块替代。

必要用法:先检查 bun --version 与 deno --version,查看是否存在 deno.json/deno.jsonc 及 deno run 权限用法;迁移后执行 bun install、bun run --bun tsc --noEmit、bun test、bun run dev 进行验证。Deno 无扩展名导入需改为显式扩展名(如 ./utils.ts)。

限制与注意:Bun 没有 Deno 的权限系统,默认拥有完整系统访问权,需审查安全性并考虑容器隔离;不支持 URL 导入与 Deno.* 命名空间;Deno Deploy 需改用 Docker 等方式部署;内置格式化/检查工具需改用 Biome、ESLint、Prettier 等。Bun 在 npm 生态、性能、内置包管理器和打包器方面有优势,但资料未提供具体价格、收费或平台信息。