diff --git a/.env.example b/.env.example
index 7b49625..a303681 100644
--- a/.env.example
+++ b/.env.example
@@ -1,9 +1,9 @@
-APP_NAME=Laravel
+APP_NAME=Phost
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_TIMEZONE=UTC
-APP_URL=http://localhost
+APP_URL=http://phost.test
APP_LOCALE=en
APP_FALLBACK_LOCALE=en
diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs
new file mode 100644
index 0000000..26c0946
--- /dev/null
+++ b/.git-blame-ignore-revs
@@ -0,0 +1,3 @@
+022d92c18a4a5a38658ee14dc4af958b26e597cf
+63f8c01938730a01258d0e6b8a1325b82d43ce09
+d7e0b956a369047666dfe25eaf29c15f2a74fb92
diff --git a/.github/workflows/codestyle.yml b/.github/workflows/codestyle.yml
new file mode 100644
index 0000000..ab34eea
--- /dev/null
+++ b/.github/workflows/codestyle.yml
@@ -0,0 +1,119 @@
+name: codestyle
+
+# Commits made in here will not trigger any workflows
+# Checkout Duster's documentation for a workaround
+
+on:
+ pull_request:
+ branches: [development, dev, acceptance, staging, main, master]
+
+jobs:
+ skip-duplicates:
+ continue-on-error: true # Uncomment once integration is finished
+ runs-on: ubuntu-latest
+
+ # Map a step output to a job output
+ outputs:
+ should_skip: ${{ steps.skip_check.outputs.should_skip }}
+
+ steps:
+ - id: skip_check
+ uses: fkirc/skip-duplicate-actions@v5
+ with:
+ # All of these options are optional, so you can remove them if you are happy with the defaults
+ cancel_others: "true"
+ concurrent_skipping: "same_content"
+ skip_after_successful_duplicate: "true"
+ paths_ignore: '["**/README.md", "**/docs/**"]'
+
+ duster-fix:
+ needs: skip-duplicates
+ if: needs.skip-duplicates.outputs.should_skip != 'true'
+
+ runs-on: ubuntu-latest
+
+ permissions:
+ contents: write
+
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ ref: ${{ github.head_ref }}
+
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - run: npm ci
+
+ - uses: shivammathur/setup-php@v2
+ with:
+ php-version: "8.2"
+
+ - name: Cache Composer dependencies
+ uses: actions/cache@v3
+ with:
+ path: /tmp/composer-cache
+ key: ${{ runner.os }}-${{ hashFiles('**/composer.lock') }}
+
+ - uses: php-actions/composer@v6
+ with:
+ php_version: "8.2"
+ php_extensions: pcntl
+ version: 2.x
+
+ - name: Run fixers
+ run: composer fix
+
+ - uses: stefanzweifel/git-auto-commit-action@v4
+ id: auto_commit_action
+ with:
+ commit_message: Dusting
+ commit_user_name: GitHub Action
+ commit_user_email: actions@github.com
+
+ - name: Ignore Duster commit in git blame
+ if: steps.auto_commit_action.outputs.changes_detected == 'true'
+ run: echo ${{ steps.auto_commit_action.outputs.commit_hash }} >> .git-blame-ignore-revs
+
+ - uses: stefanzweifel/git-auto-commit-action@v4
+ with:
+ commit_message: Ignore Dusting commit in git blame
+ commit_user_name: GitHub Action
+ commit_user_email: actions@github.com
+
+ duster-lint:
+ needs: skip-duplicates
+ if: needs.skip-duplicates.outputs.should_skip != 'true'
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ ref: ${{ github.head_ref }}
+
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - run: npm ci
+
+ - uses: shivammathur/setup-php@v2
+ with:
+ php-version: "8.2"
+
+ - name: Cache Composer dependencies
+ uses: actions/cache@v3
+ with:
+ path: /tmp/composer-cache
+ key: ${{ runner.os }}-${{ hashFiles('**/composer.lock') }}
+
+ - uses: php-actions/composer@v6
+ with:
+ php_version: "8.2"
+ php_extensions: pcntl
+ version: 2.x
+
+ - name: Run linters & static analysis
+ run: composer lint
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
new file mode 100644
index 0000000..c6f6bbd
--- /dev/null
+++ b/.github/workflows/test.yml
@@ -0,0 +1,69 @@
+name: tests
+
+on:
+ pull_request:
+ branches: [development, dev, acceptance, staging, main, master]
+
+jobs:
+ skip-duplicates:
+ continue-on-error: true # Uncomment once integration is finished
+ runs-on: ubuntu-latest
+
+ # Map a step output to a job output
+ outputs:
+ should_skip: ${{ steps.skip_check.outputs.should_skip }}
+
+ steps:
+ - id: skip_check
+ uses: fkirc/skip-duplicate-actions@v5
+ with:
+ # All of these options are optional, so you can remove them if you are happy with the defaults
+ cancel_others: "true"
+ concurrent_skipping: "same_content"
+ skip_after_successful_duplicate: "true"
+ paths_ignore: '["**/README.md", "**/docs/**"]'
+
+ laravel-tests:
+ needs: skip-duplicates
+ if: needs.skip-duplicates.outputs.should_skip != 'true'
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v3
+
+ - uses: shivammathur/setup-php@v2
+ with:
+ php-version: "8.2"
+
+ - name: Cache Composer dependencies
+ uses: actions/cache@v3
+ with:
+ path: /tmp/composer-cache
+ key: ${{ runner.os }}-${{ hashFiles('**/composer.lock') }}
+
+ - uses: php-actions/composer@v6
+ with:
+ php_version: "8.2"
+ php_extensions: pcntl
+ version: 2.x
+
+ - name: Copy .env
+ run: php -r "file_exists('.env') || copy('.env.example', '.env');"
+
+ - name: Generate key
+ run: php artisan key:generate
+
+ # - name: Directory Permissions
+ # run: chmod -R 777 storage bootstrap/cache
+
+ - name: Create Database
+ run: |
+ mkdir -p database
+ touch database/database.sqlite
+
+ - name: Execute tests
+ env:
+ DB_CONNECTION: sqlite
+ DB_DATABASE: database/database.sqlite
+ run: php artisan test
diff --git a/.gitignore b/.gitignore
index 7fe978f..18e41da 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,9 +1,11 @@
+**/.DS_Store
/.phpunit.cache
/node_modules
/public/build
/public/hot
/public/storage
/storage/*.key
+/storage/pail
/vendor
.env
.env.backup
@@ -17,3 +19,11 @@ yarn-error.log
/.fleet
/.idea
/.vscode
+
+output.log
+docker_tag
+DOCKER_ENV
+Dockerfile-php-build
+
+_ide_helper.php
+.phpstorm.meta.php
diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php
new file mode 100644
index 0000000..04bf7e4
--- /dev/null
+++ b/.php-cs-fixer.dist.php
@@ -0,0 +1,30 @@
+in([
+ __DIR__ . '/app',
+ __DIR__ . '/config',
+ __DIR__ . '/database',
+ __DIR__ . '/resources',
+ __DIR__ . '/routes',
+ __DIR__ . '/tests',
+ ])
+ ->name('*.php')
+ ->notName('*.blade.php')
+ ->ignoreDotFiles(true)
+ ->ignoreVCS(true);
+
+return (new Config)
+ ->setFinder($finder)
+ ->setRules([])
+ ->setRiskyAllowed(true)
+ ->setUsingCache(false);
+
+// @codeCoverageIgnoreEnd
diff --git a/.phpcs.xml.dist b/.phpcs.xml.dist
new file mode 100644
index 0000000..cbc2c07
--- /dev/null
+++ b/.phpcs.xml.dist
@@ -0,0 +1,88 @@
+
+
+ Gedachtegoed PHP CS rules for Laravel
+
+ app
+ config
+ database
+ public
+ resources
+ routes
+ tests
+
+ Gedachtegoed PHP CS rules for Laravel
+
+
+ */cache/*
+ */*.js
+ */*.css
+ */*.xml
+ */*.blade.php
+ */autoload.php
+ */storage/*
+ */docs/*
+ */vendor/*
+ */migrations/*
+
+
+
+
+
+
+
+
+ /public/index.php
+
+ /tests
+
+
+
+
+
+
+
+ */database/*
+ */tests/*
+
+
+
+
+
+
+
+
+
+
+
+
+
+ */tests/*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /config/*
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.prettierrc.json b/.prettierrc.json
new file mode 100644
index 0000000..af3a8f3
--- /dev/null
+++ b/.prettierrc.json
@@ -0,0 +1,23 @@
+{
+ "plugins": [
+ "@shufo/prettier-plugin-blade"
+ ],
+ "overrides": [
+ {
+ "files": [
+ "*.blade.php"
+ ],
+ "options": {
+ "parser": "blade",
+ "tabWidth": 4
+ }
+ }
+ ],
+
+ "htmlWhitespaceSensitivity": "css",
+ "sortTailwindcssClasses": true,
+ "singleAttributePerLine": true,
+ "bracketSameLine": false,
+ "printWidth": 600,
+ "tabWidth": 4
+ }
diff --git a/app/Console/Commands/HandleIncomingMessages.php b/app/Console/Commands/HandleIncomingMessages.php
index 2411ffb..a4caaf0 100644
--- a/app/Console/Commands/HandleIncomingMessages.php
+++ b/app/Console/Commands/HandleIncomingMessages.php
@@ -4,7 +4,6 @@
use App\Models\Message;
use App\Services\Smtp\Server;
-use Exception;
use Illuminate\Console\Command;
class HandleIncomingMessages extends Command
@@ -13,27 +12,11 @@ class HandleIncomingMessages extends Command
protected $description = 'Starts SMTP server & handles incoming messages';
- protected Server $server;
-
- public function __construct()
- {
- parent::__construct();
- $this->server = Server::new(2525);
- }
-
public function handle()
{
- try {
-
- $this->server
- ->onMessageReceived(fn ($content) => Message::fromContent($content))
- ->serve();
-
- } catch (Exception $e) {
-
- $this->server->stop();
- throw $e;
- }
+ Server::new(2525)
+ ->onMessageReceived(fn ($content) => Message::fromContent($content))
+ ->serve();
return Command::SUCCESS;
}
diff --git a/app/Enums/Framework.php b/app/Enums/Framework.php
new file mode 100644
index 0000000..92b3bd9
--- /dev/null
+++ b/app/Enums/Framework.php
@@ -0,0 +1,12 @@
+message = $message;
+ }
+
+ public function broadcastOn(): array
+ {
+ return [
+ new Channel('nativephp'),
+ ];
+ }
+}
diff --git a/app/Livewire/Concerns/Config.php b/app/Livewire/Concerns/Config.php
new file mode 100644
index 0000000..eca14a9
--- /dev/null
+++ b/app/Livewire/Concerns/Config.php
@@ -0,0 +1,18 @@
+delete();
+
+ if ($id === $this->selectedMessageId) {
+ $this->selectedMessageId = null;
+ }
+ }
+
+ public function toggleBookmark(int $id)
+ {
+ Message::findOrFail($id)->toggleBookmark();
+
+ $this->message?->markRead();
+ }
+
+ public function selectNext()
+ {
+ $index = $this->inbox->search(function ($message) {
+ return $message->id === $this->selectedMessageId;
+ });
+
+ if ($index === false) {
+ return;
+ }
+
+ $nextMessage = $this->inbox->get($index + 1) ?? $this->inbox->first();
+
+ $this->selectMessage($nextMessage->id);
+
+ unset($this->inbox);
+ }
+
+ public function selectPrevious()
+ {
+ $index = $this->inbox->search(function ($message) {
+ return $message->id === $this->selectedMessageId;
+ });
+
+ if ($index === false) {
+ return;
+ }
+
+ $previousMessage = $this->inbox->get($index - 1) ?? $this->inbox->last();
+
+ $this->selectMessage($previousMessage->id);
+
+ unset($this->inbox);
+ }
+}
diff --git a/app/Livewire/Concerns/SmtpSupervisor.php b/app/Livewire/Concerns/SmtpSupervisor.php
new file mode 100644
index 0000000..daf2baf
--- /dev/null
+++ b/app/Livewire/Concerns/SmtpSupervisor.php
@@ -0,0 +1,77 @@
+config->port)
+ ->onMessageReceived(function ($content) {
+
+ $message = Message::fromContent($content);
+ MessageReceived::dispatch($message);
+
+ // Running as NativePHP app. Send out system notifications
+ if (config('nativephp-internal.running')) {
+
+ Notification::title(self::NOTIFICATION_TITLE)
+ ->message($message->parsed->getHeaderValue(HeaderConsts::SUBJECT))
+ ->show();
+ }
+
+ })->serve();
+ },
+ // Silently log all errors to the browser console
+ function (Throwable $e) {
+ if (str($e->getMessage())->contains('EADDRINUSE')) {
+ return;
+ }
+
+ $this->js(<<< JS
+ console.error('SUPERVISOR: {$e->getMessage()}');
+ JS);
+ },
+ // Log all errors except when port is in use
+ report: fn (Throwable $e) => ! str($e->getMessage())->contains('EADDRINUSE')
+ );
+ }
+
+ /**
+ * Echo listener for the MessageReceived event
+ *
+ * This needs to be called via a channel so we can pick
+ * up on events raised from a separate process.
+ */
+ #[On('native:' . MessageReceived::class)]
+ public function messageReceived()
+ {
+ // TODO: Implement NativePHP events with Echo
+ // https://nativephp.com/docs/1/digging-deeper/broadcasting
+ // https://laravel.com/docs/11.x/broadcasting#client-side-installation
+ // Laravel websockets doesn't support L11. Can we use Reverb instead? https://laravel.com/docs/11.x/reverb
+
+ dd('Received new message');
+ }
+}
diff --git a/app/Livewire/Inbox.php b/app/Livewire/Inbox.php
index bb296bc..4ad62bf 100644
--- a/app/Livewire/Inbox.php
+++ b/app/Livewire/Inbox.php
@@ -3,25 +3,37 @@
namespace App\Livewire;
use App\Models\Message;
-use Illuminate\Support\Collection;
-use Livewire\Attributes\Computed;
-use Livewire\Attributes\Title;
-use Livewire\Attributes\Url;
use Livewire\Component;
-
-#[Title('Inbox')]
+use Livewire\Attributes\Url;
+use Livewire\Attributes\Title;
+use Livewire\Attributes\Computed;
+use Illuminate\Support\Collection;
+use App\Livewire\Concerns\SmtpSupervisor;
+use App\Livewire\Concerns\MessageControls;
+
+/**
+ * @property ?Message $message
+ * @property Collection $inbox
+ */
+#[Title('Phost | Inbox')]
class Inbox extends Component
{
+ use MessageControls;
+ use SmtpSupervisor;
+
#[Url]
public string $search = '';
public ?int $selectedMessageId = null;
- public function mount($selectedMessageId = null)
+ public function mount($messageId = null)
{
- $this->selectedMessageId = $selectedMessageId;
+ if ($messageId) {
+ $this->selectMessage($messageId);
+ }
- $this->message?->markRead();
+ // Start the SMTP server
+ $this->supervisor(); // TODO: Move to scheduler
}
public function selectMessage(int $id)
@@ -29,27 +41,6 @@ public function selectMessage(int $id)
$this->selectedMessageId = $id;
$this->message?->markRead();
-
- // Not pretty, but most reliable way to ensure properly sized iframe
- $this->dispatch('reload-message-preview');
- }
-
- public function deleteMessage(int $id)
- {
- Message::findOrFail($id)->delete();
-
- if ($id === $this->selectedMessageId) {
- $this->selectedMessageId = null;
- }
- }
-
- public function toggleBookmark(int $id)
- {
- Message::findOrFail($id)->toggleBookmark();
-
- $this->message?->markRead();
-
- $this->dispatch('reload-message-preview');
}
#[Computed()]
@@ -60,7 +51,6 @@ public function message(): ?Message
}
return Message::find($this->selectedMessageId);
-
}
#[Computed()]
@@ -68,7 +58,7 @@ public function inbox(): Collection
{
return Message::query()
->when($this->search, fn ($query) => $query
- ->where('content', 'like', '%'.trim($this->search).'%')
+ ->where('content', 'like', '%' . trim($this->search) . '%')
)
->orderByDesc('bookmarked')
->latest()
diff --git a/app/Livewire/Settings.php b/app/Livewire/Settings.php
new file mode 100644
index 0000000..d390ab3
--- /dev/null
+++ b/app/Livewire/Settings.php
@@ -0,0 +1,41 @@
+fill($this->config->toArray());
+ }
+
+ public function save()
+ {
+ $validated = $this->validate();
+ $this->config->fill($validated)->save();
+
+ // Start the SMTP server with updated port nr
+ $this->supervisor();
+ }
+
+ #[Computed()]
+ public function selectedFramework(): ?Framework
+ {
+ return Framework::tryFrom($this->framework);
+ }
+}
diff --git a/app/Models/Message.php b/app/Models/Message.php
index b3269bc..4a62af9 100644
--- a/app/Models/Message.php
+++ b/app/Models/Message.php
@@ -2,9 +2,15 @@
namespace App\Models;
+use Illuminate\Support\Number;
use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\Casts\Attribute;
use ZBateson\MailMimeParser\Message as ParsedMessage;
+use ZBateson\MailMimeParser\IMessage as ParsedMessageContract;
+/**
+ * @property ParsedMessageContract $parsed
+ */
class Message extends Model
{
protected $fillable = [
@@ -25,26 +31,41 @@ public static function fromContent(string $content): self
]);
}
- public function parsed(): ParsedMessage
+ //---------------------------------------------------------------
+ // Attributes
+ //---------------------------------------------------------------
+ public function parsed(): Attribute
{
- return ParsedMessage::from($this->content, true);
+ return Attribute::make(
+ get: fn (): ParsedMessageContract => ParsedMessage::from($this->content, true)
+ )->shouldCache();
}
- public function markRead(): void
+ public function size(): Attribute
{
- if ($this->read_at) {
- return;
- }
+ return Attribute::make(
+ get: fn () => Number::fileSize(strlen($this->content), precision: 2)
+ )->shouldCache();
+ }
+ //---------------------------------------------------------------
+ // Helpers
+ //---------------------------------------------------------------
+ public function toggleBookmark(): void
+ {
$this->update([
- 'read_at' => now(),
+ 'bookmarked' => ! $this->bookmarked,
]);
}
- public function toggleBookmark(): void
+ public function markRead(): void
{
+ if ($this->read_at) {
+ return;
+ }
+
$this->update([
- 'bookmarked' => ! $this->bookmarked,
+ 'read_at' => now(),
]);
}
}
diff --git a/app/Models/User.php b/app/Models/User.php
index def621f..dcb8846 100644
--- a/app/Models/User.php
+++ b/app/Models/User.php
@@ -3,9 +3,9 @@
namespace App\Models;
// use Illuminate\Contracts\Auth\MustVerifyEmail;
+use Illuminate\Notifications\Notifiable;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
-use Illuminate\Notifications\Notifiable;
class User extends Authenticatable
{
diff --git a/app/Providers/NativeAppServiceProvider.php b/app/Providers/NativeAppServiceProvider.php
new file mode 100644
index 0000000..09ecb4b
--- /dev/null
+++ b/app/Providers/NativeAppServiceProvider.php
@@ -0,0 +1,33 @@
+titleBarHidden()
+ ->hideMenu()
+ ->width(1200)
+ ->height(740)
+ ->minWidth(540)
+ ->minHeight(500);
+ }
+
+ /**
+ * Return an array of php.ini directives to be set.
+ */
+ public function phpIni(): array
+ {
+ return [
+ ];
+ }
+}
diff --git a/app/Services/Smtp/Server.php b/app/Services/Smtp/Server.php
index 1ed97c4..4b464d2 100644
--- a/app/Services/Smtp/Server.php
+++ b/app/Services/Smtp/Server.php
@@ -2,14 +2,14 @@
namespace App\Services\Smtp;
-use App\Services\Smtp\Enums\Command;
+use Mockery;
+use React\Socket\SocketServer;
+use React\Socket\ServerInterface;
use App\Services\Smtp\Enums\Reply;
use React\EventLoop\LoopInterface;
+use App\Services\Smtp\Enums\Command;
use React\EventLoop\StreamSelectLoop;
use React\Socket\ConnectionInterface;
-use React\Socket\ServerInterface;
-use React\Socket\SocketServer;
-use ZBateson\MailMimeParser\Message;
use function Laravel\Prompts\info;
use function Laravel\Prompts\note;
@@ -23,7 +23,7 @@ class Server
protected LoopInterface $loop;
- protected ServerInterface $socket;
+ protected ?ServerInterface $socket = null;
/** @var callable(string):void */
protected $onMessageReceivedCallback; // Needs to be configured by consuming class
@@ -31,17 +31,27 @@ class Server
public function __construct(int $port = 2525)
{
$this->port = $port;
- $this->loop = new StreamSelectLoop();
+ $this->loop = new StreamSelectLoop;
}
public static function new(int $port = 2525): self
{
- return new self($port);
+ return resolve(self::class, ['port' => $port]);
+ }
+
+ public static function fake()
+ {
+ $mock = Mockery::mock(self::class, fn ($mock) => $mock
+ ->makePartial()
+ ->shouldReceive('serve')
+ );
+
+ app()->bind(self::class, fn () => $mock);
}
public function serve(): void
{
- $this->socket = new SocketServer(self::HOST.':'.$this->port, [], $this->loop);
+ $this->socket = new SocketServer(self::HOST . ':' . $this->port, [], $this->loop);
info("Started SMTP server on: {$this->socket->getAddress()}");
@@ -50,8 +60,8 @@ public function serve(): void
$content = '';
$transferring = false;
- note(Reply::Ready->value.' - opened SMTP connection on: '.$connection->getLocalAddress());
- $connection->write(Reply::Ready->value." Ok!\r\n");
+ note(Reply::Ready->value . ' - opened SMTP connection on: ' . $connection->getLocalAddress());
+ $connection->write(Reply::Ready->value . " Ok!\r\n");
$connection->on('data', function ($data) use ($connection, &$content, &$transferring) {
@@ -67,11 +77,10 @@ public function serve(): void
if ($transferring) {
if ($line->toString() === '.') {
- note(Reply::Okay->value.' - message received!');
- $connection->write(Reply::Okay->value." Ok!\r\n");
+ note(Reply::Okay->value . ' - message received!');
+ $connection->write(Reply::Okay->value . " Ok!\r\n");
call_user_func($this->onMessageReceivedCallback, $content);
- // $this->onMessageReceivedCallback($content);
$transferring = false;
return false;
@@ -87,38 +96,38 @@ public function serve(): void
// Handshake ($transferring = false)
// -------------------------------------------------------------------
if ($line->startsWith(Command::EHLO->value)) {
- note(Reply::Okay->value.' - received '.$line->toString());
- $connection->write(Reply::Okay->value." Ok!\r\n");
+ note(Reply::Okay->value . ' - received ' . $line->toString());
+ $connection->write(Reply::Okay->value . " Ok!\r\n");
return false;
}
if ($line->startsWith(Command::HELO->value)) {
- note(Reply::Okay->value.' - received '.$line->toString());
- $connection->write(Reply::Okay->value." Ok!\r\n");
+ note(Reply::Okay->value . ' - received ' . $line->toString());
+ $connection->write(Reply::Okay->value . " Ok!\r\n");
return false;
}
if ($line->startsWith(Command::FROM_HEADER->value)) {
- note(Reply::Okay->value.' - received MAIL FROM');
+ note(Reply::Okay->value . ' - received MAIL FROM');
- $connection->write(Reply::Okay->value." Ok!\r\n");
+ $connection->write(Reply::Okay->value . " Ok!\r\n");
return false;
}
if ($line->startsWith(Command::RECIPIENT_HEADER->value)) {
- note(Reply::Okay->value.' - received RCPT TO');
+ note(Reply::Okay->value . ' - received RCPT TO');
- $connection->write(Reply::Okay->value." Ok!\r\n");
+ $connection->write(Reply::Okay->value . " Ok!\r\n");
return false;
}
if ($line->toString() === Command::DATA->value) {
- note(Reply::StartTransfer->value.' - starting message transfer');
- $connection->write(Reply::StartTransfer->value." Start transfer\r\n");
+ note(Reply::StartTransfer->value . ' - starting message transfer');
+ $connection->write(Reply::StartTransfer->value . " Start transfer\r\n");
$transferring = true;
@@ -126,15 +135,15 @@ public function serve(): void
}
if ($line->startsWith(Command::QUIT->value)) {
- note(Reply::Goodbye->value.' - closed SMTP connection on: '.$connection->getLocalAddress());
- $connection->end(Reply::Goodbye->value." Goodbye!\r\n");
+ note(Reply::Goodbye->value . ' - closed SMTP connection on: ' . $connection->getLocalAddress());
+ $connection->end(Reply::Goodbye->value . " Goodbye!\r\n");
return false;
}
// TODO: Refactor to match & handle default 500 something reply
- warning(Reply::CommandNotImplemented->value.' - '.$line->toString());
- $connection->write(Reply::CommandNotImplemented->value." Not implemented\r\n"); // Okay
+ warning(Reply::CommandNotImplemented->value . ' - ' . $line->toString());
+ $connection->write(Reply::CommandNotImplemented->value . " Not implemented\r\n"); // Okay
$connection->close();
});
diff --git a/app/Settings/Config.php b/app/Settings/Config.php
new file mode 100644
index 0000000..a78c2e2
--- /dev/null
+++ b/app/Settings/Config.php
@@ -0,0 +1,15 @@
+withRouting(
- web: __DIR__.'/../routes/web.php',
- commands: __DIR__.'/../routes/console.php',
+ web: __DIR__ . '/../routes/web.php',
+ commands: __DIR__ . '/../routes/console.php',
)
->withSchedule(function (Schedule $schedule) {
diff --git a/composer.json b/composer.json
index f40e9a4..bfd8d44 100644
--- a/composer.json
+++ b/composer.json
@@ -2,7 +2,10 @@
"name": "laravel/laravel",
"type": "project",
"description": "The skeleton application for the Laravel framework.",
- "keywords": ["laravel", "framework"],
+ "keywords": [
+ "laravel",
+ "framework"
+ ],
"license": "MIT",
"require": {
"php": "^8.2",
@@ -10,18 +13,27 @@
"laravel/framework": "^11.0",
"laravel/tinker": "^2.9",
"livewire/livewire": "^3.4",
+ "nativephp/electron": "^0.5.0",
"react/socket": "^1.15",
+ "spatie/laravel-settings": "^3.3",
"zbateson/mail-mime-parser": "^2.4"
},
"require-dev": {
+ "barryvdh/laravel-ide-helper": "^3.0",
"fakerphp/faker": "^1.23",
- "laravel/pint": "^1.13",
- "laravel/sail": "^1.26",
+ "friendsofphp/php-cs-fixer": "^3.53",
+ "gedachtegoed/workspace": "^0.3.0",
+ "larastan/larastan": "^2.0",
+ "laravel/pail": "^1.1",
+ "laravel/pint": "^1.15",
"mockery/mockery": "^1.6",
"nunomaduro/collision": "^8.0",
"pestphp/pest": "^2.34",
"pestphp/pest-plugin-laravel": "^2.3",
- "spatie/laravel-ignition": "^2.4"
+ "spatie/laravel-ignition": "^2.4",
+ "squizlabs/php_codesniffer": "^3.9",
+ "tightenco/duster": "^2.7",
+ "tightenco/tlint": "^9.3"
},
"autoload": {
"psr-4": {
@@ -36,12 +48,15 @@
}
},
"scripts": {
+ "kill": "bash kill-stray-processes.sh",
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover --ansi"
],
"post-update-cmd": [
- "@php artisan vendor:publish --tag=laravel-assets --ansi --force"
+ "@php artisan vendor:publish --tag=laravel-assets --ansi --force",
+ "@php artisan ide-helper:generate --ansi --helpers",
+ "@php artisan ide-helper:meta --ansi"
],
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
@@ -50,7 +65,11 @@
"@php artisan key:generate --ansi",
"@php -r \"file_exists('database/database.sqlite') || touch('database/database.sqlite');\"",
"@php artisan migrate --graceful --ansi"
- ]
+ ],
+ "lint": "vendor/bin/duster lint",
+ "fix": "vendor/bin/duster fix",
+ "analyze": "vendor/bin/phpstan analyse",
+ "baseline": "vendor/bin/phpstan analyse --generate-baseline"
},
"extra": {
"laravel": {
diff --git a/composer.lock b/composer.lock
index 6067912..331c5cb 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "e68c408d4f171ca1529b7ee5117fe320",
+ "content-hash": "6ffebb6b7ece8d3d7db9dfca1626ca17",
"packages": [
{
"name": "blade-ui-kit/blade-heroicons",
@@ -355,6 +355,53 @@
},
"time": "2022-10-27T11:44:00+00:00"
},
+ {
+ "name": "doctrine/deprecations",
+ "version": "1.1.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/doctrine/deprecations.git",
+ "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab",
+ "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1 || ^8.0"
+ },
+ "require-dev": {
+ "doctrine/coding-standard": "^9",
+ "phpstan/phpstan": "1.4.10 || 1.10.15",
+ "phpstan/phpstan-phpunit": "^1.0",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+ "psalm/plugin-phpunit": "0.18.4",
+ "psr/log": "^1 || ^2 || ^3",
+ "vimeo/psalm": "4.30.0 || 5.12.0"
+ },
+ "suggest": {
+ "psr/log": "Allows logging deprecations via PSR-3 logger implementation"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.",
+ "homepage": "https://www.doctrine-project.org/",
+ "support": {
+ "issues": "https://github.com/doctrine/deprecations/issues",
+ "source": "https://github.com/doctrine/deprecations/tree/1.1.3"
+ },
+ "time": "2024-01-30T19:34:25+00:00"
+ },
{
"name": "doctrine/inflector",
"version": "2.0.10",
@@ -1244,16 +1291,16 @@
},
{
"name": "laravel/framework",
- "version": "v11.2.0",
+ "version": "v11.4.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
- "reference": "a1750156b671f37cba702380107e2d22161c31e3"
+ "reference": "c1dc67c28811dc5be524a30b18f29ce62126716a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/framework/zipball/a1750156b671f37cba702380107e2d22161c31e3",
- "reference": "a1750156b671f37cba702380107e2d22161c31e3",
+ "url": "https://api.github.com/repos/laravel/framework/zipball/c1dc67c28811dc5be524a30b18f29ce62126716a",
+ "reference": "c1dc67c28811dc5be524a30b18f29ce62126716a",
"shasum": ""
},
"require": {
@@ -1272,7 +1319,7 @@
"fruitcake/php-cors": "^1.3",
"guzzlehttp/guzzle": "^7.8",
"guzzlehttp/uri-template": "^1.0",
- "laravel/prompts": "^0.1.15",
+ "laravel/prompts": "^0.1.18",
"laravel/serializable-closure": "^1.3",
"league/commonmark": "^2.2.1",
"league/flysystem": "^3.8.0",
@@ -1445,20 +1492,20 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
- "time": "2024-04-02T14:01:33+00:00"
+ "time": "2024-04-16T14:38:51+00:00"
},
{
"name": "laravel/prompts",
- "version": "v0.1.17",
+ "version": "v0.1.19",
"source": {
"type": "git",
"url": "https://github.com/laravel/prompts.git",
- "reference": "8ee9f87f7f9eadcbe21e9e72cd4176b2f06cd5b5"
+ "reference": "0ab75ac3434d9f610c5691758a6146a3d1940c18"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/prompts/zipball/8ee9f87f7f9eadcbe21e9e72cd4176b2f06cd5b5",
- "reference": "8ee9f87f7f9eadcbe21e9e72cd4176b2f06cd5b5",
+ "url": "https://api.github.com/repos/laravel/prompts/zipball/0ab75ac3434d9f610c5691758a6146a3d1940c18",
+ "reference": "0ab75ac3434d9f610c5691758a6146a3d1940c18",
"shasum": ""
},
"require": {
@@ -1500,9 +1547,9 @@
],
"support": {
"issues": "https://github.com/laravel/prompts/issues",
- "source": "https://github.com/laravel/prompts/tree/v0.1.17"
+ "source": "https://github.com/laravel/prompts/tree/v0.1.19"
},
- "time": "2024-03-13T16:05:43+00:00"
+ "time": "2024-04-16T14:20:35+00:00"
},
{
"name": "laravel/serializable-closure",
@@ -1820,16 +1867,16 @@
},
{
"name": "league/flysystem",
- "version": "3.26.0",
+ "version": "3.27.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
- "reference": "072735c56cc0da00e10716dd90d5a7f7b40b36be"
+ "reference": "4729745b1ab737908c7d055148c9a6b3e959832f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/072735c56cc0da00e10716dd90d5a7f7b40b36be",
- "reference": "072735c56cc0da00e10716dd90d5a7f7b40b36be",
+ "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/4729745b1ab737908c7d055148c9a6b3e959832f",
+ "reference": "4729745b1ab737908c7d055148c9a6b3e959832f",
"shasum": ""
},
"require": {
@@ -1894,7 +1941,7 @@
],
"support": {
"issues": "https://github.com/thephpleague/flysystem/issues",
- "source": "https://github.com/thephpleague/flysystem/tree/3.26.0"
+ "source": "https://github.com/thephpleague/flysystem/tree/3.27.0"
},
"funding": [
{
@@ -1906,7 +1953,7 @@
"type": "github"
}
],
- "time": "2024-03-25T11:49:53+00:00"
+ "time": "2024-04-07T19:17:50+00:00"
},
{
"name": "league/flysystem-local",
@@ -2101,16 +2148,16 @@
},
{
"name": "monolog/monolog",
- "version": "3.5.0",
+ "version": "3.6.0",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
- "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448"
+ "reference": "4b18b21a5527a3d5ffdac2fd35d3ab25a9597654"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c915e2634718dbc8a4a15c61b0e62e7a44e14448",
- "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/4b18b21a5527a3d5ffdac2fd35d3ab25a9597654",
+ "reference": "4b18b21a5527a3d5ffdac2fd35d3ab25a9597654",
"shasum": ""
},
"require": {
@@ -2133,7 +2180,7 @@
"phpstan/phpstan": "^1.9",
"phpstan/phpstan-deprecation-rules": "^1.0",
"phpstan/phpstan-strict-rules": "^1.4",
- "phpunit/phpunit": "^10.1",
+ "phpunit/phpunit": "^10.5.17",
"predis/predis": "^1.1 || ^2",
"ruflin/elastica": "^7",
"symfony/mailer": "^5.4 || ^6",
@@ -2186,7 +2233,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/monolog/issues",
- "source": "https://github.com/Seldaek/monolog/tree/3.5.0"
+ "source": "https://github.com/Seldaek/monolog/tree/3.6.0"
},
"funding": [
{
@@ -2198,20 +2245,219 @@
"type": "tidelift"
}
],
- "time": "2023-10-27T15:32:31+00:00"
+ "time": "2024-04-12T21:02:21+00:00"
+ },
+ {
+ "name": "nativephp/electron",
+ "version": "0.5.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/NativePHP/electron.git",
+ "reference": "8b696907e6c56cc1649dd73d85bbf90b2cf7f8aa"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/NativePHP/electron/zipball/8b696907e6c56cc1649dd73d85bbf90b2cf7f8aa",
+ "reference": "8b696907e6c56cc1649dd73d85bbf90b2cf7f8aa",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/contracts": "^10.0|^11.0",
+ "laravel/prompts": "^0.1.1",
+ "nativephp/laravel": "*",
+ "nativephp/php-bin": "*",
+ "php": "^8.1",
+ "spatie/laravel-package-tools": "^1.14.0"
+ },
+ "require-dev": {
+ "laravel/pint": "^1.0",
+ "nunomaduro/collision": "^7.9",
+ "nunomaduro/larastan": "^2.0.1",
+ "orchestra/testbench": "^8.0",
+ "pestphp/pest": "^2.0",
+ "pestphp/pest-plugin-arch": "^2.0",
+ "pestphp/pest-plugin-laravel": "^2.0",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan-deprecation-rules": "^1.0",
+ "phpstan/phpstan-phpunit": "^1.0",
+ "spatie/laravel-ray": "^1.26"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Native\\Electron\\ElectronServiceProvider"
+ ],
+ "aliases": {
+ "Updater": "Native\\Electron\\Facades\\Updater"
+ }
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Native\\Electron\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Marcel Pociot",
+ "email": "marcel@beyondco.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "Electron wrapper for the NativePHP framework.",
+ "homepage": "https://github.com/nativephp/electron",
+ "keywords": [
+ "electron",
+ "laravel",
+ "nativephp"
+ ],
+ "support": {
+ "source": "https://github.com/NativePHP/electron/tree/0.5.0"
+ },
+ "time": "2024-04-01T16:29:10+00:00"
+ },
+ {
+ "name": "nativephp/laravel",
+ "version": "0.5.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/NativePHP/laravel.git",
+ "reference": "691c8c2f9d894e6ead65e274046825e179ef8fd5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/NativePHP/laravel/zipball/691c8c2f9d894e6ead65e274046825e179ef8fd5",
+ "reference": "691c8c2f9d894e6ead65e274046825e179ef8fd5",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/contracts": "^10.0|^11.0",
+ "php": "^8.1",
+ "spatie/laravel-package-tools": "^1.14.0",
+ "symfony/finder": "^6.2|^7.0"
+ },
+ "require-dev": {
+ "guzzlehttp/guzzle": "^7.0",
+ "laravel/pint": "^1.0",
+ "nunomaduro/collision": "^7.9",
+ "nunomaduro/larastan": "^2.0.1",
+ "orchestra/testbench": "^8.0",
+ "pestphp/pest": "^2.0",
+ "pestphp/pest-plugin-arch": "^2.0",
+ "pestphp/pest-plugin-laravel": "^2.0",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan-deprecation-rules": "^1.0",
+ "phpstan/phpstan-phpunit": "^1.0",
+ "spatie/laravel-ray": "^1.26"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Native\\Laravel\\NativeServiceProvider"
+ ],
+ "aliases": {
+ "ContextMenu": "Native\\Laravel\\Facades\\ContextMenu",
+ "Dock": "Native\\Laravel\\Facades\\Dock",
+ "Process": "Native\\Laravel\\Facades\\Process",
+ "Window": "Native\\Laravel\\Facades\\Window",
+ "Clipboard": "Native\\Laravel\\Facades\\Clipboard"
+ }
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Native\\Laravel\\": "src/",
+ "Native\\Laravel\\Database\\Factories\\": "database/factories/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Marcel Pociot",
+ "email": "marcel@beyondco.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "Laravel wrapper for the NativePHP framework.",
+ "homepage": "https://github.com/nativephp/laravel",
+ "keywords": [
+ "laravel",
+ "nativephp",
+ "nativephp-laravel"
+ ],
+ "support": {
+ "issues": "https://github.com/NativePHP/laravel/issues",
+ "source": "https://github.com/NativePHP/laravel/tree/0.5.0"
+ },
+ "time": "2024-04-01T16:29:53+00:00"
+ },
+ {
+ "name": "nativephp/php-bin",
+ "version": "0.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/NativePHP/php-bin.git",
+ "reference": "36fec9027b2be29d1a5d1aa83baf6d8030da66e9"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/NativePHP/php-bin/zipball/36fec9027b2be29d1a5d1aa83baf6d8030da66e9",
+ "reference": "36fec9027b2be29d1a5d1aa83baf6d8030da66e9",
+ "shasum": ""
+ },
+ "type": "library",
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "Apache-2.0",
+ "GPL-3.0-or-later",
+ "MIT",
+ "PHP-3.01"
+ ],
+ "authors": [
+ {
+ "name": "Marcel Pociot",
+ "email": "marcel@beyondco.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Simon Hamp",
+ "email": "simon.hamp@me.com",
+ "role": "Developer"
+ }
+ ],
+ "description": "PHP binaries used by the NativePHP framework",
+ "homepage": "https://nativephp.com",
+ "keywords": [
+ "nativephp",
+ "php"
+ ],
+ "support": {
+ "issues": "https://github.com/NativePHP/php-bin/issues",
+ "source": "https://github.com/NativePHP/php-bin/tree/0.3.0"
+ },
+ "time": "2023-07-27T10:44:16+00:00"
},
{
"name": "nesbot/carbon",
- "version": "3.2.3",
+ "version": "3.2.4",
"source": {
"type": "git",
"url": "https://github.com/briannesbitt/Carbon.git",
- "reference": "4d599a6e2351d6b6bf21737accdfe1a4ce3fdbb1"
+ "reference": "82c28278c1c8f7b82dcdab25692237f052ffc8d8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/4d599a6e2351d6b6bf21737accdfe1a4ce3fdbb1",
- "reference": "4d599a6e2351d6b6bf21737accdfe1a4ce3fdbb1",
+ "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/82c28278c1c8f7b82dcdab25692237f052ffc8d8",
+ "reference": "82c28278c1c8f7b82dcdab25692237f052ffc8d8",
"shasum": ""
},
"require": {
@@ -2304,7 +2550,7 @@
"type": "tidelift"
}
],
- "time": "2024-03-30T18:22:00+00:00"
+ "time": "2024-04-05T09:58:10+00:00"
},
{
"name": "nette/schema",
@@ -2456,27 +2702,25 @@
},
{
"name": "nikic/php-parser",
- "version": "v5.0.2",
+ "version": "v4.19.1",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13"
+ "reference": "4e1b88d21c69391150ace211e9eaf05810858d0b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13",
- "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4e1b88d21c69391150ace211e9eaf05810858d0b",
+ "reference": "4e1b88d21c69391150ace211e9eaf05810858d0b",
"shasum": ""
},
"require": {
- "ext-ctype": "*",
- "ext-json": "*",
"ext-tokenizer": "*",
- "php": ">=7.4"
+ "php": ">=7.1"
},
"require-dev": {
"ircmaxell/php-yacc": "^0.0.7",
- "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
+ "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
},
"bin": [
"bin/php-parse"
@@ -2484,7 +2728,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.0-dev"
+ "dev-master": "4.9-dev"
}
},
"autoload": {
@@ -2508,9 +2752,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v4.19.1"
},
- "time": "2024-03-05T20:51:40+00:00"
+ "time": "2024-03-17T08:10:35+00:00"
},
{
"name": "nunomaduro/termwind",
@@ -2601,107 +2845,265 @@
"time": "2024-03-06T16:17:14+00:00"
},
{
- "name": "phpoption/phpoption",
- "version": "1.9.2",
+ "name": "phpdocumentor/reflection-common",
+ "version": "2.2.0",
"source": {
"type": "git",
- "url": "https://github.com/schmittjoh/php-option.git",
- "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820"
+ "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
+ "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/80735db690fe4fc5c76dfa7f9b770634285fa820",
- "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
+ "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
"shasum": ""
},
"require": {
- "php": "^7.2.5 || ^8.0"
- },
- "require-dev": {
- "bamarni/composer-bin-plugin": "^1.8.2",
- "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2"
+ "php": "^7.2 || ^8.0"
},
"type": "library",
"extra": {
- "bamarni-bin": {
- "bin-links": true,
- "forward-command": true
- },
"branch-alias": {
- "dev-master": "1.9-dev"
+ "dev-2.x": "2.x-dev"
}
},
"autoload": {
"psr-4": {
- "PhpOption\\": "src/PhpOption/"
+ "phpDocumentor\\Reflection\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "Apache-2.0"
+ "MIT"
],
"authors": [
{
- "name": "Johannes M. Schmitt",
- "email": "schmittjoh@gmail.com",
- "homepage": "https://github.com/schmittjoh"
- },
- {
- "name": "Graham Campbell",
- "email": "hello@gjcampbell.co.uk",
- "homepage": "https://github.com/GrahamCampbell"
+ "name": "Jaap van Otterdijk",
+ "email": "opensource@ijaap.nl"
}
],
- "description": "Option Type for PHP",
+ "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
+ "homepage": "http://www.phpdoc.org",
"keywords": [
- "language",
- "option",
- "php",
- "type"
+ "FQSEN",
+ "phpDocumentor",
+ "phpdoc",
+ "reflection",
+ "static analysis"
],
"support": {
- "issues": "https://github.com/schmittjoh/php-option/issues",
- "source": "https://github.com/schmittjoh/php-option/tree/1.9.2"
+ "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
+ "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
},
- "funding": [
- {
- "url": "https://github.com/GrahamCampbell",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption",
- "type": "tidelift"
- }
- ],
- "time": "2023-11-12T21:59:55+00:00"
+ "time": "2020-06-27T09:03:43+00:00"
},
{
- "name": "pimple/pimple",
- "version": "v3.5.0",
+ "name": "phpdocumentor/type-resolver",
+ "version": "1.8.2",
"source": {
"type": "git",
- "url": "https://github.com/silexphp/Pimple.git",
- "reference": "a94b3a4db7fb774b3d78dad2315ddc07629e1bed"
+ "url": "https://github.com/phpDocumentor/TypeResolver.git",
+ "reference": "153ae662783729388a584b4361f2545e4d841e3c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/silexphp/Pimple/zipball/a94b3a4db7fb774b3d78dad2315ddc07629e1bed",
- "reference": "a94b3a4db7fb774b3d78dad2315ddc07629e1bed",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/153ae662783729388a584b4361f2545e4d841e3c",
+ "reference": "153ae662783729388a584b4361f2545e4d841e3c",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "psr/container": "^1.1 || ^2.0"
+ "doctrine/deprecations": "^1.0",
+ "php": "^7.3 || ^8.0",
+ "phpdocumentor/reflection-common": "^2.0",
+ "phpstan/phpdoc-parser": "^1.13"
},
"require-dev": {
- "symfony/phpunit-bridge": "^5.4@dev"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.4.x-dev"
- }
- },
+ "ext-tokenizer": "*",
+ "phpbench/phpbench": "^1.2",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan": "^1.8",
+ "phpstan/phpstan-phpunit": "^1.1",
+ "phpunit/phpunit": "^9.5",
+ "rector/rector": "^0.13.9",
+ "vimeo/psalm": "^4.25"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-1.x": "1.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"
+ }
+ ],
+ "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"
+ },
+ "time": "2024-02-23T11:10:43+00:00"
+ },
+ {
+ "name": "phpoption/phpoption",
+ "version": "1.9.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/schmittjoh/php-option.git",
+ "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/80735db690fe4fc5c76dfa7f9b770634285fa820",
+ "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2.5 || ^8.0"
+ },
+ "require-dev": {
+ "bamarni/composer-bin-plugin": "^1.8.2",
+ "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2"
+ },
+ "type": "library",
+ "extra": {
+ "bamarni-bin": {
+ "bin-links": true,
+ "forward-command": true
+ },
+ "branch-alias": {
+ "dev-master": "1.9-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "PhpOption\\": "src/PhpOption/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "Apache-2.0"
+ ],
+ "authors": [
+ {
+ "name": "Johannes M. Schmitt",
+ "email": "schmittjoh@gmail.com",
+ "homepage": "https://github.com/schmittjoh"
+ },
+ {
+ "name": "Graham Campbell",
+ "email": "hello@gjcampbell.co.uk",
+ "homepage": "https://github.com/GrahamCampbell"
+ }
+ ],
+ "description": "Option Type for PHP",
+ "keywords": [
+ "language",
+ "option",
+ "php",
+ "type"
+ ],
+ "support": {
+ "issues": "https://github.com/schmittjoh/php-option/issues",
+ "source": "https://github.com/schmittjoh/php-option/tree/1.9.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/GrahamCampbell",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-11-12T21:59:55+00:00"
+ },
+ {
+ "name": "phpstan/phpdoc-parser",
+ "version": "1.28.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpstan/phpdoc-parser.git",
+ "reference": "cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb",
+ "reference": "cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "require-dev": {
+ "doctrine/annotations": "^2.0",
+ "nikic/php-parser": "^4.15",
+ "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",
+ "symfony/process": "^5.2"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "PHPStan\\PhpDocParser\\": [
+ "src/"
+ ]
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "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.28.0"
+ },
+ "time": "2024-04-03T18:51:33+00:00"
+ },
+ {
+ "name": "pimple/pimple",
+ "version": "v3.5.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/silexphp/Pimple.git",
+ "reference": "a94b3a4db7fb774b3d78dad2315ddc07629e1bed"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/silexphp/Pimple/zipball/a94b3a4db7fb774b3d78dad2315ddc07629e1bed",
+ "reference": "a94b3a4db7fb774b3d78dad2315ddc07629e1bed",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "psr/container": "^1.1 || ^2.0"
+ },
+ "require-dev": {
+ "symfony/phpunit-bridge": "^5.4@dev"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.4.x-dev"
+ }
+ },
"autoload": {
"psr-0": {
"Pimple": "src/"
@@ -3896,38 +4298,35 @@
"time": "2023-06-16T10:52:11+00:00"
},
{
- "name": "symfony/clock",
- "version": "v7.0.5",
+ "name": "spatie/laravel-package-tools",
+ "version": "1.16.4",
"source": {
"type": "git",
- "url": "https://github.com/symfony/clock.git",
- "reference": "8b9d08887353d627d5f6c3bf3373b398b49051c2"
+ "url": "https://github.com/spatie/laravel-package-tools.git",
+ "reference": "ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/clock/zipball/8b9d08887353d627d5f6c3bf3373b398b49051c2",
- "reference": "8b9d08887353d627d5f6c3bf3373b398b49051c2",
+ "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53",
+ "reference": "ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53",
"shasum": ""
},
"require": {
- "php": ">=8.2",
- "psr/clock": "^1.0",
- "symfony/polyfill-php83": "^1.28"
+ "illuminate/contracts": "^9.28|^10.0|^11.0",
+ "php": "^8.0"
},
- "provide": {
- "psr/clock-implementation": "1.0"
+ "require-dev": {
+ "mockery/mockery": "^1.5",
+ "orchestra/testbench": "^7.7|^8.0",
+ "pestphp/pest": "^1.22",
+ "phpunit/phpunit": "^9.5.24",
+ "spatie/pest-plugin-test-time": "^1.1"
},
"type": "library",
"autoload": {
- "files": [
- "Resources/now.php"
- ],
"psr-4": {
- "Symfony\\Component\\Clock\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Spatie\\LaravelPackageTools\\": "src"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -3935,69 +4334,280 @@
],
"authors": [
{
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
+ "name": "Freek Van der Herten",
+ "email": "freek@spatie.be",
+ "role": "Developer"
}
],
- "description": "Decouples applications from the system clock",
- "homepage": "https://symfony.com",
+ "description": "Tools for creating Laravel packages",
+ "homepage": "https://github.com/spatie/laravel-package-tools",
"keywords": [
- "clock",
- "psr20",
- "time"
+ "laravel-package-tools",
+ "spatie"
],
"support": {
- "source": "https://github.com/symfony/clock/tree/v7.0.5"
+ "issues": "https://github.com/spatie/laravel-package-tools/issues",
+ "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.4"
},
"funding": [
{
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
+ "url": "https://github.com/spatie",
"type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
}
],
- "time": "2024-03-02T12:46:12+00:00"
+ "time": "2024-03-20T07:29:11+00:00"
},
{
- "name": "symfony/console",
- "version": "v7.0.6",
+ "name": "spatie/laravel-settings",
+ "version": "3.3.2",
"source": {
"type": "git",
- "url": "https://github.com/symfony/console.git",
- "reference": "fde915cd8e7eb99b3d531d3d5c09531429c3f9e5"
+ "url": "https://github.com/spatie/laravel-settings.git",
+ "reference": "395066797823856638a0a2feb243b396a94e22e5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/fde915cd8e7eb99b3d531d3d5c09531429c3f9e5",
- "reference": "fde915cd8e7eb99b3d531d3d5c09531429c3f9e5",
+ "url": "https://api.github.com/repos/spatie/laravel-settings/zipball/395066797823856638a0a2feb243b396a94e22e5",
+ "reference": "395066797823856638a0a2feb243b396a94e22e5",
"shasum": ""
},
"require": {
- "php": ">=8.2",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/service-contracts": "^2.5|^3",
- "symfony/string": "^6.4|^7.0"
- },
- "conflict": {
- "symfony/dependency-injection": "<6.4",
- "symfony/dotenv": "<6.4",
- "symfony/event-dispatcher": "<6.4",
- "symfony/lock": "<6.4",
- "symfony/process": "<6.4"
+ "ext-json": "*",
+ "illuminate/database": "^8.73|^9.0|^10.0|^11.0",
+ "php": "^7.4|^8.0",
+ "phpdocumentor/type-resolver": "^1.5",
+ "spatie/temporary-directory": "^1.3|^2.0"
},
- "provide": {
- "psr/log-implementation": "1.0|2.0|3.0"
+ "require-dev": {
+ "ext-redis": "*",
+ "larastan/larastan": "^2.0",
+ "mockery/mockery": "^1.4",
+ "orchestra/testbench": "^6.23|^7.0|^8.0|^9.0",
+ "pestphp/pest": "^1.21|^2.0",
+ "pestphp/pest-plugin-laravel": "^1.2|^2.0",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan-deprecation-rules": "^1.0",
+ "phpstan/phpstan-phpunit": "^1.0",
+ "phpunit/phpunit": "^9.5|^10.0",
+ "spatie/laravel-data": "^1.0.0|^2.0.0|^4.0.0",
+ "spatie/pest-plugin-snapshots": "^1.1|^2.0",
+ "spatie/phpunit-snapshot-assertions": "^4.2|^5.0",
+ "spatie/ray": "^1.36"
+ },
+ "suggest": {
+ "spatie/data-transfer-object": "Allows for DTO casting to settings. (deprecated)"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Spatie\\LaravelSettings\\LaravelSettingsServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Spatie\\LaravelSettings\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Ruben Van Assche",
+ "email": "ruben@spatie.be",
+ "homepage": "https://spatie.be",
+ "role": "Developer"
+ }
+ ],
+ "description": "Store your application settings",
+ "homepage": "https://github.com/spatie/laravel-settings",
+ "keywords": [
+ "laravel-settings",
+ "spatie"
+ ],
+ "support": {
+ "issues": "https://github.com/spatie/laravel-settings/issues",
+ "source": "https://github.com/spatie/laravel-settings/tree/3.3.2"
+ },
+ "funding": [
+ {
+ "url": "https://spatie.be/open-source/support-us",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/spatie",
+ "type": "github"
+ }
+ ],
+ "time": "2024-03-22T07:50:04+00:00"
+ },
+ {
+ "name": "spatie/temporary-directory",
+ "version": "2.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/spatie/temporary-directory.git",
+ "reference": "76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a",
+ "reference": "76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^8.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.5"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Spatie\\TemporaryDirectory\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Alex Vanderbist",
+ "email": "alex@spatie.be",
+ "homepage": "https://spatie.be",
+ "role": "Developer"
+ }
+ ],
+ "description": "Easily create, use and destroy temporary directories",
+ "homepage": "https://github.com/spatie/temporary-directory",
+ "keywords": [
+ "php",
+ "spatie",
+ "temporary-directory"
+ ],
+ "support": {
+ "issues": "https://github.com/spatie/temporary-directory/issues",
+ "source": "https://github.com/spatie/temporary-directory/tree/2.2.1"
+ },
+ "funding": [
+ {
+ "url": "https://spatie.be/open-source/support-us",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/spatie",
+ "type": "github"
+ }
+ ],
+ "time": "2023-12-25T11:46:58+00:00"
+ },
+ {
+ "name": "symfony/clock",
+ "version": "v7.0.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/clock.git",
+ "reference": "8b9d08887353d627d5f6c3bf3373b398b49051c2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/clock/zipball/8b9d08887353d627d5f6c3bf3373b398b49051c2",
+ "reference": "8b9d08887353d627d5f6c3bf3373b398b49051c2",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "psr/clock": "^1.0",
+ "symfony/polyfill-php83": "^1.28"
+ },
+ "provide": {
+ "psr/clock-implementation": "1.0"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "Resources/now.php"
+ ],
+ "psr-4": {
+ "Symfony\\Component\\Clock\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "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": "Decouples applications from the system clock",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "clock",
+ "psr20",
+ "time"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/clock/tree/v7.0.5"
+ },
+ "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-03-02T12:46:12+00:00"
+ },
+ {
+ "name": "symfony/console",
+ "version": "v7.0.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/console.git",
+ "reference": "fde915cd8e7eb99b3d531d3d5c09531429c3f9e5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/console/zipball/fde915cd8e7eb99b3d531d3d5c09531429c3f9e5",
+ "reference": "fde915cd8e7eb99b3d531d3d5c09531429c3f9e5",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/service-contracts": "^2.5|^3",
+ "symfony/string": "^6.4|^7.0"
+ },
+ "conflict": {
+ "symfony/dependency-injection": "<6.4",
+ "symfony/dotenv": "<6.4",
+ "symfony/event-dispatcher": "<6.4",
+ "symfony/lock": "<6.4",
+ "symfony/process": "<6.4"
+ },
+ "provide": {
+ "psr/log-implementation": "1.0|2.0|3.0"
},
"require-dev": {
"psr/log": "^1|^2|^3",
@@ -6751,57 +7361,59 @@
],
"packages-dev": [
{
- "name": "brianium/paratest",
- "version": "v7.4.3",
+ "name": "barryvdh/laravel-ide-helper",
+ "version": "v3.0.0",
"source": {
"type": "git",
- "url": "https://github.com/paratestphp/paratest.git",
- "reference": "64fcfd0e28a6b8078a19dbf9127be2ee645b92ec"
+ "url": "https://github.com/barryvdh/laravel-ide-helper.git",
+ "reference": "bc1d67f01ce8c77e3f97d48ba51fa1d81874f622"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/paratestphp/paratest/zipball/64fcfd0e28a6b8078a19dbf9127be2ee645b92ec",
- "reference": "64fcfd0e28a6b8078a19dbf9127be2ee645b92ec",
+ "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/bc1d67f01ce8c77e3f97d48ba51fa1d81874f622",
+ "reference": "bc1d67f01ce8c77e3f97d48ba51fa1d81874f622",
"shasum": ""
},
"require": {
- "ext-dom": "*",
- "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"
+ "barryvdh/reflection-docblock": "^2.1.1",
+ "composer/class-map-generator": "^1.0",
+ "ext-json": "*",
+ "illuminate/console": "^10 || ^11",
+ "illuminate/database": "^10.38 || ^11",
+ "illuminate/filesystem": "^10 || ^11",
+ "illuminate/support": "^10 || ^11",
+ "nikic/php-parser": "^4.18 || ^5",
+ "php": "^8.1",
+ "phpdocumentor/type-resolver": "^1.1.0"
},
"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"
+ "ext-pdo_sqlite": "*",
+ "friendsofphp/php-cs-fixer": "^3",
+ "illuminate/config": "^9 || ^10 || ^11",
+ "illuminate/view": "^9 || ^10 || ^11",
+ "mockery/mockery": "^1.4",
+ "orchestra/testbench": "^8 || ^9",
+ "phpunit/phpunit": "^10.5",
+ "spatie/phpunit-snapshot-assertions": "^4 || ^5",
+ "vimeo/psalm": "^5.4"
+ },
+ "suggest": {
+ "illuminate/events": "Required for automatic helper generation (^6|^7|^8|^9|^10|^11)."
},
- "bin": [
- "bin/paratest",
- "bin/paratest.bat",
- "bin/paratest_for_phpstorm"
- ],
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ },
+ "laravel": {
+ "providers": [
+ "Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider"
+ ]
+ }
+ },
"autoload": {
"psr-4": {
- "ParaTest\\": [
- "src/"
- ]
+ "Barryvdh\\LaravelIdeHelper\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -6810,127 +7422,142 @@
],
"authors": [
{
- "name": "Brian Scaturro",
- "email": "scaturrob@gmail.com",
- "role": "Developer"
- },
- {
- "name": "Filippo Tessarotto",
- "email": "zoeslam@gmail.com",
- "role": "Developer"
+ "name": "Barry vd. Heuvel",
+ "email": "barryvdh@gmail.com"
}
],
- "description": "Parallel testing for PHP",
- "homepage": "https://github.com/paratestphp/paratest",
+ "description": "Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.",
"keywords": [
- "concurrent",
- "parallel",
- "phpunit",
- "testing"
+ "autocomplete",
+ "codeintel",
+ "helper",
+ "ide",
+ "laravel",
+ "netbeans",
+ "phpdoc",
+ "phpstorm",
+ "sublime"
],
"support": {
- "issues": "https://github.com/paratestphp/paratest/issues",
- "source": "https://github.com/paratestphp/paratest/tree/v7.4.3"
+ "issues": "https://github.com/barryvdh/laravel-ide-helper/issues",
+ "source": "https://github.com/barryvdh/laravel-ide-helper/tree/v3.0.0"
},
"funding": [
{
- "url": "https://github.com/sponsors/Slamdunk",
- "type": "github"
+ "url": "https://fruitcake.nl",
+ "type": "custom"
},
{
- "url": "https://paypal.me/filippotessarotto",
- "type": "paypal"
+ "url": "https://github.com/barryvdh",
+ "type": "github"
}
],
- "time": "2024-02-20T07:24:02+00:00"
+ "time": "2024-03-01T12:53:18+00:00"
},
{
- "name": "doctrine/deprecations",
- "version": "1.1.3",
+ "name": "barryvdh/reflection-docblock",
+ "version": "v2.1.1",
"source": {
"type": "git",
- "url": "https://github.com/doctrine/deprecations.git",
- "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab"
+ "url": "https://github.com/barryvdh/ReflectionDocBlock.git",
+ "reference": "e6811e927f0ecc37cc4deaa6627033150343e597"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab",
- "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab",
+ "url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/e6811e927f0ecc37cc4deaa6627033150343e597",
+ "reference": "e6811e927f0ecc37cc4deaa6627033150343e597",
"shasum": ""
},
"require": {
- "php": "^7.1 || ^8.0"
+ "php": ">=5.3.3"
},
"require-dev": {
- "doctrine/coding-standard": "^9",
- "phpstan/phpstan": "1.4.10 || 1.10.15",
- "phpstan/phpstan-phpunit": "^1.0",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
- "psalm/plugin-phpunit": "0.18.4",
- "psr/log": "^1 || ^2 || ^3",
- "vimeo/psalm": "4.30.0 || 5.12.0"
+ "phpunit/phpunit": "^8.5.14|^9"
},
"suggest": {
- "psr/log": "Allows logging deprecations via PSR-3 logger implementation"
+ "dflydev/markdown": "~1.0",
+ "erusev/parsedown": "~1.0"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
"autoload": {
- "psr-4": {
- "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations"
+ "psr-0": {
+ "Barryvdh": [
+ "src/"
+ ]
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.",
- "homepage": "https://www.doctrine-project.org/",
+ "authors": [
+ {
+ "name": "Mike van Riel",
+ "email": "mike.vanriel@naenius.com"
+ }
+ ],
"support": {
- "issues": "https://github.com/doctrine/deprecations/issues",
- "source": "https://github.com/doctrine/deprecations/tree/1.1.3"
+ "source": "https://github.com/barryvdh/ReflectionDocBlock/tree/v2.1.1"
},
- "time": "2024-01-30T19:34:25+00:00"
+ "time": "2023-06-14T05:06:27+00:00"
},
{
- "name": "fakerphp/faker",
- "version": "v1.23.1",
+ "name": "brianium/paratest",
+ "version": "v7.4.3",
"source": {
"type": "git",
- "url": "https://github.com/FakerPHP/Faker.git",
- "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b"
+ "url": "https://github.com/paratestphp/paratest.git",
+ "reference": "64fcfd0e28a6b8078a19dbf9127be2ee645b92ec"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/bfb4fe148adbf78eff521199619b93a52ae3554b",
- "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b",
+ "url": "https://api.github.com/repos/paratestphp/paratest/zipball/64fcfd0e28a6b8078a19dbf9127be2ee645b92ec",
+ "reference": "64fcfd0e28a6b8078a19dbf9127be2ee645b92ec",
"shasum": ""
},
"require": {
- "php": "^7.4 || ^8.0",
- "psr/container": "^1.0 || ^2.0",
- "symfony/deprecation-contracts": "^2.2 || ^3.0"
- },
- "conflict": {
- "fzaninotto/faker": "*"
+ "ext-dom": "*",
+ "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"
},
"require-dev": {
- "bamarni/composer-bin-plugin": "^1.4.1",
- "doctrine/persistence": "^1.3 || ^2.0",
- "ext-intl": "*",
- "phpunit/phpunit": "^9.5.26",
- "symfony/phpunit-bridge": "^5.4.16"
- },
- "suggest": {
- "doctrine/orm": "Required to use Faker\\ORM\\Doctrine",
- "ext-curl": "Required by Faker\\Provider\\Image to download images.",
- "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.",
- "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.",
- "ext-mbstring": "Required for multibyte Unicode string functionality."
+ "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"
},
+ "bin": [
+ "bin/paratest",
+ "bin/paratest.bat",
+ "bin/paratest_for_phpstorm"
+ ],
"type": "library",
"autoload": {
"psr-4": {
- "Faker\\": "src/Faker/"
+ "ParaTest\\": [
+ "src/"
+ ]
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -6939,53 +7566,76 @@
],
"authors": [
{
- "name": "François Zaninotto"
+ "name": "Brian Scaturro",
+ "email": "scaturrob@gmail.com",
+ "role": "Developer"
+ },
+ {
+ "name": "Filippo Tessarotto",
+ "email": "zoeslam@gmail.com",
+ "role": "Developer"
}
],
- "description": "Faker is a PHP library that generates fake data for you.",
+ "description": "Parallel testing for PHP",
+ "homepage": "https://github.com/paratestphp/paratest",
"keywords": [
- "data",
- "faker",
- "fixtures"
+ "concurrent",
+ "parallel",
+ "phpunit",
+ "testing"
],
"support": {
- "issues": "https://github.com/FakerPHP/Faker/issues",
- "source": "https://github.com/FakerPHP/Faker/tree/v1.23.1"
+ "issues": "https://github.com/paratestphp/paratest/issues",
+ "source": "https://github.com/paratestphp/paratest/tree/v7.4.3"
},
- "time": "2024-01-02T13:46:09+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/sponsors/Slamdunk",
+ "type": "github"
+ },
+ {
+ "url": "https://paypal.me/filippotessarotto",
+ "type": "paypal"
+ }
+ ],
+ "time": "2024-02-20T07:24:02+00:00"
},
{
- "name": "fidry/cpu-core-counter",
- "version": "1.1.0",
+ "name": "composer/class-map-generator",
+ "version": "1.1.1",
"source": {
"type": "git",
- "url": "https://github.com/theofidry/cpu-core-counter.git",
- "reference": "f92996c4d5c1a696a6a970e20f7c4216200fcc42"
+ "url": "https://github.com/composer/class-map-generator.git",
+ "reference": "8286a62d243312ed99b3eee20d5005c961adb311"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/f92996c4d5c1a696a6a970e20f7c4216200fcc42",
- "reference": "f92996c4d5c1a696a6a970e20f7c4216200fcc42",
+ "url": "https://api.github.com/repos/composer/class-map-generator/zipball/8286a62d243312ed99b3eee20d5005c961adb311",
+ "reference": "8286a62d243312ed99b3eee20d5005c961adb311",
"shasum": ""
},
"require": {
- "php": "^7.2 || ^8.0"
+ "composer/pcre": "^2.1 || ^3.1",
+ "php": "^7.2 || ^8.0",
+ "symfony/finder": "^4.4 || ^5.3 || ^6 || ^7"
},
"require-dev": {
- "fidry/makefile": "^0.2.0",
- "fidry/php-cs-fixer-config": "^1.1.2",
- "phpstan/extension-installer": "^1.2.0",
- "phpstan/phpstan": "^1.9.2",
- "phpstan/phpstan-deprecation-rules": "^1.0.0",
- "phpstan/phpstan-phpunit": "^1.2.2",
- "phpstan/phpstan-strict-rules": "^1.4.4",
- "phpunit/phpunit": "^8.5.31 || ^9.5.26",
- "webmozarts/strict-phpunit": "^7.5"
+ "phpstan/phpstan": "^1.6",
+ "phpstan/phpstan-deprecation-rules": "^1",
+ "phpstan/phpstan-phpunit": "^1",
+ "phpstan/phpstan-strict-rules": "^1.1",
+ "symfony/filesystem": "^5.4 || ^6",
+ "symfony/phpunit-bridge": "^5"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.x-dev"
+ }
+ },
"autoload": {
"psr-4": {
- "Fidry\\CpuCoreCounter\\": "src/"
+ "Composer\\ClassMapGenerator\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -6994,63 +7644,66 @@
],
"authors": [
{
- "name": "Théo FIDRY",
- "email": "theo.fidry@gmail.com"
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be",
+ "homepage": "https://seld.be"
}
],
- "description": "Tiny utility to get the number of CPU cores.",
+ "description": "Utilities to scan PHP code and generate class maps.",
"keywords": [
- "CPU",
- "core"
+ "classmap"
],
"support": {
- "issues": "https://github.com/theofidry/cpu-core-counter/issues",
- "source": "https://github.com/theofidry/cpu-core-counter/tree/1.1.0"
+ "issues": "https://github.com/composer/class-map-generator/issues",
+ "source": "https://github.com/composer/class-map-generator/tree/1.1.1"
},
"funding": [
{
- "url": "https://github.com/theofidry",
+ "url": "https://packagist.com",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/composer",
"type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/composer/composer",
+ "type": "tidelift"
}
],
- "time": "2024-02-07T09:43:46+00:00"
+ "time": "2024-03-15T12:53:41+00:00"
},
{
- "name": "filp/whoops",
- "version": "2.15.4",
+ "name": "composer/pcre",
+ "version": "3.1.3",
"source": {
"type": "git",
- "url": "https://github.com/filp/whoops.git",
- "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546"
+ "url": "https://github.com/composer/pcre.git",
+ "reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/filp/whoops/zipball/a139776fa3f5985a50b509f2a02ff0f709d2a546",
- "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546",
+ "url": "https://api.github.com/repos/composer/pcre/zipball/5b16e25a5355f1f3afdfc2f954a0a80aec4826a8",
+ "reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8",
"shasum": ""
},
"require": {
- "php": "^5.5.9 || ^7.0 || ^8.0",
- "psr/log": "^1.0.1 || ^2.0 || ^3.0"
+ "php": "^7.4 || ^8.0"
},
"require-dev": {
- "mockery/mockery": "^0.9 || ^1.0",
- "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3",
- "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0"
- },
- "suggest": {
- "symfony/var-dumper": "Pretty print complex values better with var-dumper available",
- "whoops/soap": "Formats errors as SOAP responses"
+ "phpstan/phpstan": "^1.3",
+ "phpstan/phpstan-strict-rules": "^1.1",
+ "symfony/phpunit-bridge": "^5"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.7-dev"
+ "dev-main": "3.x-dev"
}
},
"autoload": {
"psr-4": {
- "Whoops\\": "src/Whoops/"
+ "Composer\\Pcre\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -7059,118 +7712,901 @@
],
"authors": [
{
- "name": "Filipe Dobreira",
- "homepage": "https://github.com/filp",
- "role": "Developer"
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be",
+ "homepage": "http://seld.be"
}
],
- "description": "php error handling for cool kids",
- "homepage": "https://filp.github.io/whoops/",
+ "description": "PCRE wrapping library that offers type-safe preg_* replacements.",
"keywords": [
- "error",
- "exception",
- "handling",
- "library",
- "throwable",
- "whoops"
+ "PCRE",
+ "preg",
+ "regex",
+ "regular expression"
],
"support": {
- "issues": "https://github.com/filp/whoops/issues",
- "source": "https://github.com/filp/whoops/tree/2.15.4"
+ "issues": "https://github.com/composer/pcre/issues",
+ "source": "https://github.com/composer/pcre/tree/3.1.3"
},
"funding": [
{
- "url": "https://github.com/denis-sokolov",
+ "url": "https://packagist.com",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/composer",
"type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/composer/composer",
+ "type": "tidelift"
}
],
- "time": "2023-11-03T12:00:00+00:00"
+ "time": "2024-03-19T10:26:25+00:00"
},
{
- "name": "hamcrest/hamcrest-php",
- "version": "v2.0.1",
+ "name": "composer/semver",
+ "version": "3.4.0",
"source": {
"type": "git",
- "url": "https://github.com/hamcrest/hamcrest-php.git",
- "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3"
+ "url": "https://github.com/composer/semver.git",
+ "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3",
- "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3",
+ "url": "https://api.github.com/repos/composer/semver/zipball/35e8d0af4486141bc745f23a29cc2091eb624a32",
+ "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32",
"shasum": ""
},
"require": {
- "php": "^5.3|^7.0|^8.0"
- },
- "replace": {
- "cordoval/hamcrest-php": "*",
- "davedevelopment/hamcrest-php": "*",
- "kodova/hamcrest-php": "*"
+ "php": "^5.3.2 || ^7.0 || ^8.0"
},
"require-dev": {
- "phpunit/php-file-iterator": "^1.4 || ^2.0",
- "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0"
+ "phpstan/phpstan": "^1.4",
+ "symfony/phpunit-bridge": "^4.2 || ^5"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.1-dev"
+ "dev-main": "3.x-dev"
}
},
"autoload": {
- "classmap": [
- "hamcrest"
- ]
+ "psr-4": {
+ "Composer\\Semver\\": "src"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
- "description": "This is the PHP port of Hamcrest Matchers",
+ "authors": [
+ {
+ "name": "Nils Adermann",
+ "email": "naderman@naderman.de",
+ "homepage": "http://www.naderman.de"
+ },
+ {
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be",
+ "homepage": "http://seld.be"
+ },
+ {
+ "name": "Rob Bast",
+ "email": "rob.bast@gmail.com",
+ "homepage": "http://robbast.nl"
+ }
+ ],
+ "description": "Semver library that offers utilities, version constraint parsing and validation.",
+ "keywords": [
+ "semantic",
+ "semver",
+ "validation",
+ "versioning"
+ ],
+ "support": {
+ "irc": "ircs://irc.libera.chat:6697/composer",
+ "issues": "https://github.com/composer/semver/issues",
+ "source": "https://github.com/composer/semver/tree/3.4.0"
+ },
+ "funding": [
+ {
+ "url": "https://packagist.com",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/composer",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/composer/composer",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-08-31T09:50:34+00:00"
+ },
+ {
+ "name": "composer/xdebug-handler",
+ "version": "3.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/composer/xdebug-handler.git",
+ "reference": "4f988f8fdf580d53bdb2d1278fe93d1ed5462255"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/4f988f8fdf580d53bdb2d1278fe93d1ed5462255",
+ "reference": "4f988f8fdf580d53bdb2d1278fe93d1ed5462255",
+ "shasum": ""
+ },
+ "require": {
+ "composer/pcre": "^1 || ^2 || ^3",
+ "php": "^7.2.5 || ^8.0",
+ "psr/log": "^1 || ^2 || ^3"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^1.0",
+ "phpstan/phpstan-strict-rules": "^1.1",
+ "phpunit/phpunit": "^8.5 || ^9.6 || ^10.5"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Composer\\XdebugHandler\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "John Stevenson",
+ "email": "john-stevenson@blueyonder.co.uk"
+ }
+ ],
+ "description": "Restarts a process without Xdebug.",
+ "keywords": [
+ "Xdebug",
+ "performance"
+ ],
+ "support": {
+ "irc": "ircs://irc.libera.chat:6697/composer",
+ "issues": "https://github.com/composer/xdebug-handler/issues",
+ "source": "https://github.com/composer/xdebug-handler/tree/3.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://packagist.com",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/composer",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/composer/composer",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-03-26T18:29:49+00:00"
+ },
+ {
+ "name": "fakerphp/faker",
+ "version": "v1.23.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/FakerPHP/Faker.git",
+ "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/bfb4fe148adbf78eff521199619b93a52ae3554b",
+ "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.4 || ^8.0",
+ "psr/container": "^1.0 || ^2.0",
+ "symfony/deprecation-contracts": "^2.2 || ^3.0"
+ },
+ "conflict": {
+ "fzaninotto/faker": "*"
+ },
+ "require-dev": {
+ "bamarni/composer-bin-plugin": "^1.4.1",
+ "doctrine/persistence": "^1.3 || ^2.0",
+ "ext-intl": "*",
+ "phpunit/phpunit": "^9.5.26",
+ "symfony/phpunit-bridge": "^5.4.16"
+ },
+ "suggest": {
+ "doctrine/orm": "Required to use Faker\\ORM\\Doctrine",
+ "ext-curl": "Required by Faker\\Provider\\Image to download images.",
+ "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.",
+ "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.",
+ "ext-mbstring": "Required for multibyte Unicode string functionality."
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Faker\\": "src/Faker/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "François Zaninotto"
+ }
+ ],
+ "description": "Faker is a PHP library that generates fake data for you.",
+ "keywords": [
+ "data",
+ "faker",
+ "fixtures"
+ ],
+ "support": {
+ "issues": "https://github.com/FakerPHP/Faker/issues",
+ "source": "https://github.com/FakerPHP/Faker/tree/v1.23.1"
+ },
+ "time": "2024-01-02T13:46:09+00:00"
+ },
+ {
+ "name": "fidry/cpu-core-counter",
+ "version": "1.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/theofidry/cpu-core-counter.git",
+ "reference": "f92996c4d5c1a696a6a970e20f7c4216200fcc42"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/f92996c4d5c1a696a6a970e20f7c4216200fcc42",
+ "reference": "f92996c4d5c1a696a6a970e20f7c4216200fcc42",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "require-dev": {
+ "fidry/makefile": "^0.2.0",
+ "fidry/php-cs-fixer-config": "^1.1.2",
+ "phpstan/extension-installer": "^1.2.0",
+ "phpstan/phpstan": "^1.9.2",
+ "phpstan/phpstan-deprecation-rules": "^1.0.0",
+ "phpstan/phpstan-phpunit": "^1.2.2",
+ "phpstan/phpstan-strict-rules": "^1.4.4",
+ "phpunit/phpunit": "^8.5.31 || ^9.5.26",
+ "webmozarts/strict-phpunit": "^7.5"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Fidry\\CpuCoreCounter\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Théo FIDRY",
+ "email": "theo.fidry@gmail.com"
+ }
+ ],
+ "description": "Tiny utility to get the number of CPU cores.",
+ "keywords": [
+ "CPU",
+ "core"
+ ],
+ "support": {
+ "issues": "https://github.com/theofidry/cpu-core-counter/issues",
+ "source": "https://github.com/theofidry/cpu-core-counter/tree/1.1.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/theofidry",
+ "type": "github"
+ }
+ ],
+ "time": "2024-02-07T09:43:46+00:00"
+ },
+ {
+ "name": "filp/whoops",
+ "version": "2.15.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/filp/whoops.git",
+ "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/filp/whoops/zipball/a139776fa3f5985a50b509f2a02ff0f709d2a546",
+ "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.5.9 || ^7.0 || ^8.0",
+ "psr/log": "^1.0.1 || ^2.0 || ^3.0"
+ },
+ "require-dev": {
+ "mockery/mockery": "^0.9 || ^1.0",
+ "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3",
+ "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0"
+ },
+ "suggest": {
+ "symfony/var-dumper": "Pretty print complex values better with var-dumper available",
+ "whoops/soap": "Formats errors as SOAP responses"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.7-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Whoops\\": "src/Whoops/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Filipe Dobreira",
+ "homepage": "https://github.com/filp",
+ "role": "Developer"
+ }
+ ],
+ "description": "php error handling for cool kids",
+ "homepage": "https://filp.github.io/whoops/",
+ "keywords": [
+ "error",
+ "exception",
+ "handling",
+ "library",
+ "throwable",
+ "whoops"
+ ],
+ "support": {
+ "issues": "https://github.com/filp/whoops/issues",
+ "source": "https://github.com/filp/whoops/tree/2.15.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/denis-sokolov",
+ "type": "github"
+ }
+ ],
+ "time": "2023-11-03T12:00:00+00:00"
+ },
+ {
+ "name": "friendsofphp/php-cs-fixer",
+ "version": "v3.54.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
+ "reference": "2aecbc8640d7906c38777b3dcab6f4ca79004d08"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/2aecbc8640d7906c38777b3dcab6f4ca79004d08",
+ "reference": "2aecbc8640d7906c38777b3dcab6f4ca79004d08",
+ "shasum": ""
+ },
+ "require": {
+ "composer/semver": "^3.4",
+ "composer/xdebug-handler": "^3.0.3",
+ "ext-filter": "*",
+ "ext-json": "*",
+ "ext-tokenizer": "*",
+ "php": "^7.4 || ^8.0",
+ "sebastian/diff": "^4.0 || ^5.0 || ^6.0",
+ "symfony/console": "^5.4 || ^6.0 || ^7.0",
+ "symfony/event-dispatcher": "^5.4 || ^6.0 || ^7.0",
+ "symfony/filesystem": "^5.4 || ^6.0 || ^7.0",
+ "symfony/finder": "^5.4 || ^6.0 || ^7.0",
+ "symfony/options-resolver": "^5.4 || ^6.0 || ^7.0",
+ "symfony/polyfill-mbstring": "^1.28",
+ "symfony/polyfill-php80": "^1.28",
+ "symfony/polyfill-php81": "^1.28",
+ "symfony/process": "^5.4 || ^6.0 || ^7.0",
+ "symfony/stopwatch": "^5.4 || ^6.0 || ^7.0"
+ },
+ "require-dev": {
+ "facile-it/paraunit": "^1.3 || ^2.0",
+ "infection/infection": "^0.27.11",
+ "justinrainbow/json-schema": "^5.2",
+ "keradus/cli-executor": "^2.1",
+ "mikey179/vfsstream": "^1.6.11",
+ "php-coveralls/php-coveralls": "^2.7",
+ "php-cs-fixer/accessible-object": "^1.1",
+ "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.4",
+ "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.4",
+ "phpunit/phpunit": "^9.6 || ^10.5.5 || ^11.0.2",
+ "symfony/var-dumper": "^5.4 || ^6.0 || ^7.0",
+ "symfony/yaml": "^5.4 || ^6.0 || ^7.0"
+ },
+ "suggest": {
+ "ext-dom": "For handling output formats in XML",
+ "ext-mbstring": "For handling non-UTF8 characters."
+ },
+ "bin": [
+ "php-cs-fixer"
+ ],
+ "type": "application",
+ "autoload": {
+ "psr-4": {
+ "PhpCsFixer\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Dariusz Rumiński",
+ "email": "dariusz.ruminski@gmail.com"
+ }
+ ],
+ "description": "A tool to automatically fix PHP code style",
+ "keywords": [
+ "Static code analysis",
+ "fixer",
+ "standards",
+ "static analysis"
+ ],
+ "support": {
+ "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues",
+ "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.54.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/keradus",
+ "type": "github"
+ }
+ ],
+ "time": "2024-04-17T08:12:13+00:00"
+ },
+ {
+ "name": "gedachtegoed/workspace",
+ "version": "v0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/media-code/workspace.git",
+ "reference": "079cb47e156929b97d37bc1cdfca5af3e403eb70"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/media-code/workspace/zipball/079cb47e156929b97d37bc1cdfca5af3e403eb70",
+ "reference": "079cb47e156929b97d37bc1cdfca5af3e403eb70",
+ "shasum": ""
+ },
+ "require": {
+ "gedachtegoed/workspace-core": "^0.1",
+ "illuminate/support": "^10.23|^11",
+ "php": "^8.1|^8.2"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "^3.53",
+ "larastan/larastan": "^2.9",
+ "laravel/pint": "^1.15",
+ "orchestra/testbench": "^9",
+ "pestphp/pest": "^2.34",
+ "squizlabs/php_codesniffer": "^3.7",
+ "symfony/thanks": "^1.3",
+ "tightenco/duster": "^2.7",
+ "tightenco/tlint": "^9.3",
+ "timacdonald/callable-fake": "^1.7"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Gedachtegoed\\Workspace\\ServiceProvider"
+ ]
+ },
+ "thanks": [
+ {
+ "name": "tightenco/duster",
+ "url": "https://github.com/tighten/duster"
+ },
+ {
+ "name": "laravel/prompts",
+ "url": "https://github.com/laravel/prompts"
+ },
+ {
+ "name": "timacdonald/callable-fake",
+ "url": "https://github.com/timacdonald/callable-fake"
+ },
+ {
+ "name": "gedachtegoed/workspace-core",
+ "url": "https://github.com/media-code/workspace-core"
+ }
+ ]
+ },
+ "autoload": {
+ "psr-4": {
+ "Gedachtegoed\\Workspace\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Willem Leuverink",
+ "email": "willem@leuver.ink",
+ "homepage": "https://leuver.ink"
+ }
+ ],
+ "description": "Opinionated wrapper around tighten/duster with default configs, Larastan & Prettier blade formatting integration & CI workflows. For internal use.",
+ "support": {
+ "issues": "https://github.com/media-code/workspace/issues",
+ "source": "https://github.com/media-code/workspace/tree/v0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sponsors/gwleuverink",
+ "type": "github"
+ }
+ ],
+ "time": "2024-04-12T13:38:37+00:00"
+ },
+ {
+ "name": "gedachtegoed/workspace-core",
+ "version": "v0.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/media-code/workspace-core.git",
+ "reference": "6c47eec2b71d44fd5ae357502df0e452c75f3967"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/media-code/workspace-core/zipball/6c47eec2b71d44fd5ae357502df0e452c75f3967",
+ "reference": "6c47eec2b71d44fd5ae357502df0e452c75f3967",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/support": "^10.23|^11",
+ "php": "^8.1|^8.2"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "^3.53",
+ "larastan/larastan": "^2.9",
+ "laravel/pint": "^1.15",
+ "orchestra/testbench": "^9",
+ "pestphp/pest": "^2.34",
+ "squizlabs/php_codesniffer": "^3.7",
+ "symfony/thanks": "^1.3",
+ "tightenco/duster": "^2.7",
+ "tightenco/tlint": "^9.3",
+ "timacdonald/callable-fake": "^1.7"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Gedachtegoed\\Workspace\\Core\\ServiceProvider"
+ ]
+ },
+ "thanks": [
+ {
+ "name": "tightenco/duster",
+ "url": "https://github.com/tighten/duster"
+ },
+ {
+ "name": "laravel/prompts",
+ "url": "https://github.com/laravel/prompts"
+ },
+ {
+ "name": "timacdonald/callable-fake",
+ "url": "https://github.com/timacdonald/callable-fake"
+ }
+ ]
+ },
+ "autoload": {
+ "psr-4": {
+ "Gedachtegoed\\Workspace\\Core\\": "src/",
+ "Gedachtegoed\\Workspace\\Core\\Tests\\": "tests/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Willem Leuverink",
+ "email": "willem@leuver.ink",
+ "homepage": "https://leuver.ink"
+ }
+ ],
+ "description": "Core for building your own Portable Workspace",
+ "support": {
+ "issues": "https://github.com/media-code/workspace-core/issues",
+ "source": "https://github.com/media-code/workspace-core/tree/v0.1.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sponsors/gwleuverink",
+ "type": "github"
+ }
+ ],
+ "time": "2024-04-12T13:27:51+00:00"
+ },
+ {
+ "name": "hamcrest/hamcrest-php",
+ "version": "v2.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/hamcrest/hamcrest-php.git",
+ "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3",
+ "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.3|^7.0|^8.0"
+ },
+ "replace": {
+ "cordoval/hamcrest-php": "*",
+ "davedevelopment/hamcrest-php": "*",
+ "kodova/hamcrest-php": "*"
+ },
+ "require-dev": {
+ "phpunit/php-file-iterator": "^1.4 || ^2.0",
+ "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.1-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "hamcrest"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "This is the PHP port of Hamcrest Matchers",
+ "keywords": [
+ "test"
+ ],
+ "support": {
+ "issues": "https://github.com/hamcrest/hamcrest-php/issues",
+ "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1"
+ },
+ "time": "2020-07-09T08:09:16+00:00"
+ },
+ {
+ "name": "jean85/pretty-package-versions",
+ "version": "2.0.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Jean85/pretty-package-versions.git",
+ "reference": "f9fdd29ad8e6d024f52678b570e5593759b550b4"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/f9fdd29ad8e6d024f52678b570e5593759b550b4",
+ "reference": "f9fdd29ad8e6d024f52678b570e5593759b550b4",
+ "shasum": ""
+ },
+ "require": {
+ "composer-runtime-api": "^2.0.0",
+ "php": "^7.1|^8.0"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "^3.2",
+ "jean85/composer-provided-replaced-stub-package": "^1.0",
+ "phpstan/phpstan": "^1.4",
+ "phpunit/phpunit": "^7.5|^8.5|^9.4",
+ "vimeo/psalm": "^4.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Jean85\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Alessandro Lai",
+ "email": "alessandro.lai85@gmail.com"
+ }
+ ],
+ "description": "A library to get pretty versions strings of installed dependencies",
+ "keywords": [
+ "composer",
+ "package",
+ "release",
+ "versions"
+ ],
+ "support": {
+ "issues": "https://github.com/Jean85/pretty-package-versions/issues",
+ "source": "https://github.com/Jean85/pretty-package-versions/tree/2.0.6"
+ },
+ "time": "2024-03-08T09:58:59+00:00"
+ },
+ {
+ "name": "larastan/larastan",
+ "version": "v2.9.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/larastan/larastan.git",
+ "reference": "101f1a4470f87326f4d3995411d28679d8800abe"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/larastan/larastan/zipball/101f1a4470f87326f4d3995411d28679d8800abe",
+ "reference": "101f1a4470f87326f4d3995411d28679d8800abe",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "illuminate/console": "^9.52.16 || ^10.28.0 || ^11.0",
+ "illuminate/container": "^9.52.16 || ^10.28.0 || ^11.0",
+ "illuminate/contracts": "^9.52.16 || ^10.28.0 || ^11.0",
+ "illuminate/database": "^9.52.16 || ^10.28.0 || ^11.0",
+ "illuminate/http": "^9.52.16 || ^10.28.0 || ^11.0",
+ "illuminate/pipeline": "^9.52.16 || ^10.28.0 || ^11.0",
+ "illuminate/support": "^9.52.16 || ^10.28.0 || ^11.0",
+ "php": "^8.0.2",
+ "phpmyadmin/sql-parser": "^5.9.0",
+ "phpstan/phpstan": "^1.10.66"
+ },
+ "require-dev": {
+ "doctrine/coding-standard": "^12.0",
+ "nikic/php-parser": "^4.19.1",
+ "orchestra/canvas": "^7.11.1 || ^8.11.0 || ^9.0.2",
+ "orchestra/testbench": "^7.33.0 || ^8.13.0 || ^9.0.3",
+ "phpunit/phpunit": "^9.6.13 || ^10.5.16"
+ },
+ "suggest": {
+ "orchestra/testbench": "Using Larastan for analysing a package needs Testbench"
+ },
+ "type": "phpstan-extension",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ },
+ "phpstan": {
+ "includes": [
+ "extension.neon"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Larastan\\Larastan\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Can Vural",
+ "email": "can9119@gmail.com"
+ },
+ {
+ "name": "Nuno Maduro",
+ "email": "enunomaduro@gmail.com"
+ }
+ ],
+ "description": "Larastan - Discover bugs in your code without running it. A phpstan/phpstan wrapper for Laravel",
"keywords": [
- "test"
+ "PHPStan",
+ "code analyse",
+ "code analysis",
+ "larastan",
+ "laravel",
+ "package",
+ "php",
+ "static analysis"
],
"support": {
- "issues": "https://github.com/hamcrest/hamcrest-php/issues",
- "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1"
+ "issues": "https://github.com/larastan/larastan/issues",
+ "source": "https://github.com/larastan/larastan/tree/v2.9.5"
},
- "time": "2020-07-09T08:09:16+00:00"
+ "funding": [
+ {
+ "url": "https://www.paypal.com/paypalme/enunomaduro",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/canvural",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nunomaduro",
+ "type": "github"
+ },
+ {
+ "url": "https://www.patreon.com/nunomaduro",
+ "type": "patreon"
+ }
+ ],
+ "time": "2024-04-16T19:13:34+00:00"
},
{
- "name": "jean85/pretty-package-versions",
- "version": "2.0.6",
+ "name": "laravel/pail",
+ "version": "v1.1.2",
"source": {
"type": "git",
- "url": "https://github.com/Jean85/pretty-package-versions.git",
- "reference": "f9fdd29ad8e6d024f52678b570e5593759b550b4"
+ "url": "https://github.com/laravel/pail.git",
+ "reference": "e10dbaa5caf00c5993a13f19aac340853f8d5894"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/f9fdd29ad8e6d024f52678b570e5593759b550b4",
- "reference": "f9fdd29ad8e6d024f52678b570e5593759b550b4",
+ "url": "https://api.github.com/repos/laravel/pail/zipball/e10dbaa5caf00c5993a13f19aac340853f8d5894",
+ "reference": "e10dbaa5caf00c5993a13f19aac340853f8d5894",
"shasum": ""
},
"require": {
- "composer-runtime-api": "^2.0.0",
- "php": "^7.1|^8.0"
+ "ext-mbstring": "*",
+ "ext-pcntl": "*",
+ "illuminate/console": "^10.24|^11.0",
+ "illuminate/contracts": "^10.24|^11.0",
+ "illuminate/log": "^10.24|^11.0",
+ "illuminate/process": "^10.24|^11.0",
+ "illuminate/support": "^10.24|^11.0",
+ "nunomaduro/termwind": "^1.15|^2.0",
+ "php": "^8.2",
+ "symfony/console": "^6.0|^7.0"
},
"require-dev": {
- "friendsofphp/php-cs-fixer": "^3.2",
- "jean85/composer-provided-replaced-stub-package": "^1.0",
- "phpstan/phpstan": "^1.4",
- "phpunit/phpunit": "^7.5|^8.5|^9.4",
- "vimeo/psalm": "^4.3"
+ "laravel/pint": "^1.13",
+ "orchestra/testbench": "^8.12|^9.0",
+ "pestphp/pest": "^2.20",
+ "pestphp/pest-plugin-type-coverage": "^2.3",
+ "phpstan/phpstan": "^1.10",
+ "symfony/var-dumper": "^6.3|^7.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.x-dev"
+ "dev-main": "1.x-dev"
+ },
+ "laravel": {
+ "providers": [
+ "Laravel\\Pail\\PailServiceProvider"
+ ]
}
},
"autoload": {
"psr-4": {
- "Jean85\\": "src/"
+ "Laravel\\Pail\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -7179,22 +8615,27 @@
],
"authors": [
{
- "name": "Alessandro Lai",
- "email": "alessandro.lai85@gmail.com"
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ },
+ {
+ "name": "Nuno Maduro",
+ "email": "enunomaduro@gmail.com"
}
],
- "description": "A library to get pretty versions strings of installed dependencies",
+ "description": "Easily delve into your Laravel application's log files directly from the command line.",
+ "homepage": "https://github.com/laravel/pail",
"keywords": [
- "composer",
- "package",
- "release",
- "versions"
+ "laravel",
+ "logs",
+ "php",
+ "tail"
],
"support": {
- "issues": "https://github.com/Jean85/pretty-package-versions/issues",
- "source": "https://github.com/Jean85/pretty-package-versions/tree/2.0.6"
+ "issues": "https://github.com/laravel/pail/issues",
+ "source": "https://github.com/laravel/pail"
},
- "time": "2024-03-08T09:58:59+00:00"
+ "time": "2024-04-02T14:22:32+00:00"
},
{
"name": "laravel/pint",
@@ -7262,69 +8703,6 @@
},
"time": "2024-04-02T14:28:47+00:00"
},
- {
- "name": "laravel/sail",
- "version": "v1.29.1",
- "source": {
- "type": "git",
- "url": "https://github.com/laravel/sail.git",
- "reference": "8be4a31150eab3b46af11a2e7b2c4632eefaad7e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/laravel/sail/zipball/8be4a31150eab3b46af11a2e7b2c4632eefaad7e",
- "reference": "8be4a31150eab3b46af11a2e7b2c4632eefaad7e",
- "shasum": ""
- },
- "require": {
- "illuminate/console": "^9.52.16|^10.0|^11.0",
- "illuminate/contracts": "^9.52.16|^10.0|^11.0",
- "illuminate/support": "^9.52.16|^10.0|^11.0",
- "php": "^8.0",
- "symfony/console": "^6.0|^7.0",
- "symfony/yaml": "^6.0|^7.0"
- },
- "require-dev": {
- "orchestra/testbench": "^7.0|^8.0|^9.0",
- "phpstan/phpstan": "^1.10"
- },
- "bin": [
- "bin/sail"
- ],
- "type": "library",
- "extra": {
- "laravel": {
- "providers": [
- "Laravel\\Sail\\SailServiceProvider"
- ]
- }
- },
- "autoload": {
- "psr-4": {
- "Laravel\\Sail\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Taylor Otwell",
- "email": "taylor@laravel.com"
- }
- ],
- "description": "Docker files for running a basic Laravel application.",
- "keywords": [
- "docker",
- "laravel"
- ],
- "support": {
- "issues": "https://github.com/laravel/sail/issues",
- "source": "https://github.com/laravel/sail"
- },
- "time": "2024-03-20T20:09:31+00:00"
- },
{
"name": "mockery/mockery",
"version": "1.6.11",
@@ -7566,16 +8944,16 @@
},
{
"name": "pestphp/pest",
- "version": "v2.34.6",
+ "version": "v2.34.7",
"source": {
"type": "git",
"url": "https://github.com/pestphp/pest.git",
- "reference": "680111fb1e7175a5010b73c115edef58ceef303e"
+ "reference": "a7a3e4240e341d0fee1c54814ce18adc26ce5a76"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/pestphp/pest/zipball/680111fb1e7175a5010b73c115edef58ceef303e",
- "reference": "680111fb1e7175a5010b73c115edef58ceef303e",
+ "url": "https://api.github.com/repos/pestphp/pest/zipball/a7a3e4240e341d0fee1c54814ce18adc26ce5a76",
+ "reference": "a7a3e4240e341d0fee1c54814ce18adc26ce5a76",
"shasum": ""
},
"require": {
@@ -7585,10 +8963,10 @@
"pestphp/pest-plugin": "^2.1.1",
"pestphp/pest-plugin-arch": "^2.7.0",
"php": "^8.1.0",
- "phpunit/phpunit": "^10.5.16"
+ "phpunit/phpunit": "^10.5.17"
},
"conflict": {
- "phpunit/phpunit": ">10.5.16",
+ "phpunit/phpunit": ">10.5.17",
"sebastian/exporter": "<5.1.0",
"webmozart/assert": "<1.11.0"
},
@@ -7658,7 +9036,7 @@
],
"support": {
"issues": "https://github.com/pestphp/pest/issues",
- "source": "https://github.com/pestphp/pest/tree/v2.34.6"
+ "source": "https://github.com/pestphp/pest/tree/v2.34.7"
},
"funding": [
{
@@ -7670,7 +9048,7 @@
"type": "github"
}
],
- "time": "2024-03-28T11:36:46+00:00"
+ "time": "2024-04-05T07:44:17+00:00"
},
{
"name": "pestphp/pest-plugin",
@@ -8005,83 +9383,37 @@
},
"time": "2022-02-21T01:04:05+00:00"
},
- {
- "name": "phpdocumentor/reflection-common",
- "version": "2.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
- "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
- "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
- "shasum": ""
- },
- "require": {
- "php": "^7.2 || ^8.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-2.x": "2.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Jaap van Otterdijk",
- "email": "opensource@ijaap.nl"
- }
- ],
- "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
- "homepage": "http://www.phpdoc.org",
- "keywords": [
- "FQSEN",
- "phpDocumentor",
- "phpdoc",
- "reflection",
- "static analysis"
- ],
- "support": {
- "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
- "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
- },
- "time": "2020-06-27T09:03:43+00:00"
- },
{
"name": "phpdocumentor/reflection-docblock",
- "version": "5.3.0",
+ "version": "5.4.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "622548b623e81ca6d78b721c5e029f4ce664f170"
+ "reference": "298d2febfe79d03fe714eb871d5538da55205b1a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170",
- "reference": "622548b623e81ca6d78b721c5e029f4ce664f170",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/298d2febfe79d03fe714eb871d5538da55205b1a",
+ "reference": "298d2febfe79d03fe714eb871d5538da55205b1a",
"shasum": ""
},
"require": {
+ "doctrine/deprecations": "^1.1",
"ext-filter": "*",
- "php": "^7.2 || ^8.0",
+ "php": "^7.4 || ^8.0",
"phpdocumentor/reflection-common": "^2.2",
- "phpdocumentor/type-resolver": "^1.3",
+ "phpdocumentor/type-resolver": "^1.7",
+ "phpstan/phpdoc-parser": "^1.7",
"webmozart/assert": "^1.9.1"
},
"require-dev": {
- "mockery/mockery": "~1.3.2",
- "psalm/phar": "^4.8"
+ "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"
},
"type": "library",
"extra": {
@@ -8105,120 +9437,161 @@
},
{
"name": "Jaap van Otterdijk",
- "email": "account@ijaap.nl"
+ "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.3.0"
+ "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.4.0"
},
- "time": "2021-10-19T17:43:47+00:00"
+ "time": "2024-04-09T21:13:58+00:00"
},
{
- "name": "phpdocumentor/type-resolver",
- "version": "1.8.2",
+ "name": "phpmyadmin/sql-parser",
+ "version": "5.9.0",
"source": {
"type": "git",
- "url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "153ae662783729388a584b4361f2545e4d841e3c"
+ "url": "https://github.com/phpmyadmin/sql-parser.git",
+ "reference": "011fa18a4e55591fac6545a821921dd1d61c6984"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/153ae662783729388a584b4361f2545e4d841e3c",
- "reference": "153ae662783729388a584b4361f2545e4d841e3c",
+ "url": "https://api.github.com/repos/phpmyadmin/sql-parser/zipball/011fa18a4e55591fac6545a821921dd1d61c6984",
+ "reference": "011fa18a4e55591fac6545a821921dd1d61c6984",
"shasum": ""
},
"require": {
- "doctrine/deprecations": "^1.0",
- "php": "^7.3 || ^8.0",
- "phpdocumentor/reflection-common": "^2.0",
- "phpstan/phpdoc-parser": "^1.13"
+ "php": "^7.2 || ^8.0",
+ "symfony/polyfill-mbstring": "^1.3",
+ "symfony/polyfill-php80": "^1.16"
+ },
+ "conflict": {
+ "phpmyadmin/motranslator": "<3.0"
},
"require-dev": {
- "ext-tokenizer": "*",
- "phpbench/phpbench": "^1.2",
+ "phpbench/phpbench": "^1.1",
+ "phpmyadmin/coding-standard": "^3.0",
+ "phpmyadmin/motranslator": "^4.0 || ^5.0",
"phpstan/extension-installer": "^1.1",
- "phpstan/phpstan": "^1.8",
- "phpstan/phpstan-phpunit": "^1.1",
- "phpunit/phpunit": "^9.5",
- "rector/rector": "^0.13.9",
- "vimeo/psalm": "^4.25"
+ "phpstan/phpstan": "^1.9.12",
+ "phpstan/phpstan-phpunit": "^1.3.3",
+ "phpunit/php-code-coverage": "*",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+ "psalm/plugin-phpunit": "^0.16.1",
+ "vimeo/psalm": "^4.11",
+ "zumba/json-serializer": "~3.0.2"
},
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-1.x": "1.x-dev"
- }
+ "suggest": {
+ "ext-mbstring": "For best performance",
+ "phpmyadmin/motranslator": "Translate messages to your favorite locale"
},
+ "bin": [
+ "bin/highlight-query",
+ "bin/lint-query",
+ "bin/sql-parser",
+ "bin/tokenize-query"
+ ],
+ "type": "library",
"autoload": {
"psr-4": {
- "phpDocumentor\\Reflection\\": "src"
+ "PhpMyAdmin\\SqlParser\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "GPL-2.0-or-later"
],
"authors": [
{
- "name": "Mike van Riel",
- "email": "me@mikevanriel.com"
+ "name": "The phpMyAdmin Team",
+ "email": "developers@phpmyadmin.net",
+ "homepage": "https://www.phpmyadmin.net/team/"
}
],
- "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
+ "description": "A validating SQL lexer and parser with a focus on MySQL dialect.",
+ "homepage": "https://github.com/phpmyadmin/sql-parser",
+ "keywords": [
+ "analysis",
+ "lexer",
+ "parser",
+ "query linter",
+ "sql",
+ "sql lexer",
+ "sql linter",
+ "sql parser",
+ "sql syntax highlighter",
+ "sql tokenizer"
+ ],
"support": {
- "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
- "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.2"
+ "issues": "https://github.com/phpmyadmin/sql-parser/issues",
+ "source": "https://github.com/phpmyadmin/sql-parser"
},
- "time": "2024-02-23T11:10:43+00:00"
+ "funding": [
+ {
+ "url": "https://www.phpmyadmin.net/donate/",
+ "type": "other"
+ }
+ ],
+ "time": "2024-01-20T20:34:02+00:00"
},
{
- "name": "phpstan/phpdoc-parser",
- "version": "1.28.0",
+ "name": "phpstan/phpstan",
+ "version": "1.10.67",
"source": {
"type": "git",
- "url": "https://github.com/phpstan/phpdoc-parser.git",
- "reference": "cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb"
+ "url": "https://github.com/phpstan/phpstan.git",
+ "reference": "16ddbe776f10da6a95ebd25de7c1dbed397dc493"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb",
- "reference": "cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/16ddbe776f10da6a95ebd25de7c1dbed397dc493",
+ "reference": "16ddbe776f10da6a95ebd25de7c1dbed397dc493",
"shasum": ""
},
"require": {
- "php": "^7.2 || ^8.0"
+ "php": "^7.2|^8.0"
},
- "require-dev": {
- "doctrine/annotations": "^2.0",
- "nikic/php-parser": "^4.15",
- "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",
- "symfony/process": "^5.2"
+ "conflict": {
+ "phpstan/phpstan-shim": "*"
},
- "type": "library",
- "autoload": {
- "psr-4": {
- "PHPStan\\PhpDocParser\\": [
- "src/"
- ]
- }
+ "bin": [
+ "phpstan",
+ "phpstan.phar"
+ ],
+ "type": "library",
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "description": "PHPDoc parser with support for nullable, intersection and generic types",
+ "description": "PHPStan - PHP Static Analysis Tool",
+ "keywords": [
+ "dev",
+ "static analysis"
+ ],
"support": {
- "issues": "https://github.com/phpstan/phpdoc-parser/issues",
- "source": "https://github.com/phpstan/phpdoc-parser/tree/1.28.0"
+ "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"
},
- "time": "2024-04-03T18:51:33+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/ondrejmirtes",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/phpstan",
+ "type": "github"
+ }
+ ],
+ "time": "2024-04-16T07:22:02+00:00"
},
{
"name": "phpunit/php-code-coverage",
@@ -8543,16 +9916,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "10.5.16",
+ "version": "10.5.17",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "18f8d4a5f52b61fdd9370aaae3167daa0eeb69cd"
+ "reference": "c1f736a473d21957ead7e94fcc029f571895abf5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/18f8d4a5f52b61fdd9370aaae3167daa0eeb69cd",
- "reference": "18f8d4a5f52b61fdd9370aaae3167daa0eeb69cd",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c1f736a473d21957ead7e94fcc029f571895abf5",
+ "reference": "c1f736a473d21957ead7e94fcc029f571895abf5",
"shasum": ""
},
"require": {
@@ -8624,7 +9997,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.16"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.17"
},
"funding": [
{
@@ -8640,7 +10013,7 @@
"type": "tidelift"
}
],
- "time": "2024-03-28T10:08:10+00:00"
+ "time": "2024-04-05T04:39:01+00:00"
},
{
"name": "sebastian/cli-parser",
@@ -9435,309 +10808,604 @@
"email": "aharvey@php.net"
}
],
- "description": "Provides functionality to recursively process PHP variables",
- "homepage": "https://github.com/sebastianbergmann/recursion-context",
+ "description": "Provides functionality to recursively process PHP variables",
+ "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"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2023-02-03T07:05:40+00:00"
+ },
+ {
+ "name": "sebastian/type",
+ "version": "4.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/type.git",
+ "reference": "462699a16464c3944eefc02ebdd77882bd3925bf"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf",
+ "reference": "462699a16464c3944eefc02ebdd77882bd3925bf",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^10.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Collection of value objects that represent the types of the PHP type system",
+ "homepage": "https://github.com/sebastianbergmann/type",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/type/issues",
+ "source": "https://github.com/sebastianbergmann/type/tree/4.0.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2023-02-03T07:10:45+00:00"
+ },
+ {
+ "name": "sebastian/version",
+ "version": "4.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/version.git",
+ "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17",
+ "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library that helps with managing the version number of Git-hosted PHP projects",
+ "homepage": "https://github.com/sebastianbergmann/version",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/version/issues",
+ "source": "https://github.com/sebastianbergmann/version/tree/4.0.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2023-02-07T11:34:05+00:00"
+ },
+ {
+ "name": "spatie/backtrace",
+ "version": "1.5.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/spatie/backtrace.git",
+ "reference": "483f76a82964a0431aa836b6ed0edde0c248e3ab"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/spatie/backtrace/zipball/483f76a82964a0431aa836b6ed0edde0c248e3ab",
+ "reference": "483f76a82964a0431aa836b6ed0edde0c248e3ab",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.3|^8.0"
+ },
+ "require-dev": {
+ "ext-json": "*",
+ "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.5.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sponsors/spatie",
+ "type": "github"
+ },
+ {
+ "url": "https://spatie.be/open-source/support-us",
+ "type": "other"
+ }
+ ],
+ "time": "2023-06-28T12:59:17+00:00"
+ },
+ {
+ "name": "spatie/flare-client-php",
+ "version": "1.4.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/spatie/flare-client-php.git",
+ "reference": "17082e780752d346c2db12ef5d6bee8e835e399c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/17082e780752d346c2db12ef5d6bee8e835e399c",
+ "reference": "17082e780752d346c2db12ef5d6bee8e835e399c",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0",
+ "php": "^8.0",
+ "spatie/backtrace": "^1.5.2",
+ "symfony/http-foundation": "^5.2|^6.0|^7.0",
+ "symfony/mime": "^5.2|^6.0|^7.0",
+ "symfony/process": "^5.2|^6.0|^7.0",
+ "symfony/var-dumper": "^5.2|^6.0|^7.0"
+ },
+ "require-dev": {
+ "dms/phpunit-arraysubset-asserts": "^0.5.0",
+ "pestphp/pest": "^1.20|^2.0",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan-deprecation-rules": "^1.0",
+ "phpstan/phpstan-phpunit": "^1.0",
+ "spatie/phpunit-snapshot-assertions": "^4.0|^5.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.3.x-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/helpers.php"
+ ],
+ "psr-4": {
+ "Spatie\\FlareClient\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Send PHP errors to Flare",
+ "homepage": "https://github.com/spatie/flare-client-php",
+ "keywords": [
+ "exception",
+ "flare",
+ "reporting",
+ "spatie"
+ ],
"support": {
- "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
- "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0"
+ "issues": "https://github.com/spatie/flare-client-php/issues",
+ "source": "https://github.com/spatie/flare-client-php/tree/1.4.4"
},
"funding": [
{
- "url": "https://github.com/sebastianbergmann",
+ "url": "https://github.com/spatie",
"type": "github"
}
],
- "time": "2023-02-03T07:05:40+00:00"
+ "time": "2024-01-31T14:18:45+00:00"
},
{
- "name": "sebastian/type",
- "version": "4.0.0",
+ "name": "spatie/ignition",
+ "version": "1.13.2",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/type.git",
- "reference": "462699a16464c3944eefc02ebdd77882bd3925bf"
+ "url": "https://github.com/spatie/ignition.git",
+ "reference": "952798e239d9969e4e694b124c2cc222798dbb28"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf",
- "reference": "462699a16464c3944eefc02ebdd77882bd3925bf",
+ "url": "https://api.github.com/repos/spatie/ignition/zipball/952798e239d9969e4e694b124c2cc222798dbb28",
+ "reference": "952798e239d9969e4e694b124c2cc222798dbb28",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "ext-json": "*",
+ "ext-mbstring": "*",
+ "php": "^8.0",
+ "spatie/backtrace": "^1.5.3",
+ "spatie/flare-client-php": "^1.4.0",
+ "symfony/console": "^5.4|^6.0|^7.0",
+ "symfony/var-dumper": "^5.4|^6.0|^7.0"
},
"require-dev": {
- "phpunit/phpunit": "^10.0"
+ "illuminate/cache": "^9.52|^10.0|^11.0",
+ "mockery/mockery": "^1.4",
+ "pestphp/pest": "^1.20|^2.0",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan-deprecation-rules": "^1.0",
+ "phpstan/phpstan-phpunit": "^1.0",
+ "psr/simple-cache-implementation": "*",
+ "symfony/cache": "^5.4|^6.0|^7.0",
+ "symfony/process": "^5.4|^6.0|^7.0",
+ "vlucas/phpdotenv": "^5.5"
+ },
+ "suggest": {
+ "openai-php/client": "Require get solutions from OpenAI",
+ "simple-cache-implementation": "To cache solutions from OpenAI"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-main": "1.5.x-dev"
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "psr-4": {
+ "Spatie\\Ignition\\": "src"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
+ "name": "Spatie",
+ "email": "info@spatie.be",
+ "role": "Developer"
}
],
- "description": "Collection of value objects that represent the types of the PHP type system",
- "homepage": "https://github.com/sebastianbergmann/type",
+ "description": "A beautiful error page for PHP applications.",
+ "homepage": "https://flareapp.io/ignition",
+ "keywords": [
+ "error",
+ "flare",
+ "laravel",
+ "page"
+ ],
"support": {
- "issues": "https://github.com/sebastianbergmann/type/issues",
- "source": "https://github.com/sebastianbergmann/type/tree/4.0.0"
+ "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction",
+ "forum": "https://twitter.com/flareappio",
+ "issues": "https://github.com/spatie/ignition/issues",
+ "source": "https://github.com/spatie/ignition"
},
"funding": [
{
- "url": "https://github.com/sebastianbergmann",
+ "url": "https://github.com/spatie",
"type": "github"
}
],
- "time": "2023-02-03T07:10:45+00:00"
+ "time": "2024-04-16T08:49:17+00:00"
},
{
- "name": "sebastian/version",
- "version": "4.0.1",
+ "name": "spatie/laravel-ignition",
+ "version": "2.5.2",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/version.git",
- "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17"
+ "url": "https://github.com/spatie/laravel-ignition.git",
+ "reference": "c93fcadcc4629775c839ac9a90916f07a660266f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17",
- "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17",
+ "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/c93fcadcc4629775c839ac9a90916f07a660266f",
+ "reference": "c93fcadcc4629775c839ac9a90916f07a660266f",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "ext-curl": "*",
+ "ext-json": "*",
+ "ext-mbstring": "*",
+ "illuminate/support": "^10.0|^11.0",
+ "php": "^8.1",
+ "spatie/flare-client-php": "^1.3.5",
+ "spatie/ignition": "^1.13.2",
+ "symfony/console": "^6.2.3|^7.0",
+ "symfony/var-dumper": "^6.2.3|^7.0"
+ },
+ "require-dev": {
+ "livewire/livewire": "^2.11|^3.3.5",
+ "mockery/mockery": "^1.5.1",
+ "openai-php/client": "^0.8.1",
+ "orchestra/testbench": "^8.0|^9.0",
+ "pestphp/pest": "^2.30",
+ "phpstan/extension-installer": "^1.2",
+ "phpstan/phpstan-deprecation-rules": "^1.1.1",
+ "phpstan/phpstan-phpunit": "^1.3.3",
+ "vlucas/phpdotenv": "^5.5"
+ },
+ "suggest": {
+ "openai-php/client": "Require get solutions from OpenAI",
+ "psr/simple-cache-implementation": "Needed to cache solutions from OpenAI"
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "4.0-dev"
+ "laravel": {
+ "providers": [
+ "Spatie\\LaravelIgnition\\IgnitionServiceProvider"
+ ],
+ "aliases": {
+ "Flare": "Spatie\\LaravelIgnition\\Facades\\Flare"
+ }
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "files": [
+ "src/helpers.php"
+ ],
+ "psr-4": {
+ "Spatie\\LaravelIgnition\\": "src"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
+ "name": "Spatie",
+ "email": "info@spatie.be",
+ "role": "Developer"
}
],
- "description": "Library that helps with managing the version number of Git-hosted PHP projects",
- "homepage": "https://github.com/sebastianbergmann/version",
+ "description": "A beautiful error page for Laravel applications.",
+ "homepage": "https://flareapp.io/ignition",
+ "keywords": [
+ "error",
+ "flare",
+ "laravel",
+ "page"
+ ],
"support": {
- "issues": "https://github.com/sebastianbergmann/version/issues",
- "source": "https://github.com/sebastianbergmann/version/tree/4.0.1"
+ "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction",
+ "forum": "https://twitter.com/flareappio",
+ "issues": "https://github.com/spatie/laravel-ignition/issues",
+ "source": "https://github.com/spatie/laravel-ignition"
},
"funding": [
{
- "url": "https://github.com/sebastianbergmann",
+ "url": "https://github.com/spatie",
"type": "github"
}
],
- "time": "2023-02-07T11:34:05+00:00"
+ "time": "2024-04-16T08:57:16+00:00"
},
{
- "name": "spatie/backtrace",
- "version": "1.5.3",
+ "name": "squizlabs/php_codesniffer",
+ "version": "3.9.1",
"source": {
"type": "git",
- "url": "https://github.com/spatie/backtrace.git",
- "reference": "483f76a82964a0431aa836b6ed0edde0c248e3ab"
+ "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
+ "reference": "267a4405fff1d9c847134db3a3c92f1ab7f77909"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/backtrace/zipball/483f76a82964a0431aa836b6ed0edde0c248e3ab",
- "reference": "483f76a82964a0431aa836b6ed0edde0c248e3ab",
+ "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/267a4405fff1d9c847134db3a3c92f1ab7f77909",
+ "reference": "267a4405fff1d9c847134db3a3c92f1ab7f77909",
"shasum": ""
},
"require": {
- "php": "^7.3|^8.0"
+ "ext-simplexml": "*",
+ "ext-tokenizer": "*",
+ "ext-xmlwriter": "*",
+ "php": ">=5.4.0"
},
"require-dev": {
- "ext-json": "*",
- "phpunit/phpunit": "^9.3",
- "spatie/phpunit-snapshot-assertions": "^4.2",
- "symfony/var-dumper": "^5.1"
+ "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4"
},
+ "bin": [
+ "bin/phpcbf",
+ "bin/phpcs"
+ ],
"type": "library",
- "autoload": {
- "psr-4": {
- "Spatie\\Backtrace\\": "src"
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.x-dev"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
],
"authors": [
{
- "name": "Freek Van de Herten",
- "email": "freek@spatie.be",
- "homepage": "https://spatie.be",
- "role": "Developer"
+ "name": "Greg Sherwood",
+ "role": "Former lead"
+ },
+ {
+ "name": "Juliette Reinders Folmer",
+ "role": "Current lead"
+ },
+ {
+ "name": "Contributors",
+ "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer/graphs/contributors"
}
],
- "description": "A better backtrace",
- "homepage": "https://github.com/spatie/backtrace",
+ "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
+ "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer",
"keywords": [
- "Backtrace",
- "spatie"
+ "phpcs",
+ "standards",
+ "static analysis"
],
"support": {
- "source": "https://github.com/spatie/backtrace/tree/1.5.3"
+ "issues": "https://github.com/PHPCSStandards/PHP_CodeSniffer/issues",
+ "security": "https://github.com/PHPCSStandards/PHP_CodeSniffer/security/policy",
+ "source": "https://github.com/PHPCSStandards/PHP_CodeSniffer",
+ "wiki": "https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki"
},
"funding": [
{
- "url": "https://github.com/sponsors/spatie",
+ "url": "https://github.com/PHPCSStandards",
"type": "github"
},
{
- "url": "https://spatie.be/open-source/support-us",
- "type": "other"
+ "url": "https://github.com/jrfnl",
+ "type": "github"
+ },
+ {
+ "url": "https://opencollective.com/php_codesniffer",
+ "type": "open_collective"
}
],
- "time": "2023-06-28T12:59:17+00:00"
+ "time": "2024-03-31T21:03:09+00:00"
},
{
- "name": "spatie/flare-client-php",
- "version": "1.4.4",
+ "name": "symfony/filesystem",
+ "version": "v7.0.6",
"source": {
"type": "git",
- "url": "https://github.com/spatie/flare-client-php.git",
- "reference": "17082e780752d346c2db12ef5d6bee8e835e399c"
+ "url": "https://github.com/symfony/filesystem.git",
+ "reference": "408105dff4c104454100730bdfd1a9cdd993f04d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/17082e780752d346c2db12ef5d6bee8e835e399c",
- "reference": "17082e780752d346c2db12ef5d6bee8e835e399c",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/408105dff4c104454100730bdfd1a9cdd993f04d",
+ "reference": "408105dff4c104454100730bdfd1a9cdd993f04d",
"shasum": ""
},
"require": {
- "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0",
- "php": "^8.0",
- "spatie/backtrace": "^1.5.2",
- "symfony/http-foundation": "^5.2|^6.0|^7.0",
- "symfony/mime": "^5.2|^6.0|^7.0",
- "symfony/process": "^5.2|^6.0|^7.0",
- "symfony/var-dumper": "^5.2|^6.0|^7.0"
- },
- "require-dev": {
- "dms/phpunit-arraysubset-asserts": "^0.5.0",
- "pestphp/pest": "^1.20|^2.0",
- "phpstan/extension-installer": "^1.1",
- "phpstan/phpstan-deprecation-rules": "^1.0",
- "phpstan/phpstan-phpunit": "^1.0",
- "spatie/phpunit-snapshot-assertions": "^4.0|^5.0"
+ "php": ">=8.2",
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-mbstring": "~1.8"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.3.x-dev"
- }
- },
"autoload": {
- "files": [
- "src/helpers.php"
- ],
"psr-4": {
- "Spatie\\FlareClient\\": "src"
- }
+ "Symfony\\Component\\Filesystem\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "description": "Send PHP errors to Flare",
- "homepage": "https://github.com/spatie/flare-client-php",
- "keywords": [
- "exception",
- "flare",
- "reporting",
- "spatie"
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
],
+ "description": "Provides basic utilities for the filesystem",
+ "homepage": "https://symfony.com",
"support": {
- "issues": "https://github.com/spatie/flare-client-php/issues",
- "source": "https://github.com/spatie/flare-client-php/tree/1.4.4"
+ "source": "https://github.com/symfony/filesystem/tree/v7.0.6"
},
"funding": [
{
- "url": "https://github.com/spatie",
+ "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-01-31T14:18:45+00:00"
+ "time": "2024-03-21T19:37:36+00:00"
},
{
- "name": "spatie/ignition",
- "version": "1.13.1",
+ "name": "symfony/options-resolver",
+ "version": "v7.0.0",
"source": {
"type": "git",
- "url": "https://github.com/spatie/ignition.git",
- "reference": "889bf1dfa59e161590f677728b47bf4a6893983b"
+ "url": "https://github.com/symfony/options-resolver.git",
+ "reference": "700ff4096e346f54cb628ea650767c8130f1001f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/ignition/zipball/889bf1dfa59e161590f677728b47bf4a6893983b",
- "reference": "889bf1dfa59e161590f677728b47bf4a6893983b",
+ "url": "https://api.github.com/repos/symfony/options-resolver/zipball/700ff4096e346f54cb628ea650767c8130f1001f",
+ "reference": "700ff4096e346f54cb628ea650767c8130f1001f",
"shasum": ""
},
"require": {
- "ext-json": "*",
- "ext-mbstring": "*",
- "php": "^8.0",
- "spatie/backtrace": "^1.5.3",
- "spatie/flare-client-php": "^1.4.0",
- "symfony/console": "^5.4|^6.0|^7.0",
- "symfony/var-dumper": "^5.4|^6.0|^7.0"
- },
- "require-dev": {
- "illuminate/cache": "^9.52|^10.0|^11.0",
- "mockery/mockery": "^1.4",
- "pestphp/pest": "^1.20|^2.0",
- "phpstan/extension-installer": "^1.1",
- "phpstan/phpstan-deprecation-rules": "^1.0",
- "phpstan/phpstan-phpunit": "^1.0",
- "psr/simple-cache-implementation": "*",
- "symfony/cache": "^5.4|^6.0|^7.0",
- "symfony/process": "^5.4|^6.0|^7.0",
- "vlucas/phpdotenv": "^5.5"
- },
- "suggest": {
- "openai-php/client": "Require get solutions from OpenAI",
- "simple-cache-implementation": "To cache solutions from OpenAI"
+ "php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.5.x-dev"
- }
- },
"autoload": {
"psr-4": {
- "Spatie\\Ignition\\": "src"
- }
+ "Symfony\\Component\\OptionsResolver\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -9745,91 +11413,74 @@
],
"authors": [
{
- "name": "Spatie",
- "email": "info@spatie.be",
- "role": "Developer"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "A beautiful error page for PHP applications.",
- "homepage": "https://flareapp.io/ignition",
+ "description": "Provides an improved replacement for the array_replace PHP function",
+ "homepage": "https://symfony.com",
"keywords": [
- "error",
- "flare",
- "laravel",
- "page"
+ "config",
+ "configuration",
+ "options"
],
"support": {
- "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction",
- "forum": "https://twitter.com/flareappio",
- "issues": "https://github.com/spatie/ignition/issues",
- "source": "https://github.com/spatie/ignition"
+ "source": "https://github.com/symfony/options-resolver/tree/v7.0.0"
},
"funding": [
{
- "url": "https://github.com/spatie",
+ "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-03-29T14:03:47+00:00"
+ "time": "2023-08-08T10:20:21+00:00"
},
{
- "name": "spatie/laravel-ignition",
- "version": "2.5.1",
+ "name": "symfony/polyfill-php81",
+ "version": "v1.29.0",
"source": {
"type": "git",
- "url": "https://github.com/spatie/laravel-ignition.git",
- "reference": "0c864b3cbd66ce67a2096c5f743e07ce8f1d6ab9"
+ "url": "https://github.com/symfony/polyfill-php81.git",
+ "reference": "c565ad1e63f30e7477fc40738343c62b40bc672d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/0c864b3cbd66ce67a2096c5f743e07ce8f1d6ab9",
- "reference": "0c864b3cbd66ce67a2096c5f743e07ce8f1d6ab9",
+ "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/c565ad1e63f30e7477fc40738343c62b40bc672d",
+ "reference": "c565ad1e63f30e7477fc40738343c62b40bc672d",
"shasum": ""
},
"require": {
- "ext-curl": "*",
- "ext-json": "*",
- "ext-mbstring": "*",
- "illuminate/support": "^10.0|^11.0",
- "php": "^8.1",
- "spatie/flare-client-php": "^1.3.5",
- "spatie/ignition": "^1.13",
- "symfony/console": "^6.2.3|^7.0",
- "symfony/var-dumper": "^6.2.3|^7.0"
- },
- "require-dev": {
- "livewire/livewire": "^2.11|^3.3.5",
- "mockery/mockery": "^1.5.1",
- "openai-php/client": "^0.8.1",
- "orchestra/testbench": "^8.0|^9.0",
- "pestphp/pest": "^2.30",
- "phpstan/extension-installer": "^1.2",
- "phpstan/phpstan-deprecation-rules": "^1.1.1",
- "phpstan/phpstan-phpunit": "^1.3.3",
- "vlucas/phpdotenv": "^5.5"
- },
- "suggest": {
- "openai-php/client": "Require get solutions from OpenAI",
- "psr/simple-cache-implementation": "Needed to cache solutions from OpenAI"
+ "php": ">=7.1"
},
"type": "library",
"extra": {
- "laravel": {
- "providers": [
- "Spatie\\LaravelIgnition\\IgnitionServiceProvider"
- ],
- "aliases": {
- "Flare": "Spatie\\LaravelIgnition\\Facades\\Flare"
- }
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"files": [
- "src/helpers.php"
+ "bootstrap.php"
],
"psr-4": {
- "Spatie\\LaravelIgnition\\": "src"
- }
+ "Symfony\\Polyfill\\Php81\\": ""
+ },
+ "classmap": [
+ "Resources/stubs"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -9837,64 +11488,63 @@
],
"authors": [
{
- "name": "Spatie",
- "email": "info@spatie.be",
- "role": "Developer"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "A beautiful error page for Laravel applications.",
- "homepage": "https://flareapp.io/ignition",
+ "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
"keywords": [
- "error",
- "flare",
- "laravel",
- "page"
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
],
"support": {
- "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction",
- "forum": "https://twitter.com/flareappio",
- "issues": "https://github.com/spatie/laravel-ignition/issues",
- "source": "https://github.com/spatie/laravel-ignition"
+ "source": "https://github.com/symfony/polyfill-php81/tree/v1.29.0"
},
"funding": [
{
- "url": "https://github.com/spatie",
+ "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-04-02T06:30:22+00:00"
+ "time": "2024-01-29T20:11:03+00:00"
},
{
- "name": "symfony/yaml",
+ "name": "symfony/stopwatch",
"version": "v7.0.3",
"source": {
"type": "git",
- "url": "https://github.com/symfony/yaml.git",
- "reference": "2d4fca631c00700597e9442a0b2451ce234513d3"
+ "url": "https://github.com/symfony/stopwatch.git",
+ "reference": "983900d6fddf2b0cbaacacbbad07610854bd8112"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/2d4fca631c00700597e9442a0b2451ce234513d3",
- "reference": "2d4fca631c00700597e9442a0b2451ce234513d3",
+ "url": "https://api.github.com/repos/symfony/stopwatch/zipball/983900d6fddf2b0cbaacacbbad07610854bd8112",
+ "reference": "983900d6fddf2b0cbaacacbbad07610854bd8112",
"shasum": ""
},
"require": {
"php": ">=8.2",
- "symfony/polyfill-ctype": "^1.8"
- },
- "conflict": {
- "symfony/console": "<6.4"
- },
- "require-dev": {
- "symfony/console": "^6.4|^7.0"
+ "symfony/service-contracts": "^2.5|^3"
},
- "bin": [
- "Resources/bin/yaml-lint"
- ],
"type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Component\\Yaml\\": ""
+ "Symfony\\Component\\Stopwatch\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -9914,10 +11564,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Loads and dumps YAML files",
+ "description": "Provides a way to profile code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/yaml/tree/v7.0.3"
+ "source": "https://github.com/symfony/stopwatch/tree/v7.0.3"
},
"funding": [
{
@@ -10043,6 +11693,131 @@
}
],
"time": "2024-03-03T12:36:25+00:00"
+ },
+ {
+ "name": "tightenco/duster",
+ "version": "v2.7.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/tighten/duster.git",
+ "reference": "b12d519e8cc59632832dbd4f9995d67ae015c600"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/tighten/duster/zipball/b12d519e8cc59632832dbd4f9995d67ae015c600",
+ "reference": "b12d519e8cc59632832dbd4f9995d67ae015c600",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^8.1.0"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "^3.49",
+ "laravel-zero/framework": "^10.3",
+ "laravel/pint": "^1.13",
+ "nunomaduro/termwind": "^1.15",
+ "spatie/invade": "^1.1",
+ "squizlabs/php_codesniffer": "^3.8",
+ "tightenco/tlint": "^9.2"
+ },
+ "bin": [
+ "builds/duster"
+ ],
+ "type": "project",
+ "autoload": {
+ "psr-4": {
+ "App\\": "app/",
+ "Database\\Seeders\\": "database/seeders/",
+ "Database\\Factories\\": "database/factories/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Matt Stauffer",
+ "email": "matt@tighten.com",
+ "homepage": "https://tighten.com",
+ "role": "Developer"
+ },
+ {
+ "name": "Anthony Clark",
+ "email": "anthony@tighten.com",
+ "homepage": "https://tighten.com",
+ "role": "Developer"
+ }
+ ],
+ "description": "Automatic configuration for Laravel apps to apply Tighten's standard linting & code standards.",
+ "homepage": "https://github.com/tighten/duster",
+ "keywords": [
+ "Code style",
+ "duster",
+ "laravel",
+ "php",
+ "tightenco"
+ ],
+ "support": {
+ "issues": "https://github.com/tighten/duster/issues",
+ "source": "https://github.com/tighten/duster"
+ },
+ "time": "2024-04-12T19:37:39+00:00"
+ },
+ {
+ "name": "tightenco/tlint",
+ "version": "v9.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/tighten/tlint.git",
+ "reference": "1efca15053fa06d92104efd3ad1bf64c5b5b1b4a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/tighten/tlint/zipball/1efca15053fa06d92104efd3ad1bf64c5b5b1b4a",
+ "reference": "1efca15053fa06d92104efd3ad1bf64c5b5b1b4a",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/view": "*",
+ "nikic/php-parser": "^4.15",
+ "php": ">=8.1",
+ "symfony/console": "^6.1||^7.0",
+ "symfony/process": "^6.1||^7.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.6",
+ "spatie/ray": "^1.37",
+ "symfony/var-dumper": "^6.1",
+ "tightenco/duster": "^2.0"
+ },
+ "bin": [
+ "bin/tlint"
+ ],
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Tighten\\TLint\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Logan Henson",
+ "email": "logan@loganhenson.com",
+ "role": "Developer"
+ }
+ ],
+ "description": "Tighten linter for Laravel conventions",
+ "homepage": "https://github.com/tighten/tlint",
+ "support": {
+ "issues": "https://github.com/tighten/tlint/issues",
+ "source": "https://github.com/tighten/tlint/tree/v9.3.0"
+ },
+ "time": "2024-03-12T14:46:18+00:00"
}
],
"aliases": [],
diff --git a/config/cache.php b/config/cache.php
index 3eb95d1..ba1b19c 100644
--- a/config/cache.php
+++ b/config/cache.php
@@ -102,6 +102,6 @@
|
*/
- 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache_'),
+ 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_') . '_cache_'),
];
diff --git a/config/database.php b/config/database.php
index f8e8dcb..1f61388 100644
--- a/config/database.php
+++ b/config/database.php
@@ -144,7 +144,7 @@
'options' => [
'cluster' => env('REDIS_CLUSTER', 'redis'),
- 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
+ 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_') . '_database_'),
],
'default' => [
diff --git a/config/filesystems.php b/config/filesystems.php
index 44fe9c8..40b7e78 100644
--- a/config/filesystems.php
+++ b/config/filesystems.php
@@ -39,7 +39,7 @@
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
- 'url' => env('APP_URL').'/storage',
+ 'url' => env('APP_URL') . '/storage',
'visibility' => 'public',
'throw' => false,
],
diff --git a/config/logging.php b/config/logging.php
index d526b64..2272196 100644
--- a/config/logging.php
+++ b/config/logging.php
@@ -89,7 +89,7 @@
'handler_with' => [
'host' => env('PAPERTRAIL_URL'),
'port' => env('PAPERTRAIL_PORT'),
- 'connectionString' => 'tls://'.env('PAPERTRAIL_URL').':'.env('PAPERTRAIL_PORT'),
+ 'connectionString' => 'tls://' . env('PAPERTRAIL_URL') . ':' . env('PAPERTRAIL_PORT'),
],
'processors' => [PsrLogMessageProcessor::class],
],
diff --git a/config/nativephp.php b/config/nativephp.php
new file mode 100644
index 0000000..8e4e4ed
--- /dev/null
+++ b/config/nativephp.php
@@ -0,0 +1,117 @@
+ env('NATIVEPHP_APP_VERSION', '1.0.0'),
+
+ /**
+ * The ID of your application. This should be a unique identifier
+ * usually in the form of a reverse domain name.
+ * For example: com.nativephp.app
+ */
+ 'app_id' => env('NATIVEPHP_APP_ID'),
+
+ /**
+ * If your application allows deep linking, you can specify the scheme
+ * to use here. This is the scheme that will be used to open your
+ * application from within other applications.
+ * For example: "nativephp"
+ *
+ * This would allow you to open your application using a URL like:
+ * nativephp://some/path
+ */
+ 'deeplink_scheme' => env('NATIVEPHP_DEEPLINK_SCHEME'),
+
+ /**
+ * The author of your application.
+ */
+ 'author' => env('NATIVEPHP_APP_AUTHOR'),
+
+ /**
+ * The default service provider for your application. This provider
+ * takes care of bootstrapping your application and configuring
+ * any global hotkeys, menus, windows, etc.
+ */
+ 'provider' => \App\Providers\NativeAppServiceProvider::class,
+
+ /**
+ * A list of environment keys that should be removed from the
+ * .env file when the application is bundled for production.
+ * You may use wildcards to match multiple keys.
+ */
+ 'cleanup_env_keys' => [
+ 'AWS_*',
+ 'GITHUB_*',
+ 'DO_SPACES_*',
+ '*_SECRET',
+ 'NATIVEPHP_UPDATER_PATH',
+ 'NATIVEPHP_APPLE_ID',
+ 'NATIVEPHP_APPLE_ID_PASS',
+ 'NATIVEPHP_APPLE_TEAM_ID',
+ ],
+
+ /**
+ * A list of files and folders that should be removed from the
+ * final app before it is bundled for production.
+ * You may use glob / wildcard patterns here.
+ */
+ 'cleanup_exclude_files' => [
+ 'content',
+ 'storage/app/framework/{sessions,testing,cache}',
+ 'storage/logs/laravel.log',
+ ],
+
+ /**
+ * The NativePHP updater configuration.
+ */
+ 'updater' => [
+ /**
+ * Whether or not the updater is enabled. Please note that the
+ * updater will only work when your application is bundled
+ * for production.
+ */
+ 'enabled' => env('NATIVEPHP_UPDATER_ENABLED', true),
+
+ /**
+ * The updater provider to use.
+ * Supported: "github", "s3", "spaces"
+ */
+ 'default' => env('NATIVEPHP_UPDATER_PROVIDER', 'spaces'),
+
+ 'providers' => [
+ 'github' => [
+ 'driver' => 'github',
+ 'repo' => env('GITHUB_REPO'),
+ 'owner' => env('GITHUB_OWNER'),
+ 'token' => env('GITHUB_TOKEN'),
+ 'vPrefixedTagName' => env('GITHUB_V_PREFIXED_TAG_NAME', true),
+ 'private' => env('GITHUB_PRIVATE', false),
+ 'channel' => env('GITHUB_CHANNEL', 'latest'),
+ 'releaseType' => env('GITHUB_RELEASE_TYPE', 'draft'),
+ ],
+
+ 's3' => [
+ 'driver' => 's3',
+ 'key' => env('AWS_ACCESS_KEY_ID'),
+ 'secret' => env('AWS_SECRET_ACCESS_KEY'),
+ 'region' => env('AWS_DEFAULT_REGION'),
+ 'bucket' => env('AWS_BUCKET'),
+ 'endpoint' => env('AWS_ENDPOINT'),
+ 'path' => env('NATIVEPHP_UPDATER_PATH', null),
+ ],
+
+ 'spaces' => [
+ 'driver' => 'spaces',
+ 'key' => env('DO_SPACES_KEY_ID'),
+ 'secret' => env('DO_SPACES_SECRET_ACCESS_KEY'),
+ 'name' => env('DO_SPACES_NAME'),
+ 'region' => env('DO_SPACES_REGION'),
+ 'path' => env('NATIVEPHP_UPDATER_PATH', null),
+ ],
+ ],
+ ],
+];
diff --git a/config/session.php b/config/session.php
index 0e22ee4..1de9fc7 100644
--- a/config/session.php
+++ b/config/session.php
@@ -130,7 +130,7 @@
'cookie' => env(
'SESSION_COOKIE',
- Str::slug(env('APP_NAME', 'laravel'), '_').'_session'
+ Str::slug(env('APP_NAME', 'laravel'), '_') . '_session'
),
/*
diff --git a/config/settings.php b/config/settings.php
new file mode 100644
index 0000000..e2f5601
--- /dev/null
+++ b/config/settings.php
@@ -0,0 +1,96 @@
+ [
+ Preferences::class,
+ ],
+
+ /*
+ * The path where the settings classes will be created.
+ */
+ 'setting_class_path' => app_path('Settings'),
+
+ /*
+ * In these directories settings migrations will be stored and ran when migrating. A settings
+ * migration created via the make:settings-migration command will be stored in the first path or
+ * a custom defined path when running the command.
+ */
+ 'migrations_paths' => [
+ database_path('settings'),
+ ],
+
+ /*
+ * When no repository was set for a settings class the following repository
+ * will be used for loading and saving settings.
+ */
+ 'default_repository' => 'database',
+
+ /*
+ * Settings will be stored and loaded from these repositories.
+ */
+ 'repositories' => [
+ 'database' => [
+ 'type' => Spatie\LaravelSettings\SettingsRepositories\DatabaseSettingsRepository::class,
+ 'model' => null,
+ 'table' => null,
+ 'connection' => null,
+ ],
+ 'redis' => [
+ 'type' => Spatie\LaravelSettings\SettingsRepositories\RedisSettingsRepository::class,
+ 'connection' => null,
+ 'prefix' => null,
+ ],
+ ],
+
+ /*
+ * The encoder and decoder will determine how settings are stored and
+ * retrieved in the database. By default, `json_encode` and `json_decode`
+ * are used.
+ */
+ 'encoder' => null,
+ 'decoder' => null,
+
+ /*
+ * The contents of settings classes can be cached through your application,
+ * settings will be stored within a provided Laravel store and can have an
+ * additional prefix.
+ */
+ 'cache' => [
+ 'enabled' => env('SETTINGS_CACHE_ENABLED', false),
+ 'store' => null,
+ 'prefix' => null,
+ 'ttl' => null,
+ ],
+
+ /*
+ * These global casts will be automatically used whenever a property within
+ * your settings class isn't a default PHP type.
+ */
+ 'global_casts' => [
+ DateTimeInterface::class => Spatie\LaravelSettings\SettingsCasts\DateTimeInterfaceCast::class,
+ DateTimeZone::class => Spatie\LaravelSettings\SettingsCasts\DateTimeZoneCast::class,
+ // Spatie\DataTransferObject\DataTransferObject::class => Spatie\LaravelSettings\SettingsCasts\DtoCast::class,
+ Spatie\LaravelData\Data::class => Spatie\LaravelSettings\SettingsCasts\DataCast::class,
+ ],
+
+ /*
+ * The package will look for settings in these paths and automatically
+ * register them.
+ */
+ 'auto_discover_settings' => [
+ app_path('Settings'),
+ ],
+
+ /*
+ * Automatically discovered settings classes can be cached, so they don't
+ * need to be searched each time the application boots up.
+ */
+ 'discovered_settings_cache_path' => base_path('bootstrap/cache'),
+];
diff --git a/config/workspace-integrations.php b/config/workspace-integrations.php
new file mode 100644
index 0000000..6dfd9c5
--- /dev/null
+++ b/config/workspace-integrations.php
@@ -0,0 +1,25 @@
+
diff --git a/database/migrations/0001_01_01_000000_create_users_table.php b/database/migrations/0001_01_01_000000_create_users_table.php
index 05fb5d9..0d50d6e 100644
--- a/database/migrations/0001_01_01_000000_create_users_table.php
+++ b/database/migrations/0001_01_01_000000_create_users_table.php
@@ -1,14 +1,11 @@
id();
+
+ $table->string('group');
+ $table->string('name');
+ $table->boolean('locked')->default(false);
+ $table->json('payload');
+
+ $table->timestamps();
+
+ $table->unique(['group', 'name']);
+ });
+ }
+};
diff --git a/database/migrations/2024_04_04_075745_create_messages_table.php b/database/migrations/2024_04_04_075745_create_messages_table.php
index 75157bb..7841440 100644
--- a/database/migrations/2024_04_04_075745_create_messages_table.php
+++ b/database/migrations/2024_04_04_075745_create_messages_table.php
@@ -1,8 +1,8 @@
migrator->add('config.port', 2525);
+ }
+};
diff --git a/duster.json b/duster.json
new file mode 100644
index 0000000..5c8560c
--- /dev/null
+++ b/duster.json
@@ -0,0 +1,24 @@
+{
+ "scripts": {
+ "lint": {
+ "Prettier Blade": [
+ "./node_modules/.bin/prettier",
+ "--check",
+ "resources/**/*.blade.php"
+ ],
+ "Larastan": [
+ "./vendor/bin/phpstan",
+ "analyse",
+ "--memory-limit=2G"
+ ]
+ },
+ "fix": {
+ "Prettier Blade": [
+ "./node_modules/.bin/prettier",
+ "--write",
+ "resources/**/*.blade.php"
+ ]
+ }
+ },
+ "processTimeout": 120
+}
diff --git a/kill-stray-processes.sh b/kill-stray-processes.sh
new file mode 100644
index 0000000..00a6f26
--- /dev/null
+++ b/kill-stray-processes.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+# Define the port number
+port="2525"
+
+# Find the process ID (PID) listening on the specified port
+pid=$(lsof -ti :$port)
+
+# If a PID is found, kill the process
+if [ -n "$pid" ]; then
+ kill $pid
+ echo "Process listening on port $port has been killed."
+else
+ echo "No process found listening on port $port."
+fi
diff --git a/package-lock.json b/package-lock.json
index df13cd3..0ace50d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,10 +8,13 @@
"@alpinejs/ui": "^3.13.8-beta.0"
},
"devDependencies": {
+ "@shufo/prettier-plugin-blade": "^1.14.1",
+ "@tailwindcss/forms": "^0.5.7",
"autoprefixer": "^10.4.18",
"axios": "^1.6.4",
"laravel-vite-plugin": "^1.0",
"postcss": "^8.4.37",
+ "prettier": "^3.2.5",
"tailwindcss": "^3.4.1",
"vite": "^5.0"
}
@@ -33,6 +36,19 @@
"resolved": "https://registry.npmjs.org/@alpinejs/ui/-/ui-3.13.8-beta.0.tgz",
"integrity": "sha512-k4roH48nYfLjeL+VRm3xBwxuTfSn6B2e1iBXphrUDNADZcehXQgXvy5wv1TtUVvy7GJGcMYhrQT+CrDTTps4sA=="
},
+ "node_modules/@babel/runtime-corejs3": {
+ "version": "7.24.4",
+ "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.24.4.tgz",
+ "integrity": "sha512-VOQOexSilscN24VEY810G/PqtpFvx/z6UqDIjIWbDe2368HhDLkYN5TYwaEz/+eRCUkhJ2WaNLLmQAlxzfWj4w==",
+ "dev": true,
+ "dependencies": {
+ "core-js-pure": "^3.30.2",
+ "regenerator-runtime": "^0.14.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@esbuild/aix-ppc64": {
"version": "0.20.2",
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz",
@@ -501,6 +517,12 @@
"node": ">= 8"
}
},
+ "node_modules/@one-ini/wasm": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz",
+ "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==",
+ "dev": true
+ },
"node_modules/@pkgjs/parseargs": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
@@ -511,6 +533,19 @@
"node": ">=14"
}
},
+ "node_modules/@prettier/plugin-php": {
+ "version": "0.22.2",
+ "resolved": "https://registry.npmjs.org/@prettier/plugin-php/-/plugin-php-0.22.2.tgz",
+ "integrity": "sha512-md0+7tNbsP0oy+wIP3KZZc6fzx1k1jtWaMjOy/gM8yU9f2BDYEi+iHOc/UNPihYvPI28zFTbjvlhH4QXQjQwNg==",
+ "dev": true,
+ "dependencies": {
+ "linguist-languages": "^7.27.0",
+ "php-parser": "^3.1.5"
+ },
+ "peerDependencies": {
+ "prettier": "^3.0.0"
+ }
+ },
"node_modules/@rollup/rollup-android-arm-eabi": {
"version": "4.13.2",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.13.2.tgz",
@@ -706,12 +741,91 @@
"win32"
]
},
+ "node_modules/@shufo/prettier-plugin-blade": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/@shufo/prettier-plugin-blade/-/prettier-plugin-blade-1.14.1.tgz",
+ "integrity": "sha512-CPeFzNOh/wHlEFTUzt+mqOe66oXRSh51/DQzmv9DaN77I8QzLVwoKNx10bl+9PtZVc65+6kE4dg7+4iG1epqeA==",
+ "dev": true,
+ "dependencies": {
+ "blade-formatter": "1.41.1",
+ "prettier": "3.2.5"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@shufo/tailwindcss-class-sorter": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@shufo/tailwindcss-class-sorter/-/tailwindcss-class-sorter-3.0.1.tgz",
+ "integrity": "sha512-y9SMobvwElX2G6vdg4odJ6UL6hu/o5RlMsdwEeDLGaqHU3BLSw9CeitGgBus6kadjjDdT2wseG0Tl5yXWdc4UQ==",
+ "dev": true,
+ "dependencies": {
+ "escalade": "^3.1.1",
+ "object-hash": "^3.0.0",
+ "tailwindcss": "^3.3.2"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "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==",
+ "dev": true,
+ "dependencies": {
+ "mini-svg-data-uri": "^1.2.3"
+ },
+ "peerDependencies": {
+ "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1"
+ }
+ },
"node_modules/@types/estree": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
"dev": true
},
+ "node_modules/abbrev": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz",
+ "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==",
+ "dev": true,
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/aigle": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/aigle/-/aigle-1.14.1.tgz",
+ "integrity": "sha512-bCmQ65CEebspmpbWFs6ab3S27TNyVH1b5MledX8KoiGxUhsJmPUUGpaoSijhwawNnq5Lt8jbcq7Z7gUAD0nuTw==",
+ "dev": true,
+ "dependencies": {
+ "aigle-core": "^1.0.0"
+ }
+ },
+ "node_modules/aigle-core": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/aigle-core/-/aigle-core-1.0.0.tgz",
+ "integrity": "sha512-uGFWPumk5DLvYnUphNnff+kWC8VeAnjPbbU8ovsSHflKXGX77SD7cAN/aSBCLX3xnoJAM9KdtRgxUygRnSSu7A==",
+ "dev": true
+ },
+ "node_modules/ajv": {
+ "version": "8.12.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+ "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
"node_modules/ansi-regex": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
@@ -833,6 +947,72 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/blade-formatter": {
+ "version": "1.41.1",
+ "resolved": "https://registry.npmjs.org/blade-formatter/-/blade-formatter-1.41.1.tgz",
+ "integrity": "sha512-J4L0hsw+r6XSnrEpHMPDldfPeaEmhHwXacs5oFh+9FgDu2Ec7p1tLxA8QXdgcXZU0ILTMkzAtusia10oP05g3Q==",
+ "dev": true,
+ "dependencies": {
+ "@prettier/plugin-php": "^0.22.2",
+ "@shufo/tailwindcss-class-sorter": "3.0.1",
+ "aigle": "^1.14.1",
+ "ajv": "^8.9.0",
+ "chalk": "^4.1.0",
+ "concat-stream": "^2.0.0",
+ "detect-indent": "^6.0.0",
+ "find-config": "^1.0.0",
+ "glob": "^8.0.1",
+ "html-attribute-sorter": "^0.4.3",
+ "ignore": "^5.1.8",
+ "js-beautify": "^1.14.8",
+ "lodash": "^4.17.19",
+ "php-parser": "3.1.5",
+ "prettier": "^3.2.5",
+ "string-replace-async": "^2.0.0",
+ "tailwindcss": "^3.1.8",
+ "vscode-oniguruma": "1.7.0",
+ "vscode-textmate": "^7.0.1",
+ "xregexp": "^5.0.1",
+ "yargs": "^17.3.1"
+ },
+ "bin": {
+ "blade-formatter": "bin/blade-formatter.cjs"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/blade-formatter/node_modules/glob": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+ "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^5.0.1",
+ "once": "^1.3.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/blade-formatter/node_modules/minimatch": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/brace-expansion": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
@@ -886,6 +1066,12 @@
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
}
},
+ "node_modules/buffer-from": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+ "dev": true
+ },
"node_modules/camelcase-css": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
@@ -915,6 +1101,37 @@
}
]
},
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/chalk/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
"node_modules/chokidar": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
@@ -951,6 +1168,93 @@
"node": ">= 6"
}
},
+ "node_modules/cliui": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+ "dev": true,
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/cliui/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cliui/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/cliui/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "node_modules/cliui/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cliui/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cliui/node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
"node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -990,6 +1294,42 @@
"node": ">= 6"
}
},
+ "node_modules/concat-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz",
+ "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==",
+ "dev": true,
+ "engines": [
+ "node >= 6.0"
+ ],
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.0.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "node_modules/config-chain": {
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz",
+ "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==",
+ "dev": true,
+ "dependencies": {
+ "ini": "^1.3.4",
+ "proto-list": "~1.2.1"
+ }
+ },
+ "node_modules/core-js-pure": {
+ "version": "3.36.1",
+ "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.36.1.tgz",
+ "integrity": "sha512-NXCvHvSVYSrewP0L5OhltzXeWFJLo2AL2TYnj6iLV3Bw8mM62wAQMNgUCRI6EBu6hVVpbCxmOPlxh1Ikw2PfUA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/core-js"
+ }
+ },
"node_modules/cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
@@ -1025,6 +1365,15 @@
"node": ">=0.4.0"
}
},
+ "node_modules/detect-indent": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz",
+ "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/didyoumean": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
@@ -1043,6 +1392,48 @@
"integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
"dev": true
},
+ "node_modules/editorconfig": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz",
+ "integrity": "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==",
+ "dev": true,
+ "dependencies": {
+ "@one-ini/wasm": "0.1.1",
+ "commander": "^10.0.0",
+ "minimatch": "9.0.1",
+ "semver": "^7.5.3"
+ },
+ "bin": {
+ "editorconfig": "bin/editorconfig"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/editorconfig/node_modules/commander": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
+ "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
+ "dev": true,
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/editorconfig/node_modules/minimatch": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz",
+ "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/electron-to-chromium": {
"version": "1.4.723",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.723.tgz",
@@ -1102,6 +1493,12 @@
"node": ">=6"
}
},
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true
+ },
"node_modules/fast-glob": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
@@ -1151,6 +1548,18 @@
"node": ">=8"
}
},
+ "node_modules/find-config": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/find-config/-/find-config-1.0.0.tgz",
+ "integrity": "sha512-Z+suHH+7LSE40WfUeZPIxSxypCWvrzdVc60xAjUShZeT5eMWM0/FQUduq3HjluyfAHWvC/aOBkT1pTZktyF/jg==",
+ "dev": true,
+ "dependencies": {
+ "user-home": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 0.12"
+ }
+ },
"node_modules/follow-redirects": {
"version": "1.15.6",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
@@ -1214,6 +1623,12 @@
"url": "https://github.com/sponsors/rawify"
}
},
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+ "dev": true
+ },
"node_modules/fsevents": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
@@ -1237,6 +1652,15 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "dev": true,
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
"node_modules/glob": {
"version": "10.3.12",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz",
@@ -1271,6 +1695,15 @@
"node": ">=10.13.0"
}
},
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/hasown": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
@@ -1283,6 +1716,46 @@
"node": ">= 0.4"
}
},
+ "node_modules/html-attribute-sorter": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/html-attribute-sorter/-/html-attribute-sorter-0.4.3.tgz",
+ "integrity": "sha512-HWSvaXJki44tg0uR1t+j5pRdUVpNiZcJaoB/PFhss/YoAw9cxUDLCpIBbLWQmKjBQfWk91P6LaRnredEyabrDw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/ignore": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
+ "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "dev": true,
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true
+ },
+ "node_modules/ini": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+ "dev": true
+ },
"node_modules/is-binary-path": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
@@ -1379,6 +1852,42 @@
"jiti": "bin/jiti.js"
}
},
+ "node_modules/js-beautify": {
+ "version": "1.15.1",
+ "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.15.1.tgz",
+ "integrity": "sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA==",
+ "dev": true,
+ "dependencies": {
+ "config-chain": "^1.1.13",
+ "editorconfig": "^1.0.4",
+ "glob": "^10.3.3",
+ "js-cookie": "^3.0.5",
+ "nopt": "^7.2.0"
+ },
+ "bin": {
+ "css-beautify": "js/bin/css-beautify.js",
+ "html-beautify": "js/bin/html-beautify.js",
+ "js-beautify": "js/bin/js-beautify.js"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/js-cookie": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz",
+ "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==",
+ "dev": true,
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ },
"node_modules/laravel-vite-plugin": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/laravel-vite-plugin/-/laravel-vite-plugin-1.0.2.tgz",
@@ -1413,6 +1922,18 @@
"integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
"dev": true
},
+ "node_modules/linguist-languages": {
+ "version": "7.27.0",
+ "resolved": "https://registry.npmjs.org/linguist-languages/-/linguist-languages-7.27.0.tgz",
+ "integrity": "sha512-Wzx/22c5Jsv2ag+uKy+ITanGA5hzvBZngrNGDXLTC7ZjGM6FLCYGgomauTkxNJeP9of353OM0pWqngYA180xgw==",
+ "dev": true
+ },
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "dev": true
+ },
"node_modules/lru-cache": {
"version": "10.2.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz",
@@ -1465,6 +1986,15 @@
"node": ">= 0.6"
}
},
+ "node_modules/mini-svg-data-uri": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz",
+ "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==",
+ "dev": true,
+ "bin": {
+ "mini-svg-data-uri": "cli.js"
+ }
+ },
"node_modules/minimatch": {
"version": "9.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
@@ -1524,6 +2054,21 @@
"integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
"dev": true
},
+ "node_modules/nopt": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.0.tgz",
+ "integrity": "sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==",
+ "dev": true,
+ "dependencies": {
+ "abbrev": "^2.0.0"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
"node_modules/normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -1560,6 +2105,24 @@
"node": ">= 6"
}
},
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dev": true,
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/path-key": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
@@ -1591,6 +2154,12 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/php-parser": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/php-parser/-/php-parser-3.1.5.tgz",
+ "integrity": "sha512-jEY2DcbgCm5aclzBdfW86GM6VEIWcSlhTBSHN1qhJguVePlYe28GhwS0yoeLYXpM2K8y6wzLwrbq814n2PHSoQ==",
+ "dev": true
+ },
"node_modules/picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
@@ -1776,12 +2345,42 @@
"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
"dev": true
},
+ "node_modules/prettier": {
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz",
+ "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==",
+ "dev": true,
+ "bin": {
+ "prettier": "bin/prettier.cjs"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
+ "node_modules/proto-list": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
+ "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==",
+ "dev": true
+ },
"node_modules/proxy-from-env": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
"dev": true
},
+ "node_modules/punycode": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/queue-microtask": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
@@ -1811,6 +2410,20 @@
"pify": "^2.3.0"
}
},
+ "node_modules/readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "dev": true,
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/readdirp": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
@@ -1823,6 +2436,30 @@
"node": ">=8.10.0"
}
},
+ "node_modules/regenerator-runtime": {
+ "version": "0.14.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
+ "dev": true
+ },
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/resolve": {
"version": "1.22.8",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
@@ -1907,6 +2544,53 @@
"queue-microtask": "^1.2.2"
}
},
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/semver": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/semver/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/shebang-command": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
@@ -1949,6 +2633,24 @@
"node": ">=0.10.0"
}
},
+ "node_modules/string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "dev": true,
+ "dependencies": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "node_modules/string-replace-async": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/string-replace-async/-/string-replace-async-2.0.0.tgz",
+ "integrity": "sha512-AHMupZscUiDh07F1QziX7PLoB1DQ/pzu19vc8Xa8LwZcgnOXaw7yCgBuSYrxVEfaM2d8scc3Gtp+i+QJZV+spw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12"
+ }
+ },
"node_modules/string-width": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
@@ -2067,6 +2769,18 @@
"node": ">=16 || 14 >=14.17"
}
},
+ "node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/supports-preserve-symlinks-flag": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
@@ -2155,6 +2869,12 @@
"integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
"dev": true
},
+ "node_modules/typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
+ "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",
@@ -2185,6 +2905,27 @@
"browserslist": ">= 4.21.0"
}
},
+ "node_modules/uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "dev": true,
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/user-home": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz",
+ "integrity": "sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ==",
+ "dev": true,
+ "dependencies": {
+ "os-homedir": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -2256,6 +2997,18 @@
"picomatch": "^2.3.1"
}
},
+ "node_modules/vscode-oniguruma": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz",
+ "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==",
+ "dev": true
+ },
+ "node_modules/vscode-textmate": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-7.0.4.tgz",
+ "integrity": "sha512-9hJp0xL7HW1Q5OgGe03NACo7yiCTMEk3WU/rtKXUbncLtdg6rVVNJnHwD88UhbIYU2KoxY0Dih0x+kIsmUKn2A==",
+ "dev": true
+ },
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@@ -2362,6 +3115,36 @@
"node": ">=8"
}
},
+ "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==",
+ "dev": true
+ },
+ "node_modules/xregexp": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-5.1.1.tgz",
+ "integrity": "sha512-fKXeVorD+CzWvFs7VBuKTYIW63YD1e1osxwQ8caZ6o1jg6pDAbABDG54LCIq0j5cy7PjRvGIq6sef9DYPXpncg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime-corejs3": "^7.16.5"
+ }
+ },
+ "node_modules/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ },
"node_modules/yaml": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz",
@@ -2373,6 +3156,74 @@
"engines": {
"node": ">= 14"
}
+ },
+ "node_modules/yargs": {
+ "version": "17.7.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+ "dev": true,
+ "dependencies": {
+ "cliui": "^8.0.1",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yargs/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/yargs/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "node_modules/yargs/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/yargs/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
}
}
}
diff --git a/package.json b/package.json
index cbd91c3..d978641 100644
--- a/package.json
+++ b/package.json
@@ -6,10 +6,13 @@
"build": "vite build"
},
"devDependencies": {
+ "@shufo/prettier-plugin-blade": "^1.14.1",
+ "@tailwindcss/forms": "^0.5.7",
"autoprefixer": "^10.4.18",
"axios": "^1.6.4",
"laravel-vite-plugin": "^1.0",
"postcss": "^8.4.37",
+ "prettier": "^3.2.5",
"tailwindcss": "^3.4.1",
"vite": "^5.0"
},
diff --git a/phpstan.neon b/phpstan.neon
new file mode 100644
index 0000000..15b7967
--- /dev/null
+++ b/phpstan.neon
@@ -0,0 +1,18 @@
+includes:
+ - ./vendor/larastan/larastan/extension.neon
+
+parameters:
+
+ paths:
+ - app/
+
+ # Level 9 is the highest level
+ level: 4
+
+ ignoreErrors:
+# - "#^Access to an undefined property Illuminate\\\\Database\\\\Eloquent\\\\Model\\:\\:\\$id\\.$#"
+#
+# excludePaths:
+# - ./*/*/FileToBeExcluded.php
+#
+# checkMissingIterableValueType: false
diff --git a/pint.json b/pint.json
new file mode 100644
index 0000000..eaaf095
--- /dev/null
+++ b/pint.json
@@ -0,0 +1,45 @@
+{
+ "preset": "laravel",
+ "rules": {
+ "blank_line_between_import_groups": true,
+ "concat_space": {
+ "spacing": "one"
+ },
+ "class_attributes_separation": {
+ "elements": {
+ "method": "one"
+ }
+ },
+ "curly_braces_position": {
+ "control_structures_opening_brace": "same_line",
+ "functions_opening_brace": "next_line_unless_newline_at_signature_end",
+ "anonymous_functions_opening_brace": "same_line",
+ "classes_opening_brace": "next_line_unless_newline_at_signature_end",
+ "anonymous_classes_opening_brace": "next_line_unless_newline_at_signature_end",
+ "allow_single_line_empty_anonymous_classes": true,
+ "allow_single_line_anonymous_functions": false
+ },
+ "explicit_string_variable": true,
+ "global_namespace_import": {
+ "import_classes": true,
+ "import_constants": true,
+ "import_functions": true
+ },
+ "new_with_braces": {
+ "named_class": false,
+ "anonymous_class": false
+ },
+ "ordered_imports": {
+ "sort_algorithm": "length",
+ "imports_order": [
+ "const",
+ "class",
+ "function"
+ ]
+ },
+ "php_unit_test_annotation": {
+ "style": "annotation"
+ },
+ "simple_to_complex_string_variable": true
+ }
+}
diff --git a/public/index.php b/public/index.php
index 947d989..74a0960 100644
--- a/public/index.php
+++ b/public/index.php
@@ -5,13 +5,13 @@
define('LARAVEL_START', microtime(true));
// Determine if the application is in maintenance mode...
-if (file_exists($maintenance = __DIR__.'/../storage/framework/maintenance.php')) {
+if (file_exists($maintenance = __DIR__ . '/../storage/framework/maintenance.php')) {
require $maintenance;
}
// Register the Composer autoloader...
-require __DIR__.'/../vendor/autoload.php';
+require __DIR__ . '/../vendor/autoload.php';
// Bootstrap Laravel and handle the request...
-(require_once __DIR__.'/../bootstrap/app.php')
+(require_once __DIR__ . '/../bootstrap/app.php')
->handleRequest(Request::capture());
diff --git a/resources/views/components/dialog/footer.blade.php b/resources/views/components/dialog/footer.blade.php
new file mode 100644
index 0000000..5483601
--- /dev/null
+++ b/resources/views/components/dialog/footer.blade.php
@@ -0,0 +1,5 @@
+
diff --git a/resources/views/components/dialog/index.blade.php b/resources/views/components/dialog/index.blade.php
new file mode 100644
index 0000000..0c6ec9a
--- /dev/null
+++ b/resources/views/components/dialog/index.blade.php
@@ -0,0 +1,17 @@
+
+ {{ $slot }}
+
diff --git a/resources/views/components/dialog/panel.blade.php b/resources/views/components/dialog/panel.blade.php
new file mode 100644
index 0000000..884452d
--- /dev/null
+++ b/resources/views/components/dialog/panel.blade.php
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $slot }}
+
+
+
+
+
diff --git a/resources/views/components/input/button.blade.php b/resources/views/components/input/button.blade.php
new file mode 100644
index 0000000..2dc9ecf
--- /dev/null
+++ b/resources/views/components/input/button.blade.php
@@ -0,0 +1,26 @@
+@props([
+ 'level' => 'primary',
+ 'type' => 'button',
+ 'href' => false,
+])
+
+@php
+ $element = $href ? 'a' : 'button';
+
+ $defaultClasses = 'text-sm font-medium rounded shadow-sm transition-all disabled:opacity-50 cursor-default';
+
+ $levelClasses = match ($level) {
+ 'round' => 'rounded-full bg-indigo-600 p-1 text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600 hover:scale-110 focus-visible:scale-110',
+ 'danger' => 'px-2 py-1 text-white bg-red-600 hover:bg-red-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-red-600',
+ 'primary' => 'px-2 py-1 text-white bg-indigo-600 hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600',
+ 'secondary' => 'px-2 py-1 text-neutral-500 bg-white ring-1 ring-inset ring-gray-300 hover:bg-gray-50 focus-visible:outline-gray-200 focus-visible:outline-2',
+ };
+@endphp
+
+<{{ $element }} {{ $attributes->merge([
+ 'type' => $type,
+ 'href' => $href,
+ 'class' => "{$defaultClasses} {$levelClasses}",
+]) }}>
+ {{ $slot }}
+ {{ $element }}>
diff --git a/resources/views/components/input/group.blade.php b/resources/views/components/input/group.blade.php
new file mode 100644
index 0000000..68480ae
--- /dev/null
+++ b/resources/views/components/input/group.blade.php
@@ -0,0 +1,32 @@
+@props([
+ 'label' => false,
+ 'model' => false,
+])
+
+
diff --git a/resources/views/components/input/radio.blade.php b/resources/views/components/input/radio.blade.php
new file mode 100644
index 0000000..2ca395c
--- /dev/null
+++ b/resources/views/components/input/radio.blade.php
@@ -0,0 +1,51 @@
+@props(['value', 'label' => false, 'description' => false])
+
+@php
+ $model = $attributes->wire('model')->value;
+@endphp
+
+whereStartsWith(['wire:key']) }}
+>
+
+ whereStartsWith(['wire', 'x']) }}
+ value="{{ $value }}"
+ :id="$id('input')"
+ type="radio"
+ @class([
+ 'w-4 h-4 text-indigo-600 rounded-full read-only:ring-opacity-50',
+ 'border-gray-300 ring-gray-300 focus:ring-indigo-600' => $errors->missing(
+ $model),
+ 'border-red-400 ring-red-400 focus:ring-red-500' => $errors->has($model),
+ ])
+ @error($model)
+ aria-invalid="true"
+ aria-description="{{ $message }}"
+ @enderror
+ >
+
+
+
+ @if ($label)
+
$errors->missing($model),
+ 'text-red-700' => $errors->has($model),
+ ])
+ >
+ {{ $label }}
+
+ @endif
+
+ @if ($description)
+
+ {{ $description }}
+
+ @endif
+
+
diff --git a/resources/views/components/input/text.blade.php b/resources/views/components/input/text.blade.php
new file mode 100644
index 0000000..8b446d2
--- /dev/null
+++ b/resources/views/components/input/text.blade.php
@@ -0,0 +1,31 @@
+@props([
+ 'label' => false,
+])
+
+@php
+ $model = $attributes->wire('model')->value;
+@endphp
+
+
+
+ $errors->missing(
+ $model),
+ 'text-red-700 ring-red-400 placeholder:text-red-300 focus:ring-red-500' => $errors->has(
+ $model),
+ $attributes->get('class'),
+ ])
+ @error($model)
+ aria-invalid="true"
+ aria-description="{{ $message }}"
+ @enderror
+ />
+
+
diff --git a/resources/views/components/layouts/app.blade.php b/resources/views/components/layouts/app.blade.php
index 0ecd22b..69570d8 100644
--- a/resources/views/components/layouts/app.blade.php
+++ b/resources/views/components/layouts/app.blade.php
@@ -1,17 +1,25 @@
-
-
-
- {{ $title ?? 'Page Title' }}
+
+
+
- @vite(['resources/css/app.css', 'resources/js/app.js'])
+ {{ $title ?? 'Page Title' }}
-
-
- {{ $slot }}
-
+ @vite(['resources/css/app.css', 'resources/js/app.js'])
+
+
+
+
+ {{ $slot }}
+
+
+
+
+@livewireScriptConfig
- @livewireScriptConfig
diff --git a/resources/views/components/message/index.blade.php b/resources/views/components/message/index.blade.php
index e2e049d..2f5cdb3 100644
--- a/resources/views/components/message/index.blade.php
+++ b/resources/views/components/message/index.blade.php
@@ -1,45 +1,63 @@
@use('ZBateson\MailMimeParser\Header\HeaderConsts', 'Header')
-@props([
- 'message'
-])
+@props(['message'])
-
-@php
- $parsed = $message->parsed();
-@endphp
-
-