# @codama/renderers-js-umi 中文文档

规范地址：https://npmcn.com/package/%40codama/renderers-js-umi/

版本：1\.1\.25
npm 元数据更新时间：2026-09-15T07:24:52.593Z
中文译文更新时间：2026-11-10T05:35:56.725Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40codama/renderers-js-umi
原文对照：https://npmcn.com/package/%40codama/renderers-js-umi/?lang=original
项目主页：https://github.com/codama-idl/renderers-js-umi#readme
源码仓库：https://github.com/codama-idl/renderers-js-umi

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

- 包体积（解压后）：523 kB，54 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=20\.18\.0
- 运行依赖：8 个
- 首次发布：2024-10-09T16:24:49.868Z
- 最新版本发布：2026-09-15T07:24:52.206Z
- 近 30 天下载量：63705（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：28（近 12 个月 2 个）

## 中文简介

兼容 Umi 框架的 JavaScript 渲染器

## 安装

```sh
npm install @codama/renderers-js-umi
```

也可以使用：`pnpm add @codama/renderers-js-umi`、`yarn add @codama/renderers-js-umi`、`bun add @codama/renderers-js-umi`

## README

# 科达马 · · · 渲染器 · · JavaScript Umi

[![npm](https://img.shields.io/npm/v/@codama/renderers-js-umi.svg?style=flat&label=%40codama%2Frenderers-js-umi)](https://www.npmjs.com/package/@codama/renderers-js-umi) [![npm-downloads](https://img.shields.io/npm/dm/@codama/renderers-js-umi.svg?style=flat)](https://www.npmjs.com/package/@codama/renderers-js-umi)

此软件包从您的 Codama IDL 生成 JavaScript 客户端 。 生成的客户端与 Metaplex 兼容 [UMI 框架](https://github.com/metaplex-foundation/umi)。 。 。 .

## 安装

```sh
pnpm install @codama/renderers-js-umi
```

## 使用量

在您的 Codama 配置文件中添加以下脚本 .

```json
{
    "scripts": {
        "js": {
            "from": "@codama/renderers-js-umi",
            "args": ["clients/js/src/generated"]
        }
    }
}
```

一个对象可以被传递作为第二个参数来进一步配置渲染器. 见 [选项](https://npmcn.com/package/%40codama/renderers-js-umi/#readme-options) 详细情况见下文.

## 选项

这个 `renderVisitor` 接受以下选项.

| 名称 | 类型 | 默认 | 说明 |
| --- | --- | --- | --- |
| `deleteFolderBeforeRendering` | `boolean` | `true` | 是否在生成新文件之前要清理基准目录 . |
| `formatCode` | `boolean` | `true` | 我们是否应该使用 Pretier 格式化生成的代码 . |
| `prettierOptions` | `PrettierOptions` | `{}` | 使用 Pretier 格式化代码时使用的选项 . |
| `throwLevel` | `'debug' | 'trace' | 'info' | 'warn' | 'error'` | `'error'` | 校验 Codama IDL 时, 校验应投出错误的级别 . |
| `customAccountData` | `string[]` | `[]` | 所有人的名字 `AccountNodes` 其数据应手动用 JavaScript 写入 . |
| `customInstructionData` | `string[]` | `[]` | 所有人的名字 `InstructionNodes` 其数据应手动用 JavaScript 写入 . |
| `linkOverrides` | `Record<'accounts' | 'definedTypes' | 'instructions' | 'pdas' | 'programs' | 'resolvers', Record<string, string>>` | `{}` | 覆盖链接节点导入路径的对象 。 比如说, `{ definedTypes: { counter: 'hooked' } }` 使用该 `hooked` 文件夹以导入任何提及此文件夹的链接节点 `counter` 类型. |
| `dependencyMap` | `Record<string, string>` | `{}` | 在 JavaScript 中将导入化名和它们实际的软件包名称或路径进行映射. |
| `internalNodes` | `string[]` | `[]` | 用于生成但不导出的所有节点的名称 `index.ts` 文档. |
| `nonScalarEnums` | `string[]` | `[]` | 没有数据应作为数据联盟而不是本地数据联盟的enum变体的名称 `enum` 类型。 只有当您在您的 Codama IDL 中引用一个 enum 值时,此选项才有用 . |
| `renderParentInstructions` | `boolean` | `false` | 使用嵌入式指令时,是否还应当提供母指令. 设定为 `false` (默认),只提供指示叶. |

## 常见问题

### @codama/renderers-js-umi 是什么？

兼容 Umi 框架的 JavaScript 渲染器

### 如何安装 @codama/renderers-js-umi？

在项目目录运行 npm install @codama/renderers-js-umi，或使用 pnpm add / yarn add / bun add。

### @codama/renderers-js-umi 支持 TypeScript 吗？

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

### @codama/renderers-js-umi 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @codama/renderers-js-umi 需要什么版本的 Node\.js？

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

### @codama/renderers-js-umi 可以商用吗？

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

### @codama/renderers-js-umi 的下载量有多少？

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

### @codama/renderers-js-umi 还在维护吗？

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

