@ 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 代理路径
从共同路径,所以它的额外的不活动呼叫费用保持可见.