wayofdev / laravel-package-tpl
๐ Jump-start your Laravel package development with our pre-configured Composer template, designed for seamless integration. This template includes essential tools such as PHPUnit, PHPStan, GitHub Actions, and Docker to streamline your workflow and enhance productivity.
Fund package maintenance!
wayofdev
Installs: 8
Dependents: 0
Suggesters: 0
Security: 0
Stars: 11
Watchers: 1
Forks: 0
Open Issues: 11
Language:Makefile
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/ergebnis-phpunit-slow-test-detector-2.x-lockfile
- 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/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-11-02 18:31:03 UTC
README
Laravel Package Template
This is a template repository designed to kick-start the development of Laravel packages with essential tools and setups pre-configured.
If you like/use this package, please consider โญ๏ธ starring it. Thanks!
๐ Features
This template repository includes several features to streamline the development of Laravel packages:
โ Testing
- Configured PHPUnit for unit testing.
- Integrated Pest PHP for elegant console support and architecture testing.
- Orchestra Testbench for Laravel package testing.
- PHPStan extensions for PHPUnit and Laravel.
- Infection for mutation testing to ensure quality.
- Mutation test reports are uploaded Stryker Mutator Dashboard.
โ Static Analysis
- PHPStan for static analysis, ensuring code quality and robustness.
- Larastan for Laravel-specific static analysis.
- PHPStan strict rules for enforcing strict type checks and standards.
- Psalm for finding errors in PHP applications through static analysis.
- PHP Rector for automated code upgrades and refactoring, maintaining modern code standards.
โ Coding Standards
- PHP CS Fixer Config with custom configuration for consistent code style.
- Composer Normalize to ensure a consistent
composer.json
format. - Yamllint for YAML file linting.
- Actionlint for GitHub Actions workflow linting.
- Markdownlint for Markdown file linting.
โ Continuous Integration
- Automated testing with code coverage report generation using PHPUnit and Xdebug, uploaded to Codecov.
- Automated linting of YAML files using ibiqlik/action-yamllint.
- Automated PHP code linting to ensure code quality and standards using wayofdev/php-cs-fixer-config.
- Markdown linting using DavidAnson/markdownlint-cli2.
- Checks for outdated or insecure dependencies using Composer.
- Mutation testing with Infection and Stryker Mutator to assess the quality of the test suite.
- Security checks to identify vulnerabilities in dependencies.
- Comprehensive static analysis with PHPStan and Psalm.
- Extensive testing across different setups to ensure compatibility and stability.
โ Development Environment
- Docker support for consistent development environments.
- Pre-commit hooks setup to ensure code quality before commits.
โ Issue Templates
-
This package is equipped with a set of ready-to-use issue templates to streamline contributions and issue reporting.
You can find these templates organized in the
.github/ISSUE_TEMPLATE
directory.
โ Miscellaneous
- Support for PHP 8.2+ and Laravel 10.x/11.x.
- Configured
autoload
andautoload-dev
for optimal namespace management. - PHAR dependencies managed using Phive.
๐ฟ Installation
To use this template, clone the repository and install the dependencies:
$ git clone https://github.com/wayofdev/laravel-package-tpl.git $ cd laravel-package-tpl $ make env install ### full list of available commands: $ make help
๐งช Running Tests
โ PHPUnit tests
To run tests, run the following command:
make test
โ Mutation tests
To run mutation tests, using infection/infection
:
make infect
โ Static Analysis
Code quality using PHPStan:
make lint-stan
and using Psalm:
make lint-psalm
โ Coding Standards Fixing
Fix code using The PHP Coding Standards Fixer (PHP CS Fixer) to follow our standards:
make lint-php
โ Lint Yaml files
Lint all yaml files in project:
make lint-yaml
โ Lint Markdown files
Lint all yaml files in project:
make lint-md
โ Lint GitHub Actions
Lint all yaml files in project:
make lint-actions
๐ Security Policy
This project has a security policy.
๐ Want to Contribute?
Thank you for considering contributing to the wayofdev community! We are open to all kinds of contributions. If you want to:
- ๐ค Suggest a feature
- ๐ Report an issue
- ๐ Improve documentation
- ๐จโ๐ป Contribute to the code
You are more than welcome. Before contributing, kindly check our contribution guidelines.
๐ซก Contributors
๐ Social Links
- Twitter: Follow our organization @wayofdev and the author @wlotyp.
- Discord: Join our community on Discord.