Create a composed YAML file using $include tag.
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.
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
If your application needs a compiled file as parameter you can simply compound and feed
$ yamlinc --exec docker-compose -f docker-compose.yml
If your application needs send output to another command or chaining using pipe follow this example
$ yamlinc --output - input.yml | nc seashells.io 1337
If your application needs stop after a syntax error or missing file inclusion use strict mode
$ yamlinc --strict settings.yml
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
If you have custom scenario with YAML file please place issues on the following page