# @efffrida/vitest-pool 中文文档

规范地址：https://npmcn.com/package/%40efffrida/vitest-pool/

版本：0\.0\.60
npm 元数据更新时间：2026-11-12T16:00:27.850Z
中文译文更新时间：2026-11-14T06:44:42.722Z
软件包许可：GPL-3\.0-only

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

原始 npm 页面：https://www.npmjs.com/package/%40efffrida/vitest-pool
原文对照：https://npmcn.com/package/%40efffrida/vitest-pool/?lang=original
项目主页：https://github.com/leonitousconforti/efffrida
源码仓库：https://github.com/leonitousconforti/efffrida

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

- 包体积（解压后）：74.7 kB，9 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=24
- 运行依赖：1 个
- peer 依赖：vite 8\.3\.8，birpc 4\.2\.0，effect 4\.1\.4，vitest 5\.1\.0，flatted 3\.4\.4，@vitest/utils 5\.1\.0，@efffrida/polyfills 0\.0\.25，@effect/platform-node-shared 4\.1\.4
- 首次发布：2025-11-17T22:15:51.125Z
- 最新版本发布：2026-11-12T16:00:27.311Z
- 近 30 天下载量：2220（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：59（近 12 个月 59 个）

## 中文简介

在Frida毒剂内进行测试的毒物池

## 安装

```sh
npm install @efffrida/vitest-pool
```

也可以使用：`pnpm add @efffrida/vitest-pool`、`yarn add @efffrida/vitest-pool`、`bun add @efffrida/vitest-pool`

## README

# @efffrida/ vitest- 池

一个在Frida代理中运行测试文件的 vitest 池,所以在 目标进程而不是节点.

### 示例用途

```typescript
import { createFridaPool } from "@efffrida/vitest-pool";
import { defineConfig } from "vitest/config";

export default defineConfig({
    test: {
        include: ["test/**/*.test.ts"],
        pool: createFridaPool({
            device: { connection: "local" },
            attach: { spawn: ["/usr/bin/sleep", "infinity"] },
        }),
    },
});
```

每个工人都会给一个临时的 `.vitest-frida-pool-*` 目录 在工程根下,用frida的编译器编译,并装入 附加会议。 工人初始化是序列化的,所以只有一个代理 一次编译并附上.

### 虚拟补丁

代理人进口了vitest的试验跑道(`startTests` 财务报告和审定财务报表 `collectTests` 从 `vitest/internal/browser`)),生活在该区 `vitest/dist/chunks/run.BPv-BBRv.js`。 。 。 . 那块块里面有正版 `/\$([$\p{ID_Continue}.]+)/gu` 用于内插 `test.each` 而Frida的JS运行时间 无法解析unicode财产逃脱 (见 [frida/frida-gum # 1195](https://github.com/frida/frida-gum/issues/1195)),这样 加载代理失败的语法错误 .

[`patches/vitest@5.0.5.patch`](https://npmcn.com/package/patches/vitest@5.0.5.patch) 替换它 与 `/\$([$\w.]+)/g`。唯一的行为改变是 `$name` 插入内插 `test.each` 标题只匹配 ascii 标识符.

补丁针对一个内容散列块名, 因此必须重生成 每当vitest被撞出,即使regex本身没有变化. 运行 `pnpm patch vitest@<version>`中,将相同的修改应用到任何 `run.*.js` 块 包含正则ex,然后 `pnpm patch-commit` 更新 `patchedDependencies` 内 `pnpm-workspace.yaml`。在此存储库外使用池需要的项目 以应用同一补丁.

## 常见问题

### @efffrida/vitest-pool 是什么？

在Frida毒剂内进行测试的毒物池

### 如何安装 @efffrida/vitest-pool？

在项目目录运行 npm install @efffrida/vitest-pool，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：vite（8\.3\.8）、birpc（4\.2\.0）、effect（4\.1\.4）、vitest（5\.1\.0）、flatted（3\.4\.4）、@vitest/utils（5\.1\.0）、@efffrida/polyfills（0\.0\.25）、@effect/platform-node-shared（4\.1\.4）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @efffrida/vitest-pool 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/efffrida\_\_vitest-pool 是否存在。

### @efffrida/vitest-pool 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @efffrida/vitest-pool 需要什么版本的 Node\.js？

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

### @efffrida/vitest-pool 可以商用吗？

@efffrida/vitest-pool 使用 GPL-3\.0-only 许可。强 Copyleft：分发包含该代码的软件时，整个作品需以 GPL-3\.0 兼容许可开源，并附带专利与反锁定条款。仅内部使用不触发此义务。以上为概括，不构成法律意见，请以许可原文为准。

### @efffrida/vitest-pool 的下载量有多少？

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

### @efffrida/vitest-pool 还在维护吗？

最新版本 0\.0\.60 发布于 2026/11/13（1 天前）；至今共发布 59 个版本，其中过去 12 个月发布了 59 个；首次发布于 2025/11/18。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

