cfgdiff - diff(1) all your configs

  •        15

diff(1) is an awesome tool, you use it (or similar implementations like git diff, svn diff etc) every day when dealing with code. But configuration files aren't code. Indentation often does not matter (yeah, there is diff -w and yeah, people use YAML for configs), order of settings does not matter and comments are just beautiful noise. cfgdiff will try to parse your configuration files, fetching all the relevant keys and values from them and then pretty-printing them in the original format. These results are then diffed and the diff is shown to you.

https://github.com/evgeni/cfgdiff

Tags
Implementation
License
Platform

   




Related Projects

config - Config is a lightweight configuration file loader that supports PHP, INI, XML, JSON, and YAML files

  •    PHP

Config is a file configuration loader that supports PHP, INI, XML, JSON, and YML files. Config requires PHP 5.5.9+.

mrm - Codemods for your project config files

  •    Javascript

Command line tool to help you keep configuration (package.json, .gitignore, .eslintrc, etc.) of your open source projects in sync. Most of the available tools are template based. Template approach works moderately well for new project generation but doesn’t work well for updating. Mrm’s approach is closer to codemods than templates.

atom-beautify - :lipstick: Universal beautification package for Atom editor (:warning: Currently migrating to https://github

  •    CoffeeScript

Atom-Beautify respects the core.telemetryConsent configuration option from Atom editor. If you do not wish to have usage data sent to Google Analytics then please set core.telemetryConsent to no or undecided option before using Atom-Beautify. See Anonymous Analytics section of docs for details. Thank you. Atom-Beautify is going to be completely rewritten with Unibeautify at its core! See unibeautify branch for work in progress and Issue #1174.

RedBeanPHP - Easiest ORM layer for php

  •    PHP

RedBeanPHP is an open source ORM (object relational mapping) tool for PHP. It focuses on simplicity and ease of use. What makes RedBean unique is that it creates your database schema on-the-fly. It scans your data and adjusts the column types to fit your object properties. If your models are stabilized you can freeze the database. This way RedBean is easy to develop with but is also extremely fast on production servers.

sass-lint - Pure Node.js Sass linting

  •    Javascript

Sass-lint can be configured from a .sass-lint.yml or .sasslintrc file in your project. The .sasslintrc file can be in either JSON format or YAML. Both formats are interchangeable easily using tools such as json2yaml. If you don't either file in the root of your project or you would like all your projects to follow a standard config file then you can specify the path to one in your project's package.json file with the sasslintConfig option. Use the Sample Config (YAML) or Sample Config (JSON) as a guide to create your own config file. The default configuration can be found here.


yq - Command-line YAML and XML processor - jq wrapper for YAML/XML documents

  •    Python

Before using yq, you also have to install its dependency, jq. See the jq installation instructions for details and directions specific to your platform. Use the --width/-w argument to pass the line wrap width for string literals. All other command line arguments are forwarded to jq. yq forwards the exit code jq produced, unless there was an error in YAML parsing, in which case the exit code is 1. See the jq manual for more details on jq features and options.

ConfigServiceProvider - A config ServiceProvider for Silex with support for php, json and yaml.

  •    PHP

A config ServiceProvider for Silex with support for php, json, yaml, and toml. Pass the config file's path to the service provider's constructor. This is the recommended way of doing it, allowing you to define multiple environments.

serializer - Library for (de-)serializing data of any complexity (supports XML, JSON, YAML)

  •    PHP

Library for (de-)serializing data of any complexity (supports XML, JSON, YAML)

jsonpipe - Convert JSON to a UNIX-friendly line-based format.

  •    Python

Everyone I know prefers to work with JSON over XML, but sadly there is a sore lack of utilities of the quality or depth of html-xml-utils and XMLStarlet for actually processing JSON data in an automated fashion, short of writing an ad hoc processor in your favourite programming language. jsonpipe is a step towards a solution: it traverses a JSON object and produces a simple, line-based textual format which can be processed by all your UNIX favourites like grep, sed, awk, cut and diff. It may also be valuable within programming languages---in fact, it was originally conceived as a way of writing simple test assertions against JSON output without coupling the tests too closely to the specific structure used.

HackMyResume - Generate polished résumés and CVs in HTML, Markdown, LaTeX, MS Word, PDF, plain text, JSON, XML, YAML, smoke signal, and carrier pigeon

  •    Javascript

Create polished résumés and CVs in multiple formats from your command line or shell. Author in clean Markdown and JSON, export to Word, HTML, PDF, LaTeX, plain text, and other arbitrary formats. Fight the power, save trees. Compatible with FRESH and JRS resumes. HackMyResume is built with Node.js and runs on recent versions of OS X, Linux, or Windows. View the FAQ.

ini-parser - Read/Write an INI file the easy way!

  •    CSharp

A .NET, Mono and Unity3d compatible(*) library for reading/writing INI data from IO streams, file streams, and strings written in C#. Also implements merging operations, both for complete ini files, sections, or even just a subset of the keys contained by the files.

Jackson - Best JSON parser for Java

  •    Java

Jackson is one of best JSON parser for Java. More than that, Jackson is a suite of data-processing tools for Java (and the JVM platform), including the flagship streaming JSON parser / generator library, matching data-binding library (POJOs to and from JSON) and additional data format modules to process data encoded in Avro, BSON, CBOR, CSV, Smile, (Java) Properties, Protobuf, XML or YAML; and even the large set of data format modules to support data types of widely used data types such as Guava, Joda, PCollections and many, many more.

yaml - A better way to marshal and unmarshal YAML in Golang

  •    Go

A wrapper around go-yaml designed to enable a better way of handling YAML when marshaling to and from structs. In short, this library first converts YAML to JSON using go-yaml and then uses json.Marshal and json.Unmarshal to convert to or from the struct. This means that it effectively reuses the JSON struct tags as well as the custom JSON methods MarshalJSON and UnmarshalJSON unlike go-yaml. For a detailed overview of the rationale behind this method, see this blog post.

advanced-ssh-config - :computer: make your ssh client smarter

  •    Go

A transparent wrapper that adds regex, aliases, gateways, dynamic hostnames, graphviz, json output, yaml configuration to SSH. assh can use the ProxyCommand with netcat feature of OpenSSH transparently and without the pain of using extended configuration.

SOPS: Secrets OPerationS

  •    Go

sops is an editor of encrypted files that supports YAML, JSON, ENV, INI and BINARY formats and encrypts with AWS KMS, GCP KMS, Azure Key Vault and PGP.

FluentDOM - A fluent api for working with XML in PHP

  •    PHP

FluentDOM provides extended XML handling classes for PHPs DOM, XMLReader and XMLWriter. Additionally, it contains a easy to use jQuery like, fluent interface for DOM. Here are loaders and serializers for different formats like JSON, YAML, JsonML and others. More (like HTML5) can be installed as additional packages.

mson - Markdown Syntax for Object Notation

  •    

This document provides an introduction to Markdown Syntax for Object Notation (MSON), a Markdown syntax compatible with describing JSON and JSON Schema. MSON is a plain-text, human and machine readable, description format for describing data structures in common markup formats such as JSON, XML or YAML.

YamlSwift - Load YAML and JSON documents using Swift

  •    Swift

Load YAML and JSON documents using Swift. YamlSwift parses a string of YAML document(s) (or a JSON document) and returns a Yaml enum value representing that string.