# @fmvilas/pseudo-yaml-ast 中文文档

规范地址：https://npmcn.com/package/%40fmvilas/pseudo-yaml-ast/

版本：0\.3\.1
npm 元数据更新时间：2022-04-05T11:34:05.097Z
中文译文更新时间：2026-11-15T03:20:55.923Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40fmvilas/pseudo-yaml-ast
原文对照：https://npmcn.com/package/%40fmvilas/pseudo-yaml-ast/?lang=original

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

- 包体积（解压后）：42.8 kB，16 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：1 个
- 首次发布：2020-04-10T16:26:15.032Z
- 最新版本发布：2020-06-18T07:30:05.683Z
- 近 30 天下载量：166720（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：4（近 12 个月 0 个）

## 中文简介

叉作伪相. 将 YAML 字符串分析为具有位置属性的对象

## 安装

```sh
npm install @fmvilas/pseudo-yaml-ast
```

也可以使用：`pnpm add @fmvilas/pseudo-yaml-ast`、`yarn add @fmvilas/pseudo-yaml-ast`、`bun add @fmvilas/pseudo-yaml-ast`

## README

# @fmvilas/pseudo-yaml-ast (英语)

> 这个项目是一个叉子 [伪亚姆尔-ast](https://github.com/yldio/pseudo-yaml-ast)

将 YAML 字符串分析为具有位置属性的对象.

## 目录

-   [安装](https://npmcn.com/package/%40fmvilas/pseudo-yaml-ast/#readme-install)
-   [使用量](https://npmcn.com/package/%40fmvilas/pseudo-yaml-ast/#readme-usage)
-   [许可证](https://npmcn.com/package/%40fmvilas/pseudo-yaml-ast/#readme-license)

## 安装

```
npm install @fmvilas/pseudo-yaml-ast
```

## 使用量

```js
const { yamlAST, loc } = require('pseudo-yaml-ast');
const assert = require('assert');

const ast = yamlAST(`
  obj:
    arr:
    - nums:
      - 1
      - 2
      - 3
      strs1:
      - '1'
      - '2'
      - '3'
    str: '1'
    num: 1
`);

assert.deepEqual(Object.keys(ast), ['obj']);
assert.deepEqual(ast[loc].start.line, 2);
assert.deepEqual(ast[loc].end.line, 14);

assert.deepEqual(Object.keys(ast.obj), ['arr', 'str', 'num']);
assert.deepEqual(ast.obj[loc].start.line, 2);
assert.deepEqual(ast.obj[loc].end.line, 13);

assert.deepEqual(ast.obj.str[loc].start.line, 12);
assert.deepEqual(ast.obj.str[loc].end.line, 12);
assert.deepEqual(ast.obj.num[loc].start.line, 13);
assert.deepEqual(ast.obj.num[loc].end.line, 13);
assert.deepEqual(ast.obj.arr[0][loc].start.line, 4);
assert.deepEqual(ast.obj.arr[0][loc].end.line, 12);

assert.deepEqual(Object.keys(ast.obj.arr[0]), ['nums', 'strs1']);
assert.deepEqual(ast.obj.arr[0].nums[loc].start.line, 4);
assert.deepEqual(ast.obj.arr[0].nums[loc].end.line, 8);
assert.deepEqual(ast.obj.arr[0].strs1[loc].start.line, 8);
assert.deepEqual(ast.obj.arr[0].strs1[loc].end.line, 12);
```

## 许可证

Apache 2.0 (英语)

## 常见问题

### @fmvilas/pseudo-yaml-ast 是什么？

叉作伪相\. 将 YAML 字符串分析为具有位置属性的对象

### 如何安装 @fmvilas/pseudo-yaml-ast？

在项目目录运行 npm install @fmvilas/pseudo-yaml-ast，或使用 pnpm add / yarn add / bun add。

### @fmvilas/pseudo-yaml-ast 支持 TypeScript 吗？

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

### @fmvilas/pseudo-yaml-ast 支持 ESM 还是 CommonJS？

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

### @fmvilas/pseudo-yaml-ast 可以商用吗？

@fmvilas/pseudo-yaml-ast 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @fmvilas/pseudo-yaml-ast 的下载量有多少？

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

### @fmvilas/pseudo-yaml-ast 还在维护吗？

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

