Skip to content
Compose multiple YAML files into one with $include tag, split Swagger/OpenAPI into multiple YAML files.
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin Update from 0.1.5 Oct 9, 2018
help added ability to specifiy an external schema file Nov 15, 2018
src Fixes issue with using $include for individual array elements May 7, 2019
test fix test Oct 7, 2019
.codeclimate.yml version 0.0.44 Feb 12, 2018
.eslintrc.json version 0.0.44 Feb 12, 2018
.gitignore fix merge test Apr 20, 2019
.istanbul.yml version 0.0.45 Feb 12, 2018
LICENSE Initial commit Feb 12, 2018 Fix readme typo Apr 5, 2019
package-lock.json release 0.1.10 Oct 7, 2019
package.json new release 0.1.10 Oct 7, 2019


Create a composed YAML file using $include tag.


Build Status Test Coverage Maintainability

Simple usage

STEP #1 - Install global yamlinc command-line utility

$ npm install -g yamlinc

STEP #2 - Create "my_swagger_doc.yml" and split it into multiple file

## file: my_swagger_doc.yml
version: '2.0'
$include: ./tags.yml
$include: ./paths.yml
## file: tags.yml
- FirstTag
- SecondTag
## file: paths.yml
    get: ...      
    post: ...
  $include: others-paths.yml
## file: others-paths.yml
  get: ...      
  post: ...

STEP #3 - Simply compile the entry point 'my_swagger_doc.yml'

$ yamlinc my_swagger_doc.yml

STEP #4 - Get your compiled file ''

NOTICE: Yamlinc appends '*.inc.yml' extension to compiled file.

Development watcher

During development you need constantily updated compiled file by watching changes of dependencies

$ yamlinc --watch spectacle -d my_swagger_doc.yml

This example generates documentation with spectacle

Feed your .inc.yml file

If your application needs a compiled file as parameter you can simply compound and feed

$ yamlinc --exec docker-compose -f docker-compose.yml

Redirect output to another command

If your application needs send output to another command or chaining using pipe follow this example

$ yamlinc --output - input.yml | nc 1337

Parse files to find syntax errors

If your application needs stop after a syntax error or missing file inclusion use strict mode

$ yamlinc --strict settings.yml

Use an external schema

If you have your own or a third party schema you can pass it to yamlinc like this

$ yamlinc --schema ../node_modules/cloudformation-schema-js-yaml

Create your scenario

If you have custom scenario with YAML file please place issues on the following page

You can’t perform that action at this time.