# @bitfab/transform 中文文档

规范地址：https://npmcn.com/package/%40bitfab/transform/

版本：0\.1\.8
npm 元数据更新时间：2026-10-14T18:34:09.352Z
中文译文更新时间：2026-11-08T04:20:52.390Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40bitfab/transform
原文对照：https://npmcn.com/package/%40bitfab/transform/?lang=original
项目主页：https://github.com/Project-White-Rabbit/ai-assistant/tree/main/bitfab-typescript-transform#readme
源码仓库：https://github.com/Project-White-Rabbit/ai-assistant

弃用说明：Deprecated: use @bitfab/sdk/transform/\* instead \(e\.g\. @bitfab/sdk/transform/next\)\. Remove @bitfab/transform from your dependencies\.

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：891 kB，108 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.18
- 运行依赖：8 个
- peer 依赖：@bitfab/sdk \>=0\.60\.2
- 首次发布：2026-09-08T01:27:50.710Z
- 最新版本发布：2026-10-14T18:19:53.256Z
- 近 30 天下载量：5537（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：7（近 12 个月 7 个）

## 中文简介

Bitfab 自动调用跟踪实验建构适配器

## 安装

```sh
npm install @bitfab/transform
```

也可以使用：`pnpm add @bitfab/transform`、`yarn add @bitfab/transform`、`bun add @bitfab/transform`

## README

# @ bitfab/ 转换相容包

实验性建筑集成的兼容性包,可产生下方的自动第一当事方呼叫 `@bitfab.trace()` 财务报告和审定财务报表 `bitfab.withTrace()` 树根。 已解开的呼叫已配置 与 `@bitfab.node()` 或者说 `bitfab.withNode()` 仍符合转型条件,因为 树上的树根仍然有它们的长度.

适配器现在飞入 `@bitfab/sdk`新设施只需要SDK和 应当从 `@bitfab/sdk/transform/*`现有 `@bitfab/transform` 在移徙期间,进口仍然得到支持.

安装 `@bitfab/sdk`,然后在原始服务器中添加一个捆绑的适配器 TypeScript 或 JavaScript 最早编译为:

| 工具 | 导出软件包 |
| --- | --- |
| Next.js 16,涡轮包装,或下个网络包装 | `@bitfab/sdk/transform/next` |
| 带网页包的NestJS | `@bitfab/sdk/transform/nest` |
| 维特 | `@bitfab/sdk/transform/vite` |
| 滚动 | `@bitfab/sdk/transform/rollup` |
| 滚动 | `@bitfab/sdk/transform/rolldown` |
| 兴建 | `@bitfab/sdk/transform/esbuild` |
| 阿宝 | `@bitfab/sdk/transform/bun` |
| 网络软件包 | `@bitfab/sdk/transform/webpack` |
| 包装 | `@bitfab/sdk/transform/rspack` |
| 建设 | `@bitfab/sdk/transform/rsbuild` |
| 宝贝 | `@bitfab/sdk/transform/babel` |
| 方案SWC | `@bitfab/sdk/transform/swc` |
| 直接节点类型脚本或 `tsx` | `@bitfab/sdk/transform/register` |

## 下一个.js

```typescript
import type { NextConfig } from "next"
import withBitfabTrace from "@bitfab/sdk/transform/next"

const nextConfig: NextConfig = {}
export default withBitfabTrace(nextConfig)
```

Turbopack和webpack的包装仪器节点服务器模块正在构建. 它没有仪器客户端或Edge捆绑.

仪器被标注到目录中 下一步运行,所以在 单列波可以添加自己的适配器。 过 `cwd` 以扩大或缩小 范围.

## 网点JS

选择 Nest 的 Webpack 构建器并将其指向普通自定义的 Webpack 配置 :

```json
{
  "compilerOptions": {
    "builder": "webpack",
    "webpackConfigPath": "webpack.config.cjs"
  }
}
```

```javascript
const bitfabNestTrace = require("@bitfab/sdk/transform/nest").default

module.exports = bitfabNestTrace()
```

包装器保留由 Nest 和 appends 生成的 Web 包配置 共享的 Bitfab 转换 。 使用 `tsc` 或 SWC 仍然建置器 释放富翁 `trace()` root,但需要相应的编译器集成到 发现孩子的电话.

## 明确的 Bitfab 跨度

变换不用于 Bitfab 的 SDK 执行或 `withSpan()`编号 :`withTrace()` 呼唤自己。 它还确认内在和参考 功能传递给那些包裹 并留下他们的身体,所以 明确 `withSpan()` 产生一个完全丰富的跨度 而不是额外的 自动孩子。 从该明确机构内调出的职能 符合自动生育期限的条件.

适配器重写符合条件的先行函数, 因为构建不能 可靠地预测通过进口、依赖性注射、, 调用,或虚拟发送。 每个重写函数首先检查 调用范围运行时上下文 。 外边 `trace()` 或者说 `withTrace()`,它执行 原正体直接不构建跨元数据、捕获输入或 援引终结。 结构已调整或默认箭头函数使用窄 函数代理服务器 : 重写参数语义; 在活动根外, 它的应用陷阱引用 原目标立即。 已禁用或缺失的密钥根从未请求 抓取策略或激活调用范围上下文.

当服务器策略选择一个用于富集抓取的函数时,其输入是 调用边界提供的原始参数数组 。 对象和阵列 因此,调整结构保留了完整的论据而不是记录 重建后装订或占位符.

## 取消插件构建工具

所有捆绑出口都来自同样的 Unplugin 执行和 使用构建工具的普通插件阵列 :

```typescript
import bitfabTrace from "@bitfab/sdk/transform/vite"
import { defineConfig } from "vite"

export default defineConfig({ plugins: [bitfabTrace()] })
```

使用相应的子路径 滚出,滚出,倒出, 建设, Bun, Webpack, Rspack,或作Rsbuilt. (中文(简体) ). 基于 Vite 的 React 路由器、 Astro、 Nuxt 和 SvelteKit 服务器 模块使用 Vite 适配器。 直接嵌入的函数 `.astro`, (中文(简体) ), `.vue`, (中文(简体) ), 或者说 `.svelte` 文件尚未设置工具.

## 直接类型脚本执行

登记钩工具和转接无害环境管理和共同JS第一缔约方 当前工作目录中的模块并允许其内入源 地图 :

```bash
node --import @bitfab/sdk/transform/register src/server.ts
node --import tsx --import @bitfab/sdk/transform/register src/server.ts
```

节点加载器解决其从 SDK 中注入的运行时间 变换安装,包括当共享包不依赖于SDK时. 要选择不同的应用程序 SDK 安装, 设置 `BITFAB_SDK_RESOLVE_FROM` 该申请 `package.json` 路径 :

```bash
BITFAB_SDK_RESOLVE_FROM=./packages/actor/package.json node --import @bitfab/sdk/transform/register packages/actor/src/server.ts
```

从寄存器根中运行以包含捕获中的共享包. 此设置 更改运行时间分辨率; 工作目录仍然定义抓取范围 和相对函数 ID。 无害环境管理和共同JS都使用各自的SDK出口.

用平原建设的项目 `tsc` 应该通过其中的一条 捆绑适配器或启动节点 `@bitfab/sdk/transform/register`每一个 适配器与 Babel 相配,在构建时间需要节点22.18或更后.

没有适配器, root API 仍然有效并释放出正常的富根 间距。 他们根本无法发现嵌入式寄存器呼叫. SDK打印一个 `[bitfab]` 警告当一个根在一个没有被触碰的构件中在节点上完成时, 命名根并链接所记录的安装步骤。 所有适配器都是 实验,而生成的函数身份协议可能改变.

## 离散路径基准

运行 `pnpm bench:idle` 来比较普通函数和生成的共同函数 非活动体内快路 。 基准替代样本和报告中位数 每次呼叫纳米秒;它故意没有依靠机器的通行证/故障 阈值。 它分别报告已解结构/ 默认- arrow 代理路径 从共同路径,所以它的额外的不活动呼叫费用保持可见.

## 常见问题

### @bitfab/transform 是什么？

Bitfab 自动调用跟踪实验建构适配器注意：该包已被作者标记为弃用——Deprecated: use @bitfab/sdk/transform/\* instead \(e\.g\. @bitfab/sdk/transform/next\)\. Remove @bitfab/transform from your dependencies\.

### 如何安装 @bitfab/transform？

在项目目录运行 npm install @bitfab/transform，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@bitfab/sdk（\>=0\.60\.2）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @bitfab/transform 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @bitfab/transform 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @bitfab/transform 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22\.18。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @bitfab/transform 可以商用吗？

@bitfab/transform 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @bitfab/transform 的下载量有多少？

根据 npm 官方下载统计，@bitfab/transform 在 2026/10/08 – 2026/11/06 这 30 天内被下载 5,537 次，日均约 185 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @bitfab/transform 还在维护吗？

最新版本 0\.1\.8 发布于 2026/10/15（24 天前）；至今共发布 7 个版本，其中过去 12 个月发布了 7 个；首次发布于 2026/09/08。作者已将其标记为弃用，新项目建议寻找替代方案。

