A super simple tool for merging YAML files


stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
Minified + gzip package size for @alexlafroscia/yaml-merge in KB




A super simple tool for merging YAML files.


For the command line

npm install -g @alexlafroscia/yaml-merge

For use through Node

npm install --save @alexlafroscia/yaml-merge


yaml-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.

Command Line

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
  foo: bar
  foo: bar

This 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.yml

The 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.

As a Node package

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

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.