@e2e-dev/smol

中文文档
0.1.3发布于 2026/11/13Apache-2.0TypeScriptES Module零依赖构建来源已验证近 30 天下载 2.3万

e2e的smol机器浏览器:每次测试都分支出一个温暖的铬微VM

中文使用文档
文档目录4 节
  1. 为什么选呢
  2. 安装
  3. 使用量
  4. 许可证

@ e2e- dev/ smol (英语)

摩尔机 浏览器 e2e数字 : web({ browser: smol() }) 运行每个试验尝试 在自己的分支 一个温暖的 在你的电脑上.

为什么选呢

使用 smol() 对于每次尝试都需要新浏览器的状态网络测试, 包括复试。 一个温暖的浏览器被准备一次然后分支 app,每个分支也得到了自己的运行应用程序和存储在VM中的数据. 这样可以测试更改文件或本地数据库而不包含该状态 进入下一个尝试。 机器在本地运行, 没有主机浏览器 账户。 外部服务仍然在尝试中共享.

安装

npm install --save-dev @e2e-dev/smol smolmachines

使用量

import type { E2EConfig } from 'e2e';
import { web } from '@e2e-dev/web';
import { smol } from '@e2e-dev/smol';

export default {
  targets: [
    {
      engine: web({ browser: smol({ hostPorts: [3000] }) }),
      app: { url: 'http://localhost:3000', command: { executable: 'npm', args: ['run', 'dev'] } },
    },
  ],
  workers: 4,
} satisfies E2EConfig;

每个工人的靴子 嵌入了Smol引擎上的一台铬机 smolmachines (macOS on Apple Silicon,或有KVM的Linux). 默认 scope: 'attempt',每一次尝试,然后得到一个复制写分行 运行浏览器一般在一秒钟左右,视端口准备情况而定. 它有自己的内存和磁盘,在尝试结束时被删除. prepare(cdpEndpoint) 热浏览器在分枝之前驱动一次,所以 每一个尝试开始签名. hostPorts 列出 在您计算机的回回转上端口 浏览器作为自己的 localhost。 。 。 . 这些端口不是访问政策:机器也可以到达每个主机 循环端口通过 host.smolvm.internal 并有出网访问. setup 在 Chromium 启动前运行机器中的 shell 脚本 . app: { source, setup, start, port } 在测试中运行应用程序 机器而不是电脑,所以 attempt 范围 也获得它自己运行的应用程序副本和它保存在机器上的数据. scope: 'worker' 将浏览器保存在每个工人槽,由 那档子上的尝试.

完整文档生活于 e2e.com/docs/整合/smol。 。 。 .

许可证

阿帕奇 - 2.0

版本与发布记录

@e2e-dev/smol 共发布 37 个版本,首次发布于 2026/10/09;过去 12 个月发布了 37 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.1.3latest2026/11/13今天
0.1.3-nightly-20261113123338nightly2026/11/13今天
0.1.3-nightly-202611100302172026/11/103 天前
0.1.3-nightly-202611090302102026/11/094 天前
0.1.3-nightly-202611080302292026/11/085 天前
0.1.3-nightly-202611070302142026/11/076 天前

关于 @e2e-dev/smol 的常见问题

@e2e-dev/smol 是什么?

e2e的smol机器浏览器:每次测试都分支出一个温暖的铬微VM

如何安装 @e2e-dev/smol?

在项目目录运行 npm install @e2e-dev/smol,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:e2e(>=0.15.0 <1)、@e2e-dev/web(>=0.11.0 <1)、smolmachines(>=1.25.1 <2)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@e2e-dev/smol 支持 TypeScript 吗?

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

@e2e-dev/smol 支持 ESM 还是 CommonJS?

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

@e2e-dev/smol 需要什么版本的 Node.js?

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

@e2e-dev/smol 可以商用吗?

@e2e-dev/smol 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@e2e-dev/smol 的下载量有多少?

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

@e2e-dev/smol 还在维护吗?

最新版本 0.1.3 发布于 2026/11/13(今天);至今共发布 37 个版本,其中过去 12 个月发布了 37 个;首次发布于 2026/10/09。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。