升级到 php8.2
格式化代码
This commit is contained in:
parent
b499284855
commit
af6c0d97b4
@ -82,24 +82,9 @@ public function handle(): int
|
||||
return CommandAlias::SUCCESS;
|
||||
}
|
||||
|
||||
public function addFileToZip(string $path, ZipArchive $zip): void
|
||||
{
|
||||
$handler = opendir($path);
|
||||
while (($filename = readdir($handler)) !== false) {
|
||||
if ($filename != '.' && $filename != '..') {
|
||||
if (is_dir($path . '/' . $filename)) {
|
||||
$this->addFileToZip($path . '/' . $filename, $zip);
|
||||
} else {
|
||||
$zip->addFile($path . '/' . $filename);
|
||||
}
|
||||
}
|
||||
}
|
||||
@closedir($handler);
|
||||
}
|
||||
|
||||
public function upload($node_type)
|
||||
{
|
||||
$this->warn("正在上传 ${node_type} 文件。");
|
||||
$this->warn("正在上传 {$node_type} 文件。");
|
||||
$this->info('正在打包 config 目录。');
|
||||
|
||||
if ($node_type === 'master') {
|
||||
@ -114,12 +99,12 @@ public function upload($node_type)
|
||||
|
||||
$this->info('正在上传 config 目录。');
|
||||
|
||||
$cache_key = "${node_type}_config_zip";
|
||||
$cache_key = "{$node_type}_config_zip";
|
||||
Cluster::forever($cache_key, file_get_contents($cacheZip));
|
||||
|
||||
// md5
|
||||
$this->info('正在报告 cache 目录的 MD5 值。');
|
||||
$cache_md5_key = "${node_type}_config_zip_md5";
|
||||
$cache_md5_key = "{$node_type}_config_zip_md5";
|
||||
Cluster::forever($cache_md5_key, md5_file($cacheZip));
|
||||
|
||||
unlink($cacheZip);
|
||||
@ -127,14 +112,29 @@ public function upload($node_type)
|
||||
|
||||
// 上传 .env 文件
|
||||
$this->info('正在上传 .env 文件。');
|
||||
$env_key = "${node_type}_env";
|
||||
$env_key = "{$node_type}_env";
|
||||
Cluster::forever($env_key, file_get_contents(base_path('.env')));
|
||||
|
||||
// 上传 .env 文件的 MD5
|
||||
$this->info('正在报告 .env 文件的 MD5 值。');
|
||||
$env_md5_key = "${node_type}_env_md5";
|
||||
$env_md5_key = "{$node_type}_env_md5";
|
||||
Cluster::forever($env_md5_key, md5_file(base_path('.env')));
|
||||
|
||||
$this->info('完成。');
|
||||
}
|
||||
|
||||
public function addFileToZip(string $path, ZipArchive $zip): void
|
||||
{
|
||||
$handler = opendir($path);
|
||||
while (($filename = readdir($handler)) !== false) {
|
||||
if ($filename != '.' && $filename != '..') {
|
||||
if (is_dir($path . '/' . $filename)) {
|
||||
$this->addFileToZip($path . '/' . $filename, $zip);
|
||||
} else {
|
||||
$zip->addFile($path . '/' . $filename);
|
||||
}
|
||||
}
|
||||
}
|
||||
@closedir($handler);
|
||||
}
|
||||
}
|
||||
|
@ -137,6 +137,59 @@ public function handle(): int
|
||||
return CommandAlias::SUCCESS;
|
||||
}
|
||||
|
||||
private function pipeCommand($command): void
|
||||
{
|
||||
$descriptor_spec = [
|
||||
0 => ['pipe', 'r'],
|
||||
1 => ['pipe', 'w'],
|
||||
2 => ['pipe', 'w'],
|
||||
];
|
||||
|
||||
$pipes = [];
|
||||
$process = proc_open($command, $descriptor_spec, $pipes);
|
||||
|
||||
if (is_resource($process)) {
|
||||
while ($s = fgets($pipes[1])) {
|
||||
echo $s;
|
||||
}
|
||||
}
|
||||
|
||||
// 命令结束后,关闭管道
|
||||
fclose($pipes[0]);
|
||||
|
||||
fclose($pipes[1]);
|
||||
|
||||
fclose($pipes[2]);
|
||||
|
||||
// 关闭进程
|
||||
|
||||
proc_close($process);
|
||||
|
||||
}
|
||||
|
||||
private function report(): void
|
||||
{
|
||||
$this->info('正在报告此系统,请保持此命令一直运行。');
|
||||
|
||||
Artisan::call('config:cache');
|
||||
|
||||
$cpu = $this->getCpuUsage();
|
||||
|
||||
while (1) {
|
||||
Cluster::publish('system_usage', [
|
||||
'cpu' => $cpu,
|
||||
]);
|
||||
|
||||
sleep(1);
|
||||
}
|
||||
}
|
||||
|
||||
private function getCpuUsage(): float
|
||||
{
|
||||
// 获取 CPU 使用率
|
||||
$cpu = sys_getloadavg();
|
||||
return $cpu[0];
|
||||
}
|
||||
|
||||
private function work(): void
|
||||
{
|
||||
@ -187,57 +240,4 @@ private function dispatchEvent($event, $message = []): void
|
||||
$events[$event]($message);
|
||||
}
|
||||
}
|
||||
|
||||
private function report(): void
|
||||
{
|
||||
$this->info('正在报告此系统,请保持此命令一直运行。');
|
||||
|
||||
Artisan::call('config:cache');
|
||||
|
||||
$cpu = $this->getCpuUsage();
|
||||
|
||||
while (1) {
|
||||
Cluster::publish('system_usage', [
|
||||
'cpu' => $cpu,
|
||||
]);
|
||||
|
||||
sleep(1);
|
||||
}
|
||||
}
|
||||
|
||||
private function getCpuUsage(): float
|
||||
{
|
||||
// 获取 CPU 使用率
|
||||
$cpu = sys_getloadavg();
|
||||
return $cpu[0];
|
||||
}
|
||||
|
||||
private function pipeCommand($command): void
|
||||
{
|
||||
$descriptor_spec = [
|
||||
0 => ['pipe', 'r'],
|
||||
1 => ['pipe', 'w'],
|
||||
2 => ['pipe', 'w'],
|
||||
];
|
||||
|
||||
$process = proc_open($command, $descriptor_spec, $pipes);
|
||||
|
||||
if (is_resource($process)) {
|
||||
while ($s = fgets($pipes[1])) {
|
||||
echo $s;
|
||||
}
|
||||
}
|
||||
|
||||
// 命令结束后,关闭管道
|
||||
fclose($pipes[0]);
|
||||
|
||||
fclose($pipes[1]);
|
||||
|
||||
fclose($pipes[2]);
|
||||
|
||||
// 关闭进程
|
||||
|
||||
proc_close($process);
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -66,6 +66,16 @@ public function store(Request $request): RedirectResponse
|
||||
|
||||
}
|
||||
|
||||
private function rules(): array
|
||||
{
|
||||
return [
|
||||
'id' => 'required|string|max:255',
|
||||
'name' => 'required|string|max:255',
|
||||
'url' => 'required|url',
|
||||
'status' => 'required|string|in:up,down,maintenance',
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
@ -165,6 +175,9 @@ public function allows_store(Request $request, Module $module)
|
||||
return back()->with('success', '已信任该模块。');
|
||||
}
|
||||
|
||||
|
||||
// fast login
|
||||
|
||||
public function allows_destroy(Module $module, ModuleAllow $allow)
|
||||
{
|
||||
$allow->delete();
|
||||
@ -172,8 +185,6 @@ public function allows_destroy(Module $module, ModuleAllow $allow)
|
||||
return redirect()->route('admin.modules.allows', $module)->with('success', '取消信任完成。');
|
||||
}
|
||||
|
||||
|
||||
// fast login
|
||||
public function fast_login(Module $module): View|RedirectResponse
|
||||
{
|
||||
$resp = $module->baseRequest('post', 'fast-login', []);
|
||||
@ -185,14 +196,4 @@ public function fast_login(Module $module): View|RedirectResponse
|
||||
return redirect()->route('admin.modules.show', $module)->with('error', '快速登录失败,可能是模块不支持。');
|
||||
}
|
||||
}
|
||||
|
||||
private function rules(): array
|
||||
{
|
||||
return [
|
||||
'id' => 'required|string|max:255',
|
||||
'name' => 'required|string|max:255',
|
||||
'url' => 'required|url',
|
||||
'status' => 'required|string|in:up,down,maintenance',
|
||||
];
|
||||
}
|
||||
}
|
||||
|
@ -23,7 +23,8 @@ public function module_reports(Request $request)
|
||||
return $this->success($servers);
|
||||
}
|
||||
|
||||
public function nodes() {
|
||||
public function nodes()
|
||||
{
|
||||
$nodes = Cluster::nodes(true);
|
||||
|
||||
$current_node_id = Cluster::currentNode()['id'];
|
||||
|
@ -2,9 +2,7 @@
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Http\Middleware\TrustProxies as Middleware;
|
||||
use Illuminate\Http\Request;
|
||||
use Symfony\Component\HttpFoundation\Request as RequestAlias;
|
||||
|
||||
class TrustProxies extends Middleware
|
||||
|
@ -77,31 +77,6 @@ class Balance extends Model
|
||||
'amount' => 'decimal:2',
|
||||
];
|
||||
|
||||
public function user(): BelongsToAlias
|
||||
{
|
||||
return $this->belongsTo(User::class);
|
||||
}
|
||||
|
||||
public function scopeThisUser($query)
|
||||
{
|
||||
return $query->where('user_id', auth()->id());
|
||||
}
|
||||
|
||||
public function isPaid(): bool
|
||||
{
|
||||
return $this->paid_at !== null;
|
||||
}
|
||||
|
||||
public function isOverdue(): bool
|
||||
{
|
||||
return $this->created_at->diffInDays(now()) > 1 && !$this->isPaid();
|
||||
}
|
||||
|
||||
public function canPay(): bool
|
||||
{
|
||||
return !$this->isPaid() && !$this->isOverdue();
|
||||
}
|
||||
|
||||
protected static function boot()
|
||||
{
|
||||
parent::boot();
|
||||
@ -113,4 +88,29 @@ protected static function boot()
|
||||
$balance->order_id = date('YmdHis') . $balance->id . rand(1000, 9999);
|
||||
});
|
||||
}
|
||||
|
||||
public function user(): BelongsToAlias
|
||||
{
|
||||
return $this->belongsTo(User::class);
|
||||
}
|
||||
|
||||
public function scopeThisUser($query)
|
||||
{
|
||||
return $query->where('user_id', auth()->id());
|
||||
}
|
||||
|
||||
public function canPay(): bool
|
||||
{
|
||||
return !$this->isPaid() && !$this->isOverdue();
|
||||
}
|
||||
|
||||
public function isPaid(): bool
|
||||
{
|
||||
return $this->paid_at !== null;
|
||||
}
|
||||
|
||||
public function isOverdue(): bool
|
||||
{
|
||||
return $this->created_at->diffInDays(now()) > 1 && !$this->isPaid();
|
||||
}
|
||||
}
|
||||
|
@ -124,22 +124,6 @@ class User extends Authenticatable
|
||||
'birthday_at' => 'date',
|
||||
];
|
||||
|
||||
public function hosts(): HasMany
|
||||
{
|
||||
return $this->hasMany(Host::class);
|
||||
}
|
||||
|
||||
public function user_group(): BelongsTo
|
||||
{
|
||||
return $this->belongsTo(UserGroup::class);
|
||||
}
|
||||
|
||||
public function scopeBirthday()
|
||||
{
|
||||
return $this->select(['id', 'name', 'birthday_at', 'email_md5', 'created_at'])->whereMonth('birthday_at', now()->month)
|
||||
->whereDay('birthday_at', now()->day);
|
||||
}
|
||||
|
||||
protected static function boot()
|
||||
{
|
||||
parent::boot();
|
||||
@ -159,4 +143,20 @@ protected static function boot()
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public function hosts(): HasMany
|
||||
{
|
||||
return $this->hasMany(Host::class);
|
||||
}
|
||||
|
||||
public function user_group(): BelongsTo
|
||||
{
|
||||
return $this->belongsTo(UserGroup::class);
|
||||
}
|
||||
|
||||
public function scopeBirthday()
|
||||
{
|
||||
return $this->select(['id', 'name', 'birthday_at', 'email_md5', 'created_at'])->whereMonth('birthday_at', now()->month)
|
||||
->whereDay('birthday_at', now()->day);
|
||||
}
|
||||
}
|
||||
|
@ -73,38 +73,6 @@ class Reply extends Model
|
||||
'role'
|
||||
];
|
||||
|
||||
public function scopeWorkOrderId($query, $work_order_id)
|
||||
{
|
||||
return $query->where('work_order_id', $work_order_id);
|
||||
}
|
||||
|
||||
public function scopeWithUser($query)
|
||||
{
|
||||
return $query->with(['user' => function ($query) {
|
||||
$query->select('id', 'name', 'email_md5');
|
||||
}]);
|
||||
}
|
||||
|
||||
public function workOrder(): BelongsTo
|
||||
{
|
||||
return $this->belongsTo(WorkOrder::class, 'work_order_id', 'id');
|
||||
}
|
||||
|
||||
public function module(): BelongsTo
|
||||
{
|
||||
return $this->belongsTo(Module::class);
|
||||
}
|
||||
|
||||
public function user(): BelongsTo
|
||||
{
|
||||
return $this->belongsTo(User::class);
|
||||
}
|
||||
|
||||
public function safeDelete(): void
|
||||
{
|
||||
dispatch(new \App\Jobs\Module\WorkOrder\Reply($this, 'delete'));
|
||||
}
|
||||
|
||||
protected static function boot()
|
||||
{
|
||||
parent::boot();
|
||||
@ -159,4 +127,36 @@ protected static function boot()
|
||||
dispatch(new \App\Jobs\Module\WorkOrder\Reply($model, 'patch'));
|
||||
});
|
||||
}
|
||||
|
||||
public function scopeWorkOrderId($query, $work_order_id)
|
||||
{
|
||||
return $query->where('work_order_id', $work_order_id);
|
||||
}
|
||||
|
||||
public function scopeWithUser($query)
|
||||
{
|
||||
return $query->with(['user' => function ($query) {
|
||||
$query->select('id', 'name', 'email_md5');
|
||||
}]);
|
||||
}
|
||||
|
||||
public function workOrder(): BelongsTo
|
||||
{
|
||||
return $this->belongsTo(WorkOrder::class, 'work_order_id', 'id');
|
||||
}
|
||||
|
||||
public function module(): BelongsTo
|
||||
{
|
||||
return $this->belongsTo(Module::class);
|
||||
}
|
||||
|
||||
public function user(): BelongsTo
|
||||
{
|
||||
return $this->belongsTo(User::class);
|
||||
}
|
||||
|
||||
public function safeDelete(): void
|
||||
{
|
||||
dispatch(new \App\Jobs\Module\WorkOrder\Reply($this, 'delete'));
|
||||
}
|
||||
}
|
||||
|
@ -89,6 +89,52 @@ class WorkOrder extends Model
|
||||
'notify' => 'boolean'
|
||||
];
|
||||
|
||||
protected static function boot()
|
||||
{
|
||||
parent::boot();
|
||||
|
||||
static::creating(function (self $model) {
|
||||
$model->uuid = Str::uuid()->toString();
|
||||
|
||||
if ($model->host_id) {
|
||||
$model->load(['host']);
|
||||
$model->module_id = $model->host->module_id;
|
||||
}
|
||||
|
||||
if (auth('sanctum')->check()) {
|
||||
$model->user_id = auth()->id();
|
||||
|
||||
if ($model->host_id) {
|
||||
if (!$model->user_id == $model->host->user_id) {
|
||||
throw new CommonException('user_id not match host user_id');
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (!$model->user_id) {
|
||||
throw new CommonException('user_id is required');
|
||||
}
|
||||
}
|
||||
|
||||
if ($model->host_id) {
|
||||
$model->host->load('module');
|
||||
$module = $model->host->module;
|
||||
|
||||
if ($module === null) {
|
||||
$model->status = 'open';
|
||||
} else {
|
||||
$model->status = 'pending';
|
||||
}
|
||||
}
|
||||
|
||||
$model->notify = true;
|
||||
});
|
||||
|
||||
// updated
|
||||
static::updated(function ($model) {
|
||||
dispatch(new WorkOrderJob($model, 'put'));
|
||||
});
|
||||
}
|
||||
|
||||
public function scopeThisModule($query)
|
||||
{
|
||||
return $query->where('module_id', auth('module')->id());
|
||||
@ -147,50 +193,4 @@ public function safeDelete(): bool
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
protected static function boot()
|
||||
{
|
||||
parent::boot();
|
||||
|
||||
static::creating(function (self $model) {
|
||||
$model->uuid = Str::uuid()->toString();
|
||||
|
||||
if ($model->host_id) {
|
||||
$model->load(['host']);
|
||||
$model->module_id = $model->host->module_id;
|
||||
}
|
||||
|
||||
if (auth('sanctum')->check()) {
|
||||
$model->user_id = auth()->id();
|
||||
|
||||
if ($model->host_id) {
|
||||
if (!$model->user_id == $model->host->user_id) {
|
||||
throw new CommonException('user_id not match host user_id');
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (!$model->user_id) {
|
||||
throw new CommonException('user_id is required');
|
||||
}
|
||||
}
|
||||
|
||||
if ($model->host_id) {
|
||||
$model->host->load('module');
|
||||
$module = $model->host->module;
|
||||
|
||||
if ($module === null) {
|
||||
$model->status = 'open';
|
||||
} else {
|
||||
$model->status = 'pending';
|
||||
}
|
||||
}
|
||||
|
||||
$model->notify = true;
|
||||
});
|
||||
|
||||
// updated
|
||||
static::updated(function ($model) {
|
||||
dispatch(new WorkOrderJob($model, 'put'));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,6 @@
|
||||
|
||||
namespace App\Providers;
|
||||
|
||||
use App\Http\Middleware\TrustProxies;
|
||||
use App\Models\PersonalAccessToken;
|
||||
use Illuminate\Pagination\Paginator;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
|
@ -9,6 +9,11 @@ class Cluster
|
||||
|
||||
public static string $prefix = 'cluster:';
|
||||
|
||||
public static function isCluster(): bool
|
||||
{
|
||||
return self::isMaster() || self::isSlave();
|
||||
}
|
||||
|
||||
public static function isMaster(): bool
|
||||
{
|
||||
return config('settings.node.type') === 'master';
|
||||
@ -19,11 +24,6 @@ public static function isSlave(): bool
|
||||
return config('settings.node.type') === 'slave';
|
||||
}
|
||||
|
||||
public static function isCluster(): bool
|
||||
{
|
||||
return self::isMaster() || self::isSlave();
|
||||
}
|
||||
|
||||
public static function publish($event, $data = []): void
|
||||
{
|
||||
Redis::publish('cluster_ready', json_encode([
|
||||
@ -40,6 +40,28 @@ public static function publish($event, $data = []): void
|
||||
self::registerThisNode(false);
|
||||
}
|
||||
|
||||
public static function registerThisNode($report = true): void
|
||||
{
|
||||
$node_id = config('settings.node.id');
|
||||
|
||||
Cluster::hset('nodes', $node_id, [
|
||||
'type' => config('settings.node.type'),
|
||||
'id' => $node_id,
|
||||
'ip' => config('settings.node.ip'),
|
||||
// utc +8 timestamp
|
||||
'last_heartbeat' => time(),
|
||||
]);
|
||||
|
||||
if ($report) {
|
||||
Cluster::publish('node.ok');
|
||||
}
|
||||
}
|
||||
|
||||
public static function hset($key, $value, $data = []): void
|
||||
{
|
||||
Redis::hset(self::$prefix . $key, $value, json_encode($data));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string|array $events 事件名称
|
||||
* @param $callback callable 回调函数,接收一个参数,为事件数据。
|
||||
@ -71,21 +93,11 @@ public static function listen(string|array $events, callable $callback, bool $ig
|
||||
});
|
||||
}
|
||||
|
||||
public static function hset($key, $value, $data = []): void
|
||||
{
|
||||
Redis::hset(self::$prefix . $key, $value, json_encode($data));
|
||||
}
|
||||
|
||||
public static function get($key, $default = null): string|array|null
|
||||
{
|
||||
return Redis::get(self::$prefix . $key, $default);
|
||||
}
|
||||
|
||||
public static function set($key, $value, $ttl = null): void
|
||||
{
|
||||
Redis::set(self::$prefix . $key, $value, $ttl);
|
||||
}
|
||||
|
||||
public static function forget($key): void
|
||||
{
|
||||
Redis::forget(self::$prefix . $key);
|
||||
@ -97,6 +109,11 @@ public static function forever($key, $value): void
|
||||
self::set($key, $value, -1);
|
||||
}
|
||||
|
||||
public static function set($key, $value, $ttl = null): void
|
||||
{
|
||||
Redis::set(self::$prefix . $key, $value, $ttl);
|
||||
}
|
||||
|
||||
public static function hget($key, $hashKey, $default = []): string|array|null
|
||||
{
|
||||
$value = Redis::hget(self::$prefix . $key, $hashKey);
|
||||
@ -104,13 +121,6 @@ public static function hget($key, $hashKey, $default = []): string|array|null
|
||||
return $value ?: $default;
|
||||
}
|
||||
|
||||
public static function hgetAll($hashKey, $default = []): array
|
||||
{
|
||||
$value = Redis::hgetall(self::$prefix . $hashKey);
|
||||
|
||||
return $value ?: $default;
|
||||
}
|
||||
|
||||
public static function nodes($hide_ip = false): array
|
||||
{
|
||||
$nodes = self::hgetAll('nodes');
|
||||
@ -126,21 +136,11 @@ public static function nodes($hide_ip = false): array
|
||||
return $nodes;
|
||||
}
|
||||
|
||||
public static function registerThisNode($report = true): void
|
||||
public static function hgetAll($hashKey, $default = []): array
|
||||
{
|
||||
$node_id = config('settings.node.id');
|
||||
$value = Redis::hgetall(self::$prefix . $hashKey);
|
||||
|
||||
Cluster::hset('nodes', $node_id, [
|
||||
'type' => config('settings.node.type'),
|
||||
'id' => $node_id,
|
||||
'ip' => config('settings.node.ip'),
|
||||
// utc +8 timestamp
|
||||
'last_heartbeat' => time(),
|
||||
]);
|
||||
|
||||
if ($report) {
|
||||
Cluster::publish('node.ok');
|
||||
}
|
||||
return $value ?: $default;
|
||||
}
|
||||
|
||||
public static function currentNode()
|
||||
|
@ -8,7 +8,7 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"require": {
|
||||
"php": "^8.1",
|
||||
"php": "^8.2",
|
||||
"ext-zip": "^1.19",
|
||||
"doctrine/dbal": "^3.4",
|
||||
"erusev/parsedown": "^1.7",
|
||||
|
303
composer.lock
generated
303
composer.lock
generated
@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "81fa8fb300376dbf0ae3eb8771d2018f",
|
||||
"content-hash": "7354c998d6e06ecf6a4dd7c044db632e",
|
||||
"packages": [
|
||||
{
|
||||
"name": "bacon/bacon-qr-code",
|
||||
@ -813,16 +813,16 @@
|
||||
},
|
||||
{
|
||||
"name": "doctrine/lexer",
|
||||
"version": "1.2.3",
|
||||
"version": "2.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/lexer.git",
|
||||
"reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229"
|
||||
"reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/lexer/zipball/c268e882d4dbdd85e36e4ad69e02dc284f89d229",
|
||||
"reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229",
|
||||
"url": "https://api.github.com/repos/doctrine/lexer/zipball/39ab8fcf5a51ce4b85ca97c7a7d033eb12831124",
|
||||
"reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124",
|
||||
"shasum": "",
|
||||
"mirrors": [
|
||||
{
|
||||
@ -832,18 +832,20 @@
|
||||
]
|
||||
},
|
||||
"require": {
|
||||
"doctrine/deprecations": "^1.0",
|
||||
"php": "^7.1 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/coding-standard": "^9.0",
|
||||
"doctrine/coding-standard": "^9 || ^10",
|
||||
"phpstan/phpstan": "^1.3",
|
||||
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
|
||||
"vimeo/psalm": "^4.11"
|
||||
"psalm/plugin-phpunit": "^0.18.3",
|
||||
"vimeo/psalm": "^4.11 || ^5.0"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer"
|
||||
"Doctrine\\Common\\Lexer\\": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
@ -875,7 +877,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/doctrine/lexer/issues",
|
||||
"source": "https://github.com/doctrine/lexer/tree/1.2.3"
|
||||
"source": "https://github.com/doctrine/lexer/tree/2.1.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -891,7 +893,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-02-28T11:07:21+00:00"
|
||||
"time": "2022-12-14T08:49:07+00:00"
|
||||
},
|
||||
{
|
||||
"name": "dragonmantank/cron-expression",
|
||||
@ -962,16 +964,16 @@
|
||||
},
|
||||
{
|
||||
"name": "egulias/email-validator",
|
||||
"version": "3.2.1",
|
||||
"version": "3.2.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/egulias/EmailValidator.git",
|
||||
"reference": "f88dcf4b14af14a98ad96b14b2b317969eab6715"
|
||||
"reference": "5f35e41eba05fdfbabd95d72f83795c835fb7ed2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/egulias/EmailValidator/zipball/f88dcf4b14af14a98ad96b14b2b317969eab6715",
|
||||
"reference": "f88dcf4b14af14a98ad96b14b2b317969eab6715",
|
||||
"url": "https://api.github.com/repos/egulias/EmailValidator/zipball/5f35e41eba05fdfbabd95d72f83795c835fb7ed2",
|
||||
"reference": "5f35e41eba05fdfbabd95d72f83795c835fb7ed2",
|
||||
"shasum": "",
|
||||
"mirrors": [
|
||||
{
|
||||
@ -981,7 +983,7 @@
|
||||
]
|
||||
},
|
||||
"require": {
|
||||
"doctrine/lexer": "^1.2",
|
||||
"doctrine/lexer": "^1.2|^2",
|
||||
"php": ">=7.2",
|
||||
"symfony/polyfill-intl-idn": "^1.15"
|
||||
},
|
||||
@ -1024,7 +1026,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/egulias/EmailValidator/issues",
|
||||
"source": "https://github.com/egulias/EmailValidator/tree/3.2.1"
|
||||
"source": "https://github.com/egulias/EmailValidator/tree/3.2.4"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -1032,7 +1034,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2022-06-18T20:57:19+00:00"
|
||||
"time": "2022-12-30T14:09:25+00:00"
|
||||
},
|
||||
{
|
||||
"name": "erusev/parsedown",
|
||||
@ -3156,16 +3158,16 @@
|
||||
},
|
||||
{
|
||||
"name": "nesbot/carbon",
|
||||
"version": "2.64.0",
|
||||
"version": "2.64.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/briannesbitt/Carbon.git",
|
||||
"reference": "889546413c97de2d05063b8cb7b193c2531ea211"
|
||||
"reference": "f2e59963f4c4f4fdfb9fcfd752e8d2e2b79a4e2c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/889546413c97de2d05063b8cb7b193c2531ea211",
|
||||
"reference": "889546413c97de2d05063b8cb7b193c2531ea211",
|
||||
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/f2e59963f4c4f4fdfb9fcfd752e8d2e2b79a4e2c",
|
||||
"reference": "f2e59963f4c4f4fdfb9fcfd752e8d2e2b79a4e2c",
|
||||
"shasum": "",
|
||||
"mirrors": [
|
||||
{
|
||||
@ -3260,7 +3262,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-11-26T17:36:00+00:00"
|
||||
"time": "2023-01-01T23:17:36+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nette/schema",
|
||||
@ -4663,16 +4665,16 @@
|
||||
},
|
||||
{
|
||||
"name": "ramsey/collection",
|
||||
"version": "1.2.2",
|
||||
"version": "1.3.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ramsey/collection.git",
|
||||
"reference": "cccc74ee5e328031b15640b51056ee8d3bb66c0a"
|
||||
"reference": "ad7475d1c9e70b190ecffc58f2d989416af339b4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/ramsey/collection/zipball/cccc74ee5e328031b15640b51056ee8d3bb66c0a",
|
||||
"reference": "cccc74ee5e328031b15640b51056ee8d3bb66c0a",
|
||||
"url": "https://api.github.com/repos/ramsey/collection/zipball/ad7475d1c9e70b190ecffc58f2d989416af339b4",
|
||||
"reference": "ad7475d1c9e70b190ecffc58f2d989416af339b4",
|
||||
"shasum": "",
|
||||
"mirrors": [
|
||||
{
|
||||
@ -4682,29 +4684,40 @@
|
||||
]
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.3 || ^8",
|
||||
"php": "^7.4 || ^8.0",
|
||||
"symfony/polyfill-php81": "^1.23"
|
||||
},
|
||||
"require-dev": {
|
||||
"captainhook/captainhook": "^5.3",
|
||||
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
|
||||
"ergebnis/composer-normalize": "^2.6",
|
||||
"fakerphp/faker": "^1.5",
|
||||
"hamcrest/hamcrest-php": "^2",
|
||||
"jangregor/phpstan-prophecy": "^0.8",
|
||||
"mockery/mockery": "^1.3",
|
||||
"captainhook/plugin-composer": "^5.3",
|
||||
"ergebnis/composer-normalize": "^2.28.3",
|
||||
"fakerphp/faker": "^1.21",
|
||||
"hamcrest/hamcrest-php": "^2.0",
|
||||
"jangregor/phpstan-prophecy": "^1.0",
|
||||
"mockery/mockery": "^1.5",
|
||||
"php-parallel-lint/php-console-highlighter": "^1.0",
|
||||
"php-parallel-lint/php-parallel-lint": "^1.3",
|
||||
"phpcsstandards/phpcsutils": "^1.0.0-rc1",
|
||||
"phpspec/prophecy-phpunit": "^2.0",
|
||||
"phpstan/extension-installer": "^1",
|
||||
"phpstan/phpstan": "^0.12.32",
|
||||
"phpstan/phpstan-mockery": "^0.12.5",
|
||||
"phpstan/phpstan-phpunit": "^0.12.11",
|
||||
"phpunit/phpunit": "^8.5 || ^9",
|
||||
"psy/psysh": "^0.10.4",
|
||||
"slevomat/coding-standard": "^6.3",
|
||||
"squizlabs/php_codesniffer": "^3.5",
|
||||
"vimeo/psalm": "^4.4"
|
||||
"phpstan/extension-installer": "^1.2",
|
||||
"phpstan/phpstan": "^1.9",
|
||||
"phpstan/phpstan-mockery": "^1.1",
|
||||
"phpstan/phpstan-phpunit": "^1.3",
|
||||
"phpunit/phpunit": "^9.5",
|
||||
"psalm/plugin-mockery": "^1.1",
|
||||
"psalm/plugin-phpunit": "^0.18.4",
|
||||
"ramsey/coding-standard": "^2.0.3",
|
||||
"ramsey/conventional-commits": "^1.3",
|
||||
"vimeo/psalm": "^5.4"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"captainhook": {
|
||||
"force-install": true
|
||||
},
|
||||
"ramsey/conventional-commits": {
|
||||
"configFile": "conventional-commits.json"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Ramsey\\Collection\\": "src/"
|
||||
@ -4732,7 +4745,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/ramsey/collection/issues",
|
||||
"source": "https://github.com/ramsey/collection/tree/1.2.2"
|
||||
"source": "https://github.com/ramsey/collection/tree/1.3.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -4744,7 +4757,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2021-10-10T03:01:02+00:00"
|
||||
"time": "2022-12-27T19:12:24+00:00"
|
||||
},
|
||||
{
|
||||
"name": "ramsey/uuid",
|
||||
@ -5705,16 +5718,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/error-handler",
|
||||
"version": "v6.2.1",
|
||||
"version": "v6.2.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/error-handler.git",
|
||||
"reference": "b4e41f62c1124378863ff2705158a60da3e4c6b9"
|
||||
"reference": "0926124c95d220499e2baf0fb465772af3a4eddb"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/error-handler/zipball/b4e41f62c1124378863ff2705158a60da3e4c6b9",
|
||||
"reference": "b4e41f62c1124378863ff2705158a60da3e4c6b9",
|
||||
"url": "https://api.github.com/repos/symfony/error-handler/zipball/0926124c95d220499e2baf0fb465772af3a4eddb",
|
||||
"reference": "0926124c95d220499e2baf0fb465772af3a4eddb",
|
||||
"shasum": "",
|
||||
"mirrors": [
|
||||
{
|
||||
@ -5762,7 +5775,7 @@
|
||||
"description": "Provides tools to manage errors and ease debugging PHP code",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/error-handler/tree/v6.2.1"
|
||||
"source": "https://github.com/symfony/error-handler/tree/v6.2.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -5778,20 +5791,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-12-01T21:07:46+00:00"
|
||||
"time": "2022-12-19T14:33:49+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/event-dispatcher",
|
||||
"version": "v6.2.0",
|
||||
"version": "v6.2.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/event-dispatcher.git",
|
||||
"reference": "9efb1618fabee89515fe031314e8ed5625f85a53"
|
||||
"reference": "3ffeb31139b49bf6ef0bc09d1db95eac053388d1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9efb1618fabee89515fe031314e8ed5625f85a53",
|
||||
"reference": "9efb1618fabee89515fe031314e8ed5625f85a53",
|
||||
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/3ffeb31139b49bf6ef0bc09d1db95eac053388d1",
|
||||
"reference": "3ffeb31139b49bf6ef0bc09d1db95eac053388d1",
|
||||
"shasum": "",
|
||||
"mirrors": [
|
||||
{
|
||||
@ -5851,7 +5864,7 @@
|
||||
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/event-dispatcher/tree/v6.2.0"
|
||||
"source": "https://github.com/symfony/event-dispatcher/tree/v6.2.2"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -5867,7 +5880,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-11-02T09:08:04+00:00"
|
||||
"time": "2022-12-14T16:11:27+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/event-dispatcher-contracts",
|
||||
@ -5956,16 +5969,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/finder",
|
||||
"version": "v6.1.3",
|
||||
"version": "v6.2.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/finder.git",
|
||||
"reference": "39696bff2c2970b3779a5cac7bf9f0b88fc2b709"
|
||||
"reference": "81eefbddfde282ee33b437ba5e13d7753211ae8e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/finder/zipball/39696bff2c2970b3779a5cac7bf9f0b88fc2b709",
|
||||
"reference": "39696bff2c2970b3779a5cac7bf9f0b88fc2b709",
|
||||
"url": "https://api.github.com/repos/symfony/finder/zipball/81eefbddfde282ee33b437ba5e13d7753211ae8e",
|
||||
"reference": "81eefbddfde282ee33b437ba5e13d7753211ae8e",
|
||||
"shasum": "",
|
||||
"mirrors": [
|
||||
{
|
||||
@ -6006,7 +6019,7 @@
|
||||
"description": "Finds files and directories via an intuitive fluent interface",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/finder/tree/v6.1.3"
|
||||
"source": "https://github.com/symfony/finder/tree/v6.2.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -6022,20 +6035,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-07-29T07:42:06+00:00"
|
||||
"time": "2022-12-22T17:55:15+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-client",
|
||||
"version": "v6.2.0",
|
||||
"version": "v6.2.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-client.git",
|
||||
"reference": "153540b6ed72eecdcb42dc847f8d8cf2e2516e8e"
|
||||
"reference": "7054ad466f836309aef511789b9c697bc986d8ce"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-client/zipball/153540b6ed72eecdcb42dc847f8d8cf2e2516e8e",
|
||||
"reference": "153540b6ed72eecdcb42dc847f8d8cf2e2516e8e",
|
||||
"url": "https://api.github.com/repos/symfony/http-client/zipball/7054ad466f836309aef511789b9c697bc986d8ce",
|
||||
"reference": "7054ad466f836309aef511789b9c697bc986d8ce",
|
||||
"shasum": "",
|
||||
"mirrors": [
|
||||
{
|
||||
@ -6097,7 +6110,7 @@
|
||||
"description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/http-client/tree/v6.2.0"
|
||||
"source": "https://github.com/symfony/http-client/tree/v6.2.2"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -6113,7 +6126,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-11-14T10:13:36+00:00"
|
||||
"time": "2022-12-14T16:11:27+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-client-contracts",
|
||||
@ -6204,16 +6217,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-foundation",
|
||||
"version": "v6.2.1",
|
||||
"version": "v6.2.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-foundation.git",
|
||||
"reference": "d0bbd5a7e81b38f32504399b9199f265505b7bac"
|
||||
"reference": "ddf4dd35de1623e7c02013523e6c2137b67b636f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/d0bbd5a7e81b38f32504399b9199f265505b7bac",
|
||||
"reference": "d0bbd5a7e81b38f32504399b9199f265505b7bac",
|
||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/ddf4dd35de1623e7c02013523e6c2137b67b636f",
|
||||
"reference": "ddf4dd35de1623e7c02013523e6c2137b67b636f",
|
||||
"shasum": "",
|
||||
"mirrors": [
|
||||
{
|
||||
@ -6268,7 +6281,7 @@
|
||||
"description": "Defines an object-oriented layer for the HTTP specification",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/http-foundation/tree/v6.2.1"
|
||||
"source": "https://github.com/symfony/http-foundation/tree/v6.2.2"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -6284,20 +6297,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-12-04T18:26:13+00:00"
|
||||
"time": "2022-12-14T16:11:27+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-kernel",
|
||||
"version": "v6.2.2",
|
||||
"version": "v6.2.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-kernel.git",
|
||||
"reference": "860a0189969b755cd571709bd32313aa8599867a"
|
||||
"reference": "56c0c0d051579d25aec059a21dfe469634396a0f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/860a0189969b755cd571709bd32313aa8599867a",
|
||||
"reference": "860a0189969b755cd571709bd32313aa8599867a",
|
||||
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/56c0c0d051579d25aec059a21dfe469634396a0f",
|
||||
"reference": "56c0c0d051579d25aec059a21dfe469634396a0f",
|
||||
"shasum": "",
|
||||
"mirrors": [
|
||||
{
|
||||
@ -6385,7 +6398,7 @@
|
||||
"description": "Provides a structured process for converting a Request into a Response",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/http-kernel/tree/v6.2.2"
|
||||
"source": "https://github.com/symfony/http-kernel/tree/v6.2.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -6401,7 +6414,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-12-16T19:38:34+00:00"
|
||||
"time": "2022-12-28T15:05:50+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/mailer",
|
||||
@ -6490,16 +6503,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/mime",
|
||||
"version": "v6.2.0",
|
||||
"version": "v6.2.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/mime.git",
|
||||
"reference": "1e8005a7cbd79fb824ad81308ef2a76592a08bc0"
|
||||
"reference": "8c98bf40406e791043890a163f6f6599b9cfa1ed"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/mime/zipball/1e8005a7cbd79fb824ad81308ef2a76592a08bc0",
|
||||
"reference": "1e8005a7cbd79fb824ad81308ef2a76592a08bc0",
|
||||
"url": "https://api.github.com/repos/symfony/mime/zipball/8c98bf40406e791043890a163f6f6599b9cfa1ed",
|
||||
"reference": "8c98bf40406e791043890a163f6f6599b9cfa1ed",
|
||||
"shasum": "",
|
||||
"mirrors": [
|
||||
{
|
||||
@ -6559,7 +6572,7 @@
|
||||
"mime-type"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/mime/tree/v6.2.0"
|
||||
"source": "https://github.com/symfony/mime/tree/v6.2.2"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -6575,7 +6588,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-11-28T12:28:19+00:00"
|
||||
"time": "2022-12-14T16:38:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-ctype",
|
||||
@ -8079,16 +8092,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/var-dumper",
|
||||
"version": "v6.2.1",
|
||||
"version": "v6.2.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/var-dumper.git",
|
||||
"reference": "1e7544c8698627b908657e5276854d52ab70087a"
|
||||
"reference": "6168f544827e897f708a684f75072a8c33a5e309"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/1e7544c8698627b908657e5276854d52ab70087a",
|
||||
"reference": "1e7544c8698627b908657e5276854d52ab70087a",
|
||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/6168f544827e897f708a684f75072a8c33a5e309",
|
||||
"reference": "6168f544827e897f708a684f75072a8c33a5e309",
|
||||
"shasum": "",
|
||||
"mirrors": [
|
||||
{
|
||||
@ -8153,7 +8166,7 @@
|
||||
"dump"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/var-dumper/tree/v6.2.1"
|
||||
"source": "https://github.com/symfony/var-dumper/tree/v6.2.2"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -8169,20 +8182,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-12-03T22:32:58+00:00"
|
||||
"time": "2022-12-14T16:11:27+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/yaml",
|
||||
"version": "v6.2.0",
|
||||
"version": "v6.2.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/yaml.git",
|
||||
"reference": "f2570f21bd4adc3589aa3133323273995109bae0"
|
||||
"reference": "6ed8243aa5f2cb5a57009f826b5e7fb3c4200cf3"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/f2570f21bd4adc3589aa3133323273995109bae0",
|
||||
"reference": "f2570f21bd4adc3589aa3133323273995109bae0",
|
||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/6ed8243aa5f2cb5a57009f826b5e7fb3c4200cf3",
|
||||
"reference": "6ed8243aa5f2cb5a57009f826b5e7fb3c4200cf3",
|
||||
"shasum": "",
|
||||
"mirrors": [
|
||||
{
|
||||
@ -8233,7 +8246,7 @@
|
||||
"description": "Loads and dumps YAML files",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/yaml/tree/v6.2.0"
|
||||
"source": "https://github.com/symfony/yaml/tree/v6.2.2"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -8249,20 +8262,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-11-25T19:00:27+00:00"
|
||||
"time": "2022-12-14T16:11:27+00:00"
|
||||
},
|
||||
{
|
||||
"name": "tijsverkoyen/css-to-inline-styles",
|
||||
"version": "2.2.5",
|
||||
"version": "2.2.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/tijsverkoyen/CssToInlineStyles.git",
|
||||
"reference": "4348a3a06651827a27d989ad1d13efec6bb49b19"
|
||||
"reference": "c42125b83a4fa63b187fdf29f9c93cb7733da30c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/4348a3a06651827a27d989ad1d13efec6bb49b19",
|
||||
"reference": "4348a3a06651827a27d989ad1d13efec6bb49b19",
|
||||
"url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/c42125b83a4fa63b187fdf29f9c93cb7733da30c",
|
||||
"reference": "c42125b83a4fa63b187fdf29f9c93cb7733da30c",
|
||||
"shasum": "",
|
||||
"mirrors": [
|
||||
{
|
||||
@ -8306,9 +8319,9 @@
|
||||
"homepage": "https://github.com/tijsverkoyen/CssToInlineStyles",
|
||||
"support": {
|
||||
"issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues",
|
||||
"source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.5"
|
||||
"source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.6"
|
||||
},
|
||||
"time": "2022-09-12T13:28:28+00:00"
|
||||
"time": "2023-01-03T09:29:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "vlucas/phpdotenv",
|
||||
@ -8830,16 +8843,16 @@
|
||||
},
|
||||
{
|
||||
"name": "doctrine/instantiator",
|
||||
"version": "1.4.1",
|
||||
"version": "1.5.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/instantiator.git",
|
||||
"reference": "10dcfce151b967d20fde1b34ae6640712c3891bc"
|
||||
"reference": "0a0fa9780f5d4e507415a065172d26a98d02047b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/10dcfce151b967d20fde1b34ae6640712c3891bc",
|
||||
"reference": "10dcfce151b967d20fde1b34ae6640712c3891bc",
|
||||
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b",
|
||||
"reference": "0a0fa9780f5d4e507415a065172d26a98d02047b",
|
||||
"shasum": "",
|
||||
"mirrors": [
|
||||
{
|
||||
@ -8852,14 +8865,14 @@
|
||||
"php": "^7.1 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/coding-standard": "^9",
|
||||
"doctrine/coding-standard": "^9 || ^11",
|
||||
"ext-pdo": "*",
|
||||
"ext-phar": "*",
|
||||
"phpbench/phpbench": "^0.16 || ^1",
|
||||
"phpstan/phpstan": "^1.4",
|
||||
"phpstan/phpstan-phpunit": "^1",
|
||||
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
|
||||
"vimeo/psalm": "^4.22"
|
||||
"vimeo/psalm": "^4.30 || ^5.4"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
@ -8886,7 +8899,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/doctrine/instantiator/issues",
|
||||
"source": "https://github.com/doctrine/instantiator/tree/1.4.1"
|
||||
"source": "https://github.com/doctrine/instantiator/tree/1.5.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -8902,7 +8915,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-03-03T08:28:38+00:00"
|
||||
"time": "2022-12-30T00:15:36+00:00"
|
||||
},
|
||||
{
|
||||
"name": "fakerphp/faker",
|
||||
@ -9234,16 +9247,16 @@
|
||||
},
|
||||
{
|
||||
"name": "laravel/sail",
|
||||
"version": "v1.16.6",
|
||||
"version": "v1.17.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/sail.git",
|
||||
"reference": "2e8be54590bde421eb04e461a1421302a5b22cca"
|
||||
"reference": "7d69da7b2bdb8cbe8da6663eb2ae0e00c884bf80"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/sail/zipball/2e8be54590bde421eb04e461a1421302a5b22cca",
|
||||
"reference": "2e8be54590bde421eb04e461a1421302a5b22cca",
|
||||
"url": "https://api.github.com/repos/laravel/sail/zipball/7d69da7b2bdb8cbe8da6663eb2ae0e00c884bf80",
|
||||
"reference": "7d69da7b2bdb8cbe8da6663eb2ae0e00c884bf80",
|
||||
"shasum": "",
|
||||
"mirrors": [
|
||||
{
|
||||
@ -9296,20 +9309,20 @@
|
||||
"issues": "https://github.com/laravel/sail/issues",
|
||||
"source": "https://github.com/laravel/sail"
|
||||
},
|
||||
"time": "2022-12-19T15:41:32+00:00"
|
||||
"time": "2022-12-22T14:46:08+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/telescope",
|
||||
"version": "v4.10.2",
|
||||
"version": "v4.11.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/telescope.git",
|
||||
"reference": "3b1220b71ee08ac7be6be074635df50c2b83ab51"
|
||||
"reference": "a910e64a9464312ed0a26ccecbf7a1f969f20806"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/telescope/zipball/3b1220b71ee08ac7be6be074635df50c2b83ab51",
|
||||
"reference": "3b1220b71ee08ac7be6be074635df50c2b83ab51",
|
||||
"url": "https://api.github.com/repos/laravel/telescope/zipball/a910e64a9464312ed0a26ccecbf7a1f969f20806",
|
||||
"reference": "a910e64a9464312ed0a26ccecbf7a1f969f20806",
|
||||
"shasum": "",
|
||||
"mirrors": [
|
||||
{
|
||||
@ -9321,7 +9334,7 @@
|
||||
"require": {
|
||||
"ext-json": "*",
|
||||
"laravel/framework": "^8.37|^9.0",
|
||||
"php": "^7.3|^8.0",
|
||||
"php": "^8.0",
|
||||
"symfony/var-dumper": "^5.0|^6.0"
|
||||
},
|
||||
"require-dev": {
|
||||
@ -9368,9 +9381,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/laravel/telescope/issues",
|
||||
"source": "https://github.com/laravel/telescope/tree/v4.10.2"
|
||||
"source": "https://github.com/laravel/telescope/tree/v4.11.0"
|
||||
},
|
||||
"time": "2022-12-19T11:20:10+00:00"
|
||||
"time": "2023-01-03T09:40:48+00:00"
|
||||
},
|
||||
{
|
||||
"name": "mockery/mockery",
|
||||
@ -9517,16 +9530,16 @@
|
||||
},
|
||||
{
|
||||
"name": "nunomaduro/collision",
|
||||
"version": "v6.3.1",
|
||||
"version": "v6.4.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/nunomaduro/collision.git",
|
||||
"reference": "0f6349c3ed5dd28467087b08fb59384bb458a22b"
|
||||
"reference": "f05978827b9343cba381ca05b8c7deee346b6015"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/nunomaduro/collision/zipball/0f6349c3ed5dd28467087b08fb59384bb458a22b",
|
||||
"reference": "0f6349c3ed5dd28467087b08fb59384bb458a22b",
|
||||
"url": "https://api.github.com/repos/nunomaduro/collision/zipball/f05978827b9343cba381ca05b8c7deee346b6015",
|
||||
"reference": "f05978827b9343cba381ca05b8c7deee346b6015",
|
||||
"shasum": "",
|
||||
"mirrors": [
|
||||
{
|
||||
@ -9607,7 +9620,7 @@
|
||||
"type": "patreon"
|
||||
}
|
||||
],
|
||||
"time": "2022-09-29T12:29:49+00:00"
|
||||
"time": "2023-01-03T12:54:54+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phar-io/manifest",
|
||||
@ -9734,16 +9747,16 @@
|
||||
},
|
||||
{
|
||||
"name": "phpstan/phpstan",
|
||||
"version": "1.9.3",
|
||||
"version": "1.9.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/phpstan.git",
|
||||
"reference": "709999b91448d4f2bb07daffffedc889b33e461c"
|
||||
"reference": "0501435cd342eac7664bd62155b1ef907fc60b6f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/709999b91448d4f2bb07daffffedc889b33e461c",
|
||||
"reference": "709999b91448d4f2bb07daffffedc889b33e461c",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/0501435cd342eac7664bd62155b1ef907fc60b6f",
|
||||
"reference": "0501435cd342eac7664bd62155b1ef907fc60b6f",
|
||||
"shasum": "",
|
||||
"mirrors": [
|
||||
{
|
||||
@ -9779,7 +9792,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/phpstan/phpstan/issues",
|
||||
"source": "https://github.com/phpstan/phpstan/tree/1.9.3"
|
||||
"source": "https://github.com/phpstan/phpstan/tree/1.9.7"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -9795,20 +9808,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-12-13T10:28:10+00:00"
|
||||
"time": "2023-01-04T21:59:57+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-code-coverage",
|
||||
"version": "9.2.22",
|
||||
"version": "9.2.23",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
|
||||
"reference": "e4bf60d2220b4baaa0572986b5d69870226b06df"
|
||||
"reference": "9f1f0f9a2fbb680b26d1cf9b61b6eac43a6e4e9c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/e4bf60d2220b4baaa0572986b5d69870226b06df",
|
||||
"reference": "e4bf60d2220b4baaa0572986b5d69870226b06df",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/9f1f0f9a2fbb680b26d1cf9b61b6eac43a6e4e9c",
|
||||
"reference": "9f1f0f9a2fbb680b26d1cf9b61b6eac43a6e4e9c",
|
||||
"shasum": "",
|
||||
"mirrors": [
|
||||
{
|
||||
@ -9870,7 +9883,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
|
||||
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.22"
|
||||
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.23"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -9878,7 +9891,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2022-12-18T16:40:55+00:00"
|
||||
"time": "2022-12-28T12:41:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-file-iterator",
|
||||
@ -11696,8 +11709,10 @@
|
||||
"prefer-stable": true,
|
||||
"prefer-lowest": false,
|
||||
"platform": {
|
||||
"php": "^8.1",
|
||||
"ext-zip": "^1.19"
|
||||
"php": "^8.2",
|
||||
"ext-zip": "^1.19",
|
||||
"ext-pcntl": "*",
|
||||
"ext-posix": "*"
|
||||
},
|
||||
"platform-dev": [],
|
||||
"plugin-api-version": "2.3.0"
|
||||
|
Loading…
Reference in New Issue
Block a user