ramsey / devtools-lib
ramsey/devtools 库背后的库,允许扩展 ramsey/devtools Composer 插件。
Requires
- php: ^8.1
- composer/composer: ^2.7
- hamcrest/hamcrest-php: ^2.0
- mockery/mockery: ^1.5.1
- symfony/console: ^6.0 || ^7.0
- symfony/filesystem: ^6.0 || ^7.0
- symfony/process: ^6.0 || ^7.0
Requires (Dev)
- captainhook/captainhook: ^5.15
- captainhook/plugin-composer: ^5.3
- ergebnis/composer-normalize: ^2.30
- madewithlove/license-checker: ^1.4
- pds/skeleton: ^1.0
- phly/keep-a-changelog: ^2.12
- php-parallel-lint/php-console-highlighter: ^1.0
- php-parallel-lint/php-parallel-lint: ^1.3
- phpstan/extension-installer: ^1.2
- phpstan/phpstan: ^1.10
- phpstan/phpstan-mockery: ^1.1
- phpstan/phpstan-phpunit: ^1.3
- phpunit/phpunit: ^10.1
- psalm/plugin-mockery: ^1.1
- psalm/plugin-phpunit: ^0.18.4 || ^0.19.0
- ramsey/coding-standard: ^2.2
- ramsey/composer-repl: ^1.5
- ramsey/conventional-commits: ^1.5
- roave/security-advisories: dev-latest
- vimeo/psalm: ^5.8
Suggests
- madewithlove/license-checker: Allows use of the 'license' command
- pds/skeleton: Allows use of the 'lint:structure' command
- phly/keep-a-changelog: Allows use of the 'changelog' command
- php-parallel-lint/php-parallel-lint: Allows use of the 'lint:syntax' command
- phpstan/phpstan: Allows use of the 'analyze:phpstan' command
- phpunit/phpunit: Allows use of the 'test:*' commands
- squizlabs/php_codesniffer: Allows use of the 'lint:style' and 'lint:fix' commands
- vimeo/psalm: Allows use of the 'analyze:psalm' command
README
ramsey/devtools 库背后的库,允许扩展 ramsey/devtools Composer 插件。
关于
这个库是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.json
的 extra
部分使用 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。