# @codemod-utils/json 中文文档

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

版本：2\.0\.3
npm 元数据更新时间：2025-09-11T22:16:58.818Z
中文译文更新时间：2026-11-10T07:17:28.990Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40codemod-utils/json
原文对照：https://npmcn.com/package/%40codemod-utils/json/?lang=original
项目主页：https://github.com/ijlee2/codemod-utils#readme
源码仓库：https://github.com/ijlee2/codemod-utils

弃用说明：Package has been renamed\. Please install @codemod-utils/package-json@3\.0\.0 or above\.

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

- 包体积（解压后）：14.5 kB，15 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：20\.\* \|\| \>= 22
- 运行依赖：1 个
- 首次发布：2023-05-17T07:56:30.997Z
- 最新版本发布：2025-09-08T13:54:39.993Z
- 近 30 天下载量：12429（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：34（近 12 个月 0 个）

## 中文简介

处理JSON的水电费

## 安装

```sh
npm install @codemod-utils/json
```

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

## README

[![This project uses GitHub Actions for continuous integration.](https://github.com/ijlee2/codemod-utils/actions/workflows/ci.yml/badge.svg)](https://github.com/ijlee2/codemod-utils/actions/workflows/ci.yml)

# @ codemod- utils/ json

_处理JSON的水电费_

## 这是什么?

`@codemod-utils/json` 帮助您更新文件例如 `package.json` 财务报告和审定财务报表 `tsconfig.json`。 。 。 .

## API 密码

### 转换为映射, 转换为对象

`convertToMap()` 将对象转换为映射,同时 `convertToObject()` 将地图转换为对象。 利用这两个公用事业更新JSONs.

> \[注\] `convertToObject()` 以字母顺序创建按键对象.

示例

删除依赖关系( 如果存在) 从 `package.json`。 。 。 .

```ts
const dependencies = convertToMap(packageJson['dependencies']);

const packagesToDelete = [
  '@embroider/macros',
  'ember-auto-import',
  'ember-cli-babel',
  'ember-cli-htmlbars',
];

packagesToDelete.forEach((packageName) => {
  dependencies.delete(packageName);
});

packageJson['dependencies'] = convertToObject(dependencies);
```
示例

配置 `tsconfig.json` 在一个Ember应用程序.

```ts
const compilerOptions = convertToMap(tsConfigJson['compilerOptions']);

compilerOptions.set('paths', {
  [`${appName}/tests/*`]: ['tests/*'],
  [`${appName}/*`]: ['app/*'],
  '*': ['types/*'],
});

tsConfigJson['compilerOptions'] = convertToObject(compilerOptions);
```

### 读取包Json

读取 `package.json` 并返回解析过的JSON.

> \[注\] `readPackageJson()` 检查一下 `package.json` 已经存在,并且是有效的 JSON.

示例

检查正在运行的编码器的工程是否有 `typescript` 作为依赖.

```ts
import { readPackageJson } from '@codemod-utils/json';

const { dependencies, devDependencies } = readPackageJson({
  projectRoot,
});

const projectDependencies = new Map([
  ...Object.entries(dependencies ?? {}),
  ...Object.entries(devDependencies ?? {}),
]);

const hasTypeScript = projectDependencies.has('typescript');
```

### 验证包Json

(字为-). 检查字段 `name` 财务报告和审定财务报表 `version` 存在,即它们的值是非空字符串.

示例

```js
import { readPackageJson, validatePackageJson } from '@codemod-utils/json';

const packageJson = readPackageJson({ projectRoot });

validatePackageJson(packageJson);

// Both guaranteed to be `string` (not `undefined`)
const { name, version } = packageJson;
```

## 兼容性

-   节点.js v20 或以上

## 捐款

见 [捐款](https://npmcn.com/package/CONTRIBUTING.md) 详细指南.

## 许可证

本项目根据以下规定获得许可证: [MIT 许可证](https://npmcn.com/package/%40codemod-utils/json/LICENSE.md)。 。 。 .

## 常见问题

### @codemod-utils/json 是什么？

处理JSON的水电费注意：该包已被作者标记为弃用——Package has been renamed\. Please install @codemod-utils/package-json@3\.0\.0 or above\.

### 如何安装 @codemod-utils/json？

在项目目录运行 npm install @codemod-utils/json，或使用 pnpm add / yarn add / bun add。

### @codemod-utils/json 支持 TypeScript 吗？

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

### @codemod-utils/json 支持 ESM 还是 CommonJS？

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

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

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

### @codemod-utils/json 可以商用吗？

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

### @codemod-utils/json 的下载量有多少？

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

### @codemod-utils/json 还在维护吗？

最新版本 2\.0\.3 发布于 2025/09/08（1\.2 年前）；至今共发布 34 个版本，其中过去 12 个月发布了 0 个；首次发布于 2023/05/17。作者已将其标记为弃用，新项目建议寻找替代方案。

