{"library":"merge-yaml-cli","title":"YAML File Merger CLI","description":"merge-yaml-cli is a command-line utility for concatenating and merging multiple YAML files into a single output file. It leverages `glob` patterns for flexible input file selection, making it suitable for configuration management in projects with fragmented YAML setups. The package also exposes a Node.js API, allowing programmatic integration into larger JavaScript applications. The current stable version is 1.1.2. Based on its last publish date 8 years ago and limited recent activity, the project appears to be in a maintenance state with infrequent updates. While it provides a core utility, users seeking more advanced merge strategies (e.g., array concatenation vs. deep merging, or specific key-based merging) might need to explore alternatives like `yq` or `yaml-merge` which offer more nuanced control over the merge process.","language":"javascript","status":"maintenance","last_verified":"Wed Apr 22","install":{"commands":["npm install merge-yaml-cli"],"cli":{"name":"merge-yaml-cli","version":null}},"imports":["const mergeYaml = require('merge-yaml-cli')","const mergeYaml = require('merge-yaml-cli');\nconst result = mergeYaml.merge(['file1.yml', 'file2.yml'])","const mergeYaml = require('merge-yaml-cli');\nmergeYaml.on('files', (files) => console.log('Files found:', files))"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"#!/usr/bin/env node\n\n// Create dummy YAML files for demonstration\nconst fs = require('fs');\nfs.writeFileSync('config/base.yml', 'name: MyApp\\nversion: 1.0.0\\nenvironment: development');\nfs.writeFileSync('config/overrides/prod.yml', 'environment: production\\nscale: large\\nfeatures:\\n  - analytics\\n  - monitoring');\nfs.writeFileSync('config/overrides/test.yml', 'environment: testing\\nscale: medium\\nfeatures:\\n  - logging');\n\nconsole.log('Dummy YAML files created.');\nconsole.log('Running merge-yaml-cli...');\n\n// Simulate CLI execution (assuming global install or PATH setup)\nconst { execSync } = require('child_process');\ntry {\n  execSync('npm i -g merge-yaml-cli', { stdio: 'inherit' });\n  const cliCommand = 'merge-yaml -i config/base.yml config/overrides/*.yml -o merged.yml';\n  console.log(`Executing: ${cliCommand}`);\n  execSync(cliCommand, { stdio: 'inherit' });\n  console.log('\\nMerged YAML content:');\n  console.log(fs.readFileSync('merged.yml', 'utf8'));\n\n  // Clean up dummy files\n  fs.unlinkSync('config/base.yml');\n  fs.unlinkSync('config/overrides/prod.yml');\n  fs.unlinkSync('config/overrides/test.yml');\n  fs.unlinkSync('merged.yml');\n  fs.rmdirSync('config/overrides');\n  fs.rmdirSync('config');\n  console.log('\\nCleanup complete.');\n} catch (error) {\n  console.error(`Error during quickstart: ${error.message}`);\n  process.exit(1);\n}\n","lang":"javascript","description":"Demonstrates global installation and usage of the `merge-yaml-cli` command-line utility to merge multiple YAML files using glob patterns and output the result.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}