Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,17 @@
"wp-cli/wp-cli": "^2.5"
},
"require-dev": {
"wp-cli/wp-cli-tests": "^4.3.2",
"phpcompatibility/php-compatibility": "dev-develop"
"wp-cli/wp-cli-tests": "^5.0",
"phpcompatibility/php-compatibility": "^10.0@alpha",
"wp-coding-standards/wpcs": "@dev"
},
"scripts": {
"behat": "run-behat-tests",
"behat-rerun": "rerun-behat-tests",
"lint": "run-linter-tests",
"phpcs": "run-phpcs-tests",
"phpcbf": "run-phpcbf-cleanup",
"phpstan": "run-phpstan-tests",
"phpunit": "run-php-unit-tests",
"prepare-tests": "install-package-tests",
"test": [
Expand All @@ -48,7 +50,8 @@
},
"config": {
"allow-plugins": {
"dealerdirect/phpcodesniffer-composer-installer": true
"dealerdirect/phpcodesniffer-composer-installer": true,
"phpstan/extension-installer": true
}
}
}
15 changes: 15 additions & 0 deletions phpstan.neon.dist
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
parameters:
level: 0
paths:
- src
- command.php
scanDirectories:
- vendor/wp-cli/wp-cli/php
scanFiles:
- vendor/php-stubs/wordpress-stubs/wordpress-stubs.php
- phpstan/stubs.php
treatPhpDocTypesAsCertain: false
dynamicConstantNames:
- WP_DEBUG
- WP_DEBUG_LOG
- WP_DEBUG_DISPLAY
33 changes: 33 additions & 0 deletions phpstan/stubs.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?php
/**
* Stubs for the WordPress SQLite integration plugin classes.
*
* These classes are loaded at runtime by WordPress, not via Composer.
* The stubs allow PHPStan to analyze code that references them.
*/

// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound
// phpcs:disable Generic.Files.OneObjectStructurePerFile.MultipleFound
// phpcs:disable PHPCompatibility.FunctionDeclarations.NewReturnTypeDeclarations
// phpcs:disable PHPCompatibility.FunctionDeclarations.NewParamTypeDeclarations

class WP_SQLite_Connection {
/**
* @param array{path: string} $config
*/
public function __construct( array $config ) {}
public function quote_identifier( string $identifier ): string {}
public function get_pdo(): PDO {}
}

class WP_SQLite_Driver {
public function __construct( WP_SQLite_Connection $connection, string $db_name ) {}
public function query( string $sql ) {}
public function get_connection(): WP_SQLite_Connection {}
}

class WP_SQLite_Translator {
public function __construct() {}
public function query( string $sql ) {}
public function get_pdo(): PDO {}
}