Yaml-Boost
Basic Yaml Loading with additional functionality, i.e. resolve file depedencies, resolve variables, deep merge hierachies.
Useful for loading improved serverless configuration. For yaml loading this package uses js-yaml.
Getting Started
$ npm install --save yaml-boost
Usage
const yaml = require("yaml-boost");
yaml.load("config.yaml");
Variable and File Resolution
Works identical to how this is defined for serverless here.
Deep Merge
Analogue to the <<
yaml syntax we can use <<<
to deep merge into the current nesting level.
This is helpful when merging files into already existing hierarchies.
Example:
data:
- list entry one
<<<:
- data:
- list entry two
- other: things
results in
data:
- list entry one
- list entry two
other: things
Serverless Example
Define serverless.js
as
const path = require("path");
const optimist = require('optimist');
const yaml = require("yaml-boost");
module.exports = yaml.load(path.join(__dirname, "serverless.core.yml"), optimist.argv);
Then instead of defining serverless.yml
, define your config in serverless.core.yml
.