Socket
Socket
Sign inDemoInstall

yamlbundler

Package Overview
Dependencies
2
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    yamlbundler


Maintainers
1

Readme

YAML Bundler

yamlbundler is a useful command that bundles multiple YAML files into a single file. It finds !include tag in a YAML file and replaces it with the contents of another YAML file.

Install

pip install yamlbundler

Quick start

Save these files in your working directory.

# ./main.yaml

# include entire file
a: !include ./sub1.yaml  # relative path from the parent directory of main.yaml 
b: !include
  filepath: ./sub2.yaml 

# include specific value using jsonpath
c: !include
  filepath: ./sub1.yaml
  jsonpath: $.foo

# include multiple files
# Array elements are flattened.
d: !include
- filepath: ./sub1.yaml
- filepath: ./sub2.yaml

# include multiple files
# If all of them are map elements, they are merged into a single map.
e: !include
- filepath: ./sub1.yaml
- filepath: ./sub3.yaml
# ./sub1.yaml
foo: bar
# ./sub2.yaml
- one
- two
# ./sub3.yaml
hoge: !include
  # relative path from the parent directory of sub3.yaml (not main.yaml)
  filepath: ./sub2.yaml
  jsonpath: $[0]

Then, run this command. The result is shown in your terminal as STDOUT. Comments in original YAML are removed.

yamlbundler ./main.yaml

# a:
#   foo: bar
# b:
# - one
# - two
# c: bar
# d:
# - foo: bar
# - one
# - two
# e:
#   foo: bar
#   hoge: one

You can save the result as a new file using --output parameter. If you want to overwrite the original file, use --inplace parameter.

yamlbundler --output ./result.yaml ./main.yaml
yamlbundler --inplace ./main.yaml

Feedback

If you find any bugs, please feel free to create an issue.

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc