1
0
mirror of https://github.com/flarum/core.git synced 2025-08-08 09:26:34 +02:00

chore(phpstan): enable phpstan in bundled extensions (#3667)

* feat(phpstan): pick up extended model relations typings
* feat(phpstan): pick up extended model date attributes
* feat(core): introduce `castAttribute` extender
Stops using `dates` as it's deprecated in laravel 8
* feat(phpstan): pick up extended model attributes through casts
* fix: extenders not resolved when declared namespace
* fix(phpstan): new model attributes are always nullable
* chore(phpstan): add helpful cache clearing command
* Apply fixes from StyleCI
* chore: improve extend files provider logic
* chore: rename `castAttribute` to just `cast`
* chore: update phpstan package to detect `cast` method
* chore: enable phpstan in bundled extensions
* chore: rebasing conflicts
* chore: rebasing conflicts
* chore: typings for latest 1.7 changes

Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
This commit is contained in:
Sami Mazouz
2023-01-19 21:49:38 +01:00
committed by GitHub
parent ccf9442d79
commit da1bf8da21
59 changed files with 215 additions and 138 deletions

View File

@@ -58,7 +58,7 @@ class ListTasksController extends AbstractListController
$total = $this->repository->query()->count();
$document->addMeta('total', $total);
$document->addMeta('total', (string) $total);
$document->addPaginationLinks(
$this->url->to('api')->route('package-manager.tasks.index'),

View File

@@ -9,7 +9,14 @@
namespace Flarum\PackageManager\Command;
interface BusinessCommandInterface
use Flarum\PackageManager\Task\Task;
abstract class AbstractActionCommand
{
public function getOperationName(): string;
/**
* @var Task|null
*/
public $task = null;
abstract public function getOperationName(): string;
}

View File

@@ -12,13 +12,8 @@ namespace Flarum\PackageManager\Command;
use Flarum\PackageManager\Task\Task;
use Flarum\User\User;
class CheckForUpdates implements BusinessCommandInterface
class CheckForUpdates extends AbstractActionCommand
{
/**
* @var Task
*/
public $task = null;
/**
* @var \Flarum\User\User
*/

View File

@@ -12,13 +12,8 @@ namespace Flarum\PackageManager\Command;
use Flarum\PackageManager\Task\Task;
use Flarum\User\User;
class GlobalUpdate implements BusinessCommandInterface
class GlobalUpdate extends AbstractActionCommand
{
/**
* @var Task
*/
public $task = null;
/**
* @var \Flarum\User\User
*/

View File

@@ -12,13 +12,8 @@ namespace Flarum\PackageManager\Command;
use Flarum\PackageManager\Task\Task;
use Flarum\User\User;
class MajorUpdate implements BusinessCommandInterface
class MajorUpdate extends AbstractActionCommand
{
/**
* @var Task
*/
public $task = null;
/**
* @var \Flarum\User\User
*/

View File

@@ -12,13 +12,8 @@ namespace Flarum\PackageManager\Command;
use Flarum\PackageManager\Task\Task;
use Flarum\User\User;
class MinorUpdate implements BusinessCommandInterface
class MinorUpdate extends AbstractActionCommand
{
/**
* @var Task
*/
public $task = null;
/**
* @var \Flarum\User\User
*/

View File

@@ -12,13 +12,8 @@ namespace Flarum\PackageManager\Command;
use Flarum\PackageManager\Task\Task;
use Flarum\User\User;
class RemoveExtension implements BusinessCommandInterface
class RemoveExtension extends AbstractActionCommand
{
/**
* @var Task
*/
public $task = null;
/**
* @var User
*/

View File

@@ -12,13 +12,8 @@ namespace Flarum\PackageManager\Command;
use Flarum\PackageManager\Task\Task;
use Flarum\User\User;
class RequireExtension implements BusinessCommandInterface
class RequireExtension extends AbstractActionCommand
{
/**
* @var Task
*/
public $task = null;
/**
* @var User
*/

View File

@@ -12,13 +12,8 @@ namespace Flarum\PackageManager\Command;
use Flarum\PackageManager\Task\Task;
use Flarum\User\User;
class UpdateExtension implements BusinessCommandInterface
class UpdateExtension extends AbstractActionCommand
{
/**
* @var Task
*/
public $task = null;
/**
* @var User
*/

View File

@@ -12,13 +12,8 @@ namespace Flarum\PackageManager\Command;
use Flarum\PackageManager\Task\Task;
use Flarum\User\User;
class WhyNot implements BusinessCommandInterface
class WhyNot extends AbstractActionCommand
{
/**
* @var Task
*/
public $task = null;
/**
* @var User
*/

View File

@@ -60,6 +60,7 @@ class ComposerAdapter
$exitCode = $this->application->run($input, $this->output);
chdir($currDir);
// @phpstan-ignore-next-line
$command = $input->__toString();
$output = $this->output->fetch();

View File

@@ -10,7 +10,7 @@
namespace Flarum\PackageManager\Job;
use Flarum\Bus\Dispatcher;
use Flarum\PackageManager\Command\BusinessCommandInterface;
use Flarum\PackageManager\Command\AbstractActionCommand;
use Flarum\PackageManager\Composer\ComposerAdapter;
use Flarum\Queue\AbstractJob;
use Illuminate\Queue\Middleware\WithoutOverlapping;
@@ -19,7 +19,7 @@ use Throwable;
class ComposerCommandJob extends AbstractJob
{
/**
* @var BusinessCommandInterface
* @var AbstractActionCommand
*/
protected $command;
@@ -28,7 +28,7 @@ class ComposerCommandJob extends AbstractJob
*/
protected $phpVersion;
public function __construct(BusinessCommandInterface $command, string $phpVersion)
public function __construct(AbstractActionCommand $command, string $phpVersion)
{
$this->command = $command;
$this->phpVersion = $phpVersion;

View File

@@ -10,7 +10,7 @@
namespace Flarum\PackageManager\Job;
use Flarum\Bus\Dispatcher as Bus;
use Flarum\PackageManager\Command\BusinessCommandInterface;
use Flarum\PackageManager\Command\AbstractActionCommand;
use Flarum\PackageManager\Task\Task;
use Flarum\Settings\SettingsRepositoryInterface;
use Illuminate\Contracts\Queue\Queue;
@@ -63,7 +63,7 @@ class Dispatcher
return $this;
}
public function dispatch(BusinessCommandInterface $command): DispatcherResponse
public function dispatch(AbstractActionCommand $command): DispatcherResponse
{
$queueJobs = ($this->runSyncOverride === false) || ($this->runSyncOverride !== true && $this->settings->get('flarum-package-manager.queue_jobs'));

View File

@@ -26,7 +26,7 @@ class LastUpdateRun implements JsonSetting
protected $data;
/**
* @var {'major'|'minor'|'global'}
* @var string|null
*/
protected $activeUpdate;

View File

@@ -13,16 +13,16 @@ use Carbon\Carbon;
use Flarum\Database\AbstractModel;
/**
* @property int id
* @property int status
* @property string operation
* @property string command
* @property string package
* @property string output
* @property Carbon created_at
* @property Carbon started_at
* @property Carbon finished_at
* @property int peak_memory_used
* @property int $id
* @property int $status
* @property string $operation
* @property string $command
* @property string $package
* @property string $output
* @property Carbon $created_at
* @property Carbon $started_at
* @property Carbon $finished_at
* @property float $peak_memory_used
*/
class Task extends AbstractModel
{