ramsey/devtools-lib

ramsey/devtools 库背后的库,允许扩展 ramsey/devtools Composer 插件。

2.2.1 2024-04-27 22:59 UTC

README

ramsey/devtools 库背后的库,允许扩展 ramsey/devtools Composer 插件。

Source Code Download Package PHP Programming Language Read License Build Status Codecov Code Coverage Psalm Type Coverage

关于

这个库是ramsey/devtools Composer 插件的驱动。由于不能扩展 Composer 插件,所以存在这个库来允许扩展。如果你不需要扩展这个库来创建自己的 Composer 插件,而只想使用插件的功能,请查看ramsey/devtools

此包还提供了 devtools 命令行工具,即使你不打算使用插件功能,也可以使用它。

本项目遵守行为准则。通过参与本项目及其社区,你应遵守此准则。

安装

使用 Composer 安装此包。

composer require --dev ramsey/devtools-lib

用法

如果将此库作为独立的工具使用,而不是作为 Composer 插件,请输入 ./vendor/bin/devtools list 查看此库提供的命令列表。

./vendor/bin/devtools list

如果你不需要扩展此库来创建自己的 Composer 插件,请安装 ramsey/devtools

扩展或覆盖 ramsey/devtools-lib 命令

可能 ramsey/devtools-lib 提供的命令无法满足你的所有需求,或者你可能想完全替换它们。配置允许你这样做!

通过在 composer.jsonextra 部分使用 ramsey/devtools.commands 属性,你可以指定任何命令(如果没有配置自定义前缀,则无需指定自定义前缀)具有其他脚本来运行,除了命令的默认行为外,或者你可以完全覆盖默认行为。

💡 提示
如果你不想使用“ramsey/devtools”属性名,可以使用“devtools”代替。但是,如果有其他包使用 extra.devtools 属性发生冲突,extra.ramsey/devtools 将具有优先级,因此你可以使用它来避免冲突。

指定附加脚本的步骤与在 composer.json 中编写自定义命令的方式完全相同,但位置不同。你可以在这里做任何可以用自定义 Composer 命令做的事情,因为它们是同一件事。

{
    "extra": {
        "ramsey/devtools": {
            "command-prefix": "my-prefix",
            "commands": {
                "lint:all": {
                    "script": "@mylint"
                },
                "test:all": {
                    "script": [
                        "@mylint",
                        "@phpbench"
                    ]
                }
            }
        }
    },
    "scripts": {
        "mylint": "parallel-lint src tests",
        "phpbench": "phpbench run"
    }
}

这样,当你运行 ./vendor/bin/devtools lint:all./vendor/bin/devtools test:all 时,它将首先执行默认行为,然后运行你的附加命令。要覆盖默认行为,使其根本不运行,而只运行你的脚本,指定 override 属性并将其设置为 true

{
    "extra": {
        "ramsey/devtools": {
            "commands": {
                "lint:all": {
                    "override": true,
                    "script": "parallel-lint src tests"
                }
            }
        }
    }
}

贡献

欢迎贡献!要贡献,请熟悉 CONTRIBUTING.md

协调披露

保障用户信息的安全和稳定是首要任务,我们欢迎外部安全研究员的贡献。如果您认为您在这个存储库维护的软件中发现了安全问题,请阅读SECURITY.md以获取提交漏洞报告的说明。

版权和许可

ramsey/devtools-lib 库的版权©为Ben Ramsey所有,并按照MIT许可证(MIT)的条款使用。有关更多信息,请参阅LICENSE