chiron / devtools
一个用于协助PHP库和应用程序开发的Composer插件。
Requires
- php: ^8.0 || ^8.1
- composer-plugin-api: ^2.0
- captainhook/captainhook: ^5.10
- captainhook/plugin-composer: ^5.3
- chiron/coding-standard: ^3.0
- ergebnis/composer-normalize: ^2.22
- madewithlove/license-checker: ^1.0
- mockery/mockery: ^1.4.4
- php-parallel-lint/php-console-highlighter: ^0.5
- php-parallel-lint/php-parallel-lint: ^1.3
- phpstan/extension-installer: ^1.0
- phpstan/phpstan: ^1.0
- phpstan/phpstan-mockery: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
- psalm/plugin-mockery: ^0.9
- psalm/plugin-phpunit: ^0.16
- ramsey/conventional-commits: ^1.3
- roave/security-advisories: dev-latest
- symfony/process: ^5.0 || ^6.0
- vimeo/psalm: ^4.18
Requires (Dev)
- composer/composer: >=2.0.14 <2.3
- dev-master
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5.1
- 1.0.5
- 1.0.4
- 1.0.3.1
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-dependabot/composer/composer/composer-tw-2.5.4
- dev-dependabot/composer/psalm/plugin-phpunit-tw-0.18
- dev-dependabot/composer/psalm/plugin-mockery-tw-0.11
- dev-dependabot/github_actions/codecov/codecov-action-3
- dev-dependabot/github_actions/github/codeql-action-2
- dev-dependabot/composer/php-parallel-lint/php-console-highlighter-tw-1.0
- dev-dependabot/github_actions/actions/checkout-3
This package is auto-updated.
Last update: 2024-08-29 07:13:41 UTC
README
一个用于协助PHP库和应用程序开发的Composer插件。
关于
这个包的构想在于整合并简化我在所有仓库中使用开发工具和脚本的流程。
这些工具可能不适合你,没关系。
也许这些工具非常有帮助,但你有不同的需求。没关系。你可以进行分支并修改,创建你自己的Composer插件。
当然,如果你想帮助改进这些工具,我欢迎你的贡献。欢迎你提交问题、询问或请求功能,并提交PR。我迫不及待想看看你有什么想法。
本项目遵循行为准则。参与本项目及其社区,你应遵守此准则。
要求
- PHP 8.0 或 8.1
安装
使用 Composer 将此包安装为开发依赖。
composer require --dev chiron/devtools
使用方法
此包是一个Composer插件。这意味着Composer会识别它为你提供自定义功能。安装后,输入 composer list
,你将看到这个插件提供的大量新命令。
composer list
添加命令前缀
此插件提供的命令与Composer的其他命令混合在一起,因此可能难以找到所有命令。不过,我们可以通过命令命名空间进行分组。打开 composer.json
并在 extra
部分添加一个 chiron/devtools.command-prefix
属性。你可以使用任何你想要的命名前缀。
{ "extra": { "chiron/devtools": { "command-prefix": "my-prefix" } } }
现在,当你输入 composer list
(或仅输入 composer
)时,你会看到一个看起来像这样的命令部分
my-prefix
my-prefix:analyze:all Runs all static analysis checks.
my-prefix:analyze:phpstan Runs the PHPStan static analyzer.
my-prefix:analyze:psalm Runs the Psalm static analyzer.
my-prefix:build:clean Cleans the build/ directory.
my-prefix:build:clean:all Cleans the build/ directory.
my-prefix:build:clean:cache Cleans the build/cache/ directory.
my-prefix:build:clean:coverage Cleans the build/coverage/ directory.
my-prefix:changelog Support for working with Keep A Changelog.
my-prefix:license Checks dependency licenses.
my-prefix:lint:all Runs all linting checks.
my-prefix:lint:fix Auto-fixes coding standards issues, if possible.
my-prefix:lint:pds Validates project compliance with pds/skeleton.
my-prefix:lint:style Checks for coding standards issues.
my-prefix:lint:syntax Checks for syntax errors.
my-prefix:test:all Runs linting, static analysis, and unit tests.
my-prefix:test:coverage:ci Runs unit tests and generates CI coverage reports.
my-prefix:test:coverage:html Runs unit tests and generates HTML coverage report.
my-prefix:test:unit Runs unit tests.
你还可以使用 composer list my-prefix
来通过命令前缀列出命令。
扩展或覆盖 chiron/devtools 命令
也许 chiron/devtools 提供的命令没有做你需要的所有事情,或者你可能想完全替换它们。配置允许你这样做!
在 composer.json
的 extra
部分使用 chiron/devtools.commands
属性,你可以指定任何命令(如果没有配置自定义前缀,则无需指定) 以运行其他脚本,除了命令的默认行为外,或者你可以完全覆盖默认行为。
指定附加脚本的方式与在 composer.json
中编写自定义命令的方式相同,但位置不同。你可以使用自定义Composer命令执行的所有操作,在这里也可以执行,因为它们是同一件事。
{ "extra": { "chiron/devtools": { "command-prefix": "my-prefix", "commands": { "lint:all": { "script": "@mylint" }, "test:all": { "script": [ "@mylint", "@phpbench" ] } } } }, "scripts": { "mylint": "parallel-lint src tests", "phpbench": "phpbench run" } }
这样,当你运行 composer my-prefix:lint:all
或 composer my-prefix:test:all
时,它将首先执行默认行为,然后运行你的附加命令。要覆盖默认行为,使其完全不运行,只运行你的脚本,指定 override
属性并将其设置为 true
。
{ "extra": { "chiron/devtools": { "commands": { "lint:all": { "override": true, "script": "parallel-lint src tests" } } } } }
Composer 命令自动完成
你知道吗,你可以设置你的终端以进行Composer命令自动完成?
如果您想使用 Composer 命令自动完成功能,可以使用 bamarni/symfony-console-autocomplete。使用 Composer 全局安装它。
composer global require bamarni/symfony-console-autocomplete
然后,在您的 shell 配置文件中——通常是 ~/.bash_profile
或 ~/.zshrc
,但可能根据您的设置有所不同——确保您的全局 Composer bin
目录已添加到您的 PATH
中,并评估 symfony-autocomplete
命令。这看起来会是这样
export PATH="$(composer config home)/vendor/bin:$PATH" eval "$(symfony-autocomplete)"
现在,您可以使用 tab
键来自动完成 Composer 命令
composer my-prefix:[TAB][TAB]
贡献
欢迎贡献!要贡献,请熟悉 CONTRIBUTING.md。
协调披露
确保用户信息的安全和保密是我们的首要任务,我们欢迎外部安全研究人员的贡献。如果您认为您在这个存储库维护的软件中发现了安全漏洞,请阅读 SECURITY.md 了解提交漏洞报告的说明。
鸣谢
此 composer 插件基于 ramsey/devtools-lib 的优秀分支。
许可证
MIT 许可证(MIT)。有关更多信息,请参阅 LICENSE
。