@bitfab/transform

中文文档
0.1.8发布于 2026/10/15MITTypeScriptESM + CJS近 30 天下载 5537

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

此软件包已被标记为弃用

Deprecated: use @bitfab/sdk/transform/* instead (e.g. @bitfab/sdk/transform/next). Remove @bitfab/transform from your dependencies.

中文使用文档
文档目录6 节
  1. 下一个.js
  2. 网点JS
  3. 明确的 Bitfab 跨度
  4. 取消插件构建工具
  5. 直接类型脚本执行
  6. 离散路径基准

@ 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

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 配置 :

{
  "compilerOptions": {
    "builder": "webpack",
    "webpackConfigPath": "webpack.config.cjs"
  }
}
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 执行和 使用构建工具的普通插件阵列 :

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第一缔约方 当前工作目录中的模块并允许其内入源 地图 :

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 路径 :

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 共发布 7 个版本,首次发布于 2026/09/08;过去 12 个月发布了 7 个版本。

版本发布日期距今
0.1.8latest2026/10/1524 天前
0.1.72026/10/1326 天前
0.1.62026/09/221 个月前
0.1.52026/09/191 个月前
0.1.42026/09/181 个月前
0.1.32026/09/082 个月前

关于 @bitfab/transform 的常见问题

@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。作者已将其标记为弃用,新项目建议寻找替代方案。