# @commercetools-frontend/codemod 中文文档

规范地址：https://npmcn.com/package/%40commercetools-frontend/codemod/

版本：27\.17\.1
npm 元数据更新时间：2026-11-10T16:03:22.864Z
中文译文更新时间：2026-11-10T16:07:06.597Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40commercetools-frontend/codemod
原文对照：https://npmcn.com/package/%40commercetools-frontend/codemod/?lang=original
项目主页：https://docs.commercetools.com/merchant-center-customizations
源码仓库：https://github.com/commercetools/merchant-center-application-kit

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

- 包体积（解压后）：46.2 kB，13 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- Node.js 要求：^22\.23\.4 \|\| ^24\.22\.1 \|\| \>=26\.12\.1
- 运行依赖：6 个
- 首次发布：2022-04-28T15:46:55.675Z
- 最新版本发布：2026-11-10T16:03:22.515Z
- 近 30 天下载量：3861（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：1072（近 12 个月 204 个）

## 中文简介

自定义应用程序的代码化转换

## 安装

```sh
npm install @commercetools-frontend/codemod
```

也可以使用：`pnpm add @commercetools-frontend/codemod`、`yarn add @commercetools-frontend/codemod`、`bun add @commercetools-frontend/codemod`

## README

# @ commercialtools- 前端/ codemod

[![Latest release (latest dist-tag)](https://badgen.net/npm/v/@commercetools-frontend/codemod)](https://www.npmjs.com/package/@commercetools-frontend/codemod) [![Latest release (next dist-tag)](https://badgen.net/npm/v/@commercetools-frontend/codemod/next)](https://www.npmjs.com/package/@commercetools-frontend/codemod) [![Minified + GZipped size](https://badgen.net/bundlephobia/minzip/@commercetools-frontend/codemod)](https://bundlephobia.com/result?p=@commercetools-frontend/codemod) [![GitHub license](https://badgen.net/github/license/commercetools/merchant-center-application-kit)](https://github.com/commercetools/merchant-center-application-kit/blob/main/LICENSE)

自定义应用程序的代码化转换 .

## 使用量

```bash
$ npx @commercetools-frontend/codemod@latest <transform> <glob_pattern>
```

我们建议逃跑 `prettier` 在修改后的文件上保存您工程所配置的格式。 例如,你可以运行 `prettier --write $(git diff --name-only)`。 。 。 .

> 使用时 `lint-staged` 你已经跑的几率很高了 `prettier` 在舞台上的文件。 因此,你不需要手动操作它.

## 变换

### `remove-deprecated-modal-level-props`

删除已贬值 `level` 财务报告和审定财务报表 `baseZIndex` 来自模式页面组件的道具.

```
$ npx @commercetools-frontend/codemod@latest remove-deprecated-modal-level-props 'src/**/*.{js,jsx,ts,tsx}'
```

### `rename-js-to-jsx`

重命名 `.js` 使用 React JSX 语法的文件 `.jsx`。 。 。 .

```
$ npx @commercetools-frontend/codemod@latest rename-js-to-jsx 'src/**/*.js'
```

### `rename-mod-css-to-module-css`

重命名 `.mod.css` 文件为 `.module.css` 并更新进口.

```
$ npx @commercetools-frontend/codemod@latest rename-mod-css-to-module-css 'src/**/*.{js,jsx,ts,tsx}'
```

### `redesign-cleanup`

使用旧设计时删除相关的代码 `useTheme` 钩子,例如: `themedValue`。 。 。 .

```
$ npx @commercetools-frontend/codemod@latest redesign-cleanup 'src/**/*.{jsx,tsx}'
```

### `react-default-props-migration`

哀伤反应组件的方式 `defaultProps` 要使用 JavaScript 默认参数。 这对于反射V18或稍后需要. 示例

```jsx
// BEFORE
function MyComponent(props) {
  return (
    <ul>
    <li>Prop 1: {props.prop1}</li>
    <li>Prop 2: {props.prop2}</li>
    <li>Prop 3: {props.prop3}</li>
  </ul>
  );
}
MyComponent.defaultProps = {
  prop1: 'My default value',
};

// AFTER
function MyComponent({ prop1: 'My default value', ...props }) {
  return (
    <ul>
    <li>Prop 1: {prop1}</li>
    <li>Prop 2: {props.prop2}</li>
    <li>Prop 3: {props.prop3}</li>
  </ul>
  );
}
```

您可以使用以下命令运行此编码器:

```
$ npx @commercetools-frontend/codemod@latest react-default-props-migration 'src/**/*.{jsx,tsx}'
```

## 常见问题

### @commercetools-frontend/codemod 是什么？

自定义应用程序的代码化转换

### 如何安装 @commercetools-frontend/codemod？

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

### @commercetools-frontend/codemod 支持 TypeScript 吗？

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

### @commercetools-frontend/codemod 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @commercetools-frontend/codemod 需要什么版本的 Node\.js？

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

### @commercetools-frontend/codemod 可以商用吗？

@commercetools-frontend/codemod 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @commercetools-frontend/codemod 的下载量有多少？

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

### @commercetools-frontend/codemod 还在维护吗？

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

