newsuk / nuk-wp-phpstan-config
PHPStan configuration for WordPress VIP plugins and themes
Installs: 13 779
Dependents: 1
Suggesters: 0
Security: 0
Stars: 2
Watchers: 15
Forks: 0
Open Issues: 0
Type:phpstan-extension
Requires
- php: >=7.4
- phpstan/extension-installer: ^1.3
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-strict-rules: ^1.5
- swissspidy/phpstan-no-private: ^0.2.0
- szepeviktor/phpstan-wordpress: ^1.3
This package is auto-updated.
Last update: 2024-11-07 07:56:27 UTC
README
This library contains PHPStan configuration for NewsUK plugins and themes.
Architecture
Project Structure
- .circleci # CircleCI pipeline configuration files
- .github # GitHub configuration files
Contribution
More details on how to contribute to this package can be found in the CONTRIBUTING.md file.
Minimal requirements
- PHP 8.2
Development setup
To build the package
PHP setup
composer install
Installation
Composer install:
composer require --dev newsuk/nuk-wp-phpstan-config
Usage
Using the ruleset
Create a phpstan.neon.dist
file in the root of your project and add the below config. Feel free to alter the paths
based on your project requirements
parameters: level: max paths: # adjust the filename / directory name according to project needs. - plugin.php - includes/
Usage with Composer
Add the following to scripts
section in composer.json
file and run composer phpstan
"phpstan": "phpstan analyse --memory-limit=2048M"
Add the following to generate baseline file for existing plugins and run composer phpstan-baseline
"phpstan-baseline": "phpstan analyse -b --allow-empty-baseline"
Tagging and releasing
The content schema uses Semantic Versioning semver
for versioning. The package is released using GitHub Releases. The release process is automated in Circle CI build step. To create a new release, follow these steps:
- Update the relevant files with the new version. Commit the updated files.
- Push the changes to the
main
branch, by merging the associated pull request - Create a release targeting the
main
branch within GitHub.