# @cloudflare/codemods 中文文档

规范地址：https://npmcn.com/package/%40cloudflare/codemods/

版本：0\.7\.5
npm 元数据更新时间：2026-11-09T14:50:26.621Z
中文译文更新时间：2026-11-10T02:58:28.357Z
软件包许可：MIT OR Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40cloudflare/codemods
原文对照：https://npmcn.com/package/%40cloudflare/codemods/?lang=original
项目主页：https://github.com/cloudflare/workers-sdk/tree/main/packages/codemods#readme
源码仓库：https://github.com/cloudflare/workers-sdk

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

- 包体积（解压后）：4.4 MB，9 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2026-08-20T17:28:27.633Z
- 最新版本发布：2026-11-09T14:50:26.115Z
- 近 30 天下载量：1211906（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：18（近 12 个月 18 个）

## 中文简介

更新 Cloudflare 开发者项目的代码

## 安装

```sh
npm install @cloudflare/codemods
```

也可以使用：`pnpm add @cloudflare/codemods`、`yarn add @cloudflare/codemods`、`bun add @cloudflare/codemods`

## README

# `@cloudflare/codemods`

Cloudflare开发项目升级的代码.

运行一个代号名称 :

```sh
npx @cloudflare/codemods vitest:v3-to-v4
```

可用的编码模式 :

-   `wrangler-to-cf` - 将Wrangler配置迁移到新的 `cf` 配置格式
-   `vitest:v3-to-v4` 移徙 `@cloudflare/vitest-pool-workers` 配置从 Vitest v3 to v4 (英语)
-   `vitest:pool-workers-to-vitest-plugin` — 重命名 `@cloudflare/vitest-pool-workers` 改为 `@cloudflare/vitest-plugin` 单曲

使用 `--dry-run` 在不写的情况下列出更改, `--cwd <path>` 改为目标 其它项目,或重复 `--files <glob>` 限制审议的文件. 当目标在Git工作树内时,工作树必须是干净的. 使用 `--force` 绕过此安全检查.

以默认 Vite 捆绑器来迁移 Wrangler 工程 :

```sh
npx @cloudflare/codemods wrangler-to-cf --cwd ./path/to/project
```

CLI 检测出单个根 `wrangler.json`, (中文(简体) ), `wrangler.jsonc`,或 `wrangler.toml`。通过 `--config <path>` 选择其它文件,或通过 `--bundler wrangler` 以保留 Wrangler 特定工具配置。 对于这个编码器, `--files` 过滤选中的 Wrangler 配置并跳过不匹配的迁移 .

## 程序用途

代码也可以由JavaScript或TypeScript运行:

```ts
import { runCodemod } from "@cloudflare/codemods";

const { changedFiles } = await runCodemod("vitest:v3-to-v4", {
    cwd: process.cwd(),
    dryRun: false,
});
```

`runCodemod` 接受与CLI相同的编码名和别名. 其上下文也接受可选 `files` 财务报告和审定财务报表 `force` 字段对应 CLI 旗帜,并设置 `dryRun` 列表已更改文件而不写入。 它返回一个 `CodemodResult` 包含 `changedFiles` 如果代码无法运行,则拒绝。 CLI的清洁工作树检查也适用于方案运行.

### 移动朗格勒配置以查找

将 Wrangler 配置文件传递给 `migrateWranglerToCf`数字 :

```ts
import { migrateWranglerToCf } from "@cloudflare/codemods";

const result = await migrateWranglerToCf("./wrangler.jsonc", {
    bundler: "vite",
});
```

选项对象及其所有字段都是可选的. 默认为 Vite 捆绑器, 写入启用, 肮脏的工作树保护启用, 自动依赖安装启用 。 迁移安装 `cf` 缺少时, 安装 `@cloudflare/vite-plugin@beta` 当Vite被选中而插件缺失或不兼容时,在生成出Wrangler工具时升级Wrangler需要更新版本. Vite 插件依赖性仍然设置到 `beta` dist 标记 `package.json`; 包管理器安装更新了工程的锁文件. 项目管理 Vite 插件描述符, 如 `workspace:` 财务报告和审定财务报表 `catalog:` 保存;不兼容或未经核实的版本需要手动更新。 设定 `installDependencies` 改为 `false` 以防止依赖性变化;然后将所需的依赖性作为阻断后续。 移徙总是造成 `cloudflare.config.ts`; 选择 Wrangler 捆绑器也创建 `wrangler.config.ts` 当 Wrangler 特定工具配置存在时。 现有目标文件从未被覆盖 。 检查 `result.followUps` 何时 `result.status` 实值 `needs-intervention`。 。 。 .

## 常见问题

### @cloudflare/codemods 是什么？

更新 Cloudflare 开发者项目的代码

### 如何安装 @cloudflare/codemods？

在项目目录运行 npm install @cloudflare/codemods，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 cloudflare-codemods，可以用 npx cloudflare-codemods 直接运行。

### @cloudflare/codemods 支持 TypeScript 吗？

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

### @cloudflare/codemods 支持 ESM 还是 CommonJS？

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

### @cloudflare/codemods 可以商用吗？

@cloudflare/codemods 使用 MIT OR Apache-2\.0 许可。可在 MIT、Apache-2\.0 中任选其一遵守。选择 MIT 时，宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @cloudflare/codemods 的下载量有多少？

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

### @cloudflare/codemods 还在维护吗？

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

