A super simple tool for merging YAML files.
npm install -g @alexlafroscia/yaml-mergenpm install --save @alexlafroscia/yaml-mergeyaml-merge takes a series of yaml files and merges them from left to right. This means that the first file will be overwritten by properties of the second, which is overwritten by properties of the third, etc.
When using this tool from the command line, the output file will simply be written to STDOUT
yaml-merge test/fixtures/basic/a.yml test/fixtures/basic/b.yml
a:
foo: bar
b:
foo: barThis way, you can pipe the output to whatever you want. For example, this will write the new yaml file to output.yml
yaml-merge test/fixtures/basic/a.yml test/fixtures/basic/b.yml > output.ymlThe provided file names will be resolved relative to the current directory. So, you an provide a relative path to the files, or an absolute path -- either method works just fine.
yaml-merge also provides a node package that can be consumed to get the output file programmatically.
const resolve = require('path').resolve;
const merge = require('@alexlafroscia/yaml-merge');
const output = merge(resolve('relative/path/to/file.yml'), '/Users/you/some/other/file.yml');
console.log(output); // Prints out the resulting YAML as a string