diff --git a/.gitattributes b/.gitattributes index fcb21d396..c48a5898b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -8,4 +8,4 @@ /.github export-ignore CHANGELOG.md export-ignore -.styleci.yml export-ignore +.styleci.yml export-ignore \ No newline at end of file diff --git a/.github/workflows/coolify-production-build.yml b/.github/workflows/coolify-production-build.yml index 79dfc3fc0..5271143ec 100644 --- a/.github/workflows/coolify-production-build.yml +++ b/.github/workflows/coolify-production-build.yml @@ -11,7 +11,7 @@ on: - docker/coolify-helper/Dockerfile - docker/coolify-realtime/Dockerfile - docker/testing-host/Dockerfile - - templates/* + - templates/** env: GITHUB_REGISTRY: ghcr.io diff --git a/.github/workflows/coolify-staging-build.yml b/.github/workflows/coolify-staging-build.yml index 1aafc2f0b..2c57a36a3 100644 --- a/.github/workflows/coolify-staging-build.yml +++ b/.github/workflows/coolify-staging-build.yml @@ -11,7 +11,7 @@ on: - docker/coolify-helper/Dockerfile - docker/coolify-realtime/Dockerfile - docker/testing-host/Dockerfile - - templates/* + - templates/** env: GITHUB_REGISTRY: ghcr.io diff --git a/.gitignore b/.gitignore index dd6b141b9..d7ee7e96c 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,4 @@ scripts/load-test/* .ignition.json .env.dusk.local docker/coolify-realtime/node_modules +.DS_Store diff --git a/.gitpod.yml b/.gitpod.yml deleted file mode 100644 index 6fd6797b5..000000000 --- a/.gitpod.yml +++ /dev/null @@ -1,65 +0,0 @@ -tasks: - - name: Setup Spin environment and Composer dependencies - # Fix because of https://github.com/gitpod-io/gitpod/issues/16614 - before: sudo curl -o /usr/local/bin/docker-compose -fsSL https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-$(uname -m) - init: | - cp .env.development.example .env && - sed -i "s#APP_URL=http://localhost#APP_URL=$(gp url 8000)#g" .env - sed -i "s#USERID=#USERID=33333#g" .env - sed -i "s#GROUPID=#GROUPID=33333#g" .env - composer install --ignore-platform-reqs - ./vendor/bin/spin up -d - ./vendor/bin/spin exec -u webuser coolify php artisan key:generate - ./vendor/bin/spin exec -u webuser coolify php artisan storage:link - ./vendor/bin/spin exec -u webuser coolify php artisan migrate:fresh --seed - cat .coolify-logo - gp sync-done spin-is-ready - - - name: Install Node dependencies and run Vite - command: | - echo "Waiting for Sail environment to boot up." - gp sync-await spin-is-ready - ./vendor/bin/spin exec vite npm install - ./vendor/bin/spin exec vite npm run dev -- --host - - - name: Laravel Queue Worker, listening to code changes - command: | - echo "Waiting for Sail environment to boot up." - gp sync-await spin-is-ready - ./vendor/bin/spin exec -u webuser coolify php artisan queue:listen - -ports: - - port: 5432 - onOpen: ignore - name: PostgreSQL - visibility: public - - port: 5173 - onOpen: ignore - visibility: public - name: Node Server for Vite - - port: 8000 - onOpen: ignore - visibility: public - name: Coolify - -# Configure vscode -vscode: - extensions: - - bmewburn.vscode-intelephense-client - - ikappas.composer - - ms-azuretools.vscode-docker - - ecmel.vscode-html-css - - MehediDracula.php-namespace-resolver - - wmaurer.change-case - - Equinusocio.vsc-community-material-theme - - EditorConfig.EditorConfig - - streetsidesoftware.code-spell-checker - - rangav.vscode-thunder-client - - PKief.material-icon-theme - - cierra.livewire-vscode - - lennardv.livewire-goto-updated - - bradlc.vscode-tailwindcss - - heybourn.headwind - - adrianwilczynski.alpine-js-intellisense - - amiralizadeh9480.laravel-extra-intellisense - - shufo.vscode-blade-formatter diff --git a/README.md b/README.md index 14a741088..8868bcea6 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,9 @@ curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash ``` You can find the installation script source [here](./scripts/install.sh). +> [!NOTE] +> Please refer to the [docs](https://coolify.io/docs/installation) for more information about the installation. + # Support Contact us at [coolify.io/docs/contact](https://coolify.io/docs/contact). @@ -121,7 +124,6 @@ By subscribing to the cloud version, you get the Coolify server for the same pri - Better support - Less maintenance for you - # Recognitions
@@ -138,6 +140,13 @@ By subscribing to the cloud version, you get the Coolify server for the same pri
+# Core Maintainers
+
+| Andras Bacsai | Peak |
+|------------|------------|
+|
|
|
+|
|
|
+
# Repo Activity

diff --git a/RELEASE.md b/RELEASE.md
index d9f05f17d..bc159b040 100644
--- a/RELEASE.md
+++ b/RELEASE.md
@@ -1,6 +1,6 @@
# Coolify Release Guide
-This guide outlines the release process for Coolify, intended for developers and those interested in understanding how releases are managed and deployed.
+This guide outlines the release process for Coolify, intended for developers and those interested in understanding how Coolify releases are managed and deployed.
## Table of Contents
- [Release Process](#release-process)
@@ -19,19 +19,19 @@ This guide outlines the release process for Coolify, intended for developers and
- Improvements, fixes, and new features are developed on the `next` branch or separate feature branches.
2. **Merging to `main`**
- - Once ready, changes are merged from the `next` branch into the `main` branch.
+ - Once ready, changes are merged from the `next` branch into the `main` branch (via a pull request).
3. **Building the Release**
- - After merging to `main`, GitHub Actions automatically builds release images for all architectures and pushes them to the GitHub Container Registry with the version tag and the `latest` tag.
+ - After merging to `main`, GitHub Actions automatically builds release images for all architectures and pushes them to the GitHub Container Registry and Docker Hub with the specific version tag and the `latest` tag.
4. **Creating a GitHub Release**
- A new GitHub release is manually created with details of the changes made in the version.
5. **Updating the CDN**
- - To make a new version publicly available, the version information on the CDN needs to be updated: [https://cdn.coollabs.io/coolify/versions.json](https://cdn.coollabs.io/coolify/versions.json)
+ - To make a new version publicly available, the version information on the CDN needs to be updated manually. After that the new version number will be available at [https://cdn.coollabs.io/coolify/versions.json](https://cdn.coollabs.io/coolify/versions.json).
> [!NOTE]
-> The CDN update may not occur immediately after the GitHub release. It can take hours or even days due to additional testing, stability checks, or potential hotfixes. **The update becomes available only after the CDN is updated.**
+> The CDN update may not occur immediately after the GitHub release. It can take hours or even days due to additional testing, stability checks, or potential hotfixes. **The update becomes available only after the CDN is updated. After the CDN is updated, a discord announcement will be made in the Production Release channel.**
## Version Types
@@ -39,10 +39,10 @@ This guide outlines the release process for Coolify, intended for developers and
Error: '.$e->getMessage());
-
- return redirect()->route('settings.license');
- }
- }
- }
-}
diff --git a/app/Livewire/Terminal/Index.php b/app/Livewire/Terminal/Index.php
index 945b25714..a24a237c5 100644
--- a/app/Livewire/Terminal/Index.php
+++ b/app/Livewire/Terminal/Index.php
@@ -14,13 +14,25 @@ class Index extends Component
public $containers = [];
+ public bool $isLoadingContainers = true;
+
public function mount()
{
if (! auth()->user()->isAdmin()) {
abort(403);
}
$this->servers = Server::isReachable()->get();
- $this->containers = $this->getAllActiveContainers();
+ }
+
+ public function loadContainers()
+ {
+ try {
+ $this->containers = $this->getAllActiveContainers();
+ } catch (\Exception $e) {
+ return handleError($e, $this);
+ } finally {
+ $this->isLoadingContainers = false;
+ }
}
private function getAllActiveContainers()
diff --git a/app/Livewire/Waitlist/Index.php b/app/Livewire/Waitlist/Index.php
index 422415449..0524b495c 100644
--- a/app/Livewire/Waitlist/Index.php
+++ b/app/Livewire/Waitlist/Index.php
@@ -27,7 +27,7 @@ class Index extends Component
public function mount()
{
- if (config('coolify.waitlist') == false) {
+ if (config('constants.waitlist.enabled') == false) {
return redirect()->route('register');
}
$this->waitingInLine = Waitlist::whereVerified(true)->count();
diff --git a/app/Models/Application.php b/app/Models/Application.php
index 64244c900..c284528f1 100644
--- a/app/Models/Application.php
+++ b/app/Models/Application.php
@@ -906,21 +906,7 @@ class Application extends BaseModel
public function customRepository()
{
- preg_match('/(?<=:)\d+(?=\/)/', $this->git_repository, $matches);
- $port = 22;
- if (count($matches) === 1) {
- $port = $matches[0];
- $gitHost = str($this->git_repository)->before(':');
- $gitRepo = str($this->git_repository)->after('/');
- $repository = "$gitHost:$gitRepo";
- } else {
- $repository = $this->git_repository;
- }
-
- return [
- 'repository' => $repository,
- 'port' => $port,
- ];
+ return convertGitUrl($this->git_repository, $this->deploymentType(), $this->source);
}
public function generateBaseDir(string $uuid)
@@ -953,6 +939,122 @@ class Application extends BaseModel
return $git_clone_command;
}
+ public function getGitRemoteStatus(string $deployment_uuid)
+ {
+ try {
+ ['commands' => $lsRemoteCommand] = $this->generateGitLsRemoteCommands(deployment_uuid: $deployment_uuid, exec_in_docker: false);
+ instant_remote_process([$lsRemoteCommand], $this->destination->server, true);
+
+ return [
+ 'is_accessible' => true,
+ 'error' => null,
+ ];
+ } catch (\RuntimeException $ex) {
+ return [
+ 'is_accessible' => false,
+ 'error' => $ex->getMessage(),
+ ];
+ }
+ }
+
+ public function generateGitLsRemoteCommands(string $deployment_uuid, bool $exec_in_docker = true)
+ {
+ $branch = $this->git_branch;
+ ['repository' => $customRepository, 'port' => $customPort] = $this->customRepository();
+ $commands = collect([]);
+ $base_command = 'git ls-remote';
+
+ if ($this->deploymentType() === 'source') {
+ $source_html_url = data_get($this, 'source.html_url');
+ $url = parse_url(filter_var($source_html_url, FILTER_SANITIZE_URL));
+ $source_html_url_host = $url['host'];
+ $source_html_url_scheme = $url['scheme'];
+
+ if ($this->source->getMorphClass() == 'App\Models\GithubApp') {
+ if ($this->source->is_public) {
+ $fullRepoUrl = "{$this->source->html_url}/{$customRepository}";
+ $base_command = "{$base_command} {$this->source->html_url}/{$customRepository}";
+ } else {
+ $github_access_token = generate_github_installation_token($this->source);
+
+ if ($exec_in_docker) {
+ $base_command = "{$base_command} $source_html_url_scheme://x-access-token:$github_access_token@$source_html_url_host/{$customRepository}.git";
+ $fullRepoUrl = "$source_html_url_scheme://x-access-token:$github_access_token@$source_html_url_host/{$customRepository}.git";
+ } else {
+ $base_command = "{$base_command} $source_html_url_scheme://x-access-token:$github_access_token@$source_html_url_host/{$customRepository}";
+ $fullRepoUrl = "$source_html_url_scheme://x-access-token:$github_access_token@$source_html_url_host/{$customRepository}";
+ }
+ }
+
+ if ($exec_in_docker) {
+ $commands->push(executeInDocker($deployment_uuid, $base_command));
+ } else {
+ $commands->push($base_command);
+ }
+
+ return [
+ 'commands' => $commands->implode(' && '),
+ 'branch' => $branch,
+ 'fullRepoUrl' => $fullRepoUrl,
+ ];
+ }
+ }
+
+ if ($this->deploymentType() === 'deploy_key') {
+ $fullRepoUrl = $customRepository;
+ $private_key = data_get($this, 'private_key.private_key');
+ if (is_null($private_key)) {
+ throw new RuntimeException('Private key not found. Please add a private key to the application and try again.');
+ }
+ $private_key = base64_encode($private_key);
+ $base_comamnd = "GIT_SSH_COMMAND=\"ssh -o ConnectTimeout=30 -p {$customPort} -o Port={$customPort} -o LogLevel=ERROR -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i /root/.ssh/id_rsa\" {$base_command} {$customRepository}";
+
+ if ($exec_in_docker) {
+ $commands = collect([
+ executeInDocker($deployment_uuid, 'mkdir -p /root/.ssh'),
+ executeInDocker($deployment_uuid, "echo '{$private_key}' | base64 -d | tee /root/.ssh/id_rsa > /dev/null"),
+ executeInDocker($deployment_uuid, 'chmod 600 /root/.ssh/id_rsa'),
+ ]);
+ } else {
+ $commands = collect([
+ 'mkdir -p /root/.ssh',
+ "echo '{$private_key}' | base64 -d | tee /root/.ssh/id_rsa > /dev/null",
+ 'chmod 600 /root/.ssh/id_rsa',
+ ]);
+ }
+
+ if ($exec_in_docker) {
+ $commands->push(executeInDocker($deployment_uuid, $base_comamnd));
+ } else {
+ $commands->push($base_comamnd);
+ }
+
+ return [
+ 'commands' => $commands->implode(' && '),
+ 'branch' => $branch,
+ 'fullRepoUrl' => $fullRepoUrl,
+ ];
+ }
+
+ if ($this->deploymentType() === 'other') {
+ $fullRepoUrl = $customRepository;
+ $base_command = "{$base_command} {$customRepository}";
+ $base_command = $this->setGitImportSettings($deployment_uuid, $base_command, public: true);
+
+ if ($exec_in_docker) {
+ $commands->push(executeInDocker($deployment_uuid, $base_command));
+ } else {
+ $commands->push($base_command);
+ }
+
+ return [
+ 'commands' => $commands->implode(' && '),
+ 'branch' => $branch,
+ 'fullRepoUrl' => $fullRepoUrl,
+ ];
+ }
+ }
+
public function generateGitImportCommands(string $deployment_uuid, int $pull_request_id = 0, ?string $git_type = null, bool $exec_in_docker = true, bool $only_checkout = false, ?string $custom_base_dir = null, ?string $commit = null)
{
$branch = $this->git_branch;
@@ -1214,6 +1316,11 @@ class Application extends BaseModel
$workdir = rtrim($this->base_directory, '/');
$composeFile = $this->docker_compose_location;
$fileList = collect([".$workdir$composeFile"]);
+ $gitRemoteStatus = $this->getGitRemoteStatus(deployment_uuid: $uuid);
+ if (! $gitRemoteStatus['is_accessible']) {
+ throw new \RuntimeException("Failed to read Git source:\n\n{$gitRemoteStatus['error']}");
+ }
+
$commands = collect([
"rm -rf /tmp/{$uuid}",
"mkdir -p /tmp/{$uuid}",
diff --git a/app/Models/Server.php b/app/Models/Server.php
index 64192c71f..3df156a78 100644
--- a/app/Models/Server.php
+++ b/app/Models/Server.php
@@ -2,6 +2,7 @@
namespace App\Models;
+use App\Actions\Proxy\StartProxy;
use App\Actions\Server\InstallDocker;
use App\Actions\Server\StartSentinel;
use App\Enums\ProxyTypes;
@@ -26,22 +27,23 @@ use Symfony\Component\Yaml\Yaml;
description: 'Server model',
type: 'object',
properties: [
- 'id' => ['type' => 'integer'],
- 'uuid' => ['type' => 'string'],
- 'name' => ['type' => 'string'],
- 'description' => ['type' => 'string'],
- 'ip' => ['type' => 'string'],
- 'user' => ['type' => 'string'],
- 'port' => ['type' => 'integer'],
- 'proxy' => ['type' => 'object'],
- 'high_disk_usage_notification_sent' => ['type' => 'boolean'],
- 'unreachable_notification_sent' => ['type' => 'boolean'],
- 'unreachable_count' => ['type' => 'integer'],
- 'validation_logs' => ['type' => 'string'],
- 'log_drain_notification_sent' => ['type' => 'boolean'],
- 'swarm_cluster' => ['type' => 'string'],
- 'delete_unused_volumes' => ['type' => 'boolean'],
- 'delete_unused_networks' => ['type' => 'boolean'],
+ 'id' => ['type' => 'integer', 'description' => 'The server ID.'],
+ 'uuid' => ['type' => 'string', 'description' => 'The server UUID.'],
+ 'name' => ['type' => 'string', 'description' => 'The server name.'],
+ 'description' => ['type' => 'string', 'description' => 'The server description.'],
+ 'ip' => ['type' => 'string', 'description' => 'The IP address.'],
+ 'user' => ['type' => 'string', 'description' => 'The user.'],
+ 'port' => ['type' => 'integer', 'description' => 'The port number.'],
+ 'proxy' => ['type' => 'object', 'description' => 'The proxy configuration.'],
+ 'proxy_type' => ['type' => 'string', 'enum' => ['traefik', 'caddy', 'none'], 'description' => 'The proxy type.'],
+ 'high_disk_usage_notification_sent' => ['type' => 'boolean', 'description' => 'The flag to indicate if the high disk usage notification has been sent.'],
+ 'unreachable_notification_sent' => ['type' => 'boolean', 'description' => 'The flag to indicate if the unreachable notification has been sent.'],
+ 'unreachable_count' => ['type' => 'integer', 'description' => 'The unreachable count for your server.'],
+ 'validation_logs' => ['type' => 'string', 'description' => 'The validation logs.'],
+ 'log_drain_notification_sent' => ['type' => 'boolean', 'description' => 'The flag to indicate if the log drain notification has been sent.'],
+ 'swarm_cluster' => ['type' => 'string', 'description' => 'The swarm cluster configuration.'],
+ 'delete_unused_volumes' => ['type' => 'boolean', 'description' => 'The flag to indicate if the unused volumes should be deleted.'],
+ 'delete_unused_networks' => ['type' => 'boolean', 'description' => 'The flag to indicate if the unused networks should be deleted.'],
]
)]
@@ -462,7 +464,7 @@ $schema://$host {
public function proxyPath()
{
- $base_path = config('coolify.base_config_path');
+ $base_path = config('constants.coolify.base_config_path');
$proxyType = $this->proxyType();
$proxy_path = "$base_path/proxy";
// TODO: should use /traefik for already exisiting configurations?
@@ -1251,4 +1253,25 @@ $schema://$host {
{
return instant_remote_process(['docker restart '.$containerName], $this, false);
}
+
+ public function changeProxy(string $proxyType, bool $async = true)
+ {
+ $validProxyTypes = collect(ProxyTypes::cases())->map(function ($proxyType) {
+ return str($proxyType->value)->lower();
+ });
+ if ($validProxyTypes->contains(str($proxyType)->lower())) {
+ $this->proxy->set('type', str($proxyType)->upper());
+ $this->proxy->set('status', 'exited');
+ $this->save();
+ if ($this->proxySet()) {
+ if ($async) {
+ StartProxy::dispatch($this);
+ } else {
+ StartProxy::run($this);
+ }
+ }
+ } else {
+ throw new \Exception('Invalid proxy type.');
+ }
+ }
}
diff --git a/app/Models/Service.php b/app/Models/Service.php
index 0c9e081a1..6d3d2024b 100644
--- a/app/Models/Service.php
+++ b/app/Models/Service.php
@@ -1171,7 +1171,7 @@ class Service extends BaseModel
$services = get_service_templates();
$service = data_get($services, str($this->name)->beforeLast('-')->value, []);
- return data_get($service, 'documentation', config('constants.docs.base_url'));
+ return data_get($service, 'documentation', config('constants.urls.docs'));
}
public function applications()
diff --git a/app/Models/Team.php b/app/Models/Team.php
index db485054b..e21aa3a25 100644
--- a/app/Models/Team.php
+++ b/app/Models/Team.php
@@ -172,7 +172,7 @@ class Team extends Model implements SendsDiscord, SendsEmail
{
return Attribute::make(
get: function () {
- if (config('coolify.self_hosted') || $this->id === 0) {
+ if (config('constants.coolify.self_hosted') || $this->id === 0) {
$subscription = 'self-hosted';
} else {
$subscription = data_get($this, 'subscription');
@@ -257,8 +257,15 @@ class Team extends Model implements SendsDiscord, SendsEmail
return $this->hasMany(S3Storage::class)->where('is_usable', true);
}
- public function trialEnded()
+ public function subscriptionEnded()
{
+ $this->subscription->update([
+ 'stripe_subscription_id' => null,
+ 'stripe_plan_id' => null,
+ 'stripe_cancel_at_period_end' => false,
+ 'stripe_invoice_paid' => false,
+ 'stripe_trial_already_ended' => false,
+ ]);
foreach ($this->servers as $server) {
$server->settings()->update([
'is_usable' => false,
@@ -267,16 +274,6 @@ class Team extends Model implements SendsDiscord, SendsEmail
}
}
- public function trialEndedButSubscribed()
- {
- foreach ($this->servers as $server) {
- $server->settings()->update([
- 'is_usable' => true,
- 'is_reachable' => true,
- ]);
- }
- }
-
public function isAnyNotificationEnabled()
{
if (isCloud()) {
diff --git a/app/Providers/FortifyServiceProvider.php b/app/Providers/FortifyServiceProvider.php
index e8784bab3..bbbf48345 100644
--- a/app/Providers/FortifyServiceProvider.php
+++ b/app/Providers/FortifyServiceProvider.php
@@ -50,7 +50,7 @@ class FortifyServiceProvider extends ServiceProvider
if (! $settings->is_registration_enabled) {
return redirect()->route('login');
}
- if (config('coolify.waitlist')) {
+ if (config('constants.waitlist.enabled')) {
return redirect()->route('waitlist.index');
} else {
return view('auth.register', [
diff --git a/bootstrap/helpers/docker.php b/bootstrap/helpers/docker.php
index 40eacf5c8..302193131 100644
--- a/bootstrap/helpers/docker.php
+++ b/bootstrap/helpers/docker.php
@@ -109,7 +109,8 @@ function format_docker_envs_to_json($rawOutput)
function checkMinimumDockerEngineVersion($dockerVersion)
{
$majorDockerVersion = str($dockerVersion)->before('.')->value();
- if ($majorDockerVersion <= 22) {
+ $requiredDockerVersion = str(config('constants.docker.minimum_required_version'))->before('.')->value();
+ if ($majorDockerVersion < $requiredDockerVersion) {
$dockerVersion = null;
}
@@ -225,15 +226,13 @@ function generateServiceSpecificFqdns(ServiceApplication|Application $resource)
case $type?->contains('minio'):
$MINIO_BROWSER_REDIRECT_URL = $variables->where('key', 'MINIO_BROWSER_REDIRECT_URL')->first();
$MINIO_SERVER_URL = $variables->where('key', 'MINIO_SERVER_URL')->first();
- if (is_null($MINIO_BROWSER_REDIRECT_URL) || is_null($MINIO_SERVER_URL)) {
- return $payload;
- }
- if (is_null($MINIO_BROWSER_REDIRECT_URL?->value)) {
+
+ if (str($MINIO_BROWSER_REDIRECT_URL->value)->isEmpty()) {
$MINIO_BROWSER_REDIRECT_URL?->update([
'value' => generateFqdn($server, 'console-'.$uuid, true),
]);
}
- if (is_null($MINIO_SERVER_URL?->value)) {
+ if (str($MINIO_SERVER_URL->value)->isEmpty()) {
$MINIO_SERVER_URL?->update([
'value' => generateFqdn($server, 'minio-'.$uuid, true),
]);
@@ -246,15 +245,13 @@ function generateServiceSpecificFqdns(ServiceApplication|Application $resource)
case $type?->contains('logto'):
$LOGTO_ENDPOINT = $variables->where('key', 'LOGTO_ENDPOINT')->first();
$LOGTO_ADMIN_ENDPOINT = $variables->where('key', 'LOGTO_ADMIN_ENDPOINT')->first();
- if (is_null($LOGTO_ENDPOINT) || is_null($LOGTO_ADMIN_ENDPOINT)) {
- return $payload;
- }
- if (is_null($LOGTO_ENDPOINT?->value)) {
+
+ if (str($LOGTO_ENDPOINT?->value)->isEmpty()) {
$LOGTO_ENDPOINT?->update([
'value' => generateFqdn($server, 'logto-'.$uuid),
]);
}
- if (is_null($LOGTO_ADMIN_ENDPOINT?->value)) {
+ if (str($LOGTO_ADMIN_ENDPOINT?->value)->isEmpty()) {
$LOGTO_ADMIN_ENDPOINT?->update([
'value' => generateFqdn($server, 'logto-admin-'.$uuid),
]);
@@ -397,7 +394,7 @@ function fqdnLabelsForTraefik(string $uuid, Collection $domains, bool $is_force_
$middlewares->push('gzip');
}
if (str($image)->contains('ghost')) {
- $middlewares->push('redir-ghost');
+ $middlewares->push("redir-ghost-{$uuid}");
}
if ($redirect_direction === 'non-www' && str($host)->startsWith('www.')) {
$labels = $labels->merge($redirect_to_non_www);
@@ -420,7 +417,7 @@ function fqdnLabelsForTraefik(string $uuid, Collection $domains, bool $is_force_
$middlewares->push('gzip');
}
if (str($image)->contains('ghost')) {
- $middlewares->push('redir-ghost');
+ $middlewares->push("redir-ghost-{$uuid}");
}
if ($redirect_direction === 'non-www' && str($host)->startsWith('www.')) {
$labels = $labels->merge($redirect_to_non_www);
@@ -469,7 +466,7 @@ function fqdnLabelsForTraefik(string $uuid, Collection $domains, bool $is_force_
$middlewares->push('gzip');
}
if (str($image)->contains('ghost')) {
- $middlewares->push('redir-ghost');
+ $middlewares->push("redir-ghost-{$uuid}");
}
if ($redirect_direction === 'non-www' && str($host)->startsWith('www.')) {
$labels = $labels->merge($redirect_to_non_www);
@@ -492,7 +489,7 @@ function fqdnLabelsForTraefik(string $uuid, Collection $domains, bool $is_force_
$middlewares->push('gzip');
}
if (str($image)->contains('ghost')) {
- $middlewares->push('redir-ghost');
+ $middlewares->push("redir-ghost-{$uuid}");
}
if ($redirect_direction === 'non-www' && str($host)->startsWith('www.')) {
$labels = $labels->merge($redirect_to_non_www);
diff --git a/bootstrap/helpers/shared.php b/bootstrap/helpers/shared.php
index 2f0a3ac2a..f746ad7ce 100644
--- a/bootstrap/helpers/shared.php
+++ b/bootstrap/helpers/shared.php
@@ -7,6 +7,7 @@ use App\Models\Application;
use App\Models\ApplicationDeploymentQueue;
use App\Models\ApplicationPreview;
use App\Models\EnvironmentVariable;
+use App\Models\GithubApp;
use App\Models\InstanceSettings;
use App\Models\LocalFileVolume;
use App\Models\LocalPersistentVolume;
@@ -358,7 +359,7 @@ function isDev(): bool
function isCloud(): bool
{
- return ! config('coolify.self_hosted');
+ return ! config('constants.coolify.self_hosted');
}
function translate_cron_expression($expression_to_validate): string
@@ -384,6 +385,11 @@ function validate_cron_expression($expression_to_validate): bool
return $isValid;
}
+
+function validate_timezone(string $timezone): bool
+{
+ return in_array($timezone, timezone_identifiers_list());
+}
function send_internal_notification(string $message): void
{
try {
@@ -988,7 +994,7 @@ function generateEnvValue(string $command, Service|Application|null $service = n
function getRealtime()
{
- $envDefined = env('PUSHER_PORT');
+ $envDefined = config('constants.pusher.port');
if (empty($envDefined)) {
$url = Url::fromString(Request::getSchemeAndHttpHost());
$port = $url->getPort();
@@ -4092,3 +4098,53 @@ function defaultNginxConfiguration(): string
}
}';
}
+
+function convertGitUrl(string $gitRepository, string $deploymentType, ?GithubApp $source = null): array
+{
+ $repository = $gitRepository;
+ $providerInfo = [
+ 'host' => null,
+ 'user' => 'git',
+ 'port' => 22,
+ 'repository' => $gitRepository,
+ ];
+ $sshMatches = [];
+ $matches = [];
+
+ // Let's try and parse the string to detect if it's a valid SSH string or not
+ preg_match('/((.*?)\:\/\/)?(.*@.*:.*)/', $gitRepository, $sshMatches);
+
+ if ($deploymentType === 'deploy_key' && empty($sshMatches) && $source) {
+ // If this happens, the user may have provided an HTTP URL when they needed an SSH one
+ // Let's try and fix that for known Git providers
+ switch ($source->getMorphClass()) {
+ case \App\Models\GithubApp::class:
+ $providerInfo['host'] = Url::fromString($source->html_url)->getHost();
+ $providerInfo['port'] = $source->custom_port;
+ $providerInfo['user'] = $source->custom_user;
+ break;
+ }
+ if (! empty($providerInfo['host'])) {
+ // Until we do not support more providers with App (like GithubApp), this will be always true, port will be 22
+ if ($providerInfo['port'] === 22) {
+ $repository = "{$providerInfo['user']}@{$providerInfo['host']}:{$providerInfo['repository']}";
+ } else {
+ $repository = "ssh://{$providerInfo['user']}@{$providerInfo['host']}:{$providerInfo['port']}/{$providerInfo['repository']}";
+ }
+ }
+ }
+
+ preg_match('/(?<=:)\d+(?=\/)/', $gitRepository, $matches);
+
+ if (count($matches) === 1) {
+ $providerInfo['port'] = $matches[0];
+ $gitHost = str($gitRepository)->before(':');
+ $gitRepo = str($gitRepository)->after('/');
+ $repository = "$gitHost:$gitRepo";
+ }
+
+ return [
+ 'repository' => $repository,
+ 'port' => $providerInfo['port'],
+ ];
+}
diff --git a/composer.json b/composer.json
index 2bae1149c..9e34e8b23 100644
--- a/composer.json
+++ b/composer.json
@@ -12,14 +12,15 @@
],
"require": {
"php": "^8.2",
+ "3sidedcube/laravel-redoc": "^1.0",
"danharrin/livewire-rate-limiting": "^1.1",
- "doctrine/dbal": "^3.6",
+ "doctrine/dbal": "^4.2",
"guzzlehttp/guzzle": "^7.5.0",
"laravel/fortify": "^1.16.0",
- "laravel/framework": "^11",
+ "laravel/framework": "^11.0",
"laravel/horizon": "^5.29.1",
"laravel/pail": "^1.1",
- "laravel/prompts": "^0.1.6",
+ "laravel/prompts": "^0.1.18|^0.2.0|^0.3.0",
"laravel/sanctum": "^4.0",
"laravel/socialite": "^5.14.0",
"laravel/tinker": "^2.8.1",
@@ -27,7 +28,7 @@
"lcobucci/jwt": "^5.0.0",
"league/flysystem-aws-s3-v3": "^3.0",
"league/flysystem-sftp-v3": "^3.0",
- "livewire/livewire": "3.4.9",
+ "livewire/livewire": "^3.5",
"log1x/laravel-webfonts": "^1.0",
"lorisleiva/laravel-actions": "^2.7",
"nubs/random-name-generator": "^2.2",
@@ -36,17 +37,16 @@
"poliander/cron": "^3.0",
"purplepixie/phpdns": "^2.1",
"pusher/pusher-php-server": "^7.2",
- "resend/resend-laravel": "^0.13.0",
+ "resend/resend-laravel": "^0.15.0",
"sentry/sentry-laravel": "^4.6",
"socialiteproviders/microsoft-azure": "^5.1",
"spatie/laravel-activitylog": "^4.7.3",
- "spatie/laravel-data": "^3.4.3",
- "spatie/laravel-ray": "^1.32.4",
+ "spatie/laravel-data": "^4.11",
"spatie/laravel-schemaless-attributes": "^2.4",
"spatie/url": "^2.2",
- "stripe/stripe-php": "^12.0",
- "symfony/yaml": "^6.2",
- "visus/cuid2": "^2.0.0",
+ "stripe/stripe-php": "^16.2.0",
+ "symfony/yaml": "^7.1.6",
+ "visus/cuid2": "^4.1.0",
"yosymfony/toml": "^1.0",
"zircote/swagger-php": "^4.10"
},
@@ -58,12 +58,13 @@
"laravel/telescope": "^5.2",
"mockery/mockery": "^1.5.1",
"nunomaduro/collision": "^8.1",
- "pestphp/pest": "^2.16",
- "phpstan/phpstan": "^1.10",
- "phpunit/phpunit": "^10.0.19",
- "serversideup/spin": "^1.1.0",
+ "pestphp/pest": "^3.5",
+ "phpstan/phpstan": "^1.12.10",
+ "phpunit/phpunit": "^11.4",
+ "serversideup/spin": "^2.3",
"spatie/laravel-ignition": "^2.1.0",
- "symfony/http-client": "^6.2"
+ "spatie/laravel-ray": "^1.37",
+ "symfony/http-client": "^7.1"
},
"minimum-stability": "stable",
"prefer-stable": true,
@@ -119,4 +120,4 @@
"@php artisan key:generate --ansi"
]
}
-}
\ No newline at end of file
+}
diff --git a/composer.lock b/composer.lock
index 5eb03b5fc..63d070405 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,8 +4,66 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "3f2342fe6b1ba920c8875f8a8fe41962",
+ "content-hash": "c19f791a42f2d1458409e399ff7d28ec",
"packages": [
+ {
+ "name": "3sidedcube/laravel-redoc",
+ "version": "v1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/3sidedcube/laravel-redoc.git",
+ "reference": "c33a563885dcdf1e0f623df5a56c106d130261da"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/3sidedcube/laravel-redoc/zipball/c33a563885dcdf1e0f623df5a56c106d130261da",
+ "reference": "c33a563885dcdf1e0f623df5a56c106d130261da",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/routing": "^8.0|^9.0|^10.0|^11.0",
+ "illuminate/support": "^8.0|^9.0|^10.0|^11.0",
+ "php": "^7.4|^8.0|^8.1|^8.2|^8.3"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "^3.3",
+ "orchestra/testbench": "^6.0|^7.0|^8.0|^9.0"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "ThreeSidedCube\\LaravelRedoc\\RedocServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "ThreeSidedCube\\LaravelRedoc\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Ben Sherred",
+ "role": "Developer"
+ }
+ ],
+ "description": "A lightweight package for rendering API documentation using OpenAPI and Redoc.",
+ "homepage": "https://github.com/3sidedcube/laravel-redoc",
+ "keywords": [
+ "3sidedcube",
+ "laravel-redoc"
+ ],
+ "support": {
+ "issues": "https://github.com/3sidedcube/laravel-redoc/issues",
+ "source": "https://github.com/3sidedcube/laravel-redoc/tree/v1.0.1"
+ },
+ "time": "2024-05-20T11:37:55+00:00"
+ },
{
"name": "amphp/amp",
"version": "v3.0.2",
@@ -867,16 +925,16 @@
},
{
"name": "aws/aws-crt-php",
- "version": "v1.2.6",
+ "version": "v1.2.7",
"source": {
"type": "git",
"url": "https://github.com/awslabs/aws-crt-php.git",
- "reference": "a63485b65b6b3367039306496d49737cf1995408"
+ "reference": "d71d9906c7bb63a28295447ba12e74723bd3730e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/a63485b65b6b3367039306496d49737cf1995408",
- "reference": "a63485b65b6b3367039306496d49737cf1995408",
+ "url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/d71d9906c7bb63a28295447ba12e74723bd3730e",
+ "reference": "d71d9906c7bb63a28295447ba12e74723bd3730e",
"shasum": ""
},
"require": {
@@ -915,22 +973,22 @@
],
"support": {
"issues": "https://github.com/awslabs/aws-crt-php/issues",
- "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.6"
+ "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.7"
},
- "time": "2024-06-13T17:21:28+00:00"
+ "time": "2024-10-18T22:15:13+00:00"
},
{
"name": "aws/aws-sdk-php",
- "version": "3.324.0",
+ "version": "3.325.7",
"source": {
"type": "git",
"url": "https://github.com/aws/aws-sdk-php.git",
- "reference": "b258712f0d986e00e1143d55246b6f9e344c7184"
+ "reference": "55852104253172e66c3358bf4c35281bbd8622b2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/b258712f0d986e00e1143d55246b6f9e344c7184",
- "reference": "b258712f0d986e00e1143d55246b6f9e344c7184",
+ "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/55852104253172e66c3358bf4c35281bbd8622b2",
+ "reference": "55852104253172e66c3358bf4c35281bbd8622b2",
"shasum": ""
},
"require": {
@@ -1013,9 +1071,9 @@
"support": {
"forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
"issues": "https://github.com/aws/aws-sdk-php/issues",
- "source": "https://github.com/aws/aws-sdk-php/tree/3.324.0"
+ "source": "https://github.com/aws/aws-sdk-php/tree/3.325.7"
},
- "time": "2024-10-10T18:06:36+00:00"
+ "time": "2024-11-12T19:27:31+00:00"
},
{
"name": "bacon/bacon-qr-code",
@@ -1133,26 +1191,26 @@
},
{
"name": "carbonphp/carbon-doctrine-types",
- "version": "2.1.0",
+ "version": "3.2.0",
"source": {
"type": "git",
"url": "https://github.com/CarbonPHP/carbon-doctrine-types.git",
- "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb"
+ "reference": "18ba5ddfec8976260ead6e866180bd5d2f71aa1d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/99f76ffa36cce3b70a4a6abce41dba15ca2e84cb",
- "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb",
+ "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/18ba5ddfec8976260ead6e866180bd5d2f71aa1d",
+ "reference": "18ba5ddfec8976260ead6e866180bd5d2f71aa1d",
"shasum": ""
},
"require": {
- "php": "^7.4 || ^8.0"
+ "php": "^8.1"
},
"conflict": {
- "doctrine/dbal": "<3.7.0 || >=4.0.0"
+ "doctrine/dbal": "<4.0.0 || >=5.0.0"
},
"require-dev": {
- "doctrine/dbal": "^3.7.0",
+ "doctrine/dbal": "^4.0.0",
"nesbot/carbon": "^2.71.0 || ^3.0.0",
"phpunit/phpunit": "^10.3"
},
@@ -1182,7 +1240,7 @@
],
"support": {
"issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues",
- "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/2.1.0"
+ "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/3.2.0"
},
"funding": [
{
@@ -1198,7 +1256,7 @@
"type": "tidelift"
}
],
- "time": "2023-12-11T17:09:12+00:00"
+ "time": "2024-02-09T16:56:22+00:00"
},
{
"name": "danharrin/livewire-rate-limiting",
@@ -1423,142 +1481,44 @@
},
"time": "2024-07-08T12:26:09+00:00"
},
- {
- "name": "doctrine/cache",
- "version": "2.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/cache.git",
- "reference": "1ca8f21980e770095a31456042471a57bc4c68fb"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/cache/zipball/1ca8f21980e770095a31456042471a57bc4c68fb",
- "reference": "1ca8f21980e770095a31456042471a57bc4c68fb",
- "shasum": ""
- },
- "require": {
- "php": "~7.1 || ^8.0"
- },
- "conflict": {
- "doctrine/common": ">2.2,<2.4"
- },
- "require-dev": {
- "cache/integration-tests": "dev-master",
- "doctrine/coding-standard": "^9",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
- "psr/cache": "^1.0 || ^2.0 || ^3.0",
- "symfony/cache": "^4.4 || ^5.4 || ^6",
- "symfony/var-exporter": "^4.4 || ^5.4 || ^6"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Guilherme Blanco",
- "email": "guilhermeblanco@gmail.com"
- },
- {
- "name": "Roman Borschel",
- "email": "roman@code-factory.org"
- },
- {
- "name": "Benjamin Eberlei",
- "email": "kontakt@beberlei.de"
- },
- {
- "name": "Jonathan Wage",
- "email": "jonwage@gmail.com"
- },
- {
- "name": "Johannes Schmitt",
- "email": "schmittjoh@gmail.com"
- }
- ],
- "description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.",
- "homepage": "https://www.doctrine-project.org/projects/cache.html",
- "keywords": [
- "abstraction",
- "apcu",
- "cache",
- "caching",
- "couchdb",
- "memcached",
- "php",
- "redis",
- "xcache"
- ],
- "support": {
- "issues": "https://github.com/doctrine/cache/issues",
- "source": "https://github.com/doctrine/cache/tree/2.2.0"
- },
- "funding": [
- {
- "url": "https://www.doctrine-project.org/sponsorship.html",
- "type": "custom"
- },
- {
- "url": "https://www.patreon.com/phpdoctrine",
- "type": "patreon"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcache",
- "type": "tidelift"
- }
- ],
- "time": "2022-05-20T20:07:39+00:00"
- },
{
"name": "doctrine/dbal",
- "version": "3.9.3",
+ "version": "4.2.1",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
- "reference": "61446f07fcb522414d6cfd8b1c3e5f9e18c579ba"
+ "reference": "dadd35300837a3a2184bd47d403333b15d0a9bd0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/dbal/zipball/61446f07fcb522414d6cfd8b1c3e5f9e18c579ba",
- "reference": "61446f07fcb522414d6cfd8b1c3e5f9e18c579ba",
+ "url": "https://api.github.com/repos/doctrine/dbal/zipball/dadd35300837a3a2184bd47d403333b15d0a9bd0",
+ "reference": "dadd35300837a3a2184bd47d403333b15d0a9bd0",
"shasum": ""
},
"require": {
- "composer-runtime-api": "^2",
- "doctrine/cache": "^1.11|^2.0",
"doctrine/deprecations": "^0.5.3|^1",
- "doctrine/event-manager": "^1|^2",
- "php": "^7.4 || ^8.0",
+ "php": "^8.1",
"psr/cache": "^1|^2|^3",
"psr/log": "^1|^2|^3"
},
"require-dev": {
"doctrine/coding-standard": "12.0.0",
"fig/log-test": "^1",
- "jetbrains/phpstorm-stubs": "2023.1",
+ "jetbrains/phpstorm-stubs": "2023.2",
"phpstan/phpstan": "1.12.6",
+ "phpstan/phpstan-phpunit": "1.4.0",
"phpstan/phpstan-strict-rules": "^1.6",
- "phpunit/phpunit": "9.6.20",
- "psalm/plugin-phpunit": "0.18.4",
+ "phpunit/phpunit": "10.5.30",
+ "psalm/plugin-phpunit": "0.19.0",
"slevomat/coding-standard": "8.13.1",
"squizlabs/php_codesniffer": "3.10.2",
- "symfony/cache": "^5.4|^6.0|^7.0",
- "symfony/console": "^4.4|^5.4|^6.0|^7.0",
- "vimeo/psalm": "4.30.0"
+ "symfony/cache": "^6.3.8|^7.0",
+ "symfony/console": "^5.4|^6.3|^7.0",
+ "vimeo/psalm": "5.25.0"
},
"suggest": {
"symfony/console": "For helpful console commands such as SQL execution and import of files."
},
- "bin": [
- "bin/doctrine-dbal"
- ],
"type": "library",
"autoload": {
"psr-4": {
@@ -1611,7 +1571,7 @@
],
"support": {
"issues": "https://github.com/doctrine/dbal/issues",
- "source": "https://github.com/doctrine/dbal/tree/3.9.3"
+ "source": "https://github.com/doctrine/dbal/tree/4.2.1"
},
"funding": [
{
@@ -1627,7 +1587,7 @@
"type": "tidelift"
}
],
- "time": "2024-10-10T17:56:43+00:00"
+ "time": "2024-10-10T18:01:27+00:00"
},
{
"name": "doctrine/deprecations",
@@ -1676,97 +1636,6 @@
},
"time": "2024-01-30T19:34:25+00:00"
},
- {
- "name": "doctrine/event-manager",
- "version": "2.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/event-manager.git",
- "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/event-manager/zipball/b680156fa328f1dfd874fd48c7026c41570b9c6e",
- "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e",
- "shasum": ""
- },
- "require": {
- "php": "^8.1"
- },
- "conflict": {
- "doctrine/common": "<2.9"
- },
- "require-dev": {
- "doctrine/coding-standard": "^12",
- "phpstan/phpstan": "^1.8.8",
- "phpunit/phpunit": "^10.5",
- "vimeo/psalm": "^5.24"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Doctrine\\Common\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Guilherme Blanco",
- "email": "guilhermeblanco@gmail.com"
- },
- {
- "name": "Roman Borschel",
- "email": "roman@code-factory.org"
- },
- {
- "name": "Benjamin Eberlei",
- "email": "kontakt@beberlei.de"
- },
- {
- "name": "Jonathan Wage",
- "email": "jonwage@gmail.com"
- },
- {
- "name": "Johannes Schmitt",
- "email": "schmittjoh@gmail.com"
- },
- {
- "name": "Marco Pivetta",
- "email": "ocramius@gmail.com"
- }
- ],
- "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.",
- "homepage": "https://www.doctrine-project.org/projects/event-manager.html",
- "keywords": [
- "event",
- "event dispatcher",
- "event manager",
- "event system",
- "events"
- ],
- "support": {
- "issues": "https://github.com/doctrine/event-manager/issues",
- "source": "https://github.com/doctrine/event-manager/tree/2.0.1"
- },
- "funding": [
- {
- "url": "https://www.doctrine-project.org/sponsorship.html",
- "type": "custom"
- },
- {
- "url": "https://www.patreon.com/phpdoctrine",
- "type": "patreon"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fevent-manager",
- "type": "tidelift"
- }
- ],
- "time": "2024-05-22T20:47:39+00:00"
- },
{
"name": "doctrine/inflector",
"version": "2.0.10",
@@ -2391,16 +2260,16 @@
},
{
"name": "guzzlehttp/promises",
- "version": "2.0.3",
+ "version": "2.0.4",
"source": {
"type": "git",
"url": "https://github.com/guzzle/promises.git",
- "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8"
+ "reference": "f9c436286ab2892c7db7be8c8da4ef61ccf7b455"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8",
- "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8",
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/f9c436286ab2892c7db7be8c8da4ef61ccf7b455",
+ "reference": "f9c436286ab2892c7db7be8c8da4ef61ccf7b455",
"shasum": ""
},
"require": {
@@ -2454,7 +2323,7 @@
],
"support": {
"issues": "https://github.com/guzzle/promises/issues",
- "source": "https://github.com/guzzle/promises/tree/2.0.3"
+ "source": "https://github.com/guzzle/promises/tree/2.0.4"
},
"funding": [
{
@@ -2470,7 +2339,7 @@
"type": "tidelift"
}
],
- "time": "2024-07-18T10:29:17+00:00"
+ "time": "2024-10-17T10:06:22+00:00"
},
{
"name": "guzzlehttp/psr7",
@@ -2793,16 +2662,16 @@
},
{
"name": "laravel/fortify",
- "version": "v1.24.2",
+ "version": "v1.24.5",
"source": {
"type": "git",
"url": "https://github.com/laravel/fortify.git",
- "reference": "42695c45087e5abb3e173725b4f1ef4956a7b47d"
+ "reference": "bba8c2ecc3fcc78e8632e0d719ae10bef6343eef"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/fortify/zipball/42695c45087e5abb3e173725b4f1ef4956a7b47d",
- "reference": "42695c45087e5abb3e173725b4f1ef4956a7b47d",
+ "url": "https://api.github.com/repos/laravel/fortify/zipball/bba8c2ecc3fcc78e8632e0d719ae10bef6343eef",
+ "reference": "bba8c2ecc3fcc78e8632e0d719ae10bef6343eef",
"shasum": ""
},
"require": {
@@ -2854,20 +2723,20 @@
"issues": "https://github.com/laravel/fortify/issues",
"source": "https://github.com/laravel/fortify"
},
- "time": "2024-09-16T19:20:52+00:00"
+ "time": "2024-11-12T14:51:12+00:00"
},
{
"name": "laravel/framework",
- "version": "v11.27.2",
+ "version": "v11.31.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
- "reference": "a51d1f2b771c542324a3d9b76a98b1bbc75c0ee9"
+ "reference": "365090ed2c68244e3141cdb5e247cdf3dfba2c40"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/framework/zipball/a51d1f2b771c542324a3d9b76a98b1bbc75c0ee9",
- "reference": "a51d1f2b771c542324a3d9b76a98b1bbc75c0ee9",
+ "url": "https://api.github.com/repos/laravel/framework/zipball/365090ed2c68244e3141cdb5e247cdf3dfba2c40",
+ "reference": "365090ed2c68244e3141cdb5e247cdf3dfba2c40",
"shasum": ""
},
"require": {
@@ -3063,20 +2932,20 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
- "time": "2024-10-09T04:17:35+00:00"
+ "time": "2024-11-12T15:36:15+00:00"
},
{
"name": "laravel/horizon",
- "version": "v5.29.1",
+ "version": "v5.29.3",
"source": {
"type": "git",
"url": "https://github.com/laravel/horizon.git",
- "reference": "9f482f21c23ed01c2366d1157843165165579c23"
+ "reference": "a48d242759704e598242074daf0060bbeb6ed46d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/horizon/zipball/9f482f21c23ed01c2366d1157843165165579c23",
- "reference": "9f482f21c23ed01c2366d1157843165165579c23",
+ "url": "https://api.github.com/repos/laravel/horizon/zipball/a48d242759704e598242074daf0060bbeb6ed46d",
+ "reference": "a48d242759704e598242074daf0060bbeb6ed46d",
"shasum": ""
},
"require": {
@@ -3091,6 +2960,7 @@
"ramsey/uuid": "^4.0",
"symfony/console": "^6.0|^7.0",
"symfony/error-handler": "^6.0|^7.0",
+ "symfony/polyfill-php83": "^1.28",
"symfony/process": "^6.0|^7.0"
},
"require-dev": {
@@ -3140,22 +3010,22 @@
],
"support": {
"issues": "https://github.com/laravel/horizon/issues",
- "source": "https://github.com/laravel/horizon/tree/v5.29.1"
+ "source": "https://github.com/laravel/horizon/tree/v5.29.3"
},
- "time": "2024-10-08T18:23:02+00:00"
+ "time": "2024-11-07T21:51:45+00:00"
},
{
"name": "laravel/pail",
- "version": "v1.1.5",
+ "version": "v1.2.1",
"source": {
"type": "git",
"url": "https://github.com/laravel/pail.git",
- "reference": "b33ad8321416fe86efed7bf398f3306c47b4871b"
+ "reference": "353ac12134b98e2e7c3333d916bd3e523931e583"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/pail/zipball/b33ad8321416fe86efed7bf398f3306c47b4871b",
- "reference": "b33ad8321416fe86efed7bf398f3306c47b4871b",
+ "url": "https://api.github.com/repos/laravel/pail/zipball/353ac12134b98e2e7c3333d916bd3e523931e583",
+ "reference": "353ac12134b98e2e7c3333d916bd3e523931e583",
"shasum": ""
},
"require": {
@@ -3170,8 +3040,9 @@
"symfony/console": "^6.0|^7.0"
},
"require-dev": {
+ "laravel/framework": "^10.24|^11.0",
"laravel/pint": "^1.13",
- "orchestra/testbench": "^8.12|^9.0",
+ "orchestra/testbench-core": "^8.12|^9.0",
"pestphp/pest": "^2.20",
"pestphp/pest-plugin-type-coverage": "^2.3",
"phpstan/phpstan": "^1.10",
@@ -3219,25 +3090,25 @@
"issues": "https://github.com/laravel/pail/issues",
"source": "https://github.com/laravel/pail"
},
- "time": "2024-10-15T20:06:24+00:00"
+ "time": "2024-10-23T12:56:23+00:00"
},
{
"name": "laravel/prompts",
- "version": "v0.1.25",
+ "version": "v0.3.2",
"source": {
"type": "git",
"url": "https://github.com/laravel/prompts.git",
- "reference": "7b4029a84c37cb2725fc7f011586e2997040bc95"
+ "reference": "0e0535747c6b8d6d10adca8b68293cf4517abb0f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/prompts/zipball/7b4029a84c37cb2725fc7f011586e2997040bc95",
- "reference": "7b4029a84c37cb2725fc7f011586e2997040bc95",
+ "url": "https://api.github.com/repos/laravel/prompts/zipball/0e0535747c6b8d6d10adca8b68293cf4517abb0f",
+ "reference": "0e0535747c6b8d6d10adca8b68293cf4517abb0f",
"shasum": ""
},
"require": {
+ "composer-runtime-api": "^2.2",
"ext-mbstring": "*",
- "illuminate/collections": "^10.0|^11.0",
"php": "^8.1",
"symfony/console": "^6.2|^7.0"
},
@@ -3246,8 +3117,9 @@
"laravel/framework": ">=10.17.0 <10.25.0"
},
"require-dev": {
+ "illuminate/collections": "^10.0|^11.0",
"mockery/mockery": "^1.5",
- "pestphp/pest": "^2.3",
+ "pestphp/pest": "^2.3|^3.4",
"phpstan/phpstan": "^1.11",
"phpstan/phpstan-mockery": "^1.1"
},
@@ -3257,7 +3129,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "0.1.x-dev"
+ "dev-main": "0.3.x-dev"
}
},
"autoload": {
@@ -3275,9 +3147,9 @@
"description": "Add beautiful and user-friendly forms to your command-line applications.",
"support": {
"issues": "https://github.com/laravel/prompts/issues",
- "source": "https://github.com/laravel/prompts/tree/v0.1.25"
+ "source": "https://github.com/laravel/prompts/tree/v0.3.2"
},
- "time": "2024-08-12T22:06:33+00:00"
+ "time": "2024-11-12T14:59:47+00:00"
},
{
"name": "laravel/sanctum",
@@ -3345,16 +3217,16 @@
},
{
"name": "laravel/serializable-closure",
- "version": "v1.3.5",
+ "version": "v1.3.6",
"source": {
"type": "git",
"url": "https://github.com/laravel/serializable-closure.git",
- "reference": "1dc4a3dbfa2b7628a3114e43e32120cce7cdda9c"
+ "reference": "f865a58ea3a0107c336b7045104c75243fa59d96"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/1dc4a3dbfa2b7628a3114e43e32120cce7cdda9c",
- "reference": "1dc4a3dbfa2b7628a3114e43e32120cce7cdda9c",
+ "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/f865a58ea3a0107c336b7045104c75243fa59d96",
+ "reference": "f865a58ea3a0107c336b7045104c75243fa59d96",
"shasum": ""
},
"require": {
@@ -3402,7 +3274,7 @@
"issues": "https://github.com/laravel/serializable-closure/issues",
"source": "https://github.com/laravel/serializable-closure"
},
- "time": "2024-09-23T13:33:08+00:00"
+ "time": "2024-11-11T17:06:04+00:00"
},
{
"name": "laravel/socialite",
@@ -3607,16 +3479,16 @@
},
{
"name": "lcobucci/jwt",
- "version": "5.4.0",
+ "version": "5.4.2",
"source": {
"type": "git",
"url": "https://github.com/lcobucci/jwt.git",
- "reference": "aac4fd512681fd5cb4b77d2105ab7ec700c72051"
+ "reference": "ea1ce71cbf9741e445a5914e2f67cdbb484ff712"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/lcobucci/jwt/zipball/aac4fd512681fd5cb4b77d2105ab7ec700c72051",
- "reference": "aac4fd512681fd5cb4b77d2105ab7ec700c72051",
+ "url": "https://api.github.com/repos/lcobucci/jwt/zipball/ea1ce71cbf9741e445a5914e2f67cdbb484ff712",
+ "reference": "ea1ce71cbf9741e445a5914e2f67cdbb484ff712",
"shasum": ""
},
"require": {
@@ -3664,7 +3536,7 @@
],
"support": {
"issues": "https://github.com/lcobucci/jwt/issues",
- "source": "https://github.com/lcobucci/jwt/tree/5.4.0"
+ "source": "https://github.com/lcobucci/jwt/tree/5.4.2"
},
"funding": [
{
@@ -3676,7 +3548,7 @@
"type": "patreon"
}
],
- "time": "2024-10-08T22:06:45+00:00"
+ "time": "2024-11-07T12:54:35+00:00"
},
{
"name": "league/commonmark",
@@ -4410,16 +4282,16 @@
},
{
"name": "livewire/livewire",
- "version": "v3.4.9",
+ "version": "v3.5.12",
"source": {
"type": "git",
"url": "https://github.com/livewire/livewire.git",
- "reference": "c65b3f0798ab2c9338213ede3588c3cdf4e6fcc0"
+ "reference": "3c8d1f9d7d9098aaea663093ae168f2d5d2ae73d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/livewire/livewire/zipball/c65b3f0798ab2c9338213ede3588c3cdf4e6fcc0",
- "reference": "c65b3f0798ab2c9338213ede3588c3cdf4e6fcc0",
+ "url": "https://api.github.com/repos/livewire/livewire/zipball/3c8d1f9d7d9098aaea663093ae168f2d5d2ae73d",
+ "reference": "3c8d1f9d7d9098aaea663093ae168f2d5d2ae73d",
"shasum": ""
},
"require": {
@@ -4427,17 +4299,18 @@
"illuminate/routing": "^10.0|^11.0",
"illuminate/support": "^10.0|^11.0",
"illuminate/validation": "^10.0|^11.0",
+ "laravel/prompts": "^0.1.24|^0.2|^0.3",
"league/mime-type-detection": "^1.9",
"php": "^8.1",
+ "symfony/console": "^6.0|^7.0",
"symfony/http-kernel": "^6.2|^7.0"
},
"require-dev": {
"calebporzio/sushi": "^2.1",
- "laravel/framework": "^10.0|^11.0",
- "laravel/prompts": "^0.1.6",
+ "laravel/framework": "^10.15.0|^11.0",
"mockery/mockery": "^1.3.1",
- "orchestra/testbench": "8.20.0|^9.0",
- "orchestra/testbench-dusk": "8.20.0|^9.0",
+ "orchestra/testbench": "^8.21.0|^9.0",
+ "orchestra/testbench-dusk": "^8.24|^9.1",
"phpunit/phpunit": "^10.4",
"psy/psysh": "^0.11.22|^0.12"
},
@@ -4473,7 +4346,7 @@
"description": "A front-end framework for Laravel.",
"support": {
"issues": "https://github.com/livewire/livewire/issues",
- "source": "https://github.com/livewire/livewire/tree/v3.4.9"
+ "source": "https://github.com/livewire/livewire/tree/v3.5.12"
},
"funding": [
{
@@ -4481,31 +4354,31 @@
"type": "github"
}
],
- "time": "2024-03-14T14:03:32+00:00"
+ "time": "2024-10-15T19:35:06+00:00"
},
{
"name": "log1x/laravel-webfonts",
- "version": "v1.0.1",
+ "version": "v1.0.2",
"source": {
"type": "git",
"url": "https://github.com/Log1x/laravel-webfonts.git",
- "reference": "0d38122aa7f5501394006a6715f7d97dac223507"
+ "reference": "128a20af26f02db84df21abc6524e5a069cf20a4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Log1x/laravel-webfonts/zipball/0d38122aa7f5501394006a6715f7d97dac223507",
- "reference": "0d38122aa7f5501394006a6715f7d97dac223507",
+ "url": "https://api.github.com/repos/Log1x/laravel-webfonts/zipball/128a20af26f02db84df21abc6524e5a069cf20a4",
+ "reference": "128a20af26f02db84df21abc6524e5a069cf20a4",
"shasum": ""
},
"require": {
"guzzlehttp/guzzle": "^7.8",
- "laravel/prompts": "^0.1.15",
+ "laravel/prompts": "^0.1|^0.2|^0.3",
"php": ">=8.1"
},
"require-dev": {
- "illuminate/console": "^10.41",
- "illuminate/http": "^10.41",
- "illuminate/support": "^10.41",
+ "illuminate/console": "^10.0|^11.0",
+ "illuminate/http": "^10.0|^11.0",
+ "illuminate/support": "^10.0|^11.0",
"laravel/pint": "^1.13"
},
"type": "package",
@@ -4535,7 +4408,7 @@
"description": "Download, install, and preload over 1500 Google fonts locally in your Laravel project",
"support": {
"issues": "https://github.com/Log1x/laravel-webfonts/issues",
- "source": "https://github.com/Log1x/laravel-webfonts/tree/v1.0.1"
+ "source": "https://github.com/Log1x/laravel-webfonts/tree/v1.0.2"
},
"funding": [
{
@@ -4543,7 +4416,7 @@
"type": "github"
}
],
- "time": "2024-03-28T11:53:11+00:00"
+ "time": "2024-11-12T19:00:31+00:00"
},
{
"name": "lorisleiva/laravel-actions",
@@ -4695,16 +4568,16 @@
},
{
"name": "monolog/monolog",
- "version": "3.7.0",
+ "version": "3.8.0",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
- "reference": "f4393b648b78a5408747de94fca38beb5f7e9ef8"
+ "reference": "32e515fdc02cdafbe4593e30a9350d486b125b67"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f4393b648b78a5408747de94fca38beb5f7e9ef8",
- "reference": "f4393b648b78a5408747de94fca38beb5f7e9ef8",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/32e515fdc02cdafbe4593e30a9350d486b125b67",
+ "reference": "32e515fdc02cdafbe4593e30a9350d486b125b67",
"shasum": ""
},
"require": {
@@ -4724,12 +4597,14 @@
"guzzlehttp/psr7": "^2.2",
"mongodb/mongodb": "^1.8",
"php-amqplib/php-amqplib": "~2.4 || ^3",
- "phpstan/phpstan": "^1.9",
- "phpstan/phpstan-deprecation-rules": "^1.0",
- "phpstan/phpstan-strict-rules": "^1.4",
- "phpunit/phpunit": "^10.5.17",
+ "php-console/php-console": "^3.1.8",
+ "phpstan/phpstan": "^2",
+ "phpstan/phpstan-deprecation-rules": "^2",
+ "phpstan/phpstan-strict-rules": "^2",
+ "phpunit/phpunit": "^10.5.17 || ^11.0.7",
"predis/predis": "^1.1 || ^2",
- "ruflin/elastica": "^7",
+ "rollbar/rollbar": "^4.0",
+ "ruflin/elastica": "^7 || ^8",
"symfony/mailer": "^5.4 || ^6",
"symfony/mime": "^5.4 || ^6"
},
@@ -4780,7 +4655,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/monolog/issues",
- "source": "https://github.com/Seldaek/monolog/tree/3.7.0"
+ "source": "https://github.com/Seldaek/monolog/tree/3.8.0"
},
"funding": [
{
@@ -4792,7 +4667,7 @@
"type": "tidelift"
}
],
- "time": "2024-06-28T09:40:51+00:00"
+ "time": "2024-11-12T13:57:08+00:00"
},
{
"name": "mtdowling/jmespath.php",
@@ -4862,20 +4737,20 @@
},
{
"name": "nesbot/carbon",
- "version": "3.8.0",
+ "version": "3.8.2",
"source": {
"type": "git",
"url": "https://github.com/briannesbitt/Carbon.git",
- "reference": "bbd3eef89af8ba66a3aa7952b5439168fbcc529f"
+ "reference": "e1268cdbc486d97ce23fef2c666dc3c6b6de9947"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/bbd3eef89af8ba66a3aa7952b5439168fbcc529f",
- "reference": "bbd3eef89af8ba66a3aa7952b5439168fbcc529f",
+ "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/e1268cdbc486d97ce23fef2c666dc3c6b6de9947",
+ "reference": "e1268cdbc486d97ce23fef2c666dc3c6b6de9947",
"shasum": ""
},
"require": {
- "carbonphp/carbon-doctrine-types": "*",
+ "carbonphp/carbon-doctrine-types": "<100.0",
"ext-json": "*",
"php": "^8.1",
"psr/clock": "^1.0",
@@ -4964,7 +4839,7 @@
"type": "tidelift"
}
],
- "time": "2024-08-19T06:22:39+00:00"
+ "time": "2024-11-07T17:46:48+00:00"
},
{
"name": "nette/schema",
@@ -5227,32 +5102,31 @@
},
{
"name": "nunomaduro/termwind",
- "version": "v2.1.0",
+ "version": "v2.2.0",
"source": {
"type": "git",
"url": "https://github.com/nunomaduro/termwind.git",
- "reference": "e5f21eade88689536c0cdad4c3cd75f3ed26e01a"
+ "reference": "42c84e4e8090766bbd6445d06cd6e57650626ea3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/e5f21eade88689536c0cdad4c3cd75f3ed26e01a",
- "reference": "e5f21eade88689536c0cdad4c3cd75f3ed26e01a",
+ "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/42c84e4e8090766bbd6445d06cd6e57650626ea3",
+ "reference": "42c84e4e8090766bbd6445d06cd6e57650626ea3",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
"php": "^8.2",
- "symfony/console": "^7.0.4"
+ "symfony/console": "^7.1.5"
},
"require-dev": {
- "ergebnis/phpstan-rules": "^2.2.0",
- "illuminate/console": "^11.1.1",
- "laravel/pint": "^1.15.0",
- "mockery/mockery": "^1.6.11",
- "pestphp/pest": "^2.34.6",
- "phpstan/phpstan": "^1.10.66",
- "phpstan/phpstan-strict-rules": "^1.5.2",
- "symfony/var-dumper": "^7.0.4",
+ "illuminate/console": "^11.28.0",
+ "laravel/pint": "^1.18.1",
+ "mockery/mockery": "^1.6.12",
+ "pestphp/pest": "^2.36.0",
+ "phpstan/phpstan": "^1.12.6",
+ "phpstan/phpstan-strict-rules": "^1.6.1",
+ "symfony/var-dumper": "^7.1.5",
"thecodingmachine/phpstan-strict-rules": "^1.0.0"
},
"type": "library",
@@ -5295,7 +5169,7 @@
],
"support": {
"issues": "https://github.com/nunomaduro/termwind/issues",
- "source": "https://github.com/nunomaduro/termwind/tree/v2.1.0"
+ "source": "https://github.com/nunomaduro/termwind/tree/v2.2.0"
},
"funding": [
{
@@ -5311,7 +5185,7 @@
"type": "github"
}
],
- "time": "2024-09-05T15:25:50+00:00"
+ "time": "2024-10-15T16:15:16+00:00"
},
{
"name": "nyholm/psr7",
@@ -5510,30 +5384,35 @@
},
{
"name": "paragonie/sodium_compat",
- "version": "v1.21.1",
+ "version": "v2.1.0",
"source": {
"type": "git",
"url": "https://github.com/paragonie/sodium_compat.git",
- "reference": "bb312875dcdd20680419564fe42ba1d9564b9e37"
+ "reference": "a673d5f310477027cead2e2f2b6db5d8368157cb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/bb312875dcdd20680419564fe42ba1d9564b9e37",
- "reference": "bb312875dcdd20680419564fe42ba1d9564b9e37",
+ "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/a673d5f310477027cead2e2f2b6db5d8368157cb",
+ "reference": "a673d5f310477027cead2e2f2b6db5d8368157cb",
"shasum": ""
},
"require": {
- "paragonie/random_compat": ">=1",
- "php": "^5.2.4|^5.3|^5.4|^5.5|^5.6|^7|^8"
+ "php": "^8.1",
+ "php-64bit": "*"
},
"require-dev": {
- "phpunit/phpunit": "^3|^4|^5|^6|^7|^8|^9"
+ "phpunit/phpunit": "^7|^8|^9",
+ "vimeo/psalm": "^4|^5"
},
"suggest": {
- "ext-libsodium": "PHP < 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security.",
- "ext-sodium": "PHP >= 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security."
+ "ext-sodium": "Better performance, password hashing (Argon2i), secure memory management (memzero), and better security."
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
"autoload": {
"files": [
"autoload.php"
@@ -5590,137 +5469,76 @@
],
"support": {
"issues": "https://github.com/paragonie/sodium_compat/issues",
- "source": "https://github.com/paragonie/sodium_compat/tree/v1.21.1"
+ "source": "https://github.com/paragonie/sodium_compat/tree/v2.1.0"
},
- "time": "2024-04-22T22:05:04+00:00"
+ "time": "2024-09-04T12:51:01+00:00"
},
{
- "name": "php-di/invoker",
- "version": "2.3.4",
+ "name": "phpdocumentor/reflection",
+ "version": "6.0.0",
"source": {
"type": "git",
- "url": "https://github.com/PHP-DI/Invoker.git",
- "reference": "33234b32dafa8eb69202f950a1fc92055ed76a86"
+ "url": "https://github.com/phpDocumentor/Reflection.git",
+ "reference": "61e2f1fe7683e9647b9ed8d9e53d08699385267d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHP-DI/Invoker/zipball/33234b32dafa8eb69202f950a1fc92055ed76a86",
- "reference": "33234b32dafa8eb69202f950a1fc92055ed76a86",
+ "url": "https://api.github.com/repos/phpDocumentor/Reflection/zipball/61e2f1fe7683e9647b9ed8d9e53d08699385267d",
+ "reference": "61e2f1fe7683e9647b9ed8d9e53d08699385267d",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "psr/container": "^1.0|^2.0"
+ "nikic/php-parser": "~4.18 || ^5.0",
+ "php": "8.1.*|8.2.*|8.3.*",
+ "phpdocumentor/reflection-common": "^2.1",
+ "phpdocumentor/reflection-docblock": "^5",
+ "phpdocumentor/type-resolver": "^1.2",
+ "symfony/polyfill-php80": "^1.28",
+ "webmozart/assert": "^1.7"
},
"require-dev": {
- "athletic/athletic": "~0.1.8",
- "mnapoli/hard-mode": "~0.3.0",
- "phpunit/phpunit": "^9.0"
+ "dealerdirect/phpcodesniffer-composer-installer": "^1.0",
+ "doctrine/coding-standard": "^12.0",
+ "mikey179/vfsstream": "~1.2",
+ "mockery/mockery": "~1.6.0",
+ "phpspec/prophecy-phpunit": "^2.0",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan": "^1.8",
+ "phpstan/phpstan-webmozart-assert": "^1.2",
+ "phpunit/phpunit": "^10.0",
+ "psalm/phar": "^5.24",
+ "rector/rector": "^1.0.0",
+ "squizlabs/php_codesniffer": "^3.8"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-5.x": "5.3.x-dev",
+ "dev-6.x": "6.0.x-dev"
+ }
+ },
"autoload": {
"psr-4": {
- "Invoker\\": "src/"
+ "phpDocumentor\\": "src/phpDocumentor"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "description": "Generic and extensible callable invoker",
- "homepage": "https://github.com/PHP-DI/Invoker",
+ "description": "Reflection library to do Static Analysis for PHP Projects",
+ "homepage": "http://www.phpdoc.org",
"keywords": [
- "callable",
- "dependency",
- "dependency-injection",
- "injection",
- "invoke",
- "invoker"
+ "phpDocumentor",
+ "phpdoc",
+ "reflection",
+ "static analysis"
],
"support": {
- "issues": "https://github.com/PHP-DI/Invoker/issues",
- "source": "https://github.com/PHP-DI/Invoker/tree/2.3.4"
+ "issues": "https://github.com/phpDocumentor/Reflection/issues",
+ "source": "https://github.com/phpDocumentor/Reflection/tree/6.0.0"
},
- "funding": [
- {
- "url": "https://github.com/mnapoli",
- "type": "github"
- }
- ],
- "time": "2023-09-08T09:24:21+00:00"
- },
- {
- "name": "php-di/php-di",
- "version": "7.0.7",
- "source": {
- "type": "git",
- "url": "https://github.com/PHP-DI/PHP-DI.git",
- "reference": "e87435e3c0e8f22977adc5af0d5cdcc467e15cf1"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/e87435e3c0e8f22977adc5af0d5cdcc467e15cf1",
- "reference": "e87435e3c0e8f22977adc5af0d5cdcc467e15cf1",
- "shasum": ""
- },
- "require": {
- "laravel/serializable-closure": "^1.0",
- "php": ">=8.0",
- "php-di/invoker": "^2.0",
- "psr/container": "^1.1 || ^2.0"
- },
- "provide": {
- "psr/container-implementation": "^1.0"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "^3",
- "friendsofphp/proxy-manager-lts": "^1",
- "mnapoli/phpunit-easymock": "^1.3",
- "phpunit/phpunit": "^9.5",
- "vimeo/psalm": "^4.6"
- },
- "suggest": {
- "friendsofphp/proxy-manager-lts": "Install it if you want to use lazy injection (version ^1)"
- },
- "type": "library",
- "autoload": {
- "files": [
- "src/functions.php"
- ],
- "psr-4": {
- "DI\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "The dependency injection container for humans",
- "homepage": "https://php-di.org/",
- "keywords": [
- "PSR-11",
- "container",
- "container-interop",
- "dependency injection",
- "di",
- "ioc",
- "psr11"
- ],
- "support": {
- "issues": "https://github.com/PHP-DI/PHP-DI/issues",
- "source": "https://github.com/PHP-DI/PHP-DI/tree/7.0.7"
- },
- "funding": [
- {
- "url": "https://github.com/mnapoli",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/php-di/php-di",
- "type": "tidelift"
- }
- ],
- "time": "2024-07-21T15:55:45+00:00"
+ "time": "2024-05-23T19:28:12+00:00"
},
{
"name": "phpdocumentor/reflection-common",
@@ -5776,24 +5594,88 @@
"time": "2020-06-27T09:03:43+00:00"
},
{
- "name": "phpdocumentor/type-resolver",
- "version": "1.8.2",
+ "name": "phpdocumentor/reflection-docblock",
+ "version": "5.6.0",
"source": {
"type": "git",
- "url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "153ae662783729388a584b4361f2545e4d841e3c"
+ "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
+ "reference": "f3558a4c23426d12bffeaab463f8a8d8b681193c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/153ae662783729388a584b4361f2545e4d841e3c",
- "reference": "153ae662783729388a584b4361f2545e4d841e3c",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/f3558a4c23426d12bffeaab463f8a8d8b681193c",
+ "reference": "f3558a4c23426d12bffeaab463f8a8d8b681193c",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/deprecations": "^1.1",
+ "ext-filter": "*",
+ "php": "^7.4 || ^8.0",
+ "phpdocumentor/reflection-common": "^2.2",
+ "phpdocumentor/type-resolver": "^1.7",
+ "phpstan/phpdoc-parser": "^1.7|^2.0",
+ "webmozart/assert": "^1.9.1"
+ },
+ "require-dev": {
+ "mockery/mockery": "~1.3.5 || ~1.6.0",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan": "^1.8",
+ "phpstan/phpstan-mockery": "^1.1",
+ "phpstan/phpstan-webmozart-assert": "^1.2",
+ "phpunit/phpunit": "^9.5",
+ "psalm/phar": "^5.26"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "phpDocumentor\\Reflection\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Mike van Riel",
+ "email": "me@mikevanriel.com"
+ },
+ {
+ "name": "Jaap van Otterdijk",
+ "email": "opensource@ijaap.nl"
+ }
+ ],
+ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
+ "support": {
+ "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
+ "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.0"
+ },
+ "time": "2024-11-12T11:25:25+00:00"
+ },
+ {
+ "name": "phpdocumentor/type-resolver",
+ "version": "1.10.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/TypeResolver.git",
+ "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/679e3ce485b99e84c775d28e2e96fade9a7fb50a",
+ "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a",
"shasum": ""
},
"require": {
"doctrine/deprecations": "^1.0",
"php": "^7.3 || ^8.0",
"phpdocumentor/reflection-common": "^2.0",
- "phpstan/phpdoc-parser": "^1.13"
+ "phpstan/phpdoc-parser": "^1.18|^2.0"
},
"require-dev": {
"ext-tokenizer": "*",
@@ -5829,9 +5711,9 @@
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"support": {
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
- "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.2"
+ "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.10.0"
},
- "time": "2024-02-23T11:10:43+00:00"
+ "time": "2024-11-09T15:12:26+00:00"
},
{
"name": "phpoption/phpoption",
@@ -6020,30 +5902,30 @@
},
{
"name": "phpstan/phpdoc-parser",
- "version": "1.32.0",
+ "version": "2.0.0",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git",
- "reference": "6ca22b154efdd9e3c68c56f5d94670920a1c19a4"
+ "reference": "c00d78fb6b29658347f9d37ebe104bffadf36299"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/6ca22b154efdd9e3c68c56f5d94670920a1c19a4",
- "reference": "6ca22b154efdd9e3c68c56f5d94670920a1c19a4",
+ "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/c00d78fb6b29658347f9d37ebe104bffadf36299",
+ "reference": "c00d78fb6b29658347f9d37ebe104bffadf36299",
"shasum": ""
},
"require": {
- "php": "^7.2 || ^8.0"
+ "php": "^7.4 || ^8.0"
},
"require-dev": {
"doctrine/annotations": "^2.0",
- "nikic/php-parser": "^4.15",
+ "nikic/php-parser": "^5.3.0",
"php-parallel-lint/php-parallel-lint": "^1.2",
"phpstan/extension-installer": "^1.0",
- "phpstan/phpstan": "^1.5",
- "phpstan/phpstan-phpunit": "^1.1",
- "phpstan/phpstan-strict-rules": "^1.0",
- "phpunit/phpunit": "^9.5",
+ "phpstan/phpstan": "^2.0",
+ "phpstan/phpstan-phpunit": "^2.0",
+ "phpstan/phpstan-strict-rules": "^2.0",
+ "phpunit/phpunit": "^9.6",
"symfony/process": "^5.2"
},
"type": "library",
@@ -6061,67 +5943,9 @@
"description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
- "source": "https://github.com/phpstan/phpdoc-parser/tree/1.32.0"
+ "source": "https://github.com/phpstan/phpdoc-parser/tree/2.0.0"
},
- "time": "2024-09-26T07:23:32+00:00"
- },
- {
- "name": "phpstan/phpstan",
- "version": "1.12.6",
- "source": {
- "type": "git",
- "url": "https://github.com/phpstan/phpstan.git",
- "reference": "dc4d2f145a88ea7141ae698effd64d9df46527ae"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan/zipball/dc4d2f145a88ea7141ae698effd64d9df46527ae",
- "reference": "dc4d2f145a88ea7141ae698effd64d9df46527ae",
- "shasum": ""
- },
- "require": {
- "php": "^7.2|^8.0"
- },
- "conflict": {
- "phpstan/phpstan-shim": "*"
- },
- "bin": [
- "phpstan",
- "phpstan.phar"
- ],
- "type": "library",
- "autoload": {
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "PHPStan - PHP Static Analysis Tool",
- "keywords": [
- "dev",
- "static analysis"
- ],
- "support": {
- "docs": "https://phpstan.org/user-guide/getting-started",
- "forum": "https://github.com/phpstan/phpstan/discussions",
- "issues": "https://github.com/phpstan/phpstan/issues",
- "security": "https://github.com/phpstan/phpstan/security/policy",
- "source": "https://github.com/phpstan/phpstan-src"
- },
- "funding": [
- {
- "url": "https://github.com/ondrejmirtes",
- "type": "github"
- },
- {
- "url": "https://github.com/phpstan",
- "type": "github"
- }
- ],
- "time": "2024-10-06T15:03:59+00:00"
+ "time": "2024-10-13T11:29:49+00:00"
},
{
"name": "pion/laravel-chunk-upload",
@@ -6875,23 +6699,23 @@
},
{
"name": "pusher/pusher-php-server",
- "version": "7.2.4",
+ "version": "7.2.6",
"source": {
"type": "git",
"url": "https://github.com/pusher/pusher-http-php.git",
- "reference": "de2f72296808f9cafa6a4462b15a768ff130cddb"
+ "reference": "d89e9997191d18fb0fe03a956fa3ccfe0af524ea"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/pusher/pusher-http-php/zipball/de2f72296808f9cafa6a4462b15a768ff130cddb",
- "reference": "de2f72296808f9cafa6a4462b15a768ff130cddb",
+ "url": "https://api.github.com/repos/pusher/pusher-http-php/zipball/d89e9997191d18fb0fe03a956fa3ccfe0af524ea",
+ "reference": "d89e9997191d18fb0fe03a956fa3ccfe0af524ea",
"shasum": ""
},
"require": {
"ext-curl": "*",
"ext-json": "*",
"guzzlehttp/guzzle": "^7.2",
- "paragonie/sodium_compat": "^1.6",
+ "paragonie/sodium_compat": "^1.6|^2.0",
"php": "^7.3|^8.0",
"psr/log": "^1.0|^2.0|^3.0"
},
@@ -6930,9 +6754,9 @@
],
"support": {
"issues": "https://github.com/pusher/pusher-http-php/issues",
- "source": "https://github.com/pusher/pusher-http-php/tree/7.2.4"
+ "source": "https://github.com/pusher/pusher-http-php/tree/7.2.6"
},
- "time": "2023-12-15T10:58:53+00:00"
+ "time": "2024-10-18T12:04:31+00:00"
},
{
"name": "ralouphie/getallheaders",
@@ -7159,84 +6983,25 @@
],
"time": "2024-04-27T21:32:50+00:00"
},
- {
- "name": "rector/rector",
- "version": "1.2.6",
- "source": {
- "type": "git",
- "url": "https://github.com/rectorphp/rector.git",
- "reference": "6ca85da28159dbd3bb36211c5104b7bc91278e99"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/rectorphp/rector/zipball/6ca85da28159dbd3bb36211c5104b7bc91278e99",
- "reference": "6ca85da28159dbd3bb36211c5104b7bc91278e99",
- "shasum": ""
- },
- "require": {
- "php": "^7.2|^8.0",
- "phpstan/phpstan": "^1.12.5"
- },
- "conflict": {
- "rector/rector-doctrine": "*",
- "rector/rector-downgrade-php": "*",
- "rector/rector-phpunit": "*",
- "rector/rector-symfony": "*"
- },
- "suggest": {
- "ext-dom": "To manipulate phpunit.xml via the custom-rule command"
- },
- "bin": [
- "bin/rector"
- ],
- "type": "library",
- "autoload": {
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Instant Upgrade and Automated Refactoring of any PHP code",
- "keywords": [
- "automation",
- "dev",
- "migration",
- "refactoring"
- ],
- "support": {
- "issues": "https://github.com/rectorphp/rector/issues",
- "source": "https://github.com/rectorphp/rector/tree/1.2.6"
- },
- "funding": [
- {
- "url": "https://github.com/tomasvotruba",
- "type": "github"
- }
- ],
- "time": "2024-10-03T08:56:44+00:00"
- },
{
"name": "resend/resend-laravel",
- "version": "v0.13.0",
+ "version": "v0.15.0",
"source": {
"type": "git",
"url": "https://github.com/resend/resend-laravel.git",
- "reference": "23aed22df0d0b23c2952da2aaed6a8b88d301a8a"
+ "reference": "af914817abc6abaa4522b5cfb177f3519493fd6e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/resend/resend-laravel/zipball/23aed22df0d0b23c2952da2aaed6a8b88d301a8a",
- "reference": "23aed22df0d0b23c2952da2aaed6a8b88d301a8a",
+ "url": "https://api.github.com/repos/resend/resend-laravel/zipball/af914817abc6abaa4522b5cfb177f3519493fd6e",
+ "reference": "af914817abc6abaa4522b5cfb177f3519493fd6e",
"shasum": ""
},
"require": {
"illuminate/http": "^10.0|^11.0",
"illuminate/support": "^10.0|^11.0",
"php": "^8.1",
- "resend/resend-php": "^0.12.0",
+ "resend/resend-php": "^0.14.0",
"symfony/mailer": "^6.2|^7.0"
},
"require-dev": {
@@ -7283,22 +7048,22 @@
],
"support": {
"issues": "https://github.com/resend/resend-laravel/issues",
- "source": "https://github.com/resend/resend-laravel/tree/v0.13.0"
+ "source": "https://github.com/resend/resend-laravel/tree/v0.15.0"
},
- "time": "2024-07-08T18:51:42+00:00"
+ "time": "2024-11-04T18:34:08+00:00"
},
{
"name": "resend/resend-php",
- "version": "v0.12.0",
+ "version": "v0.14.0",
"source": {
"type": "git",
"url": "https://github.com/resend/resend-php.git",
- "reference": "37fb79bb8160ce2de521bf37484ba59e89236521"
+ "reference": "d7900752bb9839421d40d9e66362bffb3ec07aac"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/resend/resend-php/zipball/37fb79bb8160ce2de521bf37484ba59e89236521",
- "reference": "37fb79bb8160ce2de521bf37484ba59e89236521",
+ "url": "https://api.github.com/repos/resend/resend-php/zipball/d7900752bb9839421d40d9e66362bffb3ec07aac",
+ "reference": "d7900752bb9839421d40d9e66362bffb3ec07aac",
"shasum": ""
},
"require": {
@@ -7340,9 +7105,9 @@
],
"support": {
"issues": "https://github.com/resend/resend-php/issues",
- "source": "https://github.com/resend/resend-php/tree/v0.12.0"
+ "source": "https://github.com/resend/resend-php/tree/v0.14.0"
},
- "time": "2024-03-04T03:16:28+00:00"
+ "time": "2024-11-01T02:00:44+00:00"
},
{
"name": "revolt/event-loop",
@@ -7418,16 +7183,16 @@
},
{
"name": "sentry/sentry",
- "version": "4.9.0",
+ "version": "4.10.0",
"source": {
"type": "git",
"url": "https://github.com/getsentry/sentry-php.git",
- "reference": "788ec170f51ebb22f2809a1e3f78b19ccd39b70d"
+ "reference": "2af937d47d8aadb8dab0b1d7b9557e495dd12856"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/788ec170f51ebb22f2809a1e3f78b19ccd39b70d",
- "reference": "788ec170f51ebb22f2809a1e3f78b19ccd39b70d",
+ "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/2af937d47d8aadb8dab0b1d7b9557e495dd12856",
+ "reference": "2af937d47d8aadb8dab0b1d7b9557e495dd12856",
"shasum": ""
},
"require": {
@@ -7445,12 +7210,12 @@
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^3.4",
- "guzzlehttp/promises": "^1.0|^2.0",
+ "guzzlehttp/promises": "^2.0.3",
"guzzlehttp/psr7": "^1.8.4|^2.1.1",
"monolog/monolog": "^1.6|^2.0|^3.0",
"phpbench/phpbench": "^1.0",
"phpstan/phpstan": "^1.3",
- "phpunit/phpunit": "^8.5.14|^9.4",
+ "phpunit/phpunit": "^8.5|^9.6",
"symfony/phpunit-bridge": "^5.2|^6.0|^7.0",
"vimeo/psalm": "^4.17"
},
@@ -7491,7 +7256,7 @@
],
"support": {
"issues": "https://github.com/getsentry/sentry-php/issues",
- "source": "https://github.com/getsentry/sentry-php/tree/4.9.0"
+ "source": "https://github.com/getsentry/sentry-php/tree/4.10.0"
},
"funding": [
{
@@ -7503,27 +7268,27 @@
"type": "custom"
}
],
- "time": "2024-08-08T14:40:50+00:00"
+ "time": "2024-11-06T07:44:19+00:00"
},
{
"name": "sentry/sentry-laravel",
- "version": "4.9.0",
+ "version": "4.10.0",
"source": {
"type": "git",
"url": "https://github.com/getsentry/sentry-laravel.git",
- "reference": "73078e1f26d57f7a10e3bee2a2f543a02f6493c3"
+ "reference": "cbdd224cc5a224528bf6b19507ad76187b3bccfa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/73078e1f26d57f7a10e3bee2a2f543a02f6493c3",
- "reference": "73078e1f26d57f7a10e3bee2a2f543a02f6493c3",
+ "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/cbdd224cc5a224528bf6b19507ad76187b3bccfa",
+ "reference": "cbdd224cc5a224528bf6b19507ad76187b3bccfa",
"shasum": ""
},
"require": {
"illuminate/support": "^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0 | ^11.0",
"nyholm/psr7": "^1.0",
"php": "^7.2 | ^8.0",
- "sentry/sentry": "^4.9",
+ "sentry/sentry": "^4.10",
"symfony/psr-http-message-bridge": "^1.0 | ^2.0 | ^6.0 | ^7.0"
},
"require-dev": {
@@ -7580,7 +7345,7 @@
],
"support": {
"issues": "https://github.com/getsentry/sentry-laravel/issues",
- "source": "https://github.com/getsentry/sentry-laravel/tree/4.9.0"
+ "source": "https://github.com/getsentry/sentry-laravel/tree/4.10.0"
},
"funding": [
{
@@ -7592,20 +7357,20 @@
"type": "custom"
}
],
- "time": "2024-09-19T12:58:53+00:00"
+ "time": "2024-11-07T08:05:24+00:00"
},
{
"name": "socialiteproviders/manager",
- "version": "v4.6.0",
+ "version": "v4.7.0",
"source": {
"type": "git",
"url": "https://github.com/SocialiteProviders/Manager.git",
- "reference": "dea5190981c31b89e52259da9ab1ca4e2b258b21"
+ "reference": "ab0691b82cec77efd90154c78f1854903455c82f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/SocialiteProviders/Manager/zipball/dea5190981c31b89e52259da9ab1ca4e2b258b21",
- "reference": "dea5190981c31b89e52259da9ab1ca4e2b258b21",
+ "url": "https://api.github.com/repos/SocialiteProviders/Manager/zipball/ab0691b82cec77efd90154c78f1854903455c82f",
+ "reference": "ab0691b82cec77efd90154c78f1854903455c82f",
"shasum": ""
},
"require": {
@@ -7666,7 +7431,7 @@
"issues": "https://github.com/socialiteproviders/manager/issues",
"source": "https://github.com/socialiteproviders/manager"
},
- "time": "2024-05-04T07:57:39+00:00"
+ "time": "2024-11-10T01:56:18+00:00"
},
{
"name": "socialiteproviders/microsoft-azure",
@@ -7719,81 +7484,18 @@
},
"time": "2024-03-15T03:02:10+00:00"
},
- {
- "name": "spatie/backtrace",
- "version": "1.6.2",
- "source": {
- "type": "git",
- "url": "https://github.com/spatie/backtrace.git",
- "reference": "1a9a145b044677ae3424693f7b06479fc8c137a9"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/spatie/backtrace/zipball/1a9a145b044677ae3424693f7b06479fc8c137a9",
- "reference": "1a9a145b044677ae3424693f7b06479fc8c137a9",
- "shasum": ""
- },
- "require": {
- "php": "^7.3|^8.0"
- },
- "require-dev": {
- "ext-json": "*",
- "laravel/serializable-closure": "^1.3",
- "phpunit/phpunit": "^9.3",
- "spatie/phpunit-snapshot-assertions": "^4.2",
- "symfony/var-dumper": "^5.1"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Spatie\\Backtrace\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Freek Van de Herten",
- "email": "freek@spatie.be",
- "homepage": "https://spatie.be",
- "role": "Developer"
- }
- ],
- "description": "A better backtrace",
- "homepage": "https://github.com/spatie/backtrace",
- "keywords": [
- "Backtrace",
- "spatie"
- ],
- "support": {
- "source": "https://github.com/spatie/backtrace/tree/1.6.2"
- },
- "funding": [
- {
- "url": "https://github.com/sponsors/spatie",
- "type": "github"
- },
- {
- "url": "https://spatie.be/open-source/support-us",
- "type": "other"
- }
- ],
- "time": "2024-07-22T08:21:24+00:00"
- },
{
"name": "spatie/laravel-activitylog",
- "version": "4.8.0",
+ "version": "4.9.0",
"source": {
"type": "git",
"url": "https://github.com/spatie/laravel-activitylog.git",
- "reference": "eb6f37dd40af950ce10cf5280f0acfa3e08c3bff"
+ "reference": "e0fc28178515a5396f48e107ed697719189bbe02"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/laravel-activitylog/zipball/eb6f37dd40af950ce10cf5280f0acfa3e08c3bff",
- "reference": "eb6f37dd40af950ce10cf5280f0acfa3e08c3bff",
+ "url": "https://api.github.com/repos/spatie/laravel-activitylog/zipball/e0fc28178515a5396f48e107ed697719189bbe02",
+ "reference": "e0fc28178515a5396f48e107ed697719189bbe02",
"shasum": ""
},
"require": {
@@ -7859,7 +7561,7 @@
],
"support": {
"issues": "https://github.com/spatie/laravel-activitylog/issues",
- "source": "https://github.com/spatie/laravel-activitylog/tree/4.8.0"
+ "source": "https://github.com/spatie/laravel-activitylog/tree/4.9.0"
},
"funding": [
{
@@ -7871,47 +7573,47 @@
"type": "github"
}
],
- "time": "2024-03-08T22:28:17+00:00"
+ "time": "2024-10-18T13:38:47+00:00"
},
{
"name": "spatie/laravel-data",
- "version": "3.12.0",
+ "version": "4.11.1",
"source": {
"type": "git",
"url": "https://github.com/spatie/laravel-data.git",
- "reference": "d44e04839407bc32b029be59ba80090a5f720e91"
+ "reference": "df5b58baebae34475ca35338b4e9a131c9e2a8e0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/laravel-data/zipball/d44e04839407bc32b029be59ba80090a5f720e91",
- "reference": "d44e04839407bc32b029be59ba80090a5f720e91",
+ "url": "https://api.github.com/repos/spatie/laravel-data/zipball/df5b58baebae34475ca35338b4e9a131c9e2a8e0",
+ "reference": "df5b58baebae34475ca35338b4e9a131c9e2a8e0",
"shasum": ""
},
"require": {
- "illuminate/contracts": "^9.30|^10.0|^11.0",
+ "illuminate/contracts": "^10.0|^11.0",
"php": "^8.1",
- "phpdocumentor/type-resolver": "^1.5",
+ "phpdocumentor/reflection": "^6.0",
"spatie/laravel-package-tools": "^1.9.0",
"spatie/php-structure-discoverer": "^2.0"
},
"require-dev": {
"fakerphp/faker": "^1.14",
"friendsofphp/php-cs-fixer": "^3.0",
- "inertiajs/inertia-laravel": "^0.6.3",
+ "inertiajs/inertia-laravel": "^1.2",
+ "livewire/livewire": "^3.0",
"mockery/mockery": "^1.6",
"nesbot/carbon": "^2.63",
- "nette/php-generator": "^3.5",
"nunomaduro/larastan": "^2.0",
- "orchestra/testbench": "^7.6|^8.0",
- "pestphp/pest": "^1.22",
- "pestphp/pest-plugin-laravel": "^1.3",
+ "orchestra/testbench": "^8.0|^9.0",
+ "pestphp/pest": "^2.31",
+ "pestphp/pest-plugin-laravel": "^2.0",
+ "pestphp/pest-plugin-livewire": "^2.1",
"phpbench/phpbench": "^1.2",
"phpstan/extension-installer": "^1.1",
- "phpunit/phpunit": "^9.3",
+ "phpunit/phpunit": "^10.0",
"spatie/invade": "^1.0",
- "spatie/laravel-typescript-transformer": "^2.1.6",
- "spatie/pest-plugin-snapshots": "^1.1",
- "spatie/phpunit-snapshot-assertions": "^4.2",
+ "spatie/laravel-typescript-transformer": "^2.5",
+ "spatie/pest-plugin-snapshots": "^2.1",
"spatie/test-time": "^1.2"
},
"type": "library",
@@ -7924,8 +7626,7 @@
},
"autoload": {
"psr-4": {
- "Spatie\\LaravelData\\": "src",
- "Spatie\\LaravelData\\Database\\Factories\\": "database/factories"
+ "Spatie\\LaravelData\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -7948,7 +7649,7 @@
],
"support": {
"issues": "https://github.com/spatie/laravel-data/issues",
- "source": "https://github.com/spatie/laravel-data/tree/3.12.0"
+ "source": "https://github.com/spatie/laravel-data/tree/4.11.1"
},
"funding": [
{
@@ -7956,7 +7657,7 @@
"type": "github"
}
],
- "time": "2024-04-24T09:27:45+00:00"
+ "time": "2024-10-23T07:14:53+00:00"
},
{
"name": "spatie/laravel-package-tools",
@@ -8018,93 +7719,6 @@
],
"time": "2024-08-27T18:56:10+00:00"
},
- {
- "name": "spatie/laravel-ray",
- "version": "1.37.1",
- "source": {
- "type": "git",
- "url": "https://github.com/spatie/laravel-ray.git",
- "reference": "c2bedfd1172648df2c80aaceb2541d70f1d9a5b9"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/spatie/laravel-ray/zipball/c2bedfd1172648df2c80aaceb2541d70f1d9a5b9",
- "reference": "c2bedfd1172648df2c80aaceb2541d70f1d9a5b9",
- "shasum": ""
- },
- "require": {
- "ext-json": "*",
- "illuminate/contracts": "^7.20|^8.19|^9.0|^10.0|^11.0",
- "illuminate/database": "^7.20|^8.19|^9.0|^10.0|^11.0",
- "illuminate/queue": "^7.20|^8.19|^9.0|^10.0|^11.0",
- "illuminate/support": "^7.20|^8.19|^9.0|^10.0|^11.0",
- "php": "^7.4|^8.0",
- "rector/rector": "^0.19.2|^1.0",
- "spatie/backtrace": "^1.0",
- "spatie/ray": "^1.41.1",
- "symfony/stopwatch": "4.2|^5.1|^6.0|^7.0",
- "zbateson/mail-mime-parser": "^1.3.1|^2.0|^3.0"
- },
- "require-dev": {
- "guzzlehttp/guzzle": "^7.3",
- "laravel/framework": "^7.20|^8.19|^9.0|^10.0|^11.0",
- "orchestra/testbench-core": "^5.0|^6.0|^7.0|^8.0|^9.0",
- "pestphp/pest": "^1.22|^2.0",
- "phpstan/phpstan": "^1.10.57",
- "phpunit/phpunit": "^9.3|^10.1",
- "spatie/pest-plugin-snapshots": "^1.1|^2.0",
- "symfony/var-dumper": "^4.2|^5.1|^6.0|^7.0.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.x-dev"
- },
- "laravel": {
- "providers": [
- "Spatie\\LaravelRay\\RayServiceProvider"
- ]
- }
- },
- "autoload": {
- "psr-4": {
- "Spatie\\LaravelRay\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Freek Van der Herten",
- "email": "freek@spatie.be",
- "homepage": "https://spatie.be",
- "role": "Developer"
- }
- ],
- "description": "Easily debug Laravel apps",
- "homepage": "https://github.com/spatie/laravel-ray",
- "keywords": [
- "laravel-ray",
- "spatie"
- ],
- "support": {
- "issues": "https://github.com/spatie/laravel-ray/issues",
- "source": "https://github.com/spatie/laravel-ray/tree/1.37.1"
- },
- "funding": [
- {
- "url": "https://github.com/sponsors/spatie",
- "type": "github"
- },
- {
- "url": "https://spatie.be/open-source/support-us",
- "type": "other"
- }
- ],
- "time": "2024-07-12T12:35:17+00:00"
- },
{
"name": "spatie/laravel-schemaless-attributes",
"version": "2.5.0",
@@ -8311,91 +7925,6 @@
],
"time": "2024-08-29T10:43:45+00:00"
},
- {
- "name": "spatie/ray",
- "version": "1.41.2",
- "source": {
- "type": "git",
- "url": "https://github.com/spatie/ray.git",
- "reference": "c44f8cfbf82c69909b505de61d8d3f2d324e93fc"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/spatie/ray/zipball/c44f8cfbf82c69909b505de61d8d3f2d324e93fc",
- "reference": "c44f8cfbf82c69909b505de61d8d3f2d324e93fc",
- "shasum": ""
- },
- "require": {
- "ext-curl": "*",
- "ext-json": "*",
- "php": "^7.3|^8.0",
- "ramsey/uuid": "^3.0|^4.1",
- "spatie/backtrace": "^1.1",
- "spatie/macroable": "^1.0|^2.0",
- "symfony/stopwatch": "^4.0|^5.1|^6.0|^7.0",
- "symfony/var-dumper": "^4.2|^5.1|^6.0|^7.0.3"
- },
- "require-dev": {
- "illuminate/support": "6.x|^8.18|^9.0",
- "nesbot/carbon": "^2.63",
- "pestphp/pest": "^1.22",
- "phpstan/phpstan": "^1.10",
- "phpunit/phpunit": "^9.5",
- "rector/rector": "^0.19.2",
- "spatie/phpunit-snapshot-assertions": "^4.2",
- "spatie/test-time": "^1.2"
- },
- "bin": [
- "bin/remove-ray.sh"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.x-dev"
- }
- },
- "autoload": {
- "files": [
- "src/helpers.php"
- ],
- "psr-4": {
- "Spatie\\Ray\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Freek Van der Herten",
- "email": "freek@spatie.be",
- "homepage": "https://spatie.be",
- "role": "Developer"
- }
- ],
- "description": "Debug with Ray to fix problems faster",
- "homepage": "https://github.com/spatie/ray",
- "keywords": [
- "ray",
- "spatie"
- ],
- "support": {
- "issues": "https://github.com/spatie/ray/issues",
- "source": "https://github.com/spatie/ray/tree/1.41.2"
- },
- "funding": [
- {
- "url": "https://github.com/sponsors/spatie",
- "type": "github"
- },
- {
- "url": "https://spatie.be/open-source/support-us",
- "type": "other"
- }
- ],
- "time": "2024-04-24T14:21:46+00:00"
- },
{
"name": "spatie/url",
"version": "2.4.0",
@@ -8460,16 +7989,16 @@
},
{
"name": "stripe/stripe-php",
- "version": "v12.8.0",
+ "version": "v16.2.0",
"source": {
"type": "git",
"url": "https://github.com/stripe/stripe-php.git",
- "reference": "6b6f4a775ad46fee4b1df2df4fdfa574365b1621"
+ "reference": "813ae4961755af28a13bda451689f7a6ed6498cb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/stripe/stripe-php/zipball/6b6f4a775ad46fee4b1df2df4fdfa574365b1621",
- "reference": "6b6f4a775ad46fee4b1df2df4fdfa574365b1621",
+ "url": "https://api.github.com/repos/stripe/stripe-php/zipball/813ae4961755af28a13bda451689f7a6ed6498cb",
+ "reference": "813ae4961755af28a13bda451689f7a6ed6498cb",
"shasum": ""
},
"require": {
@@ -8513,22 +8042,22 @@
],
"support": {
"issues": "https://github.com/stripe/stripe-php/issues",
- "source": "https://github.com/stripe/stripe-php/tree/v12.8.0"
+ "source": "https://github.com/stripe/stripe-php/tree/v16.2.0"
},
- "time": "2023-10-16T18:04:12+00:00"
+ "time": "2024-10-29T21:15:53+00:00"
},
{
"name": "symfony/clock",
- "version": "v7.1.1",
+ "version": "v7.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/clock.git",
- "reference": "3dfc8b084853586de51dd1441c6242c76a28cbe7"
+ "reference": "97bebc53548684c17ed696bc8af016880f0f098d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/clock/zipball/3dfc8b084853586de51dd1441c6242c76a28cbe7",
- "reference": "3dfc8b084853586de51dd1441c6242c76a28cbe7",
+ "url": "https://api.github.com/repos/symfony/clock/zipball/97bebc53548684c17ed696bc8af016880f0f098d",
+ "reference": "97bebc53548684c17ed696bc8af016880f0f098d",
"shasum": ""
},
"require": {
@@ -8573,7 +8102,7 @@
"time"
],
"support": {
- "source": "https://github.com/symfony/clock/tree/v7.1.1"
+ "source": "https://github.com/symfony/clock/tree/v7.1.6"
},
"funding": [
{
@@ -8589,20 +8118,20 @@
"type": "tidelift"
}
],
- "time": "2024-05-31T14:57:53+00:00"
+ "time": "2024-09-25T14:20:29+00:00"
},
{
"name": "symfony/console",
- "version": "v7.1.5",
+ "version": "v7.1.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "0fa539d12b3ccf068a722bbbffa07ca7079af9ee"
+ "reference": "ff04e5b5ba043d2badfb308197b9e6b42883fcd5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/0fa539d12b3ccf068a722bbbffa07ca7079af9ee",
- "reference": "0fa539d12b3ccf068a722bbbffa07ca7079af9ee",
+ "url": "https://api.github.com/repos/symfony/console/zipball/ff04e5b5ba043d2badfb308197b9e6b42883fcd5",
+ "reference": "ff04e5b5ba043d2badfb308197b9e6b42883fcd5",
"shasum": ""
},
"require": {
@@ -8666,7 +8195,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v7.1.5"
+ "source": "https://github.com/symfony/console/tree/v7.1.8"
},
"funding": [
{
@@ -8682,20 +8211,20 @@
"type": "tidelift"
}
],
- "time": "2024-09-20T08:28:38+00:00"
+ "time": "2024-11-06T14:23:19+00:00"
},
{
"name": "symfony/css-selector",
- "version": "v7.1.1",
+ "version": "v7.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
- "reference": "1c7cee86c6f812896af54434f8ce29c8d94f9ff4"
+ "reference": "4aa4f6b3d6749c14d3aa815eef8226632e7bbc66"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/css-selector/zipball/1c7cee86c6f812896af54434f8ce29c8d94f9ff4",
- "reference": "1c7cee86c6f812896af54434f8ce29c8d94f9ff4",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/4aa4f6b3d6749c14d3aa815eef8226632e7bbc66",
+ "reference": "4aa4f6b3d6749c14d3aa815eef8226632e7bbc66",
"shasum": ""
},
"require": {
@@ -8731,7 +8260,7 @@
"description": "Converts CSS selectors to XPath expressions",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/css-selector/tree/v7.1.1"
+ "source": "https://github.com/symfony/css-selector/tree/v7.1.6"
},
"funding": [
{
@@ -8747,7 +8276,7 @@
"type": "tidelift"
}
],
- "time": "2024-05-31T14:57:53+00:00"
+ "time": "2024-09-25T14:20:29+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -8818,16 +8347,16 @@
},
{
"name": "symfony/error-handler",
- "version": "v7.1.3",
+ "version": "v7.1.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
- "reference": "432bb369952795c61ca1def65e078c4a80dad13c"
+ "reference": "010e44661f4c6babaf8c4862fe68c24a53903342"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/432bb369952795c61ca1def65e078c4a80dad13c",
- "reference": "432bb369952795c61ca1def65e078c4a80dad13c",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/010e44661f4c6babaf8c4862fe68c24a53903342",
+ "reference": "010e44661f4c6babaf8c4862fe68c24a53903342",
"shasum": ""
},
"require": {
@@ -8873,7 +8402,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/v7.1.3"
+ "source": "https://github.com/symfony/error-handler/tree/v7.1.7"
},
"funding": [
{
@@ -8889,20 +8418,20 @@
"type": "tidelift"
}
],
- "time": "2024-07-26T13:02:51+00:00"
+ "time": "2024-11-05T15:34:55+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v7.1.1",
+ "version": "v7.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7"
+ "reference": "87254c78dd50721cfd015b62277a8281c5589702"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7",
- "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/87254c78dd50721cfd015b62277a8281c5589702",
+ "reference": "87254c78dd50721cfd015b62277a8281c5589702",
"shasum": ""
},
"require": {
@@ -8953,7 +8482,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/v7.1.1"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v7.1.6"
},
"funding": [
{
@@ -8969,7 +8498,7 @@
"type": "tidelift"
}
],
- "time": "2024-05-31T14:57:53+00:00"
+ "time": "2024-09-25T14:20:29+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
@@ -9049,16 +8578,16 @@
},
{
"name": "symfony/finder",
- "version": "v7.1.4",
+ "version": "v7.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "d95bbf319f7d052082fb7af147e0f835a695e823"
+ "reference": "2cb89664897be33f78c65d3d2845954c8d7a43b8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/d95bbf319f7d052082fb7af147e0f835a695e823",
- "reference": "d95bbf319f7d052082fb7af147e0f835a695e823",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/2cb89664897be33f78c65d3d2845954c8d7a43b8",
+ "reference": "2cb89664897be33f78c65d3d2845954c8d7a43b8",
"shasum": ""
},
"require": {
@@ -9093,7 +8622,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v7.1.4"
+ "source": "https://github.com/symfony/finder/tree/v7.1.6"
},
"funding": [
{
@@ -9109,20 +8638,20 @@
"type": "tidelift"
}
],
- "time": "2024-08-13T14:28:19+00:00"
+ "time": "2024-10-01T08:31:23+00:00"
},
{
"name": "symfony/http-foundation",
- "version": "v7.1.7",
+ "version": "v7.1.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "5183b61657807099d98f3367bcccb850238b17a9"
+ "reference": "f4419ec69ccfc3f725a4de7c20e4e57626d10112"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/5183b61657807099d98f3367bcccb850238b17a9",
- "reference": "5183b61657807099d98f3367bcccb850238b17a9",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/f4419ec69ccfc3f725a4de7c20e4e57626d10112",
+ "reference": "f4419ec69ccfc3f725a4de7c20e4e57626d10112",
"shasum": ""
},
"require": {
@@ -9132,12 +8661,12 @@
},
"conflict": {
"doctrine/dbal": "<3.6",
- "symfony/cache": "<6.4"
+ "symfony/cache": "<6.4.12|>=7.0,<7.1.5"
},
"require-dev": {
"doctrine/dbal": "^3.6|^4",
"predis/predis": "^1.1|^2.0",
- "symfony/cache": "^6.4|^7.0",
+ "symfony/cache": "^6.4.12|^7.1.5",
"symfony/dependency-injection": "^6.4|^7.0",
"symfony/expression-language": "^6.4|^7.0",
"symfony/http-kernel": "^6.4|^7.0",
@@ -9170,7 +8699,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-foundation/tree/v7.1.7"
+ "source": "https://github.com/symfony/http-foundation/tree/v7.1.8"
},
"funding": [
{
@@ -9186,20 +8715,20 @@
"type": "tidelift"
}
],
- "time": "2024-11-06T09:02:46+00:00"
+ "time": "2024-11-09T09:16:45+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v7.1.5",
+ "version": "v7.1.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "44204d96150a9df1fc57601ec933d23fefc2d65b"
+ "reference": "33fef24e3dc79d6d30bf4936531f2f4bd2ca189e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/44204d96150a9df1fc57601ec933d23fefc2d65b",
- "reference": "44204d96150a9df1fc57601ec933d23fefc2d65b",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/33fef24e3dc79d6d30bf4936531f2f4bd2ca189e",
+ "reference": "33fef24e3dc79d6d30bf4936531f2f4bd2ca189e",
"shasum": ""
},
"require": {
@@ -9284,7 +8813,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/v7.1.5"
+ "source": "https://github.com/symfony/http-kernel/tree/v7.1.8"
},
"funding": [
{
@@ -9300,20 +8829,20 @@
"type": "tidelift"
}
],
- "time": "2024-09-21T06:09:21+00:00"
+ "time": "2024-11-13T14:25:32+00:00"
},
{
"name": "symfony/mailer",
- "version": "v7.1.5",
+ "version": "v7.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/mailer.git",
- "reference": "bbf21460c56f29810da3df3e206e38dfbb01e80b"
+ "reference": "69c9948451fb3a6a4d47dc8261d1794734e76cdd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mailer/zipball/bbf21460c56f29810da3df3e206e38dfbb01e80b",
- "reference": "bbf21460c56f29810da3df3e206e38dfbb01e80b",
+ "url": "https://api.github.com/repos/symfony/mailer/zipball/69c9948451fb3a6a4d47dc8261d1794734e76cdd",
+ "reference": "69c9948451fb3a6a4d47dc8261d1794734e76cdd",
"shasum": ""
},
"require": {
@@ -9364,7 +8893,7 @@
"description": "Helps sending emails",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/mailer/tree/v7.1.5"
+ "source": "https://github.com/symfony/mailer/tree/v7.1.6"
},
"funding": [
{
@@ -9380,7 +8909,7 @@
"type": "tidelift"
}
],
- "time": "2024-09-08T12:32:26+00:00"
+ "time": "2024-09-25T14:20:29+00:00"
},
{
"name": "symfony/mime",
@@ -9468,16 +8997,16 @@
},
{
"name": "symfony/options-resolver",
- "version": "v7.1.1",
+ "version": "v7.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/options-resolver.git",
- "reference": "47aa818121ed3950acd2b58d1d37d08a94f9bf55"
+ "reference": "85e95eeede2d41cd146146e98c9c81d9214cae85"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/47aa818121ed3950acd2b58d1d37d08a94f9bf55",
- "reference": "47aa818121ed3950acd2b58d1d37d08a94f9bf55",
+ "url": "https://api.github.com/repos/symfony/options-resolver/zipball/85e95eeede2d41cd146146e98c9c81d9214cae85",
+ "reference": "85e95eeede2d41cd146146e98c9c81d9214cae85",
"shasum": ""
},
"require": {
@@ -9515,7 +9044,7 @@
"options"
],
"support": {
- "source": "https://github.com/symfony/options-resolver/tree/v7.1.1"
+ "source": "https://github.com/symfony/options-resolver/tree/v7.1.6"
},
"funding": [
{
@@ -9531,7 +9060,7 @@
"type": "tidelift"
}
],
- "time": "2024-05-31T14:57:53+00:00"
+ "time": "2024-09-25T14:20:29+00:00"
},
{
"name": "symfony/polyfill-ctype",
@@ -9612,86 +9141,6 @@
],
"time": "2024-09-09T11:45:10+00:00"
},
- {
- "name": "symfony/polyfill-iconv",
- "version": "v1.31.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-iconv.git",
- "reference": "48becf00c920479ca2e910c22a5a39e5d47ca956"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/48becf00c920479ca2e910c22a5a39e5d47ca956",
- "reference": "48becf00c920479ca2e910c22a5a39e5d47ca956",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2"
- },
- "provide": {
- "ext-iconv": "*"
- },
- "suggest": {
- "ext-iconv": "For best performance"
- },
- "type": "library",
- "extra": {
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Iconv\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for the Iconv extension",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "iconv",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-iconv/tree/v1.31.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-09-09T11:45:10+00:00"
- },
{
"name": "symfony/polyfill-intl-grapheme",
"version": "v1.31.0",
@@ -10251,16 +9700,16 @@
},
{
"name": "symfony/process",
- "version": "v7.1.7",
+ "version": "v7.1.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "9b8a40b7289767aa7117e957573c2a535efe6585"
+ "reference": "42783370fda6e538771f7c7a36e9fa2ee3a84892"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/9b8a40b7289767aa7117e957573c2a535efe6585",
- "reference": "9b8a40b7289767aa7117e957573c2a535efe6585",
+ "url": "https://api.github.com/repos/symfony/process/zipball/42783370fda6e538771f7c7a36e9fa2ee3a84892",
+ "reference": "42783370fda6e538771f7c7a36e9fa2ee3a84892",
"shasum": ""
},
"require": {
@@ -10292,7 +9741,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v7.1.7"
+ "source": "https://github.com/symfony/process/tree/v7.1.8"
},
"funding": [
{
@@ -10308,20 +9757,20 @@
"type": "tidelift"
}
],
- "time": "2024-11-06T09:25:12+00:00"
+ "time": "2024-11-06T14:23:19+00:00"
},
{
"name": "symfony/psr-http-message-bridge",
- "version": "v7.1.4",
+ "version": "v7.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/psr-http-message-bridge.git",
- "reference": "405a7bcd872f1563966f64be19f1362d94ce71ab"
+ "reference": "f16471bb19f6685b9ccf0a2c03c213840ae68cd6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/405a7bcd872f1563966f64be19f1362d94ce71ab",
- "reference": "405a7bcd872f1563966f64be19f1362d94ce71ab",
+ "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/f16471bb19f6685b9ccf0a2c03c213840ae68cd6",
+ "reference": "f16471bb19f6685b9ccf0a2c03c213840ae68cd6",
"shasum": ""
},
"require": {
@@ -10375,7 +9824,7 @@
"psr-7"
],
"support": {
- "source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.1.4"
+ "source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.1.6"
},
"funding": [
{
@@ -10391,20 +9840,20 @@
"type": "tidelift"
}
],
- "time": "2024-08-15T22:48:53+00:00"
+ "time": "2024-09-25T14:20:29+00:00"
},
{
"name": "symfony/routing",
- "version": "v7.1.4",
+ "version": "v7.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
- "reference": "1500aee0094a3ce1c92626ed8cf3c2037e86f5a7"
+ "reference": "66a2c469f6c22d08603235c46a20007c0701ea0a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/1500aee0094a3ce1c92626ed8cf3c2037e86f5a7",
- "reference": "1500aee0094a3ce1c92626ed8cf3c2037e86f5a7",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/66a2c469f6c22d08603235c46a20007c0701ea0a",
+ "reference": "66a2c469f6c22d08603235c46a20007c0701ea0a",
"shasum": ""
},
"require": {
@@ -10456,7 +9905,7 @@
"url"
],
"support": {
- "source": "https://github.com/symfony/routing/tree/v7.1.4"
+ "source": "https://github.com/symfony/routing/tree/v7.1.6"
},
"funding": [
{
@@ -10472,7 +9921,7 @@
"type": "tidelift"
}
],
- "time": "2024-08-29T08:16:25+00:00"
+ "time": "2024-10-01T08:31:23+00:00"
},
{
"name": "symfony/service-contracts",
@@ -10557,80 +10006,18 @@
],
"time": "2024-04-18T09:32:20+00:00"
},
- {
- "name": "symfony/stopwatch",
- "version": "v7.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/stopwatch.git",
- "reference": "5b75bb1ac2ba1b9d05c47fc4b3046a625377d23d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/stopwatch/zipball/5b75bb1ac2ba1b9d05c47fc4b3046a625377d23d",
- "reference": "5b75bb1ac2ba1b9d05c47fc4b3046a625377d23d",
- "shasum": ""
- },
- "require": {
- "php": ">=8.2",
- "symfony/service-contracts": "^2.5|^3"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Stopwatch\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Provides a way to profile code",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/stopwatch/tree/v7.1.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-05-31T14:57:53+00:00"
- },
{
"name": "symfony/string",
- "version": "v7.1.5",
+ "version": "v7.1.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "d66f9c343fa894ec2037cc928381df90a7ad4306"
+ "reference": "591ebd41565f356fcd8b090fe64dbb5878f50281"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/d66f9c343fa894ec2037cc928381df90a7ad4306",
- "reference": "d66f9c343fa894ec2037cc928381df90a7ad4306",
+ "url": "https://api.github.com/repos/symfony/string/zipball/591ebd41565f356fcd8b090fe64dbb5878f50281",
+ "reference": "591ebd41565f356fcd8b090fe64dbb5878f50281",
"shasum": ""
},
"require": {
@@ -10688,7 +10075,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v7.1.5"
+ "source": "https://github.com/symfony/string/tree/v7.1.8"
},
"funding": [
{
@@ -10704,20 +10091,20 @@
"type": "tidelift"
}
],
- "time": "2024-09-20T08:28:38+00:00"
+ "time": "2024-11-13T13:31:21+00:00"
},
{
"name": "symfony/translation",
- "version": "v7.1.5",
+ "version": "v7.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
- "reference": "235535e3f84f3dfbdbde0208ede6ca75c3a489ea"
+ "reference": "b9f72ab14efdb6b772f85041fa12f820dee8d55f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/235535e3f84f3dfbdbde0208ede6ca75c3a489ea",
- "reference": "235535e3f84f3dfbdbde0208ede6ca75c3a489ea",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/b9f72ab14efdb6b772f85041fa12f820dee8d55f",
+ "reference": "b9f72ab14efdb6b772f85041fa12f820dee8d55f",
"shasum": ""
},
"require": {
@@ -10782,7 +10169,7 @@
"description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/translation/tree/v7.1.5"
+ "source": "https://github.com/symfony/translation/tree/v7.1.6"
},
"funding": [
{
@@ -10798,7 +10185,7 @@
"type": "tidelift"
}
],
- "time": "2024-09-16T06:30:38+00:00"
+ "time": "2024-09-28T12:35:13+00:00"
},
{
"name": "symfony/translation-contracts",
@@ -10880,16 +10267,16 @@
},
{
"name": "symfony/uid",
- "version": "v7.1.5",
+ "version": "v7.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/uid.git",
- "reference": "8c7bb8acb933964055215d89f9a9871df0239317"
+ "reference": "65befb3bb2d503bbffbd08c815aa38b472999917"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/uid/zipball/8c7bb8acb933964055215d89f9a9871df0239317",
- "reference": "8c7bb8acb933964055215d89f9a9871df0239317",
+ "url": "https://api.github.com/repos/symfony/uid/zipball/65befb3bb2d503bbffbd08c815aa38b472999917",
+ "reference": "65befb3bb2d503bbffbd08c815aa38b472999917",
"shasum": ""
},
"require": {
@@ -10934,7 +10321,7 @@
"uuid"
],
"support": {
- "source": "https://github.com/symfony/uid/tree/v7.1.5"
+ "source": "https://github.com/symfony/uid/tree/v7.1.6"
},
"funding": [
{
@@ -10950,20 +10337,20 @@
"type": "tidelift"
}
],
- "time": "2024-09-17T09:16:35+00:00"
+ "time": "2024-09-25T14:20:29+00:00"
},
{
"name": "symfony/var-dumper",
- "version": "v7.1.5",
+ "version": "v7.1.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "e20e03889539fd4e4211e14d2179226c513c010d"
+ "reference": "7bb01a47b1b00428d32b5e7b4d3b2d1aa58d3db8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/e20e03889539fd4e4211e14d2179226c513c010d",
- "reference": "e20e03889539fd4e4211e14d2179226c513c010d",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/7bb01a47b1b00428d32b5e7b4d3b2d1aa58d3db8",
+ "reference": "7bb01a47b1b00428d32b5e7b4d3b2d1aa58d3db8",
"shasum": ""
},
"require": {
@@ -11017,7 +10404,7 @@
"dump"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v7.1.5"
+ "source": "https://github.com/symfony/var-dumper/tree/v7.1.8"
},
"funding": [
{
@@ -11033,32 +10420,31 @@
"type": "tidelift"
}
],
- "time": "2024-09-16T10:07:02+00:00"
+ "time": "2024-11-08T15:46:42+00:00"
},
{
"name": "symfony/yaml",
- "version": "v6.4.12",
+ "version": "v7.1.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "762ee56b2649659380e0ef4d592d807bc17b7971"
+ "reference": "3ced3f29e4f0d6bce2170ff26719f1fe9aacc671"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/762ee56b2649659380e0ef4d592d807bc17b7971",
- "reference": "762ee56b2649659380e0ef4d592d807bc17b7971",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/3ced3f29e4f0d6bce2170ff26719f1fe9aacc671",
+ "reference": "3ced3f29e4f0d6bce2170ff26719f1fe9aacc671",
"shasum": ""
},
"require": {
- "php": ">=8.1",
- "symfony/deprecation-contracts": "^2.5|^3",
+ "php": ">=8.2",
"symfony/polyfill-ctype": "^1.8"
},
"conflict": {
- "symfony/console": "<5.4"
+ "symfony/console": "<6.4"
},
"require-dev": {
- "symfony/console": "^5.4|^6.0|^7.0"
+ "symfony/console": "^6.4|^7.0"
},
"bin": [
"Resources/bin/yaml-lint"
@@ -11089,7 +10475,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/yaml/tree/v6.4.12"
+ "source": "https://github.com/symfony/yaml/tree/v7.1.6"
},
"funding": [
{
@@ -11105,7 +10491,7 @@
"type": "tidelift"
}
],
- "time": "2024-09-17T12:47:12+00:00"
+ "time": "2024-09-25T14:20:29+00:00"
},
{
"name": "tijsverkoyen/css-to-inline-styles",
@@ -11162,25 +10548,24 @@
},
{
"name": "visus/cuid2",
- "version": "2.0.0",
+ "version": "4.1.0",
"source": {
"type": "git",
"url": "https://github.com/visus-io/php-cuid2.git",
- "reference": "907919cadd8dfeb24ffecf7209ec4988fb9b3fc0"
+ "reference": "17c9b3098d556bb2556a084c948211333cc19c79"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/visus-io/php-cuid2/zipball/907919cadd8dfeb24ffecf7209ec4988fb9b3fc0",
- "reference": "907919cadd8dfeb24ffecf7209ec4988fb9b3fc0",
+ "url": "https://api.github.com/repos/visus-io/php-cuid2/zipball/17c9b3098d556bb2556a084c948211333cc19c79",
+ "reference": "17c9b3098d556bb2556a084c948211333cc19c79",
"shasum": ""
},
"require": {
- "php": "^8.0"
+ "php": "^8.1"
},
"require-dev": {
"ergebnis/composer-normalize": "^2.29",
"ext-ctype": "*",
- "php-parallel-lint/php-parallel-lint": "^1.3",
"phpstan/phpstan": "^1.9",
"phpunit/phpunit": "^10.0",
"squizlabs/php_codesniffer": "^3.7",
@@ -11200,7 +10585,7 @@
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "Apache-2.0"
+ "MIT"
],
"authors": [
{
@@ -11215,9 +10600,9 @@
],
"support": {
"issues": "https://github.com/visus-io/php-cuid2/issues",
- "source": "https://github.com/visus-io/php-cuid2/tree/2.0.0"
+ "source": "https://github.com/visus-io/php-cuid2/tree/4.1.0"
},
- "time": "2023-03-23T19:18:36+00:00"
+ "time": "2024-05-14T13:23:35+00:00"
},
{
"name": "vlucas/phpdotenv",
@@ -11545,226 +10930,18 @@
},
"time": "2018-08-08T15:08:14+00:00"
},
- {
- "name": "zbateson/mail-mime-parser",
- "version": "3.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/zbateson/mail-mime-parser.git",
- "reference": "e0d4423fe27850c9dd301190767dbc421acc2f19"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/zbateson/mail-mime-parser/zipball/e0d4423fe27850c9dd301190767dbc421acc2f19",
- "reference": "e0d4423fe27850c9dd301190767dbc421acc2f19",
- "shasum": ""
- },
- "require": {
- "guzzlehttp/psr7": "^2.5",
- "php": ">=8.0",
- "php-di/php-di": "^6.0|^7.0",
- "psr/log": "^1|^2|^3",
- "zbateson/mb-wrapper": "^2.0",
- "zbateson/stream-decorators": "^2.1"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "*",
- "monolog/monolog": "^2|^3",
- "phpstan/phpstan": "*",
- "phpunit/phpunit": "^9.6"
- },
- "suggest": {
- "ext-iconv": "For best support/performance",
- "ext-mbstring": "For best support/performance"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "ZBateson\\MailMimeParser\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-2-Clause"
- ],
- "authors": [
- {
- "name": "Zaahid Bateson"
- },
- {
- "name": "Contributors",
- "homepage": "https://github.com/zbateson/mail-mime-parser/graphs/contributors"
- }
- ],
- "description": "MIME email message parser",
- "homepage": "https://mail-mime-parser.org",
- "keywords": [
- "MimeMailParser",
- "email",
- "mail",
- "mailparse",
- "mime",
- "mimeparse",
- "parser",
- "php-imap"
- ],
- "support": {
- "docs": "https://mail-mime-parser.org/#usage-guide",
- "issues": "https://github.com/zbateson/mail-mime-parser/issues",
- "source": "https://github.com/zbateson/mail-mime-parser"
- },
- "funding": [
- {
- "url": "https://github.com/zbateson",
- "type": "github"
- }
- ],
- "time": "2024-08-10T18:44:09+00:00"
- },
- {
- "name": "zbateson/mb-wrapper",
- "version": "2.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/zbateson/mb-wrapper.git",
- "reference": "9e4373a153585d12b6c621ac4a6bb143264d4619"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/zbateson/mb-wrapper/zipball/9e4373a153585d12b6c621ac4a6bb143264d4619",
- "reference": "9e4373a153585d12b6c621ac4a6bb143264d4619",
- "shasum": ""
- },
- "require": {
- "php": ">=8.0",
- "symfony/polyfill-iconv": "^1.9",
- "symfony/polyfill-mbstring": "^1.9"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "*",
- "phpstan/phpstan": "*",
- "phpunit/phpunit": "<10.0"
- },
- "suggest": {
- "ext-iconv": "For best support/performance",
- "ext-mbstring": "For best support/performance"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "ZBateson\\MbWrapper\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-2-Clause"
- ],
- "authors": [
- {
- "name": "Zaahid Bateson"
- }
- ],
- "description": "Wrapper for mbstring with fallback to iconv for encoding conversion and string manipulation",
- "keywords": [
- "charset",
- "encoding",
- "http",
- "iconv",
- "mail",
- "mb",
- "mb_convert_encoding",
- "mbstring",
- "mime",
- "multibyte",
- "string"
- ],
- "support": {
- "issues": "https://github.com/zbateson/mb-wrapper/issues",
- "source": "https://github.com/zbateson/mb-wrapper/tree/2.0.0"
- },
- "funding": [
- {
- "url": "https://github.com/zbateson",
- "type": "github"
- }
- ],
- "time": "2024-03-20T01:38:07+00:00"
- },
- {
- "name": "zbateson/stream-decorators",
- "version": "2.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/zbateson/stream-decorators.git",
- "reference": "32a2a62fb0f26313395c996ebd658d33c3f9c4e5"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/zbateson/stream-decorators/zipball/32a2a62fb0f26313395c996ebd658d33c3f9c4e5",
- "reference": "32a2a62fb0f26313395c996ebd658d33c3f9c4e5",
- "shasum": ""
- },
- "require": {
- "guzzlehttp/psr7": "^2.5",
- "php": ">=8.0",
- "zbateson/mb-wrapper": "^2.0"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "*",
- "phpstan/phpstan": "*",
- "phpunit/phpunit": "^9.6|^10.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "ZBateson\\StreamDecorators\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-2-Clause"
- ],
- "authors": [
- {
- "name": "Zaahid Bateson"
- }
- ],
- "description": "PHP psr7 stream decorators for mime message part streams",
- "keywords": [
- "base64",
- "charset",
- "decorators",
- "mail",
- "mime",
- "psr7",
- "quoted-printable",
- "stream",
- "uuencode"
- ],
- "support": {
- "issues": "https://github.com/zbateson/stream-decorators/issues",
- "source": "https://github.com/zbateson/stream-decorators/tree/2.1.1"
- },
- "funding": [
- {
- "url": "https://github.com/zbateson",
- "type": "github"
- }
- ],
- "time": "2024-04-29T21:42:39+00:00"
- },
{
"name": "zircote/swagger-php",
- "version": "4.11.0",
+ "version": "4.11.1",
"source": {
"type": "git",
"url": "https://github.com/zircote/swagger-php.git",
- "reference": "3b6f3800f4fd6544ada4dce180c6b69eaead7c7c"
+ "reference": "7df10e8ec47db07c031db317a25bef962b4e5de1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zircote/swagger-php/zipball/3b6f3800f4fd6544ada4dce180c6b69eaead7c7c",
- "reference": "3b6f3800f4fd6544ada4dce180c6b69eaead7c7c",
+ "url": "https://api.github.com/repos/zircote/swagger-php/zipball/7df10e8ec47db07c031db317a25bef962b4e5de1",
+ "reference": "7df10e8ec47db07c031db317a25bef962b4e5de1",
"shasum": ""
},
"require": {
@@ -11830,24 +11007,24 @@
],
"support": {
"issues": "https://github.com/zircote/swagger-php/issues",
- "source": "https://github.com/zircote/swagger-php/tree/4.11.0"
+ "source": "https://github.com/zircote/swagger-php/tree/4.11.1"
},
- "time": "2024-10-09T03:11:12+00:00"
+ "time": "2024-10-15T19:20:02+00:00"
}
],
"packages-dev": [
{
"name": "barryvdh/laravel-debugbar",
- "version": "v3.14.3",
+ "version": "v3.14.6",
"source": {
"type": "git",
"url": "https://github.com/barryvdh/laravel-debugbar.git",
- "reference": "c0bee7c08ae2429e4a9ed2bc75679b012db6e3bd"
+ "reference": "14e4517bd49130d6119228107eb21ae47ae120ab"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/c0bee7c08ae2429e4a9ed2bc75679b012db6e3bd",
- "reference": "c0bee7c08ae2429e4a9ed2bc75679b012db6e3bd",
+ "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/14e4517bd49130d6119228107eb21ae47ae120ab",
+ "reference": "14e4517bd49130d6119228107eb21ae47ae120ab",
"shasum": ""
},
"require": {
@@ -11906,7 +11083,7 @@
],
"support": {
"issues": "https://github.com/barryvdh/laravel-debugbar/issues",
- "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.14.3"
+ "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.14.6"
},
"funding": [
{
@@ -11918,20 +11095,20 @@
"type": "github"
}
],
- "time": "2024-10-02T09:17:49+00:00"
+ "time": "2024-10-18T13:15:12+00:00"
},
{
"name": "brianium/paratest",
- "version": "v7.4.3",
+ "version": "v7.6.0",
"source": {
"type": "git",
"url": "https://github.com/paratestphp/paratest.git",
- "reference": "64fcfd0e28a6b8078a19dbf9127be2ee645b92ec"
+ "reference": "68ff89a8de47d086588e391a516d2a5b5fde6254"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/paratestphp/paratest/zipball/64fcfd0e28a6b8078a19dbf9127be2ee645b92ec",
- "reference": "64fcfd0e28a6b8078a19dbf9127be2ee645b92ec",
+ "url": "https://api.github.com/repos/paratestphp/paratest/zipball/68ff89a8de47d086588e391a516d2a5b5fde6254",
+ "reference": "68ff89a8de47d086588e391a516d2a5b5fde6254",
"shasum": ""
},
"require": {
@@ -11939,31 +11116,30 @@
"ext-pcre": "*",
"ext-reflection": "*",
"ext-simplexml": "*",
- "fidry/cpu-core-counter": "^1.1.0",
- "jean85/pretty-package-versions": "^2.0.5",
- "php": "~8.2.0 || ~8.3.0",
- "phpunit/php-code-coverage": "^10.1.11 || ^11.0.0",
- "phpunit/php-file-iterator": "^4.1.0 || ^5.0.0",
- "phpunit/php-timer": "^6.0.0 || ^7.0.0",
- "phpunit/phpunit": "^10.5.9 || ^11.0.3",
- "sebastian/environment": "^6.0.1 || ^7.0.0",
- "symfony/console": "^6.4.3 || ^7.0.3",
- "symfony/process": "^6.4.3 || ^7.0.3"
+ "fidry/cpu-core-counter": "^1.2.0",
+ "jean85/pretty-package-versions": "^2.0.6",
+ "php": "~8.2.0 || ~8.3.0 || ~8.4.0",
+ "phpunit/php-code-coverage": "^11.0.7",
+ "phpunit/php-file-iterator": "^5.1.0",
+ "phpunit/php-timer": "^7.0.1",
+ "phpunit/phpunit": "^11.4.1",
+ "sebastian/environment": "^7.2.0",
+ "symfony/console": "^6.4.11 || ^7.1.5",
+ "symfony/process": "^6.4.8 || ^7.1.5"
},
"require-dev": {
"doctrine/coding-standard": "^12.0.0",
"ext-pcov": "*",
"ext-posix": "*",
- "phpstan/phpstan": "^1.10.58",
- "phpstan/phpstan-deprecation-rules": "^1.1.4",
- "phpstan/phpstan-phpunit": "^1.3.15",
- "phpstan/phpstan-strict-rules": "^1.5.2",
- "squizlabs/php_codesniffer": "^3.9.0",
- "symfony/filesystem": "^6.4.3 || ^7.0.3"
+ "phpstan/phpstan": "^1.12.6",
+ "phpstan/phpstan-deprecation-rules": "^1.2.1",
+ "phpstan/phpstan-phpunit": "^1.4.0",
+ "phpstan/phpstan-strict-rules": "^1.6.1",
+ "squizlabs/php_codesniffer": "^3.10.3",
+ "symfony/filesystem": "^6.4.9 || ^7.1.5"
},
"bin": [
"bin/paratest",
- "bin/paratest.bat",
"bin/paratest_for_phpstorm"
],
"type": "library",
@@ -12000,7 +11176,7 @@
],
"support": {
"issues": "https://github.com/paratestphp/paratest/issues",
- "source": "https://github.com/paratestphp/paratest/tree/v7.4.3"
+ "source": "https://github.com/paratestphp/paratest/tree/v7.6.0"
},
"funding": [
{
@@ -12012,20 +11188,20 @@
"type": "paypal"
}
],
- "time": "2024-02-20T07:24:02+00:00"
+ "time": "2024-10-15T12:38:31+00:00"
},
{
"name": "fakerphp/faker",
- "version": "v1.23.1",
+ "version": "v1.24.0",
"source": {
"type": "git",
"url": "https://github.com/FakerPHP/Faker.git",
- "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b"
+ "reference": "a136842a532bac9ecd8a1c723852b09915d7db50"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/bfb4fe148adbf78eff521199619b93a52ae3554b",
- "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b",
+ "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/a136842a532bac9ecd8a1c723852b09915d7db50",
+ "reference": "a136842a532bac9ecd8a1c723852b09915d7db50",
"shasum": ""
},
"require": {
@@ -12073,9 +11249,9 @@
],
"support": {
"issues": "https://github.com/FakerPHP/Faker/issues",
- "source": "https://github.com/FakerPHP/Faker/tree/v1.23.1"
+ "source": "https://github.com/FakerPHP/Faker/tree/v1.24.0"
},
- "time": "2024-01-02T13:46:09+00:00"
+ "time": "2024-11-07T15:11:20+00:00"
},
{
"name": "fidry/cpu-core-counter",
@@ -12262,16 +11438,16 @@
},
{
"name": "laravel/dusk",
- "version": "v8.2.8",
+ "version": "v8.2.11",
"source": {
"type": "git",
"url": "https://github.com/laravel/dusk.git",
- "reference": "5bff1e8dd87ec653a2202475377152e5d14fde40"
+ "reference": "c667db6d8795f0ccc8f63d54a7780ce8a0cc3d3c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/dusk/zipball/5bff1e8dd87ec653a2202475377152e5d14fde40",
- "reference": "5bff1e8dd87ec653a2202475377152e5d14fde40",
+ "url": "https://api.github.com/repos/laravel/dusk/zipball/c667db6d8795f0ccc8f63d54a7780ce8a0cc3d3c",
+ "reference": "c667db6d8795f0ccc8f63d54a7780ce8a0cc3d3c",
"shasum": ""
},
"require": {
@@ -12328,9 +11504,9 @@
],
"support": {
"issues": "https://github.com/laravel/dusk/issues",
- "source": "https://github.com/laravel/dusk/tree/v8.2.8"
+ "source": "https://github.com/laravel/dusk/tree/v8.2.11"
},
- "time": "2024-10-04T14:02:20+00:00"
+ "time": "2024-11-07T21:51:32+00:00"
},
{
"name": "laravel/pint",
@@ -12400,16 +11576,16 @@
},
{
"name": "laravel/telescope",
- "version": "v5.2.4",
+ "version": "v5.2.5",
"source": {
"type": "git",
"url": "https://github.com/laravel/telescope.git",
- "reference": "749369e996611d803e7c1b57929b482dd676008d"
+ "reference": "f68386a8d816c9e3a011b8301bfd263213bf00d4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/telescope/zipball/749369e996611d803e7c1b57929b482dd676008d",
- "reference": "749369e996611d803e7c1b57929b482dd676008d",
+ "url": "https://api.github.com/repos/laravel/telescope/zipball/f68386a8d816c9e3a011b8301bfd263213bf00d4",
+ "reference": "f68386a8d816c9e3a011b8301bfd263213bf00d4",
"shasum": ""
},
"require": {
@@ -12463,22 +11639,22 @@
],
"support": {
"issues": "https://github.com/laravel/telescope/issues",
- "source": "https://github.com/laravel/telescope/tree/v5.2.4"
+ "source": "https://github.com/laravel/telescope/tree/v5.2.5"
},
- "time": "2024-10-29T15:35:13+00:00"
+ "time": "2024-10-31T17:06:07+00:00"
},
{
"name": "maximebf/debugbar",
- "version": "v1.23.2",
+ "version": "v1.23.3",
"source": {
"type": "git",
"url": "https://github.com/maximebf/php-debugbar.git",
- "reference": "689720d724c771ac4add859056744b7b3f2406da"
+ "reference": "687400043d77943ef95e8417cb44e1673ee57844"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/689720d724c771ac4add859056744b7b3f2406da",
- "reference": "689720d724c771ac4add859056744b7b3f2406da",
+ "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/687400043d77943ef95e8417cb44e1673ee57844",
+ "reference": "687400043d77943ef95e8417cb44e1673ee57844",
"shasum": ""
},
"require": {
@@ -12531,9 +11707,9 @@
],
"support": {
"issues": "https://github.com/maximebf/php-debugbar/issues",
- "source": "https://github.com/maximebf/php-debugbar/tree/v1.23.2"
+ "source": "https://github.com/maximebf/php-debugbar/tree/v1.23.3"
},
- "time": "2024-09-16T11:23:09+00:00"
+ "time": "2024-10-29T12:24:25+00:00"
},
{
"name": "mockery/mockery",
@@ -12620,16 +11796,16 @@
},
{
"name": "myclabs/deep-copy",
- "version": "1.12.0",
+ "version": "1.12.1",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c"
+ "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c",
- "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/123267b2c49fbf30d78a7b2d333f6be754b94845",
+ "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845",
"shasum": ""
},
"require": {
@@ -12668,7 +11844,7 @@
],
"support": {
"issues": "https://github.com/myclabs/DeepCopy/issues",
- "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0"
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.12.1"
},
"funding": [
{
@@ -12676,27 +11852,27 @@
"type": "tidelift"
}
],
- "time": "2024-06-12T14:39:25+00:00"
+ "time": "2024-11-08T17:47:46+00:00"
},
{
"name": "nunomaduro/collision",
- "version": "v8.4.0",
+ "version": "v8.5.0",
"source": {
"type": "git",
"url": "https://github.com/nunomaduro/collision.git",
- "reference": "e7d1aa8ed753f63fa816932bbc89678238843b4a"
+ "reference": "f5c101b929c958e849a633283adff296ed5f38f5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nunomaduro/collision/zipball/e7d1aa8ed753f63fa816932bbc89678238843b4a",
- "reference": "e7d1aa8ed753f63fa816932bbc89678238843b4a",
+ "url": "https://api.github.com/repos/nunomaduro/collision/zipball/f5c101b929c958e849a633283adff296ed5f38f5",
+ "reference": "f5c101b929c958e849a633283adff296ed5f38f5",
"shasum": ""
},
"require": {
- "filp/whoops": "^2.15.4",
- "nunomaduro/termwind": "^2.0.1",
+ "filp/whoops": "^2.16.0",
+ "nunomaduro/termwind": "^2.1.0",
"php": "^8.2.0",
- "symfony/console": "^7.1.3"
+ "symfony/console": "^7.1.5"
},
"conflict": {
"laravel/framework": "<11.0.0 || >=12.0.0",
@@ -12704,14 +11880,14 @@
},
"require-dev": {
"larastan/larastan": "^2.9.8",
- "laravel/framework": "^11.19.0",
- "laravel/pint": "^1.17.1",
- "laravel/sail": "^1.31.0",
- "laravel/sanctum": "^4.0.2",
- "laravel/tinker": "^2.9.0",
- "orchestra/testbench-core": "^9.2.3",
- "pestphp/pest": "^2.35.0 || ^3.0.0",
- "sebastian/environment": "^6.1.0 || ^7.0.0"
+ "laravel/framework": "^11.28.0",
+ "laravel/pint": "^1.18.1",
+ "laravel/sail": "^1.36.0",
+ "laravel/sanctum": "^4.0.3",
+ "laravel/tinker": "^2.10.0",
+ "orchestra/testbench-core": "^9.5.3",
+ "pestphp/pest": "^2.36.0 || ^3.4.0",
+ "sebastian/environment": "^6.1.0 || ^7.2.0"
},
"type": "library",
"extra": {
@@ -12773,40 +11949,42 @@
"type": "patreon"
}
],
- "time": "2024-08-03T15:32:23+00:00"
+ "time": "2024-10-15T16:06:32+00:00"
},
{
"name": "pestphp/pest",
- "version": "v2.35.1",
+ "version": "v3.5.1",
"source": {
"type": "git",
"url": "https://github.com/pestphp/pest.git",
- "reference": "b13acb630df52c06123588d321823c31fc685545"
+ "reference": "179d46ce97d52bcb3f791449ae94025c3f32e3e3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/pestphp/pest/zipball/b13acb630df52c06123588d321823c31fc685545",
- "reference": "b13acb630df52c06123588d321823c31fc685545",
+ "url": "https://api.github.com/repos/pestphp/pest/zipball/179d46ce97d52bcb3f791449ae94025c3f32e3e3",
+ "reference": "179d46ce97d52bcb3f791449ae94025c3f32e3e3",
"shasum": ""
},
"require": {
- "brianium/paratest": "^7.3.1",
- "nunomaduro/collision": "^7.10.0|^8.4.0",
- "nunomaduro/termwind": "^1.15.1|^2.0.1",
- "pestphp/pest-plugin": "^2.1.1",
- "pestphp/pest-plugin-arch": "^2.7.0",
- "php": "^8.1.0",
- "phpunit/phpunit": "^10.5.17"
+ "brianium/paratest": "^7.6.0",
+ "nunomaduro/collision": "^8.5.0",
+ "nunomaduro/termwind": "^2.2.0",
+ "pestphp/pest-plugin": "^3.0.0",
+ "pestphp/pest-plugin-arch": "^3.0.0",
+ "pestphp/pest-plugin-mutate": "^3.0.5",
+ "php": "^8.2.0",
+ "phpunit/phpunit": "^11.4.3"
},
"conflict": {
- "phpunit/phpunit": ">10.5.17",
- "sebastian/exporter": "<5.1.0",
+ "filp/whoops": "<2.16.0",
+ "phpunit/phpunit": ">11.4.3",
+ "sebastian/exporter": "<6.0.0",
"webmozart/assert": "<1.11.0"
},
"require-dev": {
- "pestphp/pest-dev-tools": "^2.16.0",
- "pestphp/pest-plugin-type-coverage": "^2.8.5",
- "symfony/process": "^6.4.0|^7.1.3"
+ "pestphp/pest-dev-tools": "^3.3.0",
+ "pestphp/pest-plugin-type-coverage": "^3.1.0",
+ "symfony/process": "^7.1.6"
},
"bin": [
"bin/pest"
@@ -12815,6 +11993,8 @@
"extra": {
"pest": {
"plugins": [
+ "Pest\\Mutate\\Plugins\\Mutate",
+ "Pest\\Plugins\\Configuration",
"Pest\\Plugins\\Bail",
"Pest\\Plugins\\Cache",
"Pest\\Plugins\\Coverage",
@@ -12869,7 +12049,7 @@
],
"support": {
"issues": "https://github.com/pestphp/pest/issues",
- "source": "https://github.com/pestphp/pest/tree/v2.35.1"
+ "source": "https://github.com/pestphp/pest/tree/v3.5.1"
},
"funding": [
{
@@ -12881,34 +12061,34 @@
"type": "github"
}
],
- "time": "2024-08-20T21:41:50+00:00"
+ "time": "2024-10-31T16:12:45+00:00"
},
{
"name": "pestphp/pest-plugin",
- "version": "v2.1.1",
+ "version": "v3.0.0",
"source": {
"type": "git",
"url": "https://github.com/pestphp/pest-plugin.git",
- "reference": "e05d2859e08c2567ee38ce8b005d044e72648c0b"
+ "reference": "e79b26c65bc11c41093b10150c1341cc5cdbea83"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/pestphp/pest-plugin/zipball/e05d2859e08c2567ee38ce8b005d044e72648c0b",
- "reference": "e05d2859e08c2567ee38ce8b005d044e72648c0b",
+ "url": "https://api.github.com/repos/pestphp/pest-plugin/zipball/e79b26c65bc11c41093b10150c1341cc5cdbea83",
+ "reference": "e79b26c65bc11c41093b10150c1341cc5cdbea83",
"shasum": ""
},
"require": {
"composer-plugin-api": "^2.0.0",
"composer-runtime-api": "^2.2.2",
- "php": "^8.1"
+ "php": "^8.2"
},
"conflict": {
- "pestphp/pest": "<2.2.3"
+ "pestphp/pest": "<3.0.0"
},
"require-dev": {
- "composer/composer": "^2.5.8",
- "pestphp/pest": "^2.16.0",
- "pestphp/pest-dev-tools": "^2.16.0"
+ "composer/composer": "^2.7.9",
+ "pestphp/pest": "^3.0.0",
+ "pestphp/pest-dev-tools": "^3.0.0"
},
"type": "composer-plugin",
"extra": {
@@ -12935,7 +12115,7 @@
"unit"
],
"support": {
- "source": "https://github.com/pestphp/pest-plugin/tree/v2.1.1"
+ "source": "https://github.com/pestphp/pest-plugin/tree/v3.0.0"
},
"funding": [
{
@@ -12951,31 +12131,30 @@
"type": "patreon"
}
],
- "time": "2023-08-22T08:40:06+00:00"
+ "time": "2024-09-08T23:21:41+00:00"
},
{
"name": "pestphp/pest-plugin-arch",
- "version": "v2.7.0",
+ "version": "v3.0.0",
"source": {
"type": "git",
"url": "https://github.com/pestphp/pest-plugin-arch.git",
- "reference": "d23b2d7498475354522c3818c42ef355dca3fcda"
+ "reference": "0a27e55a270cfe73d8cb70551b91002ee2cb64b0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/pestphp/pest-plugin-arch/zipball/d23b2d7498475354522c3818c42ef355dca3fcda",
- "reference": "d23b2d7498475354522c3818c42ef355dca3fcda",
+ "url": "https://api.github.com/repos/pestphp/pest-plugin-arch/zipball/0a27e55a270cfe73d8cb70551b91002ee2cb64b0",
+ "reference": "0a27e55a270cfe73d8cb70551b91002ee2cb64b0",
"shasum": ""
},
"require": {
- "nunomaduro/collision": "^7.10.0|^8.1.0",
- "pestphp/pest-plugin": "^2.1.1",
- "php": "^8.1",
+ "pestphp/pest-plugin": "^3.0.0",
+ "php": "^8.2",
"ta-tikoma/phpunit-architecture-test": "^0.8.4"
},
"require-dev": {
- "pestphp/pest": "^2.33.0",
- "pestphp/pest-dev-tools": "^2.16.0"
+ "pestphp/pest": "^3.0.0",
+ "pestphp/pest-dev-tools": "^3.0.0"
},
"type": "library",
"extra": {
@@ -13010,7 +12189,7 @@
"unit"
],
"support": {
- "source": "https://github.com/pestphp/pest-plugin-arch/tree/v2.7.0"
+ "source": "https://github.com/pestphp/pest-plugin-arch/tree/v3.0.0"
},
"funding": [
{
@@ -13022,7 +12201,79 @@
"type": "github"
}
],
- "time": "2024-01-26T09:46:42+00:00"
+ "time": "2024-09-08T23:23:55+00:00"
+ },
+ {
+ "name": "pestphp/pest-plugin-mutate",
+ "version": "v3.0.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/pestphp/pest-plugin-mutate.git",
+ "reference": "e10dbdc98c9e2f3890095b4fe2144f63a5717e08"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/pestphp/pest-plugin-mutate/zipball/e10dbdc98c9e2f3890095b4fe2144f63a5717e08",
+ "reference": "e10dbdc98c9e2f3890095b4fe2144f63a5717e08",
+ "shasum": ""
+ },
+ "require": {
+ "nikic/php-parser": "^5.2.0",
+ "pestphp/pest-plugin": "^3.0.0",
+ "php": "^8.2",
+ "psr/simple-cache": "^3.0.0"
+ },
+ "require-dev": {
+ "pestphp/pest": "^3.0.8",
+ "pestphp/pest-dev-tools": "^3.0.0",
+ "pestphp/pest-plugin-type-coverage": "^3.0.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Pest\\Mutate\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Sandro Gehri",
+ "email": "sandrogehri@gmail.com"
+ }
+ ],
+ "description": "Mutates your code to find untested cases",
+ "keywords": [
+ "framework",
+ "mutate",
+ "mutation",
+ "pest",
+ "php",
+ "plugin",
+ "test",
+ "testing",
+ "unit"
+ ],
+ "support": {
+ "source": "https://github.com/pestphp/pest-plugin-mutate/tree/v3.0.5"
+ },
+ "funding": [
+ {
+ "url": "https://www.paypal.com/paypalme/enunomaduro",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/gehrisandro",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nunomaduro",
+ "type": "github"
+ }
+ ],
+ "time": "2024-09-22T07:54:40+00:00"
},
{
"name": "phar-io/manifest",
@@ -13142,6 +12393,134 @@
},
"time": "2022-02-21T01:04:05+00:00"
},
+ {
+ "name": "php-di/invoker",
+ "version": "2.3.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/PHP-DI/Invoker.git",
+ "reference": "33234b32dafa8eb69202f950a1fc92055ed76a86"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/PHP-DI/Invoker/zipball/33234b32dafa8eb69202f950a1fc92055ed76a86",
+ "reference": "33234b32dafa8eb69202f950a1fc92055ed76a86",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3",
+ "psr/container": "^1.0|^2.0"
+ },
+ "require-dev": {
+ "athletic/athletic": "~0.1.8",
+ "mnapoli/hard-mode": "~0.3.0",
+ "phpunit/phpunit": "^9.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Invoker\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Generic and extensible callable invoker",
+ "homepage": "https://github.com/PHP-DI/Invoker",
+ "keywords": [
+ "callable",
+ "dependency",
+ "dependency-injection",
+ "injection",
+ "invoke",
+ "invoker"
+ ],
+ "support": {
+ "issues": "https://github.com/PHP-DI/Invoker/issues",
+ "source": "https://github.com/PHP-DI/Invoker/tree/2.3.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/mnapoli",
+ "type": "github"
+ }
+ ],
+ "time": "2023-09-08T09:24:21+00:00"
+ },
+ {
+ "name": "php-di/php-di",
+ "version": "7.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/PHP-DI/PHP-DI.git",
+ "reference": "e87435e3c0e8f22977adc5af0d5cdcc467e15cf1"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/e87435e3c0e8f22977adc5af0d5cdcc467e15cf1",
+ "reference": "e87435e3c0e8f22977adc5af0d5cdcc467e15cf1",
+ "shasum": ""
+ },
+ "require": {
+ "laravel/serializable-closure": "^1.0",
+ "php": ">=8.0",
+ "php-di/invoker": "^2.0",
+ "psr/container": "^1.1 || ^2.0"
+ },
+ "provide": {
+ "psr/container-implementation": "^1.0"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "^3",
+ "friendsofphp/proxy-manager-lts": "^1",
+ "mnapoli/phpunit-easymock": "^1.3",
+ "phpunit/phpunit": "^9.5",
+ "vimeo/psalm": "^4.6"
+ },
+ "suggest": {
+ "friendsofphp/proxy-manager-lts": "Install it if you want to use lazy injection (version ^1)"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "src/functions.php"
+ ],
+ "psr-4": {
+ "DI\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "The dependency injection container for humans",
+ "homepage": "https://php-di.org/",
+ "keywords": [
+ "PSR-11",
+ "container",
+ "container-interop",
+ "dependency injection",
+ "di",
+ "ioc",
+ "psr11"
+ ],
+ "support": {
+ "issues": "https://github.com/PHP-DI/PHP-DI/issues",
+ "source": "https://github.com/PHP-DI/PHP-DI/tree/7.0.7"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/mnapoli",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/php-di/php-di",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-07-21T15:55:45+00:00"
+ },
{
"name": "php-webdriver/webdriver",
"version": "1.15.1",
@@ -13209,100 +12588,94 @@
"time": "2023-10-20T12:21:20+00:00"
},
{
- "name": "phpdocumentor/reflection-docblock",
- "version": "5.4.1",
+ "name": "phpstan/phpstan",
+ "version": "1.12.10",
"source": {
"type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "9d07b3f7fdcf5efec5d1609cba3c19c5ea2bdc9c"
+ "url": "https://github.com/phpstan/phpstan.git",
+ "reference": "fc463b5d0fe906dcf19689be692c65c50406a071"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/9d07b3f7fdcf5efec5d1609cba3c19c5ea2bdc9c",
- "reference": "9d07b3f7fdcf5efec5d1609cba3c19c5ea2bdc9c",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/fc463b5d0fe906dcf19689be692c65c50406a071",
+ "reference": "fc463b5d0fe906dcf19689be692c65c50406a071",
"shasum": ""
},
"require": {
- "doctrine/deprecations": "^1.1",
- "ext-filter": "*",
- "php": "^7.4 || ^8.0",
- "phpdocumentor/reflection-common": "^2.2",
- "phpdocumentor/type-resolver": "^1.7",
- "phpstan/phpdoc-parser": "^1.7",
- "webmozart/assert": "^1.9.1"
+ "php": "^7.2|^8.0"
},
- "require-dev": {
- "mockery/mockery": "~1.3.5",
- "phpstan/extension-installer": "^1.1",
- "phpstan/phpstan": "^1.8",
- "phpstan/phpstan-mockery": "^1.1",
- "phpstan/phpstan-webmozart-assert": "^1.2",
- "phpunit/phpunit": "^9.5",
- "vimeo/psalm": "^5.13"
+ "conflict": {
+ "phpstan/phpstan-shim": "*"
},
+ "bin": [
+ "phpstan",
+ "phpstan.phar"
+ ],
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.x-dev"
- }
- },
"autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": "src"
- }
+ "files": [
+ "bootstrap.php"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "authors": [
+ "description": "PHPStan - PHP Static Analysis Tool",
+ "keywords": [
+ "dev",
+ "static analysis"
+ ],
+ "support": {
+ "docs": "https://phpstan.org/user-guide/getting-started",
+ "forum": "https://github.com/phpstan/phpstan/discussions",
+ "issues": "https://github.com/phpstan/phpstan/issues",
+ "security": "https://github.com/phpstan/phpstan/security/policy",
+ "source": "https://github.com/phpstan/phpstan-src"
+ },
+ "funding": [
{
- "name": "Mike van Riel",
- "email": "me@mikevanriel.com"
+ "url": "https://github.com/ondrejmirtes",
+ "type": "github"
},
{
- "name": "Jaap van Otterdijk",
- "email": "opensource@ijaap.nl"
+ "url": "https://github.com/phpstan",
+ "type": "github"
}
],
- "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
- "support": {
- "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
- "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.4.1"
- },
- "time": "2024-05-21T05:55:05+00:00"
+ "time": "2024-11-11T15:37:09+00:00"
},
{
"name": "phpunit/php-code-coverage",
- "version": "10.1.16",
+ "version": "11.0.7",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "7e308268858ed6baedc8704a304727d20bc07c77"
+ "reference": "f7f08030e8811582cc459871d28d6f5a1a4d35ca"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7e308268858ed6baedc8704a304727d20bc07c77",
- "reference": "7e308268858ed6baedc8704a304727d20bc07c77",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f7f08030e8811582cc459871d28d6f5a1a4d35ca",
+ "reference": "f7f08030e8811582cc459871d28d6f5a1a4d35ca",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
- "nikic/php-parser": "^4.19.1 || ^5.1.0",
- "php": ">=8.1",
- "phpunit/php-file-iterator": "^4.1.0",
- "phpunit/php-text-template": "^3.0.1",
- "sebastian/code-unit-reverse-lookup": "^3.0.0",
- "sebastian/complexity": "^3.2.0",
- "sebastian/environment": "^6.1.0",
- "sebastian/lines-of-code": "^2.0.2",
- "sebastian/version": "^4.0.1",
+ "nikic/php-parser": "^5.3.1",
+ "php": ">=8.2",
+ "phpunit/php-file-iterator": "^5.1.0",
+ "phpunit/php-text-template": "^4.0.1",
+ "sebastian/code-unit-reverse-lookup": "^4.0.1",
+ "sebastian/complexity": "^4.0.1",
+ "sebastian/environment": "^7.2.0",
+ "sebastian/lines-of-code": "^3.0.1",
+ "sebastian/version": "^5.0.2",
"theseer/tokenizer": "^1.2.3"
},
"require-dev": {
- "phpunit/phpunit": "^10.1"
+ "phpunit/phpunit": "^11.4.1"
},
"suggest": {
"ext-pcov": "PHP extension that provides line coverage",
@@ -13311,7 +12684,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "10.1.x-dev"
+ "dev-main": "11.0.x-dev"
}
},
"autoload": {
@@ -13340,7 +12713,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.16"
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.7"
},
"funding": [
{
@@ -13348,32 +12721,32 @@
"type": "github"
}
],
- "time": "2024-08-22T04:31:57+00:00"
+ "time": "2024-10-09T06:21:38+00:00"
},
{
"name": "phpunit/php-file-iterator",
- "version": "4.1.0",
+ "version": "5.1.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c"
+ "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c",
- "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/118cfaaa8bc5aef3287bf315b6060b1174754af6",
+ "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -13401,7 +12774,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
"security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy",
- "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0"
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.0"
},
"funding": [
{
@@ -13409,28 +12782,28 @@
"type": "github"
}
],
- "time": "2023-08-31T06:24:48+00:00"
+ "time": "2024-08-27T05:02:59+00:00"
},
{
"name": "phpunit/php-invoker",
- "version": "4.0.0",
+ "version": "5.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-invoker.git",
- "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7"
+ "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7",
- "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/c1ca3814734c07492b3d4c5f794f4b0995333da2",
+ "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
"ext-pcntl": "*",
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"suggest": {
"ext-pcntl": "*"
@@ -13438,7 +12811,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -13464,7 +12837,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-invoker/issues",
- "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0"
+ "security": "https://github.com/sebastianbergmann/php-invoker/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.1"
},
"funding": [
{
@@ -13472,32 +12846,32 @@
"type": "github"
}
],
- "time": "2023-02-03T06:56:09+00:00"
+ "time": "2024-07-03T05:07:44+00:00"
},
{
"name": "phpunit/php-text-template",
- "version": "3.0.1",
+ "version": "4.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748"
+ "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748",
- "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/3e0404dc6b300e6bf56415467ebcb3fe4f33e964",
+ "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -13524,7 +12898,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-text-template/issues",
"security": "https://github.com/sebastianbergmann/php-text-template/security/policy",
- "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1"
+ "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.1"
},
"funding": [
{
@@ -13532,32 +12906,32 @@
"type": "github"
}
],
- "time": "2023-08-31T14:07:24+00:00"
+ "time": "2024-07-03T05:08:43+00:00"
},
{
"name": "phpunit/php-timer",
- "version": "6.0.0",
+ "version": "7.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d"
+ "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d",
- "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3b415def83fbcb41f991d9ebf16ae4ad8b7837b3",
+ "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-main": "7.0-dev"
}
},
"autoload": {
@@ -13583,7 +12957,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-timer/issues",
- "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0"
+ "security": "https://github.com/sebastianbergmann/php-timer/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.1"
},
"funding": [
{
@@ -13591,20 +12966,20 @@
"type": "github"
}
],
- "time": "2023-02-03T06:57:52+00:00"
+ "time": "2024-07-03T05:09:35+00:00"
},
{
"name": "phpunit/phpunit",
- "version": "10.5.17",
+ "version": "11.4.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "c1f736a473d21957ead7e94fcc029f571895abf5"
+ "reference": "e8e8ed1854de5d36c088ec1833beae40d2dedd76"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c1f736a473d21957ead7e94fcc029f571895abf5",
- "reference": "c1f736a473d21957ead7e94fcc029f571895abf5",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e8e8ed1854de5d36c088ec1833beae40d2dedd76",
+ "reference": "e8e8ed1854de5d36c088ec1833beae40d2dedd76",
"shasum": ""
},
"require": {
@@ -13614,26 +12989,25 @@
"ext-mbstring": "*",
"ext-xml": "*",
"ext-xmlwriter": "*",
- "myclabs/deep-copy": "^1.10.1",
- "phar-io/manifest": "^2.0.3",
- "phar-io/version": "^3.0.2",
- "php": ">=8.1",
- "phpunit/php-code-coverage": "^10.1.5",
- "phpunit/php-file-iterator": "^4.0",
- "phpunit/php-invoker": "^4.0",
- "phpunit/php-text-template": "^3.0",
- "phpunit/php-timer": "^6.0",
- "sebastian/cli-parser": "^2.0",
- "sebastian/code-unit": "^2.0",
- "sebastian/comparator": "^5.0",
- "sebastian/diff": "^5.0",
- "sebastian/environment": "^6.0",
- "sebastian/exporter": "^5.1",
- "sebastian/global-state": "^6.0.1",
- "sebastian/object-enumerator": "^5.0",
- "sebastian/recursion-context": "^5.0",
- "sebastian/type": "^4.0",
- "sebastian/version": "^4.0"
+ "myclabs/deep-copy": "^1.12.0",
+ "phar-io/manifest": "^2.0.4",
+ "phar-io/version": "^3.2.1",
+ "php": ">=8.2",
+ "phpunit/php-code-coverage": "^11.0.7",
+ "phpunit/php-file-iterator": "^5.1.0",
+ "phpunit/php-invoker": "^5.0.1",
+ "phpunit/php-text-template": "^4.0.1",
+ "phpunit/php-timer": "^7.0.1",
+ "sebastian/cli-parser": "^3.0.2",
+ "sebastian/code-unit": "^3.0.1",
+ "sebastian/comparator": "^6.1.1",
+ "sebastian/diff": "^6.0.2",
+ "sebastian/environment": "^7.2.0",
+ "sebastian/exporter": "^6.1.3",
+ "sebastian/global-state": "^7.0.2",
+ "sebastian/object-enumerator": "^6.0.1",
+ "sebastian/type": "^5.1.0",
+ "sebastian/version": "^5.0.2"
},
"suggest": {
"ext-soap": "To be able to generate mocks based on WSDL files"
@@ -13644,7 +13018,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "10.5-dev"
+ "dev-main": "11.4-dev"
}
},
"autoload": {
@@ -13676,7 +13050,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.17"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/11.4.3"
},
"funding": [
{
@@ -13692,32 +13066,91 @@
"type": "tidelift"
}
],
- "time": "2024-04-05T04:39:01+00:00"
+ "time": "2024-10-28T13:07:50+00:00"
},
{
- "name": "sebastian/cli-parser",
- "version": "2.0.1",
+ "name": "rector/rector",
+ "version": "1.2.10",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/cli-parser.git",
- "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084"
+ "url": "https://github.com/rectorphp/rector.git",
+ "reference": "40f9cf38c05296bd32f444121336a521a293fa61"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/c34583b87e7b7a8055bf6c450c2c77ce32a24084",
- "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084",
+ "url": "https://api.github.com/repos/rectorphp/rector/zipball/40f9cf38c05296bd32f444121336a521a293fa61",
+ "reference": "40f9cf38c05296bd32f444121336a521a293fa61",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": "^7.2|^8.0",
+ "phpstan/phpstan": "^1.12.5"
+ },
+ "conflict": {
+ "rector/rector-doctrine": "*",
+ "rector/rector-downgrade-php": "*",
+ "rector/rector-phpunit": "*",
+ "rector/rector-symfony": "*"
+ },
+ "suggest": {
+ "ext-dom": "To manipulate phpunit.xml via the custom-rule command"
+ },
+ "bin": [
+ "bin/rector"
+ ],
+ "type": "library",
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Instant Upgrade and Automated Refactoring of any PHP code",
+ "keywords": [
+ "automation",
+ "dev",
+ "migration",
+ "refactoring"
+ ],
+ "support": {
+ "issues": "https://github.com/rectorphp/rector/issues",
+ "source": "https://github.com/rectorphp/rector/tree/1.2.10"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/tomasvotruba",
+ "type": "github"
+ }
+ ],
+ "time": "2024-11-08T13:59:10+00:00"
+ },
+ {
+ "name": "sebastian/cli-parser",
+ "version": "3.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/cli-parser.git",
+ "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/15c5dd40dc4f38794d383bb95465193f5e0ae180",
+ "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -13741,7 +13174,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/cli-parser/issues",
"security": "https://github.com/sebastianbergmann/cli-parser/security/policy",
- "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.1"
+ "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.2"
},
"funding": [
{
@@ -13749,32 +13182,32 @@
"type": "github"
}
],
- "time": "2024-03-02T07:12:49+00:00"
+ "time": "2024-07-03T04:41:36+00:00"
},
{
"name": "sebastian/code-unit",
- "version": "2.0.0",
+ "version": "3.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit.git",
- "reference": "a81fee9eef0b7a76af11d121767abc44c104e503"
+ "reference": "6bb7d09d6623567178cf54126afa9c2310114268"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503",
- "reference": "a81fee9eef0b7a76af11d121767abc44c104e503",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/6bb7d09d6623567178cf54126afa9c2310114268",
+ "reference": "6bb7d09d6623567178cf54126afa9c2310114268",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -13797,7 +13230,8 @@
"homepage": "https://github.com/sebastianbergmann/code-unit",
"support": {
"issues": "https://github.com/sebastianbergmann/code-unit/issues",
- "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0"
+ "security": "https://github.com/sebastianbergmann/code-unit/security/policy",
+ "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.1"
},
"funding": [
{
@@ -13805,32 +13239,32 @@
"type": "github"
}
],
- "time": "2023-02-03T06:58:43+00:00"
+ "time": "2024-07-03T04:44:28+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
- "version": "3.0.0",
+ "version": "4.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
- "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d"
+ "reference": "183a9b2632194febd219bb9246eee421dad8d45e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d",
- "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/183a9b2632194febd219bb9246eee421dad8d45e",
+ "reference": "183a9b2632194febd219bb9246eee421dad8d45e",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -13852,7 +13286,8 @@
"homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
"support": {
"issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
- "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0"
+ "security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy",
+ "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.1"
},
"funding": [
{
@@ -13860,36 +13295,36 @@
"type": "github"
}
],
- "time": "2023-02-03T06:59:15+00:00"
+ "time": "2024-07-03T04:45:54+00:00"
},
{
"name": "sebastian/comparator",
- "version": "5.0.2",
+ "version": "6.2.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "2d3e04c3b4c1e84a5e7382221ad8883c8fbc4f53"
+ "reference": "43d129d6a0f81c78bee378b46688293eb7ea3739"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2d3e04c3b4c1e84a5e7382221ad8883c8fbc4f53",
- "reference": "2d3e04c3b4c1e84a5e7382221ad8883c8fbc4f53",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/43d129d6a0f81c78bee378b46688293eb7ea3739",
+ "reference": "43d129d6a0f81c78bee378b46688293eb7ea3739",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-mbstring": "*",
- "php": ">=8.1",
- "sebastian/diff": "^5.0",
- "sebastian/exporter": "^5.0"
+ "php": ">=8.2",
+ "sebastian/diff": "^6.0",
+ "sebastian/exporter": "^6.0"
},
"require-dev": {
- "phpunit/phpunit": "^10.4"
+ "phpunit/phpunit": "^11.4"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "6.2-dev"
}
},
"autoload": {
@@ -13929,7 +13364,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
"security": "https://github.com/sebastianbergmann/comparator/security/policy",
- "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.2"
+ "source": "https://github.com/sebastianbergmann/comparator/tree/6.2.1"
},
"funding": [
{
@@ -13937,33 +13372,33 @@
"type": "github"
}
],
- "time": "2024-08-12T06:03:08+00:00"
+ "time": "2024-10-31T05:30:08+00:00"
},
{
"name": "sebastian/complexity",
- "version": "3.2.0",
+ "version": "4.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/complexity.git",
- "reference": "68ff824baeae169ec9f2137158ee529584553799"
+ "reference": "ee41d384ab1906c68852636b6de493846e13e5a0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799",
- "reference": "68ff824baeae169ec9f2137158ee529584553799",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/ee41d384ab1906c68852636b6de493846e13e5a0",
+ "reference": "ee41d384ab1906c68852636b6de493846e13e5a0",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.18 || ^5.0",
- "php": ">=8.1"
+ "nikic/php-parser": "^5.0",
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.2-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -13987,7 +13422,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/complexity/issues",
"security": "https://github.com/sebastianbergmann/complexity/security/policy",
- "source": "https://github.com/sebastianbergmann/complexity/tree/3.2.0"
+ "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.1"
},
"funding": [
{
@@ -13995,33 +13430,33 @@
"type": "github"
}
],
- "time": "2023-12-21T08:37:17+00:00"
+ "time": "2024-07-03T04:49:50+00:00"
},
{
"name": "sebastian/diff",
- "version": "5.1.1",
+ "version": "6.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e"
+ "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e",
- "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/b4ccd857127db5d41a5b676f24b51371d76d8544",
+ "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0",
- "symfony/process": "^6.4"
+ "phpunit/phpunit": "^11.0",
+ "symfony/process": "^4.2 || ^5"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.1-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -14054,7 +13489,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
"security": "https://github.com/sebastianbergmann/diff/security/policy",
- "source": "https://github.com/sebastianbergmann/diff/tree/5.1.1"
+ "source": "https://github.com/sebastianbergmann/diff/tree/6.0.2"
},
"funding": [
{
@@ -14062,27 +13497,27 @@
"type": "github"
}
],
- "time": "2024-03-02T07:15:17+00:00"
+ "time": "2024-07-03T04:53:05+00:00"
},
{
"name": "sebastian/environment",
- "version": "6.1.0",
+ "version": "7.2.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "8074dbcd93529b357029f5cc5058fd3e43666984"
+ "reference": "855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/8074dbcd93529b357029f5cc5058fd3e43666984",
- "reference": "8074dbcd93529b357029f5cc5058fd3e43666984",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5",
+ "reference": "855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"suggest": {
"ext-posix": "*"
@@ -14090,7 +13525,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.1-dev"
+ "dev-main": "7.2-dev"
}
},
"autoload": {
@@ -14118,7 +13553,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
"security": "https://github.com/sebastianbergmann/environment/security/policy",
- "source": "https://github.com/sebastianbergmann/environment/tree/6.1.0"
+ "source": "https://github.com/sebastianbergmann/environment/tree/7.2.0"
},
"funding": [
{
@@ -14126,34 +13561,34 @@
"type": "github"
}
],
- "time": "2024-03-23T08:47:14+00:00"
+ "time": "2024-07-03T04:54:44+00:00"
},
{
"name": "sebastian/exporter",
- "version": "5.1.2",
+ "version": "6.1.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "955288482d97c19a372d3f31006ab3f37da47adf"
+ "reference": "c414673eee9a8f9d51bbf8d61fc9e3ef1e85b20e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/955288482d97c19a372d3f31006ab3f37da47adf",
- "reference": "955288482d97c19a372d3f31006ab3f37da47adf",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/c414673eee9a8f9d51bbf8d61fc9e3ef1e85b20e",
+ "reference": "c414673eee9a8f9d51bbf8d61fc9e3ef1e85b20e",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
- "php": ">=8.1",
- "sebastian/recursion-context": "^5.0"
+ "php": ">=8.2",
+ "sebastian/recursion-context": "^6.0"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.2"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.1-dev"
+ "dev-main": "6.1-dev"
}
},
"autoload": {
@@ -14196,7 +13631,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
"security": "https://github.com/sebastianbergmann/exporter/security/policy",
- "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.2"
+ "source": "https://github.com/sebastianbergmann/exporter/tree/6.1.3"
},
"funding": [
{
@@ -14204,35 +13639,35 @@
"type": "github"
}
],
- "time": "2024-03-02T07:17:12+00:00"
+ "time": "2024-07-03T04:56:19+00:00"
},
{
"name": "sebastian/global-state",
- "version": "6.0.2",
+ "version": "7.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9"
+ "reference": "3be331570a721f9a4b5917f4209773de17f747d7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/987bafff24ecc4c9ac418cab1145b96dd6e9cbd9",
- "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/3be331570a721f9a4b5917f4209773de17f747d7",
+ "reference": "3be331570a721f9a4b5917f4209773de17f747d7",
"shasum": ""
},
"require": {
- "php": ">=8.1",
- "sebastian/object-reflector": "^3.0",
- "sebastian/recursion-context": "^5.0"
+ "php": ">=8.2",
+ "sebastian/object-reflector": "^4.0",
+ "sebastian/recursion-context": "^6.0"
},
"require-dev": {
"ext-dom": "*",
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-main": "7.0-dev"
}
},
"autoload": {
@@ -14258,7 +13693,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
"security": "https://github.com/sebastianbergmann/global-state/security/policy",
- "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.2"
+ "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.2"
},
"funding": [
{
@@ -14266,33 +13701,33 @@
"type": "github"
}
],
- "time": "2024-03-02T07:19:19+00:00"
+ "time": "2024-07-03T04:57:36+00:00"
},
{
"name": "sebastian/lines-of-code",
- "version": "2.0.2",
+ "version": "3.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/lines-of-code.git",
- "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0"
+ "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/856e7f6a75a84e339195d48c556f23be2ebf75d0",
- "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d36ad0d782e5756913e42ad87cb2890f4ffe467a",
+ "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.18 || ^5.0",
- "php": ">=8.1"
+ "nikic/php-parser": "^5.0",
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -14316,7 +13751,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
"security": "https://github.com/sebastianbergmann/lines-of-code/security/policy",
- "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.2"
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.1"
},
"funding": [
{
@@ -14324,34 +13759,34 @@
"type": "github"
}
],
- "time": "2023-12-21T08:38:20+00:00"
+ "time": "2024-07-03T04:58:38+00:00"
},
{
"name": "sebastian/object-enumerator",
- "version": "5.0.0",
+ "version": "6.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906"
+ "reference": "f5b498e631a74204185071eb41f33f38d64608aa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906",
- "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f5b498e631a74204185071eb41f33f38d64608aa",
+ "reference": "f5b498e631a74204185071eb41f33f38d64608aa",
"shasum": ""
},
"require": {
- "php": ">=8.1",
- "sebastian/object-reflector": "^3.0",
- "sebastian/recursion-context": "^5.0"
+ "php": ">=8.2",
+ "sebastian/object-reflector": "^4.0",
+ "sebastian/recursion-context": "^6.0"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -14373,7 +13808,8 @@
"homepage": "https://github.com/sebastianbergmann/object-enumerator/",
"support": {
"issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
- "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0"
+ "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy",
+ "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.1"
},
"funding": [
{
@@ -14381,32 +13817,32 @@
"type": "github"
}
],
- "time": "2023-02-03T07:08:32+00:00"
+ "time": "2024-07-03T05:00:13+00:00"
},
{
"name": "sebastian/object-reflector",
- "version": "3.0.0",
+ "version": "4.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "24ed13d98130f0e7122df55d06c5c4942a577957"
+ "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957",
- "reference": "24ed13d98130f0e7122df55d06c5c4942a577957",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/6e1a43b411b2ad34146dee7524cb13a068bb35f9",
+ "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -14428,7 +13864,8 @@
"homepage": "https://github.com/sebastianbergmann/object-reflector/",
"support": {
"issues": "https://github.com/sebastianbergmann/object-reflector/issues",
- "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0"
+ "security": "https://github.com/sebastianbergmann/object-reflector/security/policy",
+ "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.1"
},
"funding": [
{
@@ -14436,32 +13873,32 @@
"type": "github"
}
],
- "time": "2023-02-03T07:06:18+00:00"
+ "time": "2024-07-03T05:01:32+00:00"
},
{
"name": "sebastian/recursion-context",
- "version": "5.0.0",
+ "version": "6.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "05909fb5bc7df4c52992396d0116aed689f93712"
+ "reference": "694d156164372abbd149a4b85ccda2e4670c0e16"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712",
- "reference": "05909fb5bc7df4c52992396d0116aed689f93712",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/694d156164372abbd149a4b85ccda2e4670c0e16",
+ "reference": "694d156164372abbd149a4b85ccda2e4670c0e16",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -14491,7 +13928,8 @@
"homepage": "https://github.com/sebastianbergmann/recursion-context",
"support": {
"issues": "https://github.com/sebastianbergmann/recursion-context/issues",
- "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0"
+ "security": "https://github.com/sebastianbergmann/recursion-context/security/policy",
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.2"
},
"funding": [
{
@@ -14499,32 +13937,32 @@
"type": "github"
}
],
- "time": "2023-02-03T07:05:40+00:00"
+ "time": "2024-07-03T05:10:34+00:00"
},
{
"name": "sebastian/type",
- "version": "4.0.0",
+ "version": "5.1.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
- "reference": "462699a16464c3944eefc02ebdd77882bd3925bf"
+ "reference": "461b9c5da241511a2a0e8f240814fb23ce5c0aac"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf",
- "reference": "462699a16464c3944eefc02ebdd77882bd3925bf",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/461b9c5da241511a2a0e8f240814fb23ce5c0aac",
+ "reference": "461b9c5da241511a2a0e8f240814fb23ce5c0aac",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "phpunit/phpunit": "^11.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-main": "5.1-dev"
}
},
"autoload": {
@@ -14547,7 +13985,8 @@
"homepage": "https://github.com/sebastianbergmann/type",
"support": {
"issues": "https://github.com/sebastianbergmann/type/issues",
- "source": "https://github.com/sebastianbergmann/type/tree/4.0.0"
+ "security": "https://github.com/sebastianbergmann/type/security/policy",
+ "source": "https://github.com/sebastianbergmann/type/tree/5.1.0"
},
"funding": [
{
@@ -14555,29 +13994,29 @@
"type": "github"
}
],
- "time": "2023-02-03T07:10:45+00:00"
+ "time": "2024-09-17T13:12:04+00:00"
},
{
"name": "sebastian/version",
- "version": "4.0.1",
+ "version": "5.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/version.git",
- "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17"
+ "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17",
- "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c687e3387b99f5b03b6caa64c74b63e2936ff874",
+ "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -14600,7 +14039,8 @@
"homepage": "https://github.com/sebastianbergmann/version",
"support": {
"issues": "https://github.com/sebastianbergmann/version/issues",
- "source": "https://github.com/sebastianbergmann/version/tree/4.0.1"
+ "security": "https://github.com/sebastianbergmann/version/security/policy",
+ "source": "https://github.com/sebastianbergmann/version/tree/5.0.2"
},
"funding": [
{
@@ -14608,20 +14048,20 @@
"type": "github"
}
],
- "time": "2023-02-07T11:34:05+00:00"
+ "time": "2024-10-09T05:16:32+00:00"
},
{
"name": "serversideup/spin",
- "version": "v1.1.0",
+ "version": "v2.3.0",
"source": {
"type": "git",
"url": "https://github.com/serversideup/spin.git",
- "reference": "03bb69dbdc6d6a68b82b4bb4cfeb7accc4f8758f"
+ "reference": "e7f742dfe54146196da26876670f368c11852df3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/serversideup/spin/zipball/03bb69dbdc6d6a68b82b4bb4cfeb7accc4f8758f",
- "reference": "03bb69dbdc6d6a68b82b4bb4cfeb7accc4f8758f",
+ "url": "https://api.github.com/repos/serversideup/spin/zipball/e7f742dfe54146196da26876670f368c11852df3",
+ "reference": "e7f742dfe54146196da26876670f368c11852df3",
"shasum": ""
},
"bin": [
@@ -14645,7 +14085,7 @@
"description": "Replicate your production environment locally using Docker. Just run \"spin up\". It's really that easy.",
"support": {
"issues": "https://github.com/serversideup/spin/issues",
- "source": "https://github.com/serversideup/spin/tree/v1.1.0"
+ "source": "https://github.com/serversideup/spin/tree/v2.3.0"
},
"funding": [
{
@@ -14653,7 +14093,70 @@
"type": "github"
}
],
- "time": "2022-05-20T15:13:10+00:00"
+ "time": "2024-10-15T15:12:28+00:00"
+ },
+ {
+ "name": "spatie/backtrace",
+ "version": "1.6.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/spatie/backtrace.git",
+ "reference": "1a9a145b044677ae3424693f7b06479fc8c137a9"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/spatie/backtrace/zipball/1a9a145b044677ae3424693f7b06479fc8c137a9",
+ "reference": "1a9a145b044677ae3424693f7b06479fc8c137a9",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.3|^8.0"
+ },
+ "require-dev": {
+ "ext-json": "*",
+ "laravel/serializable-closure": "^1.3",
+ "phpunit/phpunit": "^9.3",
+ "spatie/phpunit-snapshot-assertions": "^4.2",
+ "symfony/var-dumper": "^5.1"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Spatie\\Backtrace\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Freek Van de Herten",
+ "email": "freek@spatie.be",
+ "homepage": "https://spatie.be",
+ "role": "Developer"
+ }
+ ],
+ "description": "A better backtrace",
+ "homepage": "https://github.com/spatie/backtrace",
+ "keywords": [
+ "Backtrace",
+ "spatie"
+ ],
+ "support": {
+ "source": "https://github.com/spatie/backtrace/tree/1.6.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sponsors/spatie",
+ "type": "github"
+ },
+ {
+ "url": "https://spatie.be/open-source/support-us",
+ "type": "other"
+ }
+ ],
+ "time": "2024-07-22T08:21:24+00:00"
},
{
"name": "spatie/error-solutions",
@@ -14973,21 +14476,193 @@
"time": "2024-06-12T15:01:18+00:00"
},
{
- "name": "symfony/http-client",
- "version": "v6.4.14",
+ "name": "spatie/laravel-ray",
+ "version": "1.37.1",
"source": {
"type": "git",
- "url": "https://github.com/symfony/http-client.git",
- "reference": "05d88cbd816ad6e0202edd9a9963cb9d615b8826"
+ "url": "https://github.com/spatie/laravel-ray.git",
+ "reference": "c2bedfd1172648df2c80aaceb2541d70f1d9a5b9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-client/zipball/05d88cbd816ad6e0202edd9a9963cb9d615b8826",
- "reference": "05d88cbd816ad6e0202edd9a9963cb9d615b8826",
+ "url": "https://api.github.com/repos/spatie/laravel-ray/zipball/c2bedfd1172648df2c80aaceb2541d70f1d9a5b9",
+ "reference": "c2bedfd1172648df2c80aaceb2541d70f1d9a5b9",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "ext-json": "*",
+ "illuminate/contracts": "^7.20|^8.19|^9.0|^10.0|^11.0",
+ "illuminate/database": "^7.20|^8.19|^9.0|^10.0|^11.0",
+ "illuminate/queue": "^7.20|^8.19|^9.0|^10.0|^11.0",
+ "illuminate/support": "^7.20|^8.19|^9.0|^10.0|^11.0",
+ "php": "^7.4|^8.0",
+ "rector/rector": "^0.19.2|^1.0",
+ "spatie/backtrace": "^1.0",
+ "spatie/ray": "^1.41.1",
+ "symfony/stopwatch": "4.2|^5.1|^6.0|^7.0",
+ "zbateson/mail-mime-parser": "^1.3.1|^2.0|^3.0"
+ },
+ "require-dev": {
+ "guzzlehttp/guzzle": "^7.3",
+ "laravel/framework": "^7.20|^8.19|^9.0|^10.0|^11.0",
+ "orchestra/testbench-core": "^5.0|^6.0|^7.0|^8.0|^9.0",
+ "pestphp/pest": "^1.22|^2.0",
+ "phpstan/phpstan": "^1.10.57",
+ "phpunit/phpunit": "^9.3|^10.1",
+ "spatie/pest-plugin-snapshots": "^1.1|^2.0",
+ "symfony/var-dumper": "^4.2|^5.1|^6.0|^7.0.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.x-dev"
+ },
+ "laravel": {
+ "providers": [
+ "Spatie\\LaravelRay\\RayServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Spatie\\LaravelRay\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Freek Van der Herten",
+ "email": "freek@spatie.be",
+ "homepage": "https://spatie.be",
+ "role": "Developer"
+ }
+ ],
+ "description": "Easily debug Laravel apps",
+ "homepage": "https://github.com/spatie/laravel-ray",
+ "keywords": [
+ "laravel-ray",
+ "spatie"
+ ],
+ "support": {
+ "issues": "https://github.com/spatie/laravel-ray/issues",
+ "source": "https://github.com/spatie/laravel-ray/tree/1.37.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sponsors/spatie",
+ "type": "github"
+ },
+ {
+ "url": "https://spatie.be/open-source/support-us",
+ "type": "other"
+ }
+ ],
+ "time": "2024-07-12T12:35:17+00:00"
+ },
+ {
+ "name": "spatie/ray",
+ "version": "1.41.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/spatie/ray.git",
+ "reference": "c44f8cfbf82c69909b505de61d8d3f2d324e93fc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/spatie/ray/zipball/c44f8cfbf82c69909b505de61d8d3f2d324e93fc",
+ "reference": "c44f8cfbf82c69909b505de61d8d3f2d324e93fc",
+ "shasum": ""
+ },
+ "require": {
+ "ext-curl": "*",
+ "ext-json": "*",
+ "php": "^7.3|^8.0",
+ "ramsey/uuid": "^3.0|^4.1",
+ "spatie/backtrace": "^1.1",
+ "spatie/macroable": "^1.0|^2.0",
+ "symfony/stopwatch": "^4.0|^5.1|^6.0|^7.0",
+ "symfony/var-dumper": "^4.2|^5.1|^6.0|^7.0.3"
+ },
+ "require-dev": {
+ "illuminate/support": "6.x|^8.18|^9.0",
+ "nesbot/carbon": "^2.63",
+ "pestphp/pest": "^1.22",
+ "phpstan/phpstan": "^1.10",
+ "phpunit/phpunit": "^9.5",
+ "rector/rector": "^0.19.2",
+ "spatie/phpunit-snapshot-assertions": "^4.2",
+ "spatie/test-time": "^1.2"
+ },
+ "bin": [
+ "bin/remove-ray.sh"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/helpers.php"
+ ],
+ "psr-4": {
+ "Spatie\\Ray\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Freek Van der Herten",
+ "email": "freek@spatie.be",
+ "homepage": "https://spatie.be",
+ "role": "Developer"
+ }
+ ],
+ "description": "Debug with Ray to fix problems faster",
+ "homepage": "https://github.com/spatie/ray",
+ "keywords": [
+ "ray",
+ "spatie"
+ ],
+ "support": {
+ "issues": "https://github.com/spatie/ray/issues",
+ "source": "https://github.com/spatie/ray/tree/1.41.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sponsors/spatie",
+ "type": "github"
+ },
+ {
+ "url": "https://spatie.be/open-source/support-us",
+ "type": "other"
+ }
+ ],
+ "time": "2024-04-24T14:21:46+00:00"
+ },
+ {
+ "name": "symfony/http-client",
+ "version": "v7.1.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/http-client.git",
+ "reference": "c30d91a1deac0dc3ed5e604683cf2e1dfc635b8a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/http-client/zipball/c30d91a1deac0dc3ed5e604683cf2e1dfc635b8a",
+ "reference": "c30d91a1deac0dc3ed5e604683cf2e1dfc635b8a",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
"psr/log": "^1|^2|^3",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/http-client-contracts": "^3.4.1",
@@ -14995,7 +14670,7 @@
},
"conflict": {
"php-http/discovery": "<1.15",
- "symfony/http-foundation": "<6.3"
+ "symfony/http-foundation": "<6.4"
},
"provide": {
"php-http/async-client-implementation": "*",
@@ -15012,11 +14687,12 @@
"nyholm/psr7": "^1.0",
"php-http/httplug": "^1.0|^2.0",
"psr/http-client": "^1.0",
- "symfony/dependency-injection": "^5.4|^6.0|^7.0",
- "symfony/http-kernel": "^5.4|^6.0|^7.0",
- "symfony/messenger": "^5.4|^6.0|^7.0",
- "symfony/process": "^5.4|^6.0|^7.0",
- "symfony/stopwatch": "^5.4|^6.0|^7.0"
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/messenger": "^6.4|^7.0",
+ "symfony/process": "^6.4|^7.0",
+ "symfony/rate-limiter": "^6.4|^7.0",
+ "symfony/stopwatch": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -15047,7 +14723,7 @@
"http"
],
"support": {
- "source": "https://github.com/symfony/http-client/tree/v6.4.14"
+ "source": "https://github.com/symfony/http-client/tree/v7.1.8"
},
"funding": [
{
@@ -15063,7 +14739,7 @@
"type": "tidelift"
}
],
- "time": "2024-11-05T16:39:55+00:00"
+ "time": "2024-11-13T13:40:27+00:00"
},
{
"name": "symfony/http-client-contracts",
@@ -15143,6 +14819,148 @@
],
"time": "2024-04-18T09:32:20+00:00"
},
+ {
+ "name": "symfony/polyfill-iconv",
+ "version": "v1.31.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-iconv.git",
+ "reference": "48becf00c920479ca2e910c22a5a39e5d47ca956"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/48becf00c920479ca2e910c22a5a39e5d47ca956",
+ "reference": "48becf00c920479ca2e910c22a5a39e5d47ca956",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2"
+ },
+ "provide": {
+ "ext-iconv": "*"
+ },
+ "suggest": {
+ "ext-iconv": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Iconv\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for the Iconv extension",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "iconv",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-iconv/tree/v1.31.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-09-09T11:45:10+00:00"
+ },
+ {
+ "name": "symfony/stopwatch",
+ "version": "v7.1.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/stopwatch.git",
+ "reference": "8b4a434e6e7faf6adedffb48783a5c75409a1a05"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/stopwatch/zipball/8b4a434e6e7faf6adedffb48783a5c75409a1a05",
+ "reference": "8b4a434e6e7faf6adedffb48783a5c75409a1a05",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "symfony/service-contracts": "^2.5|^3"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Stopwatch\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides a way to profile code",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/stopwatch/tree/v7.1.6"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-09-25T14:20:29+00:00"
+ },
{
"name": "ta-tikoma/phpunit-architecture-test",
"version": "0.8.4",
@@ -15251,6 +15069,214 @@
}
],
"time": "2024-03-03T12:36:25+00:00"
+ },
+ {
+ "name": "zbateson/mail-mime-parser",
+ "version": "3.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/zbateson/mail-mime-parser.git",
+ "reference": "e0d4423fe27850c9dd301190767dbc421acc2f19"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/zbateson/mail-mime-parser/zipball/e0d4423fe27850c9dd301190767dbc421acc2f19",
+ "reference": "e0d4423fe27850c9dd301190767dbc421acc2f19",
+ "shasum": ""
+ },
+ "require": {
+ "guzzlehttp/psr7": "^2.5",
+ "php": ">=8.0",
+ "php-di/php-di": "^6.0|^7.0",
+ "psr/log": "^1|^2|^3",
+ "zbateson/mb-wrapper": "^2.0",
+ "zbateson/stream-decorators": "^2.1"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "*",
+ "monolog/monolog": "^2|^3",
+ "phpstan/phpstan": "*",
+ "phpunit/phpunit": "^9.6"
+ },
+ "suggest": {
+ "ext-iconv": "For best support/performance",
+ "ext-mbstring": "For best support/performance"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "ZBateson\\MailMimeParser\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-2-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Zaahid Bateson"
+ },
+ {
+ "name": "Contributors",
+ "homepage": "https://github.com/zbateson/mail-mime-parser/graphs/contributors"
+ }
+ ],
+ "description": "MIME email message parser",
+ "homepage": "https://mail-mime-parser.org",
+ "keywords": [
+ "MimeMailParser",
+ "email",
+ "mail",
+ "mailparse",
+ "mime",
+ "mimeparse",
+ "parser",
+ "php-imap"
+ ],
+ "support": {
+ "docs": "https://mail-mime-parser.org/#usage-guide",
+ "issues": "https://github.com/zbateson/mail-mime-parser/issues",
+ "source": "https://github.com/zbateson/mail-mime-parser"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/zbateson",
+ "type": "github"
+ }
+ ],
+ "time": "2024-08-10T18:44:09+00:00"
+ },
+ {
+ "name": "zbateson/mb-wrapper",
+ "version": "2.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/zbateson/mb-wrapper.git",
+ "reference": "9e4373a153585d12b6c621ac4a6bb143264d4619"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/zbateson/mb-wrapper/zipball/9e4373a153585d12b6c621ac4a6bb143264d4619",
+ "reference": "9e4373a153585d12b6c621ac4a6bb143264d4619",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.0",
+ "symfony/polyfill-iconv": "^1.9",
+ "symfony/polyfill-mbstring": "^1.9"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "*",
+ "phpstan/phpstan": "*",
+ "phpunit/phpunit": "<10.0"
+ },
+ "suggest": {
+ "ext-iconv": "For best support/performance",
+ "ext-mbstring": "For best support/performance"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "ZBateson\\MbWrapper\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-2-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Zaahid Bateson"
+ }
+ ],
+ "description": "Wrapper for mbstring with fallback to iconv for encoding conversion and string manipulation",
+ "keywords": [
+ "charset",
+ "encoding",
+ "http",
+ "iconv",
+ "mail",
+ "mb",
+ "mb_convert_encoding",
+ "mbstring",
+ "mime",
+ "multibyte",
+ "string"
+ ],
+ "support": {
+ "issues": "https://github.com/zbateson/mb-wrapper/issues",
+ "source": "https://github.com/zbateson/mb-wrapper/tree/2.0.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/zbateson",
+ "type": "github"
+ }
+ ],
+ "time": "2024-03-20T01:38:07+00:00"
+ },
+ {
+ "name": "zbateson/stream-decorators",
+ "version": "2.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/zbateson/stream-decorators.git",
+ "reference": "32a2a62fb0f26313395c996ebd658d33c3f9c4e5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/zbateson/stream-decorators/zipball/32a2a62fb0f26313395c996ebd658d33c3f9c4e5",
+ "reference": "32a2a62fb0f26313395c996ebd658d33c3f9c4e5",
+ "shasum": ""
+ },
+ "require": {
+ "guzzlehttp/psr7": "^2.5",
+ "php": ">=8.0",
+ "zbateson/mb-wrapper": "^2.0"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "*",
+ "phpstan/phpstan": "*",
+ "phpunit/phpunit": "^9.6|^10.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "ZBateson\\StreamDecorators\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-2-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Zaahid Bateson"
+ }
+ ],
+ "description": "PHP psr7 stream decorators for mime message part streams",
+ "keywords": [
+ "base64",
+ "charset",
+ "decorators",
+ "mail",
+ "mime",
+ "psr7",
+ "quoted-printable",
+ "stream",
+ "uuencode"
+ ],
+ "support": {
+ "issues": "https://github.com/zbateson/stream-decorators/issues",
+ "source": "https://github.com/zbateson/stream-decorators/tree/2.1.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/zbateson",
+ "type": "github"
+ }
+ ],
+ "time": "2024-04-29T21:42:39+00:00"
}
],
"aliases": [],
diff --git a/config/constants.php b/config/constants.php
index 1bec2e3bf..532feb56c 100644
--- a/config/constants.php
+++ b/config/constants.php
@@ -1,11 +1,47 @@
'26.0',
- 'docs' => [
- 'base_url' => 'https://coolify.io/docs',
+ 'coolify' => [
+ 'version' => '4.0.0-beta.368',
+ 'self_hosted' => env('SELF_HOSTED', true),
+ 'autoupdate' => env('AUTOUPDATE', false),
+ 'base_config_path' => env('BASE_CONFIG_PATH', '/data/coolify'),
+ 'helper_image' => env('HELPER_IMAGE', 'ghcr.io/coollabsio/coolify-helper'),
+ 'is_windows_docker_desktop' => env('IS_WINDOWS_DOCKER_DESKTOP', false),
+ ],
+
+ 'urls' => [
+ 'docs' => 'https://coolify.io/docs',
'contact' => 'https://coolify.io/docs/contact',
],
+
+ 'services' => [
+ // Temporary disabled until cache is implemented
+ // 'official' => 'https://cdn.coollabs.io/coolify/service-templates.json',
+ 'official' => 'https://raw.githubusercontent.com/coollabsio/coolify/main/templates/service-templates.json',
+ ],
+
+ 'terminal' => [
+ 'protocol' => env('TERMINAL_PROTOCOL'),
+ 'host' => env('TERMINAL_HOST'),
+ 'port' => env('TERMINAL_PORT'),
+ ],
+
+ 'pusher' => [
+ 'host' => env('PUSHER_HOST'),
+ 'port' => env('PUSHER_PORT'),
+ 'app_key' => env('PUSHER_APP_KEY'),
+ ],
+
+ 'horizon' => [
+ 'is_horizon_enabled' => env('HORIZON_ENABLED', true),
+ 'is_scheduler_enabled' => env('SCHEDULER_ENABLED', true),
+ ],
+
+ 'docker' => [
+ 'minimum_required_version' => '26.0',
+ ],
+
'ssh' => [
'mux_enabled' => env('MUX_ENABLED', env('SSH_MUX_ENABLED', true)),
'mux_persist_time' => env('SSH_MUX_PERSIST_TIME', 3600),
@@ -13,20 +49,14 @@ return [
'server_interval' => 20,
'command_timeout' => 7200,
],
- 'waitlist' => [
- 'expiration' => 10,
- ],
+
'invitation' => [
'link' => [
'base_url' => '/invitations/',
'expiration_days' => 3,
],
],
- 'services' => [
- // Temporary disabled until cache is implemented
- // 'official' => 'https://cdn.coollabs.io/coolify/service-templates.json',
- 'official' => 'https://raw.githubusercontent.com/coollabsio/coolify/main/templates/service-templates.json',
- ],
+
'limits' => [
'trial_period' => 0,
'server' => [
@@ -46,4 +76,23 @@ return [
'dynamic' => true,
],
],
+
+ 'waitlist' => [
+ 'enabled' => env('WAITLIST', false),
+ 'expiration' => 10,
+ ],
+
+ 'sentry' => [
+ 'sentry_dsn' => env('SENTRY_DSN'),
+ ],
+
+ 'webhooks' => [
+ 'feedback_discord_webhook' => env('FEEDBACK_DISCORD_WEBHOOK'),
+ 'dev_webhook' => env('SERVEO_URL'),
+ ],
+
+ 'bunny' => [
+ 'storage_api_key' => env('BUNNY_STORAGE_API_KEY'),
+ 'api_key' => env('BUNNY_API_KEY'),
+ ],
];
diff --git a/config/coolify.php b/config/coolify.php
deleted file mode 100644
index 225dfe6fa..000000000
--- a/config/coolify.php
+++ /dev/null
@@ -1,17 +0,0 @@
- env('SENTRY_DSN'),
- 'docs' => 'https://coolify.io/docs/',
- 'contact' => 'https://coolify.io/docs/contact',
- 'feedback_discord_webhook' => env('FEEDBACK_DISCORD_WEBHOOK'),
- 'self_hosted' => env('SELF_HOSTED', true),
- 'waitlist' => env('WAITLIST', false),
- 'license_url' => 'https://licenses.coollabs.io',
- 'dev_webhook' => env('SERVEO_URL'),
- 'is_windows_docker_desktop' => env('IS_WINDOWS_DOCKER_DESKTOP', false),
- 'base_config_path' => env('BASE_CONFIG_PATH', '/data/coolify'),
- 'helper_image' => env('HELPER_IMAGE', 'ghcr.io/coollabsio/coolify-helper'),
- 'is_horizon_enabled' => env('HORIZON_ENABLED', true),
- 'is_scheduler_enabled' => env('SCHEDULER_ENABLED', true),
-];
diff --git a/config/redoc.php b/config/redoc.php
new file mode 100644
index 000000000..439e93e7b
--- /dev/null
+++ b/config/redoc.php
@@ -0,0 +1,28 @@
+ '',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Variables
+ |--------------------------------------------------------------------------
+ |
+ | You can automatically replace variables in your OpenAPI definitions by
+ | adding a key value pair to the array below. This will replace any
+ | instances of :key with the given value.
+ |
+ */
+
+ 'variables' => [],
+
+];
diff --git a/config/sentry.php b/config/sentry.php
index 117a0e6d8..0efb4a0e2 100644
--- a/config/sentry.php
+++ b/config/sentry.php
@@ -3,11 +3,11 @@
return [
// @see https://docs.sentry.io/product/sentry-basics/dsn-explainer/
- 'dsn' => config('coolify.sentry_dsn'),
+ 'dsn' => config('constants.sentry.sentry_dsn'),
// The release version of your application
// Example with dynamic git hash: trim(exec('git --git-dir ' . base_path('.git') . ' log --pretty="%h" -n1 HEAD'))
- 'release' => '4.0.0-beta.367',
+ 'release' => config('constants.coolify.version'),
// When left empty or `null` the Laravel environment will be used
'environment' => config('app.env'),
diff --git a/config/version.php b/config/version.php
index 3b32ad4af..ddb1cb354 100644
--- a/config/version.php
+++ b/config/version.php
@@ -1,3 +1,3 @@
files();
$coolify_key = collect($ssh_keys_directory)->firstWhere(fn ($item) => str($item)->contains($coolify_key_name));
@@ -127,7 +127,7 @@ class ProductionSeeder extends Seeder
}
}
}
- if (config('coolify.is_windows_docker_desktop')) {
+ if (config('constants.coolify.is_windows_docker_desktop')) {
PrivateKey::updateOrCreate(
[
'id' => 0,
diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml
index f1da567fc..05b9f9cfb 100644
--- a/docker-compose.dev.yml
+++ b/docker-compose.dev.yml
@@ -60,7 +60,7 @@ services:
SOKETI_DEFAULT_APP_SECRET: "${PUSHER_APP_SECRET:-coolify}"
entrypoint: ["/bin/sh", "/soketi-entrypoint.sh"]
vite:
- image: node:20
+ image: node:20-alpine
pull_policy: always
working_dir: /var/www/html
environment:
@@ -74,8 +74,9 @@ services:
networks:
- coolify
testing-host:
- image: "ghcr.io/coollabsio/coolify-testing-host:latest"
- pull_policy: always
+ build:
+ context: .
+ dockerfile: ./docker/testing-host/Dockerfile
init: true
container_name: coolify-testing-host
volumes:
@@ -88,7 +89,7 @@ services:
networks:
- coolify
mailpit:
- image: "axllent/mailpit:latest"
+ image: axllent/mailpit:latest
pull_policy: always
container_name: coolify-mail
ports:
diff --git a/docker-compose.windows.yml b/docker-compose.windows.yml
index d92dc6332..f2b03d209 100644
--- a/docker-compose.windows.yml
+++ b/docker-compose.windows.yml
@@ -86,7 +86,7 @@ services:
retries: 10
timeout: 2s
redis:
- image: redis:alpine
+ image: redis:7-alpine
pull_policy: always
container_name: coolify-redis
restart: always
diff --git a/docker-compose.yml b/docker-compose.yml
index 68d0f0744..0fd3dda07 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -4,7 +4,7 @@ services:
restart: always
working_dir: /var/www/html
extra_hosts:
- - 'host.docker.internal:host-gateway'
+ - host.docker.internal:host-gateway
networks:
- coolify
depends_on:
@@ -18,7 +18,7 @@ services:
networks:
- coolify
redis:
- image: redis:alpine
+ image: redis:7-alpine
container_name: coolify-redis
restart: always
networks:
@@ -26,7 +26,7 @@ services:
soketi:
container_name: coolify-realtime
extra_hosts:
- - 'host.docker.internal:host-gateway'
+ - host.docker.internal:host-gateway
restart: always
networks:
- coolify
diff --git a/docker/coolify-helper/Dockerfile b/docker/coolify-helper/Dockerfile
index 48f401da4..c375db5f8 100644
--- a/docker/coolify-helper/Dockerfile
+++ b/docker/coolify-helper/Dockerfile
@@ -1,16 +1,29 @@
-FROM alpine:3.17
-
-ARG TARGETPLATFORM
+# Versions
+# https://hub.docker.com/_/alpine
+ARG BASE_IMAGE=alpine:3.20
# https://download.docker.com/linux/static/stable/
-ARG DOCKER_VERSION=26.1.3
+ARG DOCKER_VERSION=27.3.1
# https://github.com/docker/compose/releases
-ARG DOCKER_COMPOSE_VERSION=2.27.1
+ARG DOCKER_COMPOSE_VERSION=2.30.3
# https://github.com/docker/buildx/releases
-ARG DOCKER_BUILDX_VERSION=0.14.1
+ARG DOCKER_BUILDX_VERSION=0.18.0
# https://github.com/buildpacks/pack/releases
ARG PACK_VERSION=0.35.1
# https://github.com/railwayapp/nixpacks/releases
ARG NIXPACKS_VERSION=1.29.0
+# https://hub.docker.com/r/minio/mc/tags
+ARG MINIO_VERSION=RELEASE.2024-03-07T00-31-49Z
+
+FROM minio/mc:${MINIO_VERSION} AS minio-client
+
+FROM ${BASE_IMAGE} AS base
+
+ARG TARGETPLATFORM
+ARG DOCKER_VERSION
+ARG DOCKER_COMPOSE_VERSION
+ARG DOCKER_BUILDX_VERSION
+ARG PACK_VERSION
+ARG NIXPACKS_VERSION
USER root
WORKDIR /artifacts
@@ -34,9 +47,8 @@ RUN if [[ ${TARGETPLATFORM} == 'linux/arm64' ]]; then \
chmod +x ~/.docker/cli-plugins/docker-compose /usr/bin/docker /usr/local/bin/pack /root/.docker/cli-plugins/docker-buildx \
;fi
-COPY --from=minio/mc:RELEASE.2024-09-09T07-53-10Z /usr/bin/mc /usr/bin/mc
+COPY --from=minio-client /usr/bin/mc /usr/bin/mc
RUN chmod +x /usr/bin/mc
ENTRYPOINT ["/sbin/tini", "--"]
CMD ["tail", "-f", "/dev/null"]
-
diff --git a/docker/coolify-realtime/package-lock.json b/docker/coolify-realtime/package-lock.json
index f5fd1ba18..9316442ae 100644
--- a/docker/coolify-realtime/package-lock.json
+++ b/docker/coolify-realtime/package-lock.json
@@ -7,7 +7,7 @@
"dependencies": {
"@xterm/addon-fit": "0.10.0",
"@xterm/xterm": "5.5.0",
- "axios": "1.7.5",
+ "axios": "1.7.7",
"cookie": "1.0.1",
"dotenv": "16.4.5",
"node-pty": "1.0.0",
@@ -36,9 +36,9 @@
"license": "MIT"
},
"node_modules/axios": {
- "version": "1.7.5",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.5.tgz",
- "integrity": "sha512-fZu86yCo+svH3uqJ/yTdQ0QHpQu5oL+/QE+QPSv6BZSkDAoky9vytxp7u5qk83OJFS3kEBcesWni9WTZAv3tSw==",
+ "version": "1.7.7",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz",
+ "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==",
"license": "MIT",
"dependencies": {
"follow-redirects": "^1.15.6",
diff --git a/docker/coolify-realtime/package.json b/docker/coolify-realtime/package.json
index faeb80f54..8b2076f8d 100644
--- a/docker/coolify-realtime/package.json
+++ b/docker/coolify-realtime/package.json
@@ -5,7 +5,7 @@
"@xterm/addon-fit": "0.10.0",
"@xterm/xterm": "5.5.0",
"cookie": "1.0.1",
- "axios": "1.7.5",
+ "axios": "1.7.7",
"dotenv": "16.4.5",
"node-pty": "1.0.0",
"ws": "8.18.0"
diff --git a/docker/dev/Dockerfile b/docker/dev/Dockerfile
index d2381f764..e90521759 100644
--- a/docker/dev/Dockerfile
+++ b/docker/dev/Dockerfile
@@ -1,10 +1,21 @@
-FROM serversideup/php:8.2-fpm-nginx-v2.2.1
+# Versions
+# https://hub.docker.com/r/serversideup/php/tags?name=8.3-fpm-nginx-alpine
+ARG SERVERSIDEUP_PHP_VERSION=8.2-fpm-nginx-v2.2.1
+# https://github.com/minio/mc/releases
+ARG MINIO_VERSION=RELEASE.2024-11-05T11-29-45Z
+# https://github.com/cloudflare/cloudflared/releases
+ARG CLOUDFLARED_VERSION=2024.11.0
+# https://www.postgresql.org/support/versioning/ - Can not updated automatically so keep it at 15
+ARG POSTGRES_VERSION=15
+
+FROM minio/mc:${MINIO_VERSION} AS minio-client
+
+FROM serversideup/php:${SERVERSIDEUP_PHP_VERSION}
ARG TARGETPLATFORM
-# https://github.com/cloudflare/cloudflared/releases
-ARG CLOUDFLARED_VERSION=2024.4.1
-
-ARG POSTGRES_VERSION=15
+ARG CLOUDFLARED_VERSION
+ARG MINIO_VERSION
+ARG POSTGRES_VERSION
# Use build arguments for caching
ARG BUILDTIME_DEPS="dirmngr ca-certificates software-properties-common gnupg gnupg2 apt-transport-https curl"
@@ -41,7 +52,7 @@ RUN --mount=type=cache,target=/root/.cache \
curl -L https://github.com/cloudflare/cloudflared/releases/download/${CLOUDFLARED_VERSION}/cloudflared-linux-arm64 -o /usr/local/bin/cloudflared && chmod +x /usr/local/bin/cloudflared \
;fi"
-COPY --from=minio/mc:RELEASE.2024-09-09T07-53-10Z /usr/bin/mc /usr/bin/mc
+COPY --from=minio-client /usr/bin/mc /usr/bin/mc
RUN chmod +x /usr/bin/mc
RUN { \
diff --git a/docker/prod/Dockerfile b/docker/prod/Dockerfile
index 37e0481bb..ca34bb05b 100644
--- a/docker/prod/Dockerfile
+++ b/docker/prod/Dockerfile
@@ -1,4 +1,15 @@
-FROM serversideup/php:8.2-fpm-nginx-v2.2.1 AS base
+# Versions
+# https://hub.docker.com/r/serversideup/php/tags?name=8.3-fpm-nginx-alpine
+ARG SERVERSIDEUP_PHP_VERSION=8.2-fpm-nginx-v2.2.1
+# https://github.com/minio/mc/releases
+ARG MINIO_VERSION=RELEASE.2024-11-05T11-29-45Z
+# https://github.com/cloudflare/cloudflared/releases
+ARG CLOUDFLARED_VERSION=2024.11.0
+# https://www.postgresql.org/support/versioning/ - Can not updated automatically so keep it at 15
+ARG POSTGRES_VERSION=15
+
+
+FROM serversideup/php:${SERVERSIDEUP_PHP_VERSION} AS base
WORKDIR /var/www/html
COPY composer.json composer.lock ./
@@ -11,12 +22,13 @@ COPY --from=base --chown=9999:9999 /var/www/html .
RUN npm install
RUN npm run build
-FROM serversideup/php:8.2-fpm-nginx-v2.2.1
+FROM minio/mc:${MINIO_VERSION} AS minio-client
+
+FROM serversideup/php:${SERVERSIDEUP_PHP_VERSION}
ARG TARGETPLATFORM
-# https://github.com/cloudflare/cloudflared/releases
-ARG CLOUDFLARED_VERSION=2024.4.1
-ARG POSTGRES_VERSION=15
+ARG CLOUDFLARED_VERSION
+ARG POSTGRES_VERSION
ARG CI=true
WORKDIR /var/www/html
@@ -29,7 +41,7 @@ RUN curl -fSsL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmo
RUN echo deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt/ jammy-pgdg main | tee -a /etc/apt/sources.list.d/postgresql.list
RUN apt-get update
-RUN apt-get install postgresql-client-$POSTGRES_VERSION -y
+RUN apt-get install postgresql-client-${POSTGRES_VERSION} -y
# Coolify requirements
RUN apt-get install -y php8.2-pgsql openssh-client git git-lfs jq lsof vim
@@ -47,8 +59,10 @@ COPY --chmod=755 docker/prod/etc/s6-overlay/ /etc/s6-overlay/
RUN php artisan route:clear
RUN php artisan view:clear
+RUN php artisan config:clear
RUN php artisan route:cache
RUN php artisan view:cache
+RUN php artisan config:cache
RUN echo "alias ll='ls -al'" >>/etc/bash.bashrc
RUN echo "alias a='php artisan'" >>/etc/bash.bashrc
@@ -71,5 +85,5 @@ RUN { \
echo 'post_max_size=256M'; \
} > /etc/php/current_version/cli/conf.d/upload-limits.ini
-COPY --from=minio/mc:RELEASE.2024-09-09T07-53-10Z /usr/bin/mc /usr/bin/mc
-RUN chmod +x /usr/bin/mc
+COPY --from=minio-client /usr/bin/mc /usr/bin/mc
+RUN chmod +x /usr/bin/mc
\ No newline at end of file
diff --git a/docker/testing-host/Dockerfile b/docker/testing-host/Dockerfile
index deb09eeba..d98fcc821 100644
--- a/docker/testing-host/Dockerfile
+++ b/docker/testing-host/Dockerfile
@@ -1,16 +1,22 @@
+# Versions
+# https://download.docker.com/linux/static/stable/
+ARG DOCKER_VERSION=27.3.1
+# https://github.com/docker/compose/releases
+ARG DOCKER_COMPOSE_VERSION=2.30.3
+# https://github.com/docker/buildx/releases
+ARG DOCKER_BUILDX_VERSION=0.18.0
+
+
FROM debian:12-slim
ARG TARGETPLATFORM
-# https://download.docker.com/linux/static/stable/
-ARG DOCKER_VERSION=26.1.2
-# https://github.com/docker/compose/releases
-ARG DOCKER_COMPOSE_VERSION=2.27.0
-# https://github.com/docker/buildx/releases
-ARG DOCKER_BUILDX_VERSION=0.14.0
+ARG DOCKER_VERSION
+ARG DOCKER_COMPOSE_VERSION
+ARG DOCKER_BUILDX_VERSION
USER root
WORKDIR /root
-ENV PATH "$PATH:/host/usr/local/sbin:/host/usr/local/bin:/host/usr/sbin:/host/usr/bin:/host/sbin:/host/bin"
+ENV PATH="/host/usr/local/sbin:/host/usr/local/bin:/host/usr/sbin:/host/usr/bin:/host/sbin:/host/bin:$PATH"
RUN apt update && apt -y install openssh-client openssh-server curl wget git jq jc
RUN mkdir -p ~/.docker/cli-plugins
diff --git a/examples/traefik-dynamic-catch-all.yaml b/examples/traefik-dynamic-catch-all.yaml
deleted file mode 100644
index 54f7b1fb9..000000000
--- a/examples/traefik-dynamic-catch-all.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
-# This is an example dynamic configuration.
-http:
- routers:
- catchall:
- entryPoints:
- - http
- - https
- service: noop
- rule: HostRegexp(`{catchall:.*}`)
- priority: 1
- middlewares:
- - redirect-regexp
- services:
- noop:
- loadBalancer:
- servers:
- - url: ''
- middlewares:
- redirect-regexp:
- redirectRegex:
- regex: '(.*)'
- replacement: 'https://coolify.io'
- permanent: false
\ No newline at end of file
diff --git a/examples/traefik-dynamic-coolify.yaml b/examples/traefik-dynamic-coolify.yaml
deleted file mode 100644
index 0c5f7e311..000000000
--- a/examples/traefik-dynamic-coolify.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-# This is an example dynamic configuration.
-http:
- routers:
- coolify-http:
- entryPoints:
- - http
- service: coolify
- rule: Host(`coolify.io`)
- services:
- coolify:
- loadBalancer:
- servers:
- -
- url: 'http://coolify:80'
\ No newline at end of file
diff --git a/openapi.json b/openapi.json
new file mode 100644
index 000000000..cdcd47f40
--- /dev/null
+++ b/openapi.json
@@ -0,0 +1,7985 @@
+{
+ "openapi": "3.0.0",
+ "info": {
+ "title": "Coolify",
+ "version": "0.1"
+ },
+ "servers": [
+ {
+ "url": "https:\/\/app.coolify.io\/api\/v1",
+ "description": "Coolify Cloud API. Change the host to your own instance if you are self-hosting."
+ }
+ ],
+ "paths": {
+ "\/applications": {
+ "get": {
+ "tags": [
+ "Applications"
+ ],
+ "summary": "List",
+ "description": "List all applications.",
+ "operationId": "list-applications",
+ "responses": {
+ "200": {
+ "description": "Get all applications.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#\/components\/schemas\/Application"
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/applications\/public": {
+ "post": {
+ "tags": [
+ "Applications"
+ ],
+ "summary": "Create (Public)",
+ "description": "Create new application based on a public git repository.",
+ "operationId": "create-public-application",
+ "requestBody": {
+ "description": "Application object that needs to be created.",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "required": [
+ "project_uuid",
+ "server_uuid",
+ "environment_name",
+ "git_repository",
+ "git_branch",
+ "build_pack",
+ "ports_exposes"
+ ],
+ "properties": {
+ "project_uuid": {
+ "type": "string",
+ "description": "The project UUID."
+ },
+ "server_uuid": {
+ "type": "string",
+ "description": "The server UUID."
+ },
+ "environment_name": {
+ "type": "string",
+ "description": "The environment name."
+ },
+ "git_repository": {
+ "type": "string",
+ "description": "The git repository URL."
+ },
+ "git_branch": {
+ "type": "string",
+ "description": "The git branch."
+ },
+ "build_pack": {
+ "type": "string",
+ "enum": [
+ "nixpacks",
+ "static",
+ "dockerfile",
+ "dockercompose"
+ ],
+ "description": "The build pack type."
+ },
+ "ports_exposes": {
+ "type": "string",
+ "description": "The ports to expose."
+ },
+ "destination_uuid": {
+ "type": "string",
+ "description": "The destination UUID."
+ },
+ "name": {
+ "type": "string",
+ "description": "The application name."
+ },
+ "description": {
+ "type": "string",
+ "description": "The application description."
+ },
+ "domains": {
+ "type": "string",
+ "description": "The application domains."
+ },
+ "git_commit_sha": {
+ "type": "string",
+ "description": "The git commit SHA."
+ },
+ "docker_registry_image_name": {
+ "type": "string",
+ "description": "The docker registry image name."
+ },
+ "docker_registry_image_tag": {
+ "type": "string",
+ "description": "The docker registry image tag."
+ },
+ "is_static": {
+ "type": "boolean",
+ "description": "The flag to indicate if the application is static."
+ },
+ "static_image": {
+ "type": "string",
+ "enum": [
+ "nginx:alpine"
+ ],
+ "description": "The static image."
+ },
+ "install_command": {
+ "type": "string",
+ "description": "The install command."
+ },
+ "build_command": {
+ "type": "string",
+ "description": "The build command."
+ },
+ "start_command": {
+ "type": "string",
+ "description": "The start command."
+ },
+ "ports_mappings": {
+ "type": "string",
+ "description": "The ports mappings."
+ },
+ "base_directory": {
+ "type": "string",
+ "description": "The base directory for all commands."
+ },
+ "publish_directory": {
+ "type": "string",
+ "description": "The publish directory."
+ },
+ "health_check_enabled": {
+ "type": "boolean",
+ "description": "Health check enabled."
+ },
+ "health_check_path": {
+ "type": "string",
+ "description": "Health check path."
+ },
+ "health_check_port": {
+ "type": "string",
+ "nullable": true,
+ "description": "Health check port."
+ },
+ "health_check_host": {
+ "type": "string",
+ "nullable": true,
+ "description": "Health check host."
+ },
+ "health_check_method": {
+ "type": "string",
+ "description": "Health check method."
+ },
+ "health_check_return_code": {
+ "type": "integer",
+ "description": "Health check return code."
+ },
+ "health_check_scheme": {
+ "type": "string",
+ "description": "Health check scheme."
+ },
+ "health_check_response_text": {
+ "type": "string",
+ "nullable": true,
+ "description": "Health check response text."
+ },
+ "health_check_interval": {
+ "type": "integer",
+ "description": "Health check interval in seconds."
+ },
+ "health_check_timeout": {
+ "type": "integer",
+ "description": "Health check timeout in seconds."
+ },
+ "health_check_retries": {
+ "type": "integer",
+ "description": "Health check retries count."
+ },
+ "health_check_start_period": {
+ "type": "integer",
+ "description": "Health check start period in seconds."
+ },
+ "limits_memory": {
+ "type": "string",
+ "description": "Memory limit."
+ },
+ "limits_memory_swap": {
+ "type": "string",
+ "description": "Memory swap limit."
+ },
+ "limits_memory_swappiness": {
+ "type": "integer",
+ "description": "Memory swappiness."
+ },
+ "limits_memory_reservation": {
+ "type": "string",
+ "description": "Memory reservation."
+ },
+ "limits_cpus": {
+ "type": "string",
+ "description": "CPU limit."
+ },
+ "limits_cpuset": {
+ "type": "string",
+ "nullable": true,
+ "description": "CPU set."
+ },
+ "limits_cpu_shares": {
+ "type": "integer",
+ "description": "CPU shares."
+ },
+ "custom_labels": {
+ "type": "string",
+ "description": "Custom labels."
+ },
+ "custom_docker_run_options": {
+ "type": "string",
+ "description": "Custom docker run options."
+ },
+ "post_deployment_command": {
+ "type": "string",
+ "description": "Post deployment command."
+ },
+ "post_deployment_command_container": {
+ "type": "string",
+ "description": "Post deployment command container."
+ },
+ "pre_deployment_command": {
+ "type": "string",
+ "description": "Pre deployment command."
+ },
+ "pre_deployment_command_container": {
+ "type": "string",
+ "description": "Pre deployment command container."
+ },
+ "manual_webhook_secret_github": {
+ "type": "string",
+ "description": "Manual webhook secret for Github."
+ },
+ "manual_webhook_secret_gitlab": {
+ "type": "string",
+ "description": "Manual webhook secret for Gitlab."
+ },
+ "manual_webhook_secret_bitbucket": {
+ "type": "string",
+ "description": "Manual webhook secret for Bitbucket."
+ },
+ "manual_webhook_secret_gitea": {
+ "type": "string",
+ "description": "Manual webhook secret for Gitea."
+ },
+ "redirect": {
+ "type": "string",
+ "nullable": true,
+ "description": "How to set redirect with Traefik \/ Caddy. www<->non-www.",
+ "enum": [
+ "www",
+ "non-www",
+ "both"
+ ]
+ },
+ "instant_deploy": {
+ "type": "boolean",
+ "description": "The flag to indicate if the application should be deployed instantly."
+ },
+ "dockerfile": {
+ "type": "string",
+ "description": "The Dockerfile content."
+ },
+ "docker_compose_location": {
+ "type": "string",
+ "description": "The Docker Compose location."
+ },
+ "docker_compose_raw": {
+ "type": "string",
+ "description": "The Docker Compose raw content."
+ },
+ "docker_compose_custom_start_command": {
+ "type": "string",
+ "description": "The Docker Compose custom start command."
+ },
+ "docker_compose_custom_build_command": {
+ "type": "string",
+ "description": "The Docker Compose custom build command."
+ },
+ "docker_compose_domains": {
+ "type": "array",
+ "description": "The Docker Compose domains."
+ },
+ "watch_paths": {
+ "type": "string",
+ "description": "The watch paths."
+ },
+ "use_build_server": {
+ "type": "boolean",
+ "nullable": true,
+ "description": "Use build server."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Application created successfully."
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/applications\/private-github-app": {
+ "post": {
+ "tags": [
+ "Applications"
+ ],
+ "summary": "Create (Private - GH App)",
+ "description": "Create new application based on a private repository through a Github App.",
+ "operationId": "create-private-github-app-application",
+ "requestBody": {
+ "description": "Application object that needs to be created.",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "required": [
+ "project_uuid",
+ "server_uuid",
+ "environment_name",
+ "github_app_uuid",
+ "git_repository",
+ "git_branch",
+ "build_pack",
+ "ports_exposes"
+ ],
+ "properties": {
+ "project_uuid": {
+ "type": "string",
+ "description": "The project UUID."
+ },
+ "server_uuid": {
+ "type": "string",
+ "description": "The server UUID."
+ },
+ "environment_name": {
+ "type": "string",
+ "description": "The environment name."
+ },
+ "github_app_uuid": {
+ "type": "string",
+ "description": "The Github App UUID."
+ },
+ "git_repository": {
+ "type": "string",
+ "description": "The git repository URL."
+ },
+ "git_branch": {
+ "type": "string",
+ "description": "The git branch."
+ },
+ "ports_exposes": {
+ "type": "string",
+ "description": "The ports to expose."
+ },
+ "destination_uuid": {
+ "type": "string",
+ "description": "The destination UUID."
+ },
+ "build_pack": {
+ "type": "string",
+ "enum": [
+ "nixpacks",
+ "static",
+ "dockerfile",
+ "dockercompose"
+ ],
+ "description": "The build pack type."
+ },
+ "name": {
+ "type": "string",
+ "description": "The application name."
+ },
+ "description": {
+ "type": "string",
+ "description": "The application description."
+ },
+ "domains": {
+ "type": "string",
+ "description": "The application domains."
+ },
+ "git_commit_sha": {
+ "type": "string",
+ "description": "The git commit SHA."
+ },
+ "docker_registry_image_name": {
+ "type": "string",
+ "description": "The docker registry image name."
+ },
+ "docker_registry_image_tag": {
+ "type": "string",
+ "description": "The docker registry image tag."
+ },
+ "is_static": {
+ "type": "boolean",
+ "description": "The flag to indicate if the application is static."
+ },
+ "static_image": {
+ "type": "string",
+ "enum": [
+ "nginx:alpine"
+ ],
+ "description": "The static image."
+ },
+ "install_command": {
+ "type": "string",
+ "description": "The install command."
+ },
+ "build_command": {
+ "type": "string",
+ "description": "The build command."
+ },
+ "start_command": {
+ "type": "string",
+ "description": "The start command."
+ },
+ "ports_mappings": {
+ "type": "string",
+ "description": "The ports mappings."
+ },
+ "base_directory": {
+ "type": "string",
+ "description": "The base directory for all commands."
+ },
+ "publish_directory": {
+ "type": "string",
+ "description": "The publish directory."
+ },
+ "health_check_enabled": {
+ "type": "boolean",
+ "description": "Health check enabled."
+ },
+ "health_check_path": {
+ "type": "string",
+ "description": "Health check path."
+ },
+ "health_check_port": {
+ "type": "string",
+ "nullable": true,
+ "description": "Health check port."
+ },
+ "health_check_host": {
+ "type": "string",
+ "nullable": true,
+ "description": "Health check host."
+ },
+ "health_check_method": {
+ "type": "string",
+ "description": "Health check method."
+ },
+ "health_check_return_code": {
+ "type": "integer",
+ "description": "Health check return code."
+ },
+ "health_check_scheme": {
+ "type": "string",
+ "description": "Health check scheme."
+ },
+ "health_check_response_text": {
+ "type": "string",
+ "nullable": true,
+ "description": "Health check response text."
+ },
+ "health_check_interval": {
+ "type": "integer",
+ "description": "Health check interval in seconds."
+ },
+ "health_check_timeout": {
+ "type": "integer",
+ "description": "Health check timeout in seconds."
+ },
+ "health_check_retries": {
+ "type": "integer",
+ "description": "Health check retries count."
+ },
+ "health_check_start_period": {
+ "type": "integer",
+ "description": "Health check start period in seconds."
+ },
+ "limits_memory": {
+ "type": "string",
+ "description": "Memory limit."
+ },
+ "limits_memory_swap": {
+ "type": "string",
+ "description": "Memory swap limit."
+ },
+ "limits_memory_swappiness": {
+ "type": "integer",
+ "description": "Memory swappiness."
+ },
+ "limits_memory_reservation": {
+ "type": "string",
+ "description": "Memory reservation."
+ },
+ "limits_cpus": {
+ "type": "string",
+ "description": "CPU limit."
+ },
+ "limits_cpuset": {
+ "type": "string",
+ "nullable": true,
+ "description": "CPU set."
+ },
+ "limits_cpu_shares": {
+ "type": "integer",
+ "description": "CPU shares."
+ },
+ "custom_labels": {
+ "type": "string",
+ "description": "Custom labels."
+ },
+ "custom_docker_run_options": {
+ "type": "string",
+ "description": "Custom docker run options."
+ },
+ "post_deployment_command": {
+ "type": "string",
+ "description": "Post deployment command."
+ },
+ "post_deployment_command_container": {
+ "type": "string",
+ "description": "Post deployment command container."
+ },
+ "pre_deployment_command": {
+ "type": "string",
+ "description": "Pre deployment command."
+ },
+ "pre_deployment_command_container": {
+ "type": "string",
+ "description": "Pre deployment command container."
+ },
+ "manual_webhook_secret_github": {
+ "type": "string",
+ "description": "Manual webhook secret for Github."
+ },
+ "manual_webhook_secret_gitlab": {
+ "type": "string",
+ "description": "Manual webhook secret for Gitlab."
+ },
+ "manual_webhook_secret_bitbucket": {
+ "type": "string",
+ "description": "Manual webhook secret for Bitbucket."
+ },
+ "manual_webhook_secret_gitea": {
+ "type": "string",
+ "description": "Manual webhook secret for Gitea."
+ },
+ "redirect": {
+ "type": "string",
+ "nullable": true,
+ "description": "How to set redirect with Traefik \/ Caddy. www<->non-www.",
+ "enum": [
+ "www",
+ "non-www",
+ "both"
+ ]
+ },
+ "instant_deploy": {
+ "type": "boolean",
+ "description": "The flag to indicate if the application should be deployed instantly."
+ },
+ "dockerfile": {
+ "type": "string",
+ "description": "The Dockerfile content."
+ },
+ "docker_compose_location": {
+ "type": "string",
+ "description": "The Docker Compose location."
+ },
+ "docker_compose_raw": {
+ "type": "string",
+ "description": "The Docker Compose raw content."
+ },
+ "docker_compose_custom_start_command": {
+ "type": "string",
+ "description": "The Docker Compose custom start command."
+ },
+ "docker_compose_custom_build_command": {
+ "type": "string",
+ "description": "The Docker Compose custom build command."
+ },
+ "docker_compose_domains": {
+ "type": "array",
+ "description": "The Docker Compose domains."
+ },
+ "watch_paths": {
+ "type": "string",
+ "description": "The watch paths."
+ },
+ "use_build_server": {
+ "type": "boolean",
+ "nullable": true,
+ "description": "Use build server."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Application created successfully."
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/applications\/private-deploy-key": {
+ "post": {
+ "tags": [
+ "Applications"
+ ],
+ "summary": "Create (Private - Deploy Key)",
+ "description": "Create new application based on a private repository through a Deploy Key.",
+ "operationId": "create-private-deploy-key-application",
+ "requestBody": {
+ "description": "Application object that needs to be created.",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "required": [
+ "project_uuid",
+ "server_uuid",
+ "environment_name",
+ "private_key_uuid",
+ "git_repository",
+ "git_branch",
+ "build_pack",
+ "ports_exposes"
+ ],
+ "properties": {
+ "project_uuid": {
+ "type": "string",
+ "description": "The project UUID."
+ },
+ "server_uuid": {
+ "type": "string",
+ "description": "The server UUID."
+ },
+ "environment_name": {
+ "type": "string",
+ "description": "The environment name."
+ },
+ "private_key_uuid": {
+ "type": "string",
+ "description": "The private key UUID."
+ },
+ "git_repository": {
+ "type": "string",
+ "description": "The git repository URL."
+ },
+ "git_branch": {
+ "type": "string",
+ "description": "The git branch."
+ },
+ "ports_exposes": {
+ "type": "string",
+ "description": "The ports to expose."
+ },
+ "destination_uuid": {
+ "type": "string",
+ "description": "The destination UUID."
+ },
+ "build_pack": {
+ "type": "string",
+ "enum": [
+ "nixpacks",
+ "static",
+ "dockerfile",
+ "dockercompose"
+ ],
+ "description": "The build pack type."
+ },
+ "name": {
+ "type": "string",
+ "description": "The application name."
+ },
+ "description": {
+ "type": "string",
+ "description": "The application description."
+ },
+ "domains": {
+ "type": "string",
+ "description": "The application domains."
+ },
+ "git_commit_sha": {
+ "type": "string",
+ "description": "The git commit SHA."
+ },
+ "docker_registry_image_name": {
+ "type": "string",
+ "description": "The docker registry image name."
+ },
+ "docker_registry_image_tag": {
+ "type": "string",
+ "description": "The docker registry image tag."
+ },
+ "is_static": {
+ "type": "boolean",
+ "description": "The flag to indicate if the application is static."
+ },
+ "static_image": {
+ "type": "string",
+ "enum": [
+ "nginx:alpine"
+ ],
+ "description": "The static image."
+ },
+ "install_command": {
+ "type": "string",
+ "description": "The install command."
+ },
+ "build_command": {
+ "type": "string",
+ "description": "The build command."
+ },
+ "start_command": {
+ "type": "string",
+ "description": "The start command."
+ },
+ "ports_mappings": {
+ "type": "string",
+ "description": "The ports mappings."
+ },
+ "base_directory": {
+ "type": "string",
+ "description": "The base directory for all commands."
+ },
+ "publish_directory": {
+ "type": "string",
+ "description": "The publish directory."
+ },
+ "health_check_enabled": {
+ "type": "boolean",
+ "description": "Health check enabled."
+ },
+ "health_check_path": {
+ "type": "string",
+ "description": "Health check path."
+ },
+ "health_check_port": {
+ "type": "string",
+ "nullable": true,
+ "description": "Health check port."
+ },
+ "health_check_host": {
+ "type": "string",
+ "nullable": true,
+ "description": "Health check host."
+ },
+ "health_check_method": {
+ "type": "string",
+ "description": "Health check method."
+ },
+ "health_check_return_code": {
+ "type": "integer",
+ "description": "Health check return code."
+ },
+ "health_check_scheme": {
+ "type": "string",
+ "description": "Health check scheme."
+ },
+ "health_check_response_text": {
+ "type": "string",
+ "nullable": true,
+ "description": "Health check response text."
+ },
+ "health_check_interval": {
+ "type": "integer",
+ "description": "Health check interval in seconds."
+ },
+ "health_check_timeout": {
+ "type": "integer",
+ "description": "Health check timeout in seconds."
+ },
+ "health_check_retries": {
+ "type": "integer",
+ "description": "Health check retries count."
+ },
+ "health_check_start_period": {
+ "type": "integer",
+ "description": "Health check start period in seconds."
+ },
+ "limits_memory": {
+ "type": "string",
+ "description": "Memory limit."
+ },
+ "limits_memory_swap": {
+ "type": "string",
+ "description": "Memory swap limit."
+ },
+ "limits_memory_swappiness": {
+ "type": "integer",
+ "description": "Memory swappiness."
+ },
+ "limits_memory_reservation": {
+ "type": "string",
+ "description": "Memory reservation."
+ },
+ "limits_cpus": {
+ "type": "string",
+ "description": "CPU limit."
+ },
+ "limits_cpuset": {
+ "type": "string",
+ "nullable": true,
+ "description": "CPU set."
+ },
+ "limits_cpu_shares": {
+ "type": "integer",
+ "description": "CPU shares."
+ },
+ "custom_labels": {
+ "type": "string",
+ "description": "Custom labels."
+ },
+ "custom_docker_run_options": {
+ "type": "string",
+ "description": "Custom docker run options."
+ },
+ "post_deployment_command": {
+ "type": "string",
+ "description": "Post deployment command."
+ },
+ "post_deployment_command_container": {
+ "type": "string",
+ "description": "Post deployment command container."
+ },
+ "pre_deployment_command": {
+ "type": "string",
+ "description": "Pre deployment command."
+ },
+ "pre_deployment_command_container": {
+ "type": "string",
+ "description": "Pre deployment command container."
+ },
+ "manual_webhook_secret_github": {
+ "type": "string",
+ "description": "Manual webhook secret for Github."
+ },
+ "manual_webhook_secret_gitlab": {
+ "type": "string",
+ "description": "Manual webhook secret for Gitlab."
+ },
+ "manual_webhook_secret_bitbucket": {
+ "type": "string",
+ "description": "Manual webhook secret for Bitbucket."
+ },
+ "manual_webhook_secret_gitea": {
+ "type": "string",
+ "description": "Manual webhook secret for Gitea."
+ },
+ "redirect": {
+ "type": "string",
+ "nullable": true,
+ "description": "How to set redirect with Traefik \/ Caddy. www<->non-www.",
+ "enum": [
+ "www",
+ "non-www",
+ "both"
+ ]
+ },
+ "instant_deploy": {
+ "type": "boolean",
+ "description": "The flag to indicate if the application should be deployed instantly."
+ },
+ "dockerfile": {
+ "type": "string",
+ "description": "The Dockerfile content."
+ },
+ "docker_compose_location": {
+ "type": "string",
+ "description": "The Docker Compose location."
+ },
+ "docker_compose_raw": {
+ "type": "string",
+ "description": "The Docker Compose raw content."
+ },
+ "docker_compose_custom_start_command": {
+ "type": "string",
+ "description": "The Docker Compose custom start command."
+ },
+ "docker_compose_custom_build_command": {
+ "type": "string",
+ "description": "The Docker Compose custom build command."
+ },
+ "docker_compose_domains": {
+ "type": "array",
+ "description": "The Docker Compose domains."
+ },
+ "watch_paths": {
+ "type": "string",
+ "description": "The watch paths."
+ },
+ "use_build_server": {
+ "type": "boolean",
+ "nullable": true,
+ "description": "Use build server."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Application created successfully."
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/applications\/dockerfile": {
+ "post": {
+ "tags": [
+ "Applications"
+ ],
+ "summary": "Create (Dockerfile)",
+ "description": "Create new application based on a simple Dockerfile.",
+ "operationId": "create-dockerfile-application",
+ "requestBody": {
+ "description": "Application object that needs to be created.",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "required": [
+ "project_uuid",
+ "server_uuid",
+ "environment_name",
+ "dockerfile"
+ ],
+ "properties": {
+ "project_uuid": {
+ "type": "string",
+ "description": "The project UUID."
+ },
+ "server_uuid": {
+ "type": "string",
+ "description": "The server UUID."
+ },
+ "environment_name": {
+ "type": "string",
+ "description": "The environment name."
+ },
+ "dockerfile": {
+ "type": "string",
+ "description": "The Dockerfile content."
+ },
+ "build_pack": {
+ "type": "string",
+ "enum": [
+ "nixpacks",
+ "static",
+ "dockerfile",
+ "dockercompose"
+ ],
+ "description": "The build pack type."
+ },
+ "ports_exposes": {
+ "type": "string",
+ "description": "The ports to expose."
+ },
+ "destination_uuid": {
+ "type": "string",
+ "description": "The destination UUID."
+ },
+ "name": {
+ "type": "string",
+ "description": "The application name."
+ },
+ "description": {
+ "type": "string",
+ "description": "The application description."
+ },
+ "domains": {
+ "type": "string",
+ "description": "The application domains."
+ },
+ "docker_registry_image_name": {
+ "type": "string",
+ "description": "The docker registry image name."
+ },
+ "docker_registry_image_tag": {
+ "type": "string",
+ "description": "The docker registry image tag."
+ },
+ "ports_mappings": {
+ "type": "string",
+ "description": "The ports mappings."
+ },
+ "base_directory": {
+ "type": "string",
+ "description": "The base directory for all commands."
+ },
+ "health_check_enabled": {
+ "type": "boolean",
+ "description": "Health check enabled."
+ },
+ "health_check_path": {
+ "type": "string",
+ "description": "Health check path."
+ },
+ "health_check_port": {
+ "type": "string",
+ "nullable": true,
+ "description": "Health check port."
+ },
+ "health_check_host": {
+ "type": "string",
+ "nullable": true,
+ "description": "Health check host."
+ },
+ "health_check_method": {
+ "type": "string",
+ "description": "Health check method."
+ },
+ "health_check_return_code": {
+ "type": "integer",
+ "description": "Health check return code."
+ },
+ "health_check_scheme": {
+ "type": "string",
+ "description": "Health check scheme."
+ },
+ "health_check_response_text": {
+ "type": "string",
+ "nullable": true,
+ "description": "Health check response text."
+ },
+ "health_check_interval": {
+ "type": "integer",
+ "description": "Health check interval in seconds."
+ },
+ "health_check_timeout": {
+ "type": "integer",
+ "description": "Health check timeout in seconds."
+ },
+ "health_check_retries": {
+ "type": "integer",
+ "description": "Health check retries count."
+ },
+ "health_check_start_period": {
+ "type": "integer",
+ "description": "Health check start period in seconds."
+ },
+ "limits_memory": {
+ "type": "string",
+ "description": "Memory limit."
+ },
+ "limits_memory_swap": {
+ "type": "string",
+ "description": "Memory swap limit."
+ },
+ "limits_memory_swappiness": {
+ "type": "integer",
+ "description": "Memory swappiness."
+ },
+ "limits_memory_reservation": {
+ "type": "string",
+ "description": "Memory reservation."
+ },
+ "limits_cpus": {
+ "type": "string",
+ "description": "CPU limit."
+ },
+ "limits_cpuset": {
+ "type": "string",
+ "nullable": true,
+ "description": "CPU set."
+ },
+ "limits_cpu_shares": {
+ "type": "integer",
+ "description": "CPU shares."
+ },
+ "custom_labels": {
+ "type": "string",
+ "description": "Custom labels."
+ },
+ "custom_docker_run_options": {
+ "type": "string",
+ "description": "Custom docker run options."
+ },
+ "post_deployment_command": {
+ "type": "string",
+ "description": "Post deployment command."
+ },
+ "post_deployment_command_container": {
+ "type": "string",
+ "description": "Post deployment command container."
+ },
+ "pre_deployment_command": {
+ "type": "string",
+ "description": "Pre deployment command."
+ },
+ "pre_deployment_command_container": {
+ "type": "string",
+ "description": "Pre deployment command container."
+ },
+ "manual_webhook_secret_github": {
+ "type": "string",
+ "description": "Manual webhook secret for Github."
+ },
+ "manual_webhook_secret_gitlab": {
+ "type": "string",
+ "description": "Manual webhook secret for Gitlab."
+ },
+ "manual_webhook_secret_bitbucket": {
+ "type": "string",
+ "description": "Manual webhook secret for Bitbucket."
+ },
+ "manual_webhook_secret_gitea": {
+ "type": "string",
+ "description": "Manual webhook secret for Gitea."
+ },
+ "redirect": {
+ "type": "string",
+ "nullable": true,
+ "description": "How to set redirect with Traefik \/ Caddy. www<->non-www.",
+ "enum": [
+ "www",
+ "non-www",
+ "both"
+ ]
+ },
+ "instant_deploy": {
+ "type": "boolean",
+ "description": "The flag to indicate if the application should be deployed instantly."
+ },
+ "use_build_server": {
+ "type": "boolean",
+ "nullable": true,
+ "description": "Use build server."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Application created successfully."
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/applications\/dockerimage": {
+ "post": {
+ "tags": [
+ "Applications"
+ ],
+ "summary": "Create (Docker Image)",
+ "description": "Create new application based on a prebuilt docker image",
+ "operationId": "create-dockerimage-application",
+ "requestBody": {
+ "description": "Application object that needs to be created.",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "required": [
+ "project_uuid",
+ "server_uuid",
+ "environment_name",
+ "docker_registry_image_name",
+ "ports_exposes"
+ ],
+ "properties": {
+ "project_uuid": {
+ "type": "string",
+ "description": "The project UUID."
+ },
+ "server_uuid": {
+ "type": "string",
+ "description": "The server UUID."
+ },
+ "environment_name": {
+ "type": "string",
+ "description": "The environment name."
+ },
+ "docker_registry_image_name": {
+ "type": "string",
+ "description": "The docker registry image name."
+ },
+ "docker_registry_image_tag": {
+ "type": "string",
+ "description": "The docker registry image tag."
+ },
+ "ports_exposes": {
+ "type": "string",
+ "description": "The ports to expose."
+ },
+ "destination_uuid": {
+ "type": "string",
+ "description": "The destination UUID."
+ },
+ "name": {
+ "type": "string",
+ "description": "The application name."
+ },
+ "description": {
+ "type": "string",
+ "description": "The application description."
+ },
+ "domains": {
+ "type": "string",
+ "description": "The application domains."
+ },
+ "ports_mappings": {
+ "type": "string",
+ "description": "The ports mappings."
+ },
+ "health_check_enabled": {
+ "type": "boolean",
+ "description": "Health check enabled."
+ },
+ "health_check_path": {
+ "type": "string",
+ "description": "Health check path."
+ },
+ "health_check_port": {
+ "type": "string",
+ "nullable": true,
+ "description": "Health check port."
+ },
+ "health_check_host": {
+ "type": "string",
+ "nullable": true,
+ "description": "Health check host."
+ },
+ "health_check_method": {
+ "type": "string",
+ "description": "Health check method."
+ },
+ "health_check_return_code": {
+ "type": "integer",
+ "description": "Health check return code."
+ },
+ "health_check_scheme": {
+ "type": "string",
+ "description": "Health check scheme."
+ },
+ "health_check_response_text": {
+ "type": "string",
+ "nullable": true,
+ "description": "Health check response text."
+ },
+ "health_check_interval": {
+ "type": "integer",
+ "description": "Health check interval in seconds."
+ },
+ "health_check_timeout": {
+ "type": "integer",
+ "description": "Health check timeout in seconds."
+ },
+ "health_check_retries": {
+ "type": "integer",
+ "description": "Health check retries count."
+ },
+ "health_check_start_period": {
+ "type": "integer",
+ "description": "Health check start period in seconds."
+ },
+ "limits_memory": {
+ "type": "string",
+ "description": "Memory limit."
+ },
+ "limits_memory_swap": {
+ "type": "string",
+ "description": "Memory swap limit."
+ },
+ "limits_memory_swappiness": {
+ "type": "integer",
+ "description": "Memory swappiness."
+ },
+ "limits_memory_reservation": {
+ "type": "string",
+ "description": "Memory reservation."
+ },
+ "limits_cpus": {
+ "type": "string",
+ "description": "CPU limit."
+ },
+ "limits_cpuset": {
+ "type": "string",
+ "nullable": true,
+ "description": "CPU set."
+ },
+ "limits_cpu_shares": {
+ "type": "integer",
+ "description": "CPU shares."
+ },
+ "custom_labels": {
+ "type": "string",
+ "description": "Custom labels."
+ },
+ "custom_docker_run_options": {
+ "type": "string",
+ "description": "Custom docker run options."
+ },
+ "post_deployment_command": {
+ "type": "string",
+ "description": "Post deployment command."
+ },
+ "post_deployment_command_container": {
+ "type": "string",
+ "description": "Post deployment command container."
+ },
+ "pre_deployment_command": {
+ "type": "string",
+ "description": "Pre deployment command."
+ },
+ "pre_deployment_command_container": {
+ "type": "string",
+ "description": "Pre deployment command container."
+ },
+ "manual_webhook_secret_github": {
+ "type": "string",
+ "description": "Manual webhook secret for Github."
+ },
+ "manual_webhook_secret_gitlab": {
+ "type": "string",
+ "description": "Manual webhook secret for Gitlab."
+ },
+ "manual_webhook_secret_bitbucket": {
+ "type": "string",
+ "description": "Manual webhook secret for Bitbucket."
+ },
+ "manual_webhook_secret_gitea": {
+ "type": "string",
+ "description": "Manual webhook secret for Gitea."
+ },
+ "redirect": {
+ "type": "string",
+ "nullable": true,
+ "description": "How to set redirect with Traefik \/ Caddy. www<->non-www.",
+ "enum": [
+ "www",
+ "non-www",
+ "both"
+ ]
+ },
+ "instant_deploy": {
+ "type": "boolean",
+ "description": "The flag to indicate if the application should be deployed instantly."
+ },
+ "use_build_server": {
+ "type": "boolean",
+ "nullable": true,
+ "description": "Use build server."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Application created successfully."
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/applications\/dockercompose": {
+ "post": {
+ "tags": [
+ "Applications"
+ ],
+ "summary": "Create (Docker Compose)",
+ "description": "Create new application based on a docker-compose file.",
+ "operationId": "create-dockercompose-application",
+ "requestBody": {
+ "description": "Application object that needs to be created.",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "required": [
+ "project_uuid",
+ "server_uuid",
+ "environment_name",
+ "docker_compose_raw"
+ ],
+ "properties": {
+ "project_uuid": {
+ "type": "string",
+ "description": "The project UUID."
+ },
+ "server_uuid": {
+ "type": "string",
+ "description": "The server UUID."
+ },
+ "environment_name": {
+ "type": "string",
+ "description": "The environment name."
+ },
+ "docker_compose_raw": {
+ "type": "string",
+ "description": "The Docker Compose raw content."
+ },
+ "destination_uuid": {
+ "type": "string",
+ "description": "The destination UUID if the server has more than one destinations."
+ },
+ "name": {
+ "type": "string",
+ "description": "The application name."
+ },
+ "description": {
+ "type": "string",
+ "description": "The application description."
+ },
+ "instant_deploy": {
+ "type": "boolean",
+ "description": "The flag to indicate if the application should be deployed instantly."
+ },
+ "use_build_server": {
+ "type": "boolean",
+ "nullable": true,
+ "description": "Use build server."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Application created successfully."
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/applications\/{uuid}": {
+ "get": {
+ "tags": [
+ "Applications"
+ ],
+ "summary": "Get",
+ "description": "Get application by UUID.",
+ "operationId": "get-application-by-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the application.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get application by UUID.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "$ref": "#\/components\/schemas\/Application"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ },
+ "delete": {
+ "tags": [
+ "Applications"
+ ],
+ "summary": "Delete",
+ "description": "Delete application by UUID.",
+ "operationId": "delete-application-by-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the application.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ },
+ {
+ "name": "delete_configurations",
+ "in": "query",
+ "description": "Delete configurations.",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": true
+ }
+ },
+ {
+ "name": "delete_volumes",
+ "in": "query",
+ "description": "Delete volumes.",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": true
+ }
+ },
+ {
+ "name": "docker_cleanup",
+ "in": "query",
+ "description": "Run docker cleanup.",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": true
+ }
+ },
+ {
+ "name": "delete_connected_networks",
+ "in": "query",
+ "description": "Delete connected networks.",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Application deleted.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "Application deleted."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ },
+ "patch": {
+ "tags": [
+ "Applications"
+ ],
+ "summary": "Update",
+ "description": "Update application by UUID.",
+ "operationId": "update-application-by-uuid",
+ "requestBody": {
+ "description": "Application updated.",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "project_uuid": {
+ "type": "string",
+ "description": "The project UUID."
+ },
+ "server_uuid": {
+ "type": "string",
+ "description": "The server UUID."
+ },
+ "environment_name": {
+ "type": "string",
+ "description": "The environment name."
+ },
+ "github_app_uuid": {
+ "type": "string",
+ "description": "The Github App UUID."
+ },
+ "git_repository": {
+ "type": "string",
+ "description": "The git repository URL."
+ },
+ "git_branch": {
+ "type": "string",
+ "description": "The git branch."
+ },
+ "ports_exposes": {
+ "type": "string",
+ "description": "The ports to expose."
+ },
+ "destination_uuid": {
+ "type": "string",
+ "description": "The destination UUID."
+ },
+ "build_pack": {
+ "type": "string",
+ "enum": [
+ "nixpacks",
+ "static",
+ "dockerfile",
+ "dockercompose"
+ ],
+ "description": "The build pack type."
+ },
+ "name": {
+ "type": "string",
+ "description": "The application name."
+ },
+ "description": {
+ "type": "string",
+ "description": "The application description."
+ },
+ "domains": {
+ "type": "string",
+ "description": "The application domains."
+ },
+ "git_commit_sha": {
+ "type": "string",
+ "description": "The git commit SHA."
+ },
+ "docker_registry_image_name": {
+ "type": "string",
+ "description": "The docker registry image name."
+ },
+ "docker_registry_image_tag": {
+ "type": "string",
+ "description": "The docker registry image tag."
+ },
+ "is_static": {
+ "type": "boolean",
+ "description": "The flag to indicate if the application is static."
+ },
+ "install_command": {
+ "type": "string",
+ "description": "The install command."
+ },
+ "build_command": {
+ "type": "string",
+ "description": "The build command."
+ },
+ "start_command": {
+ "type": "string",
+ "description": "The start command."
+ },
+ "ports_mappings": {
+ "type": "string",
+ "description": "The ports mappings."
+ },
+ "base_directory": {
+ "type": "string",
+ "description": "The base directory for all commands."
+ },
+ "publish_directory": {
+ "type": "string",
+ "description": "The publish directory."
+ },
+ "health_check_enabled": {
+ "type": "boolean",
+ "description": "Health check enabled."
+ },
+ "health_check_path": {
+ "type": "string",
+ "description": "Health check path."
+ },
+ "health_check_port": {
+ "type": "string",
+ "nullable": true,
+ "description": "Health check port."
+ },
+ "health_check_host": {
+ "type": "string",
+ "nullable": true,
+ "description": "Health check host."
+ },
+ "health_check_method": {
+ "type": "string",
+ "description": "Health check method."
+ },
+ "health_check_return_code": {
+ "type": "integer",
+ "description": "Health check return code."
+ },
+ "health_check_scheme": {
+ "type": "string",
+ "description": "Health check scheme."
+ },
+ "health_check_response_text": {
+ "type": "string",
+ "nullable": true,
+ "description": "Health check response text."
+ },
+ "health_check_interval": {
+ "type": "integer",
+ "description": "Health check interval in seconds."
+ },
+ "health_check_timeout": {
+ "type": "integer",
+ "description": "Health check timeout in seconds."
+ },
+ "health_check_retries": {
+ "type": "integer",
+ "description": "Health check retries count."
+ },
+ "health_check_start_period": {
+ "type": "integer",
+ "description": "Health check start period in seconds."
+ },
+ "limits_memory": {
+ "type": "string",
+ "description": "Memory limit."
+ },
+ "limits_memory_swap": {
+ "type": "string",
+ "description": "Memory swap limit."
+ },
+ "limits_memory_swappiness": {
+ "type": "integer",
+ "description": "Memory swappiness."
+ },
+ "limits_memory_reservation": {
+ "type": "string",
+ "description": "Memory reservation."
+ },
+ "limits_cpus": {
+ "type": "string",
+ "description": "CPU limit."
+ },
+ "limits_cpuset": {
+ "type": "string",
+ "nullable": true,
+ "description": "CPU set."
+ },
+ "limits_cpu_shares": {
+ "type": "integer",
+ "description": "CPU shares."
+ },
+ "custom_labels": {
+ "type": "string",
+ "description": "Custom labels."
+ },
+ "custom_docker_run_options": {
+ "type": "string",
+ "description": "Custom docker run options."
+ },
+ "post_deployment_command": {
+ "type": "string",
+ "description": "Post deployment command."
+ },
+ "post_deployment_command_container": {
+ "type": "string",
+ "description": "Post deployment command container."
+ },
+ "pre_deployment_command": {
+ "type": "string",
+ "description": "Pre deployment command."
+ },
+ "pre_deployment_command_container": {
+ "type": "string",
+ "description": "Pre deployment command container."
+ },
+ "manual_webhook_secret_github": {
+ "type": "string",
+ "description": "Manual webhook secret for Github."
+ },
+ "manual_webhook_secret_gitlab": {
+ "type": "string",
+ "description": "Manual webhook secret for Gitlab."
+ },
+ "manual_webhook_secret_bitbucket": {
+ "type": "string",
+ "description": "Manual webhook secret for Bitbucket."
+ },
+ "manual_webhook_secret_gitea": {
+ "type": "string",
+ "description": "Manual webhook secret for Gitea."
+ },
+ "redirect": {
+ "type": "string",
+ "nullable": true,
+ "description": "How to set redirect with Traefik \/ Caddy. www<->non-www.",
+ "enum": [
+ "www",
+ "non-www",
+ "both"
+ ]
+ },
+ "instant_deploy": {
+ "type": "boolean",
+ "description": "The flag to indicate if the application should be deployed instantly."
+ },
+ "dockerfile": {
+ "type": "string",
+ "description": "The Dockerfile content."
+ },
+ "docker_compose_location": {
+ "type": "string",
+ "description": "The Docker Compose location."
+ },
+ "docker_compose_raw": {
+ "type": "string",
+ "description": "The Docker Compose raw content."
+ },
+ "docker_compose_custom_start_command": {
+ "type": "string",
+ "description": "The Docker Compose custom start command."
+ },
+ "docker_compose_custom_build_command": {
+ "type": "string",
+ "description": "The Docker Compose custom build command."
+ },
+ "docker_compose_domains": {
+ "type": "array",
+ "description": "The Docker Compose domains."
+ },
+ "watch_paths": {
+ "type": "string",
+ "description": "The watch paths."
+ },
+ "use_build_server": {
+ "type": "boolean",
+ "nullable": true,
+ "description": "Use build server."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Application updated.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "uuid": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/applications\/{uuid}\/envs": {
+ "get": {
+ "tags": [
+ "Applications"
+ ],
+ "summary": "List Envs",
+ "description": "List all envs by application UUID.",
+ "operationId": "list-envs-by-application-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the application.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "All environment variables by application UUID.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#\/components\/schemas\/EnvironmentVariable"
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ },
+ "post": {
+ "tags": [
+ "Applications"
+ ],
+ "summary": "Create Env",
+ "description": "Create env by application UUID.",
+ "operationId": "create-env-by-application-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the application.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "requestBody": {
+ "description": "Env created.",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "The key of the environment variable."
+ },
+ "value": {
+ "type": "string",
+ "description": "The value of the environment variable."
+ },
+ "is_preview": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable is used in preview deployments."
+ },
+ "is_build_time": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable is used in build time."
+ },
+ "is_literal": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable is a literal, nothing espaced."
+ },
+ "is_multiline": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable is multiline."
+ },
+ "is_shown_once": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable's value is shown on the UI."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Environment variable created.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "uuid": {
+ "type": "string",
+ "example": "nc0k04gk8g0cgsk440g0koko"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ },
+ "patch": {
+ "tags": [
+ "Applications"
+ ],
+ "summary": "Update Env",
+ "description": "Update env by application UUID.",
+ "operationId": "update-env-by-application-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the application.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "requestBody": {
+ "description": "Env updated.",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "required": [
+ "key",
+ "value"
+ ],
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "The key of the environment variable."
+ },
+ "value": {
+ "type": "string",
+ "description": "The value of the environment variable."
+ },
+ "is_preview": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable is used in preview deployments."
+ },
+ "is_build_time": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable is used in build time."
+ },
+ "is_literal": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable is a literal, nothing espaced."
+ },
+ "is_multiline": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable is multiline."
+ },
+ "is_shown_once": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable's value is shown on the UI."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Environment variable updated.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "Environment variable updated."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/applications\/{uuid}\/envs\/bulk": {
+ "patch": {
+ "tags": [
+ "Applications"
+ ],
+ "summary": "Update Envs (Bulk)",
+ "description": "Update multiple envs by application UUID.",
+ "operationId": "update-envs-by-application-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the application.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "requestBody": {
+ "description": "Bulk envs updated.",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "type": "array",
+ "items": {
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "The key of the environment variable."
+ },
+ "value": {
+ "type": "string",
+ "description": "The value of the environment variable."
+ },
+ "is_preview": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable is used in preview deployments."
+ },
+ "is_build_time": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable is used in build time."
+ },
+ "is_literal": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable is a literal, nothing espaced."
+ },
+ "is_multiline": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable is multiline."
+ },
+ "is_shown_once": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable's value is shown on the UI."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Environment variables updated.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "Environment variables updated."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/applications\/{uuid}\/envs\/{env_uuid}": {
+ "delete": {
+ "tags": [
+ "Applications"
+ ],
+ "summary": "Delete Env",
+ "description": "Delete env by UUID.",
+ "operationId": "delete-env-by-application-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the application.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ },
+ {
+ "name": "env_uuid",
+ "in": "path",
+ "description": "UUID of the environment variable.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Environment variable deleted.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "Environment variable deleted."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/applications\/{uuid}\/start": {
+ "get": {
+ "tags": [
+ "Applications"
+ ],
+ "summary": "Start",
+ "description": "Start application. `Post` request is also accepted.",
+ "operationId": "start-application-by-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the application.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ },
+ {
+ "name": "force",
+ "in": "query",
+ "description": "Force rebuild.",
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ },
+ {
+ "name": "instant_deploy",
+ "in": "query",
+ "description": "Instant deploy (skip queuing).",
+ "schema": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Start application.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "Deployment request queued.",
+ "description": "Message."
+ },
+ "deployment_uuid": {
+ "type": "string",
+ "example": "doogksw",
+ "description": "UUID of the deployment."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/applications\/{uuid}\/stop": {
+ "get": {
+ "tags": [
+ "Applications"
+ ],
+ "summary": "Stop",
+ "description": "Stop application. `Post` request is also accepted.",
+ "operationId": "stop-application-by-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the application.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Stop application.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "Application stopping request queued."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/applications\/{uuid}\/restart": {
+ "get": {
+ "tags": [
+ "Applications"
+ ],
+ "summary": "Restart",
+ "description": "Restart application. `Post` request is also accepted.",
+ "operationId": "restart-application-by-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the application.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Restart application.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "Restart request queued."
+ },
+ "deployment_uuid": {
+ "type": "string",
+ "example": "doogksw",
+ "description": "UUID of the deployment."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/applications\/{uuid}\/execute": {
+ "post": {
+ "tags": [
+ "Applications"
+ ],
+ "summary": "Execute Command",
+ "description": "Execute a command on the application's current container.",
+ "operationId": "execute-command-application",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the application.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "requestBody": {
+ "description": "Command to execute.",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "command": {
+ "type": "string",
+ "description": "Command to execute."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Execute a command on the application's current container.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "Command executed."
+ },
+ "response": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/databases": {
+ "get": {
+ "tags": [
+ "Databases"
+ ],
+ "summary": "List",
+ "description": "List all databases.",
+ "operationId": "list-databases",
+ "responses": {
+ "200": {
+ "description": "Get all databases",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "type": "string"
+ },
+ "example": "Content is very complex. Will be implemented later."
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/databases\/{uuid}": {
+ "get": {
+ "tags": [
+ "Databases"
+ ],
+ "summary": "Get",
+ "description": "Get database by UUID.",
+ "operationId": "get-database-by-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the database.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get all databases",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "type": "string"
+ },
+ "example": "Content is very complex. Will be implemented later."
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ },
+ "delete": {
+ "tags": [
+ "Databases"
+ ],
+ "summary": "Delete",
+ "description": "Delete database by UUID.",
+ "operationId": "delete-database-by-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the database.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ },
+ {
+ "name": "delete_configurations",
+ "in": "query",
+ "description": "Delete configurations.",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": true
+ }
+ },
+ {
+ "name": "delete_volumes",
+ "in": "query",
+ "description": "Delete volumes.",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": true
+ }
+ },
+ {
+ "name": "docker_cleanup",
+ "in": "query",
+ "description": "Run docker cleanup.",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": true
+ }
+ },
+ {
+ "name": "delete_connected_networks",
+ "in": "query",
+ "description": "Delete connected networks.",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Database deleted.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "Database deleted."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ },
+ "patch": {
+ "tags": [
+ "Databases"
+ ],
+ "summary": "Update",
+ "description": "Update database by UUID.",
+ "operationId": "update-database-by-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the database.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "requestBody": {
+ "description": "Database data",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the database"
+ },
+ "image": {
+ "type": "string",
+ "description": "Docker Image of the database"
+ },
+ "is_public": {
+ "type": "boolean",
+ "description": "Is the database public?"
+ },
+ "public_port": {
+ "type": "integer",
+ "description": "Public port of the database"
+ },
+ "limits_memory": {
+ "type": "string",
+ "description": "Memory limit of the database"
+ },
+ "limits_memory_swap": {
+ "type": "string",
+ "description": "Memory swap limit of the database"
+ },
+ "limits_memory_swappiness": {
+ "type": "integer",
+ "description": "Memory swappiness of the database"
+ },
+ "limits_memory_reservation": {
+ "type": "string",
+ "description": "Memory reservation of the database"
+ },
+ "limits_cpus": {
+ "type": "string",
+ "description": "CPU limit of the database"
+ },
+ "limits_cpuset": {
+ "type": "string",
+ "description": "CPU set of the database"
+ },
+ "limits_cpu_shares": {
+ "type": "integer",
+ "description": "CPU shares of the database"
+ },
+ "postgres_user": {
+ "type": "string",
+ "description": "PostgreSQL user"
+ },
+ "postgres_password": {
+ "type": "string",
+ "description": "PostgreSQL password"
+ },
+ "postgres_db": {
+ "type": "string",
+ "description": "PostgreSQL database"
+ },
+ "postgres_initdb_args": {
+ "type": "string",
+ "description": "PostgreSQL initdb args"
+ },
+ "postgres_host_auth_method": {
+ "type": "string",
+ "description": "PostgreSQL host auth method"
+ },
+ "postgres_conf": {
+ "type": "string",
+ "description": "PostgreSQL conf"
+ },
+ "clickhouse_admin_user": {
+ "type": "string",
+ "description": "Clickhouse admin user"
+ },
+ "clickhouse_admin_password": {
+ "type": "string",
+ "description": "Clickhouse admin password"
+ },
+ "dragonfly_password": {
+ "type": "string",
+ "description": "DragonFly password"
+ },
+ "redis_password": {
+ "type": "string",
+ "description": "Redis password"
+ },
+ "redis_conf": {
+ "type": "string",
+ "description": "Redis conf"
+ },
+ "keydb_password": {
+ "type": "string",
+ "description": "KeyDB password"
+ },
+ "keydb_conf": {
+ "type": "string",
+ "description": "KeyDB conf"
+ },
+ "mariadb_conf": {
+ "type": "string",
+ "description": "MariaDB conf"
+ },
+ "mariadb_root_password": {
+ "type": "string",
+ "description": "MariaDB root password"
+ },
+ "mariadb_user": {
+ "type": "string",
+ "description": "MariaDB user"
+ },
+ "mariadb_password": {
+ "type": "string",
+ "description": "MariaDB password"
+ },
+ "mariadb_database": {
+ "type": "string",
+ "description": "MariaDB database"
+ },
+ "mongo_conf": {
+ "type": "string",
+ "description": "Mongo conf"
+ },
+ "mongo_initdb_root_username": {
+ "type": "string",
+ "description": "Mongo initdb root username"
+ },
+ "mongo_initdb_root_password": {
+ "type": "string",
+ "description": "Mongo initdb root password"
+ },
+ "mongo_initdb_init_database": {
+ "type": "string",
+ "description": "Mongo initdb init database"
+ },
+ "mysql_root_password": {
+ "type": "string",
+ "description": "MySQL root password"
+ },
+ "mysql_user": {
+ "type": "string",
+ "description": "MySQL user"
+ },
+ "mysql_database": {
+ "type": "string",
+ "description": "MySQL database"
+ },
+ "mysql_conf": {
+ "type": "string",
+ "description": "MySQL conf"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Database updated"
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/databases\/postgresql": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "summary": "Create (PostgreSQL)",
+ "description": "Create a new PostgreSQL database.",
+ "operationId": "create-database-postgresql",
+ "requestBody": {
+ "description": "Database data",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "required": [
+ "server_uuid",
+ "project_uuid",
+ "environment_name"
+ ],
+ "properties": {
+ "server_uuid": {
+ "type": "string",
+ "description": "UUID of the server"
+ },
+ "project_uuid": {
+ "type": "string",
+ "description": "UUID of the project"
+ },
+ "environment_name": {
+ "type": "string",
+ "description": "Name of the environment"
+ },
+ "postgres_user": {
+ "type": "string",
+ "description": "PostgreSQL user"
+ },
+ "postgres_password": {
+ "type": "string",
+ "description": "PostgreSQL password"
+ },
+ "postgres_db": {
+ "type": "string",
+ "description": "PostgreSQL database"
+ },
+ "postgres_initdb_args": {
+ "type": "string",
+ "description": "PostgreSQL initdb args"
+ },
+ "postgres_host_auth_method": {
+ "type": "string",
+ "description": "PostgreSQL host auth method"
+ },
+ "postgres_conf": {
+ "type": "string",
+ "description": "PostgreSQL conf"
+ },
+ "destination_uuid": {
+ "type": "string",
+ "description": "UUID of the destination if the server has multiple destinations"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the database"
+ },
+ "image": {
+ "type": "string",
+ "description": "Docker Image of the database"
+ },
+ "is_public": {
+ "type": "boolean",
+ "description": "Is the database public?"
+ },
+ "public_port": {
+ "type": "integer",
+ "description": "Public port of the database"
+ },
+ "limits_memory": {
+ "type": "string",
+ "description": "Memory limit of the database"
+ },
+ "limits_memory_swap": {
+ "type": "string",
+ "description": "Memory swap limit of the database"
+ },
+ "limits_memory_swappiness": {
+ "type": "integer",
+ "description": "Memory swappiness of the database"
+ },
+ "limits_memory_reservation": {
+ "type": "string",
+ "description": "Memory reservation of the database"
+ },
+ "limits_cpus": {
+ "type": "string",
+ "description": "CPU limit of the database"
+ },
+ "limits_cpuset": {
+ "type": "string",
+ "description": "CPU set of the database"
+ },
+ "limits_cpu_shares": {
+ "type": "integer",
+ "description": "CPU shares of the database"
+ },
+ "instant_deploy": {
+ "type": "boolean",
+ "description": "Instant deploy the database"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Database updated"
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/databases\/clickhouse": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "summary": "Create (Clickhouse)",
+ "description": "Create a new Clickhouse database.",
+ "operationId": "create-database-clickhouse",
+ "requestBody": {
+ "description": "Database data",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "required": [
+ "server_uuid",
+ "project_uuid",
+ "environment_name"
+ ],
+ "properties": {
+ "server_uuid": {
+ "type": "string",
+ "description": "UUID of the server"
+ },
+ "project_uuid": {
+ "type": "string",
+ "description": "UUID of the project"
+ },
+ "environment_name": {
+ "type": "string",
+ "description": "Name of the environment"
+ },
+ "destination_uuid": {
+ "type": "string",
+ "description": "UUID of the destination if the server has multiple destinations"
+ },
+ "clickhouse_admin_user": {
+ "type": "string",
+ "description": "Clickhouse admin user"
+ },
+ "clickhouse_admin_password": {
+ "type": "string",
+ "description": "Clickhouse admin password"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the database"
+ },
+ "image": {
+ "type": "string",
+ "description": "Docker Image of the database"
+ },
+ "is_public": {
+ "type": "boolean",
+ "description": "Is the database public?"
+ },
+ "public_port": {
+ "type": "integer",
+ "description": "Public port of the database"
+ },
+ "limits_memory": {
+ "type": "string",
+ "description": "Memory limit of the database"
+ },
+ "limits_memory_swap": {
+ "type": "string",
+ "description": "Memory swap limit of the database"
+ },
+ "limits_memory_swappiness": {
+ "type": "integer",
+ "description": "Memory swappiness of the database"
+ },
+ "limits_memory_reservation": {
+ "type": "string",
+ "description": "Memory reservation of the database"
+ },
+ "limits_cpus": {
+ "type": "string",
+ "description": "CPU limit of the database"
+ },
+ "limits_cpuset": {
+ "type": "string",
+ "description": "CPU set of the database"
+ },
+ "limits_cpu_shares": {
+ "type": "integer",
+ "description": "CPU shares of the database"
+ },
+ "instant_deploy": {
+ "type": "boolean",
+ "description": "Instant deploy the database"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Database updated"
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/databases\/dragonfly": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "summary": "Create (DragonFly)",
+ "description": "Create a new DragonFly database.",
+ "operationId": "create-database-dragonfly",
+ "requestBody": {
+ "description": "Database data",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "required": [
+ "server_uuid",
+ "project_uuid",
+ "environment_name"
+ ],
+ "properties": {
+ "server_uuid": {
+ "type": "string",
+ "description": "UUID of the server"
+ },
+ "project_uuid": {
+ "type": "string",
+ "description": "UUID of the project"
+ },
+ "environment_name": {
+ "type": "string",
+ "description": "Name of the environment"
+ },
+ "destination_uuid": {
+ "type": "string",
+ "description": "UUID of the destination if the server has multiple destinations"
+ },
+ "dragonfly_password": {
+ "type": "string",
+ "description": "DragonFly password"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the database"
+ },
+ "image": {
+ "type": "string",
+ "description": "Docker Image of the database"
+ },
+ "is_public": {
+ "type": "boolean",
+ "description": "Is the database public?"
+ },
+ "public_port": {
+ "type": "integer",
+ "description": "Public port of the database"
+ },
+ "limits_memory": {
+ "type": "string",
+ "description": "Memory limit of the database"
+ },
+ "limits_memory_swap": {
+ "type": "string",
+ "description": "Memory swap limit of the database"
+ },
+ "limits_memory_swappiness": {
+ "type": "integer",
+ "description": "Memory swappiness of the database"
+ },
+ "limits_memory_reservation": {
+ "type": "string",
+ "description": "Memory reservation of the database"
+ },
+ "limits_cpus": {
+ "type": "string",
+ "description": "CPU limit of the database"
+ },
+ "limits_cpuset": {
+ "type": "string",
+ "description": "CPU set of the database"
+ },
+ "limits_cpu_shares": {
+ "type": "integer",
+ "description": "CPU shares of the database"
+ },
+ "instant_deploy": {
+ "type": "boolean",
+ "description": "Instant deploy the database"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Database updated"
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/databases\/redis": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "summary": "Create (Redis)",
+ "description": "Create a new Redis database.",
+ "operationId": "create-database-redis",
+ "requestBody": {
+ "description": "Database data",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "required": [
+ "server_uuid",
+ "project_uuid",
+ "environment_name"
+ ],
+ "properties": {
+ "server_uuid": {
+ "type": "string",
+ "description": "UUID of the server"
+ },
+ "project_uuid": {
+ "type": "string",
+ "description": "UUID of the project"
+ },
+ "environment_name": {
+ "type": "string",
+ "description": "Name of the environment"
+ },
+ "destination_uuid": {
+ "type": "string",
+ "description": "UUID of the destination if the server has multiple destinations"
+ },
+ "redis_password": {
+ "type": "string",
+ "description": "Redis password"
+ },
+ "redis_conf": {
+ "type": "string",
+ "description": "Redis conf"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the database"
+ },
+ "image": {
+ "type": "string",
+ "description": "Docker Image of the database"
+ },
+ "is_public": {
+ "type": "boolean",
+ "description": "Is the database public?"
+ },
+ "public_port": {
+ "type": "integer",
+ "description": "Public port of the database"
+ },
+ "limits_memory": {
+ "type": "string",
+ "description": "Memory limit of the database"
+ },
+ "limits_memory_swap": {
+ "type": "string",
+ "description": "Memory swap limit of the database"
+ },
+ "limits_memory_swappiness": {
+ "type": "integer",
+ "description": "Memory swappiness of the database"
+ },
+ "limits_memory_reservation": {
+ "type": "string",
+ "description": "Memory reservation of the database"
+ },
+ "limits_cpus": {
+ "type": "string",
+ "description": "CPU limit of the database"
+ },
+ "limits_cpuset": {
+ "type": "string",
+ "description": "CPU set of the database"
+ },
+ "limits_cpu_shares": {
+ "type": "integer",
+ "description": "CPU shares of the database"
+ },
+ "instant_deploy": {
+ "type": "boolean",
+ "description": "Instant deploy the database"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Database updated"
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/databases\/keydb": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "summary": "Create (KeyDB)",
+ "description": "Create a new KeyDB database.",
+ "operationId": "create-database-keydb",
+ "requestBody": {
+ "description": "Database data",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "required": [
+ "server_uuid",
+ "project_uuid",
+ "environment_name"
+ ],
+ "properties": {
+ "server_uuid": {
+ "type": "string",
+ "description": "UUID of the server"
+ },
+ "project_uuid": {
+ "type": "string",
+ "description": "UUID of the project"
+ },
+ "environment_name": {
+ "type": "string",
+ "description": "Name of the environment"
+ },
+ "destination_uuid": {
+ "type": "string",
+ "description": "UUID of the destination if the server has multiple destinations"
+ },
+ "keydb_password": {
+ "type": "string",
+ "description": "KeyDB password"
+ },
+ "keydb_conf": {
+ "type": "string",
+ "description": "KeyDB conf"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the database"
+ },
+ "image": {
+ "type": "string",
+ "description": "Docker Image of the database"
+ },
+ "is_public": {
+ "type": "boolean",
+ "description": "Is the database public?"
+ },
+ "public_port": {
+ "type": "integer",
+ "description": "Public port of the database"
+ },
+ "limits_memory": {
+ "type": "string",
+ "description": "Memory limit of the database"
+ },
+ "limits_memory_swap": {
+ "type": "string",
+ "description": "Memory swap limit of the database"
+ },
+ "limits_memory_swappiness": {
+ "type": "integer",
+ "description": "Memory swappiness of the database"
+ },
+ "limits_memory_reservation": {
+ "type": "string",
+ "description": "Memory reservation of the database"
+ },
+ "limits_cpus": {
+ "type": "string",
+ "description": "CPU limit of the database"
+ },
+ "limits_cpuset": {
+ "type": "string",
+ "description": "CPU set of the database"
+ },
+ "limits_cpu_shares": {
+ "type": "integer",
+ "description": "CPU shares of the database"
+ },
+ "instant_deploy": {
+ "type": "boolean",
+ "description": "Instant deploy the database"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Database updated"
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/databases\/mariadb": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "summary": "Create (MariaDB)",
+ "description": "Create a new MariaDB database.",
+ "operationId": "create-database-mariadb",
+ "requestBody": {
+ "description": "Database data",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "required": [
+ "server_uuid",
+ "project_uuid",
+ "environment_name"
+ ],
+ "properties": {
+ "server_uuid": {
+ "type": "string",
+ "description": "UUID of the server"
+ },
+ "project_uuid": {
+ "type": "string",
+ "description": "UUID of the project"
+ },
+ "environment_name": {
+ "type": "string",
+ "description": "Name of the environment"
+ },
+ "destination_uuid": {
+ "type": "string",
+ "description": "UUID of the destination if the server has multiple destinations"
+ },
+ "mariadb_conf": {
+ "type": "string",
+ "description": "MariaDB conf"
+ },
+ "mariadb_root_password": {
+ "type": "string",
+ "description": "MariaDB root password"
+ },
+ "mariadb_user": {
+ "type": "string",
+ "description": "MariaDB user"
+ },
+ "mariadb_password": {
+ "type": "string",
+ "description": "MariaDB password"
+ },
+ "mariadb_database": {
+ "type": "string",
+ "description": "MariaDB database"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the database"
+ },
+ "image": {
+ "type": "string",
+ "description": "Docker Image of the database"
+ },
+ "is_public": {
+ "type": "boolean",
+ "description": "Is the database public?"
+ },
+ "public_port": {
+ "type": "integer",
+ "description": "Public port of the database"
+ },
+ "limits_memory": {
+ "type": "string",
+ "description": "Memory limit of the database"
+ },
+ "limits_memory_swap": {
+ "type": "string",
+ "description": "Memory swap limit of the database"
+ },
+ "limits_memory_swappiness": {
+ "type": "integer",
+ "description": "Memory swappiness of the database"
+ },
+ "limits_memory_reservation": {
+ "type": "string",
+ "description": "Memory reservation of the database"
+ },
+ "limits_cpus": {
+ "type": "string",
+ "description": "CPU limit of the database"
+ },
+ "limits_cpuset": {
+ "type": "string",
+ "description": "CPU set of the database"
+ },
+ "limits_cpu_shares": {
+ "type": "integer",
+ "description": "CPU shares of the database"
+ },
+ "instant_deploy": {
+ "type": "boolean",
+ "description": "Instant deploy the database"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Database updated"
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/databases\/mysql": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "summary": "Create (MySQL)",
+ "description": "Create a new MySQL database.",
+ "operationId": "create-database-mysql",
+ "requestBody": {
+ "description": "Database data",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "required": [
+ "server_uuid",
+ "project_uuid",
+ "environment_name"
+ ],
+ "properties": {
+ "server_uuid": {
+ "type": "string",
+ "description": "UUID of the server"
+ },
+ "project_uuid": {
+ "type": "string",
+ "description": "UUID of the project"
+ },
+ "environment_name": {
+ "type": "string",
+ "description": "Name of the environment"
+ },
+ "destination_uuid": {
+ "type": "string",
+ "description": "UUID of the destination if the server has multiple destinations"
+ },
+ "mysql_root_password": {
+ "type": "string",
+ "description": "MySQL root password"
+ },
+ "mysql_user": {
+ "type": "string",
+ "description": "MySQL user"
+ },
+ "mysql_database": {
+ "type": "string",
+ "description": "MySQL database"
+ },
+ "mysql_conf": {
+ "type": "string",
+ "description": "MySQL conf"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the database"
+ },
+ "image": {
+ "type": "string",
+ "description": "Docker Image of the database"
+ },
+ "is_public": {
+ "type": "boolean",
+ "description": "Is the database public?"
+ },
+ "public_port": {
+ "type": "integer",
+ "description": "Public port of the database"
+ },
+ "limits_memory": {
+ "type": "string",
+ "description": "Memory limit of the database"
+ },
+ "limits_memory_swap": {
+ "type": "string",
+ "description": "Memory swap limit of the database"
+ },
+ "limits_memory_swappiness": {
+ "type": "integer",
+ "description": "Memory swappiness of the database"
+ },
+ "limits_memory_reservation": {
+ "type": "string",
+ "description": "Memory reservation of the database"
+ },
+ "limits_cpus": {
+ "type": "string",
+ "description": "CPU limit of the database"
+ },
+ "limits_cpuset": {
+ "type": "string",
+ "description": "CPU set of the database"
+ },
+ "limits_cpu_shares": {
+ "type": "integer",
+ "description": "CPU shares of the database"
+ },
+ "instant_deploy": {
+ "type": "boolean",
+ "description": "Instant deploy the database"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Database updated"
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/databases\/mongodb": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "summary": "Create (MongoDB)",
+ "description": "Create a new MongoDB database.",
+ "operationId": "create-database-mongodb",
+ "requestBody": {
+ "description": "Database data",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "required": [
+ "server_uuid",
+ "project_uuid",
+ "environment_name"
+ ],
+ "properties": {
+ "server_uuid": {
+ "type": "string",
+ "description": "UUID of the server"
+ },
+ "project_uuid": {
+ "type": "string",
+ "description": "UUID of the project"
+ },
+ "environment_name": {
+ "type": "string",
+ "description": "Name of the environment"
+ },
+ "destination_uuid": {
+ "type": "string",
+ "description": "UUID of the destination if the server has multiple destinations"
+ },
+ "mongo_conf": {
+ "type": "string",
+ "description": "MongoDB conf"
+ },
+ "mongo_initdb_root_username": {
+ "type": "string",
+ "description": "MongoDB initdb root username"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the database"
+ },
+ "image": {
+ "type": "string",
+ "description": "Docker Image of the database"
+ },
+ "is_public": {
+ "type": "boolean",
+ "description": "Is the database public?"
+ },
+ "public_port": {
+ "type": "integer",
+ "description": "Public port of the database"
+ },
+ "limits_memory": {
+ "type": "string",
+ "description": "Memory limit of the database"
+ },
+ "limits_memory_swap": {
+ "type": "string",
+ "description": "Memory swap limit of the database"
+ },
+ "limits_memory_swappiness": {
+ "type": "integer",
+ "description": "Memory swappiness of the database"
+ },
+ "limits_memory_reservation": {
+ "type": "string",
+ "description": "Memory reservation of the database"
+ },
+ "limits_cpus": {
+ "type": "string",
+ "description": "CPU limit of the database"
+ },
+ "limits_cpuset": {
+ "type": "string",
+ "description": "CPU set of the database"
+ },
+ "limits_cpu_shares": {
+ "type": "integer",
+ "description": "CPU shares of the database"
+ },
+ "instant_deploy": {
+ "type": "boolean",
+ "description": "Instant deploy the database"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Database updated"
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/databases\/{uuid}\/start": {
+ "get": {
+ "tags": [
+ "Databases"
+ ],
+ "summary": "Start",
+ "description": "Start database. `Post` request is also accepted.",
+ "operationId": "start-database-by-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the database.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Start database.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "Database starting request queued."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/databases\/{uuid}\/stop": {
+ "get": {
+ "tags": [
+ "Databases"
+ ],
+ "summary": "Stop",
+ "description": "Stop database. `Post` request is also accepted.",
+ "operationId": "stop-database-by-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the database.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Stop database.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "Database stopping request queued."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/databases\/{uuid}\/restart": {
+ "get": {
+ "tags": [
+ "Databases"
+ ],
+ "summary": "Restart",
+ "description": "Restart database. `Post` request is also accepted.",
+ "operationId": "restart-database-by-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the database.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Restart database.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "Database restaring request queued."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/deployments": {
+ "get": {
+ "tags": [
+ "Deployments"
+ ],
+ "summary": "List",
+ "description": "List currently running deployments",
+ "operationId": "list-deployments",
+ "responses": {
+ "200": {
+ "description": "Get all currently running deployments.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#\/components\/schemas\/ApplicationDeploymentQueue"
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/deployments\/{uuid}": {
+ "get": {
+ "tags": [
+ "Deployments"
+ ],
+ "summary": "Get",
+ "description": "Get deployment by UUID.",
+ "operationId": "get-deployment-by-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "Deployment UUID",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get deployment by UUID.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "$ref": "#\/components\/schemas\/ApplicationDeploymentQueue"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/deploy": {
+ "get": {
+ "tags": [
+ "Deployments"
+ ],
+ "summary": "Deploy",
+ "description": "Deploy by tag or uuid. `Post` request also accepted.",
+ "operationId": "deploy-by-tag-or-uuid",
+ "parameters": [
+ {
+ "name": "tag",
+ "in": "query",
+ "description": "Tag name(s). Comma separated list is also accepted.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "uuid",
+ "in": "query",
+ "description": "Resource UUID(s). Comma separated list is also accepted.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "force",
+ "in": "query",
+ "description": "Force rebuild (without cache)",
+ "schema": {
+ "type": "boolean"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get deployment(s) UUID's",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "deployments": {
+ "type": "array",
+ "items": {
+ "properties": {
+ "message": {
+ "type": "string"
+ },
+ "resource_uuid": {
+ "type": "string"
+ },
+ "deployment_uuid": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/version": {
+ "get": {
+ "summary": "Version",
+ "description": "Get Coolify version.",
+ "operationId": "version",
+ "responses": {
+ "200": {
+ "description": "Returns the version of the application",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "type": "string"
+ },
+ "example": "v4.0.0"
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/enable": {
+ "get": {
+ "summary": "Enable API",
+ "description": "Enable API (only with root permissions).",
+ "operationId": "enable-api",
+ "responses": {
+ "200": {
+ "description": "Enable API.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "API enabled."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "You are not allowed to enable the API.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "You are not allowed to enable the API."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/disable": {
+ "get": {
+ "summary": "Disable API",
+ "description": "Disable API (only with root permissions).",
+ "operationId": "disable-api",
+ "responses": {
+ "200": {
+ "description": "Disable API.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "API disabled."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "You are not allowed to disable the API.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "You are not allowed to disable the API."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/health": {
+ "get": {
+ "summary": "Healthcheck",
+ "description": "Healthcheck endpoint.",
+ "operationId": "healthcheck",
+ "responses": {
+ "200": {
+ "description": "Healthcheck endpoint.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "type": "string"
+ },
+ "example": "OK"
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ }
+ }
+ },
+ "\/projects": {
+ "get": {
+ "tags": [
+ "Projects"
+ ],
+ "summary": "List",
+ "description": "List projects.",
+ "operationId": "list-projects",
+ "responses": {
+ "200": {
+ "description": "Get all projects.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#\/components\/schemas\/Project"
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ },
+ "post": {
+ "tags": [
+ "Projects"
+ ],
+ "summary": "Create",
+ "description": "Create Project.",
+ "operationId": "create-project",
+ "requestBody": {
+ "description": "Project created.",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the project."
+ },
+ "description": {
+ "type": "string",
+ "description": "The description of the project."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Project created.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "uuid": {
+ "type": "string",
+ "example": "og888os",
+ "description": "The UUID of the project."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/projects\/{uuid}": {
+ "get": {
+ "tags": [
+ "Projects"
+ ],
+ "summary": "Get",
+ "description": "Get project by UUID.",
+ "operationId": "get-project-by-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "Project UUID",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Project details",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "$ref": "#\/components\/schemas\/Project"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "description": "Project not found."
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ },
+ "delete": {
+ "tags": [
+ "Projects"
+ ],
+ "summary": "Delete",
+ "description": "Delete project by UUID.",
+ "operationId": "delete-project-by-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the application.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Project deleted.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "Project deleted."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ },
+ "patch": {
+ "tags": [
+ "Projects"
+ ],
+ "summary": "Update",
+ "description": "Update Project.",
+ "operationId": "update-project-by-uuid",
+ "requestBody": {
+ "description": "Project updated.",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the project."
+ },
+ "description": {
+ "type": "string",
+ "description": "The description of the project."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Project updated.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "uuid": {
+ "type": "string",
+ "example": "og888os"
+ },
+ "name": {
+ "type": "string",
+ "example": "Project Name"
+ },
+ "description": {
+ "type": "string",
+ "example": "Project Description"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/projects\/{uuid}\/{environment_name}": {
+ "get": {
+ "tags": [
+ "Projects"
+ ],
+ "summary": "Environment",
+ "description": "Get environment by name.",
+ "operationId": "get-environment-by-name",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "Project UUID",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "environment_name",
+ "in": "path",
+ "description": "Environment name",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Environment details",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "$ref": "#\/components\/schemas\/Environment"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/resources": {
+ "get": {
+ "tags": [
+ "Resources"
+ ],
+ "summary": "List",
+ "description": "Get all resources.",
+ "operationId": "list-resources",
+ "responses": {
+ "200": {
+ "description": "Get all resources",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "type": "string"
+ },
+ "example": "Content is very complex. Will be implemented later."
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/security\/keys": {
+ "get": {
+ "tags": [
+ "Private Keys"
+ ],
+ "summary": "List",
+ "description": "List all private keys.",
+ "operationId": "list-private-keys",
+ "responses": {
+ "200": {
+ "description": "Get all private keys.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#\/components\/schemas\/PrivateKey"
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ },
+ "post": {
+ "tags": [
+ "Private Keys"
+ ],
+ "summary": "Create",
+ "description": "Create a new private key.",
+ "operationId": "create-private-key",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "required": [
+ "private_key"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "private_key": {
+ "type": "string"
+ }
+ },
+ "type": "object",
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "The created private key's UUID.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "uuid": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ },
+ "patch": {
+ "tags": [
+ "Private Keys"
+ ],
+ "summary": "Update",
+ "description": "Update a private key.",
+ "operationId": "update-private-key",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "required": [
+ "private_key"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "private_key": {
+ "type": "string"
+ }
+ },
+ "type": "object",
+ "additionalProperties": false
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "The updated private key's UUID.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "uuid": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/security\/keys\/{uuid}": {
+ "get": {
+ "tags": [
+ "Private Keys"
+ ],
+ "summary": "Get",
+ "description": "Get key by UUID.",
+ "operationId": "get-private-key-by-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "Private Key UUID",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get all private keys.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "$ref": "#\/components\/schemas\/PrivateKey"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "description": "Private Key not found."
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ },
+ "delete": {
+ "tags": [
+ "Private Keys"
+ ],
+ "summary": "Delete",
+ "description": "Delete a private key.",
+ "operationId": "delete-private-key-by-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "Private Key UUID",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Private Key deleted.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "Private Key deleted."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "description": "Private Key not found."
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/servers": {
+ "get": {
+ "tags": [
+ "Servers"
+ ],
+ "summary": "List",
+ "description": "List all servers.",
+ "operationId": "list-servers",
+ "responses": {
+ "200": {
+ "description": "Get all servers.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#\/components\/schemas\/Server"
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ },
+ "post": {
+ "tags": [
+ "Servers"
+ ],
+ "summary": "Create",
+ "description": "Create Server.",
+ "operationId": "create-server",
+ "requestBody": {
+ "description": "Server created.",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "example": "My Server",
+ "description": "The name of the server."
+ },
+ "description": {
+ "type": "string",
+ "example": "My Server Description",
+ "description": "The description of the server."
+ },
+ "ip": {
+ "type": "string",
+ "example": "127.0.0.1",
+ "description": "The IP of the server."
+ },
+ "port": {
+ "type": "integer",
+ "example": 22,
+ "description": "The port of the server."
+ },
+ "user": {
+ "type": "string",
+ "example": "root",
+ "description": "The user of the server."
+ },
+ "private_key_uuid": {
+ "type": "string",
+ "example": "og888os",
+ "description": "The UUID of the private key."
+ },
+ "is_build_server": {
+ "type": "boolean",
+ "example": false,
+ "description": "Is build server."
+ },
+ "instant_validate": {
+ "type": "boolean",
+ "example": false,
+ "description": "Instant validate."
+ },
+ "proxy_type": {
+ "type": "string",
+ "enum": [
+ "traefik",
+ "caddy",
+ "none"
+ ],
+ "example": "traefik",
+ "description": "The proxy type."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Server created.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "uuid": {
+ "type": "string",
+ "example": "og888os",
+ "description": "The UUID of the server."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/servers\/{uuid}": {
+ "get": {
+ "tags": [
+ "Servers"
+ ],
+ "summary": "Get",
+ "description": "Get server by UUID.",
+ "operationId": "get-server-by-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "Server's UUID",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get server by UUID",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "$ref": "#\/components\/schemas\/Server"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ },
+ "delete": {
+ "tags": [
+ "Servers"
+ ],
+ "summary": "Delete",
+ "description": "Delete server by UUID.",
+ "operationId": "delete-server-by-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the server.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Server deleted.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "Server deleted."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ },
+ "patch": {
+ "tags": [
+ "Servers"
+ ],
+ "summary": "Update",
+ "description": "Update Server.",
+ "operationId": "update-server-by-uuid",
+ "requestBody": {
+ "description": "Server updated.",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the server."
+ },
+ "description": {
+ "type": "string",
+ "description": "The description of the server."
+ },
+ "ip": {
+ "type": "string",
+ "description": "The IP of the server."
+ },
+ "port": {
+ "type": "integer",
+ "description": "The port of the server."
+ },
+ "user": {
+ "type": "string",
+ "description": "The user of the server."
+ },
+ "private_key_uuid": {
+ "type": "string",
+ "description": "The UUID of the private key."
+ },
+ "is_build_server": {
+ "type": "boolean",
+ "description": "Is build server."
+ },
+ "instant_validate": {
+ "type": "boolean",
+ "description": "Instant validate."
+ },
+ "proxy_type": {
+ "type": "string",
+ "enum": [
+ "traefik",
+ "caddy",
+ "none"
+ ],
+ "description": "The proxy type."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Server updated.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#\/components\/schemas\/Server"
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/servers\/{uuid}\/resources": {
+ "get": {
+ "tags": [
+ "Servers"
+ ],
+ "summary": "Resources",
+ "description": "Get resources by server.",
+ "operationId": "get-resources-by-server-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "Server's UUID",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get resources by server",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "uuid": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "created_at": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/servers\/{uuid}\/domains": {
+ "get": {
+ "tags": [
+ "Servers"
+ ],
+ "summary": "Domains",
+ "description": "Get domains by server.",
+ "operationId": "get-domains-by-server-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "Server's UUID",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get domains by server",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "properties": {
+ "ip": {
+ "type": "string"
+ },
+ "domains": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/servers\/{uuid}\/validate": {
+ "get": {
+ "tags": [
+ "Servers"
+ ],
+ "summary": "Validate",
+ "description": "Validate server by UUID.",
+ "operationId": "validate-server-by-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "Server UUID",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Server validation started.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "Validation started."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/services": {
+ "get": {
+ "tags": [
+ "Services"
+ ],
+ "summary": "List",
+ "description": "List all services.",
+ "operationId": "list-services",
+ "responses": {
+ "200": {
+ "description": "Get all services",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#\/components\/schemas\/Service"
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ },
+ "post": {
+ "tags": [
+ "Services"
+ ],
+ "summary": "Create",
+ "description": "Create a one-click service",
+ "operationId": "create-service",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "required": [
+ "server_uuid",
+ "project_uuid",
+ "environment_name",
+ "type"
+ ],
+ "properties": {
+ "type": {
+ "description": "The one-click service type",
+ "type": "string",
+ "enum": [
+ "activepieces",
+ "appsmith",
+ "appwrite",
+ "authentik",
+ "babybuddy",
+ "budge",
+ "changedetection",
+ "chatwoot",
+ "classicpress-with-mariadb",
+ "classicpress-with-mysql",
+ "classicpress-without-database",
+ "cloudflared",
+ "code-server",
+ "dashboard",
+ "directus",
+ "directus-with-postgresql",
+ "docker-registry",
+ "docuseal",
+ "docuseal-with-postgres",
+ "dokuwiki",
+ "duplicati",
+ "emby",
+ "embystat",
+ "fider",
+ "filebrowser",
+ "firefly",
+ "formbricks",
+ "ghost",
+ "gitea",
+ "gitea-with-mariadb",
+ "gitea-with-mysql",
+ "gitea-with-postgresql",
+ "glance",
+ "glances",
+ "glitchtip",
+ "grafana",
+ "grafana-with-postgresql",
+ "grocy",
+ "heimdall",
+ "homepage",
+ "jellyfin",
+ "kuzzle",
+ "listmonk",
+ "logto",
+ "mediawiki",
+ "meilisearch",
+ "metabase",
+ "metube",
+ "minio",
+ "moodle",
+ "n8n",
+ "n8n-with-postgresql",
+ "next-image-transformation",
+ "nextcloud",
+ "nocodb",
+ "odoo",
+ "openblocks",
+ "pairdrop",
+ "penpot",
+ "phpmyadmin",
+ "pocketbase",
+ "posthog",
+ "reactive-resume",
+ "rocketchat",
+ "shlink",
+ "slash",
+ "snapdrop",
+ "statusnook",
+ "stirling-pdf",
+ "supabase",
+ "syncthing",
+ "tolgee",
+ "trigger",
+ "trigger-with-external-database",
+ "twenty",
+ "umami",
+ "unleash-with-postgresql",
+ "unleash-without-database",
+ "uptime-kuma",
+ "vaultwarden",
+ "vikunja",
+ "weblate",
+ "whoogle",
+ "wordpress-with-mariadb",
+ "wordpress-with-mysql",
+ "wordpress-without-database"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "maxLength": 255,
+ "description": "Name of the service."
+ },
+ "description": {
+ "type": "string",
+ "nullable": true,
+ "description": "Description of the service."
+ },
+ "project_uuid": {
+ "type": "string",
+ "description": "Project UUID."
+ },
+ "environment_name": {
+ "type": "string",
+ "description": "Environment name."
+ },
+ "server_uuid": {
+ "type": "string",
+ "description": "Server UUID."
+ },
+ "destination_uuid": {
+ "type": "string",
+ "description": "Destination UUID. Required if server has multiple destinations."
+ },
+ "instant_deploy": {
+ "type": "boolean",
+ "default": false,
+ "description": "Start the service immediately after creation."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Create a service.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "uuid": {
+ "type": "string",
+ "description": "Service UUID."
+ },
+ "domains": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Service domains."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/services\/{uuid}": {
+ "get": {
+ "tags": [
+ "Services"
+ ],
+ "summary": "Get",
+ "description": "Get service by UUID.",
+ "operationId": "get-service-by-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "Service UUID",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get a service by UUID.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "$ref": "#\/components\/schemas\/Service"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ },
+ "delete": {
+ "tags": [
+ "Services"
+ ],
+ "summary": "Delete",
+ "description": "Delete service by UUID.",
+ "operationId": "delete-service-by-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "Service UUID",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "delete_configurations",
+ "in": "query",
+ "description": "Delete configurations.",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": true
+ }
+ },
+ {
+ "name": "delete_volumes",
+ "in": "query",
+ "description": "Delete volumes.",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": true
+ }
+ },
+ {
+ "name": "docker_cleanup",
+ "in": "query",
+ "description": "Run docker cleanup.",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": true
+ }
+ },
+ {
+ "name": "delete_connected_networks",
+ "in": "query",
+ "description": "Delete connected networks.",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete a service by UUID",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "Service deletion request queued."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/services\/{uuid}\/envs": {
+ "get": {
+ "tags": [
+ "Services"
+ ],
+ "summary": "List Envs",
+ "description": "List all envs by service UUID.",
+ "operationId": "list-envs-by-service-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the service.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "All environment variables by service UUID.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#\/components\/schemas\/EnvironmentVariable"
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ },
+ "post": {
+ "tags": [
+ "Services"
+ ],
+ "summary": "Create Env",
+ "description": "Create env by service UUID.",
+ "operationId": "create-env-by-service-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the service.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "requestBody": {
+ "description": "Env created.",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "The key of the environment variable."
+ },
+ "value": {
+ "type": "string",
+ "description": "The value of the environment variable."
+ },
+ "is_preview": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable is used in preview deployments."
+ },
+ "is_build_time": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable is used in build time."
+ },
+ "is_literal": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable is a literal, nothing espaced."
+ },
+ "is_multiline": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable is multiline."
+ },
+ "is_shown_once": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable's value is shown on the UI."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Environment variable created.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "uuid": {
+ "type": "string",
+ "example": "nc0k04gk8g0cgsk440g0koko"
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ },
+ "patch": {
+ "tags": [
+ "Services"
+ ],
+ "summary": "Update Env",
+ "description": "Update env by service UUID.",
+ "operationId": "update-env-by-service-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the service.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "requestBody": {
+ "description": "Env updated.",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "required": [
+ "key",
+ "value"
+ ],
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "The key of the environment variable."
+ },
+ "value": {
+ "type": "string",
+ "description": "The value of the environment variable."
+ },
+ "is_preview": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable is used in preview deployments."
+ },
+ "is_build_time": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable is used in build time."
+ },
+ "is_literal": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable is a literal, nothing espaced."
+ },
+ "is_multiline": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable is multiline."
+ },
+ "is_shown_once": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable's value is shown on the UI."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Environment variable updated.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "Environment variable updated."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/services\/{uuid}\/envs\/bulk": {
+ "patch": {
+ "tags": [
+ "Services"
+ ],
+ "summary": "Update Envs (Bulk)",
+ "description": "Update multiple envs by service UUID.",
+ "operationId": "update-envs-by-service-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the service.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "requestBody": {
+ "description": "Bulk envs updated.",
+ "required": true,
+ "content": {
+ "application\/json": {
+ "schema": {
+ "required": [
+ "data"
+ ],
+ "properties": {
+ "data": {
+ "type": "array",
+ "items": {
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "The key of the environment variable."
+ },
+ "value": {
+ "type": "string",
+ "description": "The value of the environment variable."
+ },
+ "is_preview": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable is used in preview deployments."
+ },
+ "is_build_time": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable is used in build time."
+ },
+ "is_literal": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable is a literal, nothing espaced."
+ },
+ "is_multiline": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable is multiline."
+ },
+ "is_shown_once": {
+ "type": "boolean",
+ "description": "The flag to indicate if the environment variable's value is shown on the UI."
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Environment variables updated.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "Environment variables updated."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/services\/{uuid}\/envs\/{env_uuid}": {
+ "delete": {
+ "tags": [
+ "Services"
+ ],
+ "summary": "Delete Env",
+ "description": "Delete env by UUID.",
+ "operationId": "delete-env-by-service-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the service.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ },
+ {
+ "name": "env_uuid",
+ "in": "path",
+ "description": "UUID of the environment variable.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Environment variable deleted.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "Environment variable deleted."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/services\/{uuid}\/start": {
+ "get": {
+ "tags": [
+ "Services"
+ ],
+ "summary": "Start",
+ "description": "Start service. `Post` request is also accepted.",
+ "operationId": "start-service-by-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the service.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Start service.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "Service starting request queued."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/services\/{uuid}\/stop": {
+ "get": {
+ "tags": [
+ "Services"
+ ],
+ "summary": "Stop",
+ "description": "Stop service. `Post` request is also accepted.",
+ "operationId": "stop-service-by-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the service.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Stop service.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "Service stopping request queued."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/services\/{uuid}\/restart": {
+ "get": {
+ "tags": [
+ "Services"
+ ],
+ "summary": "Restart",
+ "description": "Restart service. `Post` request is also accepted.",
+ "operationId": "restart-service-by-uuid",
+ "parameters": [
+ {
+ "name": "uuid",
+ "in": "path",
+ "description": "UUID of the service.",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Restart service.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "Service restaring request queued."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/teams": {
+ "get": {
+ "tags": [
+ "Teams"
+ ],
+ "summary": "List",
+ "description": "Get all teams.",
+ "operationId": "list-teams",
+ "responses": {
+ "200": {
+ "description": "List of teams.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#\/components\/schemas\/Team"
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/teams\/{id}": {
+ "get": {
+ "tags": [
+ "Teams"
+ ],
+ "summary": "Get",
+ "description": "Get team by TeamId.",
+ "operationId": "get-team-by-id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Team ID",
+ "required": true,
+ "schema": {
+ "type": "integer"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of teams.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "$ref": "#\/components\/schemas\/Team"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/teams\/{id}\/members": {
+ "get": {
+ "tags": [
+ "Teams"
+ ],
+ "summary": "Members",
+ "description": "Get members by TeamId.",
+ "operationId": "get-members-by-team-id",
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "description": "Team ID",
+ "required": true,
+ "schema": {
+ "type": "integer"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of members.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#\/components\/schemas\/User"
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ },
+ "404": {
+ "$ref": "#\/components\/responses\/404"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/teams\/current": {
+ "get": {
+ "tags": [
+ "Teams"
+ ],
+ "summary": "Authenticated Team",
+ "description": "Get currently authenticated team.",
+ "operationId": "get-current-team",
+ "responses": {
+ "200": {
+ "description": "Current Team.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "$ref": "#\/components\/schemas\/Team"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ },
+ "\/teams\/current\/members": {
+ "get": {
+ "tags": [
+ "Teams"
+ ],
+ "summary": "Authenticated Team Members",
+ "description": "Get currently authenticated team members.",
+ "operationId": "get-current-team-members",
+ "responses": {
+ "200": {
+ "description": "Currently authenticated team members.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#\/components\/schemas\/User"
+ }
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#\/components\/responses\/401"
+ },
+ "400": {
+ "$ref": "#\/components\/responses\/400"
+ }
+ },
+ "security": [
+ {
+ "bearerAuth": []
+ }
+ ]
+ }
+ }
+ },
+ "components": {
+ "schemas": {
+ "Application": {
+ "description": "Application model",
+ "properties": {
+ "id": {
+ "type": "integer",
+ "description": "The application identifier in the database."
+ },
+ "description": {
+ "type": "string",
+ "nullable": true,
+ "description": "The application description."
+ },
+ "repository_project_id": {
+ "type": "integer",
+ "nullable": true,
+ "description": "The repository project identifier."
+ },
+ "uuid": {
+ "type": "string",
+ "description": "The application UUID."
+ },
+ "name": {
+ "type": "string",
+ "description": "The application name."
+ },
+ "fqdn": {
+ "type": "string",
+ "nullable": true,
+ "description": "The application domains."
+ },
+ "config_hash": {
+ "type": "string",
+ "description": "Configuration hash."
+ },
+ "git_repository": {
+ "type": "string",
+ "description": "Git repository URL."
+ },
+ "git_branch": {
+ "type": "string",
+ "description": "Git branch."
+ },
+ "git_commit_sha": {
+ "type": "string",
+ "description": "Git commit SHA."
+ },
+ "git_full_url": {
+ "type": "string",
+ "nullable": true,
+ "description": "Git full URL."
+ },
+ "docker_registry_image_name": {
+ "type": "string",
+ "nullable": true,
+ "description": "Docker registry image name."
+ },
+ "docker_registry_image_tag": {
+ "type": "string",
+ "nullable": true,
+ "description": "Docker registry image tag."
+ },
+ "build_pack": {
+ "type": "string",
+ "description": "Build pack.",
+ "enum": [
+ "nixpacks",
+ "static",
+ "dockerfile",
+ "dockercompose"
+ ]
+ },
+ "static_image": {
+ "type": "string",
+ "description": "Static image used when static site is deployed."
+ },
+ "install_command": {
+ "type": "string",
+ "description": "Install command."
+ },
+ "build_command": {
+ "type": "string",
+ "description": "Build command."
+ },
+ "start_command": {
+ "type": "string",
+ "description": "Start command."
+ },
+ "ports_exposes": {
+ "type": "string",
+ "description": "Ports exposes."
+ },
+ "ports_mappings": {
+ "type": "string",
+ "nullable": true,
+ "description": "Ports mappings."
+ },
+ "base_directory": {
+ "type": "string",
+ "description": "Base directory for all commands."
+ },
+ "publish_directory": {
+ "type": "string",
+ "description": "Publish directory."
+ },
+ "health_check_enabled": {
+ "type": "boolean",
+ "description": "Health check enabled."
+ },
+ "health_check_path": {
+ "type": "string",
+ "description": "Health check path."
+ },
+ "health_check_port": {
+ "type": "string",
+ "nullable": true,
+ "description": "Health check port."
+ },
+ "health_check_host": {
+ "type": "string",
+ "nullable": true,
+ "description": "Health check host."
+ },
+ "health_check_method": {
+ "type": "string",
+ "description": "Health check method."
+ },
+ "health_check_return_code": {
+ "type": "integer",
+ "description": "Health check return code."
+ },
+ "health_check_scheme": {
+ "type": "string",
+ "description": "Health check scheme."
+ },
+ "health_check_response_text": {
+ "type": "string",
+ "nullable": true,
+ "description": "Health check response text."
+ },
+ "health_check_interval": {
+ "type": "integer",
+ "description": "Health check interval in seconds."
+ },
+ "health_check_timeout": {
+ "type": "integer",
+ "description": "Health check timeout in seconds."
+ },
+ "health_check_retries": {
+ "type": "integer",
+ "description": "Health check retries count."
+ },
+ "health_check_start_period": {
+ "type": "integer",
+ "description": "Health check start period in seconds."
+ },
+ "limits_memory": {
+ "type": "string",
+ "description": "Memory limit."
+ },
+ "limits_memory_swap": {
+ "type": "string",
+ "description": "Memory swap limit."
+ },
+ "limits_memory_swappiness": {
+ "type": "integer",
+ "description": "Memory swappiness."
+ },
+ "limits_memory_reservation": {
+ "type": "string",
+ "description": "Memory reservation."
+ },
+ "limits_cpus": {
+ "type": "string",
+ "description": "CPU limit."
+ },
+ "limits_cpuset": {
+ "type": "string",
+ "nullable": true,
+ "description": "CPU set."
+ },
+ "limits_cpu_shares": {
+ "type": "integer",
+ "description": "CPU shares."
+ },
+ "status": {
+ "type": "string",
+ "description": "Application status."
+ },
+ "preview_url_template": {
+ "type": "string",
+ "description": "Preview URL template."
+ },
+ "destination_type": {
+ "type": "string",
+ "description": "Destination type."
+ },
+ "destination_id": {
+ "type": "integer",
+ "description": "Destination identifier."
+ },
+ "source_id": {
+ "type": "integer",
+ "nullable": true,
+ "description": "Source identifier."
+ },
+ "private_key_id": {
+ "type": "integer",
+ "nullable": true,
+ "description": "Private key identifier."
+ },
+ "environment_id": {
+ "type": "integer",
+ "description": "Environment identifier."
+ },
+ "dockerfile": {
+ "type": "string",
+ "nullable": true,
+ "description": "Dockerfile content. Used for dockerfile build pack."
+ },
+ "dockerfile_location": {
+ "type": "string",
+ "description": "Dockerfile location."
+ },
+ "custom_labels": {
+ "type": "string",
+ "nullable": true,
+ "description": "Custom labels."
+ },
+ "dockerfile_target_build": {
+ "type": "string",
+ "nullable": true,
+ "description": "Dockerfile target build."
+ },
+ "manual_webhook_secret_github": {
+ "type": "string",
+ "nullable": true,
+ "description": "Manual webhook secret for GitHub."
+ },
+ "manual_webhook_secret_gitlab": {
+ "type": "string",
+ "nullable": true,
+ "description": "Manual webhook secret for GitLab."
+ },
+ "manual_webhook_secret_bitbucket": {
+ "type": "string",
+ "nullable": true,
+ "description": "Manual webhook secret for Bitbucket."
+ },
+ "manual_webhook_secret_gitea": {
+ "type": "string",
+ "nullable": true,
+ "description": "Manual webhook secret for Gitea."
+ },
+ "docker_compose_location": {
+ "type": "string",
+ "description": "Docker compose location."
+ },
+ "docker_compose": {
+ "type": "string",
+ "nullable": true,
+ "description": "Docker compose content. Used for docker compose build pack."
+ },
+ "docker_compose_raw": {
+ "type": "string",
+ "nullable": true,
+ "description": "Docker compose raw content."
+ },
+ "docker_compose_domains": {
+ "type": "string",
+ "nullable": true,
+ "description": "Docker compose domains."
+ },
+ "docker_compose_custom_start_command": {
+ "type": "string",
+ "nullable": true,
+ "description": "Docker compose custom start command."
+ },
+ "docker_compose_custom_build_command": {
+ "type": "string",
+ "nullable": true,
+ "description": "Docker compose custom build command."
+ },
+ "swarm_replicas": {
+ "type": "integer",
+ "nullable": true,
+ "description": "Swarm replicas. Only used for swarm deployments."
+ },
+ "swarm_placement_constraints": {
+ "type": "string",
+ "nullable": true,
+ "description": "Swarm placement constraints. Only used for swarm deployments."
+ },
+ "custom_docker_run_options": {
+ "type": "string",
+ "nullable": true,
+ "description": "Custom docker run options."
+ },
+ "post_deployment_command": {
+ "type": "string",
+ "nullable": true,
+ "description": "Post deployment command."
+ },
+ "post_deployment_command_container": {
+ "type": "string",
+ "nullable": true,
+ "description": "Post deployment command container."
+ },
+ "pre_deployment_command": {
+ "type": "string",
+ "nullable": true,
+ "description": "Pre deployment command."
+ },
+ "pre_deployment_command_container": {
+ "type": "string",
+ "nullable": true,
+ "description": "Pre deployment command container."
+ },
+ "watch_paths": {
+ "type": "string",
+ "nullable": true,
+ "description": "Watch paths."
+ },
+ "custom_healthcheck_found": {
+ "type": "boolean",
+ "description": "Custom healthcheck found."
+ },
+ "redirect": {
+ "type": "string",
+ "nullable": true,
+ "description": "How to set redirect with Traefik \/ Caddy. www<->non-www.",
+ "enum": [
+ "www",
+ "non-www",
+ "both"
+ ]
+ },
+ "created_at": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time when the application was created."
+ },
+ "updated_at": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time when the application was last updated."
+ },
+ "deleted_at": {
+ "type": "string",
+ "format": "date-time",
+ "nullable": true,
+ "description": "The date and time when the application was deleted."
+ },
+ "compose_parsing_version": {
+ "type": "string",
+ "description": "How Coolify parse the compose file."
+ },
+ "custom_nginx_configuration": {
+ "type": "string",
+ "nullable": true,
+ "description": "Custom Nginx configuration base64 encoded."
+ }
+ },
+ "type": "object"
+ },
+ "ApplicationDeploymentQueue": {
+ "description": "Project model",
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "application_id": {
+ "type": "string"
+ },
+ "deployment_uuid": {
+ "type": "string"
+ },
+ "pull_request_id": {
+ "type": "integer"
+ },
+ "force_rebuild": {
+ "type": "boolean"
+ },
+ "commit": {
+ "type": "string"
+ },
+ "status": {
+ "type": "string"
+ },
+ "is_webhook": {
+ "type": "boolean"
+ },
+ "is_api": {
+ "type": "boolean"
+ },
+ "created_at": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ },
+ "logs": {
+ "type": "string"
+ },
+ "current_process_id": {
+ "type": "string"
+ },
+ "restart_only": {
+ "type": "boolean"
+ },
+ "git_type": {
+ "type": "string"
+ },
+ "server_id": {
+ "type": "integer"
+ },
+ "application_name": {
+ "type": "string"
+ },
+ "server_name": {
+ "type": "string"
+ },
+ "deployment_url": {
+ "type": "string"
+ },
+ "destination_id": {
+ "type": "string"
+ },
+ "only_this_server": {
+ "type": "boolean"
+ },
+ "rollback": {
+ "type": "boolean"
+ },
+ "commit_message": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Environment": {
+ "description": "Environment model",
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "name": {
+ "type": "string"
+ },
+ "project_id": {
+ "type": "integer"
+ },
+ "created_at": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EnvironmentVariable": {
+ "description": "Environment Variable model",
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "uuid": {
+ "type": "string"
+ },
+ "application_id": {
+ "type": "integer"
+ },
+ "service_id": {
+ "type": "integer"
+ },
+ "database_id": {
+ "type": "integer"
+ },
+ "is_build_time": {
+ "type": "boolean"
+ },
+ "is_literal": {
+ "type": "boolean"
+ },
+ "is_multiline": {
+ "type": "boolean"
+ },
+ "is_preview": {
+ "type": "boolean"
+ },
+ "is_shared": {
+ "type": "boolean"
+ },
+ "is_shown_once": {
+ "type": "boolean"
+ },
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "real_value": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ },
+ "created_at": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PrivateKey": {
+ "description": "Private Key model",
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "uuid": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "private_key": {
+ "type": "string",
+ "format": "private-key"
+ },
+ "is_git_related": {
+ "type": "boolean"
+ },
+ "team_id": {
+ "type": "integer"
+ },
+ "created_at": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Project": {
+ "description": "Project model",
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "uuid": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "environments": {
+ "description": "The environments of the project.",
+ "type": "array",
+ "items": {
+ "$ref": "#\/components\/schemas\/Environment"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "Server": {
+ "description": "Server model",
+ "properties": {
+ "id": {
+ "type": "integer",
+ "description": "The server ID."
+ },
+ "uuid": {
+ "type": "string",
+ "description": "The server UUID."
+ },
+ "name": {
+ "type": "string",
+ "description": "The server name."
+ },
+ "description": {
+ "type": "string",
+ "description": "The server description."
+ },
+ "ip": {
+ "type": "string",
+ "description": "The IP address."
+ },
+ "user": {
+ "type": "string",
+ "description": "The user."
+ },
+ "port": {
+ "type": "integer",
+ "description": "The port number."
+ },
+ "proxy": {
+ "type": "object",
+ "description": "The proxy configuration."
+ },
+ "proxy_type": {
+ "type": "string",
+ "enum": [
+ "traefik",
+ "caddy",
+ "none"
+ ],
+ "description": "The proxy type."
+ },
+ "high_disk_usage_notification_sent": {
+ "type": "boolean",
+ "description": "The flag to indicate if the high disk usage notification has been sent."
+ },
+ "unreachable_notification_sent": {
+ "type": "boolean",
+ "description": "The flag to indicate if the unreachable notification has been sent."
+ },
+ "unreachable_count": {
+ "type": "integer",
+ "description": "The unreachable count for your server."
+ },
+ "validation_logs": {
+ "type": "string",
+ "description": "The validation logs."
+ },
+ "log_drain_notification_sent": {
+ "type": "boolean",
+ "description": "The flag to indicate if the log drain notification has been sent."
+ },
+ "swarm_cluster": {
+ "type": "string",
+ "description": "The swarm cluster configuration."
+ },
+ "delete_unused_volumes": {
+ "type": "boolean",
+ "description": "The flag to indicate if the unused volumes should be deleted."
+ },
+ "delete_unused_networks": {
+ "type": "boolean",
+ "description": "The flag to indicate if the unused networks should be deleted."
+ }
+ },
+ "type": "object"
+ },
+ "ServerSetting": {
+ "description": "Server Settings model",
+ "properties": {
+ "id": {
+ "type": "integer"
+ },
+ "concurrent_builds": {
+ "type": "integer"
+ },
+ "dynamic_timeout": {
+ "type": "integer"
+ },
+ "force_disabled": {
+ "type": "boolean"
+ },
+ "force_server_cleanup": {
+ "type": "boolean"
+ },
+ "is_build_server": {
+ "type": "boolean"
+ },
+ "is_cloudflare_tunnel": {
+ "type": "boolean"
+ },
+ "is_jump_server": {
+ "type": "boolean"
+ },
+ "is_logdrain_axiom_enabled": {
+ "type": "boolean"
+ },
+ "is_logdrain_custom_enabled": {
+ "type": "boolean"
+ },
+ "is_logdrain_highlight_enabled": {
+ "type": "boolean"
+ },
+ "is_logdrain_newrelic_enabled": {
+ "type": "boolean"
+ },
+ "is_metrics_enabled": {
+ "type": "boolean"
+ },
+ "is_reachable": {
+ "type": "boolean"
+ },
+ "is_sentinel_enabled": {
+ "type": "boolean"
+ },
+ "is_swarm_manager": {
+ "type": "boolean"
+ },
+ "is_swarm_worker": {
+ "type": "boolean"
+ },
+ "is_usable": {
+ "type": "boolean"
+ },
+ "logdrain_axiom_api_key": {
+ "type": "string"
+ },
+ "logdrain_axiom_dataset_name": {
+ "type": "string"
+ },
+ "logdrain_custom_config": {
+ "type": "string"
+ },
+ "logdrain_custom_config_parser": {
+ "type": "string"
+ },
+ "logdrain_highlight_project_id": {
+ "type": "string"
+ },
+ "logdrain_newrelic_base_uri": {
+ "type": "string"
+ },
+ "logdrain_newrelic_license_key": {
+ "type": "string"
+ },
+ "sentinel_metrics_history_days": {
+ "type": "integer"
+ },
+ "sentinel_metrics_refresh_rate_seconds": {
+ "type": "integer"
+ },
+ "sentinel_token": {
+ "type": "string"
+ },
+ "docker_cleanup_frequency": {
+ "type": "string"
+ },
+ "docker_cleanup_threshold": {
+ "type": "integer"
+ },
+ "server_id": {
+ "type": "integer"
+ },
+ "wildcard_domain": {
+ "type": "string"
+ },
+ "created_at": {
+ "type": "string"
+ },
+ "updated_at": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Service": {
+ "description": "Service model",
+ "properties": {
+ "id": {
+ "type": "integer",
+ "description": "The unique identifier of the service. Only used for database identification."
+ },
+ "uuid": {
+ "type": "string",
+ "description": "The unique identifier of the service."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the service."
+ },
+ "environment_id": {
+ "type": "integer",
+ "description": "The unique identifier of the environment where the service is attached to."
+ },
+ "server_id": {
+ "type": "integer",
+ "description": "The unique identifier of the server where the service is running."
+ },
+ "description": {
+ "type": "string",
+ "description": "The description of the service."
+ },
+ "docker_compose_raw": {
+ "type": "string",
+ "description": "The raw docker-compose.yml file of the service."
+ },
+ "docker_compose": {
+ "type": "string",
+ "description": "The docker-compose.yml file that is parsed and modified by Coolify."
+ },
+ "destination_type": {
+ "type": "string",
+ "description": "Destination type."
+ },
+ "destination_id": {
+ "type": "integer",
+ "description": "The unique identifier of the destination where the service is running."
+ },
+ "connect_to_docker_network": {
+ "type": "boolean",
+ "description": "The flag to connect the service to the predefined Docker network."
+ },
+ "is_container_label_escape_enabled": {
+ "type": "boolean",
+ "description": "The flag to enable the container label escape."
+ },
+ "is_container_label_readonly_enabled": {
+ "type": "boolean",
+ "description": "The flag to enable the container label readonly."
+ },
+ "config_hash": {
+ "type": "string",
+ "description": "The hash of the service configuration."
+ },
+ "service_type": {
+ "type": "string",
+ "description": "The type of the service."
+ },
+ "created_at": {
+ "type": "string",
+ "description": "The date and time when the service was created."
+ },
+ "updated_at": {
+ "type": "string",
+ "description": "The date and time when the service was last updated."
+ },
+ "deleted_at": {
+ "type": "string",
+ "description": "The date and time when the service was deleted."
+ }
+ },
+ "type": "object"
+ },
+ "Team": {
+ "description": "Team model",
+ "properties": {
+ "id": {
+ "type": "integer",
+ "description": "The unique identifier of the team."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the team."
+ },
+ "description": {
+ "type": "string",
+ "description": "The description of the team."
+ },
+ "personal_team": {
+ "type": "boolean",
+ "description": "Whether the team is personal or not."
+ },
+ "created_at": {
+ "type": "string",
+ "description": "The date and time the team was created."
+ },
+ "updated_at": {
+ "type": "string",
+ "description": "The date and time the team was last updated."
+ },
+ "smtp_enabled": {
+ "type": "boolean",
+ "description": "Whether SMTP is enabled or not."
+ },
+ "smtp_from_address": {
+ "type": "string",
+ "description": "The email address to send emails from."
+ },
+ "smtp_from_name": {
+ "type": "string",
+ "description": "The name to send emails from."
+ },
+ "smtp_recipients": {
+ "type": "string",
+ "description": "The email addresses to send emails to."
+ },
+ "smtp_host": {
+ "type": "string",
+ "description": "The SMTP host."
+ },
+ "smtp_port": {
+ "type": "string",
+ "description": "The SMTP port."
+ },
+ "smtp_encryption": {
+ "type": "string",
+ "description": "The SMTP encryption."
+ },
+ "smtp_username": {
+ "type": "string",
+ "description": "The SMTP username."
+ },
+ "smtp_password": {
+ "type": "string",
+ "description": "The SMTP password."
+ },
+ "smtp_timeout": {
+ "type": "string",
+ "description": "The SMTP timeout."
+ },
+ "smtp_notifications_test": {
+ "type": "boolean",
+ "description": "Whether to send test notifications via SMTP."
+ },
+ "smtp_notifications_deployments": {
+ "type": "boolean",
+ "description": "Whether to send deployment notifications via SMTP."
+ },
+ "smtp_notifications_status_changes": {
+ "type": "boolean",
+ "description": "Whether to send status change notifications via SMTP."
+ },
+ "smtp_notifications_scheduled_tasks": {
+ "type": "boolean",
+ "description": "Whether to send scheduled task notifications via SMTP."
+ },
+ "smtp_notifications_database_backups": {
+ "type": "boolean",
+ "description": "Whether to send database backup notifications via SMTP."
+ },
+ "smtp_notifications_server_disk_usage": {
+ "type": "boolean",
+ "description": "Whether to send server disk usage notifications via SMTP."
+ },
+ "discord_enabled": {
+ "type": "boolean",
+ "description": "Whether Discord is enabled or not."
+ },
+ "discord_webhook_url": {
+ "type": "string",
+ "description": "The Discord webhook URL."
+ },
+ "discord_notifications_test": {
+ "type": "boolean",
+ "description": "Whether to send test notifications via Discord."
+ },
+ "discord_notifications_deployments": {
+ "type": "boolean",
+ "description": "Whether to send deployment notifications via Discord."
+ },
+ "discord_notifications_status_changes": {
+ "type": "boolean",
+ "description": "Whether to send status change notifications via Discord."
+ },
+ "discord_notifications_database_backups": {
+ "type": "boolean",
+ "description": "Whether to send database backup notifications via Discord."
+ },
+ "discord_notifications_scheduled_tasks": {
+ "type": "boolean",
+ "description": "Whether to send scheduled task notifications via Discord."
+ },
+ "discord_notifications_server_disk_usage": {
+ "type": "boolean",
+ "description": "Whether to send server disk usage notifications via Discord."
+ },
+ "show_boarding": {
+ "type": "boolean",
+ "description": "Whether to show the boarding screen or not."
+ },
+ "resend_enabled": {
+ "type": "boolean",
+ "description": "Whether to enable resending or not."
+ },
+ "resend_api_key": {
+ "type": "string",
+ "description": "The resending API key."
+ },
+ "use_instance_email_settings": {
+ "type": "boolean",
+ "description": "Whether to use instance email settings or not."
+ },
+ "telegram_enabled": {
+ "type": "boolean",
+ "description": "Whether Telegram is enabled or not."
+ },
+ "telegram_token": {
+ "type": "string",
+ "description": "The Telegram token."
+ },
+ "telegram_chat_id": {
+ "type": "string",
+ "description": "The Telegram chat ID."
+ },
+ "telegram_notifications_test": {
+ "type": "boolean",
+ "description": "Whether to send test notifications via Telegram."
+ },
+ "telegram_notifications_deployments": {
+ "type": "boolean",
+ "description": "Whether to send deployment notifications via Telegram."
+ },
+ "telegram_notifications_status_changes": {
+ "type": "boolean",
+ "description": "Whether to send status change notifications via Telegram."
+ },
+ "telegram_notifications_database_backups": {
+ "type": "boolean",
+ "description": "Whether to send database backup notifications via Telegram."
+ },
+ "telegram_notifications_test_message_thread_id": {
+ "type": "string",
+ "description": "The Telegram test message thread ID."
+ },
+ "telegram_notifications_deployments_message_thread_id": {
+ "type": "string",
+ "description": "The Telegram deployment message thread ID."
+ },
+ "telegram_notifications_status_changes_message_thread_id": {
+ "type": "string",
+ "description": "The Telegram status change message thread ID."
+ },
+ "telegram_notifications_database_backups_message_thread_id": {
+ "type": "string",
+ "description": "The Telegram database backup message thread ID."
+ },
+ "custom_server_limit": {
+ "type": "string",
+ "description": "The custom server limit."
+ },
+ "telegram_notifications_scheduled_tasks": {
+ "type": "boolean",
+ "description": "Whether to send scheduled task notifications via Telegram."
+ },
+ "telegram_notifications_scheduled_tasks_thread_id": {
+ "type": "string",
+ "description": "The Telegram scheduled task message thread ID."
+ },
+ "members": {
+ "description": "The members of the team.",
+ "type": "array",
+ "items": {
+ "$ref": "#\/components\/schemas\/User"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "User": {
+ "description": "User model",
+ "properties": {
+ "id": {
+ "type": "integer",
+ "description": "The user identifier in the database."
+ },
+ "name": {
+ "type": "string",
+ "description": "The user name."
+ },
+ "email": {
+ "type": "string",
+ "description": "The user email."
+ },
+ "email_verified_at": {
+ "type": "string",
+ "description": "The date when the user email was verified."
+ },
+ "created_at": {
+ "type": "string",
+ "description": "The date when the user was created."
+ },
+ "updated_at": {
+ "type": "string",
+ "description": "The date when the user was updated."
+ },
+ "two_factor_confirmed_at": {
+ "type": "string",
+ "description": "The date when the user two factor was confirmed."
+ },
+ "force_password_reset": {
+ "type": "boolean",
+ "description": "The flag to force the user to reset the password."
+ },
+ "marketing_emails": {
+ "type": "boolean",
+ "description": "The flag to receive marketing emails."
+ }
+ },
+ "type": "object"
+ }
+ },
+ "responses": {
+ "400": {
+ "description": "Invalid token.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "Invalid token."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthenticated.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "Unauthenticated."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Resource not found.",
+ "content": {
+ "application\/json": {
+ "schema": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "example": "Resource not found."
+ }
+ },
+ "type": "object"
+ }
+ }
+ }
+ }
+ },
+ "securitySchemes": {
+ "bearerAuth": {
+ "type": "http",
+ "description": "Go to `Keys & Tokens` \/ `API tokens` and create a new token. Use the token as the bearer token.",
+ "scheme": "bearer"
+ }
+ }
+ },
+ "tags": [
+ {
+ "name": "Applications",
+ "description": "Applications"
+ },
+ {
+ "name": "Databases",
+ "description": "Databases"
+ },
+ {
+ "name": "Deployments",
+ "description": "Deployments"
+ },
+ {
+ "name": "Projects",
+ "description": "Projects"
+ },
+ {
+ "name": "Resources",
+ "description": "Resources"
+ },
+ {
+ "name": "Private Keys",
+ "description": "Private Keys"
+ },
+ {
+ "name": "Servers",
+ "description": "Servers"
+ },
+ {
+ "name": "Services",
+ "description": "Services"
+ },
+ {
+ "name": "Teams",
+ "description": "Teams"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/openapi.yaml b/openapi.yaml
index d2616e9c6..2b1ece41c 100644
--- a/openapi.yaml
+++ b/openapi.yaml
@@ -1,4 +1,4 @@
-openapi: 3.0.0
+openapi: 3.1.0
info:
title: Coolify
version: '0.1'
@@ -3311,7 +3311,7 @@ paths:
type: string
responses:
'200':
- description: 'Project details'
+ description: 'Environment details'
content:
application/json:
schema:
@@ -3467,9 +3467,7 @@ paths:
content:
application/json:
schema:
- type: array
- items:
- $ref: '#/components/schemas/PrivateKey'
+ $ref: '#/components/schemas/PrivateKey'
'401':
$ref: '#/components/responses/401'
'400':
@@ -3579,6 +3577,11 @@ paths:
type: boolean
example: false
description: 'Instant validate.'
+ proxy_type:
+ type: string
+ enum: [traefik, caddy, none]
+ example: traefik
+ description: 'The proxy type.'
type: object
responses:
'201':
@@ -3699,6 +3702,10 @@ paths:
instant_validate:
type: boolean
description: 'Instant validate.'
+ proxy_type:
+ type: string
+ enum: [traefik, caddy, none]
+ description: 'The proxy type.'
type: object
responses:
'201':
@@ -4759,6 +4766,10 @@ components:
compose_parsing_version:
type: string
description: 'How Coolify parse the compose file.'
+ custom_nginx_configuration:
+ type: string
+ nullable: true
+ description: 'Custom Nginx configuration base64 encoded.'
type: object
ApplicationDeploymentQueue:
description: 'Project model'
@@ -4909,36 +4920,59 @@ components:
properties:
id:
type: integer
+ description: 'The server ID.'
uuid:
type: string
+ description: 'The server UUID.'
name:
type: string
+ description: 'The server name.'
description:
type: string
+ description: 'The server description.'
ip:
type: string
+ description: 'The IP address.'
user:
type: string
+ description: 'The user.'
port:
type: integer
+ description: 'The port number.'
proxy:
type: object
+ description: 'The proxy configuration.'
+ proxy_type:
+ type: string
+ enum:
+ - traefik
+ - caddy
+ - none
+ description: 'The proxy type.'
high_disk_usage_notification_sent:
type: boolean
+ description: 'The flag to indicate if the high disk usage notification has been sent.'
unreachable_notification_sent:
type: boolean
+ description: 'The flag to indicate if the unreachable notification has been sent.'
unreachable_count:
type: integer
+ description: 'The unreachable count for your server.'
validation_logs:
type: string
+ description: 'The validation logs.'
log_drain_notification_sent:
type: boolean
+ description: 'The flag to indicate if the log drain notification has been sent.'
swarm_cluster:
type: string
+ description: 'The swarm cluster configuration.'
delete_unused_volumes:
type: boolean
+ description: 'The flag to indicate if the unused volumes should be deleted.'
delete_unused_networks:
type: boolean
+ description: 'The flag to indicate if the unused networks should be deleted.'
type: object
ServerSetting:
description: 'Server Settings model'
@@ -5136,6 +5170,9 @@ components:
smtp_notifications_database_backups:
type: boolean
description: 'Whether to send database backup notifications via SMTP.'
+ smtp_notifications_server_disk_usage:
+ type: boolean
+ description: 'Whether to send server disk usage notifications via SMTP.'
discord_enabled:
type: boolean
description: 'Whether Discord is enabled or not.'
@@ -5157,6 +5194,9 @@ components:
discord_notifications_scheduled_tasks:
type: boolean
description: 'Whether to send scheduled task notifications via Discord.'
+ discord_notifications_server_disk_usage:
+ type: boolean
+ description: 'Whether to send server disk usage notifications via Discord.'
show_boarding:
type: boolean
description: 'Whether to show the boarding screen or not.'
diff --git a/other/nightly/install.sh b/other/nightly/install.sh
index 2371cca2c..876e8c6e2 100755
--- a/other/nightly/install.sh
+++ b/other/nightly/install.sh
@@ -9,7 +9,7 @@ CDN="https://cdn.coollabs.io/coolify-nightly"
DATE=$(date +"%Y%m%d-%H%M%S")
VERSION="1.6"
-DOCKER_VERSION="26.0"
+DOCKER_VERSION="27.3"
# TODO: Ask for a user
CURRENT_USER=$USER
diff --git a/package-lock.json b/package-lock.json
index adb1dc65a..22398dcf5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,33 +1,30 @@
{
- "name": "html",
+ "name": "coolify",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
+ "name": "coolify",
"dependencies": {
- "@tailwindcss/forms": "0.5.7",
- "@tailwindcss/typography": "0.5.13",
+ "@tailwindcss/forms": "0.5.9",
+ "@tailwindcss/typography": "0.5.15",
"@xterm/addon-fit": "^0.10.0",
"@xterm/xterm": "^5.5.0",
- "alpinejs": "3.14.0",
- "cookie": "^0.7.0",
- "dotenv": "^16.4.5",
- "ioredis": "5.4.1",
- "node-pty": "^1.0.0",
- "tailwindcss-scrollbar": "0.1.0",
- "ws": "^8.17.0"
+ "alpinejs": "3.14.3",
+ "ioredis": "5.4.1"
},
"devDependencies": {
- "@vitejs/plugin-vue": "4.5.1",
- "autoprefixer": "10.4.19",
- "axios": "1.7.5",
- "laravel-echo": "1.16.1",
- "laravel-vite-plugin": "0.8.1",
- "postcss": "8.4.38",
+ "@vitejs/plugin-vue": "5.2.0",
+ "autoprefixer": "10.4.20",
+ "axios": "1.7.7",
+ "laravel-echo": "1.17.0",
+ "laravel-vite-plugin": "1.0.6",
+ "postcss": "8.4.49",
"pusher-js": "8.4.0-rc2",
- "tailwindcss": "3.4.4",
- "vite": "4.5.5",
- "vue": "3.4.29"
+ "tailwind-scrollbar": "^3.1.0",
+ "tailwindcss": "3.4.14",
+ "vite": "5.4.11",
+ "vue": "3.5.12"
}
},
"node_modules/@alloc/quick-lru": {
@@ -41,11 +38,35 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@babel/parser": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz",
- "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==",
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
+ "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
"dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
+ "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.26.2",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz",
+ "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.26.0"
+ },
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -53,14 +74,46 @@
"node": ">=6.0.0"
}
},
+ "node_modules/@babel/types": {
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz",
+ "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.25.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
+ "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/@esbuild/android-arm": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz",
- "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==",
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
+ "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
"cpu": [
"arm"
],
"dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"android"
@@ -70,13 +123,14 @@
}
},
"node_modules/@esbuild/android-arm64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz",
- "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==",
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
+ "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
"cpu": [
"arm64"
],
"dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"android"
@@ -86,13 +140,14 @@
}
},
"node_modules/@esbuild/android-x64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz",
- "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==",
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
+ "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
"cpu": [
"x64"
],
"dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"android"
@@ -102,13 +157,14 @@
}
},
"node_modules/@esbuild/darwin-arm64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz",
- "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==",
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
+ "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
"cpu": [
"arm64"
],
"dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"darwin"
@@ -118,13 +174,14 @@
}
},
"node_modules/@esbuild/darwin-x64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz",
- "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==",
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
+ "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
"cpu": [
"x64"
],
"dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"darwin"
@@ -134,13 +191,14 @@
}
},
"node_modules/@esbuild/freebsd-arm64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz",
- "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==",
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
+ "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
"cpu": [
"arm64"
],
"dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"freebsd"
@@ -150,13 +208,14 @@
}
},
"node_modules/@esbuild/freebsd-x64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz",
- "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==",
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
+ "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
"cpu": [
"x64"
],
"dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"freebsd"
@@ -166,13 +225,14 @@
}
},
"node_modules/@esbuild/linux-arm": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz",
- "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==",
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
+ "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
"cpu": [
"arm"
],
"dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -182,13 +242,14 @@
}
},
"node_modules/@esbuild/linux-arm64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz",
- "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==",
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
+ "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
"cpu": [
"arm64"
],
"dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -198,13 +259,14 @@
}
},
"node_modules/@esbuild/linux-ia32": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz",
- "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==",
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
+ "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
"cpu": [
"ia32"
],
"dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -214,13 +276,14 @@
}
},
"node_modules/@esbuild/linux-loong64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz",
- "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==",
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
+ "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
"cpu": [
"loong64"
],
"dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -230,13 +293,14 @@
}
},
"node_modules/@esbuild/linux-mips64el": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz",
- "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==",
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
+ "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
"cpu": [
"mips64el"
],
"dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -246,13 +310,14 @@
}
},
"node_modules/@esbuild/linux-ppc64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz",
- "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==",
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
+ "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
"cpu": [
"ppc64"
],
"dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -262,13 +327,14 @@
}
},
"node_modules/@esbuild/linux-riscv64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz",
- "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==",
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
+ "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
"cpu": [
"riscv64"
],
"dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -278,13 +344,14 @@
}
},
"node_modules/@esbuild/linux-s390x": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz",
- "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==",
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
+ "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
"cpu": [
"s390x"
],
"dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -294,13 +361,14 @@
}
},
"node_modules/@esbuild/linux-x64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz",
- "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==",
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
+ "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
"cpu": [
"x64"
],
"dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"linux"
@@ -310,13 +378,14 @@
}
},
"node_modules/@esbuild/netbsd-x64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz",
- "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==",
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
+ "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
"cpu": [
"x64"
],
"dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"netbsd"
@@ -326,13 +395,14 @@
}
},
"node_modules/@esbuild/openbsd-x64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz",
- "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==",
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
+ "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
"cpu": [
"x64"
],
"dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"openbsd"
@@ -342,13 +412,14 @@
}
},
"node_modules/@esbuild/sunos-x64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz",
- "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==",
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
+ "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
"cpu": [
"x64"
],
"dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"sunos"
@@ -358,13 +429,14 @@
}
},
"node_modules/@esbuild/win32-arm64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz",
- "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==",
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
+ "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
"cpu": [
"arm64"
],
"dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"win32"
@@ -374,13 +446,14 @@
}
},
"node_modules/@esbuild/win32-ia32": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz",
- "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==",
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
+ "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
"cpu": [
"ia32"
],
"dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"win32"
@@ -390,13 +463,14 @@
}
},
"node_modules/@esbuild/win32-x64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz",
- "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==",
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
+ "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
"cpu": [
"x64"
],
"dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"win32"
@@ -440,9 +514,10 @@
}
},
"node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.15",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
- "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
+ "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
+ "license": "MIT"
},
"node_modules/@jridgewell/trace-mapping": {
"version": "0.3.18",
@@ -490,21 +565,275 @@
"node": ">= 8"
}
},
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.25.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.25.0.tgz",
+ "integrity": "sha512-CC/ZqFZwlAIbU1wUPisHyV/XRc5RydFrNLtgl3dGYskdwPZdt4HERtKm50a/+DtTlKeCq9IXFEWR+P6blwjqBA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.25.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.25.0.tgz",
+ "integrity": "sha512-/Y76tmLGUJqVBXXCfVS8Q8FJqYGhgH4wl4qTA24E9v/IJM0XvJCGQVSW1QZ4J+VURO9h8YCa28sTFacZXwK7Rg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.25.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.25.0.tgz",
+ "integrity": "sha512-YVT6L3UrKTlC0FpCZd0MGA7NVdp7YNaEqkENbWQ7AOVOqd/7VzyHpgIpc1mIaxRAo1ZsJRH45fq8j4N63I/vvg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.25.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.25.0.tgz",
+ "integrity": "sha512-ZRL+gexs3+ZmmWmGKEU43Bdn67kWnMeWXLFhcVv5Un8FQcx38yulHBA7XR2+KQdYIOtD0yZDWBCudmfj6lQJoA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-arm64": {
+ "version": "4.25.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.25.0.tgz",
+ "integrity": "sha512-xpEIXhiP27EAylEpreCozozsxWQ2TJbOLSivGfXhU4G1TBVEYtUPi2pOZBnvGXHyOdLAUUhPnJzH3ah5cqF01g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-x64": {
+ "version": "4.25.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.25.0.tgz",
+ "integrity": "sha512-sC5FsmZGlJv5dOcURrsnIK7ngc3Kirnx3as2XU9uER+zjfyqIjdcMVgzy4cOawhsssqzoAX19qmxgJ8a14Qrqw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.25.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.25.0.tgz",
+ "integrity": "sha512-uD/dbLSs1BEPzg564TpRAQ/YvTnCds2XxyOndAO8nJhaQcqQGFgv/DAVko/ZHap3boCvxnzYMa3mTkV/B/3SWA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.25.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.25.0.tgz",
+ "integrity": "sha512-ZVt/XkrDlQWegDWrwyC3l0OfAF7yeJUF4fq5RMS07YM72BlSfn2fQQ6lPyBNjt+YbczMguPiJoCfaQC2dnflpQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.25.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.25.0.tgz",
+ "integrity": "sha512-qboZ+T0gHAW2kkSDPHxu7quaFaaBlynODXpBVnPxUgvWYaE84xgCKAPEYE+fSMd3Zv5PyFZR+L0tCdYCMAtG0A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.25.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.25.0.tgz",
+ "integrity": "sha512-ndWTSEmAaKr88dBuogGH2NZaxe7u2rDoArsejNslugHZ+r44NfWiwjzizVS1nUOHo+n1Z6qV3X60rqE/HlISgw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
+ "version": "4.25.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.25.0.tgz",
+ "integrity": "sha512-BVSQvVa2v5hKwJSy6X7W1fjDex6yZnNKy3Kx1JGimccHft6HV0THTwNtC2zawtNXKUu+S5CjXslilYdKBAadzA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.25.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.25.0.tgz",
+ "integrity": "sha512-G4hTREQrIdeV0PE2JruzI+vXdRnaK1pg64hemHq2v5fhv8C7WjVaeXc9P5i4Q5UC06d/L+zA0mszYIKl+wY8oA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.25.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.25.0.tgz",
+ "integrity": "sha512-9T/w0kQ+upxdkFL9zPVB6zy9vWW1deA3g8IauJxojN4bnz5FwSsUAD034KpXIVX5j5p/rn6XqumBMxfRkcHapQ==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.25.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.25.0.tgz",
+ "integrity": "sha512-ThcnU0EcMDn+J4B9LD++OgBYxZusuA7iemIIiz5yzEcFg04VZFzdFjuwPdlURmYPZw+fgVrFzj4CA64jSTG4Ig==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.25.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.25.0.tgz",
+ "integrity": "sha512-zx71aY2oQxGxAT1JShfhNG79PnjYhMC6voAjzpu/xmMjDnKNf6Nl/xv7YaB/9SIa9jDYf8RBPWEnjcdlhlv1rQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.25.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.25.0.tgz",
+ "integrity": "sha512-JT8tcjNocMs4CylWY/CxVLnv8e1lE7ff1fi6kbGocWwxDq9pj30IJ28Peb+Y8yiPNSF28oad42ApJB8oUkwGww==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.25.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.25.0.tgz",
+ "integrity": "sha512-dRLjLsO3dNOfSN6tjyVlG+Msm4IiZnGkuZ7G5NmpzwF9oOc582FZG05+UdfTbz5Jd4buK/wMb6UeHFhG18+OEg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.25.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.25.0.tgz",
+ "integrity": "sha512-/RqrIFtLB926frMhZD0a5oDa4eFIbyNEwLLloMTEjmqfwZWXywwVVOVmwTsuyhC9HKkVEZcOOi+KV4U9wmOdlg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
"node_modules/@tailwindcss/forms": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.7.tgz",
- "integrity": "sha512-QE7X69iQI+ZXwldE+rzasvbJiyV/ju1FGHH0Qn2W3FKbuYtqp8LKcy6iSw79fVUT5/Vvf+0XgLCeYVG+UV6hOw==",
+ "version": "0.5.9",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.9.tgz",
+ "integrity": "sha512-tM4XVr2+UVTxXJzey9Twx48c1gcxFStqn1pQz0tRsX8o3DvxhN5oY5pvyAbUx7VTaZxpej4Zzvc6h+1RJBzpIg==",
+ "license": "MIT",
"dependencies": {
"mini-svg-data-uri": "^1.2.3"
},
"peerDependencies": {
- "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1"
+ "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20"
}
},
"node_modules/@tailwindcss/typography": {
- "version": "0.5.13",
- "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.13.tgz",
- "integrity": "sha512-ADGcJ8dX21dVVHIwTRgzrcunY6YY9uSlAHHGVKvkA+vLc5qLwEszvKts40lx7z0qc4clpjclwLeK5rVCV2P/uw==",
+ "version": "0.5.15",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.15.tgz",
+ "integrity": "sha512-AqhlCXl+8grUz8uqExv5OTtgpjuVIwFTSXTrh8y9/pw6q2ek7fJ+Y8ZEVw7EB2DCcuCOtEjf9w3+J3rzts01uA==",
+ "license": "MIT",
"dependencies": {
"lodash.castarray": "^4.4.0",
"lodash.isplainobject": "^4.0.6",
@@ -512,7 +841,7 @@
"postcss-selector-parser": "6.0.10"
},
"peerDependencies": {
- "tailwindcss": ">=3.0.0 || insiders"
+ "tailwindcss": ">=3.0.0 || insiders || >=4.0.0-alpha.20"
}
},
"node_modules/@tailwindcss/typography/node_modules/postcss-selector-parser": {
@@ -527,92 +856,108 @@
"node": ">=4"
}
},
- "node_modules/@vitejs/plugin-vue": {
- "version": "4.5.1",
- "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.5.1.tgz",
- "integrity": "sha512-DaUzYFr+2UGDG7VSSdShKa9sIWYBa1LL8KC0MNOf2H5LjcTPjob0x8LbkqXWmAtbANJCkpiQTj66UVcQkN2s3g==",
+ "node_modules/@types/estree": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
+ "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
"dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@vitejs/plugin-vue": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.0.tgz",
+ "integrity": "sha512-7n7KdUEtx/7Yl7I/WVAMZ1bEb0eVvXF3ummWTeLcs/9gvo9pJhuLdouSXGjdZ/MKD1acf1I272+X0RMua4/R3g==",
+ "dev": true,
+ "license": "MIT",
"engines": {
- "node": "^14.18.0 || >=16.0.0"
+ "node": "^18.0.0 || >=20.0.0"
},
"peerDependencies": {
- "vite": "^4.0.0 || ^5.0.0",
+ "vite": "^5.0.0",
"vue": "^3.2.25"
}
},
"node_modules/@vue/compiler-core": {
- "version": "3.4.29",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.29.tgz",
- "integrity": "sha512-TFKiRkKKsRCKvg/jTSSKK7mYLJEQdUiUfykbG49rubC9SfDyvT2JrzTReopWlz2MxqeLyxh9UZhvxEIBgAhtrg==",
+ "version": "3.5.12",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.12.tgz",
+ "integrity": "sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/parser": "^7.24.7",
- "@vue/shared": "3.4.29",
+ "@babel/parser": "^7.25.3",
+ "@vue/shared": "3.5.12",
"entities": "^4.5.0",
"estree-walker": "^2.0.2",
"source-map-js": "^1.2.0"
}
},
"node_modules/@vue/compiler-core/node_modules/@vue/shared": {
- "version": "3.4.29",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.29.tgz",
- "integrity": "sha512-hQ2gAQcBO/CDpC82DCrinJNgOHI2v+FA7BDW4lMSPeBpQ7sRe2OLHWe5cph1s7D8DUQAwRt18dBDfJJ220APEA==",
- "dev": true
+ "version": "3.5.12",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.12.tgz",
+ "integrity": "sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@vue/compiler-dom": {
- "version": "3.4.29",
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.29.tgz",
- "integrity": "sha512-A6+iZ2fKIEGnfPJejdB7b1FlJzgiD+Y/sxxKwJWg1EbJu6ZPgzaPQQ51ESGNv0CP6jm6Z7/pO6Ia8Ze6IKrX7w==",
+ "version": "3.5.12",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.12.tgz",
+ "integrity": "sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@vue/compiler-core": "3.4.29",
- "@vue/shared": "3.4.29"
+ "@vue/compiler-core": "3.5.12",
+ "@vue/shared": "3.5.12"
}
},
"node_modules/@vue/compiler-dom/node_modules/@vue/shared": {
- "version": "3.4.29",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.29.tgz",
- "integrity": "sha512-hQ2gAQcBO/CDpC82DCrinJNgOHI2v+FA7BDW4lMSPeBpQ7sRe2OLHWe5cph1s7D8DUQAwRt18dBDfJJ220APEA==",
- "dev": true
+ "version": "3.5.12",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.12.tgz",
+ "integrity": "sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@vue/compiler-sfc": {
- "version": "3.4.29",
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.29.tgz",
- "integrity": "sha512-zygDcEtn8ZimDlrEQyLUovoWgKQic6aEQqRXce2WXBvSeHbEbcAsXyCk9oG33ZkyWH4sl9D3tkYc1idoOkdqZQ==",
+ "version": "3.5.12",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.12.tgz",
+ "integrity": "sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/parser": "^7.24.7",
- "@vue/compiler-core": "3.4.29",
- "@vue/compiler-dom": "3.4.29",
- "@vue/compiler-ssr": "3.4.29",
- "@vue/shared": "3.4.29",
+ "@babel/parser": "^7.25.3",
+ "@vue/compiler-core": "3.5.12",
+ "@vue/compiler-dom": "3.5.12",
+ "@vue/compiler-ssr": "3.5.12",
+ "@vue/shared": "3.5.12",
"estree-walker": "^2.0.2",
- "magic-string": "^0.30.10",
- "postcss": "^8.4.38",
+ "magic-string": "^0.30.11",
+ "postcss": "^8.4.47",
"source-map-js": "^1.2.0"
}
},
"node_modules/@vue/compiler-sfc/node_modules/@vue/shared": {
- "version": "3.4.29",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.29.tgz",
- "integrity": "sha512-hQ2gAQcBO/CDpC82DCrinJNgOHI2v+FA7BDW4lMSPeBpQ7sRe2OLHWe5cph1s7D8DUQAwRt18dBDfJJ220APEA==",
- "dev": true
+ "version": "3.5.12",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.12.tgz",
+ "integrity": "sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@vue/compiler-ssr": {
- "version": "3.4.29",
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.29.tgz",
- "integrity": "sha512-rFbwCmxJ16tDp3N8XCx5xSQzjhidYjXllvEcqX/lopkoznlNPz3jyy0WGJCyhAaVQK677WWFt3YO/WUEkMMUFQ==",
+ "version": "3.5.12",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.12.tgz",
+ "integrity": "sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@vue/compiler-dom": "3.4.29",
- "@vue/shared": "3.4.29"
+ "@vue/compiler-dom": "3.5.12",
+ "@vue/shared": "3.5.12"
}
},
"node_modules/@vue/compiler-ssr/node_modules/@vue/shared": {
- "version": "3.4.29",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.29.tgz",
- "integrity": "sha512-hQ2gAQcBO/CDpC82DCrinJNgOHI2v+FA7BDW4lMSPeBpQ7sRe2OLHWe5cph1s7D8DUQAwRt18dBDfJJ220APEA==",
- "dev": true
+ "version": "3.5.12",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.12.tgz",
+ "integrity": "sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@vue/reactivity": {
"version": "3.1.5",
@@ -623,75 +968,83 @@
}
},
"node_modules/@vue/runtime-core": {
- "version": "3.4.29",
- "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.29.tgz",
- "integrity": "sha512-s8fmX3YVR/Rk5ig0ic0NuzTNjK2M7iLuVSZyMmCzN/+Mjuqqif1JasCtEtmtoJWF32pAtUjyuT2ljNKNLeOmnQ==",
+ "version": "3.5.12",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.12.tgz",
+ "integrity": "sha512-hrMUYV6tpocr3TL3Ad8DqxOdpDe4zuQY4HPY3X/VRh+L2myQO8MFXPAMarIOSGNu0bFAjh1yBkMPXZBqCk62Uw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@vue/reactivity": "3.4.29",
- "@vue/shared": "3.4.29"
+ "@vue/reactivity": "3.5.12",
+ "@vue/shared": "3.5.12"
}
},
"node_modules/@vue/runtime-core/node_modules/@vue/reactivity": {
- "version": "3.4.29",
- "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.29.tgz",
- "integrity": "sha512-w8+KV+mb1a8ornnGQitnMdLfE0kXmteaxLdccm2XwdFxXst4q/Z7SEboCV5SqJNpZbKFeaRBBJBhW24aJyGINg==",
+ "version": "3.5.12",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.12.tgz",
+ "integrity": "sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@vue/shared": "3.4.29"
+ "@vue/shared": "3.5.12"
}
},
"node_modules/@vue/runtime-core/node_modules/@vue/shared": {
- "version": "3.4.29",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.29.tgz",
- "integrity": "sha512-hQ2gAQcBO/CDpC82DCrinJNgOHI2v+FA7BDW4lMSPeBpQ7sRe2OLHWe5cph1s7D8DUQAwRt18dBDfJJ220APEA==",
- "dev": true
+ "version": "3.5.12",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.12.tgz",
+ "integrity": "sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@vue/runtime-dom": {
- "version": "3.4.29",
- "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.29.tgz",
- "integrity": "sha512-gI10atCrtOLf/2MPPMM+dpz3NGulo9ZZR9d1dWo4fYvm+xkfvRrw1ZmJ7mkWtiJVXSsdmPbcK1p5dZzOCKDN0g==",
+ "version": "3.5.12",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.12.tgz",
+ "integrity": "sha512-q8VFxR9A2MRfBr6/55Q3umyoN7ya836FzRXajPB6/Vvuv0zOPL+qltd9rIMzG/DbRLAIlREmnLsplEF/kotXKA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@vue/reactivity": "3.4.29",
- "@vue/runtime-core": "3.4.29",
- "@vue/shared": "3.4.29",
+ "@vue/reactivity": "3.5.12",
+ "@vue/runtime-core": "3.5.12",
+ "@vue/shared": "3.5.12",
"csstype": "^3.1.3"
}
},
"node_modules/@vue/runtime-dom/node_modules/@vue/reactivity": {
- "version": "3.4.29",
- "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.29.tgz",
- "integrity": "sha512-w8+KV+mb1a8ornnGQitnMdLfE0kXmteaxLdccm2XwdFxXst4q/Z7SEboCV5SqJNpZbKFeaRBBJBhW24aJyGINg==",
+ "version": "3.5.12",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.12.tgz",
+ "integrity": "sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@vue/shared": "3.4.29"
+ "@vue/shared": "3.5.12"
}
},
"node_modules/@vue/runtime-dom/node_modules/@vue/shared": {
- "version": "3.4.29",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.29.tgz",
- "integrity": "sha512-hQ2gAQcBO/CDpC82DCrinJNgOHI2v+FA7BDW4lMSPeBpQ7sRe2OLHWe5cph1s7D8DUQAwRt18dBDfJJ220APEA==",
- "dev": true
+ "version": "3.5.12",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.12.tgz",
+ "integrity": "sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@vue/server-renderer": {
- "version": "3.4.29",
- "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.29.tgz",
- "integrity": "sha512-HMLCmPI2j/k8PVkSBysrA2RxcxC5DgBiCdj7n7H2QtR8bQQPqKAe8qoaxLcInzouBmzwJ+J0x20ygN/B5mYBng==",
+ "version": "3.5.12",
+ "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.12.tgz",
+ "integrity": "sha512-I3QoeDDeEPZm8yR28JtY+rk880Oqmj43hreIBVTicisFTx/Dl7JpG72g/X7YF8hnQD3IFhkky5i2bPonwrTVPg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@vue/compiler-ssr": "3.4.29",
- "@vue/shared": "3.4.29"
+ "@vue/compiler-ssr": "3.5.12",
+ "@vue/shared": "3.5.12"
},
"peerDependencies": {
- "vue": "3.4.29"
+ "vue": "3.5.12"
}
},
"node_modules/@vue/server-renderer/node_modules/@vue/shared": {
- "version": "3.4.29",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.29.tgz",
- "integrity": "sha512-hQ2gAQcBO/CDpC82DCrinJNgOHI2v+FA7BDW4lMSPeBpQ7sRe2OLHWe5cph1s7D8DUQAwRt18dBDfJJ220APEA==",
- "dev": true
+ "version": "3.5.12",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.12.tgz",
+ "integrity": "sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@vue/shared": {
"version": "3.1.5",
@@ -712,9 +1065,10 @@
"integrity": "sha512-hqJHYaQb5OptNunnyAnkHyM8aCjZ1MEIDTQu1iIbbTD/xops91NB5yq1ZK/dC2JDbVWtF23zUtl9JE2NqwT87A=="
},
"node_modules/alpinejs": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-3.14.0.tgz",
- "integrity": "sha512-YCWF95PMJqePe9ll6KMyDt/nLhh2R7RhqBf4loEmLzIskcHque4Br/9UgAa6cw13H0Cm3FM9e1hzDwP5z5wlDA==",
+ "version": "3.14.3",
+ "resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-3.14.3.tgz",
+ "integrity": "sha512-cL8JBEDAm4UeVjTN5QnFl8QgMGUwxFn1GvQvu3RtfAHUrAPRahGihrsWpKnEK9L0QMqsAPk/R8MylMWKHaK33A==",
+ "license": "MIT",
"dependencies": {
"@vue/reactivity": "~3.1.1"
}
@@ -748,9 +1102,9 @@
"dev": true
},
"node_modules/autoprefixer": {
- "version": "10.4.19",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz",
- "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==",
+ "version": "10.4.20",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz",
+ "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==",
"dev": true,
"funding": [
{
@@ -766,12 +1120,13 @@
"url": "https://github.com/sponsors/ai"
}
],
+ "license": "MIT",
"dependencies": {
- "browserslist": "^4.23.0",
- "caniuse-lite": "^1.0.30001599",
+ "browserslist": "^4.23.3",
+ "caniuse-lite": "^1.0.30001646",
"fraction.js": "^4.3.7",
"normalize-range": "^0.1.2",
- "picocolors": "^1.0.0",
+ "picocolors": "^1.0.1",
"postcss-value-parser": "^4.2.0"
},
"bin": {
@@ -785,9 +1140,9 @@
}
},
"node_modules/axios": {
- "version": "1.7.5",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.5.tgz",
- "integrity": "sha512-fZu86yCo+svH3uqJ/yTdQ0QHpQu5oL+/QE+QPSv6BZSkDAoky9vytxp7u5qk83OJFS3kEBcesWni9WTZAv3tSw==",
+ "version": "1.7.7",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz",
+ "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -830,9 +1185,9 @@
}
},
"node_modules/browserslist": {
- "version": "4.23.0",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
- "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
+ "version": "4.24.2",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz",
+ "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==",
"dev": true,
"funding": [
{
@@ -848,11 +1203,12 @@
"url": "https://github.com/sponsors/ai"
}
],
+ "license": "MIT",
"dependencies": {
- "caniuse-lite": "^1.0.30001587",
- "electron-to-chromium": "^1.4.668",
- "node-releases": "^2.0.14",
- "update-browserslist-db": "^1.0.13"
+ "caniuse-lite": "^1.0.30001669",
+ "electron-to-chromium": "^1.5.41",
+ "node-releases": "^2.0.18",
+ "update-browserslist-db": "^1.1.1"
},
"bin": {
"browserslist": "cli.js"
@@ -870,9 +1226,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001600",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001600.tgz",
- "integrity": "sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==",
+ "version": "1.0.30001680",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001680.tgz",
+ "integrity": "sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==",
"dev": true,
"funding": [
{
@@ -887,7 +1243,8 @@
"type": "github",
"url": "https://github.com/sponsors/ai"
}
- ]
+ ],
+ "license": "CC-BY-4.0"
},
"node_modules/chokidar": {
"version": "3.5.3",
@@ -959,14 +1316,6 @@
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
},
- "node_modules/cookie": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.0.tgz",
- "integrity": "sha512-qCf+V4dtlNhSRXGAZatc1TasyFO6GjohcOul807YOb5ik3+kQSnb4d7iajeCL8QHaJ4uZEjCgiCJerKXwdRVlQ==",
- "engines": {
- "node": ">= 0.6"
- }
- },
"node_modules/cssesc": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
@@ -982,7 +1331,8 @@
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/debug": {
"version": "4.3.4",
@@ -1027,29 +1377,19 @@
"resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
"integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="
},
- "node_modules/dotenv": {
- "version": "16.4.5",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz",
- "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==",
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://dotenvx.com"
- }
- },
"node_modules/electron-to-chromium": {
- "version": "1.4.692",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.692.tgz",
- "integrity": "sha512-d5rZRka9n2Y3MkWRN74IoAsxR0HK3yaAt7T50e3iT9VZmCCQDT3geXUO5ZRMhDToa1pkCeQXuNo+0g+NfDOVPA==",
- "dev": true
+ "version": "1.5.55",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.55.tgz",
+ "integrity": "sha512-6maZ2ASDOTBtjt9FhqYPRnbvKU5tjG0IN9SztUOWYw2AzNDNpKJYLJmlK0/En4Hs/aiWnB+JZ+gW19PIGszgKg==",
+ "dev": true,
+ "license": "ISC"
},
"node_modules/entities": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
"integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
"dev": true,
+ "license": "BSD-2-Clause",
"engines": {
"node": ">=0.12"
},
@@ -1058,11 +1398,12 @@
}
},
"node_modules/esbuild": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz",
- "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==",
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
+ "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
"dev": true,
"hasInstallScript": true,
+ "license": "MIT",
"bin": {
"esbuild": "bin/esbuild"
},
@@ -1070,35 +1411,37 @@
"node": ">=12"
},
"optionalDependencies": {
- "@esbuild/android-arm": "0.18.20",
- "@esbuild/android-arm64": "0.18.20",
- "@esbuild/android-x64": "0.18.20",
- "@esbuild/darwin-arm64": "0.18.20",
- "@esbuild/darwin-x64": "0.18.20",
- "@esbuild/freebsd-arm64": "0.18.20",
- "@esbuild/freebsd-x64": "0.18.20",
- "@esbuild/linux-arm": "0.18.20",
- "@esbuild/linux-arm64": "0.18.20",
- "@esbuild/linux-ia32": "0.18.20",
- "@esbuild/linux-loong64": "0.18.20",
- "@esbuild/linux-mips64el": "0.18.20",
- "@esbuild/linux-ppc64": "0.18.20",
- "@esbuild/linux-riscv64": "0.18.20",
- "@esbuild/linux-s390x": "0.18.20",
- "@esbuild/linux-x64": "0.18.20",
- "@esbuild/netbsd-x64": "0.18.20",
- "@esbuild/openbsd-x64": "0.18.20",
- "@esbuild/sunos-x64": "0.18.20",
- "@esbuild/win32-arm64": "0.18.20",
- "@esbuild/win32-ia32": "0.18.20",
- "@esbuild/win32-x64": "0.18.20"
+ "@esbuild/aix-ppc64": "0.21.5",
+ "@esbuild/android-arm": "0.21.5",
+ "@esbuild/android-arm64": "0.21.5",
+ "@esbuild/android-x64": "0.21.5",
+ "@esbuild/darwin-arm64": "0.21.5",
+ "@esbuild/darwin-x64": "0.21.5",
+ "@esbuild/freebsd-arm64": "0.21.5",
+ "@esbuild/freebsd-x64": "0.21.5",
+ "@esbuild/linux-arm": "0.21.5",
+ "@esbuild/linux-arm64": "0.21.5",
+ "@esbuild/linux-ia32": "0.21.5",
+ "@esbuild/linux-loong64": "0.21.5",
+ "@esbuild/linux-mips64el": "0.21.5",
+ "@esbuild/linux-ppc64": "0.21.5",
+ "@esbuild/linux-riscv64": "0.21.5",
+ "@esbuild/linux-s390x": "0.21.5",
+ "@esbuild/linux-x64": "0.21.5",
+ "@esbuild/netbsd-x64": "0.21.5",
+ "@esbuild/openbsd-x64": "0.21.5",
+ "@esbuild/sunos-x64": "0.21.5",
+ "@esbuild/win32-arm64": "0.21.5",
+ "@esbuild/win32-ia32": "0.21.5",
+ "@esbuild/win32-x64": "0.21.5"
}
},
"node_modules/escalade": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
- "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -1107,7 +1450,8 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/fast-glob": {
"version": "3.3.2",
@@ -1368,28 +1712,33 @@
}
},
"node_modules/laravel-echo": {
- "version": "1.16.1",
- "resolved": "https://registry.npmjs.org/laravel-echo/-/laravel-echo-1.16.1.tgz",
- "integrity": "sha512-++Ylb6M3ariC9Rk5WE5gZjj6wcEV5kvLF8b+geJ5/rRIfdoOA+eG6b9qJPrarMD9rY28Apx+l3eelIrCc2skVg==",
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/laravel-echo/-/laravel-echo-1.17.0.tgz",
+ "integrity": "sha512-uf+BVZMkXc7+pzxS2dG5v1P+MT3yWS+/9oDSJUcQ4KqnDKLYfM1lc7yUmnxvLtwPksGuQJv6XBtzvWLHSEheNQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
}
},
"node_modules/laravel-vite-plugin": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/laravel-vite-plugin/-/laravel-vite-plugin-0.8.1.tgz",
- "integrity": "sha512-fxzUDjOA37kOsYq8dP+3oPIlw8/kJVXwu0hOXLun82R1LpV02shGeWGYKx2lbpKffL5I0sfPPjfqbYxuqBluAA==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/laravel-vite-plugin/-/laravel-vite-plugin-1.0.6.tgz",
+ "integrity": "sha512-B34OqmZc/rV1KvSjst8SsUm/LKHsuDusw8jiZCIhlnTHXbXnK89JUM9pTJuk6E/Vc/1DT2gX7qNfhipak1WS8w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"picocolors": "^1.0.0",
- "vite-plugin-full-reload": "^1.0.5"
+ "vite-plugin-full-reload": "^1.1.0"
+ },
+ "bin": {
+ "clean-orphaned-assets": "bin/clean.js"
},
"engines": {
- "node": ">=14"
+ "node": "^18.0.0 || >=20.0.0"
},
"peerDependencies": {
- "vite": "^3.0.0 || ^4.0.0"
+ "vite": "^5.0.0"
}
},
"node_modules/lilconfig": {
@@ -1431,12 +1780,13 @@
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
},
"node_modules/magic-string": {
- "version": "0.30.10",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz",
- "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==",
+ "version": "0.30.12",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.12.tgz",
+ "integrity": "sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@jridgewell/sourcemap-codec": "^1.4.15"
+ "@jridgewell/sourcemap-codec": "^1.5.0"
}
},
"node_modules/merge2": {
@@ -1514,11 +1864,6 @@
"thenify-all": "^1.0.0"
}
},
- "node_modules/nan": {
- "version": "2.20.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.20.0.tgz",
- "integrity": "sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw=="
- },
"node_modules/nanoid": {
"version": "3.3.7",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
@@ -1536,20 +1881,12 @@
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
- "node_modules/node-pty": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/node-pty/-/node-pty-1.0.0.tgz",
- "integrity": "sha512-wtBMWWS7dFZm/VgqElrTvtfMq4GzJ6+edFI0Y0zyzygUSZMgZdraDUMUhCIvkjhJjme15qWmbyJbtAx4ot4uZA==",
- "hasInstallScript": true,
- "dependencies": {
- "nan": "^2.17.0"
- }
- },
"node_modules/node-releases": {
- "version": "2.0.14",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
- "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
- "dev": true
+ "version": "2.0.18",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz",
+ "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/normalize-path": {
"version": "3.0.0",
@@ -1606,9 +1943,10 @@
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
},
"node_modules/picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+ "license": "ISC"
},
"node_modules/picomatch": {
"version": "2.3.1",
@@ -1638,9 +1976,9 @@
}
},
"node_modules/postcss": {
- "version": "8.4.38",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
- "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
+ "version": "8.4.49",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz",
+ "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==",
"funding": [
{
"type": "opencollective",
@@ -1655,10 +1993,11 @@
"url": "https://github.com/sponsors/ai"
}
],
+ "license": "MIT",
"dependencies": {
"nanoid": "^3.3.7",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.2.0"
+ "picocolors": "^1.1.1",
+ "source-map-js": "^1.2.1"
},
"engines": {
"node": "^10 || ^12 || >=14"
@@ -1859,18 +2198,40 @@
}
},
"node_modules/rollup": {
- "version": "3.29.5",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.5.tgz",
- "integrity": "sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==",
+ "version": "4.25.0",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.25.0.tgz",
+ "integrity": "sha512-uVbClXmR6wvx5R1M3Od4utyLUxrmOcEm3pAtMphn73Apq19PDtHpgZoEvqH2YnnaNUuvKmg2DgRd2Sqv+odyqg==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "1.0.6"
+ },
"bin": {
"rollup": "dist/bin/rollup"
},
"engines": {
- "node": ">=14.18.0",
+ "node": ">=18.0.0",
"npm": ">=8.0.0"
},
"optionalDependencies": {
+ "@rollup/rollup-android-arm-eabi": "4.25.0",
+ "@rollup/rollup-android-arm64": "4.25.0",
+ "@rollup/rollup-darwin-arm64": "4.25.0",
+ "@rollup/rollup-darwin-x64": "4.25.0",
+ "@rollup/rollup-freebsd-arm64": "4.25.0",
+ "@rollup/rollup-freebsd-x64": "4.25.0",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.25.0",
+ "@rollup/rollup-linux-arm-musleabihf": "4.25.0",
+ "@rollup/rollup-linux-arm64-gnu": "4.25.0",
+ "@rollup/rollup-linux-arm64-musl": "4.25.0",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.25.0",
+ "@rollup/rollup-linux-riscv64-gnu": "4.25.0",
+ "@rollup/rollup-linux-s390x-gnu": "4.25.0",
+ "@rollup/rollup-linux-x64-gnu": "4.25.0",
+ "@rollup/rollup-linux-x64-musl": "4.25.0",
+ "@rollup/rollup-win32-arm64-msvc": "4.25.0",
+ "@rollup/rollup-win32-ia32-msvc": "4.25.0",
+ "@rollup/rollup-win32-x64-msvc": "4.25.0",
"fsevents": "~2.3.2"
}
},
@@ -1916,9 +2277,10 @@
}
},
"node_modules/source-map-js": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
- "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
}
@@ -1960,10 +2322,24 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/tailwind-scrollbar": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/tailwind-scrollbar/-/tailwind-scrollbar-3.1.0.tgz",
+ "integrity": "sha512-pmrtDIZeHyu2idTejfV59SbaJyvp1VRjYxAjZBH0jnyrPRo6HL1kD5Glz8VPagasqr6oAx6M05+Tuw429Z8jxg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.13.0"
+ },
+ "peerDependencies": {
+ "tailwindcss": "3.x"
+ }
+ },
"node_modules/tailwindcss": {
- "version": "3.4.4",
- "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.4.tgz",
- "integrity": "sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==",
+ "version": "3.4.14",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.14.tgz",
+ "integrity": "sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==",
+ "license": "MIT",
"dependencies": {
"@alloc/quick-lru": "^5.2.0",
"arg": "^5.0.2",
@@ -1996,14 +2372,6 @@
"node": ">=14.0.0"
}
},
- "node_modules/tailwindcss-scrollbar": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/tailwindcss-scrollbar/-/tailwindcss-scrollbar-0.1.0.tgz",
- "integrity": "sha512-egipxw4ooQDh94x02XQpPck0P0sfwazwoUGfA9SedPATIuYDR+6qe8d31Gl7YsSMRiOKDkkqfI0kBvEw9lT/Hg==",
- "peerDependencies": {
- "tailwindcss": ">= 2.x.x"
- }
- },
"node_modules/thenify": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
@@ -2046,9 +2414,9 @@
"dev": true
},
"node_modules/update-browserslist-db": {
- "version": "1.0.13",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
- "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz",
+ "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==",
"dev": true,
"funding": [
{
@@ -2064,9 +2432,10 @@
"url": "https://github.com/sponsors/ai"
}
],
+ "license": "MIT",
"dependencies": {
- "escalade": "^3.1.1",
- "picocolors": "^1.0.0"
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.0"
},
"bin": {
"update-browserslist-db": "cli.js"
@@ -2081,32 +2450,34 @@
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
},
"node_modules/vite": {
- "version": "4.5.5",
- "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.5.tgz",
- "integrity": "sha512-ifW3Lb2sMdX+WU91s3R0FyQlAyLxOzCSCP37ujw0+r5POeHPwe6udWVIElKQq8gk3t7b8rkmvqC6IHBpCff4GQ==",
+ "version": "5.4.11",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.11.tgz",
+ "integrity": "sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "esbuild": "^0.18.10",
- "postcss": "^8.4.27",
- "rollup": "^3.27.1"
+ "esbuild": "^0.21.3",
+ "postcss": "^8.4.43",
+ "rollup": "^4.20.0"
},
"bin": {
"vite": "bin/vite.js"
},
"engines": {
- "node": "^14.18.0 || >=16.0.0"
+ "node": "^18.0.0 || >=20.0.0"
},
"funding": {
"url": "https://github.com/vitejs/vite?sponsor=1"
},
"optionalDependencies": {
- "fsevents": "~2.3.2"
+ "fsevents": "~2.3.3"
},
"peerDependencies": {
- "@types/node": ">= 14",
+ "@types/node": "^18.0.0 || >=20.0.0",
"less": "*",
"lightningcss": "^1.21.0",
"sass": "*",
+ "sass-embedded": "*",
"stylus": "*",
"sugarss": "*",
"terser": "^5.4.0"
@@ -2124,6 +2495,9 @@
"sass": {
"optional": true
},
+ "sass-embedded": {
+ "optional": true
+ },
"stylus": {
"optional": true
},
@@ -2146,16 +2520,17 @@
}
},
"node_modules/vue": {
- "version": "3.4.29",
- "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.29.tgz",
- "integrity": "sha512-8QUYfRcYzNlYuzKPfge1UWC6nF9ym0lx7mpGVPJYNhddxEf3DD0+kU07NTL0sXuiT2HuJuKr/iEO8WvXvT0RSQ==",
+ "version": "3.5.12",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.12.tgz",
+ "integrity": "sha512-CLVZtXtn2ItBIi/zHZ0Sg1Xkb7+PU32bJJ8Bmy7ts3jxXTcbfsEfBivFYYWz1Hur+lalqGAh65Coin0r+HRUfg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@vue/compiler-dom": "3.4.29",
- "@vue/compiler-sfc": "3.4.29",
- "@vue/runtime-dom": "3.4.29",
- "@vue/server-renderer": "3.4.29",
- "@vue/shared": "3.4.29"
+ "@vue/compiler-dom": "3.5.12",
+ "@vue/compiler-sfc": "3.5.12",
+ "@vue/runtime-dom": "3.5.12",
+ "@vue/server-renderer": "3.5.12",
+ "@vue/shared": "3.5.12"
},
"peerDependencies": {
"typescript": "*"
@@ -2167,36 +2542,17 @@
}
},
"node_modules/vue/node_modules/@vue/shared": {
- "version": "3.4.29",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.29.tgz",
- "integrity": "sha512-hQ2gAQcBO/CDpC82DCrinJNgOHI2v+FA7BDW4lMSPeBpQ7sRe2OLHWe5cph1s7D8DUQAwRt18dBDfJJ220APEA==",
- "dev": true
+ "version": "3.5.12",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.12.tgz",
+ "integrity": "sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
},
- "node_modules/ws": {
- "version": "8.17.1",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
- "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
"node_modules/yaml": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz",
diff --git a/package.json b/package.json
index 29f8f1a37..a174d73c7 100644
--- a/package.json
+++ b/package.json
@@ -1,4 +1,5 @@
{
+ "name": "coolify",
"private": true,
"type": "module",
"scripts": {
@@ -6,28 +7,24 @@
"build": "vite build"
},
"devDependencies": {
- "@vitejs/plugin-vue": "4.5.1",
- "autoprefixer": "10.4.19",
- "axios": "1.7.5",
- "laravel-echo": "1.16.1",
- "laravel-vite-plugin": "0.8.1",
- "postcss": "8.4.38",
+ "@vitejs/plugin-vue": "5.2.0",
+ "autoprefixer": "10.4.20",
+ "axios": "1.7.7",
+ "laravel-echo": "1.17.0",
+ "laravel-vite-plugin": "1.0.6",
+ "postcss": "8.4.49",
"pusher-js": "8.4.0-rc2",
- "tailwindcss": "3.4.4",
- "vite": "4.5.5",
- "vue": "3.4.29"
+ "tailwind-scrollbar": "^3.1.0",
+ "tailwindcss": "3.4.14",
+ "vite": "5.4.11",
+ "vue": "3.5.12"
},
"dependencies": {
- "@tailwindcss/forms": "0.5.7",
- "@tailwindcss/typography": "0.5.13",
+ "@tailwindcss/forms": "0.5.9",
+ "@tailwindcss/typography": "0.5.15",
"@xterm/addon-fit": "^0.10.0",
"@xterm/xterm": "^5.5.0",
- "alpinejs": "3.14.0",
- "cookie": "^0.7.0",
- "dotenv": "^16.4.5",
- "ioredis": "5.4.1",
- "node-pty": "^1.0.0",
- "tailwindcss-scrollbar": "0.1.0",
- "ws": "^8.17.0"
+ "alpinejs": "3.14.3",
+ "ioredis": "5.4.1"
}
-}
\ No newline at end of file
+}
diff --git a/public/.htaccess b/public/.htaccess
deleted file mode 100644
index 3aec5e27e..000000000
--- a/public/.htaccess
+++ /dev/null
@@ -1,21 +0,0 @@
-