wayofdev / laravel-package-tpl
🚀 使用我们预配置的 Composer 模板快速开始您的 Laravel 扩展包开发,实现无缝集成。此模板包含如 PHPUnit、PHPStan、GitHub Actions 和 Docker 等工具,以简化您的开发流程并提高生产力。
v2.7.3
2024-06-08 14:44 UTC
Requires
- php: ^8.2
- illuminate/console: ^10.48 || ^11.0
- illuminate/contracts: ^10.48 || ^11.0
- illuminate/support: ^10.48 || ^11.0
Requires (Dev)
- ergebnis/phpunit-slow-test-detector: ^2.14
- fakerphp/faker: ^1.23
- larastan/larastan: ^2.9
- orchestra/testbench: ^8.5 || ^9.1
- pestphp/pest: ^2.34
- pestphp/pest-plugin-laravel: ^2.4
- phpstan/extension-installer: ^1.3
- phpstan/phpstan: ^1.11
- phpstan/phpstan-deprecation-rules: ^1.2
- phpstan/phpstan-phpunit: ^1.4
- phpstan/phpstan-strict-rules: ^1.6
- phpunit/phpunit: ^10.5 || ^11.0
- psalm/plugin-laravel: ^2.11
- psalm/plugin-phpunit: ^0.19
- rector/rector: ^1.1
- roave/infection-static-analysis-plugin: ^1.35
- vimeo/psalm: ^5.24
- wayofdev/cs-fixer-config: ^1.5
- dev-master
- v2.7.3
- v2.7.2
- v2.7.1
- v2.7.0
- v2.6.3
- v2.6.2
- v2.6.1
- v2.6.0
- v2.5.5
- v2.5.4
- v2.5.3
- v2.5.2
- v2.5.1
- v2.5.0
- v2.4.1
- v2.4.0
- v2.3.0
- v2.2.0
- v2.1.124
- v2.1.123
- v2.1.122
- v2.1.121
- v2.1.120
- v2.1.119
- v2.1.118
- v2.1.117
- v2.1.116
- v2.1.115
- v2.1.114
- v2.1.113
- v2.1.112
- v2.1.111
- v2.1.110
- v2.1.109
- v2.1.108
- v2.1.107
- v2.1.106
- v2.1.105
- v2.1.104
- v2.1.103
- v2.1.102
- v2.1.101
- v2.1.100
- v2.1.99
- v2.1.98
- v2.1.97
- v2.1.96
- v2.1.95
- v2.1.94
- v2.1.93
- v2.1.92
- v2.1.91
- v2.1.90
- v2.1.89
- v2.1.88
- v2.1.87
- v2.1.86
- v2.1.85
- v2.1.84
- v2.1.83
- v2.1.82
- v2.1.81
- v2.1.80
- v2.1.79
- v2.1.78
- v2.1.77
- v2.1.76
- v2.1.75
- v2.1.74
- v2.1.73
- v2.1.72
- v2.1.71
- v2.1.70
- v2.1.69
- v2.1.68
- v2.1.67
- v2.1.66
- v2.1.65
- v2.1.64
- v2.1.63
- v2.1.62
- v2.1.61
- v2.1.60
- v2.1.59
- v2.1.58
- v2.1.57
- v2.1.56
- v2.1.55
- v2.1.54
- v2.1.53
- v2.1.52
- v2.1.51
- v2.1.50
- v2.1.49
- v2.1.48
- v2.1.47
- v2.1.46
- v2.1.45
- v2.1.44
- v2.1.43
- v2.1.42
- v2.1.41
- v2.1.40
- v2.1.39
- v2.1.38
- v2.1.37
- v2.1.36
- v2.1.35
- v2.1.34
- v2.1.33
- v2.1.32
- v2.1.31
- v2.1.30
- v2.1.29
- v2.1.28
- v2.1.27
- v2.1.26
- v2.1.25
- v2.1.24
- v2.1.23
- v2.1.22
- v2.1.21
- v2.1.20
- v2.1.19
- v2.1.18
- v2.1.17
- v2.1.16
- v2.1.15
- v2.1.14
- v2.1.13
- v2.1.12
- v2.1.11
- v2.1.10
- v2.1.9
- v2.1.8
- v2.1.7
- v2.1.6
- v2.1.5
- v2.1.4
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.1.38
- v1.1.37
- v1.1.36
- v1.1.35
- v1.1.34
- v1.1.33
- v1.1.32
- v1.1.31
- v1.1.30
- v1.1.29
- v1.1.28
- v1.1.27
- v1.1.26
- v1.1.25
- v1.1.24
- v1.1.23
- v1.1.22
- v1.1.21
- v1.1.20
- v1.1.19
- v1.1.18
- v1.1.17
- v1.1.16
- v1.1.15
- v1.1.14
- v1.1.13
- v1.1.12
- v1.1.11
- v1.1.10
- v1.1.9
- v1.1.8
- v1.1.7
- v1.1.6
- v1.1.5
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.0
- dev-renovate/phpstan-packages
- dev-renovate/pestphp-pest-plugin-laravel-3.x
- dev-renovate/pestphp-pest-3.x
- dev-renovate/vimeo-psalm-5.x-lockfile
- dev-renovate/wayofdev-gh-actions-3.x
- dev-renovate/ergebnis-phpunit-slow-test-detector-2.x-lockfile
- dev-renovate/wagoid-commitlint-github-action-6.x
- dev-renovate/pestphp-pest-2.x-lockfile
- dev-renovate/rector-rector-1.x-lockfile
- dev-renovate/shivammathur-setup-php-2.x
This package is auto-updated.
Last update: 2024-09-20 16:13:32 UTC
README
Laravel 扩展包模板
这是一个模板仓库,旨在通过预配置的基本工具和设置快速开始 Laravel 扩展包的开发。
如果您 喜欢/使用 这个包,请考虑 ⭐️ 给它加星。谢谢!
🚀 功能
此模板仓库包括几个功能,以简化 Laravel 扩展包的开发
→ 测试
- 配置了 PHPUnit 进行单元测试。
- 集成了 Pest PHP 以提供优雅的命令行支持和架构测试。
- Orchestra Testbench 用于 Laravel 扩展包测试。
- PHPStan 扩展用于 PHPUnit 和 Laravel。
- Infection 用于突变测试以确保质量。
- 突变测试报告上传到 Stryker Mutator Dashboard。
→ 静态分析
- PHPStan 用于静态分析,确保代码质量和健壮性。
- Larastan 用于 Laravel 特定静态分析。
- PHPStan 严格规则 用于强制执行严格的类型检查和标准。
- Psalm 通过静态分析在 PHP 应用程序中查找错误。
- PHP Rector 用于自动代码升级和重构,以维护现代代码标准。
→ 编码规范
- PHP CS Fixer 配置,具有自定义配置以实现一致的代码风格。
- Composer Normalize 以确保一致的
composer.json
格式。 - Yamllint 用于 YAML 文件检查。
- Actionlint 用于 GitHub Actions 工作流程检查。
- Markdownlint 用于 Markdown 文件检查。
→ 持续集成
- 使用 PHPUnit 和 Xdebug 自动测试和生成代码覆盖率报告,上传到 Codecov。
- 使用 ibiqlik/action-yamllint 自动检查 YAML 文件。
- 使用 wayofdev/php-cs-fixer-config 自动检查 PHP 代码,以确保代码质量和标准。
- 使用 DavidAnson/markdownlint-cli2 进行 Markdown 检查。
- 使用Composer检查过时的或不安全的依赖项。
- 使用Infection和Stryker Mutator进行变异测试,以评估测试套件的质量。
- 进行安全检查以识别依赖项中的漏洞。
- 使用PHPStan和Psalm进行全面的静态分析。
- 在不同配置下进行广泛的测试,以确保兼容性和稳定性。
→ 开发环境
- 支持Docker,以实现一致的开发环境。
- 设置Pre-commit钩子,以确保提交前的代码质量。
→ 问题模板
-
此包配备了一套现成的模板,以简化贡献和问题报告。
您可以在
.github/ISSUE_TEMPLATE
目录中找到这些模板。
→ 其他
- 支持PHP 8.2+和Laravel 10.x/11.x。
- 配置了
autoload
和autoload-dev
以实现最佳命名空间管理。 - 使用Phive管理PHAR依赖项。
💿 安装
要使用此模板,请克隆存储库并安装依赖项
$ git clone https://github.com/wayofdev/laravel-package-tpl.git $ cd laravel-package-tpl $ make env install ### full list of available commands: $ make help
🧪 运行测试
→ PHPUnit测试
要运行测试,请运行以下命令
make test
→ 变异测试
要运行变异测试,请使用infection/infection
make infect
→ 静态分析
使用PHPStan进行代码质量检查
make lint-stan
并使用Psalm
make lint-psalm
→ 修复编码标准
使用PHP编码标准修复器(PHP CS Fixer)修复代码,以遵循我们的标准
make lint-php
→ 检查Yaml文件
检查项目中的所有yaml文件
make lint-yaml
→ 检查Markdown文件
检查项目中的所有yaml文件
make lint-md
→ 检查GitHub Actions
检查项目中的所有yaml文件
make lint-actions
🔒 安全策略
该项目有一个安全策略。
🙌 想要贡献吗?
感谢您考虑为wayofdev社区做出贡献!我们欢迎各种类型的贡献。如果您想
非常欢迎您。在贡献之前,请参阅我们的贡献指南。