Composer Normalizer Package


August 3rd, 2021


Composer Normalize is a plugin for Composer that normalizes the composer.json file in your projects.

This package exists to take the pain out of formatting and organizing the composer.json file, doing things such as:

  • Restructure composer.json according to the underlying JSON schema
  • Sort entries in the bin configuration option
  • Sort entries in the config, extra, and scripts-descriptions (by key)
  • Sort entries in the conflict, provide, replace, require, require-dev, and suggest sections
  • Normalize version constraints in conflict, provide, replace, require, and require-dev sections

To use this project, you can install it globally, as a composer development dependency or as a PHAR archive. Once you install the package, you have various options to use to normalize the file as you'd like:

1# Defaults
2composer normalize
4# Indent settings
5composer normalize --indent-size=2 --indent-style=space
7# Dry run without making changes
8composer normalize --dry-run
10# Run normalization and output the diff
11composer normalize --diff

You can learn more about this package, get full installation instructions, and view the source code on GitHub.

Filed in:

Paul Redmond

Full stack web developer. Author of Lumen Programming Guide and Docker for PHP Developers.