localheinz/composer-json-normalizer

此包已被弃用,不再维护。作者建议使用ergebnis/composer-json-normalizer包。

提供用于标准化composer.json的标准化器。

2.0.1 2019-12-19 17:12 UTC

This package is auto-updated.

Last update: 2020-01-09 08:18:16 UTC


README

Continuous Deployment Continuous Integration Code Coverage Type Coverage Latest Stable Version Total Downloads

提供用于标准化composer.json的标准化器。

安装

运行

$ composer require ergebnis/composer-json-normalizer

使用

创建一个Ergebnis\Composer\Json\Normalizer\ComposerJsonNormalizer的实例,并使用它来标准化composer.json的内容

<?php

use Ergebnis\Composer\Json\Normalizer\ComposerJsonNormalizer;
use Ergebnis\Json\Normalizer\Json;

$normalizer = new ComposerJsonNormalizer('https://getcomposer.org.cn/schema.json');

$json = Json::fromEncoded(file_get_contents(__DIR__ . '/composer.json'));

$normalized = $normalizer->normalize($json);

echo $normalized->encoded();

💡 查找composer插件?请访问localheinz/composer-normalize

标准化器

ComposerJsonNormalizer组合了由localheinz/json-normalizer提供的标准化器

以及以下由本包提供的标准化器

BinNormalizer

如果composer.jsonbin部分包含脚本数组,则BinNormalizer将按升序对bin部分的元素进行排序。

💡 更多关于bin部分的信息,请访问https://getcomposer.org.cn/doc/04-schema.md#bin

ConfigHashNormalizer

如果composer.json

  • config
  • extra
  • scripts-descriptions

部分包含任何配置,则ConfigHashNormalizer将按键对这些部分的 内容进行排序。

💡 更多关于config部分的信息,请访问https://getcomposer.org.cn/doc/06-config.md

PackageHashNormalizer

如果composer.json

  • conflict
  • provide
  • replace
  • require
  • require-dev
  • suggest

部分,则PackageHashNormalizer将对这些部分的 内容进行排序。

💡 这将--sort-packagessort-packages配置标志的行为转移到其他部分。更多关于--sort-packages标志和配置的信息,请访问https://getcomposer.org.cn/doc/06-config.md#sort-packageshttps://getcomposer.org.cn/doc/03-cli.md#require

VersionConstraintNormalizer

如果composer.json

  • conflict
  • provide
  • replace
  • require
  • require-dev

部分包含版本约束,则VersionConstraintNormalizer将确保

  • 所有约束都经过修剪
  • 并且约束由单个空格( )或逗号(,)分隔
  • 约束条件之间用双竖线分隔,前后各有一个空格(||
  • 范围 约束条件之间用一个空格分隔(

💡 想了解更多关于版本约束的信息,请访问 https://getcomposer.org.cn/doc/articles/versions.md

更新日志

请查看 CHANGELOG.md

贡献

请查看 CONTRIBUTING.md

行为准则

请查看 CODE_OF_CONDUCT.md

许可证

此包使用MIT许可证授权。

致谢

PackageHashNormalizer 中用于排序包的算法已从 Composer\Json\JsonManipulator::sortPackages()(最初由 Nils AdermannJordi Boggiano 以MIT许可证授权)采纳,我最初通过 composer/composer#3549composer/composer#3872composer/composer 贡献了此代码。