@cordisjs/unyaml

中文文档
3.0.0发布于 2026/11/06MITTypeScriptESM + CJS构建来源已验证近 30 天下载 2.3万

Universal YAML loader for Node.js, esbuild and Vite

原始使用文档
文档目录8 节
  1. Node.js
  2. From CLI
  3. Manually import
  4. esbuild
  5. Options
  6. Vite
  7. Options
  8. TypeScript support

unyaml

downloads npm GitHub

Universal YAML loader. Works in Node.js (CJS require / ESM import), esbuild and Vite — one package, one mental model.

Node.js

Node.js ^22.15 || >=24 is required.

From CLI

CJS:

node -r unyaml path/to/index.cjs

ESM:

node --import unyaml path/to/index.mjs

Manually import

CJS:

require('unyaml')
require('path/to/file.yml') // now it works!

ESM:

import 'unyaml'
const data = await import('path/to/file.yml')

esbuild

import esbuild from 'esbuild'
import unyaml from 'unyaml/esbuild'

await esbuild.build({
  entryPoints: ['src/index.ts'],
  bundle: true,
  outfile: 'dist/index.js',
  plugins: [unyaml()],
})

.yml / .yaml imports are loaded, parsed and inlined as JSON modules.

Options

unyaml({
  filter?: RegExp                  // default: /\.ya?ml$/
  // ...plus any js-yaml LoadOptions (schema, json, onWarning, ...)
})

Vite

// vite.config.ts
import { defineConfig } from 'vite'
import unyaml from 'unyaml/vite'

export default defineConfig({
  plugins: [unyaml()],
})

The Vite plugin handles both the main pipeline and the esbuild-based dependency pre-bundling (optimizeDeps), so importing YAML from inside node_modules works out of the box.

Options

unyaml({
  filter?: RegExp                  // default: /\.ya?ml(?:\?.*)?$/
  // ...plus any js-yaml LoadOptions (schema, json, onWarning, ...)
})

TypeScript support

To silence Cannot find module 'file.yml' or its corresponding type declarations. errors, add unyaml/types to compilerOptions.types in tsconfig.json:

{
  "compilerOptions": {
    "types": [
      "unyaml/types"
    ]
  }
}

版本与发布记录

@cordisjs/unyaml 共发布 5 个版本,首次发布于 2026/04/29;过去 12 个月发布了 5 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
3.0.0latest2026/11/064 天前
2.0.32026/04/296 个月前
2.0.22026/04/296 个月前
2.0.12026/04/296 个月前
2.0.02026/04/296 个月前

关于 @cordisjs/unyaml 的常见问题

@cordisjs/unyaml 是什么?

Universal YAML loader for Node.js, esbuild and Vite

如何安装 @cordisjs/unyaml?

在项目目录运行 npm install @cordisjs/unyaml,或使用 pnpm add / yarn add / bun add。

@cordisjs/unyaml 支持 TypeScript 吗?

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

@cordisjs/unyaml 支持 ESM 还是 CommonJS?

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

@cordisjs/unyaml 需要什么版本的 Node.js?

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

@cordisjs/unyaml 可以商用吗?

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

@cordisjs/unyaml 的下载量有多少?

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

@cordisjs/unyaml 还在维护吗?

最新版本 3.0.0 发布于 2026/11/06(4 天前);至今共发布 5 个版本,其中过去 12 个月发布了 5 个;首次发布于 2026/04/29。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。