ergebnis/composer-json-normalizer
最新稳定版本:2.0.1
Composer 安装命令:
composer require ergebnis/composer-json-normalizer
包简介
Provides normalizers for normalizing composer.json.
关键字:
README 文档
README
Provides normalizers for normalizing composer.json.
Installation
Run
$ composer require ergebnis/composer-json-normalizer
Usage
Create an instance of Ergebnis\Composer\Json\Normalizer\ComposerJsonNormalizer
and use it to normalize the contents of a composer.json:
<?php use Ergebnis\Composer\Json\Normalizer\ComposerJsonNormalizer; use Ergebnis\Json\Normalizer\Json; $normalizer = new ComposerJsonNormalizer('https://getcomposer.org/schema.json'); $json = Json::fromEncoded(file_get_contents(__DIR__ . '/composer.json')); $normalized = $normalizer->normalize($json); echo $normalized->encoded();
💡 Looking for the composer plugin? Head over to localheinz/composer-normalize.
Normalizers
The ComposerJsonNormalizer composes normalizers provided by localheinz/json-normalizer:
as well as the following normalizers provided by this package:
Ergebnis\Composer\Json\Normalizer\BinNormalizerErgebnis\Composer\Json\Normalizer\ConfigHashNormalizerErgebnis\Composer\Json\Normalizer\PackageHashNormalizerErgebnis\Composer\Json\Normalizer\VersionConstraintNormalizer
BinNormalizer
If composer.json contains an array of scripts in the bin section,
the BinNormalizer will sort the elements of the bin section by value in ascending order.
💡 Find out more about the bin section at https://getcomposer.org/doc/04-schema.md#bin.
ConfigHashNormalizer
If composer.json contains any configuration in the
configextrascripts-descriptions
sections, the ConfigHashNormalizer will sort the content of these sections
by key in ascending order.
💡 Find out more about the config section at https://getcomposer.org/doc/06-config.md.
PackageHashNormalizer
If composer.json contains any configuration in the
conflictprovidereplacerequirerequire-devsuggest
sections, the PackageHashNormalizer will sort the content of these sections.
💡 This transfers the behaviour from using the --sort-packages or
sort-packages configuration flag to other sections. Find out more about
the --sort-packages flag and configuration at https://getcomposer.org/doc/06-config.md#sort-packages
and https://getcomposer.org/doc/03-cli.md#require.
VersionConstraintNormalizer
If composer.json contains version constraints in the
conflictprovidereplacerequirerequire-dev
sections, the VersionConstraintNormalizer will ensure that
- all constraints are trimmed
- and constraints are separated by a single space (
) or a comma (,) - or constraints are separated by double-pipe with a single space before and after (
||) - range constraints are separated by a single space (
)
💡 Find out more about version constraints at https://getcomposer.org/doc/articles/versions.md.
Changelog
Please have a look at CHANGELOG.md.
Contributing
Please have a look at CONTRIBUTING.md.
Code of Conduct
Please have a look at CODE_OF_CONDUCT.md.
License
This package is licensed using the MIT License.
Credits
The algorithm for sorting packages in the PackageHashNormalizer has
been adopted from Composer\Json\JsonManipulator::sortPackages()
(originally licensed under MIT by Nils Adermann and Jordi Boggiano),
which I initially contributed to composer/composer with composer/composer#3549
and composer/composer#3872.
统计信息
- 总下载量: 108.14k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 21
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-12-15