# @swagger-api/apidom-parser-adapter-openapi-yaml-3-0

> Parser adapter for parsing YAML documents into OpenAPI 3.0.x namespace.

Latest version **1.12.1** (published 2026-09-04) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @swagger-api/apidom-parser-adapter-openapi-yaml-3-0
pnpm add @swagger-api/apidom-parser-adapter-openapi-yaml-3-0
yarn add @swagger-api/apidom-parser-adapter-openapi-yaml-3-0
bun add @swagger-api/apidom-parser-adapter-openapi-yaml-3-0
```

## Health

**Score 75/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; has provenance; recently updated; high maintenance score; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 1.12.1 |
| Published | 2026-09-04 |
| First published | 2023-02-28 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 7 |
| Unpacked size | 1.6 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 100 |
| Author | Vladimir Gorej |
| Maintainers | swagger-api |

## Links

- npm: https://www.npmjs.com/package/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0
- Repository: https://github.com/swagger-api/apidom
- Homepage: https://github.com/swagger-api/apidom#readme
- Issues: https://github.com/swagger-api/apidom/issues
- npm.io page: https://npm.io/package/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0

## Dependencies (7)

- [ramda](https://npm.io/package/ramda.md) ~0.30.0
- [@types/ramda](https://npm.io/package/@types/ramda.md) ~0.30.0
- [ramda-adjunct](https://npm.io/package/ramda-adjunct.md) ^5.0.0
- [@babel/runtime-corejs3](https://npm.io/package/@babel/runtime-corejs3.md) ^7.26.10
- [@swagger-api/apidom-core](https://npm.io/package/@swagger-api/apidom-core.md) ^1.12.1
- [@swagger-api/apidom-ns-openapi-3-0](https://npm.io/package/@swagger-api/apidom-ns-openapi-3-0.md) ^1.12.1
- [@swagger-api/apidom-parser-adapter-yaml-1-2](https://npm.io/package/@swagger-api/apidom-parser-adapter-yaml-1-2.md) ^1.12.1

## Recent versions

- 1.12.1 (latest) — 2026-09-04
- 1.11.6 (v1.11-maintenance) — 2026-09-16
- 1.11.5 — 2026-09-16
- 1.11.4 — 2026-09-15
- 1.12.0 — 2026-08-03
- 1.11.3 — 2026-06-22
- 1.11.2 — 2026-06-02
- 1.11.1 — 2026-05-12
- 1.11.0 — 2026-04-27
- 1.10.2 — 2026-04-13
- 1.10.1 — 2026-04-07
- 1.10.0 — 2026-04-01
- 1.9.0 — 2026-03-30
- 1.8.0 — 2026-03-20
- 1.7.0 — 2026-03-17
- … 122 more at https://npm.io/package/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0/versions

## README

# @swagger-api/apidom-parser-adapter-openapi-yaml-3-0

`@swagger-api/apidom-parser-adapter-openapi-yaml-3-0` is a parser adapter for the [OpenAPI 3.0.x specification](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.4.md) in [YAML format](https://yaml.org/spec/1.2/spec.html).
Under the hood this adapter uses [apidom-parser-adapter-yaml-1-2](https://github.com/swagger-api/apidom/tree/main/packages/apidom-parser-adapter-yaml-1-2)
to parse a source string into generic ApiDOM in [base ApiDOM namespace](https://github.com/swagger-api/apidom/tree/main/packages/apidom-core#base-namespace)
which is then refracted with [OpenAPI 3.0.x Refractors](https://github.com/swagger-api/apidom/tree/main/packages/apidom-ns-openapi-3-0#refractors).

## Installation

After [prerequisites](https://github.com/swagger-api/apidom/blob/main/README.md#prerequisites) for installing this package are satisfied, you can install it
via [npm CLI](https://docs.npmjs.com/cli) by running the following command:

```sh
 $ npm install @swagger-api/apidom-parser-adapter-openapi-yaml-3-0
```

## Parser adapter API

This parser adapter is fully compatible with parser adapter interface required by [@swagger-api/apidom-parser](https://github.com/swagger-api/apidom/tree/main/packages/apidom-parser#mounting-parser-adapters)
and implements all required properties.

### mediaTypes

Defines list of media types that this parser adapter recognizes.

```js
[
  'application/vnd.oai.openapi;version=3.0.0',
  'application/vnd.oai.openapi+yaml;version=3.0.0',
  'application/vnd.oai.openapi;version=3.0.1',
  'application/vnd.oai.openapi+yaml;version=3.0.1',
  'application/vnd.oai.openapi;version=3.0.2',
  'application/vnd.oai.openapi+yaml;version=3.0.2',
  'application/vnd.oai.openapi;version=3.0.3',
  'application/vnd.oai.openapi+yaml;version=3.0.3',
  'application/vnd.oai.openapi;version=3.0.4',
  'application/vnd.oai.openapi+yaml;version=3.0.4',
]
```

### detect

[Detection](https://github.com/swagger-api/apidom/blob/main/packages/apidom-parser-adapter-openapi-yaml-3-0/src/adapter.ts#L21) is based on a regular expression matching required OpenAPI 3.0.x specification symbols in YAML format.

### namespace

This adapter exposes an instance of [OpenAPI 3.0.x ApiDOM namespace](https://github.com/swagger-api/apidom/tree/main/packages/apidom-ns-openapi-3-0#openapi-30x-namespace).

### parse

`parse` function consumes various options as a second argument. Here is a list of these options:

Option | Type | Default | Description
--- | --- | --- | ---
<a name="specObj"></a>`specObj` | `Object` | [Specification Object](https://github.com/swagger-api/apidom/blob/main/packages/apidom-ns-openapi-3-0/src/refractor/specification.ts) | This specification object drives the YAML AST transformation to OpenAPI 3.0.x ApiDOM namespace.
<a name="sourceMap"></a>`sourceMap` | `Boolean` | `false` | Indicate whether to generate source maps.
<a name="refractorOpts"></a>`refractorOpts` | `Object` | `{}` | Refractor options are [passed to refractors](https://github.com/swagger-api/apidom/tree/main/packages/apidom-ns-openapi-3-0#refractor-plugins) during refracting phase.

All unrecognized arbitrary options will be ignored.

## Usage

This parser adapter can be used directly or indirectly via [apidom-parser](https://github.com/swagger-api/apidom/tree/main/packages/apidom-parser).

### Direct usage

During direct usage you don't need to provide `mediaType` as the `parse` function is already pre-bound
with [supported media types](#mediatypes).

```js
import { parse, detect } from '@swagger-api/apidom-parser-adapter-openapi-yaml-3-0';

// detecting
await detect('openapi: 3.0.4'); // => true
await detect('test'); // => false

// parsing
const parseResult = await parse('openapi: 3.0.4', { sourceMap: true });
```

### Indirect usage

You can omit the `mediaType` option here, but please read [Word on detect vs mediaTypes](https://github.com/swagger-api/apidom/tree/main/packages/apidom-parser#word-on-detect-vs-mediatypes) before you do so.

```js
import ApiDOMParser from '@swagger-api/apidom-parser';
import * as openApiYamlAdapter from '@swagger-api/apidom-parser-adapter-openapi-yaml-3-0';

const parser = new ApiDOMParser();

parser.use(openApiYamlAdapter);

const parseResult = await parser.parse('openapi: 3.0.4', { mediaType: openApiYamlAdapter.mediaTypes.latest('yaml') });
```

---
_Source: https://npm.io/package/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0 · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
