Skip to content
/ yamlinc Public
forked from javanile/yamlinc

Compose multiple YAML files into one with $include tag. Split Swagger/OpenAPI into multiple YAML files.

License

Notifications You must be signed in to change notification settings

knxrb/yamlinc

 
 

Repository files navigation

Yamlinc

Create a composed YAML file using $include tag.

NPM

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
tags:
- FirstTag
- SecondTag
## file: paths.yml
paths:
  /api/me:
    get: ...      
  /api/you:
    post: ...
  $include: others-paths.yml
## file: others-paths.yml
/api/other/one:
  get: ...      
/api/other/two:
  post: ...

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

$ yamlinc my_swagger_doc.yml

STEP #4 - Get your compiled file 'my_swagger_doc.inc.yml'

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 seashells.io 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

https://github.com/javanile/yamlinc/issues/new

About

Compose multiple YAML files into one with $include tag. Split Swagger/OpenAPI into multiple YAML files.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%