jnbn/composer-json-fixer

一个根据其模式和最佳实践修复和清理 `composer.json` 文件的工具。

3.0.1 2020-12-05 11:42 UTC

This package is auto-updated.

Last update: 2024-09-05 20:28:29 UTC


README

Latest Stable Version PHP Version License Build Status Code coverage

根据其 模式 和最佳实践修复和清理 composer.json 文件的工具。

安装

composer.json fixer 可以全局安装 (例如,包含在 CI 流程中)

composer global require jnbn/composer-json-fixer

或作为依赖项

composer require --dev jnbn/composer-json-fixer

使用

运行和修复

vendor/bin/composer-json-fixer

查看潜在修复的 diff

vendor/bin/composer-json-fixer --dry-run

使用 composer require 升级依赖项

vendor/bin/composer-json-fixer --upgrade

修复器

  • composer keys lowercase - 将属性名称更改为小写
  • autoload - 修复路径并排序 autoloadautoload-dev
  • config - 按键对 config 进行排序
  • keywords - 按值对 keywords 进行排序
  • license - 如果缺少,则添加 license
  • minimum stability - 如果具有默认值 ("stable"),则删除 minimum-stability
  • name - 将包名称改为小写
  • repositories - 对 repositories 进行排序
  • require - 清理 requirerequire-dev 的版本
  • version - 如果存在,则删除 version
  • composer keys sorting - 根据文档对属性进行排序

示例

在运行 composer-json-fixer 之前

{
    "name": "JohnDoe/FooBar",
    "version": "v1.0.0",
    "type": "library",
    "description": "A library to do something cool",
    "keywords": [
        "cool",
        "awesome stuff"
    ],
    "require-dev": {
        "phpunit/phpunit": "^5.7 | ^6.5"
    },
    "require": {
        "symfony/finder": "^2.7|^3.4|^4",
        "symfony/yaml": ">= 2.7"
    },
    "minimum-stability": "stable",
    "autoload": {
        "psr-4": {
            "FooBar": "src"
        }
    }
}

之后

{
    "name": "johndoe/foobar",
    "description": "A library to do something cool",
    "type": "library",
    "keywords": [
        "awesome stuff",
        "cool"
    ],
    "license": "proprietary",
    "require": {
        "symfony/finder": "^2.7 || ^3.4 || ^4",
        "symfony/yaml": ">=2.7"
    },
    "require-dev": {
        "phpunit/phpunit": "^5.7 || ^6.5"
    },
    "autoload": {
        "psr-4": {
            "FooBar\\": "src/"
        }
    }
}

退出状态

  • 0 - composer.json 文件不需要修复
  • 1 - composer.json 文件可以,或已修复
  • 2 - 抛出异常

贡献

通过创建 问题 请求功能或报告错误。

或者,分叉仓库,开发您的更改,重新生成 README.md

src/Readme/run > README.md

确保所有检查通过

composer check

并提交拉取请求。