diff --git a/.codecov.yml b/.codecov.yml deleted file mode 100644 index 3ce559b8b..000000000 --- a/.codecov.yml +++ /dev/null @@ -1,10 +0,0 @@ -ignore: - - "app/Entities" - - "app/Exceptions" - - "app/Providers" - - "bootstrap" - - "config" - - "database" - - "public" - - "resources" - - "routes" diff --git a/.env.example b/.env.example index b5c677fe7..2442b023c 100644 --- a/.env.example +++ b/.env.example @@ -26,12 +26,13 @@ STRIPE_SECRET= STRIPE_WEBHOOK_SECRET= CASHIER_CURRENCY=usd -DB_CONNECTION=mysql +DB_CONNECTION=mariadb DB_HOST=mariadb DB_PORT=3306 -DB_DATABASE=default -DB_USERNAME=default -DB_PASSWORD=secret +DB_DATABASE=laravel +DB_USERNAME=root +DB_PASSWORD= +DB_COLLATION=utf8mb4_unicode_ci BROADCAST_DRIVER=log CACHE_DRIVER=file diff --git a/.github/workflows/bump-version.yml b/.github/workflows/bump-version.yml deleted file mode 100644 index c5442500b..000000000 --- a/.github/workflows/bump-version.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: Bump version - -on: - push: - branches: - - release - -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: '0' - - - name: Bump version and push tag - uses: anothrNick/github-tag-action@1.36.0 - id: tag - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - WITH_V: true - INITIAL_VERSION: 3.13.3 - RELEASE_BRANCHES: release - - - name: Create release - uses: softprops/action-gh-release@v1 - with: - tag_name: ${{ steps.tag.outputs.new_tag }} - draft: false - prerelease: false - generate_release_notes: true - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml deleted file mode 100644 index 40e36e166..000000000 --- a/.github/workflows/lint.yml +++ /dev/null @@ -1,36 +0,0 @@ -name: Linting - -on: push - -jobs: - lint: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: 8.1 - extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite - coverage: none - - - name: Get Composer cache directory - id: get-composer-cache - run: | - echo "::set-output name=dir::$(composer config cache-files-dir)" - - - name: Restore Composer cache - id: composer-cache - uses: actions/cache@v3 - with: - path: ${{ steps.get-composer-cache.outputs.dir }} - key: ${{ runner.os }}-composer-v3-${{ hashFiles('**/composer.lock') }} - restore-keys: | - ${{ runner.os }}-composer- - - - name: Install Composer dependencies - run: composer install --prefer-dist --ignore-platform-reqs --no-interaction - - - name: Lint - run: ./vendor/bin/pint --test diff --git a/.github/workflows/open-release-pr.yml b/.github/workflows/open-release-pr.yml deleted file mode 100644 index 8a7240eb6..000000000 --- a/.github/workflows/open-release-pr.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Create release PR - -on: - push: - branches: - - master - -jobs: - sync-branches: - runs-on: ubuntu-latest - name: Sync branches - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Set up Node - uses: actions/setup-node@v1 - with: - node-version: 12 - - name: Open pull request - id: pull - uses: tretuna/sync-branches@1.2.0 - with: - GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} - FROM_BRANCH: "master" - TO_BRANCH: "release" - PULL_REQUEST_IS_DRAFT: true - PULL_REQUEST_TITLE: "Release" - PULL_REQUEST_BODY: "Merge this branch when you're ready to release the next version. \n\n:warning: **Please add `#major`, `#minor` or `#patch` to the commit message, or else the version may be bumped incorrectly**" diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1c0be179e..7df325bf3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,6 +1,11 @@ name: Unit Tests -on: push +on: + push: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true jobs: unit-test: @@ -8,22 +13,27 @@ jobs: services: mariadb: - image: mariadb:10.3 + image: mariadb:11.0.5 env: - MYSQL_DATABASE: testing - MYSQL_USER: root - MYSQL_ROOT_PASSWORD: root + MARIADB_DATABASE: testing + MARIADB_USER: user + MARIADB_PASSWORD: password + MARIADB_ROOT_PASSWORD: password ports: - 3306:3306 - options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=5s --health-retries=3 + options: >- + --health-cmd="healthcheck.sh --connect --innodb_initialized" + --health-interval=10s + --health-timeout=5s + --health-retries=3 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: 8.1 + php-version: 8.3 extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite coverage: none @@ -87,22 +97,22 @@ jobs: if: steps.assets-cache.outputs.cache-hit != 'true' run: npm run build + - name: Prepare .env file + run: | + cp .env.example .env + echo "DB_HOST=127.0.0.1" >> .env + echo "DB_USERNAME=root" >> .env + echo "DB_PASSWORD=password" >> .env + - name: Prepare Laravel run: | php artisan key:generate - chmod -R 777 storage bootstrap/cache + chmod -R 755 storage bootstrap/cache - name: Prepare database - env: - DB_HOST: 127.0.0.1 - MYSQL_USER: root - MYSQL_ROOT_PASSWORD: root run: php artisan migrate - - name: Larastan - run: ./vendor/bin/phpstan analyse - - - name: PHPUnit + - name: Run tests env: DB_HOST: 127.0.0.1 MYSQL_USER: root diff --git a/makefile b/Makefile similarity index 100% rename from makefile rename to Makefile diff --git a/README.md b/README.md index 4c9f4e375..896d23533 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ The official repository for [Project City Build](https://projectcitybuild.com)'s homepage and related web services. ### Stack -* Frameworks: Laravel 9, Vue 3 +* Frameworks: Laravel 11, Vue 3 * Environment: Laravel Sail (Docker) * CI/CD: GitHub Actions @@ -21,7 +21,7 @@ All branches, commits and pull-requests are continuously tested ### Requirements -The only requirement is [Docker](https://docs.docker.com/get-docker/), as we use Laravel Sail to boot up a development environment. +[Docker](https://docs.docker.com/get-docker/) is required to run the development environment via Laravel Sail. ## Can I contribute? diff --git a/app/Providers/AppServiceProvider.php b/app/AppServiceProvider.php similarity index 56% rename from app/Providers/AppServiceProvider.php rename to app/AppServiceProvider.php index 10eb34891..922eb0648 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/AppServiceProvider.php @@ -1,33 +1,38 @@ app->bind(StripeClient::class, function ($app) { return new StripeClient(config('services.stripe.secret')); }); - $this->app->bind( abstract: PlayerLookup::class, concrete: ConcretePlayerLookup::class, ); - - // Prevent Cashier's vendor migrations running because we override them - Cashier::ignoreMigrations(); + $this->app->bind( + abstract: GameIPBanRepository::class, + concrete: GameIPBanEloquentRepository::class, + ); + $this->app->bind( + abstract: PlayerWarningRepository::class, + concrete: PlayerWarningEloquentRepository::class, + ); } /** @@ -59,24 +68,34 @@ public function register() */ public function boot() { - Schema::defaultStringLength(191); + $this->enforceMorphMap(); - Cashier::useCustomerModel(Account::class); + $this->bindBladeComponents(); + // Set a default date format for displaying Carbon instances in views + Blade::stringable(function (\Illuminate\Support\Carbon $dateTime) { + return $dateTime->format('j M Y H:i'); + }); + + RateLimiter::for('login', function (Request $request) { + return Limit::perMinute(6)->by($request->ip()); + }); + } + + private function enforceMorphMap(): void + { /** * Enforce that models are mapped to a key. * - * Without mapping, Laravel attempts to store the full namespace - * path to a model in the database, which is easy to break if we - * rename namespaces, move files, etc. Instead we'll store a 'key' - * mapped to the model. + * Laravel stores the full namespace of models in the database by default. This is easily susceptible to + * breakage, so instead we'll force that they be mapped to keys instead. * * @see https://github.com/laravel/framework/pull/38656 */ Relation::enforceMorphMap([ 'account' => Account::class, 'badge' => Badge::class, - 'balance_transaction' => AccountBalanceTransaction::class, + 'balance_transaction' => BalanceTransaction::class, 'ban_appeal' => BanAppeal::class, 'builder_rank_application' => BuilderRankApplication::class, 'donation' => Donation::class, @@ -90,20 +109,14 @@ public function boot() 'server_token' => ServerToken::class, 'player_warning' => PlayerWarning::class, ]); + } + private function bindBladeComponents(): void + { Blade::component('navbar', NavBarComponent::class); Blade::component('donation-bar', DonationBarComponent::class); Blade::component('panel-side-bar', PanelSideBarComponent::class); - Blade::anonymousComponentNamespace('admin.activity.components', 'activity'); - - // Fix the factory() function always searching for factory files with a relative namespace - Factory::guessFactoryNamesUsing(function (string $modelName) { - return 'Database\Factories\\'.class_basename($modelName).'Factory'; - }); - // Set a default date format for displaying Carbon instances in views - Blade::stringable(function (\Illuminate\Support\Carbon $dateTime) { - return $dateTime->format('j M Y H:i'); - }); + Blade::anonymousComponentNamespace('admin.activity.components', 'activity'); } } diff --git a/app/Console/Commands/CleanupExpiredPasswordResetsCommand.php b/app/Console/Commands/CleanupExpiredPasswordResetsCommand.php index 7370933d8..0fc11ba4c 100644 --- a/app/Console/Commands/CleanupExpiredPasswordResetsCommand.php +++ b/app/Console/Commands/CleanupExpiredPasswordResetsCommand.php @@ -2,7 +2,7 @@ namespace App\Console\Commands; -use Domain\PasswordReset\UseCases\DeleteExpiredPasswordResets; +use App\Domains\PasswordReset\UseCases\DeleteExpiredPasswordResets; use Illuminate\Console\Command; use Illuminate\Support\Facades\Log; diff --git a/app/Console/Commands/CleanupUnactivatedAccountsCommand.php b/app/Console/Commands/CleanupUnactivatedAccountsCommand.php index 7d9b5c84f..6a6a26d8e 100644 --- a/app/Console/Commands/CleanupUnactivatedAccountsCommand.php +++ b/app/Console/Commands/CleanupUnactivatedAccountsCommand.php @@ -2,11 +2,11 @@ namespace App\Console\Commands; -use Entities\Models\Eloquent\Account; +use App\Core\Domains\Auditing\Causers\SystemCauser; +use App\Core\Domains\Auditing\Causers\SystemCauseResolver; +use App\Models\Account; use Illuminate\Console\Command; use Illuminate\Support\Facades\Log; -use Library\Auditing\Causers\SystemCauser; -use Library\Auditing\Causers\SystemCauseResolver; final class CleanupUnactivatedAccountsCommand extends Command { diff --git a/app/Console/Commands/DeactivateDonatorPerksCommand.php b/app/Console/Commands/DeactivateDonatorPerksCommand.php index 4934cc7d2..7c901a2d4 100644 --- a/app/Console/Commands/DeactivateDonatorPerksCommand.php +++ b/app/Console/Commands/DeactivateDonatorPerksCommand.php @@ -2,11 +2,11 @@ namespace App\Console\Commands; -use Domain\Donations\UseCases\DeactivateExpiredDonorPerks; +use App\Core\Domains\Auditing\Causers\SystemCauser; +use App\Core\Domains\Auditing\Causers\SystemCauseResolver; +use App\Domains\Donations\UseCases\DeactivateExpiredDonorPerks; use Illuminate\Console\Command; use Illuminate\Support\Facades\Log; -use Library\Auditing\Causers\SystemCauser; -use Library\Auditing\Causers\SystemCauseResolver; final class DeactivateDonatorPerksCommand extends Command { diff --git a/app/Console/Commands/DeactivateExpiredBansCommand.php b/app/Console/Commands/DeactivateExpiredBansCommand.php index 7a13b5dab..89b6ef6fb 100644 --- a/app/Console/Commands/DeactivateExpiredBansCommand.php +++ b/app/Console/Commands/DeactivateExpiredBansCommand.php @@ -2,7 +2,7 @@ namespace App\Console\Commands; -use Domain\Bans\UseCases\ExpirePlayerBans; +use App\Domains\Bans\UseCases\ExpirePlayerBans; use Illuminate\Console\Command; use Illuminate\Support\Facades\Log; diff --git a/app/Console/Commands/GenerateScoutIndexesCommand.php b/app/Console/Commands/GenerateScoutIndexesCommand.php index 2e0493a83..7c9c127a2 100644 --- a/app/Console/Commands/GenerateScoutIndexesCommand.php +++ b/app/Console/Commands/GenerateScoutIndexesCommand.php @@ -2,9 +2,9 @@ namespace App\Console\Commands; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\GamePlayerBan; -use Entities\Models\Eloquent\MinecraftPlayerAlias; +use App\Models\Account; +use App\Models\GamePlayerBan; +use App\Models\MinecraftPlayerAlias; use Illuminate\Console\Command; class GenerateScoutIndexesCommand extends Command diff --git a/app/Console/Commands/RepairMissingGroupsCommand.php b/app/Console/Commands/RepairMissingGroupsCommand.php index 2af6a3e7e..0924cfefb 100644 --- a/app/Console/Commands/RepairMissingGroupsCommand.php +++ b/app/Console/Commands/RepairMissingGroupsCommand.php @@ -2,8 +2,8 @@ namespace App\Console\Commands; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\Group; +use App\Models\Account; +use App\Models\Group; use Illuminate\Console\Command; use Illuminate\Support\Facades\DB; diff --git a/app/Console/Commands/RewardCurrencyToDonorsCommand.php b/app/Console/Commands/RewardCurrencyToDonorsCommand.php deleted file mode 100644 index a71de28bf..000000000 --- a/app/Console/Commands/RewardCurrencyToDonorsCommand.php +++ /dev/null @@ -1,39 +0,0 @@ -execute(); - - return 0; - } -} diff --git a/app/Console/Commands/ServerQueryCommand.php b/app/Console/Commands/ServerQueryCommand.php index 09ea83b9e..e0cbe5900 100644 --- a/app/Console/Commands/ServerQueryCommand.php +++ b/app/Console/Commands/ServerQueryCommand.php @@ -2,10 +2,10 @@ namespace App\Console\Commands; -use Domain\ServerStatus\Exceptions\UnsupportedGameException; -use Domain\ServerStatus\Jobs\ServerQueryJob; -use Domain\ServerStatus\UseCases\QueryServerStatus; -use Entities\Models\Eloquent\Server; +use App\Domains\ServerStatus\Exceptions\UnsupportedGameException; +use App\Domains\ServerStatus\Jobs\ServerQueryJob; +use App\Domains\ServerStatus\UseCases\QueryServerStatus; +use App\Models\Server; use Illuminate\Console\Command; final class ServerQueryCommand extends Command diff --git a/app/Console/Commands/TestServiceCommand.php b/app/Console/Commands/TestServiceCommand.php index 7b9f5dac1..1042dd303 100644 --- a/app/Console/Commands/TestServiceCommand.php +++ b/app/Console/Commands/TestServiceCommand.php @@ -2,19 +2,15 @@ namespace App\Console\Commands; +use App\Core\Domains\Logging\LogTailLoggerFactory; +use App\Core\Domains\Logging\VerifyTailLogIntegration; +use App\Core\Domains\Sentry\VerifySentryIntegration; +use Exception; use Illuminate\Console\Command; -use Library\Logging\VerifyTailLogIntegration; -use Library\Sentry\VerifySentryIntegration; +use Illuminate\Support\Facades\App; final class TestServiceCommand extends Command { - public function __construct( - private VerifyTailLogIntegration $verifyTailLogIntegration, - private VerifySentryIntegration $verifySentryIntegration, - ) { - parent::__construct(); - } - protected $signature = 'test:service {--service=*}'; protected $description = 'Tests the given 3rd-party service'; @@ -30,12 +26,16 @@ public function handle() $serviceName = strtolower($service[0]); switch ($serviceName) { case 'logtail': - $this->verifyTailLogIntegration->sendTestLog(); + $factory = App::make(LogTailLoggerFactory::class); + $logger = $factory(config: []); + $logger->info('Hello World'); $this->info('Sent `Hello World` test log to LogTail'); break; case 'sentry': - $this->verifySentryIntegration->sendTestException(); + app('sentry')->captureException( + new Exception('Sentry integration test. Ignore this') + ); $this->info('Sent test exception to Sentry'); break; diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php deleted file mode 100644 index 463a663fc..000000000 --- a/app/Console/Kernel.php +++ /dev/null @@ -1,97 +0,0 @@ -command('telescope:prune') - ->daily(); - - $schedule->command('horizon:snapshot') - ->everyFiveMinutes(); - - $schedule->command('passport:purge') - ->hourly(); - - $schedule->command('sitemap:generate') - ->daily(); - - $schedule->command('cleanup:password-resets') - ->daily(); - - $schedule->command('cleanup:unactivated-accounts') - ->weekly(); - - $schedule->command('donor-perks:expire') - ->hourly(); - - $schedule->command('donor-perks:reward-currency') - ->hourly(); - - $schedule->command('bans:expire') - ->everyFifteenMinutes(); - - if (! Environment::isLocalDev()) { - $schedule->command('server:query --all --background') - ->everyFiveMinutes(); - - $schedule->command('backup:clean') - ->dailyAt('00:00'); - - $schedule->command('backup:run') - ->dailyAt('01:00'); - - $schedule->command('backup:monitor') - ->dailyAt('02:00'); - } - } - - /** - * Register the Closure based commands for the application. - * - * @return void - */ - protected function commands() - { - require base_path('routes/console.php'); - } -} diff --git a/app/Exceptions/Http/BadRequestException.php b/app/Core/Data/Exceptions/BadRequestException.php similarity index 87% rename from app/Exceptions/Http/BadRequestException.php rename to app/Core/Data/Exceptions/BadRequestException.php index d14cb9bc1..1c5d3e62a 100644 --- a/app/Exceptions/Http/BadRequestException.php +++ b/app/Core/Data/Exceptions/BadRequestException.php @@ -1,6 +1,6 @@ value); return EnvironmentLevel::tryFrom($rawValue); } diff --git a/library/Environment/EnvironmentLevel.php b/app/Core/Domains/Environment/EnvironmentLevel.php similarity index 86% rename from library/Environment/EnvironmentLevel.php rename to app/Core/Domains/Environment/EnvironmentLevel.php index 11e413232..392b10984 100644 --- a/library/Environment/EnvironmentLevel.php +++ b/app/Core/Domains/Environment/EnvironmentLevel.php @@ -1,6 +1,6 @@ app->bind(abstract: Google2FA::class, concrete: Google2FAFake::class); + } + } +} diff --git a/entities/Notifications/AccountMfaBackupCodeRegeneratedNotification.php b/app/Core/Domains/Mfa/Notifications/MfaBackupCodeRegeneratedNotification.php similarity index 91% rename from entities/Notifications/AccountMfaBackupCodeRegeneratedNotification.php rename to app/Core/Domains/Mfa/Notifications/MfaBackupCodeRegeneratedNotification.php index ac843f8e9..e7653323e 100644 --- a/entities/Notifications/AccountMfaBackupCodeRegeneratedNotification.php +++ b/app/Core/Domains/Mfa/Notifications/MfaBackupCodeRegeneratedNotification.php @@ -1,13 +1,13 @@ client = $client; - } + public function __construct( + private readonly Client $client, + ) {} /** * Retrieves the UUID that belongs to the given name at the given time. @@ -25,10 +22,8 @@ public function __construct(Client $client) * * If no time given, uses the current time. * - * * @return MojangPlayer - * - * @throws TooManyRequestsException + * @throws TooManyRequestsException|\GuzzleHttp\Exception\GuzzleException */ public function getUuidOf(string $name, ?int $time = null): ?MojangPlayer { @@ -71,7 +66,6 @@ public function getUuidOf(string $name, ?int $time = null): ?MojangPlayer * * @param $name * @return MojangPlayer - * * @throws TooManyRequestsException */ public function getOriginalOwnerUuidOf(string $name): ?MojangPlayer @@ -86,9 +80,7 @@ public function getOriginalOwnerUuidOf(string $name): ?MojangPlayer * The API only allows a max of 10 names per lookup. * * @return MinecraftPlayer[] - * * @throws TooManyRequestsException - * @throws \Exception */ public function getUuidBatchOf(array $names): ?array { @@ -142,7 +134,6 @@ public function getUuidBatchOf(array $names): ?array * * @param $uuid * @return array|null - * * @throws TooManyRequestsException */ public function getNameHistoryOf($uuid): ?MojangPlayerNameHistory @@ -175,7 +166,6 @@ public function getNameHistoryOf($uuid): ?MojangPlayerNameHistory * * @param $name * @return array|null - * * @throws TooManyRequestsException */ public function getNameHistoryByNameOf($name): ?MojangPlayerNameHistory diff --git a/app/Core/Domains/Mojang/Data/MojangPlayer.php b/app/Core/Domains/Mojang/Data/MojangPlayer.php new file mode 100644 index 000000000..c9034a94f --- /dev/null +++ b/app/Core/Domains/Mojang/Data/MojangPlayer.php @@ -0,0 +1,45 @@ +uuid; + } + + /** + * Player's in-game name. + */ + public function getAlias(): string + { + return $this->alias; + } + + /** + * Whether the account has not migrated to a Mojang account. + */ + public function isLegacyAccount(): bool + { + return $this->isLegacyAccount; + } + + /** + * Whether the account is a free account (ie. unpaid). + */ + public function isDemoAccount(): bool + { + return $this->isDemoAccount; + } +} diff --git a/library/Mojang/Models/MojangPlayerNameChange.php b/app/Core/Domains/Mojang/Data/MojangPlayerNameChange.php similarity index 96% rename from library/Mojang/Models/MojangPlayerNameChange.php rename to app/Core/Domains/Mojang/Data/MojangPlayerNameChange.php index bac2dfd5a..12eaec4a4 100644 --- a/library/Mojang/Models/MojangPlayerNameChange.php +++ b/app/Core/Domains/Mojang/Data/MojangPlayerNameChange.php @@ -1,6 +1,6 @@ "; }); - Validator::extend('recaptcha', 'Library\Recaptcha\Rules\RecaptchaRule@passes'); + Validator::extend('recaptcha', 'App\Core\Domains\Recaptcha\Rules\RecaptchaRule@passes'); } } diff --git a/library/Recaptcha/Rules/RecaptchaRule.php b/app/Core/Domains/Recaptcha/Rules/RecaptchaRule.php similarity index 86% rename from library/Recaptcha/Rules/RecaptchaRule.php rename to app/Core/Domains/Recaptcha/Rules/RecaptchaRule.php index 0e9c3294d..dcf31cf77 100644 --- a/library/Recaptcha/Rules/RecaptchaRule.php +++ b/app/Core/Domains/Recaptcha/Rules/RecaptchaRule.php @@ -1,10 +1,10 @@ isAdmin(); + }); + } +} diff --git a/app/Core/Support/Laravel/LaravelServiceProvider.php b/app/Core/Support/Laravel/LaravelServiceProvider.php new file mode 100644 index 000000000..b669b57ef --- /dev/null +++ b/app/Core/Support/Laravel/LaravelServiceProvider.php @@ -0,0 +1,27 @@ +app->bind( + abstract: SignedURLGenerator::class, + concrete: LaravelSignedURLGenerator::class, + ); + + // Fix the factory() function always searching for factory files with a relative namespace + Factory::guessFactoryNamesUsing(function (string $modelName) { + return 'Database\Factories\\'.class_basename($modelName).'Factory'; + }); + } +} diff --git a/library/SignedURL/Adapters/LaravelSignedURLGenerator.php b/app/Core/Support/Laravel/SignedURL/Adapters/LaravelSignedURLGenerator.php similarity index 85% rename from library/SignedURL/Adapters/LaravelSignedURLGenerator.php rename to app/Core/Support/Laravel/SignedURL/Adapters/LaravelSignedURLGenerator.php index 27d4ba0cd..2b46905c3 100644 --- a/library/SignedURL/Adapters/LaravelSignedURLGenerator.php +++ b/app/Core/Support/Laravel/SignedURL/Adapters/LaravelSignedURLGenerator.php @@ -1,10 +1,10 @@ app->routesAreCached()) { + Route::get('oauth/me', [OAuthController::class, 'show']) + ->middleware('auth:api'); + } + } +} diff --git a/app/Core/Utilities/Traits/HasStaticTable.php b/app/Core/Utilities/Traits/HasStaticTable.php new file mode 100644 index 000000000..058b90b1e --- /dev/null +++ b/app/Core/Utilities/Traits/HasStaticTable.php @@ -0,0 +1,16 @@ +getTable(); + } + + public static function primaryKey(): string + { + return with(new static)->primaryKey; + } +} diff --git a/helpers/ValueJoinable.php b/app/Core/Utilities/Traits/ValueJoinable.php similarity index 95% rename from helpers/ValueJoinable.php rename to app/Core/Utilities/Traits/ValueJoinable.php index 47aac2131..6d5bbe11a 100644 --- a/helpers/ValueJoinable.php +++ b/app/Core/Utilities/Traits/ValueJoinable.php @@ -1,6 +1,6 @@ checkout->sessions->allLineItems( - parentId: $sessionId, + id: $sessionId, params: ['limit' => 1], ); diff --git a/domain/Donations/Entities/Payloads/StripeInvoicePaid.php b/app/Domains/Donations/Data/Payloads/StripeInvoicePaid.php similarity index 88% rename from domain/Donations/Entities/Payloads/StripeInvoicePaid.php rename to app/Domains/Donations/Data/Payloads/StripeInvoicePaid.php index 10cd77d56..f93d530de 100644 --- a/domain/Donations/Entities/Payloads/StripeInvoicePaid.php +++ b/app/Domains/Donations/Data/Payloads/StripeInvoicePaid.php @@ -1,9 +1,9 @@ email_new; diff --git a/domain/EmailChange/UseCases/VerifyEmail.php b/app/Domains/EmailChange/UseCases/VerifyEmail.php similarity index 94% rename from domain/EmailChange/UseCases/VerifyEmail.php rename to app/Domains/EmailChange/UseCases/VerifyEmail.php index 26e3e7833..23db47ed0 100644 --- a/domain/EmailChange/UseCases/VerifyEmail.php +++ b/app/Domains/EmailChange/UseCases/VerifyEmail.php @@ -1,8 +1,8 @@ each(function ($scope) { Gate::define( diff --git a/entities/Notifications/AccountPasswordResetCompleteNotification.php b/app/Domains/PasswordReset/Notifications/AccountPasswordResetCompleteNotification.php similarity index 96% rename from entities/Notifications/AccountPasswordResetCompleteNotification.php rename to app/Domains/PasswordReset/Notifications/AccountPasswordResetCompleteNotification.php index 63e461336..0a79372cb 100644 --- a/entities/Notifications/AccountPasswordResetCompleteNotification.php +++ b/app/Domains/PasswordReset/Notifications/AccountPasswordResetCompleteNotification.php @@ -1,6 +1,6 @@ [ SendEmailVerificationNotification::class, ], ]; - - /** - * Register any events for your application. - * - * @return void - */ - public function boot() - { - parent::boot(); - } } diff --git a/domain/SignUp/UseCases/ActivateUnverifiedAccount.php b/app/Domains/Registration/UseCases/ActivateUnverifiedAccount.php similarity index 80% rename from domain/SignUp/UseCases/ActivateUnverifiedAccount.php rename to app/Domains/Registration/UseCases/ActivateUnverifiedAccount.php index ba1949a88..0bbbc73ec 100644 --- a/domain/SignUp/UseCases/ActivateUnverifiedAccount.php +++ b/app/Domains/Registration/UseCases/ActivateUnverifiedAccount.php @@ -1,9 +1,9 @@ $this->isOnline, 'num_of_players' => $this->numOfPlayers, 'num_of_slots' => $this->numOfSlots, - 'online_player_names' => $this->onlinePlayerNames, ]; } } diff --git a/app/Domains/ServerStatus/Exceptions/UnsupportedGameException.php b/app/Domains/ServerStatus/Exceptions/UnsupportedGameException.php new file mode 100644 index 000000000..8633ba3fa --- /dev/null +++ b/app/Domains/ServerStatus/Exceptions/UnsupportedGameException.php @@ -0,0 +1,5 @@ +port ); - $this->serverRepository->updateStatus( - server: $server, - status: $status, - queriedAt: $now, - ); + $server->updateWithStatus($status, queriedAt: $now); $end = microtime(true) - $start; Log::info('Server status fetched in '.($end / 1000).'ms', $status->toArray()); diff --git a/domain/ServerTokens/ScopeKey.php b/app/Domains/ServerTokens/ScopeKey.php similarity index 85% rename from domain/ServerTokens/ScopeKey.php rename to app/Domains/ServerTokens/ScopeKey.php index 869281655..61226df45 100644 --- a/domain/ServerTokens/ScopeKey.php +++ b/app/Domains/ServerTokens/ScopeKey.php @@ -1,8 +1,8 @@ reportable(function (Throwable $e) { - if (app()->bound('sentry') && $this->shouldReport($e)) { - app('sentry')->captureException($e); - } - }); - - parent::report($exception); - } - - /** - * Render an exception into an HTTP response. - * - * @param \Illuminate\Http\Request $request - * @param Throwable $e - * @return Response|JsonResponse|RedirectResponse - * - * @throws Throwable - */ - public function render($request, Throwable $e): Response|JsonResponse|RedirectResponse - { - // Convert all exceptions to a consistent JSON format - if ($request->is(patterns: 'api/*') && $e instanceof BaseHttpException) { - return response()->json( - data: [ - 'error' => [ - 'id' => $e->getId(), - 'title' => '', /** @deprecated */ - 'detail' => $e->getMessage(), - 'status' => $e->getStatusCode(), - ], - ], - status: $e->getStatusCode(), - ); - } - - return parent::render($request, $e); - } -} diff --git a/app/Http/Controllers/API/v1/GroupAPIController.php b/app/Http/Controllers/API/v1/GroupAPIController.php deleted file mode 100644 index f4892f5d8..000000000 --- a/app/Http/Controllers/API/v1/GroupAPIController.php +++ /dev/null @@ -1,17 +0,0 @@ -execute( - identifier: PlayerIdentifier::minecraftUUID($uuid), - ); - - return [ - 'data' => ['balance' => $balance], - ]; - } catch (NoLinkedAccountException | PlayerNotFoundException) { - return [ - 'data' => ['balance' => 0], - ]; - } - } - - /** - * @throws NoLinkedAccountException - * @throws BadRequestException - * @throws PlayerNotFoundException - * @throws InsufficientBalanceException|InvalidMinecraftUUIDException - */ - public function deduct( - Request $request, - string $uuid, - DeductBalance $deductBalance, - ) { - $this->validateRequest( - requestData: $request->all(), - rules: [ - 'amount' => 'required|int|gt:0', - 'reason' => 'required|string', - ], - ); - $deductBalance->execute( - identifier: PlayerIdentifier::minecraftUUID($uuid), - amount: $request->get('amount'), - reason: $request->get('reason'), - ); - - return [ - 'data' => ['success' => true], - ]; - } -} diff --git a/app/Http/Controllers/API/v1/AccountSearchController.php b/app/Http/Controllers/Api/v1/AccountSearchController.php similarity index 73% rename from app/Http/Controllers/API/v1/AccountSearchController.php rename to app/Http/Controllers/Api/v1/AccountSearchController.php index 928d2a52a..9577e0b6a 100644 --- a/app/Http/Controllers/API/v1/AccountSearchController.php +++ b/app/Http/Controllers/Api/v1/AccountSearchController.php @@ -1,9 +1,9 @@ ['balance' => 0], + ]; + } + + /** + * @deprecated + */ + public function deduct( + Request $request, + string $uuid, + ) { + return [ + 'data' => ['success' => false], + ]; + } +} diff --git a/app/Http/Controllers/API/v1/MinecraftDonationTierController.php b/app/Http/Controllers/Api/v1/MinecraftDonationTierController.php similarity index 59% rename from app/Http/Controllers/API/v1/MinecraftDonationTierController.php rename to app/Http/Controllers/Api/v1/MinecraftDonationTierController.php index 98eb17d60..0745f3749 100644 --- a/app/Http/Controllers/API/v1/MinecraftDonationTierController.php +++ b/app/Http/Controllers/Api/v1/MinecraftDonationTierController.php @@ -1,13 +1,13 @@ execute( token: $request->get('token'), email: $request->get('email'), - onHalfComplete: fn (AccountEmailChange $changeRequest) => view( + onHalfComplete: fn (EmailChange $changeRequest) => view( view: 'front.pages.account.account-settings-email-confirm', data: ['changeRequest' => $changeRequest] ), - onBothComplete: function (AccountEmailChange $changeRequest) use ($updateAccountEmail) { + onBothComplete: function (EmailChange $changeRequest) use ($updateAccountEmail) { $updateAccountEmail->execute( account: $changeRequest->account, emailChangeRequest: $changeRequest, diff --git a/app/Http/Controllers/Front/Account/Mfa/DisableMfaController.php b/app/Http/Controllers/Front/Account/Mfa/DisableMfaController.php index 2d379927f..d6cca99c3 100644 --- a/app/Http/Controllers/Front/Account/Mfa/DisableMfaController.php +++ b/app/Http/Controllers/Front/Account/Mfa/DisableMfaController.php @@ -2,8 +2,8 @@ namespace App\Http\Controllers\Front\Account\Mfa; +use App\Core\Domains\Mfa\Notifications\MfaDisabledNotification; use App\Http\Controllers\WebController; -use Entities\Notifications\AccountMfaDisabledNotification; use Illuminate\Http\Request; class DisableMfaController extends WebController @@ -22,7 +22,7 @@ public function destroy(Request $request) $account = $request->user(); $account->resetTotp(); $account->save(); - $account->notify(new AccountMfaDisabledNotification()); + $account->notify(new MfaDisabledNotification()); return redirect(route('front.account.security'))->with(['mfa_disabled' => true]); } diff --git a/app/Http/Controllers/Front/Account/Mfa/FinishMfaController.php b/app/Http/Controllers/Front/Account/Mfa/FinishMfaController.php index f39a8fa0d..e9edd378f 100644 --- a/app/Http/Controllers/Front/Account/Mfa/FinishMfaController.php +++ b/app/Http/Controllers/Front/Account/Mfa/FinishMfaController.php @@ -2,8 +2,8 @@ namespace App\Http\Controllers\Front\Account\Mfa; +use App\Core\Domains\Mfa\Notifications\MfaEnabledNotification; use App\Http\Controllers\WebController; -use Entities\Notifications\AccountMfaEnabledNotification; use Illuminate\Http\Request; use Illuminate\Support\Facades\Crypt; use Illuminate\Validation\ValidationException; @@ -60,7 +60,7 @@ public function __invoke(Request $request) $request->user()->totp_last_used = $keyTimestamp; $request->user()->save(); - $request->user()->notify(new AccountMfaEnabledNotification()); + $request->user()->notify(new MfaEnabledNotification()); return redirect()->route('front.account.security')->with([ 'mfa_setup_finished' => true, diff --git a/app/Http/Controllers/Front/Account/Mfa/ResetBackupController.php b/app/Http/Controllers/Front/Account/Mfa/ResetBackupController.php index 233d96b49..fcb55485e 100644 --- a/app/Http/Controllers/Front/Account/Mfa/ResetBackupController.php +++ b/app/Http/Controllers/Front/Account/Mfa/ResetBackupController.php @@ -2,8 +2,8 @@ namespace App\Http\Controllers\Front\Account\Mfa; +use App\Core\Domains\Mfa\Notifications\MfaBackupCodeRegeneratedNotification; use App\Http\Controllers\WebController; -use Entities\Notifications\AccountMfaBackupCodeRegeneratedNotification; use Illuminate\Http\Request; use Illuminate\Support\Facades\Crypt; use Illuminate\Support\Str; @@ -28,7 +28,7 @@ public function update(Request $request) $backupCode = Str::random(config('auth.totp.backup_code_length')); $request->user()->totp_backup_code = Crypt::encryptString($backupCode); $request->user()->save(); - $request->user()->notify(new AccountMfaBackupCodeRegeneratedNotification()); + $request->user()->notify(new MfaBackupCodeRegeneratedNotification()); return view('front.pages.account.security.backup-refresh-new-code')->with(compact('backupCode')); } diff --git a/app/Http/Controllers/Front/BanAppeal/BanAppealController.php b/app/Http/Controllers/Front/BanAppeal/BanAppealController.php index f901ca4b1..ecac077ad 100644 --- a/app/Http/Controllers/Front/BanAppeal/BanAppealController.php +++ b/app/Http/Controllers/Front/BanAppeal/BanAppealController.php @@ -2,12 +2,12 @@ namespace App\Http\Controllers\Front\BanAppeal; +use App\Domains\BanAppeals\Exceptions\EmailRequiredException; +use App\Domains\BanAppeals\UseCases\CreateBanAppeal; use App\Http\Controllers\WebController; use App\Http\Requests\StoreBanAppealRequest; -use Domain\BanAppeals\Exceptions\EmailRequiredException; -use Domain\BanAppeals\UseCases\CreateBanAppeal; -use Entities\Models\Eloquent\BanAppeal; -use Entities\Models\Eloquent\GamePlayerBan; +use App\Models\BanAppeal; +use App\Models\GamePlayerBan; use Illuminate\Auth\Access\AuthorizationException; use Illuminate\Http\Request; use Illuminate\Http\Response; diff --git a/app/Http/Controllers/Front/BanAppeal/BanLookupController.php b/app/Http/Controllers/Front/BanAppeal/BanLookupController.php index 9a528cb78..384bad24f 100644 --- a/app/Http/Controllers/Front/BanAppeal/BanLookupController.php +++ b/app/Http/Controllers/Front/BanAppeal/BanLookupController.php @@ -2,27 +2,18 @@ namespace App\Http\Controllers\Front\BanAppeal; -use App\Exceptions\Http\TooManyRequestsException; +use App\Core\Data\Exceptions\TooManyRequestsException; +use App\Core\Domains\PlayerLookup\Exceptions\PlayerNotFoundException; +use App\Domains\Bans\Exceptions\NotBannedException; +use App\Domains\Bans\UseCases\LookupPlayerBan; use App\Http\Controllers\WebController; use App\Http\Requests\BanLookupRequest; -use Domain\Bans\Exceptions\NotBannedException; -use Domain\Bans\UseCases\LookupPlayerBan; use Illuminate\Validation\ValidationException; -use Library\RateLimit\Storage\SessionTokenStorage; -use Library\RateLimit\TokenBucket; -use Library\RateLimit\TokenRate; -use Shared\PlayerLookup\Exceptions\PlayerNotFoundException; class BanLookupController extends WebController { public function __invoke(BanLookupRequest $request, LookupPlayerBan $useCase) { - if (! $this->rateLimiter()->consume(1)) { - throw ValidationException::withMessages([ - 'error' => ['Too many lookup attempts. Please try again later.'], - ]); - } - try { $ban = $useCase->execute($request->get('username')); @@ -41,17 +32,4 @@ public function __invoke(BanLookupRequest $request, LookupPlayerBan $useCase) ]); } } - - private function rateLimiter() - { - return new TokenBucket( - capacity: 6, - refillRate: TokenRate::refill(3) - ->every(2, TokenRate::MINUTES), - storage: new SessionTokenStorage( - sessionName: 'banLookup.rate', - initialTokens: 3 - ), - ); - } } diff --git a/app/Http/Controllers/Front/BanlistController.php b/app/Http/Controllers/Front/BanlistController.php index bc88e5698..b688d65fb 100644 --- a/app/Http/Controllers/Front/BanlistController.php +++ b/app/Http/Controllers/Front/BanlistController.php @@ -3,7 +3,7 @@ namespace App\Http\Controllers\Front; use App\Http\Controllers\WebController; -use Entities\Models\Eloquent\GamePlayerBan; +use App\Models\GamePlayerBan; use Illuminate\Http\Request; final class BanlistController extends WebController diff --git a/app/Http/Controllers/Front/BuilderRankApplicationController.php b/app/Http/Controllers/Front/BuilderRankApplicationController.php index 1974c7921..aed342d5a 100644 --- a/app/Http/Controllers/Front/BuilderRankApplicationController.php +++ b/app/Http/Controllers/Front/BuilderRankApplicationController.php @@ -2,12 +2,12 @@ namespace App\Http\Controllers\Front; +use App\Domains\BuilderRankApplications\Data\BuilderRank; +use App\Domains\BuilderRankApplications\Exceptions\ApplicationAlreadyInProgressException; +use App\Domains\BuilderRankApplications\UseCases\CreateBuildRankApplication; use App\Http\Controllers\WebController; use App\Http\Requests\BuilderRankApplicationRequest; -use Domain\BuilderRankApplications\Entities\BuilderRank; -use Domain\BuilderRankApplications\Exceptions\ApplicationAlreadyInProgressException; -use Domain\BuilderRankApplications\UseCases\CreateBuildRankApplication; -use Entities\Models\Eloquent\Account; +use App\Models\Account; use Illuminate\Http\Request; use Repositories\BuilderRankApplicationRepository; diff --git a/app/Http/Controllers/Front/DonationController.php b/app/Http/Controllers/Front/DonationController.php index 04691a42c..256cc6a29 100644 --- a/app/Http/Controllers/Front/DonationController.php +++ b/app/Http/Controllers/Front/DonationController.php @@ -2,8 +2,8 @@ namespace App\Http\Controllers\Front; +use App\Domains\Donations\UseCases\BeginCheckout; use App\Http\Controllers\WebController; -use Domain\Donations\UseCases\BeginCheckout; use Illuminate\Http\Request; final class DonationController extends WebController diff --git a/app/Http/Controllers/Front/HomeController.php b/app/Http/Controllers/Front/HomeController.php index c0bb5be8f..7e64dd59a 100644 --- a/app/Http/Controllers/Front/HomeController.php +++ b/app/Http/Controllers/Front/HomeController.php @@ -3,9 +3,9 @@ namespace App\Http\Controllers\Front; use App\Http\Controllers\WebController; +use App\Models\Donation; +use App\Models\Server; use Carbon\Carbon; -use Entities\Models\Eloquent\Donation; -use Entities\Models\Eloquent\Server; final class HomeController extends WebController { @@ -23,7 +23,7 @@ public function index() $lastYear = $now->subYear()->year; $totalDonationsLastYear = Donation::whereYear('created_at', $lastYear)->sum('amount'); - return view('front.pages.home', [ + return view('front.pages.home.index', [ 'servers' => Server::where('is_visible', true)->get(), 'donations' => [ 'raised_last_year' => $totalDonationsLastYear ?: 0, diff --git a/app/Http/Controllers/Front/LoginController.php b/app/Http/Controllers/Front/LoginController.php index 7e24c82af..f28462aec 100644 --- a/app/Http/Controllers/Front/LoginController.php +++ b/app/Http/Controllers/Front/LoginController.php @@ -2,21 +2,18 @@ namespace App\Http\Controllers\Front; +use App\Domains\Login\Entities\LoginCredentials; +use App\Domains\Login\Exceptions\AccountNotActivatedException; +use App\Domains\Login\Exceptions\InvalidLoginCredentialsException; +use App\Domains\Login\UseCases\LoginAccount; +use App\Domains\Registration\Exceptions\AccountAlreadyActivatedException; +use App\Domains\Registration\UseCases\ResendActivationEmail; use App\Http\Controllers\WebController; use App\Http\Requests\LoginRequest; -use Domain\Login\Entities\LoginCredentials; -use Domain\Login\Exceptions\AccountNotActivatedException; -use Domain\Login\Exceptions\InvalidLoginCredentialsException; -use Domain\Login\UseCases\LoginAccount; -use Domain\SignUp\Exceptions\AccountAlreadyActivatedException; -use Domain\SignUp\UseCases\ResendActivationEmail; use Illuminate\Contracts\View\View; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\Validation\ValidationException; -use Library\RateLimit\Storage\SessionTokenStorage; -use Library\RateLimit\TokenBucket; -use Library\RateLimit\TokenRate; final class LoginController extends WebController { @@ -31,22 +28,6 @@ public function login( ): RedirectResponse { $input = $request->validated(); - $rateLimit = new TokenBucket( - capacity: 6, - refillRate: TokenRate::refill(3) - ->every(2, TokenRate::MINUTES), - storage: new SessionTokenStorage( - sessionName: 'login.rate', - initialTokens: 5 - ), - ); - - if (! $rateLimit->consume(1)) { - throw ValidationException::withMessages([ - 'error' => ['Too many login attempts. Please try again in a few minutes'], - ]); - } - $credentials = new LoginCredentials( email: $input['email'], password: $input['password'], @@ -59,9 +40,8 @@ public function login( ip: $request->ip(), ); } catch (InvalidLoginCredentialsException) { - $triesLeft = floor($rateLimit->getAvailableTokens()); throw ValidationException::withMessages([ - 'error' => ['Email or password is incorrect: '.$triesLeft.' attempts remaining'], + 'error' => ['Email or password is incorrect'], ]); } catch (AccountNotActivatedException) { throw ValidationException::withMessages([ diff --git a/app/Http/Controllers/Front/LogoutController.php b/app/Http/Controllers/Front/LogoutController.php index bc8789a43..3d7899035 100644 --- a/app/Http/Controllers/Front/LogoutController.php +++ b/app/Http/Controllers/Front/LogoutController.php @@ -2,8 +2,8 @@ namespace App\Http\Controllers\Front; +use App\Domains\Login\UseCases\LogoutAccount; use App\Http\Controllers\WebController; -use Domain\Login\UseCases\LogoutAccount; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; diff --git a/app/Http/Controllers/Front/MfaBackupController.php b/app/Http/Controllers/Front/MfaBackupController.php index 49c53e38c..a87822a0e 100644 --- a/app/Http/Controllers/Front/MfaBackupController.php +++ b/app/Http/Controllers/Front/MfaBackupController.php @@ -2,9 +2,9 @@ namespace App\Http\Controllers\Front; +use App\Core\Domains\Mfa\Notifications\MfaBackupCodeUsedNotification; +use App\Domains\Login\UseCases\LogoutAccount; use App\Http\Controllers\WebController; -use Domain\Login\UseCases\LogoutAccount; -use Entities\Notifications\AccountMfaBackupCodeUsedNotification; use Illuminate\Http\Request; use Illuminate\Support\Facades\Crypt; @@ -29,7 +29,7 @@ public function destroy(Request $request, LogoutAccount $logoutService) $request->user()->resetTotp(); $request->user()->save(); - $request->user()->notify(new AccountMfaBackupCodeUsedNotification()); + $request->user()->notify(new MfaBackupCodeUsedNotification()); $logoutService->execute(); $request->session()->flush(); $request->session()->regenerateToken(); diff --git a/app/Http/Controllers/Front/MinecraftPlayerLinkController.php b/app/Http/Controllers/Front/MinecraftPlayerLinkController.php index 65beb23ef..e98abce07 100644 --- a/app/Http/Controllers/Front/MinecraftPlayerLinkController.php +++ b/app/Http/Controllers/Front/MinecraftPlayerLinkController.php @@ -3,7 +3,7 @@ namespace App\Http\Controllers\Front; use App\Http\Controllers\WebController; -use Entities\Models\Eloquent\MinecraftAuthCode; +use App\Models\MinecraftAuthCode; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; diff --git a/app/Http/Controllers/Front/PageController.php b/app/Http/Controllers/Front/PageController.php deleted file mode 100644 index b0469104c..000000000 --- a/app/Http/Controllers/Front/PageController.php +++ /dev/null @@ -1,21 +0,0 @@ -first(); - - if ($page === null || $page->is_draft) { - abort(404); - } - - return view('front.pages.page', ['page' => $page]); - } -} diff --git a/app/Http/Controllers/Front/PasswordResetController.php b/app/Http/Controllers/Front/PasswordResetController.php index fe5006708..32e5364f2 100644 --- a/app/Http/Controllers/Front/PasswordResetController.php +++ b/app/Http/Controllers/Front/PasswordResetController.php @@ -2,12 +2,12 @@ namespace App\Http\Controllers\Front; -use App\Exceptions\Http\NotFoundException; +use App\Core\Data\Exceptions\NotFoundException; +use App\Domains\PasswordReset\UseCases\ResetAccountPassword; +use App\Domains\PasswordReset\UseCases\SendPasswordResetEmail; use App\Http\Controllers\WebController; use App\Http\Requests\ResetPasswordRequest; use App\Http\Requests\SendPasswordEmailRequest; -use Domain\PasswordReset\UseCases\ResetAccountPassword; -use Domain\PasswordReset\UseCases\SendPasswordResetEmail; use Illuminate\Http\Request; use Repositories\AccountPasswordResetRepository; diff --git a/app/Http/Controllers/Front/RegisterController.php b/app/Http/Controllers/Front/RegisterController.php index 61e89e171..0123c4618 100644 --- a/app/Http/Controllers/Front/RegisterController.php +++ b/app/Http/Controllers/Front/RegisterController.php @@ -2,11 +2,11 @@ namespace App\Http\Controllers\Front; +use App\Domains\Registration\Exceptions\AccountAlreadyActivatedException; +use App\Domains\Registration\UseCases\ActivateUnverifiedAccount; +use App\Domains\Registration\UseCases\CreateUnactivatedAccount; use App\Http\Controllers\WebController; use App\Http\Requests\RegisterRequest; -use Domain\SignUp\Exceptions\AccountAlreadyActivatedException; -use Domain\SignUp\UseCases\ActivateUnverifiedAccount; -use Domain\SignUp\UseCases\CreateUnactivatedAccount; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\Http\Response; diff --git a/app/Http/Controllers/Panel/AccountActivate.php b/app/Http/Controllers/Panel/AccountActivate.php index 01413dab6..d5e54826c 100644 --- a/app/Http/Controllers/Panel/AccountActivate.php +++ b/app/Http/Controllers/Panel/AccountActivate.php @@ -3,7 +3,7 @@ namespace App\Http\Controllers\Panel; use App\Http\Controllers\WebController; -use Entities\Models\Eloquent\Account; +use App\Models\Account; class AccountActivate extends WebController { diff --git a/app/Http/Controllers/Panel/AccountApproveEmailChange.php b/app/Http/Controllers/Panel/AccountApproveEmailChange.php index 3342c7fce..a02c05791 100644 --- a/app/Http/Controllers/Panel/AccountApproveEmailChange.php +++ b/app/Http/Controllers/Panel/AccountApproveEmailChange.php @@ -2,14 +2,14 @@ namespace App\Http\Controllers\Panel; +use App\Domains\EmailChange\UseCases\UpdateAccountEmail; use App\Http\Controllers\WebController; -use Domain\EmailChange\UseCases\UpdateAccountEmail; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\AccountEmailChange; +use App\Models\Account; +use App\Models\EmailChange; class AccountApproveEmailChange extends WebController { - public function __invoke(Account $account, AccountEmailChange $accountEmailChange, UpdateAccountEmail $updateAccountEmail) + public function __invoke(Account $account, EmailChange $accountEmailChange, UpdateAccountEmail $updateAccountEmail) { if (! $accountEmailChange->account->is($account)) { abort(422); diff --git a/app/Http/Controllers/Panel/AccountController.php b/app/Http/Controllers/Panel/AccountController.php index 001df5045..801b934f6 100644 --- a/app/Http/Controllers/Panel/AccountController.php +++ b/app/Http/Controllers/Panel/AccountController.php @@ -3,9 +3,9 @@ namespace App\Http\Controllers\Panel; use App\Http\Controllers\WebController; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\Badge; -use Entities\Models\Eloquent\Group; +use App\Models\Account; +use App\Models\Badge; +use App\Models\Group; use Illuminate\Http\Request; class AccountController extends WebController diff --git a/app/Http/Controllers/Panel/AccountGameAccount.php b/app/Http/Controllers/Panel/AccountGameAccount.php index 025affe5a..3faa11296 100644 --- a/app/Http/Controllers/Panel/AccountGameAccount.php +++ b/app/Http/Controllers/Panel/AccountGameAccount.php @@ -2,8 +2,8 @@ namespace App\Http\Controllers\Panel; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\MinecraftPlayer; +use App\Models\Account; +use App\Models\MinecraftPlayer; class AccountGameAccount { diff --git a/app/Http/Controllers/Panel/AccountResendActivation.php b/app/Http/Controllers/Panel/AccountResendActivation.php index fc27d8e78..124a6154c 100644 --- a/app/Http/Controllers/Panel/AccountResendActivation.php +++ b/app/Http/Controllers/Panel/AccountResendActivation.php @@ -2,8 +2,8 @@ namespace App\Http\Controllers\Panel; -use Entities\Models\Eloquent\Account; -use Entities\Notifications\AccountActivationNotification; +use App\Domains\Registration\Notifications\AccountActivationNotification; +use App\Models\Account; class AccountResendActivation { diff --git a/app/Http/Controllers/Panel/AccountUpdateBadges.php b/app/Http/Controllers/Panel/AccountUpdateBadges.php index f9f0317a4..dbd4c9e34 100644 --- a/app/Http/Controllers/Panel/AccountUpdateBadges.php +++ b/app/Http/Controllers/Panel/AccountUpdateBadges.php @@ -2,7 +2,7 @@ namespace App\Http\Controllers\Panel; -use Entities\Models\Eloquent\Account; +use App\Models\Account; use Illuminate\Http\Request; class AccountUpdateBadges diff --git a/app/Http/Controllers/Panel/AccountUpdateGroups.php b/app/Http/Controllers/Panel/AccountUpdateGroups.php index bbd9a1f10..99881de66 100644 --- a/app/Http/Controllers/Panel/AccountUpdateGroups.php +++ b/app/Http/Controllers/Panel/AccountUpdateGroups.php @@ -2,7 +2,7 @@ namespace App\Http\Controllers\Panel; -use Entities\Models\Eloquent\Account; +use App\Models\Account; use Illuminate\Http\Request; class AccountUpdateGroups diff --git a/app/Http/Controllers/Panel/ActivityController.php b/app/Http/Controllers/Panel/ActivityController.php index de7f2e8b6..9d2aa191d 100644 --- a/app/Http/Controllers/Panel/ActivityController.php +++ b/app/Http/Controllers/Panel/ActivityController.php @@ -4,7 +4,7 @@ use App\Http\Concerns\FiltersWithParameters; use App\Http\Controllers\WebController; -use Entities\Models\Eloquent\Activity; +use App\Models\Activity; class ActivityController extends WebController { diff --git a/app/Http/Controllers/Panel/BadgeController.php b/app/Http/Controllers/Panel/BadgeController.php index f551986b5..45a39219b 100644 --- a/app/Http/Controllers/Panel/BadgeController.php +++ b/app/Http/Controllers/Panel/BadgeController.php @@ -3,7 +3,7 @@ namespace App\Http\Controllers\Panel; use App\Http\Controllers\WebController; -use Entities\Models\Eloquent\Badge; +use App\Models\Badge; use Illuminate\Contracts\Foundation\Application; use Illuminate\Contracts\View\Factory; use Illuminate\Contracts\View\View; diff --git a/app/Http/Controllers/Panel/BanAppealController.php b/app/Http/Controllers/Panel/BanAppealController.php index 29bb8de64..13650c4c6 100644 --- a/app/Http/Controllers/Panel/BanAppealController.php +++ b/app/Http/Controllers/Panel/BanAppealController.php @@ -2,15 +2,15 @@ namespace App\Http\Controllers\Panel; -use App\Exceptions\Http\NotImplementedException; +use App\Core\Data\Exceptions\NotImplementedException; +use App\Domains\BanAppeals\Entities\BanAppealStatus; +use App\Domains\BanAppeals\Exceptions\AppealAlreadyDecidedException; +use App\Domains\BanAppeals\Notifications\BanAppealUpdatedNotification; +use App\Domains\BanAppeals\UseCases\UpdateBanAppeal; +use App\Domains\Bans\Exceptions\NotBannedException; +use App\Domains\Panel\Exceptions\NoPlayerForActionException; use App\Http\Requests\BanAppealUpdateRequest; -use Domain\BanAppeals\Entities\BanAppealStatus; -use Domain\BanAppeals\Exceptions\AppealAlreadyDecidedException; -use Domain\BanAppeals\UseCases\UpdateBanAppeal; -use Domain\Bans\Exceptions\NotBannedException; -use Domain\Panel\Exceptions\NoPlayerForActionException; -use Entities\Models\Eloquent\BanAppeal; -use Entities\Notifications\BanAppealUpdatedNotification; +use App\Models\BanAppeal; use Illuminate\Validation\ValidationException; use Repositories\BanAppealRepository; diff --git a/app/Http/Controllers/Panel/BuilderRanksController.php b/app/Http/Controllers/Panel/BuilderRanksController.php index ae33dbb24..2ee979117 100644 --- a/app/Http/Controllers/Panel/BuilderRanksController.php +++ b/app/Http/Controllers/Panel/BuilderRanksController.php @@ -2,10 +2,10 @@ namespace App\Http\Controllers\Panel; +use App\Domains\BuilderRankApplications\UseCases\ApproveBuildRankApplication; +use App\Domains\BuilderRankApplications\UseCases\DenyBuildRankApplication; use App\Http\Controllers\WebController; -use Domain\BuilderRankApplications\UseCases\ApproveBuildRankApplication; -use Domain\BuilderRankApplications\UseCases\DenyBuildRankApplication; -use Entities\Models\Eloquent\Group; +use App\Models\Group; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; use Illuminate\Validation\Rule; diff --git a/app/Http/Controllers/Panel/DonationController.php b/app/Http/Controllers/Panel/DonationController.php index 8bc7d3c77..91c6fc298 100644 --- a/app/Http/Controllers/Panel/DonationController.php +++ b/app/Http/Controllers/Panel/DonationController.php @@ -3,7 +3,7 @@ namespace App\Http\Controllers\Panel; use App\Http\Controllers\WebController; -use Entities\Models\Eloquent\Donation; +use App\Models\Donation; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; diff --git a/app/Http/Controllers/Panel/DonationPerksController.php b/app/Http/Controllers/Panel/DonationPerksController.php index 8443b8582..3c15a6f29 100644 --- a/app/Http/Controllers/Panel/DonationPerksController.php +++ b/app/Http/Controllers/Panel/DonationPerksController.php @@ -3,7 +3,7 @@ namespace App\Http\Controllers\Panel; use App\Http\Controllers\WebController; -use Entities\Models\Eloquent\DonationPerk; +use App\Models\DonationPerk; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; diff --git a/app/Http/Controllers/Panel/GameIPBanController.php b/app/Http/Controllers/Panel/GameIPBanController.php index d7daee394..4feffb260 100644 --- a/app/Http/Controllers/Panel/GameIPBanController.php +++ b/app/Http/Controllers/Panel/GameIPBanController.php @@ -3,7 +3,7 @@ namespace App\Http\Controllers\Panel; use App\Http\Controllers\WebController; -use Entities\Models\Eloquent\GameIPBan; +use App\Models\GameIPBan; use Illuminate\Contracts\View\View; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; diff --git a/app/Http/Controllers/Panel/GamePlayerBanController.php b/app/Http/Controllers/Panel/GamePlayerBanController.php index dd660092a..048b5d65e 100644 --- a/app/Http/Controllers/Panel/GamePlayerBanController.php +++ b/app/Http/Controllers/Panel/GamePlayerBanController.php @@ -2,9 +2,9 @@ namespace App\Http\Controllers\Panel; +use App\Domains\Bans\Data\UnbanType; use App\Http\Controllers\WebController; -use Domain\Bans\UnbanType; -use Entities\Models\Eloquent\GamePlayerBan; +use App\Models\GamePlayerBan; use Illuminate\Contracts\View\View; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; diff --git a/app/Http/Controllers/Panel/GroupAccountController.php b/app/Http/Controllers/Panel/GroupAccountController.php index b78d765a6..fb16bb847 100644 --- a/app/Http/Controllers/Panel/GroupAccountController.php +++ b/app/Http/Controllers/Panel/GroupAccountController.php @@ -3,7 +3,7 @@ namespace App\Http\Controllers\Panel; use App\Http\Controllers\WebController; -use Entities\Models\Eloquent\Group; +use App\Models\Group; class GroupAccountController extends WebController { diff --git a/app/Http/Controllers/Panel/GroupController.php b/app/Http/Controllers/Panel/GroupController.php index c55055338..a116e90ea 100644 --- a/app/Http/Controllers/Panel/GroupController.php +++ b/app/Http/Controllers/Panel/GroupController.php @@ -3,7 +3,7 @@ namespace App\Http\Controllers\Panel; use App\Http\Controllers\WebController; -use Entities\Models\Eloquent\Group; +use App\Models\Group; class GroupController extends WebController { diff --git a/app/Http/Controllers/Panel/MinecraftPlayerController.php b/app/Http/Controllers/Panel/MinecraftPlayerController.php index 6ca71c72c..1bfadd07e 100644 --- a/app/Http/Controllers/Panel/MinecraftPlayerController.php +++ b/app/Http/Controllers/Panel/MinecraftPlayerController.php @@ -2,11 +2,11 @@ namespace App\Http\Controllers\Panel; +use App\Core\Domains\Mojang\Api\MojangPlayerApi; use App\Http\Controllers\WebController; -use Entities\Models\Eloquent\MinecraftPlayer; +use App\Models\MinecraftPlayer; use Illuminate\Http\Request; use Illuminate\Validation\ValidationException; -use Library\Mojang\Api\MojangPlayerApi; class MinecraftPlayerController extends WebController { diff --git a/app/Http/Controllers/Panel/MinecraftPlayerLookupController.php b/app/Http/Controllers/Panel/MinecraftPlayerLookupController.php index 031653ce9..8024ddae0 100644 --- a/app/Http/Controllers/Panel/MinecraftPlayerLookupController.php +++ b/app/Http/Controllers/Panel/MinecraftPlayerLookupController.php @@ -2,13 +2,13 @@ namespace App\Http\Controllers\Panel; -use App\Exceptions\Http\TooManyRequestsException; +use App\Core\Data\Exceptions\TooManyRequestsException; +use App\Core\Domains\Mojang\Api\MojangPlayerApi; use App\Http\Controllers\WebController; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\Eloquent\MinecraftPlayerAlias; +use App\Models\MinecraftPlayer; +use App\Models\MinecraftPlayerAlias; use Illuminate\Http\Request; use Illuminate\Support\Facades\App; -use Library\Mojang\Api\MojangPlayerApi; class MinecraftPlayerLookupController extends WebController { diff --git a/app/Http/Controllers/Panel/MinecraftPlayerReloadAliasController.php b/app/Http/Controllers/Panel/MinecraftPlayerReloadAliasController.php index c7b9e2ce9..e0c50b4ee 100644 --- a/app/Http/Controllers/Panel/MinecraftPlayerReloadAliasController.php +++ b/app/Http/Controllers/Panel/MinecraftPlayerReloadAliasController.php @@ -2,10 +2,10 @@ namespace App\Http\Controllers\Panel; +use App\Core\Domains\Mojang\Api\MojangPlayerApi; use App\Http\Controllers\WebController; -use Entities\Models\Eloquent\MinecraftPlayer; +use App\Models\MinecraftPlayer; use Illuminate\Http\Request; -use Library\Mojang\Api\MojangPlayerApi; class MinecraftPlayerReloadAliasController extends WebController { @@ -14,7 +14,7 @@ class MinecraftPlayerReloadAliasController extends WebController * * @return \Illuminate\Http\Response * - * @throws \App\Exceptions\Http\TooManyRequestsException + * @throws \App\Core\Data\Exceptions\TooManyRequestsException */ public function __invoke(Request $request, MinecraftPlayer $minecraftPlayer, MojangPlayerApi $api) { diff --git a/app/Http/Controllers/Panel/PageController.php b/app/Http/Controllers/Panel/PageController.php deleted file mode 100644 index 3d27c7766..000000000 --- a/app/Http/Controllers/Panel/PageController.php +++ /dev/null @@ -1,126 +0,0 @@ -with(compact('pages')); - } - - /** - * Show the form for creating the specified resource. - * - * @return Application|Factory|View - */ - public function create(Request $request) - { - $page = new Page(); - - return view('admin.page.create')->with(compact('page')); - } - - /** - * Add a specified resource in storage. - * - * @return RedirectResponse - */ - public function store(Request $request) - { - $validator = Validator::make($request->all(), [ - 'title' => 'required|string', - 'url' => 'required|alpha_dash|unique:pages,url', - 'description' => 'required', - 'contents' => 'required', - 'is_draft' => 'integer', - ]); - - if ($validator->fails()) { - return redirect()->back() - ->withErrors($validator) - ->withInput(); - } - - Page::create([ - 'title' => $request->get('title'), - 'url' => $request->get('url'), - 'description' => $request->get('description'), - 'contents' => $request->get('contents'), - 'is_draft' => $request->get('is_draft') ?? 0, - ]); - - return redirect(route('front.panel.pages.index')); - } - - /** - * Show the form for editing the specified resource. - * - * @return Application|Factory|View - */ - public function edit(Page $page) - { - return view('admin.page.edit')->with(compact('page')); - } - - /** - * Update the specified resource in storage. - * - * @return RedirectResponse - */ - public function update(Request $request, Page $page) - { - $validator = Validator::make($request->all(), [ - 'title' => 'required|string', - 'url' => ['required', 'alpha_dash', Rule::unique('pages', 'title')->ignore($page->getKey(), 'page_id')], - 'description' => 'required', - 'contents' => 'required', - 'is_draft' => 'integer', - ]); - - if ($validator->fails()) { - return redirect()->back() - ->withErrors($validator) - ->withInput(); - } - - $attributes = $request->all(); - if (! $request->has('is_draft')) { - $attributes['is_draft'] = false; - } - - $page->update($attributes); - $page->save(); - - return redirect(route('front.panel.pages.edit', $page)) - ->with('success', 'Page saved successfully'); - } - - /** - * Delete the specified resource in storage. - * - * @return Application|Redirector|RedirectResponse - */ - public function destroy(Request $request, Page $page) - { - $page->delete(); - - return redirect(route('front.panel.pages.index')); - } -} diff --git a/app/Http/Controllers/Panel/PlayerWarningController.php b/app/Http/Controllers/Panel/PlayerWarningController.php index 940edfa31..436b230f5 100644 --- a/app/Http/Controllers/Panel/PlayerWarningController.php +++ b/app/Http/Controllers/Panel/PlayerWarningController.php @@ -3,7 +3,7 @@ namespace App\Http\Controllers\Panel; use App\Http\Controllers\WebController; -use Entities\Models\Eloquent\PlayerWarning; +use App\Models\PlayerWarning; use Illuminate\Contracts\View\View; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; diff --git a/app/Http/Controllers/Panel/ServerController.php b/app/Http/Controllers/Panel/ServerController.php index adb863572..c7f3893ad 100644 --- a/app/Http/Controllers/Panel/ServerController.php +++ b/app/Http/Controllers/Panel/ServerController.php @@ -3,8 +3,7 @@ namespace App\Http\Controllers\Panel; use App\Http\Controllers\WebController; -use Entities\Models\Eloquent\Server; -use Entities\Models\Eloquent\ServerCategory; +use App\Models\Server; use Illuminate\Contracts\Foundation\Application; use Illuminate\Contracts\View\Factory; use Illuminate\Contracts\View\View; @@ -59,7 +58,6 @@ public function store(Request $request): RedirectResponse } Server::create([ - 'server_category_id' => ServerCategory::first()->getKey(), 'name' => $request->get('name'), 'ip' => $request->get('ip'), 'port' => $request->get('port'), diff --git a/app/Http/Controllers/Panel/ServerTokenController.php b/app/Http/Controllers/Panel/ServerTokenController.php index ac53f451e..ba3bdd21c 100644 --- a/app/Http/Controllers/Panel/ServerTokenController.php +++ b/app/Http/Controllers/Panel/ServerTokenController.php @@ -2,9 +2,10 @@ namespace App\Http\Controllers\Panel; +use App\Core\Domains\Tokens\TokenGenerator; use App\Http\Controllers\WebController; -use Entities\Models\Eloquent\ServerToken; -use Entities\Models\Eloquent\ServerTokenScope; +use App\Models\ServerToken; +use App\Models\ServerTokenScope; use Illuminate\Contracts\Foundation\Application; use Illuminate\Contracts\View\Factory; use Illuminate\Contracts\View\View; @@ -12,7 +13,6 @@ use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Validator; -use Library\Tokens\TokenGenerator; class ServerTokenController extends WebController { diff --git a/app/Http/Controllers/Panel/ShowcaseWarpsController.php b/app/Http/Controllers/Panel/ShowcaseWarpsController.php index 6b42dd3a7..e3e1f8dd9 100644 --- a/app/Http/Controllers/Panel/ShowcaseWarpsController.php +++ b/app/Http/Controllers/Panel/ShowcaseWarpsController.php @@ -3,7 +3,7 @@ namespace App\Http\Controllers\Panel; use App\Http\Controllers\WebController; -use Entities\Models\Eloquent\ShowcaseWarp; +use App\Models\ShowcaseWarp; use Illuminate\Contracts\Foundation\Application; use Illuminate\Contracts\View\Factory; use Illuminate\Contracts\View\View; diff --git a/app/Http/Controllers/WebController.php b/app/Http/Controllers/WebController.php index f0f8d8396..a1eb087af 100644 --- a/app/Http/Controllers/WebController.php +++ b/app/Http/Controllers/WebController.php @@ -3,11 +3,8 @@ namespace App\Http\Controllers; use Illuminate\Foundation\Auth\Access\AuthorizesRequests; -use Illuminate\Foundation\Bus\DispatchesJobs; -use Illuminate\Foundation\Validation\ValidatesRequests; -use Illuminate\Routing\Controller as BaseController; -class WebController extends BaseController +abstract class WebController { - use AuthorizesRequests, DispatchesJobs, ValidatesRequests; + use AuthorizesRequests; } diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php deleted file mode 100644 index aebffdcf3..000000000 --- a/app/Http/Kernel.php +++ /dev/null @@ -1,87 +0,0 @@ - [ - \App\Http\Middleware\EncryptCookies::class, - \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, - \Illuminate\Session\Middleware\StartSession::class, - // \Illuminate\Session\Middleware\AuthenticateSession::class, - \Illuminate\View\Middleware\ShareErrorsFromSession::class, - \App\Http\Middleware\VerifyCsrfToken::class, - \Illuminate\Routing\Middleware\SubstituteBindings::class, - \App\Http\Middleware\MfaGate::class, - ], - - 'api' => [ - 'throttle:60,1', - 'bindings', - ], - ]; - - /** - * The application's route middleware. - * - * These middleware may be assigned to groups or used individually. - * - * @var array - */ - protected $routeMiddleware = [ - 'auth' => \App\Http\Middleware\Authenticate::class, - 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, - 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, - 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, - 'can' => \Illuminate\Auth\Middleware\Authorize::class, - 'scope' => \App\Http\Middleware\HasGroupScope::class, - 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, - 'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class, - 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, - 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, - 'server-token' => \App\Http\Middleware\RequiresServerTokenScope::class, - 'password.confirm' => \App\Http\Middleware\RequirePassword::class, - 'active-mfa' => \App\Http\Middleware\ActiveMfaSession::class, - 'requires-mfa' => \App\Http\Middleware\RequiresMfaEnabled::class, - ]; - - /** - * The priority-sorted list of middleware. - * - * This forces non-global middleware to always be in the given order. - * - * @var array - */ - protected $middlewarePriority = [ - \Illuminate\Session\Middleware\StartSession::class, - \Illuminate\View\Middleware\ShareErrorsFromSession::class, - \App\Http\Middleware\Authenticate::class, - \Illuminate\Session\Middleware\AuthenticateSession::class, - \Illuminate\Routing\Middleware\SubstituteBindings::class, - \Illuminate\Auth\Middleware\Authorize::class, - \App\Http\Middleware\HasGroupScope::class, - ]; -} diff --git a/app/Http/Middleware/CheckForMaintenanceMode.php b/app/Http/Middleware/CheckForMaintenanceMode.php deleted file mode 100644 index 1322289d5..000000000 --- a/app/Http/Middleware/CheckForMaintenanceMode.php +++ /dev/null @@ -1,17 +0,0 @@ - */ private array $exclude = [ + 'front.logout', 'front.login.mfa', 'front.login.mfa.submit', 'front.login.mfa-recover', @@ -62,6 +63,6 @@ private function accountDoesntNeedMfa(Request $request): bool private function isRoutedToPackageController(Request $request): bool { - return ! str_starts_with($request->route()->controller::class, 'App'); + return ! str_starts_with($request->route()->action['controller'], 'App'); } } diff --git a/app/Http/Middleware/RequiresServerTokenScope.php b/app/Http/Middleware/RequiresServerTokenScope.php index 8f1f499a4..0ba692c7d 100644 --- a/app/Http/Middleware/RequiresServerTokenScope.php +++ b/app/Http/Middleware/RequiresServerTokenScope.php @@ -2,9 +2,9 @@ namespace App\Http\Middleware; +use App\Domains\ServerTokens\ScopeKey; +use App\Models\ServerToken; use Closure; -use Domain\ServerTokens\ScopeKey; -use Entities\Models\Eloquent\ServerToken; use Illuminate\Http\Request; use Spatie\Activitylog\Facades\CauserResolver; diff --git a/app/Http/Middleware/TrimStrings.php b/app/Http/Middleware/TrimStrings.php deleted file mode 100644 index 5a50e7b5c..000000000 --- a/app/Http/Middleware/TrimStrings.php +++ /dev/null @@ -1,18 +0,0 @@ -getTable(); - } -} diff --git a/entities/Models/Eloquent/Account.php b/app/Models/Account.php similarity index 88% rename from entities/Models/Eloquent/Account.php rename to app/Models/Account.php index 6d395eb98..4ddc3a303 100644 --- a/entities/Models/Eloquent/Account.php +++ b/app/Models/Account.php @@ -1,12 +1,16 @@ 'datetime', 'is_totp_enabled' => 'boolean', ]; + private ?Collection $cachedGroupScopes = null; public function toSearchableArray() @@ -140,7 +132,7 @@ public function donationPerks(): HasMany public function emailChangeRequests(): HasMany { return $this->hasMany( - related: AccountEmailChange::class, + related: EmailChange::class, foreignKey: 'account_id', ); } diff --git a/entities/Models/Eloquent/Activity.php b/app/Models/Activity.php similarity index 87% rename from entities/Models/Eloquent/Activity.php rename to app/Models/Activity.php index 009b52d96..6fc180f9e 100644 --- a/entities/Models/Eloquent/Activity.php +++ b/app/Models/Activity.php @@ -1,11 +1,11 @@ BanAppealStatus::class, 'decided_at' => 'datetime', ]; + protected $fillable = [ 'game_ban_id', 'is_account_verified', diff --git a/entities/Models/Eloquent/BuilderRankApplication.php b/app/Models/BuilderRankApplication.php similarity index 87% rename from entities/Models/Eloquent/BuilderRankApplication.php rename to app/Models/BuilderRankApplication.php index 6006b1a77..197df60f7 100644 --- a/entities/Models/Eloquent/BuilderRankApplication.php +++ b/app/Models/BuilderRankApplication.php @@ -1,21 +1,25 @@ 'datetime', + 'last_currency_reward_at' => 'datetime', 'is_active' => 'boolean', 'is_lifetime_perks' => 'boolean', ]; diff --git a/entities/Models/Eloquent/DonationTier.php b/app/Models/DonationTier.php similarity index 71% rename from entities/Models/Eloquent/DonationTier.php rename to app/Models/DonationTier.php index 7e3e33e92..314e52fd1 100644 --- a/entities/Models/Eloquent/DonationTier.php +++ b/app/Models/DonationTier.php @@ -1,24 +1,24 @@ 'datetime', ]; public function bannerPlayer(): BelongsTo diff --git a/entities/Models/Eloquent/GamePlayerBan.php b/app/Models/GamePlayerBan.php similarity index 92% rename from entities/Models/Eloquent/GamePlayerBan.php rename to app/Models/GamePlayerBan.php index 6226de6af..3af335f1d 100644 --- a/entities/Models/Eloquent/GamePlayerBan.php +++ b/app/Models/GamePlayerBan.php @@ -1,27 +1,31 @@ 'datetime', + 'unbanned_at' => 'datetime', ]; public function scopeActive(Builder $query) diff --git a/entities/Models/Eloquent/Group.php b/app/Models/Group.php similarity index 89% rename from entities/Models/Eloquent/Group.php rename to app/Models/Group.php index fa9a10d80..f95758577 100644 --- a/entities/Models/Eloquent/Group.php +++ b/app/Models/Group.php @@ -1,20 +1,24 @@ 'datetime', ]; public function minecraftPlayer(): HasOne diff --git a/entities/Models/Eloquent/MinecraftPlayer.php b/app/Models/MinecraftPlayer.php similarity index 83% rename from entities/Models/Eloquent/MinecraftPlayer.php rename to app/Models/MinecraftPlayer.php index 293da7a16..5eb793f7b 100644 --- a/entities/Models/Eloquent/MinecraftPlayer.php +++ b/app/Models/MinecraftPlayer.php @@ -1,46 +1,38 @@ 'datetime', + 'last_seen_at' => 'datetime', ]; public function getBanReadableName(): ?string diff --git a/entities/Models/Eloquent/MinecraftPlayerAlias.php b/app/Models/MinecraftPlayerAlias.php similarity index 81% rename from entities/Models/Eloquent/MinecraftPlayerAlias.php rename to app/Models/MinecraftPlayerAlias.php index 65c56f2e8..90fcd24b5 100644 --- a/entities/Models/Eloquent/MinecraftPlayerAlias.php +++ b/app/Models/MinecraftPlayerAlias.php @@ -1,8 +1,9 @@ 'datetime', ]; public function minecraftPlayer(): BelongsTo diff --git a/entities/Models/Eloquent/AccountPasswordReset.php b/app/Models/PasswordReset.php similarity index 54% rename from entities/Models/Eloquent/AccountPasswordReset.php rename to app/Models/PasswordReset.php index ffef45fc5..f6b11caf6 100644 --- a/entities/Models/Eloquent/AccountPasswordReset.php +++ b/app/Models/PasswordReset.php @@ -1,30 +1,27 @@ 'datetime', 'is_acknowledged' => 'boolean', ]; diff --git a/entities/Models/Eloquent/Server.php b/app/Models/Server.php similarity index 65% rename from entities/Models/Eloquent/Server.php rename to app/Models/Server.php index 97f395a96..b1974998a 100644 --- a/entities/Models/Eloquent/Server.php +++ b/app/Models/Server.php @@ -1,24 +1,30 @@ 'datetime', ]; public function address(): string @@ -73,11 +77,6 @@ public function gameType(): GameType return GameType::tryFrom($this->game_type); } - public function serverCategory(): BelongsTo - { - return $this->belongsTo(ServerCategory::class, 'server_category_id', 'server_category_id'); - } - public function getActivitySubjectLink(): ?string { return route('front.panel.servers.edit', $this); @@ -94,4 +93,18 @@ public function auditAttributeConfig(): AuditAttributes ->add('name', 'ip', 'ip_alias', 'port', 'game_type', 'display_order') ->addBoolean('is_port_visible', 'is_querying', 'is_visible'); } + + public function updateWithStatus(ServerQueryResult $status, Carbon $queriedAt): void + { + if ($status->isOnline) { + $this->num_of_players = $status->numOfPlayers; + $this->num_of_slots = $status->numOfSlots; + } else { + $this->num_of_players = 0; + $this->num_of_slots = 0; + } + $this->is_online = $status->isOnline; + $this->last_queried_at = $queriedAt; + $this->save(); + } } diff --git a/entities/Models/Eloquent/ServerToken.php b/app/Models/ServerToken.php similarity index 85% rename from entities/Models/Eloquent/ServerToken.php rename to app/Models/ServerToken.php index 5f3b8dac0..8bf1bc3d3 100644 --- a/entities/Models/Eloquent/ServerToken.php +++ b/app/Models/ServerToken.php @@ -1,39 +1,40 @@ 'datetime', 'location_pitch' => 'decimal:1', 'location_yaw' => 'decimal:1', ]; diff --git a/entities/Models/Eloquent/StripeProduct.php b/app/Models/StripeProduct.php similarity index 76% rename from entities/Models/Eloquent/StripeProduct.php rename to app/Models/StripeProduct.php index f9692f085..da2a70759 100644 --- a/entities/Models/Eloquent/StripeProduct.php +++ b/app/Models/StripeProduct.php @@ -1,24 +1,25 @@ BanAppealPolicy::class, - ]; - - /** - * Register any authentication / authorization services. - * - * @return void - */ - public function boot() - { - $this->registerPolicies(); - - if (! $this->app->routesAreCached()) { - Passport::routes(); - - Route::get('oauth/me', [OAuthController::class, 'show']) - ->middleware('auth:api'); - } - } - - /** - * Register any auth-related application services. - * - * @return void - */ - public function register() - { - if (config('auth.totp.bypass')) { - $this->app->bind(abstract: Google2FA::class, concrete: Google2FAFake::class); - } - } -} diff --git a/app/Providers/BroadcastServiceProvider.php b/app/Providers/BroadcastServiceProvider.php deleted file mode 100644 index 395c518bc..000000000 --- a/app/Providers/BroadcastServiceProvider.php +++ /dev/null @@ -1,21 +0,0 @@ -isAdmin(); - }); - } -} diff --git a/app/Providers/RepositoryServiceProvider.php b/app/Providers/RepositoryServiceProvider.php deleted file mode 100644 index 53ab10be6..000000000 --- a/app/Providers/RepositoryServiceProvider.php +++ /dev/null @@ -1,29 +0,0 @@ -app->bind( - abstract: GameIPBanRepository::class, - concrete: GameIPBanEloquentRepository::class, - ); - $this->app->bind( - abstract: PlayerWarningRepository::class, - concrete: PlayerWarningEloquentRepository::class, - ); - } -} diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php deleted file mode 100644 index 992932b56..000000000 --- a/app/Providers/RouteServiceProvider.php +++ /dev/null @@ -1,96 +0,0 @@ -mapApiRoutes(); - - $this->mapWebRoutes(); - } - - /** - * Define the "web" routes for the application. - * - * These routes all receive session state, CSRF protection, etc. - * - * @return void - */ - protected function mapWebRoutes() - { - Route::middleware('web') - ->namespace($this->namespace) - ->name('front.') - ->group(base_path('routes/web.php')); - - Route::middleware('web') - ->group(base_path('routes/web_redirects.php')); - - Route::middleware(['web', 'auth', PanelGroupScope::ACCESS_PANEL->toMiddleware(), 'requires-mfa']) - ->prefix('panel') - ->name('front.panel.') - ->group(base_path('routes/web_panel.php')); - - if (Environment::isTest()) { - Route::middleware('web') - ->group(base_path('routes/web_tests.php')); - } - } - - /** - * Define the "api" routes for the application. - * - * These routes are typically stateless. - * - * @return void - */ - protected function mapApiRoutes() - { - // For backwards compatibility, fallback to v1 if no version specified - Route::prefix('api') - ->middleware(['api']) - ->name('v0.') - ->group(base_path('routes/api_v1.php')); - - Route::prefix('api/v1') - ->middleware(['api']) - ->name('v1.') - ->group(base_path('routes/api_v1.php')); - - Route::prefix('api/v2') - ->middleware(['api']) - ->name('v2.') - ->group(base_path('routes/api_v2.php')); - } -} diff --git a/app/Providers/TelescopeServiceProvider.php b/app/Providers/TelescopeServiceProvider.php deleted file mode 100644 index 84dec2507..000000000 --- a/app/Providers/TelescopeServiceProvider.php +++ /dev/null @@ -1,75 +0,0 @@ -hideSensitiveRequestDetails(); - - Telescope::filter(function (IncomingEntry $entry) { - if (Environment::isLocalDev()) { - return true; - } - - return $entry->isReportableException() || - $entry->isFailedRequest() || - $entry->isFailedJob() || - $entry->isScheduledTask() || - $entry->hasMonitoredTag(); - }); - - Telescope::auth(function ($request) { - return Environment::isLocalDev() || - Gate::check('viewTelescope', [$request->user()]); - }); - } - - /** - * Prevent sensitive request details from being logged by Telescope. - * - * @return void - */ - protected function hideSensitiveRequestDetails() - { - if (Environment::isLocalDev()) { - return; - } - - Telescope::hideRequestParameters(['_token']); - - Telescope::hideRequestHeaders([ - 'cookie', - 'x-csrf-token', - 'x-xsrf-token', - ]); - } - - /** - * Register the Telescope gate. - * - * This gate determines who can access Telescope in non-local environments. - * - * @return void - */ - protected function gate() - { - Gate::define('viewTelescope', function ($user) { - return $user->canAccessPanel(); - }); - } -} diff --git a/app/View/Components/DonationBarComponent.php b/app/View/Components/DonationBarComponent.php index bdc2f0349..08635f9a2 100644 --- a/app/View/Components/DonationBarComponent.php +++ b/app/View/Components/DonationBarComponent.php @@ -2,7 +2,7 @@ namespace App\View\Components; -use Entities\Models\Eloquent\Donation; +use App\Models\Donation; use Illuminate\View\Component; class DonationBarComponent extends Component diff --git a/app/View/Components/PanelSideBarComponent.php b/app/View/Components/PanelSideBarComponent.php index c48d683fd..8ade97535 100644 --- a/app/View/Components/PanelSideBarComponent.php +++ b/app/View/Components/PanelSideBarComponent.php @@ -2,9 +2,9 @@ namespace App\View\Components; -use Domain\BuilderRankApplications\Entities\ApplicationStatus; -use Entities\Models\Eloquent\BanAppeal; -use Entities\Models\Eloquent\BuilderRankApplication; +use App\Domains\BuilderRankApplications\Data\ApplicationStatus; +use App\Models\BanAppeal; +use App\Models\BuilderRankApplication; use Illuminate\View\Component; class PanelSideBarComponent extends Component diff --git a/artisan b/artisan index 1789f8360..8e04b4224 100755 --- a/artisan +++ b/artisan @@ -1,53 +1,15 @@ #!/usr/bin/env php make(Illuminate\Contracts\Console\Kernel::class); - -$status = $kernel->handle( - $input = new Symfony\Component\Console\Input\ArgvInput, - new Symfony\Component\Console\Output\ConsoleOutput -); - -/* -|-------------------------------------------------------------------------- -| Shutdown The Application -|-------------------------------------------------------------------------- -| -| Once Artisan has finished running, we will fire off the shutdown events -| so that any final work may be done by the application before we shut -| down the process. This is the last thing to happen to the request. -| -*/ - -$kernel->terminate($input, $status); +// Bootstrap Laravel and handle the command... +$status = (require_once __DIR__.'/bootstrap/app.php') + ->handleCommand(new ArgvInput); exit($status); diff --git a/bootstrap/app.php b/bootstrap/app.php index d7cc26cee..85e0583ec 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -1,55 +1,86 @@ singleton( - Illuminate\Contracts\Http\Kernel::class, - App\Http\Kernel::class -); - -$app->singleton( - Illuminate\Contracts\Console\Kernel::class, - App\Console\Kernel::class -); - -$app->singleton( - Illuminate\Contracts\Debug\ExceptionHandler::class, - App\Exceptions\ExceptionHandler::class -); - -/* -|-------------------------------------------------------------------------- -| Return The Application -|-------------------------------------------------------------------------- -| -| This script returns the application instance. The instance is given to -| the calling script so we can separate the building of the instances -| from the actual running of the application and sending responses. -| -*/ - -return $app; +return Application::configure(basePath: dirname(__DIR__)) + ->withRouting( + web: [ + __DIR__.'/../routes/web.php', + __DIR__.'/../routes/web_panel.php', + __DIR__.'/../routes/web_redirects.php', + __DIR__.'/../routes/web_tests.php', + ], + api: [ + __DIR__.'/../routes/api_v1.php', + __DIR__.'/../routes/api_v2.php' + ], + commands: __DIR__.'/../routes/console.php', + health: '/up', + ) + ->withMiddleware(function (Middleware $middleware) { + $middleware->replace( + search: \Illuminate\Http\Middleware\TrustProxies::class, + replace: \App\Http\Middleware\TrustProxies::class, + ); + $middleware->web(append: [ + \App\Http\Middleware\VerifyCsrfToken::class, + \App\Http\Middleware\MfaGate::class, + ]); + $middleware->alias([ + 'auth' => \App\Http\Middleware\Authenticate::class, + 'scope' => \App\Http\Middleware\HasGroupScope::class, + 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, + 'server-token' => \App\Http\Middleware\RequiresServerTokenScope::class, + 'password.confirm' => \App\Http\Middleware\RequirePassword::class, + 'active-mfa' => \App\Http\Middleware\ActiveMfaSession::class, + 'requires-mfa' => \App\Http\Middleware\RequiresMfaEnabled::class, + ]); + }) + ->withExceptions(function (Exceptions $exceptions) { + $exceptions->dontReport([ + AuthenticationException::class, + AuthorizationException::class, + HttpException::class, + ModelNotFoundException::class, + TokenMismatchException::class, + ValidationException::class, + UnauthorisedException::class, + BadRequestException::class, + ForbiddenException::class, + NotFoundException::class, + TooManyRequestsException::class, + ]); + $exceptions->render(function (BaseHttpException $e, Request $request) { + // Convert all exceptions to a consistent JSON format + if ($request->is(patterns: 'api/*')) { + return response()->json( + data: [ + 'error' => [ + 'id' => $e->getId(), + 'title' => '', /** @deprecated */ + 'detail' => $e->getMessage(), + 'status' => $e->getStatusCode(), + ], + ], + status: $e->getStatusCode(), + ); + } + }); + Integration::handles($exceptions); + })->create(); diff --git a/bootstrap/providers.php b/bootstrap/providers.php new file mode 100644 index 000000000..a11344a0d --- /dev/null +++ b/bootstrap/providers.php @@ -0,0 +1,23 @@ +=5.5" }, "require-dev": { - "phpunit/phpunit": "^4.8.35|^5.4.3" + "phpunit/phpunit": "^4.8.35||^5.6.3||^9.5", + "yoast/phpunit-polyfills": "^1.0" + }, + "suggest": { + "ext-awscrt": "Make sure you install awscrt native extension to use any of the functionality." }, "type": "library", "autoload": { @@ -109,7 +113,7 @@ } ], "description": "AWS Common Runtime for PHP", - "homepage": "http://aws.amazon.com/sdkforphp", + "homepage": "https://github.com/awslabs/aws-crt-php", "keywords": [ "amazon", "aws", @@ -118,40 +122,42 @@ ], "support": { "issues": "https://github.com/awslabs/aws-crt-php/issues", - "source": "https://github.com/awslabs/aws-crt-php/tree/v1.0.2" + "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.6" }, - "time": "2021-09-03T22:57:30+00:00" + "time": "2024-06-13T17:21:28+00:00" }, { "name": "aws/aws-sdk-php", - "version": "3.234.3", + "version": "3.320.2", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "21ee9e4181c1e676b43018bd3743dd4c9f8bafc2" + "reference": "dbae075b861316237d63418715f8bf4bfdd9d33d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/21ee9e4181c1e676b43018bd3743dd4c9f8bafc2", - "reference": "21ee9e4181c1e676b43018bd3743dd4c9f8bafc2", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/dbae075b861316237d63418715f8bf4bfdd9d33d", + "reference": "dbae075b861316237d63418715f8bf4bfdd9d33d", "shasum": "" }, "require": { - "aws/aws-crt-php": "^1.0.2", + "aws/aws-crt-php": "^1.2.3", "ext-json": "*", "ext-pcre": "*", "ext-simplexml": "*", "guzzlehttp/guzzle": "^6.5.8 || ^7.4.5", - "guzzlehttp/promises": "^1.4.0", - "guzzlehttp/psr7": "^1.8.5 || ^2.3", + "guzzlehttp/promises": "^1.4.0 || ^2.0", + "guzzlehttp/psr7": "^1.9.1 || ^2.4.5", "mtdowling/jmespath.php": "^2.6", - "php": ">=5.5" + "php": ">=7.2.5", + "psr/http-message": "^1.0 || ^2.0" }, "require-dev": { "andrewsville/php-token-reflection": "^1.4", "aws/aws-php-sns-message-validator": "~1.0", "behat/behat": "~3.0", "composer/composer": "^1.10.22", + "dms/phpunit-arraysubset-asserts": "^0.4.0", "doctrine/cache": "~1.4", "ext-dom": "*", "ext-openssl": "*", @@ -159,10 +165,11 @@ "ext-sockets": "*", "nette/neon": "^2.3", "paragonie/random_compat": ">= 2", - "phpunit/phpunit": "^4.8.35 || ^5.6.3", + "phpunit/phpunit": "^5.6.3 || ^8.5 || ^9.5", "psr/cache": "^1.0", "psr/simple-cache": "^1.0", - "sebastian/comparator": "^1.2.3" + "sebastian/comparator": "^1.2.3 || ^4.0", + "yoast/phpunit-polyfills": "^1.0" }, "suggest": { "aws/aws-php-sns-message-validator": "To validate incoming SNS notifications", @@ -183,7 +190,10 @@ ], "psr-4": { "Aws\\": "src/" - } + }, + "exclude-from-classmap": [ + "src/data/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -210,33 +220,33 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.234.3" + "source": "https://github.com/aws/aws-sdk-php/tree/3.320.2" }, - "time": "2022-08-25T18:30:13+00:00" + "time": "2024-08-16T18:06:17+00:00" }, { "name": "awssat/discord-notification-channel", - "version": "1.4.2", + "version": "1.4.4", "source": { "type": "git", "url": "https://github.com/awssat/discord-notification-channel.git", - "reference": "23d96660d208b509d0c7862c08901bbdf88f84f1" + "reference": "f9a936f5d25016cf8a367846507b45effd5b5a71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/awssat/discord-notification-channel/zipball/23d96660d208b509d0c7862c08901bbdf88f84f1", - "reference": "23d96660d208b509d0c7862c08901bbdf88f84f1", + "url": "https://api.github.com/repos/awssat/discord-notification-channel/zipball/f9a936f5d25016cf8a367846507b45effd5b5a71", + "reference": "f9a936f5d25016cf8a367846507b45effd5b5a71", "shasum": "" }, "require": { "guzzlehttp/guzzle": "^6.0|^7.0", - "illuminate/notifications": "~5.8.0|^6.0|^7.0|^8.0|^9.0", - "laravel/slack-notification-channel": "^2.0", + "illuminate/notifications": "~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "laravel/slack-notification-channel": "^2.0|^3.2", "php": "^7.1.3|^8.0" }, "require-dev": { - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^7.0|^8.0|^9.0" + "mockery/mockery": "^1.4 || ^1.6", + "phpunit/phpunit": "^7.0|^8.0|^9.0|^10.1" }, "type": "library", "extra": { @@ -269,22 +279,22 @@ ], "support": { "issues": "https://github.com/awssat/discord-notification-channel/issues", - "source": "https://github.com/awssat/discord-notification-channel/tree/1.4.2" + "source": "https://github.com/awssat/discord-notification-channel/tree/1.4.4" }, - "time": "2022-02-10T08:40:50+00:00" + "time": "2024-07-06T23:15:22+00:00" }, { "name": "bacon/bacon-qr-code", - "version": "2.0.7", + "version": "2.0.8", "source": { "type": "git", "url": "https://github.com/Bacon/BaconQrCode.git", - "reference": "d70c840f68657ce49094b8d91f9ee0cc07fbf66c" + "reference": "8674e51bb65af933a5ffaf1c308a660387c35c22" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Bacon/BaconQrCode/zipball/d70c840f68657ce49094b8d91f9ee0cc07fbf66c", - "reference": "d70c840f68657ce49094b8d91f9ee0cc07fbf66c", + "url": "https://api.github.com/repos/Bacon/BaconQrCode/zipball/8674e51bb65af933a5ffaf1c308a660387c35c22", + "reference": "8674e51bb65af933a5ffaf1c308a660387c35c22", "shasum": "" }, "require": { @@ -323,32 +333,31 @@ "homepage": "https://github.com/Bacon/BaconQrCode", "support": { "issues": "https://github.com/Bacon/BaconQrCode/issues", - "source": "https://github.com/Bacon/BaconQrCode/tree/2.0.7" + "source": "https://github.com/Bacon/BaconQrCode/tree/2.0.8" }, - "time": "2022-03-14T02:02:36+00:00" + "time": "2022-12-07T17:46:57+00:00" }, { "name": "brick/math", - "version": "0.10.2", + "version": "0.12.1", "source": { "type": "git", "url": "https://github.com/brick/math.git", - "reference": "459f2781e1a08d52ee56b0b1444086e038561e3f" + "reference": "f510c0a40911935b77b86859eb5223d58d660df1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/459f2781e1a08d52ee56b0b1444086e038561e3f", - "reference": "459f2781e1a08d52ee56b0b1444086e038561e3f", + "url": "https://api.github.com/repos/brick/math/zipball/f510c0a40911935b77b86859eb5223d58d660df1", + "reference": "f510c0a40911935b77b86859eb5223d58d660df1", "shasum": "" }, "require": { - "ext-json": "*", - "php": "^7.4 || ^8.0" + "php": "^8.1" }, "require-dev": { "php-coveralls/php-coveralls": "^2.2", - "phpunit/phpunit": "^9.0", - "vimeo/psalm": "4.25.0" + "phpunit/phpunit": "^10.1", + "vimeo/psalm": "5.16.0" }, "type": "library", "autoload": { @@ -368,12 +377,17 @@ "arithmetic", "bigdecimal", "bignum", + "bignumber", "brick", - "math" + "decimal", + "integer", + "math", + "mathematics", + "rational" ], "support": { "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.10.2" + "source": "https://github.com/brick/math/tree/0.12.1" }, "funding": [ { @@ -381,35 +395,37 @@ "type": "github" } ], - "time": "2022-08-10T22:54:19+00:00" + "time": "2023-11-29T23:19:16+00:00" }, { - "name": "clue/stream-filter", - "version": "v1.6.0", + "name": "carbonphp/carbon-doctrine-types", + "version": "2.1.0", "source": { "type": "git", - "url": "https://github.com/clue/stream-filter.git", - "reference": "d6169430c7731d8509da7aecd0af756a5747b78e" + "url": "https://github.com/CarbonPHP/carbon-doctrine-types.git", + "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/clue/stream-filter/zipball/d6169430c7731d8509da7aecd0af756a5747b78e", - "reference": "d6169430c7731d8509da7aecd0af756a5747b78e", + "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/99f76ffa36cce3b70a4a6abce41dba15ca2e84cb", + "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb", "shasum": "" }, "require": { - "php": ">=5.3" + "php": "^7.4 || ^8.0" + }, + "conflict": { + "doctrine/dbal": "<3.7.0 || >=4.0.0" }, "require-dev": { - "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.36" + "doctrine/dbal": "^3.7.0", + "nesbot/carbon": "^2.71.0 || ^3.0.0", + "phpunit/phpunit": "^10.3" }, "type": "library", "autoload": { - "files": [ - "src/functions_include.php" - ], "psr-4": { - "Clue\\StreamFilter\\": "src/" + "Carbon\\Doctrine\\": "src/Carbon/Doctrine/" } }, "notification-url": "https://packagist.org/downloads/", @@ -418,54 +434,58 @@ ], "authors": [ { - "name": "Christian Lück", - "email": "christian@clue.engineering" + "name": "KyleKatarn", + "email": "kylekatarnls@gmail.com" } ], - "description": "A simple and modern approach to stream filtering in PHP", - "homepage": "https://github.com/clue/php-stream-filter", + "description": "Types to use Carbon in Doctrine", "keywords": [ - "bucket brigade", - "callback", - "filter", - "php_user_filter", - "stream", - "stream_filter_append", - "stream_filter_register" + "carbon", + "date", + "datetime", + "doctrine", + "time" ], "support": { - "issues": "https://github.com/clue/stream-filter/issues", - "source": "https://github.com/clue/stream-filter/tree/v1.6.0" + "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues", + "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/2.1.0" }, "funding": [ { - "url": "https://clue.engineering/support", - "type": "custom" + "url": "https://github.com/kylekatarnls", + "type": "github" }, { - "url": "https://github.com/clue", - "type": "github" + "url": "https://opencollective.com/Carbon", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", + "type": "tidelift" } ], - "time": "2022-02-21T13:15:14+00:00" + "time": "2023-12-11T17:09:12+00:00" }, { "name": "dasprid/enum", - "version": "1.0.3", + "version": "1.0.6", "source": { "type": "git", "url": "https://github.com/DASPRiD/Enum.git", - "reference": "5abf82f213618696dda8e3bf6f64dd042d8542b2" + "reference": "8dfd07c6d2cf31c8da90c53b83c026c7696dda90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/DASPRiD/Enum/zipball/5abf82f213618696dda8e3bf6f64dd042d8542b2", - "reference": "5abf82f213618696dda8e3bf6f64dd042d8542b2", + "url": "https://api.github.com/repos/DASPRiD/Enum/zipball/8dfd07c6d2cf31c8da90c53b83c026c7696dda90", + "reference": "8dfd07c6d2cf31c8da90c53b83c026c7696dda90", "shasum": "" }, + "require": { + "php": ">=7.1 <9.0" + }, "require-dev": { - "phpunit/phpunit": "^7 | ^8 | ^9", - "squizlabs/php_codesniffer": "^3.4" + "phpunit/phpunit": "^7 || ^8 || ^9 || ^10 || ^11", + "squizlabs/php_codesniffer": "*" }, "type": "library", "autoload": { @@ -492,22 +512,22 @@ ], "support": { "issues": "https://github.com/DASPRiD/Enum/issues", - "source": "https://github.com/DASPRiD/Enum/tree/1.0.3" + "source": "https://github.com/DASPRiD/Enum/tree/1.0.6" }, - "time": "2020-10-02T16:03:48+00:00" + "time": "2024-08-09T14:30:48+00:00" }, { "name": "defuse/php-encryption", - "version": "v2.3.1", + "version": "v2.4.0", "source": { "type": "git", "url": "https://github.com/defuse/php-encryption.git", - "reference": "77880488b9954b7884c25555c2a0ea9e7053f9d2" + "reference": "f53396c2d34225064647a05ca76c1da9d99e5828" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/defuse/php-encryption/zipball/77880488b9954b7884c25555c2a0ea9e7053f9d2", - "reference": "77880488b9954b7884c25555c2a0ea9e7053f9d2", + "url": "https://api.github.com/repos/defuse/php-encryption/zipball/f53396c2d34225064647a05ca76c1da9d99e5828", + "reference": "f53396c2d34225064647a05ca76c1da9d99e5828", "shasum": "" }, "require": { @@ -516,7 +536,8 @@ "php": ">=5.6.0" }, "require-dev": { - "phpunit/phpunit": "^4|^5|^6|^7|^8|^9" + "phpunit/phpunit": "^5|^6|^7|^8|^9|^10", + "yoast/phpunit-polyfills": "^2.0.0" }, "bin": [ "bin/generate-defuse-key" @@ -558,22 +579,22 @@ ], "support": { "issues": "https://github.com/defuse/php-encryption/issues", - "source": "https://github.com/defuse/php-encryption/tree/v2.3.1" + "source": "https://github.com/defuse/php-encryption/tree/v2.4.0" }, - "time": "2021-04-09T23:57:26+00:00" + "time": "2023-06-19T06:10:36+00:00" }, { "name": "dflydev/dot-access-data", - "version": "v3.0.1", + "version": "v3.0.3", "source": { "type": "git", "url": "https://github.com/dflydev/dflydev-dot-access-data.git", - "reference": "0992cc19268b259a39e86f296da5f0677841f42c" + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/0992cc19268b259a39e86f296da5f0677841f42c", - "reference": "0992cc19268b259a39e86f296da5f0677841f42c", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/a23a2bf4f31d3518f3ecb38660c95715dfead60f", + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f", "shasum": "" }, "require": { @@ -584,7 +605,7 @@ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3", "scrutinizer/ocular": "1.6.0", "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^3.14" + "vimeo/psalm": "^4.0.0" }, "type": "library", "extra": { @@ -633,9 +654,9 @@ ], "support": { "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", - "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.1" + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.3" }, - "time": "2021-08-13T13:06:58+00:00" + "time": "2024-07-08T12:26:09+00:00" }, { "name": "doctrine/cache", @@ -732,35 +753,40 @@ }, { "name": "doctrine/dbal", - "version": "2.13.9", + "version": "3.9.0", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "c480849ca3ad6706a39c970cdfe6888fa8a058b8" + "reference": "d8f68ea6cc00912e5313237130b8c8decf4d28c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/c480849ca3ad6706a39c970cdfe6888fa8a058b8", - "reference": "c480849ca3ad6706a39c970cdfe6888fa8a058b8", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/d8f68ea6cc00912e5313237130b8c8decf4d28c6", + "reference": "d8f68ea6cc00912e5313237130b8c8decf4d28c6", "shasum": "" }, "require": { - "doctrine/cache": "^1.0|^2.0", + "composer-runtime-api": "^2", + "doctrine/cache": "^1.11|^2.0", "doctrine/deprecations": "^0.5.3|^1", - "doctrine/event-manager": "^1.0", - "ext-pdo": "*", - "php": "^7.1 || ^8" + "doctrine/event-manager": "^1|^2", + "php": "^7.4 || ^8.0", + "psr/cache": "^1|^2|^3", + "psr/log": "^1|^2|^3" }, "require-dev": { - "doctrine/coding-standard": "9.0.0", - "jetbrains/phpstorm-stubs": "2021.1", - "phpstan/phpstan": "1.4.6", - "phpunit/phpunit": "^7.5.20|^8.5|9.5.16", - "psalm/plugin-phpunit": "0.16.1", - "squizlabs/php_codesniffer": "3.6.2", - "symfony/cache": "^4.4", - "symfony/console": "^2.0.5|^3.0|^4.0|^5.0", - "vimeo/psalm": "4.22.0" + "doctrine/coding-standard": "12.0.0", + "fig/log-test": "^1", + "jetbrains/phpstorm-stubs": "2023.1", + "phpstan/phpstan": "1.11.7", + "phpstan/phpstan-strict-rules": "^1.6", + "phpunit/phpunit": "9.6.20", + "psalm/plugin-phpunit": "0.18.4", + "slevomat/coding-standard": "8.13.1", + "squizlabs/php_codesniffer": "3.10.2", + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/console": "^4.4|^5.4|^6.0|^7.0", + "vimeo/psalm": "4.30.0" }, "suggest": { "symfony/console": "For helpful console commands such as SQL execution and import of files." @@ -771,7 +797,7 @@ "type": "library", "autoload": { "psr-4": { - "Doctrine\\DBAL\\": "lib/Doctrine/DBAL" + "Doctrine\\DBAL\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -814,14 +840,13 @@ "queryobject", "sasql", "sql", - "sqlanywhere", "sqlite", "sqlserver", "sqlsrv" ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/2.13.9" + "source": "https://github.com/doctrine/dbal/tree/3.9.0" }, "funding": [ { @@ -837,29 +862,33 @@ "type": "tidelift" } ], - "time": "2022-05-02T20:28:55+00:00" + "time": "2024-08-15T07:34:42+00:00" }, { "name": "doctrine/deprecations", - "version": "v1.0.0", + "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", - "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de" + "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", - "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", + "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", "shasum": "" }, "require": { - "php": "^7.1|^8.0" + "php": "^7.1 || ^8.0" }, "require-dev": { "doctrine/coding-standard": "^9", - "phpunit/phpunit": "^7.5|^8.5|^9.5", - "psr/log": "^1|^2|^3" + "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" @@ -878,40 +907,40 @@ "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/v1.0.0" + "source": "https://github.com/doctrine/deprecations/tree/1.1.3" }, - "time": "2022-05-02T15:47:09+00:00" + "time": "2024-01-30T19:34:25+00:00" }, { "name": "doctrine/event-manager", - "version": "1.1.2", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/doctrine/event-manager.git", - "reference": "eb2ecf80e3093e8f3c2769ac838e27d8ede8e683" + "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/eb2ecf80e3093e8f3c2769ac838e27d8ede8e683", - "reference": "eb2ecf80e3093e8f3c2769ac838e27d8ede8e683", + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/b680156fa328f1dfd874fd48c7026c41570b9c6e", + "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "php": "^8.1" }, "conflict": { "doctrine/common": "<2.9" }, "require-dev": { - "doctrine/coding-standard": "^9", - "phpstan/phpstan": "~1.4.10 || ^1.5.4", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "vimeo/psalm": "^4.22" + "doctrine/coding-standard": "^12", + "phpstan/phpstan": "^1.8.8", + "phpunit/phpunit": "^10.5", + "vimeo/psalm": "^5.24" }, "type": "library", "autoload": { "psr-4": { - "Doctrine\\Common\\": "lib/Doctrine/Common" + "Doctrine\\Common\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -955,7 +984,7 @@ ], "support": { "issues": "https://github.com/doctrine/event-manager/issues", - "source": "https://github.com/doctrine/event-manager/tree/1.1.2" + "source": "https://github.com/doctrine/event-manager/tree/2.0.1" }, "funding": [ { @@ -971,32 +1000,32 @@ "type": "tidelift" } ], - "time": "2022-07-27T22:18:11+00:00" + "time": "2024-05-22T20:47:39+00:00" }, { "name": "doctrine/inflector", - "version": "2.0.4", + "version": "2.0.10", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89" + "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89", - "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/5817d0659c5b50c9b950feb9af7b9668e2c436bc", + "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc", "shasum": "" }, "require": { "php": "^7.2 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^8.2", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpstan/phpstan-strict-rules": "^0.12", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", - "vimeo/psalm": "^4.10" + "doctrine/coding-standard": "^11.0", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-phpunit": "^1.1", + "phpstan/phpstan-strict-rules": "^1.3", + "phpunit/phpunit": "^8.5 || ^9.5", + "vimeo/psalm": "^4.25 || ^5.4" }, "type": "library", "autoload": { @@ -1046,7 +1075,7 @@ ], "support": { "issues": "https://github.com/doctrine/inflector/issues", - "source": "https://github.com/doctrine/inflector/tree/2.0.4" + "source": "https://github.com/doctrine/inflector/tree/2.0.10" }, "funding": [ { @@ -1062,35 +1091,36 @@ "type": "tidelift" } ], - "time": "2021-10-22T20:16:43+00:00" + "time": "2024-02-18T20:23:39+00:00" }, { "name": "doctrine/lexer", - "version": "1.2.3", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", - "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229" + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/c268e882d4dbdd85e36e4ad69e02dc284f89d229", - "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "php": "^8.1" }, "require-dev": { - "doctrine/coding-standard": "^9.0", - "phpstan/phpstan": "^1.3", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "vimeo/psalm": "^4.11" + "doctrine/coding-standard": "^12", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.5", + "psalm/plugin-phpunit": "^0.18.3", + "vimeo/psalm": "^5.21" }, "type": "library", "autoload": { "psr-4": { - "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" + "Doctrine\\Common\\Lexer\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1122,7 +1152,7 @@ ], "support": { "issues": "https://github.com/doctrine/lexer/issues", - "source": "https://github.com/doctrine/lexer/tree/1.2.3" + "source": "https://github.com/doctrine/lexer/tree/3.0.1" }, "funding": [ { @@ -1138,90 +1168,20 @@ "type": "tidelift" } ], - "time": "2022-02-28T11:07:21+00:00" - }, - { - "name": "dompdf/dompdf", - "version": "v2.0.0", - "source": { - "type": "git", - "url": "https://github.com/dompdf/dompdf.git", - "reference": "79573d8b8a141ec8a17312515de8740eed014fa9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dompdf/dompdf/zipball/79573d8b8a141ec8a17312515de8740eed014fa9", - "reference": "79573d8b8a141ec8a17312515de8740eed014fa9", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-mbstring": "*", - "masterminds/html5": "^2.0", - "phenx/php-font-lib": "^0.5.4", - "phenx/php-svg-lib": "^0.3.3 || ^0.4.0", - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "ext-json": "*", - "ext-zip": "*", - "mockery/mockery": "^1.3", - "phpunit/phpunit": "^7.5 || ^8 || ^9", - "squizlabs/php_codesniffer": "^3.5" - }, - "suggest": { - "ext-gd": "Needed to process images", - "ext-gmagick": "Improves image processing performance", - "ext-imagick": "Improves image processing performance", - "ext-zlib": "Needed for pdf stream compression" - }, - "type": "library", - "autoload": { - "psr-4": { - "Dompdf\\": "src/" - }, - "classmap": [ - "lib/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-2.1" - ], - "authors": [ - { - "name": "Fabien Ménager", - "email": "fabien.menager@gmail.com" - }, - { - "name": "Brian Sweeney", - "email": "eclecticgeek@gmail.com" - }, - { - "name": "Gabriel Bull", - "email": "me@gabrielbull.com" - } - ], - "description": "DOMPDF is a CSS 2.1 compliant HTML to PDF converter", - "homepage": "https://github.com/dompdf/dompdf", - "support": { - "issues": "https://github.com/dompdf/dompdf/issues", - "source": "https://github.com/dompdf/dompdf/tree/v2.0.0" - }, - "time": "2022-06-21T21:14:57+00:00" + "time": "2024-02-05T11:56:58+00:00" }, { "name": "dragonmantank/cron-expression", - "version": "v3.3.1", + "version": "v3.3.3", "source": { "type": "git", "url": "https://github.com/dragonmantank/cron-expression.git", - "reference": "be85b3f05b46c39bbc0d95f6c071ddff669510fa" + "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/be85b3f05b46c39bbc0d95f6c071ddff669510fa", - "reference": "be85b3f05b46c39bbc0d95f6c071ddff669510fa", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", + "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", "shasum": "" }, "require": { @@ -1261,7 +1221,7 @@ ], "support": { "issues": "https://github.com/dragonmantank/cron-expression/issues", - "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.1" + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.3" }, "funding": [ { @@ -1269,31 +1229,30 @@ "type": "github" } ], - "time": "2022-01-18T15:43:28+00:00" + "time": "2023-08-10T19:36:49+00:00" }, { "name": "egulias/email-validator", - "version": "3.2.1", + "version": "4.0.2", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "f88dcf4b14af14a98ad96b14b2b317969eab6715" + "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/f88dcf4b14af14a98ad96b14b2b317969eab6715", - "reference": "f88dcf4b14af14a98ad96b14b2b317969eab6715", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ebaaf5be6c0286928352e054f2d5125608e5405e", + "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e", "shasum": "" }, "require": { - "doctrine/lexer": "^1.2", - "php": ">=7.2", - "symfony/polyfill-intl-idn": "^1.15" + "doctrine/lexer": "^2.0 || ^3.0", + "php": ">=8.1", + "symfony/polyfill-intl-idn": "^1.26" }, "require-dev": { - "php-coveralls/php-coveralls": "^2.2", - "phpunit/phpunit": "^8.5.8|^9.3.3", - "vimeo/psalm": "^4" + "phpunit/phpunit": "^10.2", + "vimeo/psalm": "^5.12" }, "suggest": { "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" @@ -1301,7 +1260,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "4.0.x-dev" } }, "autoload": { @@ -1329,7 +1288,7 @@ ], "support": { "issues": "https://github.com/egulias/EmailValidator/issues", - "source": "https://github.com/egulias/EmailValidator/tree/3.2.1" + "source": "https://github.com/egulias/EmailValidator/tree/4.0.2" }, "funding": [ { @@ -1337,34 +1296,35 @@ "type": "github" } ], - "time": "2022-06-18T20:57:19+00:00" + "time": "2023-10-06T06:47:41+00:00" }, { "name": "firebase/php-jwt", - "version": "v6.3.0", + "version": "v6.10.1", "source": { "type": "git", "url": "https://github.com/firebase/php-jwt.git", - "reference": "018dfc4e1da92ad8a1b90adc4893f476a3b41cb8" + "reference": "500501c2ce893c824c801da135d02661199f60c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/018dfc4e1da92ad8a1b90adc4893f476a3b41cb8", - "reference": "018dfc4e1da92ad8a1b90adc4893f476a3b41cb8", + "url": "https://api.github.com/repos/firebase/php-jwt/zipball/500501c2ce893c824c801da135d02661199f60c5", + "reference": "500501c2ce893c824c801da135d02661199f60c5", "shasum": "" }, "require": { - "php": "^7.1||^8.0" + "php": "^8.0" }, "require-dev": { - "guzzlehttp/guzzle": "^6.5||^7.4", - "phpspec/prophecy-phpunit": "^1.1", - "phpunit/phpunit": "^7.5||^9.5", - "psr/cache": "^1.0||^2.0", + "guzzlehttp/guzzle": "^7.4", + "phpspec/prophecy-phpunit": "^2.0", + "phpunit/phpunit": "^9.5", + "psr/cache": "^2.0||^3.0", "psr/http-client": "^1.0", "psr/http-factory": "^1.0" }, "suggest": { + "ext-sodium": "Support EdDSA (Ed25519) signatures", "paragonie/sodium_compat": "Support EdDSA (Ed25519) signatures when libsodium is not present" }, "type": "library", @@ -1397,27 +1357,27 @@ ], "support": { "issues": "https://github.com/firebase/php-jwt/issues", - "source": "https://github.com/firebase/php-jwt/tree/v6.3.0" + "source": "https://github.com/firebase/php-jwt/tree/v6.10.1" }, - "time": "2022-07-15T16:48:45+00:00" + "time": "2024-05-18T18:05:11+00:00" }, { "name": "fruitcake/php-cors", - "version": "v1.2.0", + "version": "v1.3.0", "source": { "type": "git", "url": "https://github.com/fruitcake/php-cors.git", - "reference": "58571acbaa5f9f462c9c77e911700ac66f446d4e" + "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/58571acbaa5f9f462c9c77e911700ac66f446d4e", - "reference": "58571acbaa5f9f462c9c77e911700ac66f446d4e", + "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/3d158f36e7875e2f040f37bc0573956240a5a38b", + "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b", "shasum": "" }, "require": { "php": "^7.4|^8.0", - "symfony/http-foundation": "^4.4|^5.4|^6" + "symfony/http-foundation": "^4.4|^5.4|^6|^7" }, "require-dev": { "phpstan/phpstan": "^1.4", @@ -1427,7 +1387,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.1-dev" + "dev-master": "1.2-dev" } }, "autoload": { @@ -1458,7 +1418,7 @@ ], "support": { "issues": "https://github.com/fruitcake/php-cors/issues", - "source": "https://github.com/fruitcake/php-cors/tree/v1.2.0" + "source": "https://github.com/fruitcake/php-cors/tree/v1.3.0" }, "funding": [ { @@ -1470,28 +1430,28 @@ "type": "github" } ], - "time": "2022-02-20T15:07:15+00:00" + "time": "2023-10-12T05:21:21+00:00" }, { "name": "graham-campbell/result-type", - "version": "v1.1.0", + "version": "v1.1.3", "source": { "type": "git", "url": "https://github.com/GrahamCampbell/Result-Type.git", - "reference": "a878d45c1914464426dc94da61c9e1d36ae262a8" + "reference": "3ba905c11371512af9d9bdd27d99b782216b6945" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/a878d45c1914464426dc94da61c9e1d36ae262a8", - "reference": "a878d45c1914464426dc94da61c9e1d36ae262a8", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/3ba905c11371512af9d9bdd27d99b782216b6945", + "reference": "3ba905c11371512af9d9bdd27d99b782216b6945", "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9" + "phpoption/phpoption": "^1.9.3" }, "require-dev": { - "phpunit/phpunit": "^8.5.28 || ^9.5.21" + "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28" }, "type": "library", "autoload": { @@ -1520,7 +1480,7 @@ ], "support": { "issues": "https://github.com/GrahamCampbell/Result-Type/issues", - "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.0" + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.3" }, "funding": [ { @@ -1532,26 +1492,26 @@ "type": "tidelift" } ], - "time": "2022-07-30T15:56:11+00:00" + "time": "2024-07-20T21:45:45+00:00" }, { "name": "guzzlehttp/guzzle", - "version": "7.4.5", + "version": "7.9.2", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "1dd98b0564cb3f6bd16ce683cb755f94c10fbd82" + "reference": "d281ed313b989f213357e3be1a179f02196ac99b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/1dd98b0564cb3f6bd16ce683cb755f94c10fbd82", - "reference": "1dd98b0564cb3f6bd16ce683cb755f94c10fbd82", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b", + "reference": "d281ed313b989f213357e3be1a179f02196ac99b", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^1.5", - "guzzlehttp/psr7": "^1.9 || ^2.4", + "guzzlehttp/promises": "^1.5.3 || ^2.0.3", + "guzzlehttp/psr7": "^2.7.0", "php": "^7.2.5 || ^8.0", "psr/http-client": "^1.0", "symfony/deprecation-contracts": "^2.2 || ^3.0" @@ -1560,10 +1520,11 @@ "psr/http-client-implementation": "1.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", + "bamarni/composer-bin-plugin": "^1.8.2", "ext-curl": "*", - "php-http/client-integration-tests": "^3.0", - "phpunit/phpunit": "^8.5.5 || ^9.3.5", + "guzzle/client-integration-tests": "3.0.2", + "php-http/message-factory": "^1.1", + "phpunit/phpunit": "^8.5.39 || ^9.6.20", "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { @@ -1573,8 +1534,9 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "7.4-dev" + "bamarni-bin": { + "bin-links": true, + "forward-command": false } }, "autoload": { @@ -1640,7 +1602,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.4.5" + "source": "https://github.com/guzzle/guzzle/tree/7.9.2" }, "funding": [ { @@ -1656,38 +1618,37 @@ "type": "tidelift" } ], - "time": "2022-06-20T22:16:13+00:00" + "time": "2024-07-24T11:22:20+00:00" }, { "name": "guzzlehttp/promises", - "version": "1.5.1", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da" + "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da", - "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da", + "url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", + "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", "shasum": "" }, "require": { - "php": ">=5.5" + "php": "^7.2.5 || ^8.0" }, "require-dev": { - "symfony/phpunit-bridge": "^4.4 || ^5.1" + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.39 || ^9.6.20" }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "1.5-dev" + "bamarni-bin": { + "bin-links": true, + "forward-command": false } }, "autoload": { - "files": [ - "src/functions_include.php" - ], "psr-4": { "GuzzleHttp\\Promise\\": "src/" } @@ -1724,7 +1685,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/1.5.1" + "source": "https://github.com/guzzle/promises/tree/2.0.3" }, "funding": [ { @@ -1740,26 +1701,26 @@ "type": "tidelift" } ], - "time": "2021-10-22T20:56:57+00:00" + "time": "2024-07-18T10:29:17+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.4.0", + "version": "2.7.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "13388f00956b1503577598873fffb5ae994b5737" + "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/13388f00956b1503577598873fffb5ae994b5737", - "reference": "13388f00956b1503577598873fffb5ae994b5737", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201", + "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201", "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0", "psr/http-factory": "^1.0", - "psr/http-message": "^1.0", + "psr/http-message": "^1.1 || ^2.0", "ralouphie/getallheaders": "^3.0" }, "provide": { @@ -1767,17 +1728,18 @@ "psr/http-message-implementation": "1.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^8.5.8 || ^9.3.10" + "bamarni/composer-bin-plugin": "^1.8.2", + "http-interop/http-factory-tests": "0.9.0", + "phpunit/phpunit": "^8.5.39 || ^9.6.20" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "2.4-dev" + "bamarni-bin": { + "bin-links": true, + "forward-command": false } }, "autoload": { @@ -1839,7 +1801,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.4.0" + "source": "https://github.com/guzzle/psr7/tree/2.7.0" }, "funding": [ { @@ -1855,111 +1817,41 @@ "type": "tidelift" } ], - "time": "2022-06-20T21:43:11+00:00" - }, - { - "name": "http-interop/http-factory-guzzle", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/http-interop/http-factory-guzzle.git", - "reference": "8f06e92b95405216b237521cc64c804dd44c4a81" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/http-interop/http-factory-guzzle/zipball/8f06e92b95405216b237521cc64c804dd44c4a81", - "reference": "8f06e92b95405216b237521cc64c804dd44c4a81", - "shasum": "" - }, - "require": { - "guzzlehttp/psr7": "^1.7||^2.0", - "php": ">=7.3", - "psr/http-factory": "^1.0" - }, - "provide": { - "psr/http-factory-implementation": "^1.0" - }, - "require-dev": { - "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^9.5" - }, - "suggest": { - "guzzlehttp/psr7": "Includes an HTTP factory starting in version 2.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Http\\Factory\\Guzzle\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "An HTTP Factory using Guzzle PSR7", - "keywords": [ - "factory", - "http", - "psr-17", - "psr-7" - ], - "support": { - "issues": "https://github.com/http-interop/http-factory-guzzle/issues", - "source": "https://github.com/http-interop/http-factory-guzzle/tree/1.2.0" - }, - "time": "2021-07-21T13:50:14+00:00" + "time": "2024-07-18T11:15:46+00:00" }, { - "name": "intervention/image", - "version": "2.7.2", + "name": "guzzlehttp/uri-template", + "version": "v1.0.3", "source": { "type": "git", - "url": "https://github.com/Intervention/image.git", - "reference": "04be355f8d6734c826045d02a1079ad658322dad" + "url": "https://github.com/guzzle/uri-template.git", + "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Intervention/image/zipball/04be355f8d6734c826045d02a1079ad658322dad", - "reference": "04be355f8d6734c826045d02a1079ad658322dad", + "url": "https://api.github.com/repos/guzzle/uri-template/zipball/ecea8feef63bd4fef1f037ecb288386999ecc11c", + "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c", "shasum": "" }, "require": { - "ext-fileinfo": "*", - "guzzlehttp/psr7": "~1.1 || ^2.0", - "php": ">=5.4.0" + "php": "^7.2.5 || ^8.0", + "symfony/polyfill-php80": "^1.24" }, "require-dev": { - "mockery/mockery": "~0.9.2", - "phpunit/phpunit": "^4.8 || ^5.7 || ^7.5.15" - }, - "suggest": { - "ext-gd": "to use GD library based image processing.", - "ext-imagick": "to use Imagick based image processing.", - "intervention/imagecache": "Caching extension for the Intervention Image library" + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.36 || ^9.6.15", + "uri-template/tests": "1.0.0" }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "2.4-dev" - }, - "laravel": { - "providers": [ - "Intervention\\Image\\ImageServiceProvider" - ], - "aliases": { - "Image": "Intervention\\Image\\Facades\\Image" - } + "bamarni-bin": { + "bin-links": true, + "forward-command": false } }, "autoload": { "psr-4": { - "Intervention\\Image\\": "src/Intervention/Image" + "GuzzleHttp\\UriTemplate\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1968,49 +1860,63 @@ ], "authors": [ { - "name": "Oliver Vogel", - "email": "oliver@intervention.io", - "homepage": "https://intervention.io/" + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" } ], - "description": "Image handling and manipulation library with support for Laravel integration", - "homepage": "http://image.intervention.io/", + "description": "A polyfill class for uri_template of PHP", "keywords": [ - "gd", - "image", - "imagick", - "laravel", - "thumbnail", - "watermark" + "guzzlehttp", + "uri-template" ], "support": { - "issues": "https://github.com/Intervention/image/issues", - "source": "https://github.com/Intervention/image/tree/2.7.2" + "issues": "https://github.com/guzzle/uri-template/issues", + "source": "https://github.com/guzzle/uri-template/tree/v1.0.3" }, "funding": [ { - "url": "https://paypal.me/interventionio", - "type": "custom" + "url": "https://github.com/GrahamCampbell", + "type": "github" }, { - "url": "https://github.com/Intervention", + "url": "https://github.com/Nyholm", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/uri-template", + "type": "tidelift" } ], - "time": "2022-05-21T17:30:32+00:00" + "time": "2023-12-03T19:50:20+00:00" }, { "name": "jean85/pretty-package-versions", - "version": "2.0.5", + "version": "2.0.6", "source": { "type": "git", "url": "https://github.com/Jean85/pretty-package-versions.git", - "reference": "ae547e455a3d8babd07b96966b17d7fd21d9c6af" + "reference": "f9fdd29ad8e6d024f52678b570e5593759b550b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/ae547e455a3d8babd07b96966b17d7fd21d9c6af", - "reference": "ae547e455a3d8babd07b96966b17d7fd21d9c6af", + "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/f9fdd29ad8e6d024f52678b570e5593759b550b4", + "reference": "f9fdd29ad8e6d024f52678b570e5593759b550b4", "shasum": "" }, "require": { @@ -2018,9 +1924,9 @@ "php": "^7.1|^8.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^2.17", + "friendsofphp/php-cs-fixer": "^3.2", "jean85/composer-provided-replaced-stub-package": "^1.0", - "phpstan/phpstan": "^0.12.66", + "phpstan/phpstan": "^1.4", "phpunit/phpunit": "^7.5|^8.5|^9.4", "vimeo/psalm": "^4.3" }, @@ -2054,9 +1960,9 @@ ], "support": { "issues": "https://github.com/Jean85/pretty-package-versions/issues", - "source": "https://github.com/Jean85/pretty-package-versions/tree/2.0.5" + "source": "https://github.com/Jean85/pretty-package-versions/tree/2.0.6" }, - "time": "2021-10-08T21:21:46+00:00" + "time": "2024-03-08T09:58:59+00:00" }, { "name": "jfcherng/php-color-output", @@ -2119,26 +2025,26 @@ }, { "name": "jfcherng/php-diff", - "version": "6.11.6", + "version": "6.16.2", "source": { "type": "git", "url": "https://github.com/jfcherng/php-diff.git", - "reference": "e1b64a80664716fb88efe7b608b0fa190cb71d06" + "reference": "7f46bcfc582e81769237d0b3f6b8a548efe8799d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jfcherng/php-diff/zipball/e1b64a80664716fb88efe7b608b0fa190cb71d06", - "reference": "e1b64a80664716fb88efe7b608b0fa190cb71d06", + "url": "https://api.github.com/repos/jfcherng/php-diff/zipball/7f46bcfc582e81769237d0b3f6b8a548efe8799d", + "reference": "7f46bcfc582e81769237d0b3f6b8a548efe8799d", "shasum": "" }, "require": { "jfcherng/php-color-output": "^3", - "jfcherng/php-mb-string": "^1.4.6", - "jfcherng/php-sequence-matcher": "^3.2.8", + "jfcherng/php-mb-string": "^1.4.6 || ^2", + "jfcherng/php-sequence-matcher": "^3.2.10 || ^4", "php": ">=7.4" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3.8", + "friendsofphp/php-cs-fixer": "^3.51", "liip/rmt": "^1.6", "phan/phan": "^5", "phpunit/phpunit": "^9", @@ -2173,7 +2079,7 @@ ], "support": { "issues": "https://github.com/jfcherng/php-diff/issues", - "source": "https://github.com/jfcherng/php-diff/tree/6.11.6" + "source": "https://github.com/jfcherng/php-diff/tree/6.16.2" }, "funding": [ { @@ -2181,30 +2087,34 @@ "type": "custom" } ], - "time": "2022-06-26T05:42:07+00:00" + "time": "2024-03-10T17:40:29+00:00" }, { "name": "jfcherng/php-mb-string", - "version": "1.4.6", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/jfcherng/php-mb-string.git", - "reference": "f5b438d348e030961e0b86a04ef2319c31ae8146" + "reference": "8407bfefde47849c9e7c9594e6de2ac85a0f845d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jfcherng/php-mb-string/zipball/f5b438d348e030961e0b86a04ef2319c31ae8146", - "reference": "f5b438d348e030961e0b86a04ef2319c31ae8146", + "url": "https://api.github.com/repos/jfcherng/php-mb-string/zipball/8407bfefde47849c9e7c9594e6de2ac85a0f845d", + "reference": "8407bfefde47849c9e7c9594e6de2ac85a0f845d", "shasum": "" }, "require": { "ext-iconv": "*", - "php": ">=7.1.3" + "php": ">=8.1" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^2.18", - "phan/phan": "^2 || ^3 || ^4", - "phpunit/phpunit": "^7.2 || ^8 || ^9" + "friendsofphp/php-cs-fixer": "^3", + "phan/phan": "^5", + "phpunit/phpunit": "^9 || ^10" + }, + "suggest": { + "ext-iconv": "Either \"ext-iconv\" or \"ext-mbstring\" is requried.", + "ext-mbstring": "Either \"ext-iconv\" or \"ext-mbstring\" is requried." }, "type": "library", "autoload": { @@ -2225,7 +2135,7 @@ "description": "A high performance multibytes sting implementation for frequently reading/writing operations.", "support": { "issues": "https://github.com/jfcherng/php-mb-string/issues", - "source": "https://github.com/jfcherng/php-mb-string/tree/1.4.6" + "source": "https://github.com/jfcherng/php-mb-string/tree/2.0.1" }, "funding": [ { @@ -2233,31 +2143,30 @@ "type": "custom" } ], - "time": "2022-04-02T16:32:41+00:00" + "time": "2023-04-17T14:23:16+00:00" }, { "name": "jfcherng/php-sequence-matcher", - "version": "3.2.8", + "version": "4.0.3", "source": { "type": "git", "url": "https://github.com/jfcherng/php-sequence-matcher.git", - "reference": "410519ca07cd7989f450d6e2aa40975dbd1be048" + "reference": "d2038ac29627340a7458609072a8ba355e80ec5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jfcherng/php-sequence-matcher/zipball/410519ca07cd7989f450d6e2aa40975dbd1be048", - "reference": "410519ca07cd7989f450d6e2aa40975dbd1be048", + "url": "https://api.github.com/repos/jfcherng/php-sequence-matcher/zipball/d2038ac29627340a7458609072a8ba355e80ec5b", + "reference": "d2038ac29627340a7458609072a8ba355e80ec5b", "shasum": "" }, "require": { - "php": ">=7.1.3" + "php": ">=8.1" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^2.19", - "liip/rmt": "^1.6", - "phan/phan": "^2.5 || ^3 || ^4 || ^5", - "phpunit/phpunit": ">=7 <10", - "squizlabs/php_codesniffer": "^3.5" + "friendsofphp/php-cs-fixer": "^3", + "phan/phan": "^5", + "phpunit/phpunit": "^9 || ^10", + "squizlabs/php_codesniffer": "^3.7" }, "type": "library", "autoload": { @@ -2282,7 +2191,7 @@ "description": "A longest sequence matcher. The logic is primarily based on the Python difflib package.", "support": { "issues": "https://github.com/jfcherng/php-sequence-matcher/issues", - "source": "https://github.com/jfcherng/php-sequence-matcher/tree/3.2.8" + "source": "https://github.com/jfcherng/php-sequence-matcher/tree/4.0.3" }, "funding": [ { @@ -2290,53 +2199,57 @@ "type": "custom" } ], - "time": "2021-09-02T04:02:02+00:00" + "time": "2023-05-21T07:57:08+00:00" }, { "name": "laravel/cashier", - "version": "v13.15.1", + "version": "v15.4.1", "source": { "type": "git", "url": "https://github.com/laravel/cashier-stripe.git", - "reference": "f65a115c10d9c979e8d6706ebd68af0fb1b26b66" + "reference": "4fee4a7716a465ff9d96cc17f0bf66a98953d25f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/cashier-stripe/zipball/f65a115c10d9c979e8d6706ebd68af0fb1b26b66", - "reference": "f65a115c10d9c979e8d6706ebd68af0fb1b26b66", + "url": "https://api.github.com/repos/laravel/cashier-stripe/zipball/4fee4a7716a465ff9d96cc17f0bf66a98953d25f", + "reference": "4fee4a7716a465ff9d96cc17f0bf66a98953d25f", "shasum": "" }, "require": { - "dompdf/dompdf": "^1.2.1|^2.0", "ext-json": "*", - "illuminate/console": "^8.37|^9.0", - "illuminate/contracts": "^8.37|^9.0", - "illuminate/database": "^8.37|^9.0", - "illuminate/http": "^8.37|^9.0", - "illuminate/log": "^8.37|^9.0", - "illuminate/notifications": "^8.37|^9.0", - "illuminate/routing": "^8.37|^9.0", - "illuminate/support": "^8.37|^9.0", - "illuminate/view": "^8.37|^9.0", - "moneyphp/money": "^3.2|^4.0", - "nesbot/carbon": "^2.0", - "php": "^7.3|^8.0", - "stripe/stripe-php": "^7.39|^8.0|^9.0", - "symfony/http-kernel": "^5.0|^6.0", + "illuminate/console": "^10.0|^11.0", + "illuminate/contracts": "^10.0|^11.0", + "illuminate/database": "^10.0|^11.0", + "illuminate/http": "^10.0|^11.0", + "illuminate/log": "^10.0|^11.0", + "illuminate/notifications": "^10.0|^11.0", + "illuminate/pagination": "^10.0|^11.0", + "illuminate/routing": "^10.0|^11.0", + "illuminate/support": "^10.0|^11.0", + "illuminate/view": "^10.0|^11.0", + "moneyphp/money": "^4.0", + "nesbot/carbon": "^2.0|^3.0", + "php": "^8.1", + "stripe/stripe-php": "^13.0", + "symfony/console": "^6.0|^7.0", + "symfony/http-kernel": "^6.0|^7.0", "symfony/polyfill-intl-icu": "^1.22.1" }, "require-dev": { + "dompdf/dompdf": "^2.0", "mockery/mockery": "^1.0", - "orchestra/testbench": "^6.0|^7.0", - "phpunit/phpunit": "^9.0" + "orchestra/testbench": "^8.18|^9.0", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.4" }, "suggest": { + "dompdf/dompdf": "Required when generating and downloading invoice PDF's using Dompdf (^1.0.1|^2.0).", "ext-intl": "Allows for more locales besides the default \"en\" when formatting money values." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "13.x-dev" + "dev-master": "15.x-dev" }, "laravel": { "providers": [ @@ -2374,59 +2287,73 @@ "issues": "https://github.com/laravel/cashier/issues", "source": "https://github.com/laravel/cashier" }, - "time": "2022-08-16T14:59:32+00:00" + "time": "2024-07-09T15:42:33+00:00" }, { "name": "laravel/framework", - "version": "v9.26.1", + "version": "v11.20.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "1ccfb91afee7a351b09ba1f1b97739096a3ad1cf" + "reference": "3cd7593dd9b67002fc416b46616f4d4d1da3e571" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/1ccfb91afee7a351b09ba1f1b97739096a3ad1cf", - "reference": "1ccfb91afee7a351b09ba1f1b97739096a3ad1cf", + "url": "https://api.github.com/repos/laravel/framework/zipball/3cd7593dd9b67002fc416b46616f4d4d1da3e571", + "reference": "3cd7593dd9b67002fc416b46616f4d4d1da3e571", "shasum": "" }, "require": { - "doctrine/inflector": "^2.0", - "dragonmantank/cron-expression": "^3.1", - "egulias/email-validator": "^3.1", + "brick/math": "^0.9.3|^0.10.2|^0.11|^0.12", + "composer-runtime-api": "^2.2", + "doctrine/inflector": "^2.0.5", + "dragonmantank/cron-expression": "^3.3.2", + "egulias/email-validator": "^3.2.1|^4.0", + "ext-ctype": "*", + "ext-filter": "*", + "ext-hash": "*", "ext-mbstring": "*", "ext-openssl": "*", - "fruitcake/php-cors": "^1.2", - "laravel/serializable-closure": "^1.0", - "league/commonmark": "^2.2", - "league/flysystem": "^3.0.16", - "monolog/monolog": "^2.0", - "nesbot/carbon": "^2.53.1", - "nunomaduro/termwind": "^1.13", - "php": "^8.0.2", + "ext-session": "*", + "ext-tokenizer": "*", + "fruitcake/php-cors": "^1.3", + "guzzlehttp/guzzle": "^7.8", + "guzzlehttp/uri-template": "^1.0", + "laravel/prompts": "^0.1.18", + "laravel/serializable-closure": "^1.3", + "league/commonmark": "^2.2.1", + "league/flysystem": "^3.8.0", + "monolog/monolog": "^3.0", + "nesbot/carbon": "^2.72.2|^3.0", + "nunomaduro/termwind": "^2.0", + "php": "^8.2", "psr/container": "^1.1.1|^2.0.1", "psr/log": "^1.0|^2.0|^3.0", "psr/simple-cache": "^1.0|^2.0|^3.0", - "ramsey/uuid": "^4.2.2", - "symfony/console": "^6.0.3", - "symfony/error-handler": "^6.0", - "symfony/finder": "^6.0", - "symfony/http-foundation": "^6.0", - "symfony/http-kernel": "^6.0", - "symfony/mailer": "^6.0", - "symfony/mime": "^6.0", - "symfony/process": "^6.0", - "symfony/routing": "^6.0", - "symfony/var-dumper": "^6.0", - "tijsverkoyen/css-to-inline-styles": "^2.2.2", + "ramsey/uuid": "^4.7", + "symfony/console": "^7.0", + "symfony/error-handler": "^7.0", + "symfony/finder": "^7.0", + "symfony/http-foundation": "^7.0", + "symfony/http-kernel": "^7.0", + "symfony/mailer": "^7.0", + "symfony/mime": "^7.0", + "symfony/polyfill-php83": "^1.28", + "symfony/process": "^7.0", + "symfony/routing": "^7.0", + "symfony/uid": "^7.0", + "symfony/var-dumper": "^7.0", + "tijsverkoyen/css-to-inline-styles": "^2.2.5", "vlucas/phpdotenv": "^5.4.1", "voku/portable-ascii": "^2.0" }, "conflict": { + "mockery/mockery": "1.6.8", "tightenco/collect": "<5.5.33" }, "provide": { "psr/container-implementation": "1.1|2.0", + "psr/log-implementation": "1.0|2.0|3.0", "psr/simple-cache-implementation": "1.0|2.0|3.0" }, "replace": { @@ -2453,6 +2380,7 @@ "illuminate/notifications": "self.version", "illuminate/pagination": "self.version", "illuminate/pipeline": "self.version", + "illuminate/process": "self.version", "illuminate/queue": "self.version", "illuminate/redis": "self.version", "illuminate/routing": "self.version", @@ -2461,67 +2389,78 @@ "illuminate/testing": "self.version", "illuminate/translation": "self.version", "illuminate/validation": "self.version", - "illuminate/view": "self.version" + "illuminate/view": "self.version", + "spatie/once": "*" }, "require-dev": { - "aws/aws-sdk-php": "^3.198.1", - "doctrine/dbal": "^2.13.3|^3.1.4", - "fakerphp/faker": "^1.9.2", - "guzzlehttp/guzzle": "^7.2", + "ably/ably-php": "^1.0", + "aws/aws-sdk-php": "^3.235.5", + "ext-gmp": "*", + "fakerphp/faker": "^1.23", "league/flysystem-aws-s3-v3": "^3.0", "league/flysystem-ftp": "^3.0", + "league/flysystem-path-prefixing": "^3.3", + "league/flysystem-read-only": "^3.3", "league/flysystem-sftp-v3": "^3.0", - "mockery/mockery": "^1.4.4", - "orchestra/testbench-core": "^7.1", - "pda/pheanstalk": "^4.0", - "phpstan/phpstan": "^1.4.7", - "phpunit/phpunit": "^9.5.8", - "predis/predis": "^1.1.9|^2.0", - "symfony/cache": "^6.0" + "mockery/mockery": "^1.6", + "nyholm/psr7": "^1.2", + "orchestra/testbench-core": "^9.1.5", + "pda/pheanstalk": "^5.0", + "phpstan/phpstan": "^1.11.5", + "phpunit/phpunit": "^10.5|^11.0", + "predis/predis": "^2.0.2", + "resend/resend-php": "^0.10.0", + "symfony/cache": "^7.0", + "symfony/http-client": "^7.0", + "symfony/psr-http-message-bridge": "^7.0" }, "suggest": { "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", - "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.198.1).", - "brianium/paratest": "Required to run tests in parallel (^6.0).", - "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.13.3|^3.1.4).", - "ext-bcmath": "Required to use the multiple_of validation rule.", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.235.5).", + "brianium/paratest": "Required to run tests in parallel (^7.0|^8.0).", + "ext-apcu": "Required to use the APC cache driver.", + "ext-fileinfo": "Required to use the Filesystem class.", "ext-ftp": "Required to use the Flysystem FTP driver.", "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", "ext-memcached": "Required to use the memcache cache driver.", - "ext-pcntl": "Required to use all features of the queue worker.", + "ext-pcntl": "Required to use all features of the queue worker and console signal trapping.", + "ext-pdo": "Required to use all database features.", "ext-posix": "Required to use all features of the queue worker.", - "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", + "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0|^6.0).", "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", "filp/whoops": "Required for friendly error pages in development (^2.14.3).", - "guzzlehttp/guzzle": "Required to use the HTTP Client and the ping methods on schedules (^7.2).", "laravel/tinker": "Required to use the tinker console command (^2.0).", "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).", "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).", + "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.3).", + "league/flysystem-read-only": "Required to use read-only disks (^3.3)", "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).", - "mockery/mockery": "Required to use mocking (^1.4.4).", + "mockery/mockery": "Required to use mocking (^1.6).", "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", - "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", - "phpunit/phpunit": "Required to use assertions and run tests (^9.5.8).", - "predis/predis": "Required to use the predis connector (^1.1.9|^2.0).", + "pda/pheanstalk": "Required to use the beanstalk queue driver (^5.0).", + "phpunit/phpunit": "Required to use assertions and run tests (^10.5|^11.0).", + "predis/predis": "Required to use the predis connector (^2.0.2).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).", - "symfony/cache": "Required to PSR-6 cache bridge (^6.0).", - "symfony/filesystem": "Required to enable support for relative symbolic links (^6.0).", - "symfony/http-client": "Required to enable support for the Symfony API mail transports (^6.0).", - "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^6.0).", - "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^6.0).", - "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0)." + "resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0).", + "symfony/cache": "Required to PSR-6 cache bridge (^7.0).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^7.0).", + "symfony/http-client": "Required to enable support for the Symfony API mail transports (^7.0).", + "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^7.0).", + "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^7.0).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^7.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "9.x-dev" + "dev-master": "11.x-dev" } }, "autoload": { "files": [ "src/Illuminate/Collections/helpers.php", "src/Illuminate/Events/functions.php", + "src/Illuminate/Filesystem/functions.php", "src/Illuminate/Foundation/helpers.php", "src/Illuminate/Support/helpers.php" ], @@ -2554,39 +2493,41 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2022-08-23T19:00:07+00:00" + "time": "2024-08-06T14:39:21+00:00" }, { "name": "laravel/horizon", - "version": "v5.10.0", + "version": "v5.27.1", "source": { "type": "git", "url": "https://github.com/laravel/horizon.git", - "reference": "8cbdf156dbbc146be5527d0c5fae185a3d31fff0" + "reference": "184449be3eb296ab16c13a69ce22049f32d0fc2c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/horizon/zipball/8cbdf156dbbc146be5527d0c5fae185a3d31fff0", - "reference": "8cbdf156dbbc146be5527d0c5fae185a3d31fff0", + "url": "https://api.github.com/repos/laravel/horizon/zipball/184449be3eb296ab16c13a69ce22049f32d0fc2c", + "reference": "184449be3eb296ab16c13a69ce22049f32d0fc2c", "shasum": "" }, "require": { "ext-json": "*", "ext-pcntl": "*", "ext-posix": "*", - "illuminate/contracts": "^8.17|^9.0", - "illuminate/queue": "^8.17|^9.0", - "illuminate/support": "^8.17|^9.0", - "nesbot/carbon": "^2.17", - "php": "^7.3|^8.0", + "illuminate/contracts": "^9.21|^10.0|^11.0", + "illuminate/queue": "^9.21|^10.0|^11.0", + "illuminate/support": "^9.21|^10.0|^11.0", + "nesbot/carbon": "^2.17|^3.0", + "php": "^8.0", "ramsey/uuid": "^4.0", - "symfony/error-handler": "^5.0|^6.0", - "symfony/process": "^5.0|^6.0" + "symfony/console": "^6.0|^7.0", + "symfony/error-handler": "^6.0|^7.0", + "symfony/process": "^6.0|^7.0" }, "require-dev": { "mockery/mockery": "^1.0", - "orchestra/testbench": "^6.0|^7.0", - "phpunit/phpunit": "^9.0", + "orchestra/testbench": "^7.0|^8.0|^9.0", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.0|^10.4", "predis/predis": "^1.1|^2.0" }, "suggest": { @@ -2629,53 +2570,52 @@ ], "support": { "issues": "https://github.com/laravel/horizon/issues", - "source": "https://github.com/laravel/horizon/tree/v5.10.0" + "source": "https://github.com/laravel/horizon/tree/v5.27.1" }, - "time": "2022-08-11T17:05:00+00:00" + "time": "2024-08-05T14:23:30+00:00" }, { "name": "laravel/passport", - "version": "v10.4.1", + "version": "v12.3.0", "source": { "type": "git", "url": "https://github.com/laravel/passport.git", - "reference": "b62b418a6d9e9aca231a587be0fc14dc55cd8d77" + "reference": "ca63a86697a4fa091c7dcabe88ebba91d97c785d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/passport/zipball/b62b418a6d9e9aca231a587be0fc14dc55cd8d77", - "reference": "b62b418a6d9e9aca231a587be0fc14dc55cd8d77", + "url": "https://api.github.com/repos/laravel/passport/zipball/ca63a86697a4fa091c7dcabe88ebba91d97c785d", + "reference": "ca63a86697a4fa091c7dcabe88ebba91d97c785d", "shasum": "" }, "require": { "ext-json": "*", - "firebase/php-jwt": "^6.0", - "illuminate/auth": "^8.37|^9.0", - "illuminate/console": "^8.37|^9.0", - "illuminate/container": "^8.37|^9.0", - "illuminate/contracts": "^8.37|^9.0", - "illuminate/cookie": "^8.37|^9.0", - "illuminate/database": "^8.37|^9.0", - "illuminate/encryption": "^8.37|^9.0", - "illuminate/http": "^8.37|^9.0", - "illuminate/support": "^8.37|^9.0", - "lcobucci/jwt": "^3.4|^4.0", - "league/oauth2-server": "^8.2", - "nyholm/psr7": "^1.3", - "php": "^7.3|^8.0", + "firebase/php-jwt": "^6.4", + "illuminate/auth": "^9.21|^10.0|^11.0", + "illuminate/console": "^9.21|^10.0|^11.0", + "illuminate/container": "^9.21|^10.0|^11.0", + "illuminate/contracts": "^9.21|^10.0|^11.0", + "illuminate/cookie": "^9.21|^10.0|^11.0", + "illuminate/database": "^9.21|^10.0|^11.0", + "illuminate/encryption": "^9.21|^10.0|^11.0", + "illuminate/http": "^9.21|^10.0|^11.0", + "illuminate/support": "^9.21|^10.0|^11.0", + "lcobucci/jwt": "^4.3|^5.0", + "league/oauth2-server": "^8.5.3", + "nyholm/psr7": "^1.5", + "php": "^8.0", "phpseclib/phpseclib": "^2.0|^3.0", - "symfony/psr-http-message-bridge": "^2.0" + "symfony/console": "^6.0|^7.0", + "symfony/psr-http-message-bridge": "^2.1|^6.0|^7.0" }, "require-dev": { "mockery/mockery": "^1.0", - "orchestra/testbench": "^6.0|^7.0", - "phpunit/phpunit": "^9.3" + "orchestra/testbench": "^7.35|^8.14|^9.0", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.3|^10.5" }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "10.x-dev" - }, "laravel": { "providers": [ "Laravel\\Passport\\PassportServiceProvider" @@ -2708,51 +2648,115 @@ "issues": "https://github.com/laravel/passport/issues", "source": "https://github.com/laravel/passport" }, - "time": "2022-04-16T13:38:08+00:00" + "time": "2024-08-05T13:44:51+00:00" }, { - "name": "laravel/scout", - "version": "v9.4.10", + "name": "laravel/prompts", + "version": "v0.1.24", "source": { "type": "git", - "url": "https://github.com/laravel/scout.git", - "reference": "45c7222ccd8f5d8ee069a85deeef799b7dcd79fa" + "url": "https://github.com/laravel/prompts.git", + "reference": "409b0b4305273472f3754826e68f4edbd0150149" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/scout/zipball/45c7222ccd8f5d8ee069a85deeef799b7dcd79fa", - "reference": "45c7222ccd8f5d8ee069a85deeef799b7dcd79fa", + "url": "https://api.github.com/repos/laravel/prompts/zipball/409b0b4305273472f3754826e68f4edbd0150149", + "reference": "409b0b4305273472f3754826e68f4edbd0150149", "shasum": "" }, "require": { - "illuminate/bus": "^8.0|^9.0", - "illuminate/contracts": "^8.0|^9.0", - "illuminate/database": "^8.0|^9.0", - "illuminate/http": "^8.0|^9.0", - "illuminate/pagination": "^8.0|^9.0", - "illuminate/queue": "^8.0|^9.0", - "illuminate/support": "^8.0|^9.0", - "php": "^7.3|^8.0" + "ext-mbstring": "*", + "illuminate/collections": "^10.0|^11.0", + "php": "^8.1", + "symfony/console": "^6.2|^7.0" + }, + "conflict": { + "illuminate/console": ">=10.17.0 <10.25.0", + "laravel/framework": ">=10.17.0 <10.25.0" }, "require-dev": { - "meilisearch/meilisearch-php": "^0.19", - "mockery/mockery": "^1.0", - "orchestra/testbench": "^6.17|^7.0", - "phpunit/phpunit": "^9.3" + "mockery/mockery": "^1.5", + "pestphp/pest": "^2.3", + "phpstan/phpstan": "^1.11", + "phpstan/phpstan-mockery": "^1.1" }, "suggest": { - "algolia/algoliasearch-client-php": "Required to use the Algolia engine (^3.2).", - "meilisearch/meilisearch-php": "Required to use the MeiliSearch engine (^0.23)." + "ext-pcntl": "Required for the spinner to be animated." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "9.x-dev" - }, - "laravel": { - "providers": [ - "Laravel\\Scout\\ScoutServiceProvider" - ] + "dev-main": "0.1.x-dev" + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Laravel\\Prompts\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Add beautiful and user-friendly forms to your command-line applications.", + "support": { + "issues": "https://github.com/laravel/prompts/issues", + "source": "https://github.com/laravel/prompts/tree/v0.1.24" + }, + "time": "2024-06-17T13:58:22+00:00" + }, + { + "name": "laravel/scout", + "version": "v10.11.1", + "source": { + "type": "git", + "url": "https://github.com/laravel/scout.git", + "reference": "b31056d49ae0540a475947391d7ea8617d779aee" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/scout/zipball/b31056d49ae0540a475947391d7ea8617d779aee", + "reference": "b31056d49ae0540a475947391d7ea8617d779aee", + "shasum": "" + }, + "require": { + "illuminate/bus": "^9.0|^10.0|^11.0", + "illuminate/contracts": "^9.0|^10.0|^11.0", + "illuminate/database": "^9.0|^10.0|^11.0", + "illuminate/http": "^9.0|^10.0|^11.0", + "illuminate/pagination": "^9.0|^10.0|^11.0", + "illuminate/queue": "^9.0|^10.0|^11.0", + "illuminate/support": "^9.0|^10.0|^11.0", + "php": "^8.0", + "symfony/console": "^6.0|^7.0" + }, + "require-dev": { + "algolia/algoliasearch-client-php": "^3.2", + "meilisearch/meilisearch-php": "^1.0", + "mockery/mockery": "^1.0", + "orchestra/testbench": "^7.31|^8.11|^9.0", + "php-http/guzzle7-adapter": "^1.0", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.3|^10.4", + "typesense/typesense-php": "^4.9.3" + }, + "suggest": { + "algolia/algoliasearch-client-php": "Required to use the Algolia engine (^3.2).", + "meilisearch/meilisearch-php": "Required to use the Meilisearch engine (^1.0).", + "typesense/typesense-php": "Required to use the Typesense engine (^4.9)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + }, + "laravel": { + "providers": [ + "Laravel\\Scout\\ScoutServiceProvider" + ] } }, "autoload": { @@ -2780,29 +2784,31 @@ "issues": "https://github.com/laravel/scout/issues", "source": "https://github.com/laravel/scout" }, - "time": "2022-07-19T14:34:57+00:00" + "time": "2024-08-06T15:13:57+00:00" }, { "name": "laravel/serializable-closure", - "version": "v1.2.0", + "version": "v1.3.4", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "09f0e9fb61829f628205b7c94906c28740ff9540" + "reference": "61b87392d986dc49ad5ef64e75b1ff5fee24ef81" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/09f0e9fb61829f628205b7c94906c28740ff9540", - "reference": "09f0e9fb61829f628205b7c94906c28740ff9540", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/61b87392d986dc49ad5ef64e75b1ff5fee24ef81", + "reference": "61b87392d986dc49ad5ef64e75b1ff5fee24ef81", "shasum": "" }, "require": { "php": "^7.3|^8.0" }, "require-dev": { - "pestphp/pest": "^1.18", - "phpstan/phpstan": "^0.12.98", - "symfony/var-dumper": "^5.3" + "illuminate/support": "^8.0|^9.0|^10.0|^11.0", + "nesbot/carbon": "^2.61|^3.0", + "pestphp/pest": "^1.21.3", + "phpstan/phpstan": "^1.8.2", + "symfony/var-dumper": "^5.4.11|^6.2.0|^7.0.0" }, "type": "library", "extra": { @@ -2839,35 +2845,39 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2022-05-16T17:09:47+00:00" + "time": "2024-08-02T07:48:17+00:00" }, { "name": "laravel/slack-notification-channel", - "version": "v2.4.0", + "version": "v3.3.0", "source": { "type": "git", "url": "https://github.com/laravel/slack-notification-channel.git", - "reference": "060617a31562c88656c95c5971a36989122d4b53" + "reference": "8cd988fad1a08ed88dfd852f140477376c60217f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/slack-notification-channel/zipball/060617a31562c88656c95c5971a36989122d4b53", - "reference": "060617a31562c88656c95c5971a36989122d4b53", + "url": "https://api.github.com/repos/laravel/slack-notification-channel/zipball/8cd988fad1a08ed88dfd852f140477376c60217f", + "reference": "8cd988fad1a08ed88dfd852f140477376c60217f", "shasum": "" }, "require": { - "guzzlehttp/guzzle": "^6.0|^7.0", - "illuminate/notifications": "~5.8.0|^6.0|^7.0|^8.0|^9.0", - "php": "^7.1.3|^8.0" + "guzzlehttp/guzzle": "^7.0", + "illuminate/http": "^9.0|^10.0|^11.0", + "illuminate/notifications": "^9.0|^10.0|^11.0", + "illuminate/support": "^9.0|^10.0|^11.0", + "php": "^8.0" }, "require-dev": { "mockery/mockery": "^1.0", - "phpunit/phpunit": "^7.0|^8.0|^9.0" + "orchestra/testbench": "^7.0|^8.0|^9.0", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.0|^10.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.x-dev" + "dev-master": "3.x-dev" }, "laravel": { "providers": [ @@ -2898,112 +2908,42 @@ ], "support": { "issues": "https://github.com/laravel/slack-notification-channel/issues", - "source": "https://github.com/laravel/slack-notification-channel/tree/v2.4.0" - }, - "time": "2022-01-12T18:07:54+00:00" - }, - { - "name": "laravel/telescope", - "version": "v4.9.2", - "source": { - "type": "git", - "url": "https://github.com/laravel/telescope.git", - "reference": "0368468e9f6d804032d18c009ed19c226572e6c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/telescope/zipball/0368468e9f6d804032d18c009ed19c226572e6c6", - "reference": "0368468e9f6d804032d18c009ed19c226572e6c6", - "shasum": "" - }, - "require": { - "ext-json": "*", - "laravel/framework": "^8.37|^9.0", - "php": "^7.3|^8.0", - "symfony/var-dumper": "^5.0|^6.0" - }, - "require-dev": { - "ext-gd": "*", - "guzzlehttp/guzzle": "^6.0|^7.0", - "orchestra/testbench": "^6.0|^7.0" + "source": "https://github.com/laravel/slack-notification-channel/tree/v3.3.0" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.x-dev" - }, - "laravel": { - "providers": [ - "Laravel\\Telescope\\TelescopeServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Laravel\\Telescope\\": "src/", - "Laravel\\Telescope\\Database\\Factories\\": "database/factories/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - }, - { - "name": "Mohamed Said", - "email": "mohamed@laravel.com" - } - ], - "description": "An elegant debug assistant for the Laravel framework.", - "keywords": [ - "debugging", - "laravel", - "monitoring" - ], - "support": { - "issues": "https://github.com/laravel/telescope/issues", - "source": "https://github.com/laravel/telescope/tree/v4.9.2" - }, - "time": "2022-08-08T19:54:18+00:00" + "time": "2024-07-10T19:39:44+00:00" }, { "name": "laravel/tinker", - "version": "v2.7.2", + "version": "v2.9.0", "source": { "type": "git", "url": "https://github.com/laravel/tinker.git", - "reference": "dff39b661e827dae6e092412f976658df82dbac5" + "reference": "502e0fe3f0415d06d5db1f83a472f0f3b754bafe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/dff39b661e827dae6e092412f976658df82dbac5", - "reference": "dff39b661e827dae6e092412f976658df82dbac5", + "url": "https://api.github.com/repos/laravel/tinker/zipball/502e0fe3f0415d06d5db1f83a472f0f3b754bafe", + "reference": "502e0fe3f0415d06d5db1f83a472f0f3b754bafe", "shasum": "" }, "require": { - "illuminate/console": "^6.0|^7.0|^8.0|^9.0", - "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0", - "illuminate/support": "^6.0|^7.0|^8.0|^9.0", + "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", "php": "^7.2.5|^8.0", - "psy/psysh": "^0.10.4|^0.11.1", - "symfony/var-dumper": "^4.3.4|^5.0|^6.0" + "psy/psysh": "^0.11.1|^0.12.0", + "symfony/var-dumper": "^4.3.4|^5.0|^6.0|^7.0" }, "require-dev": { "mockery/mockery": "~1.3.3|^1.4.2", + "phpstan/phpstan": "^1.10", "phpunit/phpunit": "^8.5.8|^9.3.3" }, "suggest": { - "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0)." + "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0)." }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - }, "laravel": { "providers": [ "Laravel\\Tinker\\TinkerServiceProvider" @@ -3034,37 +2974,40 @@ ], "support": { "issues": "https://github.com/laravel/tinker/issues", - "source": "https://github.com/laravel/tinker/tree/v2.7.2" + "source": "https://github.com/laravel/tinker/tree/v2.9.0" }, - "time": "2022-03-23T12:38:24+00:00" + "time": "2024-01-04T16:10:04+00:00" }, { "name": "lcobucci/clock", - "version": "2.2.0", + "version": "3.2.0", "source": { "type": "git", "url": "https://github.com/lcobucci/clock.git", - "reference": "fb533e093fd61321bfcbac08b131ce805fe183d3" + "reference": "6f28b826ea01306b07980cb8320ab30b966cd715" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lcobucci/clock/zipball/fb533e093fd61321bfcbac08b131ce805fe183d3", - "reference": "fb533e093fd61321bfcbac08b131ce805fe183d3", + "url": "https://api.github.com/repos/lcobucci/clock/zipball/6f28b826ea01306b07980cb8320ab30b966cd715", + "reference": "6f28b826ea01306b07980cb8320ab30b966cd715", "shasum": "" }, "require": { - "php": "^8.0", - "stella-maris/clock": "^0.1.4" + "php": "~8.2.0 || ~8.3.0", + "psr/clock": "^1.0" + }, + "provide": { + "psr/clock-implementation": "1.0" }, "require-dev": { - "infection/infection": "^0.26", - "lcobucci/coding-standard": "^8.0", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-deprecation-rules": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpstan/phpstan-strict-rules": "^0.12", - "phpunit/phpunit": "^9.5" + "infection/infection": "^0.27", + "lcobucci/coding-standard": "^11.0.0", + "phpstan/extension-installer": "^1.3.1", + "phpstan/phpstan": "^1.10.25", + "phpstan/phpstan-deprecation-rules": "^1.1.3", + "phpstan/phpstan-phpunit": "^1.3.13", + "phpstan/phpstan-strict-rules": "^1.5.1", + "phpunit/phpunit": "^10.2.3" }, "type": "library", "autoload": { @@ -3085,7 +3028,7 @@ "description": "Yet another clock abstraction", "support": { "issues": "https://github.com/lcobucci/clock/issues", - "source": "https://github.com/lcobucci/clock/tree/2.2.0" + "source": "https://github.com/lcobucci/clock/tree/3.2.0" }, "funding": [ { @@ -3097,43 +3040,42 @@ "type": "patreon" } ], - "time": "2022-04-19T19:34:17+00:00" + "time": "2023-11-17T17:00:27+00:00" }, { "name": "lcobucci/jwt", - "version": "4.2.1", + "version": "5.3.0", "source": { "type": "git", "url": "https://github.com/lcobucci/jwt.git", - "reference": "72ac6d807ee51a70ad376ee03a2387e8646e10f3" + "reference": "08071d8d2c7f4b00222cc4b1fb6aa46990a80f83" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lcobucci/jwt/zipball/72ac6d807ee51a70ad376ee03a2387e8646e10f3", - "reference": "72ac6d807ee51a70ad376ee03a2387e8646e10f3", + "url": "https://api.github.com/repos/lcobucci/jwt/zipball/08071d8d2c7f4b00222cc4b1fb6aa46990a80f83", + "reference": "08071d8d2c7f4b00222cc4b1fb6aa46990a80f83", "shasum": "" }, "require": { - "ext-hash": "*", - "ext-json": "*", - "ext-mbstring": "*", "ext-openssl": "*", "ext-sodium": "*", - "lcobucci/clock": "^2.0", - "php": "^7.4 || ^8.0" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0", + "psr/clock": "^1.0" }, "require-dev": { - "infection/infection": "^0.21", - "lcobucci/coding-standard": "^6.0", - "mikey179/vfsstream": "^1.6.7", - "phpbench/phpbench": "^1.2", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^1.4", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1.0", - "phpstan/phpstan-strict-rules": "^1.0", - "phpunit/php-invoker": "^3.1", - "phpunit/phpunit": "^9.5" + "infection/infection": "^0.27.0", + "lcobucci/clock": "^3.0", + "lcobucci/coding-standard": "^11.0", + "phpbench/phpbench": "^1.2.9", + "phpstan/extension-installer": "^1.2", + "phpstan/phpstan": "^1.10.7", + "phpstan/phpstan-deprecation-rules": "^1.1.3", + "phpstan/phpstan-phpunit": "^1.3.10", + "phpstan/phpstan-strict-rules": "^1.5.0", + "phpunit/phpunit": "^10.2.6" + }, + "suggest": { + "lcobucci/clock": ">= 3.0" }, "type": "library", "autoload": { @@ -3159,7 +3101,7 @@ ], "support": { "issues": "https://github.com/lcobucci/jwt/issues", - "source": "https://github.com/lcobucci/jwt/tree/4.2.1" + "source": "https://github.com/lcobucci/jwt/tree/5.3.0" }, "funding": [ { @@ -3171,20 +3113,20 @@ "type": "patreon" } ], - "time": "2022-08-19T23:14:07+00:00" + "time": "2024-04-11T23:07:54+00:00" }, { "name": "league/commonmark", - "version": "2.3.5", + "version": "2.5.3", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "84d74485fdb7074f4f9dd6f02ab957b1de513257" + "reference": "b650144166dfa7703e62a22e493b853b58d874b0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/84d74485fdb7074f4f9dd6f02ab957b1de513257", - "reference": "84d74485fdb7074f4f9dd6f02ab957b1de513257", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/b650144166dfa7703e62a22e493b853b58d874b0", + "reference": "b650144166dfa7703e62a22e493b853b58d874b0", "shasum": "" }, "require": { @@ -3197,22 +3139,22 @@ }, "require-dev": { "cebe/markdown": "^1.0", - "commonmark/cmark": "0.30.0", - "commonmark/commonmark.js": "0.30.0", + "commonmark/cmark": "0.31.1", + "commonmark/commonmark.js": "0.31.1", "composer/package-versions-deprecated": "^1.8", "embed/embed": "^4.4", "erusev/parsedown": "^1.0", "ext-json": "*", "github/gfm": "0.29.0", - "michelf/php-markdown": "^1.4", + "michelf/php-markdown": "^1.4 || ^2.0", "nyholm/psr7": "^1.5", "phpstan/phpstan": "^1.8.2", - "phpunit/phpunit": "^9.5.21", + "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0", "scrutinizer/ocular": "^1.8.1", - "symfony/finder": "^5.3 | ^6.0", - "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0", + "symfony/finder": "^5.3 | ^6.0 || ^7.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 || ^7.0", "unleashedtech/php-coding-standard": "^3.1.1", - "vimeo/psalm": "^4.24.0" + "vimeo/psalm": "^4.24.0 || ^5.0.0" }, "suggest": { "symfony/yaml": "v2.3+ required if using the Front Matter extension" @@ -3220,7 +3162,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.4-dev" + "dev-main": "2.6-dev" } }, "autoload": { @@ -3277,20 +3219,20 @@ "type": "tidelift" } ], - "time": "2022-07-29T10:59:45+00:00" + "time": "2024-08-16T11:46:16+00:00" }, { "name": "league/config", - "version": "v1.1.1", + "version": "v1.2.0", "source": { "type": "git", "url": "https://github.com/thephpleague/config.git", - "reference": "a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e" + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/config/zipball/a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e", - "reference": "a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e", + "url": "https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", "shasum": "" }, "require": { @@ -3299,7 +3241,7 @@ "php": "^7.4 || ^8.0" }, "require-dev": { - "phpstan/phpstan": "^0.12.90", + "phpstan/phpstan": "^1.8.2", "phpunit/phpunit": "^9.5.5", "scrutinizer/ocular": "^1.8.1", "unleashedtech/php-coding-standard": "^3.1", @@ -3359,7 +3301,7 @@ "type": "github" } ], - "time": "2021-08-14T12:15:32+00:00" + "time": "2022-12-11T20:36:23+00:00" }, { "name": "league/event", @@ -3417,43 +3359,50 @@ }, { "name": "league/flysystem", - "version": "3.2.1", + "version": "3.28.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "81aea9e5217084c7850cd36e1587ee4aad721c6b" + "reference": "e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/81aea9e5217084c7850cd36e1587ee4aad721c6b", - "reference": "81aea9e5217084c7850cd36e1587ee4aad721c6b", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c", + "reference": "e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c", "shasum": "" }, "require": { + "league/flysystem-local": "^3.0.0", "league/mime-type-detection": "^1.0.0", "php": "^8.0.2" }, "conflict": { + "async-aws/core": "<1.19.0", + "async-aws/s3": "<1.14.0", "aws/aws-sdk-php": "3.209.31 || 3.210.0", "guzzlehttp/guzzle": "<7.0", "guzzlehttp/ringphp": "<1.1.1", + "phpseclib/phpseclib": "3.0.15", "symfony/http-client": "<5.2" }, "require-dev": { - "async-aws/s3": "^1.5", - "async-aws/simple-s3": "^1.0", - "aws/aws-sdk-php": "^3.198.1", + "async-aws/s3": "^1.5 || ^2.0", + "async-aws/simple-s3": "^1.1 || ^2.0", + "aws/aws-sdk-php": "^3.295.10", "composer/semver": "^3.0", "ext-fileinfo": "*", "ext-ftp": "*", + "ext-mongodb": "^1.3", "ext-zip": "*", "friendsofphp/php-cs-fixer": "^3.5", "google/cloud-storage": "^1.23", + "guzzlehttp/psr7": "^2.6", "microsoft/azure-storage-blob": "^1.1", - "phpseclib/phpseclib": "^2.0", - "phpstan/phpstan": "^0.12.26", - "phpunit/phpunit": "^9.5.11", - "sabre/dav": "^4.3.1" + "mongodb/mongodb": "^1.2", + "phpseclib/phpseclib": "^3.0.36", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.5.11|^10.0", + "sabre/dav": "^4.6.0" }, "type": "library", "autoload": { @@ -3487,41 +3436,27 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.2.1" + "source": "https://github.com/thephpleague/flysystem/tree/3.28.0" }, - "funding": [ - { - "url": "https://offset.earth/frankdejonge", - "type": "custom" - }, - { - "url": "https://github.com/frankdejonge", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/league/flysystem", - "type": "tidelift" - } - ], - "time": "2022-08-14T20:48:34+00:00" + "time": "2024-05-22T10:09:12+00:00" }, { "name": "league/flysystem-aws-s3-v3", - "version": "3.2.0", + "version": "3.28.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem-aws-s3-v3.git", - "reference": "257893ef7398b3c9255b26dff8b0118bb93fc5ff" + "reference": "22071ef1604bc776f5ff2468ac27a752514665c8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/257893ef7398b3c9255b26dff8b0118bb93fc5ff", - "reference": "257893ef7398b3c9255b26dff8b0118bb93fc5ff", + "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/22071ef1604bc776f5ff2468ac27a752514665c8", + "reference": "22071ef1604bc776f5ff2468ac27a752514665c8", "shasum": "" }, "require": { - "aws/aws-sdk-php": "^3.132.4", - "league/flysystem": "^3.0.0", + "aws/aws-sdk-php": "^3.295.10", + "league/flysystem": "^3.10.0", "league/mime-type-detection": "^1.0.0", "php": "^8.0.2" }, @@ -3556,54 +3491,34 @@ "storage" ], "support": { - "issues": "https://github.com/thephpleague/flysystem-aws-s3-v3/issues", - "source": "https://github.com/thephpleague/flysystem-aws-s3-v3/tree/3.2.0" + "source": "https://github.com/thephpleague/flysystem-aws-s3-v3/tree/3.28.0" }, - "funding": [ - { - "url": "https://offset.earth/frankdejonge", - "type": "custom" - }, - { - "url": "https://github.com/frankdejonge", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/league/flysystem", - "type": "tidelift" - } - ], - "time": "2022-07-26T07:22:40+00:00" + "time": "2024-05-06T20:05:52+00:00" }, { - "name": "league/glide", - "version": "2.2.2", + "name": "league/flysystem-local", + "version": "3.28.0", "source": { "type": "git", - "url": "https://github.com/thephpleague/glide.git", - "reference": "bff5b0fe2fd26b2fde2d6958715fde313887d79d" + "url": "https://github.com/thephpleague/flysystem-local.git", + "reference": "13f22ea8be526ea58c2ddff9e158ef7c296e4f40" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/glide/zipball/bff5b0fe2fd26b2fde2d6958715fde313887d79d", - "reference": "bff5b0fe2fd26b2fde2d6958715fde313887d79d", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/13f22ea8be526ea58c2ddff9e158ef7c296e4f40", + "reference": "13f22ea8be526ea58c2ddff9e158ef7c296e4f40", "shasum": "" }, "require": { - "intervention/image": "^2.7", - "league/flysystem": "^2.0|^3.0", - "php": "^7.2|^8.0", - "psr/http-message": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^1.3.3", - "phpunit/php-token-stream": "^3.1|^4.0", - "phpunit/phpunit": "^8.5|^9.0" + "ext-fileinfo": "*", + "league/flysystem": "^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" }, "type": "library", "autoload": { "psr-4": { - "League\\Glide\\": "src/" + "League\\Flysystem\\Local\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -3612,56 +3527,45 @@ ], "authors": [ { - "name": "Jonathan Reinink", - "email": "jonathan@reinink.ca", - "homepage": "http://reinink.ca" - }, - { - "name": "Titouan Galopin", - "email": "galopintitouan@gmail.com", - "homepage": "https://titouangalopin.com" + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" } ], - "description": "Wonderfully easy on-demand image manipulation library with an HTTP based API.", - "homepage": "http://glide.thephpleague.com", + "description": "Local filesystem adapter for Flysystem.", "keywords": [ - "ImageMagick", - "editing", - "gd", - "image", - "imagick", - "league", - "manipulation", - "processing" + "Flysystem", + "file", + "files", + "filesystem", + "local" ], "support": { - "issues": "https://github.com/thephpleague/glide/issues", - "source": "https://github.com/thephpleague/glide/tree/2.2.2" + "source": "https://github.com/thephpleague/flysystem-local/tree/3.28.0" }, - "time": "2022-02-21T07:40:55+00:00" + "time": "2024-05-06T20:05:52+00:00" }, { "name": "league/mime-type-detection", - "version": "1.11.0", + "version": "1.15.0", "source": { "type": "git", "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd" + "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ff6248ea87a9f116e78edd6002e39e5128a0d4dd", - "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", + "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", "shasum": "" }, "require": { "ext-fileinfo": "*", - "php": "^7.2 || ^8.0" + "php": "^7.4 || ^8.0" }, "require-dev": { "friendsofphp/php-cs-fixer": "^3.2", "phpstan/phpstan": "^0.12.68", - "phpunit/phpunit": "^8.5.8 || ^9.3" + "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0" }, "type": "library", "autoload": { @@ -3682,7 +3586,7 @@ "description": "Mime-type detection for Flysystem", "support": { "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.11.0" + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.15.0" }, "funding": [ { @@ -3694,41 +3598,41 @@ "type": "tidelift" } ], - "time": "2022-04-17T13:12:02+00:00" + "time": "2024-01-28T23:22:08+00:00" }, { "name": "league/oauth2-server", - "version": "8.3.5", + "version": "8.5.4", "source": { "type": "git", "url": "https://github.com/thephpleague/oauth2-server.git", - "reference": "7aeb7c42b463b1a6fe4d084d3145e2fa22436876" + "reference": "ab7714d073844497fd222d5d0a217629089936bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/oauth2-server/zipball/7aeb7c42b463b1a6fe4d084d3145e2fa22436876", - "reference": "7aeb7c42b463b1a6fe4d084d3145e2fa22436876", + "url": "https://api.github.com/repos/thephpleague/oauth2-server/zipball/ab7714d073844497fd222d5d0a217629089936bc", + "reference": "ab7714d073844497fd222d5d0a217629089936bc", "shasum": "" }, "require": { - "defuse/php-encryption": "^2.2.1", - "ext-json": "*", + "defuse/php-encryption": "^2.3", "ext-openssl": "*", - "lcobucci/jwt": "^3.4.6 || ^4.0.4", + "lcobucci/clock": "^2.2 || ^3.0", + "lcobucci/jwt": "^4.3 || ^5.0", "league/event": "^2.2", - "league/uri": "^6.4", - "php": "^7.2 || ^8.0", - "psr/http-message": "^1.0.1" + "league/uri": "^6.7 || ^7.0", + "php": "^8.0", + "psr/http-message": "^1.0.1 || ^2.0" }, "replace": { "league/oauth2server": "*", "lncd/oauth2": "*" }, "require-dev": { - "laminas/laminas-diactoros": "^2.4.1", + "laminas/laminas-diactoros": "^3.0.0", "phpstan/phpstan": "^0.12.57", "phpstan/phpstan-phpunit": "^0.12.16", - "phpunit/phpunit": "^8.5.13", + "phpunit/phpunit": "^9.6.6", "roave/security-advisories": "dev-master" }, "type": "library", @@ -3774,7 +3678,7 @@ ], "support": { "issues": "https://github.com/thephpleague/oauth2-server/issues", - "source": "https://github.com/thephpleague/oauth2-server/tree/8.3.5" + "source": "https://github.com/thephpleague/oauth2-server/tree/8.5.4" }, "funding": [ { @@ -3782,57 +3686,48 @@ "type": "github" } ], - "time": "2022-05-03T21:21:28+00:00" + "time": "2023-08-25T22:35:12+00:00" }, { "name": "league/uri", - "version": "6.7.1", + "version": "7.4.1", "source": { "type": "git", "url": "https://github.com/thephpleague/uri.git", - "reference": "2d7c87a0860f3126a39f44a8a9bf2fed402dcfea" + "reference": "bedb6e55eff0c933668addaa7efa1e1f2c417cc4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri/zipball/2d7c87a0860f3126a39f44a8a9bf2fed402dcfea", - "reference": "2d7c87a0860f3126a39f44a8a9bf2fed402dcfea", + "url": "https://api.github.com/repos/thephpleague/uri/zipball/bedb6e55eff0c933668addaa7efa1e1f2c417cc4", + "reference": "bedb6e55eff0c933668addaa7efa1e1f2c417cc4", "shasum": "" }, "require": { - "ext-json": "*", - "league/uri-interfaces": "^2.3", - "php": "^7.4 || ^8.0", - "psr/http-message": "^1.0" + "league/uri-interfaces": "^7.3", + "php": "^8.1" }, "conflict": { "league/uri-schemes": "^1.0" }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^v3.3.2", - "nyholm/psr7": "^1.5", - "php-http/psr7-integration-tests": "^1.1", - "phpstan/phpstan": "^1.2.0", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1.0.0", - "phpstan/phpstan-strict-rules": "^1.1.0", - "phpunit/phpunit": "^9.5.10", - "psr/http-factory": "^1.0" - }, "suggest": { - "ext-fileinfo": "Needed to create Data URI from a filepath", - "ext-intl": "Needed to improve host validation", - "league/uri-components": "Needed to easily manipulate URI objects", - "psr/http-factory": "Needed to use the URI factory" + "ext-bcmath": "to improve IPV4 host parsing", + "ext-fileinfo": "to create Data URI from file contennts", + "ext-gmp": "to improve IPV4 host parsing", + "ext-intl": "to handle IDN host with the best performance", + "jeremykendall/php-domain-parser": "to resolve Public Suffix and Top Level Domain", + "league/uri-components": "Needed to easily manipulate URI objects components", + "php-64bit": "to improve IPV4 host parsing", + "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.x-dev" + "dev-master": "7.x-dev" } }, "autoload": { "psr-4": { - "League\\Uri\\": "src" + "League\\Uri\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -3872,8 +3767,8 @@ "support": { "docs": "https://uri.thephpleague.com", "forum": "https://thephpleague.slack.com", - "issues": "https://github.com/thephpleague/uri/issues", - "source": "https://github.com/thephpleague/uri/tree/6.7.1" + "issues": "https://github.com/thephpleague/uri-src/issues", + "source": "https://github.com/thephpleague/uri/tree/7.4.1" }, "funding": [ { @@ -3881,46 +3776,44 @@ "type": "github" } ], - "time": "2022-06-29T09:48:18+00:00" + "time": "2024-03-23T07:42:40+00:00" }, { "name": "league/uri-interfaces", - "version": "2.3.0", + "version": "7.4.1", "source": { "type": "git", "url": "https://github.com/thephpleague/uri-interfaces.git", - "reference": "00e7e2943f76d8cb50c7dfdc2f6dee356e15e383" + "reference": "8d43ef5c841032c87e2de015972c06f3865ef718" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/00e7e2943f76d8cb50c7dfdc2f6dee356e15e383", - "reference": "00e7e2943f76d8cb50c7dfdc2f6dee356e15e383", + "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/8d43ef5c841032c87e2de015972c06f3865ef718", + "reference": "8d43ef5c841032c87e2de015972c06f3865ef718", "shasum": "" }, "require": { - "ext-json": "*", - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.19", - "phpstan/phpstan": "^0.12.90", - "phpstan/phpstan-phpunit": "^0.12.19", - "phpstan/phpstan-strict-rules": "^0.12.9", - "phpunit/phpunit": "^8.5.15 || ^9.5" + "ext-filter": "*", + "php": "^8.1", + "psr/http-factory": "^1", + "psr/http-message": "^1.1 || ^2.0" }, "suggest": { - "ext-intl": "to use the IDNA feature", - "symfony/intl": "to use the IDNA feature via Symfony Polyfill" + "ext-bcmath": "to improve IPV4 host parsing", + "ext-gmp": "to improve IPV4 host parsing", + "ext-intl": "to handle IDN host with the best performance", + "php-64bit": "to improve IPV4 host parsing", + "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.x-dev" + "dev-master": "7.x-dev" } }, "autoload": { "psr-4": { - "League\\Uri\\": "src/" + "League\\Uri\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -3934,17 +3827,32 @@ "homepage": "https://nyamsprod.com" } ], - "description": "Common interface for URI representation", - "homepage": "http://github.com/thephpleague/uri-interfaces", + "description": "Common interfaces and classes for URI representation and interaction", + "homepage": "https://uri.thephpleague.com", "keywords": [ + "data-uri", + "file-uri", + "ftp", + "hostname", + "http", + "https", + "parse_str", + "parse_url", + "psr-7", + "query-string", + "querystring", "rfc3986", "rfc3987", + "rfc6570", "uri", - "url" + "url", + "ws" ], "support": { - "issues": "https://github.com/thephpleague/uri-interfaces/issues", - "source": "https://github.com/thephpleague/uri-interfaces/tree/2.3.0" + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", + "issues": "https://github.com/thephpleague/uri-src/issues", + "source": "https://github.com/thephpleague/uri-interfaces/tree/7.4.1" }, "funding": [ { @@ -3952,25 +3860,26 @@ "type": "github" } ], - "time": "2021-06-28T04:27:21+00:00" + "time": "2024-03-23T07:42:40+00:00" }, { "name": "logtail/monolog-logtail", - "version": "v0.1.4", + "version": "v3.2.0", "source": { "type": "git", "url": "https://github.com/logtail/monolog-logtail.git", - "reference": "81f165749a261da92e8995d9ca207f6852e08ebb" + "reference": "6436570d9731172d76147247e04e57cccfcca1d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/logtail/monolog-logtail/zipball/81f165749a261da92e8995d9ca207f6852e08ebb", - "reference": "81f165749a261da92e8995d9ca207f6852e08ebb", + "url": "https://api.github.com/repos/logtail/monolog-logtail/zipball/6436570d9731172d76147247e04e57cccfcca1d3", + "reference": "6436570d9731172d76147247e04e57cccfcca1d3", "shasum": "" }, "require": { - "monolog/monolog": "^2", - "php": "^7.3 || ^8" + "ext-curl": "*", + "monolog/monolog": "^3", + "php": ">=8.1" }, "require-dev": { "phpunit/phpunit": "^8" @@ -3997,32 +3906,30 @@ ], "support": { "issues": "https://github.com/logtail/monolog-logtail/issues", - "source": "https://github.com/logtail/monolog-logtail/tree/v0.1.4" + "source": "https://github.com/logtail/monolog-logtail/tree/v3.2.0" }, - "time": "2022-09-13T08:49:11+00:00" + "time": "2024-06-27T13:24:36+00:00" }, { "name": "masterminds/html5", - "version": "2.7.6", + "version": "2.9.0", "source": { "type": "git", "url": "https://github.com/Masterminds/html5-php.git", - "reference": "897eb517a343a2281f11bc5556d6548db7d93947" + "reference": "f5ac2c0b0a2eefca70b2ce32a5809992227e75a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/897eb517a343a2281f11bc5556d6548db7d93947", - "reference": "897eb517a343a2281f11bc5556d6548db7d93947", + "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f5ac2c0b0a2eefca70b2ce32a5809992227e75a6", + "reference": "f5ac2c0b0a2eefca70b2ce32a5809992227e75a6", "shasum": "" }, "require": { - "ext-ctype": "*", "ext-dom": "*", - "ext-libxml": "*", "php": ">=5.3.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7" + "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8 || ^9" }, "type": "library", "extra": { @@ -4066,47 +3973,47 @@ ], "support": { "issues": "https://github.com/Masterminds/html5-php/issues", - "source": "https://github.com/Masterminds/html5-php/tree/2.7.6" + "source": "https://github.com/Masterminds/html5-php/tree/2.9.0" }, - "time": "2022-08-18T16:18:26+00:00" + "time": "2024-03-31T07:05:07+00:00" }, { "name": "moneyphp/money", - "version": "v4.0.5", + "version": "v4.5.0", "source": { "type": "git", "url": "https://github.com/moneyphp/money.git", - "reference": "cee58435ff82a5de252c516e6a31beb674898985" + "reference": "a1daa7daf159b4044e3d0c34c41fe2be5860e850" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/moneyphp/money/zipball/cee58435ff82a5de252c516e6a31beb674898985", - "reference": "cee58435ff82a5de252c516e6a31beb674898985", + "url": "https://api.github.com/repos/moneyphp/money/zipball/a1daa7daf159b4044e3d0c34c41fe2be5860e850", + "reference": "a1daa7daf159b4044e3d0c34c41fe2be5860e850", "shasum": "" }, "require": { "ext-bcmath": "*", "ext-filter": "*", "ext-json": "*", - "php": "~8.0.0 || ~8.1.0" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0" }, "require-dev": { "cache/taggable-cache": "^1.1.0", - "doctrine/coding-standard": "^9.0", - "doctrine/instantiator": "^1.4.0", + "doctrine/coding-standard": "^12.0", + "doctrine/instantiator": "^1.5.0 || ^2.0", "ext-gmp": "*", "ext-intl": "*", - "florianv/exchanger": "^2.6.3", + "florianv/exchanger": "^2.8.1", "florianv/swap": "^4.3.0", - "moneyphp/iso-currencies": "^3.2.1", - "php-http/message": "^1.11.0", - "php-http/mock-client": "^1.4.1", + "moneyphp/crypto-currencies": "^1.1.0", + "moneyphp/iso-currencies": "^3.4", + "php-http/message": "^1.16.0", + "php-http/mock-client": "^1.6.0", "phpbench/phpbench": "^1.2.5", - "phpspec/phpspec": "^7.2", - "phpunit/phpunit": "^9.5.4", - "psalm/plugin-phpunit": "^0.15.1", - "psr/cache": "^1.0.1", - "vimeo/psalm": "~4.7.0 || ^4.8.2" + "phpunit/phpunit": "^10.5.9", + "psalm/plugin-phpunit": "^0.18.4", + "psr/cache": "^1.0.1 || ^2.0 || ^3.0", + "vimeo/psalm": "~5.20.0" }, "suggest": { "ext-gmp": "Calculate without integer limits", @@ -4154,48 +4061,47 @@ ], "support": { "issues": "https://github.com/moneyphp/money/issues", - "source": "https://github.com/moneyphp/money/tree/v4.0.5" + "source": "https://github.com/moneyphp/money/tree/v4.5.0" }, - "time": "2022-08-11T09:12:20+00:00" + "time": "2024-02-15T19:47:21+00:00" }, { "name": "monolog/monolog", - "version": "2.8.0", + "version": "3.7.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "720488632c590286b88b80e62aa3d3d551ad4a50" + "reference": "f4393b648b78a5408747de94fca38beb5f7e9ef8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/720488632c590286b88b80e62aa3d3d551ad4a50", - "reference": "720488632c590286b88b80e62aa3d3d551ad4a50", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f4393b648b78a5408747de94fca38beb5f7e9ef8", + "reference": "f4393b648b78a5408747de94fca38beb5f7e9ef8", "shasum": "" }, "require": { - "php": ">=7.2", - "psr/log": "^1.0.1 || ^2.0 || ^3.0" + "php": ">=8.1", + "psr/log": "^2.0 || ^3.0" }, "provide": { - "psr/log-implementation": "1.0.0 || 2.0.0 || 3.0.0" + "psr/log-implementation": "3.0.0" }, "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "aws/aws-sdk-php": "^3.0", "doctrine/couchdb": "~1.0@dev", "elasticsearch/elasticsearch": "^7 || ^8", "ext-json": "*", - "graylog2/gelf-php": "^1.4.2", - "guzzlehttp/guzzle": "^7.4", + "graylog2/gelf-php": "^1.4.2 || ^2.0", + "guzzlehttp/guzzle": "^7.4.5", "guzzlehttp/psr7": "^2.2", "mongodb/mongodb": "^1.8", "php-amqplib/php-amqplib": "~2.4 || ^3", - "phpspec/prophecy": "^1.15", - "phpstan/phpstan": "^0.12.91", - "phpunit/phpunit": "^8.5.14", - "predis/predis": "^1.1 || ^2.0", - "rollbar/rollbar": "^1.3 || ^2 || ^3", + "phpstan/phpstan": "^1.9", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-strict-rules": "^1.4", + "phpunit/phpunit": "^10.5.17", + "predis/predis": "^1.1 || ^2", "ruflin/elastica": "^7", - "swiftmailer/swiftmailer": "^5.3|^6.0", "symfony/mailer": "^5.4 || ^6", "symfony/mime": "^5.4 || ^6" }, @@ -4218,7 +4124,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.x-dev" + "dev-main": "3.x-dev" } }, "autoload": { @@ -4246,7 +4152,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.8.0" + "source": "https://github.com/Seldaek/monolog/tree/3.7.0" }, "funding": [ { @@ -4258,29 +4164,29 @@ "type": "tidelift" } ], - "time": "2022-07-24T11:55:47+00:00" + "time": "2024-06-28T09:40:51+00:00" }, { "name": "mtdowling/jmespath.php", - "version": "2.6.1", + "version": "2.7.0", "source": { "type": "git", "url": "https://github.com/jmespath/jmespath.php.git", - "reference": "9b87907a81b87bc76d19a7fb2d61e61486ee9edb" + "reference": "bbb69a935c2cbb0c03d7f481a238027430f6440b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/9b87907a81b87bc76d19a7fb2d61e61486ee9edb", - "reference": "9b87907a81b87bc76d19a7fb2d61e61486ee9edb", + "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/bbb69a935c2cbb0c03d7f481a238027430f6440b", + "reference": "bbb69a935c2cbb0c03d7f481a238027430f6440b", "shasum": "" }, "require": { - "php": "^5.4 || ^7.0 || ^8.0", + "php": "^7.2.5 || ^8.0", "symfony/polyfill-mbstring": "^1.17" }, "require-dev": { - "composer/xdebug-handler": "^1.4 || ^2.0", - "phpunit/phpunit": "^4.8.36 || ^7.5.15" + "composer/xdebug-handler": "^3.0.3", + "phpunit/phpunit": "^8.5.33" }, "bin": [ "bin/jp.php" @@ -4288,7 +4194,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } }, "autoload": { @@ -4304,6 +4210,11 @@ "MIT" ], "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, { "name": "Michael Dowling", "email": "mtdowling@gmail.com", @@ -4317,43 +4228,47 @@ ], "support": { "issues": "https://github.com/jmespath/jmespath.php/issues", - "source": "https://github.com/jmespath/jmespath.php/tree/2.6.1" + "source": "https://github.com/jmespath/jmespath.php/tree/2.7.0" }, - "time": "2021-06-14T00:11:39+00:00" + "time": "2023-08-25T10:54:48+00:00" }, { "name": "nesbot/carbon", - "version": "2.61.0", + "version": "3.7.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "bdf4f4fe3a3eac4de84dbec0738082a862c68ba6" + "reference": "cb4374784c87d0a0294e8513a52eb63c0aff3139" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/bdf4f4fe3a3eac4de84dbec0738082a862c68ba6", - "reference": "bdf4f4fe3a3eac4de84dbec0738082a862c68ba6", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/cb4374784c87d0a0294e8513a52eb63c0aff3139", + "reference": "cb4374784c87d0a0294e8513a52eb63c0aff3139", "shasum": "" }, "require": { + "carbonphp/carbon-doctrine-types": "*", "ext-json": "*", - "php": "^7.1.8 || ^8.0", + "php": "^8.1", + "psr/clock": "^1.0", + "symfony/clock": "^6.3 || ^7.0", "symfony/polyfill-mbstring": "^1.0", - "symfony/polyfill-php80": "^1.16", - "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0" + "symfony/translation": "^4.4.18 || ^5.2.1|| ^6.0 || ^7.0" + }, + "provide": { + "psr/clock-implementation": "1.0" }, "require-dev": { - "doctrine/dbal": "^2.0 || ^3.0", - "doctrine/orm": "^2.7", - "friendsofphp/php-cs-fixer": "^3.0", - "kylekatarnls/multi-tester": "^2.0", - "ondrejmirtes/better-reflection": "*", - "phpmd/phpmd": "^2.9", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12.99 || ^1.7.14", - "phpunit/php-file-iterator": "^2.0.5 || ^3.0.6", - "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20", - "squizlabs/php_codesniffer": "^3.4" + "doctrine/dbal": "^3.6.3 || ^4.0", + "doctrine/orm": "^2.15.2 || ^3.0", + "friendsofphp/php-cs-fixer": "^3.57.2", + "kylekatarnls/multi-tester": "^2.5.3", + "ondrejmirtes/better-reflection": "^6.25.0.4", + "phpmd/phpmd": "^2.15.0", + "phpstan/extension-installer": "^1.3.1", + "phpstan/phpstan": "^1.11.2", + "phpunit/phpunit": "^10.5.20", + "squizlabs/php_codesniffer": "^3.9.0" }, "bin": [ "bin/carbon" @@ -4361,8 +4276,8 @@ "type": "library", "extra": { "branch-alias": { - "dev-3.x": "3.x-dev", - "dev-master": "2.x-dev" + "dev-master": "3.x-dev", + "dev-2.x": "2.x-dev" }, "laravel": { "providers": [ @@ -4421,35 +4336,35 @@ "type": "tidelift" } ], - "time": "2022-08-06T12:41:24+00:00" + "time": "2024-07-16T22:29:20+00:00" }, { "name": "nette/schema", - "version": "v1.2.2", + "version": "v1.3.0", "source": { "type": "git", "url": "https://github.com/nette/schema.git", - "reference": "9a39cef03a5b34c7de64f551538cbba05c2be5df" + "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/schema/zipball/9a39cef03a5b34c7de64f551538cbba05c2be5df", - "reference": "9a39cef03a5b34c7de64f551538cbba05c2be5df", + "url": "https://api.github.com/repos/nette/schema/zipball/a6d3a6d1f545f01ef38e60f375d1cf1f4de98188", + "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188", "shasum": "" }, "require": { - "nette/utils": "^2.5.7 || ^3.1.5 || ^4.0", - "php": ">=7.1 <8.2" + "nette/utils": "^4.0", + "php": "8.1 - 8.3" }, "require-dev": { - "nette/tester": "^2.3 || ^2.4", - "phpstan/phpstan-nette": "^0.12", - "tracy/tracy": "^2.7" + "nette/tester": "^2.4", + "phpstan/phpstan-nette": "^1.0", + "tracy/tracy": "^2.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2-dev" + "dev-master": "1.3-dev" } }, "autoload": { @@ -4481,34 +4396,36 @@ ], "support": { "issues": "https://github.com/nette/schema/issues", - "source": "https://github.com/nette/schema/tree/v1.2.2" + "source": "https://github.com/nette/schema/tree/v1.3.0" }, - "time": "2021-10-15T11:40:02+00:00" + "time": "2023-12-11T11:54:22+00:00" }, { "name": "nette/utils", - "version": "v3.2.7", + "version": "v4.0.5", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "0af4e3de4df9f1543534beab255ccf459e7a2c99" + "reference": "736c567e257dbe0fcf6ce81b4d6dbe05c6899f96" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/0af4e3de4df9f1543534beab255ccf459e7a2c99", - "reference": "0af4e3de4df9f1543534beab255ccf459e7a2c99", + "url": "https://api.github.com/repos/nette/utils/zipball/736c567e257dbe0fcf6ce81b4d6dbe05c6899f96", + "reference": "736c567e257dbe0fcf6ce81b4d6dbe05c6899f96", "shasum": "" }, "require": { - "php": ">=7.2 <8.2" + "php": "8.0 - 8.4" }, "conflict": { - "nette/di": "<3.0.6" + "nette/finder": "<3", + "nette/schema": "<1.2.2" }, "require-dev": { - "nette/tester": "~2.0", + "jetbrains/phpstorm-attributes": "dev-master", + "nette/tester": "^2.5", "phpstan/phpstan": "^1.0", - "tracy/tracy": "^2.3" + "tracy/tracy": "^2.9" }, "suggest": { "ext-gd": "to use Image", @@ -4516,13 +4433,12 @@ "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", "ext-json": "to use Nette\\Utils\\Json", "ext-mbstring": "to use Strings::lower() etc...", - "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()", - "ext-xml": "to use Strings::length() etc. when mbstring is not available" + "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.2-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -4566,32 +4482,36 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v3.2.7" + "source": "https://github.com/nette/utils/tree/v4.0.5" }, - "time": "2022-01-24T11:29:14+00:00" + "time": "2024-08-07T15:39:19+00:00" }, { "name": "nicmart/tree", - "version": "0.3.1", + "version": "0.8.0", "source": { "type": "git", "url": "https://github.com/nicmart/Tree.git", - "reference": "c55ba47c64a3cb7454c22e6d630729fc2aab23ff" + "reference": "8d02952acc9779a2c14f7a9c4ac1650c3dacb545" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nicmart/Tree/zipball/c55ba47c64a3cb7454c22e6d630729fc2aab23ff", - "reference": "c55ba47c64a3cb7454c22e6d630729fc2aab23ff", + "url": "https://api.github.com/repos/nicmart/Tree/zipball/8d02952acc9779a2c14f7a9c4ac1650c3dacb545", + "reference": "8d02952acc9779a2c14f7a9c4ac1650c3dacb545", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "php": "~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0" }, "require-dev": { - "ergebnis/composer-normalize": "^2.8.0", - "ergebnis/license": "^1.0.0", - "ergebnis/php-cs-fixer-config": "^2.2.1", - "phpunit/phpunit": "^7.5.20" + "ergebnis/composer-normalize": "^2.31.0", + "ergebnis/license": "^2.4.0", + "ergebnis/php-cs-fixer-config": "^6.13.0", + "fakerphp/faker": "^1.23.0", + "infection/infection": "~0.26.19", + "phpunit/phpunit": "^9.6.14", + "psalm/plugin-phpunit": "~0.18.4", + "vimeo/psalm": "^5.16.0" }, "type": "library", "autoload": { @@ -4607,36 +4527,42 @@ { "name": "Nicolò Martini", "email": "nicmartnic@gmail.com" + }, + { + "name": "Andreas Möller", + "email": "am@localheinz.com" } ], "description": "A basic but flexible php tree data structure and a fluent tree builder implementation.", "support": { "issues": "https://github.com/nicmart/Tree/issues", - "source": "https://github.com/nicmart/Tree/tree/0.3.1" + "source": "https://github.com/nicmart/Tree/tree/0.8.0" }, - "time": "2020-11-27T09:02:17+00:00" + "time": "2023-12-02T13:24:56+00:00" }, { "name": "nikic/php-parser", - "version": "v4.14.0", + "version": "v5.1.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "34bea19b6e03d8153165d8f30bba4c3be86184c1" + "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/34bea19b6e03d8153165d8f30bba4c3be86184c1", - "reference": "34bea19b6e03d8153165d8f30bba4c3be86184c1", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/683130c2ff8c2739f4822ff7ac5c873ec529abd1", + "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1", "shasum": "" }, "require": { + "ext-ctype": "*", + "ext-json": "*", "ext-tokenizer": "*", - "php": ">=7.0" + "php": ">=7.4" }, "require-dev": { "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^9.0" }, "bin": [ "bin/php-parse" @@ -4644,7 +4570,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.9-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -4668,39 +4594,38 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.14.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.1.0" }, - "time": "2022-05-31T20:59:12+00:00" + "time": "2024-07-01T20:03:41+00:00" }, { "name": "nunomaduro/termwind", - "version": "v1.14.0", + "version": "v2.0.1", "source": { "type": "git", "url": "https://github.com/nunomaduro/termwind.git", - "reference": "10065367baccf13b6e30f5e9246fa4f63a79eb1d" + "reference": "58c4c58cf23df7f498daeb97092e34f5259feb6a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/10065367baccf13b6e30f5e9246fa4f63a79eb1d", - "reference": "10065367baccf13b6e30f5e9246fa4f63a79eb1d", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/58c4c58cf23df7f498daeb97092e34f5259feb6a", + "reference": "58c4c58cf23df7f498daeb97092e34f5259feb6a", "shasum": "" }, "require": { "ext-mbstring": "*", - "php": "^8.0", - "symfony/console": "^5.3.0|^6.0.0" - }, - "require-dev": { - "ergebnis/phpstan-rules": "^1.0.", - "illuminate/console": "^8.0|^9.0", - "illuminate/support": "^8.0|^9.0", - "laravel/pint": "^1.0.0", - "pestphp/pest": "^1.21.0", - "pestphp/pest-plugin-mock": "^1.0", - "phpstan/phpstan": "^1.4.6", - "phpstan/phpstan-strict-rules": "^1.1.0", - "symfony/var-dumper": "^5.2.7|^6.0.0", + "php": "^8.2", + "symfony/console": "^7.0.4" + }, + "require-dev": { + "ergebnis/phpstan-rules": "^2.2.0", + "illuminate/console": "^11.0.0", + "laravel/pint": "^1.14.0", + "mockery/mockery": "^1.6.7", + "pestphp/pest": "^2.34.1", + "phpstan/phpstan": "^1.10.59", + "phpstan/phpstan-strict-rules": "^1.5.2", + "symfony/var-dumper": "^7.0.4", "thecodingmachine/phpstan-strict-rules": "^1.0.0" }, "type": "library", @@ -4709,6 +4634,9 @@ "providers": [ "Termwind\\Laravel\\TermwindServiceProvider" ] + }, + "branch-alias": { + "dev-2.x": "2.x-dev" } }, "autoload": { @@ -4740,7 +4668,7 @@ ], "support": { "issues": "https://github.com/nunomaduro/termwind/issues", - "source": "https://github.com/nunomaduro/termwind/tree/v1.14.0" + "source": "https://github.com/nunomaduro/termwind/tree/v2.0.1" }, "funding": [ { @@ -4756,42 +4684,43 @@ "type": "github" } ], - "time": "2022-08-01T11:03:24+00:00" + "time": "2024-03-06T16:17:14+00:00" }, { "name": "nyholm/psr7", - "version": "1.5.1", + "version": "1.8.1", "source": { "type": "git", "url": "https://github.com/Nyholm/psr7.git", - "reference": "f734364e38a876a23be4d906a2a089e1315be18a" + "reference": "aa5fc277a4f5508013d571341ade0c3886d4d00e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Nyholm/psr7/zipball/f734364e38a876a23be4d906a2a089e1315be18a", - "reference": "f734364e38a876a23be4d906a2a089e1315be18a", + "url": "https://api.github.com/repos/Nyholm/psr7/zipball/aa5fc277a4f5508013d571341ade0c3886d4d00e", + "reference": "aa5fc277a4f5508013d571341ade0c3886d4d00e", "shasum": "" }, "require": { - "php": ">=7.1", - "php-http/message-factory": "^1.0", + "php": ">=7.2", "psr/http-factory": "^1.0", - "psr/http-message": "^1.0" + "psr/http-message": "^1.1 || ^2.0" }, "provide": { + "php-http/message-factory-implementation": "1.0", "psr/http-factory-implementation": "1.0", "psr/http-message-implementation": "1.0" }, "require-dev": { "http-interop/http-factory-tests": "^0.9", + "php-http/message-factory": "^1.0", "php-http/psr7-integration-tests": "^1.0", - "phpunit/phpunit": "^7.5 || 8.5 || 9.4", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.4", "symfony/error-handler": "^4.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "1.8-dev" } }, "autoload": { @@ -4821,7 +4750,7 @@ ], "support": { "issues": "https://github.com/Nyholm/psr7/issues", - "source": "https://github.com/Nyholm/psr7/tree/1.5.1" + "source": "https://github.com/Nyholm/psr7/tree/1.8.1" }, "funding": [ { @@ -4833,20 +4762,20 @@ "type": "github" } ], - "time": "2022-06-22T07:13:36+00:00" + "time": "2023-11-13T09:31:12+00:00" }, { "name": "paragonie/constant_time_encoding", - "version": "v2.6.3", + "version": "v2.7.0", "source": { "type": "git", "url": "https://github.com/paragonie/constant_time_encoding.git", - "reference": "58c3f47f650c94ec05a151692652a868995d2938" + "reference": "52a0d99e69f56b9ec27ace92ba56897fe6993105" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/58c3f47f650c94ec05a151692652a868995d2938", - "reference": "58c3f47f650c94ec05a151692652a868995d2938", + "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/52a0d99e69f56b9ec27ace92ba56897fe6993105", + "reference": "52a0d99e69f56b9ec27ace92ba56897fe6993105", "shasum": "" }, "require": { @@ -4900,7 +4829,7 @@ "issues": "https://github.com/paragonie/constant_time_encoding/issues", "source": "https://github.com/paragonie/constant_time_encoding" }, - "time": "2022-06-14T06:56:20+00:00" + "time": "2024-05-08T12:18:48+00:00" }, { "name": "paragonie/random_compat", @@ -4953,144 +4882,216 @@ "time": "2020-10-15T08:29:30+00:00" }, { - "name": "phenx/php-font-lib", - "version": "0.5.4", + "name": "phpoption/phpoption", + "version": "1.9.3", "source": { "type": "git", - "url": "https://github.com/dompdf/php-font-lib.git", - "reference": "dd448ad1ce34c63d09baccd05415e361300c35b4" + "url": "https://github.com/schmittjoh/php-option.git", + "reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dompdf/php-font-lib/zipball/dd448ad1ce34c63d09baccd05415e361300c35b4", - "reference": "dd448ad1ce34c63d09baccd05415e361300c35b4", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/e3fac8b24f56113f7cb96af14958c0dd16330f54", + "reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54", "shasum": "" }, "require": { - "ext-mbstring": "*" + "php": "^7.2.5 || ^8.0" }, "require-dev": { - "symfony/phpunit-bridge": "^3 || ^4 || ^5" + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28" }, "type": "library", - "autoload": { - "psr-4": { - "FontLib\\": "src/FontLib" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-3.0" - ], + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + }, + "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": "Fabien Ménager", - "email": "fabien.menager@gmail.com" + "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": "A library to read, parse, export and make subsets of different types of font files.", - "homepage": "https://github.com/PhenX/php-font-lib", + "description": "Option Type for PHP", + "keywords": [ + "language", + "option", + "php", + "type" + ], "support": { - "issues": "https://github.com/dompdf/php-font-lib/issues", - "source": "https://github.com/dompdf/php-font-lib/tree/0.5.4" + "issues": "https://github.com/schmittjoh/php-option/issues", + "source": "https://github.com/schmittjoh/php-option/tree/1.9.3" }, - "time": "2021-12-17T19:44:54+00:00" + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", + "type": "tidelift" + } + ], + "time": "2024-07-20T21:41:07+00:00" }, { - "name": "phenx/php-svg-lib", - "version": "0.4.1", + "name": "phpseclib/phpseclib", + "version": "3.0.41", "source": { "type": "git", - "url": "https://github.com/dompdf/php-svg-lib.git", - "reference": "4498b5df7b08e8469f0f8279651ea5de9626ed02" + "url": "https://github.com/phpseclib/phpseclib.git", + "reference": "621c73f7dcb310b61de34d1da4c4204e8ace6ceb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dompdf/php-svg-lib/zipball/4498b5df7b08e8469f0f8279651ea5de9626ed02", - "reference": "4498b5df7b08e8469f0f8279651ea5de9626ed02", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/621c73f7dcb310b61de34d1da4c4204e8ace6ceb", + "reference": "621c73f7dcb310b61de34d1da4c4204e8ace6ceb", "shasum": "" }, "require": { - "ext-mbstring": "*", - "php": "^7.1 || ^7.2 || ^7.3 || ^7.4 || ^8.0", - "sabberworm/php-css-parser": "^8.4" + "paragonie/constant_time_encoding": "^1|^2|^3", + "paragonie/random_compat": "^1.4|^2.0|^9.99.99", + "php": ">=5.6.1" }, "require-dev": { - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5" + "phpunit/phpunit": "*" + }, + "suggest": { + "ext-dom": "Install the DOM extension to load XML formatted public keys.", + "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", + "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", + "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", + "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." }, "type": "library", "autoload": { + "files": [ + "phpseclib/bootstrap.php" + ], "psr-4": { - "Svg\\": "src/Svg" + "phpseclib3\\": "phpseclib/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL-3.0" + "MIT" ], "authors": [ { - "name": "Fabien Ménager", - "email": "fabien.menager@gmail.com" + "name": "Jim Wigginton", + "email": "terrafrost@php.net", + "role": "Lead Developer" + }, + { + "name": "Patrick Monnerat", + "email": "pm@datasphere.ch", + "role": "Developer" + }, + { + "name": "Andreas Fischer", + "email": "bantu@phpbb.com", + "role": "Developer" + }, + { + "name": "Hans-Jürgen Petrich", + "email": "petrich@tronic-media.com", + "role": "Developer" + }, + { + "name": "Graham Campbell", + "email": "graham@alt-three.com", + "role": "Developer" } ], - "description": "A library to read, parse and export to PDF SVG files.", - "homepage": "https://github.com/PhenX/php-svg-lib", + "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", + "homepage": "http://phpseclib.sourceforge.net", + "keywords": [ + "BigInteger", + "aes", + "asn.1", + "asn1", + "blowfish", + "crypto", + "cryptography", + "encryption", + "rsa", + "security", + "sftp", + "signature", + "signing", + "ssh", + "twofish", + "x.509", + "x509" + ], "support": { - "issues": "https://github.com/dompdf/php-svg-lib/issues", - "source": "https://github.com/dompdf/php-svg-lib/tree/0.4.1" + "issues": "https://github.com/phpseclib/phpseclib/issues", + "source": "https://github.com/phpseclib/phpseclib/tree/3.0.41" }, - "time": "2022-03-07T12:52:04+00:00" + "funding": [ + { + "url": "https://github.com/terrafrost", + "type": "github" + }, + { + "url": "https://www.patreon.com/phpseclib", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpseclib/phpseclib", + "type": "tidelift" + } + ], + "time": "2024-08-12T00:13:54+00:00" }, { - "name": "php-http/client-common", - "version": "2.5.0", + "name": "pragmarx/google2fa", + "version": "v8.0.1", "source": { "type": "git", - "url": "https://github.com/php-http/client-common.git", - "reference": "d135751167d57e27c74de674d6a30cef2dc8e054" + "url": "https://github.com/antonioribeiro/google2fa.git", + "reference": "80c3d801b31fe165f8fe99ea085e0a37834e1be3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/client-common/zipball/d135751167d57e27c74de674d6a30cef2dc8e054", - "reference": "d135751167d57e27c74de674d6a30cef2dc8e054", + "url": "https://api.github.com/repos/antonioribeiro/google2fa/zipball/80c3d801b31fe165f8fe99ea085e0a37834e1be3", + "reference": "80c3d801b31fe165f8fe99ea085e0a37834e1be3", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0", - "php-http/httplug": "^2.0", - "php-http/message": "^1.6", - "php-http/message-factory": "^1.0", - "psr/http-client": "^1.0", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.0", - "symfony/options-resolver": "~4.0.15 || ~4.1.9 || ^4.2.1 || ^5.0 || ^6.0", - "symfony/polyfill-php80": "^1.17" + "paragonie/constant_time_encoding": "^1.0|^2.0", + "php": "^7.1|^8.0" }, "require-dev": { - "doctrine/instantiator": "^1.1", - "guzzlehttp/psr7": "^1.4", - "nyholm/psr7": "^1.2", - "phpspec/phpspec": "^5.1 || ^6.3 || ^7.1", - "phpspec/prophecy": "^1.10.2", - "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.3" - }, - "suggest": { - "ext-json": "To detect JSON responses with the ContentTypePlugin", - "ext-libxml": "To detect XML responses with the ContentTypePlugin", - "php-http/cache-plugin": "PSR-6 Cache plugin", - "php-http/logger-plugin": "PSR-3 Logger plugin", - "php-http/stopwatch-plugin": "Symfony Stopwatch plugin" + "phpstan/phpstan": "^0.12.18", + "phpunit/phpunit": "^7.5.15|^8.5|^9.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, "autoload": { "psr-4": { - "Http\\Client\\Common\\": "src/" + "PragmaRX\\Google2FA\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -5099,62 +5100,52 @@ ], "authors": [ { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" + "name": "Antonio Carlos Ribeiro", + "email": "acr@antoniocarlosribeiro.com", + "role": "Creator & Designer" } ], - "description": "Common HTTP Client implementations and tools for HTTPlug", - "homepage": "http://httplug.io", + "description": "A One Time Password Authentication package, compatible with Google Authenticator.", "keywords": [ - "client", - "common", - "http", - "httplug" + "2fa", + "Authentication", + "Two Factor Authentication", + "google2fa" ], "support": { - "issues": "https://github.com/php-http/client-common/issues", - "source": "https://github.com/php-http/client-common/tree/2.5.0" + "issues": "https://github.com/antonioribeiro/google2fa/issues", + "source": "https://github.com/antonioribeiro/google2fa/tree/v8.0.1" }, - "time": "2021-11-26T15:01:24+00:00" + "time": "2022-06-13T21:57:56+00:00" }, { - "name": "php-http/discovery", - "version": "1.14.3", + "name": "predis/predis", + "version": "v1.1.10", "source": { "type": "git", - "url": "https://github.com/php-http/discovery.git", - "reference": "31d8ee46d0215108df16a8527c7438e96a4d7735" + "url": "https://github.com/predis/predis.git", + "reference": "a2fb02d738bedadcffdbb07efa3a5e7bd57f8d6e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/discovery/zipball/31d8ee46d0215108df16a8527c7438e96a4d7735", - "reference": "31d8ee46d0215108df16a8527c7438e96a4d7735", + "url": "https://api.github.com/repos/predis/predis/zipball/a2fb02d738bedadcffdbb07efa3a5e7bd57f8d6e", + "reference": "a2fb02d738bedadcffdbb07efa3a5e7bd57f8d6e", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" - }, - "conflict": { - "nyholm/psr7": "<1.0" + "php": ">=5.3.9" }, "require-dev": { - "graham-campbell/phpspec-skip-example-extension": "^5.0", - "php-http/httplug": "^1.0 || ^2.0", - "php-http/message-factory": "^1.0", - "phpspec/phpspec": "^5.1 || ^6.1" + "phpunit/phpunit": "~4.8" }, "suggest": { - "php-http/message": "Allow to use Guzzle, Diactoros or Slim Framework factories" + "ext-curl": "Allows access to Webdis when paired with phpiredis", + "ext-phpiredis": "Allows faster serialization and deserialization of the Redis protocol" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.9-dev" - } - }, "autoload": { "psr-4": { - "Http\\Discovery\\": "src/" + "Predis\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -5163,60 +5154,62 @@ ], "authors": [ { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" + "name": "Daniele Alessandri", + "email": "suppakilla@gmail.com", + "homepage": "http://clorophilla.net", + "role": "Creator & Maintainer" + }, + { + "name": "Till Krüss", + "homepage": "https://till.im", + "role": "Maintainer" } ], - "description": "Finds installed HTTPlug implementations and PSR-7 message factories", - "homepage": "http://php-http.org", + "description": "Flexible and feature-complete Redis client for PHP and HHVM", + "homepage": "http://github.com/predis/predis", "keywords": [ - "adapter", - "client", - "discovery", - "factory", - "http", - "message", - "psr7" + "nosql", + "predis", + "redis" ], "support": { - "issues": "https://github.com/php-http/discovery/issues", - "source": "https://github.com/php-http/discovery/tree/1.14.3" + "issues": "https://github.com/predis/predis/issues", + "source": "https://github.com/predis/predis/tree/v1.1.10" }, - "time": "2022-07-11T14:04:40+00:00" + "funding": [ + { + "url": "https://github.com/sponsors/tillkruss", + "type": "github" + } + ], + "time": "2022-01-05T17:46:08+00:00" }, { - "name": "php-http/httplug", - "version": "2.3.0", + "name": "psr/cache", + "version": "3.0.0", "source": { "type": "git", - "url": "https://github.com/php-http/httplug.git", - "reference": "f640739f80dfa1152533976e3c112477f69274eb" + "url": "https://github.com/php-fig/cache.git", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/httplug/zipball/f640739f80dfa1152533976e3c112477f69274eb", - "reference": "f640739f80dfa1152533976e3c112477f69274eb", + "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0", - "php-http/promise": "^1.1", - "psr/http-client": "^1.0", - "psr/http-message": "^1.0" - }, - "require-dev": { - "friends-of-phpspec/phpspec-code-coverage": "^4.1", - "phpspec/phpspec": "^5.1 || ^6.0" + "php": ">=8.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { - "Http\\Client\\": "src/" + "Psr\\Cache\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -5225,76 +5218,42 @@ ], "authors": [ { - "name": "Eric GELOEN", - "email": "geloen.eric@gmail.com" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://sagikazarmark.hu" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "HTTPlug, the HTTP client abstraction for PHP", - "homepage": "http://httplug.io", + "description": "Common interface for caching libraries", "keywords": [ - "client", - "http" + "cache", + "psr", + "psr-6" ], "support": { - "issues": "https://github.com/php-http/httplug/issues", - "source": "https://github.com/php-http/httplug/tree/2.3.0" + "source": "https://github.com/php-fig/cache/tree/3.0.0" }, - "time": "2022-02-21T09:52:22+00:00" + "time": "2021-02-03T23:26:27+00:00" }, { - "name": "php-http/message", - "version": "1.13.0", + "name": "psr/clock", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/php-http/message.git", - "reference": "7886e647a30a966a1a8d1dad1845b71ca8678361" + "url": "https://github.com/php-fig/clock.git", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/message/zipball/7886e647a30a966a1a8d1dad1845b71ca8678361", - "reference": "7886e647a30a966a1a8d1dad1845b71ca8678361", + "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", "shasum": "" }, "require": { - "clue/stream-filter": "^1.5", - "php": "^7.1 || ^8.0", - "php-http/message-factory": "^1.0.2", - "psr/http-message": "^1.0" - }, - "provide": { - "php-http/message-factory-implementation": "1.0" - }, - "require-dev": { - "ergebnis/composer-normalize": "^2.6", - "ext-zlib": "*", - "guzzlehttp/psr7": "^1.0", - "laminas/laminas-diactoros": "^2.0", - "phpspec/phpspec": "^5.1 || ^6.3 || ^7.1", - "slim/slim": "^3.0" - }, - "suggest": { - "ext-zlib": "Used with compressor/decompressor streams", - "guzzlehttp/psr7": "Used with Guzzle PSR-7 Factories", - "laminas/laminas-diactoros": "Used with Diactoros Factories", - "slim/slim": "Used with Slim Framework PSR-7 implementation" + "php": "^7.0 || ^8.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.10-dev" - } - }, "autoload": { - "files": [ - "src/filters.php" - ], "psr-4": { - "Http\\Message\\": "src/" + "Psr\\Clock\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -5303,50 +5262,51 @@ ], "authors": [ { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "HTTP Message related tools", - "homepage": "http://php-http.org", + "description": "Common interface for reading the clock.", + "homepage": "https://github.com/php-fig/clock", "keywords": [ - "http", - "message", - "psr-7" + "clock", + "now", + "psr", + "psr-20", + "time" ], "support": { - "issues": "https://github.com/php-http/message/issues", - "source": "https://github.com/php-http/message/tree/1.13.0" + "issues": "https://github.com/php-fig/clock/issues", + "source": "https://github.com/php-fig/clock/tree/1.0.0" }, - "time": "2022-02-11T13:41:14+00:00" + "time": "2022-11-25T14:36:26+00:00" }, { - "name": "php-http/message-factory", - "version": "v1.0.2", + "name": "psr/container", + "version": "2.0.2", "source": { "type": "git", - "url": "https://github.com/php-http/message-factory.git", - "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1" + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/message-factory/zipball/a478cb11f66a6ac48d8954216cfed9aa06a501a1", - "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", "shasum": "" }, "require": { - "php": ">=5.4", - "psr/http-message": "^1.0" + "php": ">=7.4.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { "psr-4": { - "Http\\Message\\": "src/" + "Psr\\Container\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -5355,55 +5315,51 @@ ], "authors": [ { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "Factory interfaces for PSR-7 HTTP Message", - "homepage": "http://php-http.org", + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", "keywords": [ - "factory", - "http", - "message", - "stream", - "uri" + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" ], "support": { - "issues": "https://github.com/php-http/message-factory/issues", - "source": "https://github.com/php-http/message-factory/tree/master" + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" }, - "time": "2015-12-19T14:08:53+00:00" + "time": "2021-11-05T16:47:00+00:00" }, { - "name": "php-http/promise", - "version": "1.1.0", + "name": "psr/event-dispatcher", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/php-http/promise.git", - "reference": "4c4c1f9b7289a2ec57cde7f1e9762a5789506f88" + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/promise/zipball/4c4c1f9b7289a2ec57cde7f1e9762a5789506f88", - "reference": "4c4c1f9b7289a2ec57cde7f1e9762a5789506f88", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "friends-of-phpspec/phpspec-code-coverage": "^4.3.2", - "phpspec/phpspec": "^5.1.2 || ^6.2" + "php": ">=7.2.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { - "Http\\Promise\\": "src/" + "Psr\\EventDispatcher\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -5412,135 +5368,101 @@ ], "authors": [ { - "name": "Joel Wurtz", - "email": "joel.wurtz@gmail.com" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" } ], - "description": "Promise used for asynchronous HTTP requests", - "homepage": "http://httplug.io", + "description": "Standard interfaces for event handling.", "keywords": [ - "promise" + "events", + "psr", + "psr-14" ], "support": { - "issues": "https://github.com/php-http/promise/issues", - "source": "https://github.com/php-http/promise/tree/1.1.0" + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" }, - "time": "2020-07-07T09:29:14+00:00" + "time": "2019-01-08T18:20:26+00:00" }, { - "name": "phpoption/phpoption", - "version": "1.9.0", + "name": "psr/http-client", + "version": "1.0.3", "source": { "type": "git", - "url": "https://github.com/schmittjoh/php-option.git", - "reference": "dc5ff11e274a90cc1c743f66c9ad700ce50db9ab" + "url": "https://github.com/php-fig/http-client.git", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/dc5ff11e274a90cc1c743f66c9ad700ce50db9ab", - "reference": "dc5ff11e274a90cc1c743f66c9ad700ce50db9ab", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", "shasum": "" }, "require": { - "php": "^7.2.5 || ^8.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8", - "phpunit/phpunit": "^8.5.28 || ^9.5.21" + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0 || ^2.0" }, "type": "library", "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": true - }, "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { - "PhpOption\\": "src/PhpOption/" + "Psr\\Http\\Client\\": "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": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "Option Type for PHP", + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", "keywords": [ - "language", - "option", - "php", - "type" + "http", + "http-client", + "psr", + "psr-18" ], "support": { - "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.9.0" + "source": "https://github.com/php-fig/http-client" }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", - "type": "tidelift" - } - ], - "time": "2022-07-30T15:51:26+00:00" + "time": "2023-09-23T14:17:50+00:00" }, { - "name": "phpseclib/phpseclib", - "version": "3.0.14", + "name": "psr/http-factory", + "version": "1.1.0", "source": { "type": "git", - "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "2f0b7af658cbea265cbb4a791d6c29a6613f98ef" + "url": "https://github.com/php-fig/http-factory.git", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/2f0b7af658cbea265cbb4a791d6c29a6613f98ef", - "reference": "2f0b7af658cbea265cbb4a791d6c29a6613f98ef", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", "shasum": "" }, "require": { - "paragonie/constant_time_encoding": "^1|^2", - "paragonie/random_compat": "^1.4|^2.0|^9.99.99", - "php": ">=5.6.1" - }, - "require-dev": { - "phpunit/phpunit": "*" - }, - "suggest": { - "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", - "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", - "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", - "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." + "php": ">=7.1", + "psr/http-message": "^1.0 || ^2.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "autoload": { - "files": [ - "phpseclib/bootstrap.php" - ], "psr-4": { - "phpseclib3\\": "phpseclib/" + "Psr\\Http\\Message\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -5549,98 +5471,52 @@ ], "authors": [ { - "name": "Jim Wigginton", - "email": "terrafrost@php.net", - "role": "Lead Developer" - }, - { - "name": "Patrick Monnerat", - "email": "pm@datasphere.ch", - "role": "Developer" - }, - { - "name": "Andreas Fischer", - "email": "bantu@phpbb.com", - "role": "Developer" - }, - { - "name": "Hans-Jürgen Petrich", - "email": "petrich@tronic-media.com", - "role": "Developer" - }, - { - "name": "Graham Campbell", - "email": "graham@alt-three.com", - "role": "Developer" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", - "homepage": "http://phpseclib.sourceforge.net", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ - "BigInteger", - "aes", - "asn.1", - "asn1", - "blowfish", - "crypto", - "cryptography", - "encryption", - "rsa", - "security", - "sftp", - "signature", - "signing", - "ssh", - "twofish", - "x.509", - "x509" + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" ], "support": { - "issues": "https://github.com/phpseclib/phpseclib/issues", - "source": "https://github.com/phpseclib/phpseclib/tree/3.0.14" + "source": "https://github.com/php-fig/http-factory" }, - "funding": [ - { - "url": "https://github.com/terrafrost", - "type": "github" - }, - { - "url": "https://www.patreon.com/phpseclib", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpseclib/phpseclib", - "type": "tidelift" - } - ], - "time": "2022-04-04T05:15:45+00:00" + "time": "2024-04-15T12:06:14+00:00" }, { - "name": "pragmarx/google2fa", - "version": "v8.0.1", + "name": "psr/http-message", + "version": "2.0", "source": { "type": "git", - "url": "https://github.com/antonioribeiro/google2fa.git", - "reference": "80c3d801b31fe165f8fe99ea085e0a37834e1be3" + "url": "https://github.com/php-fig/http-message.git", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/antonioribeiro/google2fa/zipball/80c3d801b31fe165f8fe99ea085e0a37834e1be3", - "reference": "80c3d801b31fe165f8fe99ea085e0a37834e1be3", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", "shasum": "" }, "require": { - "paragonie/constant_time_encoding": "^1.0|^2.0", - "php": "^7.1|^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^0.12.18", - "phpunit/phpunit": "^7.5.15|^8.5|^9.0" + "php": "^7.2 || ^8.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, "autoload": { "psr-4": { - "PragmaRX\\Google2FA\\": "src/" + "Psr\\Http\\Message\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -5649,116 +5525,51 @@ ], "authors": [ { - "name": "Antonio Carlos Ribeiro", - "email": "acr@antoniocarlosribeiro.com", - "role": "Creator & Designer" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "A One Time Password Authentication package, compatible with Google Authenticator.", + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", "keywords": [ - "2fa", - "Authentication", - "Two Factor Authentication", - "google2fa" + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" ], "support": { - "issues": "https://github.com/antonioribeiro/google2fa/issues", - "source": "https://github.com/antonioribeiro/google2fa/tree/v8.0.1" + "source": "https://github.com/php-fig/http-message/tree/2.0" }, - "time": "2022-06-13T21:57:56+00:00" + "time": "2023-04-04T09:54:51+00:00" }, { - "name": "predis/predis", - "version": "v1.1.10", + "name": "psr/log", + "version": "3.0.0", "source": { "type": "git", - "url": "https://github.com/predis/predis.git", - "reference": "a2fb02d738bedadcffdbb07efa3a5e7bd57f8d6e" + "url": "https://github.com/php-fig/log.git", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/predis/predis/zipball/a2fb02d738bedadcffdbb07efa3a5e7bd57f8d6e", - "reference": "a2fb02d738bedadcffdbb07efa3a5e7bd57f8d6e", + "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", "shasum": "" }, "require": { - "php": ">=5.3.9" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "suggest": { - "ext-curl": "Allows access to Webdis when paired with phpiredis", - "ext-phpiredis": "Allows faster serialization and deserialization of the Redis protocol" - }, - "type": "library", - "autoload": { - "psr-4": { - "Predis\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Daniele Alessandri", - "email": "suppakilla@gmail.com", - "homepage": "http://clorophilla.net", - "role": "Creator & Maintainer" - }, - { - "name": "Till Krüss", - "homepage": "https://till.im", - "role": "Maintainer" - } - ], - "description": "Flexible and feature-complete Redis client for PHP and HHVM", - "homepage": "http://github.com/predis/predis", - "keywords": [ - "nosql", - "predis", - "redis" - ], - "support": { - "issues": "https://github.com/predis/predis/issues", - "source": "https://github.com/predis/predis/tree/v1.1.10" - }, - "funding": [ - { - "url": "https://github.com/sponsors/tillkruss", - "type": "github" - } - ], - "time": "2022-01-05T17:46:08+00:00" - }, - { - "name": "psr/container", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "shasum": "" - }, - "require": { - "php": ">=7.4.0" + "php": ">=8.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.x-dev" } }, "autoload": { "psr-4": { - "Psr\\Container\\": "src/" + "Psr\\Log\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -5771,47 +5582,44 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" + "log", + "psr", + "psr-3" ], "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/2.0.2" + "source": "https://github.com/php-fig/log/tree/3.0.0" }, - "time": "2021-11-05T16:47:00+00:00" + "time": "2021-07-14T16:46:02+00:00" }, { - "name": "psr/event-dispatcher", - "version": "1.0.0", + "name": "psr/simple-cache", + "version": "3.0.0", "source": { "type": "git", - "url": "https://github.com/php-fig/event-dispatcher.git", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", "shasum": "" }, "require": { - "php": ">=7.2.0" + "php": ">=8.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "3.0.x-dev" } }, "autoload": { "psr-4": { - "Psr\\EventDispatcher\\": "src/" + "Psr\\SimpleCache\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -5821,100 +5629,74 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], - "description": "Standard interfaces for event handling.", + "description": "Common interfaces for simple caching", "keywords": [ - "events", + "cache", + "caching", "psr", - "psr-14" + "psr-16", + "simple-cache" ], "support": { - "issues": "https://github.com/php-fig/event-dispatcher/issues", - "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" }, - "time": "2019-01-08T18:20:26+00:00" + "time": "2021-10-29T13:26:27+00:00" }, { - "name": "psr/http-client", - "version": "1.0.1", + "name": "psy/psysh", + "version": "v0.12.4", "source": { "type": "git", - "url": "https://github.com/php-fig/http-client.git", - "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621" + "url": "https://github.com/bobthecow/psysh.git", + "reference": "2fd717afa05341b4f8152547f142cd2f130f6818" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", - "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/2fd717afa05341b4f8152547f142cd2f130f6818", + "reference": "2fd717afa05341b4f8152547f142cd2f130f6818", "shasum": "" }, "require": { - "php": "^7.0 || ^8.0", - "psr/http-message": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Client\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP clients", - "homepage": "https://github.com/php-fig/http-client", - "keywords": [ - "http", - "http-client", - "psr", - "psr-18" - ], - "support": { - "source": "https://github.com/php-fig/http-client/tree/master" + "ext-json": "*", + "ext-tokenizer": "*", + "nikic/php-parser": "^5.0 || ^4.0", + "php": "^8.0 || ^7.4", + "symfony/console": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4", + "symfony/var-dumper": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4" }, - "time": "2020-06-29T06:28:15+00:00" - }, - { - "name": "psr/http-factory", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-factory.git", - "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be" + "conflict": { + "symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4" }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be", - "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be", - "shasum": "" + "require-dev": { + "bamarni/composer-bin-plugin": "^1.2" }, - "require": { - "php": ">=7.0.0", - "psr/http-message": "^1.0" + "suggest": { + "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", + "ext-pdo-sqlite": "The doc command requires SQLite to work.", + "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well." }, + "bin": [ + "bin/psysh" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-main": "0.12.x-dev" + }, + "bamarni-bin": { + "bin-links": false, + "forward-command": false } }, "autoload": { + "files": [ + "src/functions.php" + ], "psr-4": { - "Psr\\Http\\Message\\": "src/" + "Psy\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -5923,1008 +5705,120 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "name": "Justin Hileman", + "email": "justin@justinhileman.info", + "homepage": "http://justinhileman.com" } ], - "description": "Common interfaces for PSR-7 HTTP message factories", + "description": "An interactive shell for modern PHP.", + "homepage": "http://psysh.org", "keywords": [ - "factory", - "http", - "message", - "psr", - "psr-17", - "psr-7", - "request", - "response" + "REPL", + "console", + "interactive", + "shell" ], "support": { - "source": "https://github.com/php-fig/http-factory/tree/master" + "issues": "https://github.com/bobthecow/psysh/issues", + "source": "https://github.com/bobthecow/psysh/tree/v0.12.4" }, - "time": "2019-04-30T12:38:16+00:00" + "time": "2024-06-10T01:18:23+00:00" }, { - "name": "psr/http-message", - "version": "1.0.1", + "name": "ralouphie/getallheaders", + "version": "3.0.3", "source": { "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=5.6" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" }, + "type": "library", "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } + "files": [ + "src/getallheaders.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "support": { - "source": "https://github.com/php-fig/http-message/tree/master" - }, - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "support": { - "source": "https://github.com/php-fig/log/tree/3.0.0" - }, - "time": "2021-07-14T16:46:02+00:00" - }, - { - "name": "psr/simple-cache", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/simple-cache.git", - "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", - "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\SimpleCache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interfaces for simple caching", - "keywords": [ - "cache", - "caching", - "psr", - "psr-16", - "simple-cache" - ], - "support": { - "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" - }, - "time": "2021-10-29T13:26:27+00:00" - }, - { - "name": "psy/psysh", - "version": "v0.11.8", - "source": { - "type": "git", - "url": "https://github.com/bobthecow/psysh.git", - "reference": "f455acf3645262ae389b10e9beba0c358aa6994e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/f455acf3645262ae389b10e9beba0c358aa6994e", - "reference": "f455acf3645262ae389b10e9beba0c358aa6994e", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-tokenizer": "*", - "nikic/php-parser": "^4.0 || ^3.1", - "php": "^8.0 || ^7.0.8", - "symfony/console": "^6.0 || ^5.0 || ^4.0 || ^3.4", - "symfony/var-dumper": "^6.0 || ^5.0 || ^4.0 || ^3.4" - }, - "conflict": { - "symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.2" - }, - "suggest": { - "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", - "ext-pdo-sqlite": "The doc command requires SQLite to work.", - "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", - "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history." - }, - "bin": [ - "bin/psysh" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "0.11.x-dev" - } - }, - "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "Psy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Justin Hileman", - "email": "justin@justinhileman.info", - "homepage": "http://justinhileman.com" - } - ], - "description": "An interactive shell for modern PHP.", - "homepage": "http://psysh.org", - "keywords": [ - "REPL", - "console", - "interactive", - "shell" - ], - "support": { - "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.11.8" - }, - "time": "2022-07-28T14:25:11+00:00" - }, - { - "name": "ralouphie/getallheaders", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/ralouphie/getallheaders.git", - "reference": "120b605dfeb996808c31b6477290a714d356e822" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", - "reference": "120b605dfeb996808c31b6477290a714d356e822", - "shasum": "" - }, - "require": { - "php": ">=5.6" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.1", - "phpunit/phpunit": "^5 || ^6.5" - }, - "type": "library", - "autoload": { - "files": [ - "src/getallheaders.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ralph Khattar", - "email": "ralph.khattar@gmail.com" - } - ], - "description": "A polyfill for getallheaders.", - "support": { - "issues": "https://github.com/ralouphie/getallheaders/issues", - "source": "https://github.com/ralouphie/getallheaders/tree/develop" - }, - "time": "2019-03-08T08:55:37+00:00" - }, - { - "name": "ramsey/collection", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/ramsey/collection.git", - "reference": "cccc74ee5e328031b15640b51056ee8d3bb66c0a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/cccc74ee5e328031b15640b51056ee8d3bb66c0a", - "reference": "cccc74ee5e328031b15640b51056ee8d3bb66c0a", - "shasum": "" - }, - "require": { - "php": "^7.3 || ^8", - "symfony/polyfill-php81": "^1.23" - }, - "require-dev": { - "captainhook/captainhook": "^5.3", - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", - "ergebnis/composer-normalize": "^2.6", - "fakerphp/faker": "^1.5", - "hamcrest/hamcrest-php": "^2", - "jangregor/phpstan-prophecy": "^0.8", - "mockery/mockery": "^1.3", - "phpspec/prophecy-phpunit": "^2.0", - "phpstan/extension-installer": "^1", - "phpstan/phpstan": "^0.12.32", - "phpstan/phpstan-mockery": "^0.12.5", - "phpstan/phpstan-phpunit": "^0.12.11", - "phpunit/phpunit": "^8.5 || ^9", - "psy/psysh": "^0.10.4", - "slevomat/coding-standard": "^6.3", - "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Ramsey\\Collection\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ben Ramsey", - "email": "ben@benramsey.com", - "homepage": "https://benramsey.com" - } - ], - "description": "A PHP library for representing and manipulating collections.", - "keywords": [ - "array", - "collection", - "hash", - "map", - "queue", - "set" - ], - "support": { - "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/1.2.2" - }, - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", - "type": "tidelift" - } - ], - "time": "2021-10-10T03:01:02+00:00" - }, - { - "name": "ramsey/uuid", - "version": "4.4.0", - "source": { - "type": "git", - "url": "https://github.com/ramsey/uuid.git", - "reference": "373f7bacfcf3de038778ff27dcce5672ddbf4c8a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/373f7bacfcf3de038778ff27dcce5672ddbf4c8a", - "reference": "373f7bacfcf3de038778ff27dcce5672ddbf4c8a", - "shasum": "" - }, - "require": { - "brick/math": "^0.8 || ^0.9 || ^0.10", - "ext-ctype": "*", - "ext-json": "*", - "php": "^8.0", - "ramsey/collection": "^1.0" - }, - "replace": { - "rhumsaa/uuid": "self.version" - }, - "require-dev": { - "captainhook/captainhook": "^5.10", - "captainhook/plugin-composer": "^5.3", - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", - "doctrine/annotations": "^1.8", - "ergebnis/composer-normalize": "^2.15", - "mockery/mockery": "^1.3", - "paragonie/random-lib": "^2", - "php-mock/php-mock": "^2.2", - "php-mock/php-mock-mockery": "^1.3", - "php-parallel-lint/php-parallel-lint": "^1.1", - "phpbench/phpbench": "^1.0", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-mockery": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpunit/phpunit": "^8.5 || ^9", - "slevomat/coding-standard": "^7.0", - "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^4.9" - }, - "suggest": { - "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", - "ext-ctype": "Enables faster processing of character classification using ctype functions.", - "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", - "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", - "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", - "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." - }, - "type": "library", - "extra": { - "captainhook": { - "force-install": true - } - }, - "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "Ramsey\\Uuid\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", - "keywords": [ - "guid", - "identifier", - "uuid" - ], - "support": { - "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.4.0" - }, - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", - "type": "tidelift" - } - ], - "time": "2022-08-05T17:58:37+00:00" - }, - { - "name": "sabberworm/php-css-parser", - "version": "8.4.0", - "source": { - "type": "git", - "url": "https://github.com/sabberworm/PHP-CSS-Parser.git", - "reference": "e41d2140031d533348b2192a83f02d8dd8a71d30" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sabberworm/PHP-CSS-Parser/zipball/e41d2140031d533348b2192a83f02d8dd8a71d30", - "reference": "e41d2140031d533348b2192a83f02d8dd8a71d30", - "shasum": "" - }, - "require": { - "ext-iconv": "*", - "php": ">=5.6.20" - }, - "require-dev": { - "codacy/coverage": "^1.4", - "phpunit/phpunit": "^4.8.36" - }, - "suggest": { - "ext-mbstring": "for parsing UTF-8 CSS" - }, - "type": "library", - "autoload": { - "psr-4": { - "Sabberworm\\CSS\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Raphael Schweikert" - } - ], - "description": "Parser for CSS Files written in PHP", - "homepage": "https://www.sabberworm.com/blog/2010/6/10/php-css-parser", - "keywords": [ - "css", - "parser", - "stylesheet" - ], - "support": { - "issues": "https://github.com/sabberworm/PHP-CSS-Parser/issues", - "source": "https://github.com/sabberworm/PHP-CSS-Parser/tree/8.4.0" - }, - "time": "2021-12-11T13:40:54+00:00" - }, - { - "name": "sentry/sdk", - "version": "3.2.0", - "source": { - "type": "git", - "url": "https://github.com/getsentry/sentry-php-sdk.git", - "reference": "6d78bd83b43efbb52f81d6824f4af344fa9ba292" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-php-sdk/zipball/6d78bd83b43efbb52f81d6824f4af344fa9ba292", - "reference": "6d78bd83b43efbb52f81d6824f4af344fa9ba292", - "shasum": "" - }, - "require": { - "http-interop/http-factory-guzzle": "^1.0", - "sentry/sentry": "^3.5", - "symfony/http-client": "^4.3|^5.0|^6.0" - }, - "type": "metapackage", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Sentry", - "email": "accounts@sentry.io" - } - ], - "description": "This is a metapackage shipping sentry/sentry with a recommended HTTP client.", - "homepage": "http://sentry.io", - "keywords": [ - "crash-reporting", - "crash-reports", - "error-handler", - "error-monitoring", - "log", - "logging", - "sentry" - ], - "support": { - "issues": "https://github.com/getsentry/sentry-php-sdk/issues", - "source": "https://github.com/getsentry/sentry-php-sdk/tree/3.2.0" - }, - "funding": [ - { - "url": "https://sentry.io/", - "type": "custom" - }, - { - "url": "https://sentry.io/pricing/", - "type": "custom" - } - ], - "time": "2022-05-21T11:10:11+00:00" - }, - { - "name": "sentry/sentry", - "version": "3.7.0", - "source": { - "type": "git", - "url": "https://github.com/getsentry/sentry-php.git", - "reference": "877bca3f0f0ac0fc8ec0a218c6070cccea266795" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/877bca3f0f0ac0fc8ec0a218c6070cccea266795", - "reference": "877bca3f0f0ac0fc8ec0a218c6070cccea266795", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-mbstring": "*", - "guzzlehttp/promises": "^1.4", - "guzzlehttp/psr7": "^1.8.4|^2.1.1", - "jean85/pretty-package-versions": "^1.5|^2.0.4", - "php": "^7.2|^8.0", - "php-http/async-client-implementation": "^1.0", - "php-http/client-common": "^1.5|^2.0", - "php-http/discovery": "^1.11", - "php-http/httplug": "^1.1|^2.0", - "php-http/message": "^1.5", - "psr/http-factory": "^1.0", - "psr/http-message-implementation": "^1.0", - "psr/log": "^1.0|^2.0|^3.0", - "symfony/options-resolver": "^3.4.43|^4.4.30|^5.0.11|^6.0", - "symfony/polyfill-php80": "^1.17", - "symfony/polyfill-uuid": "^1.13.1" - }, - "conflict": { - "php-http/client-common": "1.8.0", - "raven/raven": "*" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.19|3.4.*", - "http-interop/http-factory-guzzle": "^1.0", - "monolog/monolog": "^1.6|^2.0|^3.0", - "nikic/php-parser": "^4.10.3", - "php-http/mock-client": "^1.3", - "phpbench/phpbench": "^1.0", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^1.3", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^8.5.14|^9.4", - "symfony/phpunit-bridge": "^5.2|^6.0", - "vimeo/psalm": "^4.17" - }, - "suggest": { - "monolog/monolog": "Allow sending log messages to Sentry by using the included Monolog handler." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.7.x-dev" - } - }, - "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "Sentry\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sentry", - "email": "accounts@sentry.io" - } - ], - "description": "A PHP SDK for Sentry (http://sentry.io)", - "homepage": "http://sentry.io", - "keywords": [ - "crash-reporting", - "crash-reports", - "error-handler", - "error-monitoring", - "log", - "logging", - "sentry" - ], - "support": { - "issues": "https://github.com/getsentry/sentry-php/issues", - "source": "https://github.com/getsentry/sentry-php/tree/3.7.0" - }, - "funding": [ - { - "url": "https://sentry.io/", - "type": "custom" - }, - { - "url": "https://sentry.io/pricing/", - "type": "custom" - } - ], - "time": "2022-07-18T07:55:36+00:00" - }, - { - "name": "sentry/sentry-laravel", - "version": "2.13.0", - "source": { - "type": "git", - "url": "https://github.com/getsentry/sentry-laravel.git", - "reference": "c5e74e5fff18014780361fb33a883af9a9fbd900" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/c5e74e5fff18014780361fb33a883af9a9fbd900", - "reference": "c5e74e5fff18014780361fb33a883af9a9fbd900", - "shasum": "" - }, - "require": { - "illuminate/support": "5.0 - 5.8 | ^6.0 | ^7.0 | ^8.0 | ^9.0", - "nyholm/psr7": "^1.0", - "php": "^7.2 | ^8.0", - "sentry/sdk": "^3.1", - "sentry/sentry": "^3.3", - "symfony/psr-http-message-bridge": "^1.0 | ^2.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "2.18.*", - "laravel/framework": "5.0 - 5.8 | ^6.0 | ^7.0 | ^8.0 | ^9.0", - "mockery/mockery": "^1.3", - "orchestra/testbench": "3.1 - 3.8 | ^4.7 | ^5.1 | ^6.0 | ^7.0", - "phpunit/phpunit": "^5.7 | ^6.5 | ^7.5 | ^8.4 | ^9.3" - }, - "suggest": { - "zendframework/zend-diactoros": "When using Laravel >=5.1 - <=6.9 this package can help get more accurate request info, not used on Laravel >=6.10 anymore (https://laravel.com/docs/5.8/requests#psr7-requests)" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev", - "dev-0.x": "0.x-dev" - }, - "laravel": { - "providers": [ - "Sentry\\Laravel\\ServiceProvider", - "Sentry\\Laravel\\Tracing\\ServiceProvider" - ], - "aliases": { - "Sentry": "Sentry\\Laravel\\Facade" - } - } - }, - "autoload": { - "psr-0": { - "Sentry\\Laravel\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Sentry", - "email": "accounts@sentry.io" - } - ], - "description": "Laravel SDK for Sentry (https://sentry.io)", - "homepage": "https://sentry.io", - "keywords": [ - "crash-reporting", - "crash-reports", - "error-handler", - "error-monitoring", - "laravel", - "log", - "logging", - "sentry" - ], - "support": { - "issues": "https://github.com/getsentry/sentry-laravel/issues", - "source": "https://github.com/getsentry/sentry-laravel/tree/2.13.0" - }, - "funding": [ - { - "url": "https://sentry.io/", - "type": "custom" - }, - { - "url": "https://sentry.io/pricing/", - "type": "custom" - } - ], - "time": "2022-07-15T11:36:23+00:00" - }, - { - "name": "spatie/browsershot", - "version": "3.57.2", - "source": { - "type": "git", - "url": "https://github.com/spatie/browsershot.git", - "reference": "7125719979b7de1257bbf699ff1d3bff3125b228" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/browsershot/zipball/7125719979b7de1257bbf699ff1d3bff3125b228", - "reference": "7125719979b7de1257bbf699ff1d3bff3125b228", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": "^7.4|^8.0", - "spatie/image": "^1.5.3|^2.0", - "spatie/temporary-directory": "^1.1|^2.0", - "symfony/process": "^4.2|^5.0|^6.0" - }, - "require-dev": { - "pestphp/pest": "^1.20", - "spatie/phpunit-snapshot-assertions": "^4.2.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Spatie\\Browsershot\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://github.com/freekmurze", - "role": "Developer" - } - ], - "description": "Convert a webpage to an image or pdf using headless Chrome", - "homepage": "https://github.com/spatie/browsershot", - "keywords": [ - "chrome", - "convert", - "headless", - "image", - "pdf", - "puppeteer", - "screenshot", - "webpage" - ], - "support": { - "source": "https://github.com/spatie/browsershot/tree/3.57.2" - }, - "funding": [ - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2022-08-19T16:43:07+00:00" - }, - { - "name": "spatie/crawler", - "version": "7.1.2", - "source": { - "type": "git", - "url": "https://github.com/spatie/crawler.git", - "reference": "aafde8073204e237958ae24cc81c67a7fd4d849b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/crawler/zipball/aafde8073204e237958ae24cc81c67a7fd4d849b", - "reference": "aafde8073204e237958ae24cc81c67a7fd4d849b", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "^7.3", - "guzzlehttp/psr7": "^2.0", - "illuminate/collections": "^8.38|^9.0", - "nicmart/tree": "^0.3.0", - "php": "^8.0", - "spatie/browsershot": "^3.45", - "spatie/robots-txt": "^2.0", - "symfony/dom-crawler": "^5.2|^6.0" - }, - "require-dev": { - "pestphp/pest": "^1.21", - "phpunit/phpunit": "^9.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Spatie\\Crawler\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be" - } - ], - "description": "Crawl all internal links found on a website", - "homepage": "https://github.com/spatie/crawler", - "keywords": [ - "crawler", - "link", - "spatie", - "website" - ], - "support": { - "issues": "https://github.com/spatie/crawler/issues", - "source": "https://github.com/spatie/crawler/tree/7.1.2" - }, - "funding": [ - { - "url": "https://spatie.be/open-source/support-us", - "type": "custom" - }, - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2022-05-30T08:30:32+00:00" - }, - { - "name": "spatie/db-dumper", - "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/spatie/db-dumper.git", - "reference": "e90bdffb902b43c7d76dd45dd350a54f4330fee5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/db-dumper/zipball/e90bdffb902b43c7d76dd45dd350a54f4330fee5", - "reference": "e90bdffb902b43c7d76dd45dd350a54f4330fee5", - "shasum": "" - }, - "require": { - "php": "^8.0", - "symfony/process": "^5.0|^6.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Spatie\\DbDumper\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - } - ], - "description": "Dump databases", - "homepage": "https://github.com/spatie/db-dumper", - "keywords": [ - "database", - "db-dumper", - "dump", - "mysqldump", - "spatie" - ], - "support": { - "source": "https://github.com/spatie/db-dumper/tree/3.2.1" - }, - "funding": [ - { - "url": "https://spatie.be/open-source/support-us", - "type": "custom" - }, - { - "url": "https://github.com/spatie", - "type": "github" + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" } ], - "time": "2022-06-15T13:27:17+00:00" + "description": "A polyfill for getallheaders.", + "support": { + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" + }, + "time": "2019-03-08T08:55:37+00:00" }, { - "name": "spatie/image", - "version": "2.2.4", + "name": "ramsey/collection", + "version": "2.0.0", "source": { "type": "git", - "url": "https://github.com/spatie/image.git", - "reference": "c2dc137c52d17bf12aff94ad051370c0f106b322" + "url": "https://github.com/ramsey/collection.git", + "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/image/zipball/c2dc137c52d17bf12aff94ad051370c0f106b322", - "reference": "c2dc137c52d17bf12aff94ad051370c0f106b322", + "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", + "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", "shasum": "" }, "require": { - "ext-exif": "*", - "ext-json": "*", - "ext-mbstring": "*", - "league/glide": "^2.2.2", - "php": "^8.0", - "spatie/image-optimizer": "^1.1", - "spatie/temporary-directory": "^1.0|^2.0", - "symfony/process": "^3.0|^4.0|^5.0|^6.0" + "php": "^8.1" }, "require-dev": { + "captainhook/plugin-composer": "^5.3", + "ergebnis/composer-normalize": "^2.28.3", + "fakerphp/faker": "^1.21", + "hamcrest/hamcrest-php": "^2.0", + "jangregor/phpstan-prophecy": "^1.0", + "mockery/mockery": "^1.5", + "php-parallel-lint/php-console-highlighter": "^1.0", + "php-parallel-lint/php-parallel-lint": "^1.3", + "phpcsstandards/phpcsutils": "^1.0.0-rc1", + "phpspec/prophecy-phpunit": "^2.0", + "phpstan/extension-installer": "^1.2", + "phpstan/phpstan": "^1.9", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-phpunit": "^1.3", "phpunit/phpunit": "^9.5", - "symfony/var-dumper": "^4.0|^5.0|^6.0", - "vimeo/psalm": "^4.6" + "psalm/plugin-mockery": "^1.1", + "psalm/plugin-phpunit": "^0.18.4", + "ramsey/coding-standard": "^2.0.3", + "ramsey/conventional-commits": "^1.3", + "vimeo/psalm": "^5.4" }, "type": "library", + "extra": { + "captainhook": { + "force-install": true + }, + "ramsey/conventional-commits": { + "configFile": "conventional-commits.json" + } + }, "autoload": { "psr-4": { - "Spatie\\Image\\": "src" + "Ramsey\\Collection\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -6933,127 +5827,176 @@ ], "authors": [ { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" } ], - "description": "Manipulate images with an expressive API", - "homepage": "https://github.com/spatie/image", + "description": "A PHP library for representing and manipulating collections.", "keywords": [ - "image", - "spatie" + "array", + "collection", + "hash", + "map", + "queue", + "set" ], "support": { - "source": "https://github.com/spatie/image/tree/2.2.4" + "issues": "https://github.com/ramsey/collection/issues", + "source": "https://github.com/ramsey/collection/tree/2.0.0" }, "funding": [ { - "url": "https://spatie.be/open-source/support-us", - "type": "custom" + "url": "https://github.com/ramsey", + "type": "github" }, { - "url": "https://github.com/spatie", - "type": "github" + "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", + "type": "tidelift" } ], - "time": "2022-08-09T10:18:57+00:00" + "time": "2022-12-31T21:50:55+00:00" }, { - "name": "spatie/image-optimizer", - "version": "1.6.2", + "name": "ramsey/uuid", + "version": "4.7.6", "source": { "type": "git", - "url": "https://github.com/spatie/image-optimizer.git", - "reference": "6db75529cbf8fa84117046a9d513f277aead90a0" + "url": "https://github.com/ramsey/uuid.git", + "reference": "91039bc1faa45ba123c4328958e620d382ec7088" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/image-optimizer/zipball/6db75529cbf8fa84117046a9d513f277aead90a0", - "reference": "6db75529cbf8fa84117046a9d513f277aead90a0", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/91039bc1faa45ba123c4328958e620d382ec7088", + "reference": "91039bc1faa45ba123c4328958e620d382ec7088", "shasum": "" }, "require": { - "ext-fileinfo": "*", - "php": "^7.3|^8.0", - "psr/log": "^1.0 | ^2.0 | ^3.0", - "symfony/process": "^4.2|^5.0|^6.0" + "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12", + "ext-json": "*", + "php": "^8.0", + "ramsey/collection": "^1.2 || ^2.0" + }, + "replace": { + "rhumsaa/uuid": "self.version" }, "require-dev": { - "phpunit/phpunit": "^8.5.21|^9.4.4", - "symfony/var-dumper": "^4.2|^5.0|^6.0" + "captainhook/captainhook": "^5.10", + "captainhook/plugin-composer": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "doctrine/annotations": "^1.8", + "ergebnis/composer-normalize": "^2.15", + "mockery/mockery": "^1.3", + "paragonie/random-lib": "^2", + "php-mock/php-mock": "^2.2", + "php-mock/php-mock-mockery": "^1.3", + "php-parallel-lint/php-parallel-lint": "^1.1", + "phpbench/phpbench": "^1.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-phpunit": "^1.1", + "phpunit/phpunit": "^8.5 || ^9", + "ramsey/composer-repl": "^1.4", + "slevomat/coding-standard": "^8.4", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.9" + }, + "suggest": { + "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", + "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", + "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", + "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." }, "type": "library", + "extra": { + "captainhook": { + "force-install": true + } + }, "autoload": { + "files": [ + "src/functions.php" + ], "psr-4": { - "Spatie\\ImageOptimizer\\": "src" + "Ramsey\\Uuid\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - } - ], - "description": "Easily optimize images using PHP", - "homepage": "https://github.com/spatie/image-optimizer", + "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", "keywords": [ - "image-optimizer", - "spatie" + "guid", + "identifier", + "uuid" ], "support": { - "issues": "https://github.com/spatie/image-optimizer/issues", - "source": "https://github.com/spatie/image-optimizer/tree/1.6.2" + "issues": "https://github.com/ramsey/uuid/issues", + "source": "https://github.com/ramsey/uuid/tree/4.7.6" }, - "time": "2021-12-21T10:08:05+00:00" + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", + "type": "tidelift" + } + ], + "time": "2024-04-27T21:32:50+00:00" }, { - "name": "spatie/laravel-activitylog", - "version": "4.5.3", + "name": "sentry/sentry", + "version": "4.9.0", "source": { "type": "git", - "url": "https://github.com/spatie/laravel-activitylog.git", - "reference": "feb1a37d649b03711e546807688fbea53469dfc3" + "url": "https://github.com/getsentry/sentry-php.git", + "reference": "788ec170f51ebb22f2809a1e3f78b19ccd39b70d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-activitylog/zipball/feb1a37d649b03711e546807688fbea53469dfc3", - "reference": "feb1a37d649b03711e546807688fbea53469dfc3", + "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/788ec170f51ebb22f2809a1e3f78b19ccd39b70d", + "reference": "788ec170f51ebb22f2809a1e3f78b19ccd39b70d", "shasum": "" }, "require": { - "illuminate/config": "^8.0 || ^9.0", - "illuminate/database": "^8.53 || ^9.0", - "illuminate/support": "^8.0 || ^9.0", - "php": "^8.0", - "spatie/laravel-package-tools": "^1.6.3" + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "guzzlehttp/psr7": "^1.8.4|^2.1.1", + "jean85/pretty-package-versions": "^1.5|^2.0.4", + "php": "^7.2|^8.0", + "psr/log": "^1.0|^2.0|^3.0", + "symfony/options-resolver": "^4.4.30|^5.0.11|^6.0|^7.0" + }, + "conflict": { + "raven/raven": "*" }, "require-dev": { - "ext-json": "*", - "orchestra/testbench": "^6.23 || ^7.0", - "pestphp/pest": "^1.20" + "friendsofphp/php-cs-fixer": "^3.4", + "guzzlehttp/promises": "^1.0|^2.0", + "guzzlehttp/psr7": "^1.8.4|^2.1.1", + "monolog/monolog": "^1.6|^2.0|^3.0", + "phpbench/phpbench": "^1.0", + "phpstan/phpstan": "^1.3", + "phpunit/phpunit": "^8.5.14|^9.4", + "symfony/phpunit-bridge": "^5.2|^6.0|^7.0", + "vimeo/psalm": "^4.17" }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Spatie\\Activitylog\\ActivitylogServiceProvider" - ] - } + "suggest": { + "monolog/monolog": "Allow sending log messages to Sentry by using the included Monolog handler." }, + "type": "library", "autoload": { "files": [ - "src/helpers.php" + "src/functions.php" ], "psr-4": { - "Spatie\\Activitylog\\": "src" + "Sentry\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -7062,110 +6005,86 @@ ], "authors": [ { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - }, - { - "name": "Sebastian De Deyne", - "email": "sebastian@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - }, - { - "name": "Tom Witkowski", - "email": "dev.gummibeer@gmail.com", - "homepage": "https://gummibeer.de", - "role": "Developer" + "name": "Sentry", + "email": "accounts@sentry.io" } ], - "description": "A very simple activity logger to monitor the users of your website or application", - "homepage": "https://github.com/spatie/activitylog", + "description": "PHP SDK for Sentry (http://sentry.io)", + "homepage": "http://sentry.io", "keywords": [ - "activity", - "laravel", + "crash-reporting", + "crash-reports", + "error-handler", + "error-monitoring", "log", - "spatie", - "user" + "logging", + "profiling", + "sentry", + "tracing" ], "support": { - "issues": "https://github.com/spatie/laravel-activitylog/issues", - "source": "https://github.com/spatie/laravel-activitylog/tree/4.5.3" + "issues": "https://github.com/getsentry/sentry-php/issues", + "source": "https://github.com/getsentry/sentry-php/tree/4.9.0" }, "funding": [ { - "url": "https://spatie.be/open-source/support-us", + "url": "https://sentry.io/", "type": "custom" }, { - "url": "https://github.com/spatie", - "type": "github" + "url": "https://sentry.io/pricing/", + "type": "custom" } ], - "time": "2022-05-31T10:01:05+00:00" + "time": "2024-08-08T14:40:50+00:00" }, { - "name": "spatie/laravel-backup", - "version": "8.1.3", + "name": "sentry/sentry-laravel", + "version": "4.8.0", "source": { "type": "git", - "url": "https://github.com/spatie/laravel-backup.git", - "reference": "ed0e5246f8c96c5a9badb677d2a6fa8375b5b42b" + "url": "https://github.com/getsentry/sentry-laravel.git", + "reference": "2bbcb7e81097993cf64d5b296eaa6d396cddd5a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-backup/zipball/ed0e5246f8c96c5a9badb677d2a6fa8375b5b42b", - "reference": "ed0e5246f8c96c5a9badb677d2a6fa8375b5b42b", + "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/2bbcb7e81097993cf64d5b296eaa6d396cddd5a7", + "reference": "2bbcb7e81097993cf64d5b296eaa6d396cddd5a7", "shasum": "" }, "require": { - "ext-zip": "^1.14.0", - "illuminate/console": "^9.0", - "illuminate/contracts": "^9.0", - "illuminate/events": "^9.0", - "illuminate/filesystem": "^9.0", - "illuminate/notifications": "^9.0", - "illuminate/support": "^9.0", - "league/flysystem": "^3.0", - "php": "^8.0", - "spatie/db-dumper": "^3.0", - "spatie/laravel-package-tools": "^1.6.2", - "spatie/laravel-signal-aware-command": "^1.2", - "spatie/temporary-directory": "^2.0", - "symfony/console": "^6.0", - "symfony/finder": "^6.0" + "illuminate/support": "^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0 | ^11.0", + "nyholm/psr7": "^1.0", + "php": "^7.2 | ^8.0", + "sentry/sentry": "^4.9", + "symfony/psr-http-message-bridge": "^1.0 | ^2.0 | ^6.0 | ^7.0" }, "require-dev": { - "composer-runtime-api": "^2.0", - "ext-pcntl": "*", - "laravel/slack-notification-channel": "^2.4", - "league/flysystem-aws-s3-v3": "^2.0|^3.0", - "mockery/mockery": "^1.4", - "nunomaduro/larastan": "^2.1", - "orchestra/testbench": "^7.0", - "pestphp/pest": "^1.20", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1.1" - }, - "suggest": { - "laravel/slack-notification-channel": "Required for sending notifications via Slack" + "friendsofphp/php-cs-fixer": "^3.11", + "guzzlehttp/guzzle": "^7.2", + "laravel/folio": "^1.1", + "laravel/framework": "^6.0 | ^7.0 | ^8.0 | ^9.0 | ^10.0 | ^11.0", + "livewire/livewire": "^2.0 | ^3.0", + "mockery/mockery": "^1.3", + "orchestra/testbench": "^4.7 | ^5.1 | ^6.0 | ^7.0 | ^8.0 | ^9.0", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^8.4 | ^9.3 | ^10.4" }, "type": "library", "extra": { "laravel": { "providers": [ - "Spatie\\Backup\\BackupServiceProvider" - ] + "Sentry\\Laravel\\ServiceProvider", + "Sentry\\Laravel\\Tracing\\ServiceProvider" + ], + "aliases": { + "Sentry": "Sentry\\Laravel\\Facade" + } } }, "autoload": { - "files": [ - "src/Helpers/functions.php" - ], - "psr-4": { - "Spatie\\Backup\\": "src" + "psr-0": { + "Sentry\\Laravel\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -7174,64 +6093,70 @@ ], "authors": [ { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" + "name": "Sentry", + "email": "accounts@sentry.io" } ], - "description": "A Laravel package to backup your application", - "homepage": "https://github.com/spatie/laravel-backup", + "description": "Laravel SDK for Sentry (https://sentry.io)", + "homepage": "https://sentry.io", "keywords": [ - "backup", - "database", - "laravel-backup", - "spatie" + "crash-reporting", + "crash-reports", + "error-handler", + "error-monitoring", + "laravel", + "log", + "logging", + "profiling", + "sentry", + "tracing" ], "support": { - "issues": "https://github.com/spatie/laravel-backup/issues", - "source": "https://github.com/spatie/laravel-backup/tree/8.1.3" + "issues": "https://github.com/getsentry/sentry-laravel/issues", + "source": "https://github.com/getsentry/sentry-laravel/tree/4.8.0" }, "funding": [ { - "url": "https://github.com/sponsors/spatie", - "type": "github" + "url": "https://sentry.io/", + "type": "custom" }, { - "url": "https://spatie.be/open-source/support-us", - "type": "other" + "url": "https://sentry.io/pricing/", + "type": "custom" } ], - "time": "2022-08-04T20:30:54+00:00" + "time": "2024-08-15T19:03:01+00:00" }, { - "name": "spatie/laravel-package-tools", - "version": "1.12.1", + "name": "spatie/browsershot", + "version": "4.1.3", "source": { "type": "git", - "url": "https://github.com/spatie/laravel-package-tools.git", - "reference": "09f80fa240d44fafb1c70657c74ee44ffa929357" + "url": "https://github.com/spatie/browsershot.git", + "reference": "00ed6812b5bcb28ac13c1a17fc9d5cbf5ea19f0a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/09f80fa240d44fafb1c70657c74ee44ffa929357", - "reference": "09f80fa240d44fafb1c70657c74ee44ffa929357", + "url": "https://api.github.com/repos/spatie/browsershot/zipball/00ed6812b5bcb28ac13c1a17fc9d5cbf5ea19f0a", + "reference": "00ed6812b5bcb28ac13c1a17fc9d5cbf5ea19f0a", "shasum": "" }, "require": { - "illuminate/contracts": "^7.0|^8.0|^9.0", - "php": "^7.4|^8.0" + "ext-fileinfo": "*", + "ext-json": "*", + "php": "^8.2", + "spatie/temporary-directory": "^2.0", + "symfony/process": "^6.0|^7.0" }, "require-dev": { - "mockery/mockery": "^1.4", - "orchestra/testbench": "^5.0|^6.23|^7.0", - "phpunit/phpunit": "^9.4", - "spatie/test-time": "^1.2" + "pestphp/pest": "^1.20", + "spatie/image": "^3.6", + "spatie/phpunit-snapshot-assertions": "^4.2.3" }, "type": "library", "autoload": { "psr-4": { - "Spatie\\LaravelPackageTools\\": "src" + "Spatie\\Browsershot\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -7242,18 +6167,24 @@ { "name": "Freek Van der Herten", "email": "freek@spatie.be", + "homepage": "https://github.com/freekmurze", "role": "Developer" } ], - "description": "Tools for creating Laravel packages", - "homepage": "https://github.com/spatie/laravel-package-tools", + "description": "Convert a webpage to an image or pdf using headless Chrome", + "homepage": "https://github.com/spatie/browsershot", "keywords": [ - "laravel-package-tools", - "spatie" + "chrome", + "convert", + "headless", + "image", + "pdf", + "puppeteer", + "screenshot", + "webpage" ], "support": { - "issues": "https://github.com/spatie/laravel-package-tools/issues", - "source": "https://github.com/spatie/laravel-package-tools/tree/1.12.1" + "source": "https://github.com/spatie/browsershot/tree/4.1.3" }, "funding": [ { @@ -7261,49 +6192,40 @@ "type": "github" } ], - "time": "2022-06-28T14:29:26+00:00" + "time": "2024-07-15T14:25:51+00:00" }, { - "name": "spatie/laravel-signal-aware-command", - "version": "1.2.0", + "name": "spatie/crawler", + "version": "8.2.3", "source": { "type": "git", - "url": "https://github.com/spatie/laravel-signal-aware-command.git", - "reference": "d15a5b69bf715fc557b7034b4abd5a1472ae7ec8" + "url": "https://github.com/spatie/crawler.git", + "reference": "c659f2fe4954249755990e42394a14d6d847a0a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-signal-aware-command/zipball/d15a5b69bf715fc557b7034b4abd5a1472ae7ec8", - "reference": "d15a5b69bf715fc557b7034b4abd5a1472ae7ec8", + "url": "https://api.github.com/repos/spatie/crawler/zipball/c659f2fe4954249755990e42394a14d6d847a0a7", + "reference": "c659f2fe4954249755990e42394a14d6d847a0a7", "shasum": "" }, "require": { - "illuminate/contracts": "^8.35|^9.0", - "php": "^8.0", - "spatie/laravel-package-tools": "^1.4.3" + "guzzlehttp/guzzle": "^7.3", + "guzzlehttp/psr7": "^2.0", + "illuminate/collections": "^10.0|^11.0", + "nicmart/tree": "^0.8.0", + "php": "^8.1", + "spatie/browsershot": "^3.45|^4.0", + "spatie/robots-txt": "^2.0", + "symfony/dom-crawler": "^6.0|^7.0" }, "require-dev": { - "brianium/paratest": "^6.2", - "ext-pcntl": "*", - "nunomaduro/collision": "^5.3|^6.0", - "orchestra/testbench": "^6.16|^7.0", - "phpunit/phpunit": "^9.5", - "spatie/laravel-ray": "^1.17" + "pestphp/pest": "^2.0", + "spatie/ray": "^1.37" }, "type": "library", - "extra": { - "laravel": { - "providers": [ - "Spatie\\SignalAwareCommand\\SignalAwareCommandServiceProvider" - ], - "aliases": { - "Signal": "Spatie\\SignalAwareCommand\\Facades\\Signal" - } - } - }, "autoload": { "psr-4": { - "Spatie\\SignalAwareCommand\\": "src" + "Spatie\\Crawler\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -7313,70 +6235,58 @@ "authors": [ { "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "role": "Developer" + "email": "freek@spatie.be" } ], - "description": "Handle signals in artisan commands", - "homepage": "https://github.com/spatie/laravel-signal-aware-command", + "description": "Crawl all internal links found on a website", + "homepage": "https://github.com/spatie/crawler", "keywords": [ - "laravel", - "laravel-signal-aware-command", - "spatie" + "crawler", + "link", + "spatie", + "website" ], "support": { - "issues": "https://github.com/spatie/laravel-signal-aware-command/issues", - "source": "https://github.com/spatie/laravel-signal-aware-command/tree/1.2.0" + "issues": "https://github.com/spatie/crawler/issues", + "source": "https://github.com/spatie/crawler/tree/8.2.3" }, "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + }, { "url": "https://github.com/spatie", "type": "github" } ], - "time": "2022-01-12T19:42:44+00:00" + "time": "2024-07-31T10:46:19+00:00" }, { - "name": "spatie/laravel-sitemap", - "version": "6.2.1", + "name": "spatie/db-dumper", + "version": "3.6.0", "source": { "type": "git", - "url": "https://github.com/spatie/laravel-sitemap.git", - "reference": "72af4b688705dfabdc5f24ed00d79325cff57d0c" + "url": "https://github.com/spatie/db-dumper.git", + "reference": "faca5056830bccea04eadf07e8074669cb9e905e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-sitemap/zipball/72af4b688705dfabdc5f24ed00d79325cff57d0c", - "reference": "72af4b688705dfabdc5f24ed00d79325cff57d0c", + "url": "https://api.github.com/repos/spatie/db-dumper/zipball/faca5056830bccea04eadf07e8074669cb9e905e", + "reference": "faca5056830bccea04eadf07e8074669cb9e905e", "shasum": "" }, "require": { - "guzzlehttp/guzzle": "^7.2", - "illuminate/support": "^8.0|^9.0", - "nesbot/carbon": "^2.0", "php": "^8.0", - "spatie/crawler": "^7.0", - "spatie/laravel-package-tools": "^1.5", - "symfony/dom-crawler": "^5.1.14|^6.0" + "symfony/process": "^5.0|^6.0|^7.0" }, "require-dev": { - "mockery/mockery": "^1.4", - "orchestra/testbench": "^6.23|^7.0", - "phpunit/phpunit": "^9.5", - "spatie/phpunit-snapshot-assertions": "^4.0", - "spatie/temporary-directory": "^2.0" + "pestphp/pest": "^1.22" }, "type": "library", - "extra": { - "laravel": { - "providers": [ - "Spatie\\Sitemap\\SitemapServiceProvider" - ] - } - }, "autoload": { "psr-4": { - "Spatie\\Sitemap\\": "src" + "Spatie\\DbDumper\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -7391,48 +6301,70 @@ "role": "Developer" } ], - "description": "Create and generate sitemaps with ease", - "homepage": "https://github.com/spatie/laravel-sitemap", + "description": "Dump databases", + "homepage": "https://github.com/spatie/db-dumper", "keywords": [ - "laravel-sitemap", + "database", + "db-dumper", + "dump", + "mysqldump", "spatie" ], "support": { - "source": "https://github.com/spatie/laravel-sitemap/tree/6.2.1" + "source": "https://github.com/spatie/db-dumper/tree/3.6.0" }, "funding": [ { "url": "https://spatie.be/open-source/support-us", "type": "custom" + }, + { + "url": "https://github.com/spatie", + "type": "github" } ], - "time": "2022-08-23T12:41:34+00:00" + "time": "2024-04-24T14:54:13+00:00" }, { - "name": "spatie/robots-txt", - "version": "2.0.2", + "name": "spatie/laravel-activitylog", + "version": "4.8.0", "source": { "type": "git", - "url": "https://github.com/spatie/robots-txt.git", - "reference": "f40a12b89f98dd18f3665673d04757298f5fbbf9" + "url": "https://github.com/spatie/laravel-activitylog.git", + "reference": "eb6f37dd40af950ce10cf5280f0acfa3e08c3bff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/robots-txt/zipball/f40a12b89f98dd18f3665673d04757298f5fbbf9", - "reference": "f40a12b89f98dd18f3665673d04757298f5fbbf9", + "url": "https://api.github.com/repos/spatie/laravel-activitylog/zipball/eb6f37dd40af950ce10cf5280f0acfa3e08c3bff", + "reference": "eb6f37dd40af950ce10cf5280f0acfa3e08c3bff", "shasum": "" }, "require": { - "php": "^8.0" + "illuminate/config": "^8.0 || ^9.0 || ^10.0 || ^11.0", + "illuminate/database": "^8.69 || ^9.27 || ^10.0 || ^11.0", + "illuminate/support": "^8.0 || ^9.0 || ^10.0 || ^11.0", + "php": "^8.1", + "spatie/laravel-package-tools": "^1.6.3" }, "require-dev": { - "larapack/dd": "^1.0", - "phpunit/phpunit": "^8.0 || ^9.0" + "ext-json": "*", + "orchestra/testbench": "^6.23 || ^7.0 || ^8.0 || ^9.0", + "pestphp/pest": "^1.20 || ^2.0" }, "type": "library", + "extra": { + "laravel": { + "providers": [ + "Spatie\\Activitylog\\ActivitylogServiceProvider" + ] + } + }, "autoload": { + "files": [ + "src/helpers.php" + ], "psr-4": { - "Spatie\\Robots\\": "src" + "Spatie\\Activitylog\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -7441,21 +6373,36 @@ ], "authors": [ { - "name": "Brent Roose", - "email": "brent@spatie.be", + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + }, + { + "name": "Sebastian De Deyne", + "email": "sebastian@spatie.be", "homepage": "https://spatie.be", "role": "Developer" + }, + { + "name": "Tom Witkowski", + "email": "dev.gummibeer@gmail.com", + "homepage": "https://gummibeer.de", + "role": "Developer" } ], - "description": "Determine if a page may be crawled from robots.txt and robots meta tags", - "homepage": "https://github.com/spatie/robots-txt", + "description": "A very simple activity logger to monitor the users of your website or application", + "homepage": "https://github.com/spatie/activitylog", "keywords": [ - "robots-txt", - "spatie" + "activity", + "laravel", + "log", + "spatie", + "user" ], "support": { - "issues": "https://github.com/spatie/robots-txt/issues", - "source": "https://github.com/spatie/robots-txt/tree/2.0.2" + "issues": "https://github.com/spatie/laravel-activitylog/issues", + "source": "https://github.com/spatie/laravel-activitylog/tree/4.8.0" }, "funding": [ { @@ -7467,32 +6414,69 @@ "type": "github" } ], - "time": "2022-05-18T15:14:21+00:00" + "time": "2024-03-08T22:28:17+00:00" }, { - "name": "spatie/temporary-directory", - "version": "2.1.1", + "name": "spatie/laravel-backup", + "version": "8.8.2", "source": { "type": "git", - "url": "https://github.com/spatie/temporary-directory.git", - "reference": "e2818d871783d520b319c2d38dc37c10ecdcde20" + "url": "https://github.com/spatie/laravel-backup.git", + "reference": "5b672713283703a74c629ccd67b1d77eb57e24b9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/e2818d871783d520b319c2d38dc37c10ecdcde20", - "reference": "e2818d871783d520b319c2d38dc37c10ecdcde20", + "url": "https://api.github.com/repos/spatie/laravel-backup/zipball/5b672713283703a74c629ccd67b1d77eb57e24b9", + "reference": "5b672713283703a74c629ccd67b1d77eb57e24b9", "shasum": "" }, "require": { - "php": "^8.0" + "ext-zip": "^1.14.0", + "illuminate/console": "^10.10.0|^11.0", + "illuminate/contracts": "^10.10.0|^11.0", + "illuminate/events": "^10.10.0|^11.0", + "illuminate/filesystem": "^10.10.0|^11.0", + "illuminate/notifications": "^10.10.0|^11.0", + "illuminate/support": "^10.10.0|^11.0", + "league/flysystem": "^3.0", + "php": "^8.1", + "spatie/db-dumper": "^3.0", + "spatie/laravel-package-tools": "^1.6.2", + "spatie/laravel-signal-aware-command": "^1.2|^2.0", + "spatie/temporary-directory": "^2.0", + "symfony/console": "^6.0|^7.0", + "symfony/finder": "^6.0|^7.0" }, "require-dev": { - "phpunit/phpunit": "^9.5" + "composer-runtime-api": "^2.0", + "ext-pcntl": "*", + "larastan/larastan": "^2.7.0", + "laravel/slack-notification-channel": "^2.5|^3.0", + "league/flysystem-aws-s3-v3": "^2.0|^3.0", + "mockery/mockery": "^1.4", + "orchestra/testbench": "^8.0|^9.0", + "pestphp/pest": "^1.20|^2.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.1" + }, + "suggest": { + "laravel/slack-notification-channel": "Required for sending notifications via Slack" }, "type": "library", + "extra": { + "laravel": { + "providers": [ + "Spatie\\Backup\\BackupServiceProvider" + ] + } + }, "autoload": { + "files": [ + "src/Helpers/functions.php" + ], "psr-4": { - "Spatie\\TemporaryDirectory\\": "src" + "Spatie\\Backup\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -7501,56 +6485,65 @@ ], "authors": [ { - "name": "Alex Vanderbist", - "email": "alex@spatie.be", + "name": "Freek Van der Herten", + "email": "freek@spatie.be", "homepage": "https://spatie.be", "role": "Developer" } ], - "description": "Easily create, use and destroy temporary directories", - "homepage": "https://github.com/spatie/temporary-directory", + "description": "A Laravel package to backup your application", + "homepage": "https://github.com/spatie/laravel-backup", "keywords": [ - "php", - "spatie", - "temporary-directory" + "backup", + "database", + "laravel-backup", + "spatie" ], "support": { - "issues": "https://github.com/spatie/temporary-directory/issues", - "source": "https://github.com/spatie/temporary-directory/tree/2.1.1" + "issues": "https://github.com/spatie/laravel-backup/issues", + "source": "https://github.com/spatie/laravel-backup/tree/8.8.2" }, "funding": [ { - "url": "https://spatie.be/open-source/support-us", - "type": "custom" + "url": "https://github.com/sponsors/spatie", + "type": "github" }, { - "url": "https://github.com/spatie", - "type": "github" + "url": "https://spatie.be/open-source/support-us", + "type": "other" } ], - "time": "2022-08-23T07:15:15+00:00" + "time": "2024-08-07T11:07:52+00:00" }, { - "name": "stella-maris/clock", - "version": "0.1.5", + "name": "spatie/laravel-package-tools", + "version": "1.16.4", "source": { "type": "git", - "url": "git@gitlab.com:stella-maris/clock.git", - "reference": "447879c53ca0b2a762cdbfba5e76ccf4deca9158" + "url": "https://github.com/spatie/laravel-package-tools.git", + "reference": "ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53" }, "dist": { "type": "zip", - "url": "https://gitlab.com/api/v4/projects/stella-maris%2Fclock/repository/archive.zip?sha=447879c53ca0b2a762cdbfba5e76ccf4deca9158", - "reference": "447879c53ca0b2a762cdbfba5e76ccf4deca9158", + "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53", + "reference": "ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53", "shasum": "" }, "require": { - "php": "^7.0|^8.0" + "illuminate/contracts": "^9.28|^10.0|^11.0", + "php": "^8.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": { "psr-4": { - "StellaMaris\\Clock\\": "src" + "Spatie\\LaravelPackageTools\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -7559,55 +6552,72 @@ ], "authors": [ { - "name": "Andreas Heigl", - "role": "Maintainer" + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "role": "Developer" } ], - "description": "A pre-release of the proposed PSR-20 Clock-Interface", - "homepage": "https://gitlab.com/stella-maris/clock", + "description": "Tools for creating Laravel packages", + "homepage": "https://github.com/spatie/laravel-package-tools", "keywords": [ - "clock", - "datetime", - "point in time", - "psr20" + "laravel-package-tools", + "spatie" ], - "time": "2022-08-05T07:21:25+00:00" + "support": { + "issues": "https://github.com/spatie/laravel-package-tools/issues", + "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.4" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2024-03-20T07:29:11+00:00" }, { - "name": "stripe/stripe-php", - "version": "v7.128.0", + "name": "spatie/laravel-signal-aware-command", + "version": "2.0.0", "source": { "type": "git", - "url": "https://github.com/stripe/stripe-php.git", - "reference": "c704949c49b72985c76cc61063aa26fefbd2724e" + "url": "https://github.com/spatie/laravel-signal-aware-command.git", + "reference": "49a5e671c3a3fd992187a777d01385fc6a84759d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/stripe/stripe-php/zipball/c704949c49b72985c76cc61063aa26fefbd2724e", - "reference": "c704949c49b72985c76cc61063aa26fefbd2724e", + "url": "https://api.github.com/repos/spatie/laravel-signal-aware-command/zipball/49a5e671c3a3fd992187a777d01385fc6a84759d", + "reference": "49a5e671c3a3fd992187a777d01385fc6a84759d", "shasum": "" }, "require": { - "ext-curl": "*", - "ext-json": "*", - "ext-mbstring": "*", - "php": ">=5.6.0" + "illuminate/contracts": "^11.0", + "php": "^8.2", + "spatie/laravel-package-tools": "^1.4.3", + "symfony/console": "^7.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "3.5.0", - "phpstan/phpstan": "^1.2", - "phpunit/phpunit": "^5.7 || ^9.0", - "squizlabs/php_codesniffer": "^3.3" + "brianium/paratest": "^6.2|^7.0", + "ext-pcntl": "*", + "nunomaduro/collision": "^5.3|^6.0|^7.0|^8.0", + "orchestra/testbench": "^9.0", + "pestphp/pest-plugin-laravel": "^1.3|^2.0", + "phpunit/phpunit": "^9.5|^10|^11", + "spatie/laravel-ray": "^1.17" }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "2.0-dev" + "laravel": { + "providers": [ + "Spatie\\SignalAwareCommand\\SignalAwareCommandServiceProvider" + ], + "aliases": { + "Signal": "Spatie\\SignalAwareCommand\\Facades\\Signal" + } } }, "autoload": { "psr-4": { - "Stripe\\": "lib/" + "Spatie\\SignalAwareCommand\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -7616,77 +6626,73 @@ ], "authors": [ { - "name": "Stripe and contributors", - "homepage": "https://github.com/stripe/stripe-php/contributors" + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "role": "Developer" } ], - "description": "Stripe PHP Library", - "homepage": "https://stripe.com/", + "description": "Handle signals in artisan commands", + "homepage": "https://github.com/spatie/laravel-signal-aware-command", "keywords": [ - "api", - "payment processing", - "stripe" + "laravel", + "laravel-signal-aware-command", + "spatie" ], "support": { - "issues": "https://github.com/stripe/stripe-php/issues", - "source": "https://github.com/stripe/stripe-php/tree/v7.128.0" + "issues": "https://github.com/spatie/laravel-signal-aware-command/issues", + "source": "https://github.com/spatie/laravel-signal-aware-command/tree/2.0.0" }, - "time": "2022-05-05T17:18:02+00:00" + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2024-02-05T13:37:25+00:00" }, { - "name": "symfony/console", - "version": "v6.1.3", + "name": "spatie/laravel-sitemap", + "version": "7.2.1", "source": { "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "43fcb5c5966b43c56bcfa481368d90d748936ab8" + "url": "https://github.com/spatie/laravel-sitemap.git", + "reference": "6d3d7637690a9710456a01bacabf5088f93ffe11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/43fcb5c5966b43c56bcfa481368d90d748936ab8", - "reference": "43fcb5c5966b43c56bcfa481368d90d748936ab8", + "url": "https://api.github.com/repos/spatie/laravel-sitemap/zipball/6d3d7637690a9710456a01bacabf5088f93ffe11", + "reference": "6d3d7637690a9710456a01bacabf5088f93ffe11", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/string": "^5.4|^6.0" - }, - "conflict": { - "symfony/dependency-injection": "<5.4", - "symfony/dotenv": "<5.4", - "symfony/event-dispatcher": "<5.4", - "symfony/lock": "<5.4", - "symfony/process": "<5.4" - }, - "provide": { - "psr/log-implementation": "1.0|2.0|3.0" + "guzzlehttp/guzzle": "^7.8", + "illuminate/support": "^10.0|^11.0", + "nesbot/carbon": "^2.71|^3.0", + "php": "^8.2", + "spatie/crawler": "^8.0.1", + "spatie/laravel-package-tools": "^1.16.1", + "symfony/dom-crawler": "^6.3.4|^7.0" }, "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/event-dispatcher": "^5.4|^6.0", - "symfony/lock": "^5.4|^6.0", - "symfony/process": "^5.4|^6.0", - "symfony/var-dumper": "^5.4|^6.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" + "mockery/mockery": "^1.6.6", + "orchestra/testbench": "^8.14|^9.0", + "pestphp/pest": "^2.24", + "spatie/pest-plugin-snapshots": "^2.1", + "spatie/phpunit-snapshot-assertions": "^5.1.2", + "spatie/temporary-directory": "^2.2" }, "type": "library", + "extra": { + "laravel": { + "providers": [ + "Spatie\\Sitemap\\SitemapServiceProvider" + ] + } + }, "autoload": { "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Spatie\\Sitemap\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -7694,66 +6700,54 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" } ], - "description": "Eases the creation of beautiful and testable command line interfaces", - "homepage": "https://symfony.com", + "description": "Create and generate sitemaps with ease", + "homepage": "https://github.com/spatie/laravel-sitemap", "keywords": [ - "cli", - "command line", - "console", - "terminal" + "laravel-sitemap", + "spatie" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.1.3" + "source": "https://github.com/spatie/laravel-sitemap/tree/7.2.1" }, "funding": [ { - "url": "https://symfony.com/sponsor", + "url": "https://spatie.be/open-source/support-us", "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" } ], - "time": "2022-07-22T14:17:57+00:00" + "time": "2024-05-21T12:31:34+00:00" }, { - "name": "symfony/css-selector", - "version": "v6.1.3", + "name": "spatie/robots-txt", + "version": "2.2.1", "source": { "type": "git", - "url": "https://github.com/symfony/css-selector.git", - "reference": "0dd5e36b80e1de97f8f74ed7023ac2b837a36443" + "url": "https://github.com/spatie/robots-txt.git", + "reference": "db55c5f4aef0bd8576b03b80dc3ede3d176b9cdf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/0dd5e36b80e1de97f8f74ed7023ac2b837a36443", - "reference": "0dd5e36b80e1de97f8f74ed7023ac2b837a36443", + "url": "https://api.github.com/repos/spatie/robots-txt/zipball/db55c5f4aef0bd8576b03b80dc3ede3d176b9cdf", + "reference": "db55c5f4aef0bd8576b03b80dc3ede3d176b9cdf", "shasum": "" }, "require": { - "php": ">=8.1" + "php": "^8.1" + }, + "require-dev": { + "phpunit/phpunit": "^9.0|^10.0" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\CssSelector\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Spatie\\Robots\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -7761,70 +6755,59 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Jean-François Simon", - "email": "jeanfrancois.simon@sensiolabs.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Brent Roose", + "email": "brent@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" } ], - "description": "Converts CSS selectors to XPath expressions", - "homepage": "https://symfony.com", + "description": "Determine if a page may be crawled from robots.txt and robots meta tags", + "homepage": "https://github.com/spatie/robots-txt", + "keywords": [ + "robots-txt", + "spatie" + ], "support": { - "source": "https://github.com/symfony/css-selector/tree/v6.1.3" + "issues": "https://github.com/spatie/robots-txt/issues", + "source": "https://github.com/spatie/robots-txt/tree/2.2.1" }, "funding": [ { - "url": "https://symfony.com/sponsor", + "url": "https://spatie.be/open-source/support-us", "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": "2022-06-27T17:24:16+00:00" + "time": "2024-08-09T09:07:48+00:00" }, { - "name": "symfony/deprecation-contracts", - "version": "v3.1.1", + "name": "spatie/temporary-directory", + "version": "2.2.1", "source": { "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "07f1b9cc2ffee6aaafcf4b710fbc38ff736bd918" + "url": "https://github.com/spatie/temporary-directory.git", + "reference": "76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/07f1b9cc2ffee6aaafcf4b710fbc38ff736bd918", - "reference": "07f1b9cc2ffee6aaafcf4b710fbc38ff736bd918", + "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a", + "reference": "76949fa18f8e1a7f663fd2eaa1d00e0bcea0752a", "shasum": "" }, "require": { - "php": ">=8.1" + "php": "^8.0" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.1-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } + "require-dev": { + "phpunit/phpunit": "^9.5" }, + "type": "library", "autoload": { - "files": [ - "function.php" - ] + "psr-4": { + "Spatie\\TemporaryDirectory\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -7832,69 +6815,70 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Alex Vanderbist", + "email": "alex@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" } ], - "description": "A generic function and convention to trigger deprecation notices", - "homepage": "https://symfony.com", + "description": "Easily create, use and destroy temporary directories", + "homepage": "https://github.com/spatie/temporary-directory", + "keywords": [ + "php", + "spatie", + "temporary-directory" + ], "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.1.1" + "issues": "https://github.com/spatie/temporary-directory/issues", + "source": "https://github.com/spatie/temporary-directory/tree/2.2.1" }, "funding": [ { - "url": "https://symfony.com/sponsor", + "url": "https://spatie.be/open-source/support-us", "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": "2022-02-25T11:15:52+00:00" + "time": "2023-12-25T11:46:58+00:00" }, { - "name": "symfony/dom-crawler", - "version": "v6.1.3", + "name": "stripe/stripe-php", + "version": "v13.18.0", "source": { "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "58eb9858d8752ac3586fffb37421441fc18f793c" + "url": "https://github.com/stripe/stripe-php.git", + "reference": "02abb043b103766f4ed920642ae56ffdc58c7467" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/58eb9858d8752ac3586fffb37421441fc18f793c", - "reference": "58eb9858d8752ac3586fffb37421441fc18f793c", + "url": "https://api.github.com/repos/stripe/stripe-php/zipball/02abb043b103766f4ed920642ae56ffdc58c7467", + "reference": "02abb043b103766f4ed920642ae56ffdc58c7467", "shasum": "" }, "require": { - "masterminds/html5": "^2.6", - "php": ">=8.1", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.0" + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "php": ">=5.6.0" }, "require-dev": { - "symfony/css-selector": "^5.4|^6.0" - }, - "suggest": { - "symfony/css-selector": "" + "friendsofphp/php-cs-fixer": "3.5.0", + "phpstan/phpstan": "^1.2", + "phpunit/phpunit": "^5.7 || ^9.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, "autoload": { "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Stripe\\": "lib/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -7902,66 +6886,52 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Stripe and contributors", + "homepage": "https://github.com/stripe/stripe-php/contributors" } ], - "description": "Eases DOM navigation for HTML and XML documents", - "homepage": "https://symfony.com", + "description": "Stripe PHP Library", + "homepage": "https://stripe.com/", + "keywords": [ + "api", + "payment processing", + "stripe" + ], "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v6.1.3" + "issues": "https://github.com/stripe/stripe-php/issues", + "source": "https://github.com/stripe/stripe-php/tree/v13.18.0" }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-06-27T17:24:16+00:00" + "time": "2024-04-09T21:08:04+00:00" }, { - "name": "symfony/error-handler", - "version": "v6.1.3", + "name": "symfony/clock", + "version": "v7.1.1", "source": { "type": "git", - "url": "https://github.com/symfony/error-handler.git", - "reference": "736e42db3fd586d91820355988698e434e1d8419" + "url": "https://github.com/symfony/clock.git", + "reference": "3dfc8b084853586de51dd1441c6242c76a28cbe7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/736e42db3fd586d91820355988698e434e1d8419", - "reference": "736e42db3fd586d91820355988698e434e1d8419", + "url": "https://api.github.com/repos/symfony/clock/zipball/3dfc8b084853586de51dd1441c6242c76a28cbe7", + "reference": "3dfc8b084853586de51dd1441c6242c76a28cbe7", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^5.4|^6.0" + "php": ">=8.2", + "psr/clock": "^1.0", + "symfony/polyfill-php83": "^1.28" }, - "require-dev": { - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/http-kernel": "^5.4|^6.0", - "symfony/serializer": "^5.4|^6.0" + "provide": { + "psr/clock-implementation": "1.0" }, - "bin": [ - "Resources/bin/patch-type-declarations" - ], "type": "library", "autoload": { + "files": [ + "Resources/now.php" + ], "psr-4": { - "Symfony\\Component\\ErrorHandler\\": "" + "Symfony\\Component\\Clock\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -7973,18 +6943,23 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides tools to manage errors and ease debugging PHP code", + "description": "Decouples applications from the system clock", "homepage": "https://symfony.com", + "keywords": [ + "clock", + "psr20", + "time" + ], "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.1.3" + "source": "https://github.com/symfony/clock/tree/v7.1.1" }, "funding": [ { @@ -8000,51 +6975,55 @@ "type": "tidelift" } ], - "time": "2022-07-29T07:42:06+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { - "name": "symfony/event-dispatcher", - "version": "v6.1.0", + "name": "symfony/console", + "version": "v7.1.3", "source": { "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "a0449a7ad7daa0f7c0acd508259f80544ab5a347" + "url": "https://github.com/symfony/console.git", + "reference": "cb1dcb30ebc7005c29864ee78adb47b5fb7c3cd9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a0449a7ad7daa0f7c0acd508259f80544ab5a347", - "reference": "a0449a7ad7daa0f7c0acd508259f80544ab5a347", + "url": "https://api.github.com/repos/symfony/console/zipball/cb1dcb30ebc7005c29864ee78adb47b5fb7c3cd9", + "reference": "cb1dcb30ebc7005c29864ee78adb47b5fb7c3cd9", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/event-dispatcher-contracts": "^2|^3" + "php": ">=8.2", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^6.4|^7.0" }, "conflict": { - "symfony/dependency-injection": "<5.4" + "symfony/dependency-injection": "<6.4", + "symfony/dotenv": "<6.4", + "symfony/event-dispatcher": "<6.4", + "symfony/lock": "<6.4", + "symfony/process": "<6.4" }, "provide": { - "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "2.0|3.0" + "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/error-handler": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/http-foundation": "^5.4|^6.0", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/stopwatch": "^5.4|^6.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" + "symfony/config": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/lock": "^6.4|^7.0", + "symfony/messenger": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/stopwatch": "^6.4|^7.0", + "symfony/var-dumper": "^6.4|^7.0" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" + "Symfony\\Component\\Console\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -8064,10 +7043,16 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", + "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command-line", + "console", + "terminal" + ], "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v6.1.0" + "source": "https://github.com/symfony/console/tree/v7.1.3" }, "funding": [ { @@ -8083,43 +7068,33 @@ "type": "tidelift" } ], - "time": "2022-05-05T16:51:07+00:00" + "time": "2024-07-26T12:41:01+00:00" }, { - "name": "symfony/event-dispatcher-contracts", - "version": "v3.1.1", + "name": "symfony/css-selector", + "version": "v7.1.1", "source": { "type": "git", - "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "02ff5eea2f453731cfbc6bc215e456b781480448" + "url": "https://github.com/symfony/css-selector.git", + "reference": "1c7cee86c6f812896af54434f8ce29c8d94f9ff4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/02ff5eea2f453731cfbc6bc215e456b781480448", - "reference": "02ff5eea2f453731cfbc6bc215e456b781480448", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/1c7cee86c6f812896af54434f8ce29c8d94f9ff4", + "reference": "1c7cee86c6f812896af54434f8ce29c8d94f9ff4", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/event-dispatcher": "^1" - }, - "suggest": { - "symfony/event-dispatcher-implementation": "" + "php": ">=8.2" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.1-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, "autoload": { "psr-4": { - "Symfony\\Contracts\\EventDispatcher\\": "" - } + "Symfony\\Component\\CssSelector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -8127,26 +7102,22 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Generic abstractions related to dispatching event", + "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.1.1" + "source": "https://github.com/symfony/css-selector/tree/v7.1.1" }, "funding": [ { @@ -8162,35 +7133,38 @@ "type": "tidelift" } ], - "time": "2022-02-25T11:15:52+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { - "name": "symfony/finder", - "version": "v6.1.3", + "name": "symfony/deprecation-contracts", + "version": "v3.5.0", "source": { "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "39696bff2c2970b3779a5cac7bf9f0b88fc2b709" + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/39696bff2c2970b3779a5cac7bf9f0b88fc2b709", - "reference": "39696bff2c2970b3779a5cac7bf9f0b88fc2b709", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", "shasum": "" }, "require": { "php": ">=8.1" }, - "require-dev": { - "symfony/filesystem": "^6.0" - }, "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Finder\\": "" + "extra": { + "branch-alias": { + "dev-main": "3.5-dev" }, - "exclude-from-classmap": [ - "/Tests/" + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -8199,18 +7173,18 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Finds files and directories via an intuitive fluent interface", + "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.1.3" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" }, "funding": [ { @@ -8226,52 +7200,35 @@ "type": "tidelift" } ], - "time": "2022-07-29T07:42:06+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { - "name": "symfony/http-client", - "version": "v6.1.3", + "name": "symfony/dom-crawler", + "version": "v7.1.1", "source": { "type": "git", - "url": "https://github.com/symfony/http-client.git", - "reference": "1ef59920a9cedf223e8564ae8ad7608cbe799b4d" + "url": "https://github.com/symfony/dom-crawler.git", + "reference": "01ce8174447f1f1dd33a5854b01beef79061d9fa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/1ef59920a9cedf223e8564ae8ad7608cbe799b4d", - "reference": "1ef59920a9cedf223e8564ae8ad7608cbe799b4d", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/01ce8174447f1f1dd33a5854b01beef79061d9fa", + "reference": "01ce8174447f1f1dd33a5854b01beef79061d9fa", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/log": "^1|^2|^3", - "symfony/http-client-contracts": "^3", - "symfony/service-contracts": "^1.0|^2|^3" - }, - "provide": { - "php-http/async-client-implementation": "*", - "php-http/client-implementation": "*", - "psr/http-client-implementation": "1.0", - "symfony/http-client-implementation": "3.0" + "masterminds/html5": "^2.6", + "php": ">=8.2", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0" }, "require-dev": { - "amphp/amp": "^2.5", - "amphp/http-client": "^4.2.1", - "amphp/http-tunnel": "^1.0", - "amphp/socket": "^1.1", - "guzzlehttp/promises": "^1.4", - "nyholm/psr7": "^1.0", - "php-http/httplug": "^1.0|^2.0", - "psr/http-client": "^1.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/http-kernel": "^5.4|^6.0", - "symfony/process": "^5.4|^6.0", - "symfony/stopwatch": "^5.4|^6.0" + "symfony/css-selector": "^6.4|^7.0" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\HttpClient\\": "" + "Symfony\\Component\\DomCrawler\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -8283,18 +7240,18 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", + "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-client/tree/v6.1.3" + "source": "https://github.com/symfony/dom-crawler/tree/v7.1.1" }, "funding": [ { @@ -8310,44 +7267,46 @@ "type": "tidelift" } ], - "time": "2022-07-28T13:40:41+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { - "name": "symfony/http-client-contracts", - "version": "v3.1.1", + "name": "symfony/error-handler", + "version": "v7.1.3", "source": { "type": "git", - "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "fd038f08c623ab5d22b26e9ba35afe8c79071800" + "url": "https://github.com/symfony/error-handler.git", + "reference": "432bb369952795c61ca1def65e078c4a80dad13c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/fd038f08c623ab5d22b26e9ba35afe8c79071800", - "reference": "fd038f08c623ab5d22b26e9ba35afe8c79071800", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/432bb369952795c61ca1def65e078c4a80dad13c", + "reference": "432bb369952795c61ca1def65e078c4a80dad13c", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2", + "psr/log": "^1|^2|^3", + "symfony/var-dumper": "^6.4|^7.0" }, - "suggest": { - "symfony/http-client-implementation": "" + "conflict": { + "symfony/deprecation-contracts": "<2.5", + "symfony/http-kernel": "<6.4" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.1-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } + "require-dev": { + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/serializer": "^6.4|^7.0" }, + "bin": [ + "Resources/bin/patch-type-declarations" + ], + "type": "library", "autoload": { "psr-4": { - "Symfony\\Contracts\\HttpClient\\": "" + "Symfony\\Component\\ErrorHandler\\": "" }, "exclude-from-classmap": [ - "/Test/" + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -8356,26 +7315,18 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Generic abstractions related to HTTP clients", + "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], "support": { - "source": "https://github.com/symfony/http-client-contracts/tree/v3.1.1" + "source": "https://github.com/symfony/error-handler/tree/v7.1.3" }, "funding": [ { @@ -8391,40 +7342,48 @@ "type": "tidelift" } ], - "time": "2022-04-22T07:30:54+00:00" + "time": "2024-07-26T13:02:51+00:00" }, { - "name": "symfony/http-foundation", - "version": "v6.1.3", + "name": "symfony/event-dispatcher", + "version": "v7.1.1", "source": { "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "b03712c93759a81fc243ecc18ec4637958afebdb" + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/b03712c93759a81fc243ecc18ec4637958afebdb", - "reference": "b03712c93759a81fc243ecc18ec4637958afebdb", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7", + "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-mbstring": "~1.1" + "php": ">=8.2", + "symfony/event-dispatcher-contracts": "^2.5|^3" }, - "require-dev": { - "predis/predis": "~1.0", - "symfony/cache": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/mime": "^5.4|^6.0" + "conflict": { + "symfony/dependency-injection": "<6.4", + "symfony/service-contracts": "<2.5" }, - "suggest": { - "symfony/mime": "To use the file extension guesser" + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/error-handler": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/stopwatch": "^6.4|^7.0" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" + "Symfony\\Component\\EventDispatcher\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -8444,10 +7403,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Defines an object-oriented layer for the HTTP specification", + "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.1.3" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.1.1" }, "funding": [ { @@ -8463,82 +7422,40 @@ "type": "tidelift" } ], - "time": "2022-07-27T15:50:51+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { - "name": "symfony/http-kernel", - "version": "v6.1.3", + "name": "symfony/event-dispatcher-contracts", + "version": "v3.5.0", "source": { "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "0692bc185a1dbb54864686a1fc6785667279da70" + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/0692bc185a1dbb54864686a1fc6785667279da70", - "reference": "0692bc185a1dbb54864686a1fc6785667279da70", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50", + "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50", "shasum": "" }, "require": { "php": ">=8.1", - "psr/log": "^1|^2|^3", - "symfony/error-handler": "^6.1", - "symfony/event-dispatcher": "^5.4|^6.0", - "symfony/http-foundation": "^5.4|^6.0", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "symfony/browser-kit": "<5.4", - "symfony/cache": "<5.4", - "symfony/config": "<6.1", - "symfony/console": "<5.4", - "symfony/dependency-injection": "<6.1", - "symfony/doctrine-bridge": "<5.4", - "symfony/form": "<5.4", - "symfony/http-client": "<5.4", - "symfony/mailer": "<5.4", - "symfony/messenger": "<5.4", - "symfony/translation": "<5.4", - "symfony/twig-bridge": "<5.4", - "symfony/validator": "<5.4", - "twig/twig": "<2.13" - }, - "provide": { - "psr/log-implementation": "1.0|2.0|3.0" - }, - "require-dev": { - "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^5.4|^6.0", - "symfony/config": "^6.1", - "symfony/console": "^5.4|^6.0", - "symfony/css-selector": "^5.4|^6.0", - "symfony/dependency-injection": "^6.1", - "symfony/dom-crawler": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/finder": "^5.4|^6.0", - "symfony/http-client-contracts": "^1.1|^2|^3", - "symfony/process": "^5.4|^6.0", - "symfony/routing": "^5.4|^6.0", - "symfony/stopwatch": "^5.4|^6.0", - "symfony/translation": "^5.4|^6.0", - "symfony/translation-contracts": "^1.1|^2|^3", - "symfony/uid": "^5.4|^6.0", - "twig/twig": "^2.13|^3.0.4" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "" + "psr/event-dispatcher": "^1" }, "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, "autoload": { "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Symfony\\Contracts\\EventDispatcher\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -8546,18 +7463,26 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides a structured process for converting a Request into a Response", + "description": "Generic abstractions related to dispatching event", "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.1.3" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0" }, "funding": [ { @@ -8573,42 +7498,32 @@ "type": "tidelift" } ], - "time": "2022-07-29T12:59:10+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { - "name": "symfony/mailer", - "version": "v6.1.3", + "name": "symfony/finder", + "version": "v7.1.3", "source": { "type": "git", - "url": "https://github.com/symfony/mailer.git", - "reference": "b2db228a93278863d1567f90d7caf26922dbfede" + "url": "https://github.com/symfony/finder.git", + "reference": "717c6329886f32dc65e27461f80f2a465412fdca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/b2db228a93278863d1567f90d7caf26922dbfede", - "reference": "b2db228a93278863d1567f90d7caf26922dbfede", + "url": "https://api.github.com/repos/symfony/finder/zipball/717c6329886f32dc65e27461f80f2a465412fdca", + "reference": "717c6329886f32dc65e27461f80f2a465412fdca", "shasum": "" }, "require": { - "egulias/email-validator": "^2.1.10|^3", - "php": ">=8.1", - "psr/event-dispatcher": "^1", - "psr/log": "^1|^2|^3", - "symfony/event-dispatcher": "^5.4|^6.0", - "symfony/mime": "^5.4|^6.0", - "symfony/service-contracts": "^1.1|^2|^3" - }, - "conflict": { - "symfony/http-kernel": "<5.4" + "php": ">=8.2" }, "require-dev": { - "symfony/http-client-contracts": "^1.1|^2|^3", - "symfony/messenger": "^5.4|^6.0" + "symfony/filesystem": "^6.4|^7.0" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Mailer\\": "" + "Symfony\\Component\\Finder\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -8628,10 +7543,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Helps sending emails", + "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v6.1.3" + "source": "https://github.com/symfony/finder/tree/v7.1.3" }, "funding": [ { @@ -8647,33 +7562,58 @@ "type": "tidelift" } ], - "time": "2022-07-27T15:50:51+00:00" + "time": "2024-07-24T07:08:44+00:00" }, { - "name": "symfony/mailgun-mailer", - "version": "v6.1.0", + "name": "symfony/http-client", + "version": "v6.4.10", "source": { "type": "git", - "url": "https://github.com/symfony/mailgun-mailer.git", - "reference": "44d3c15049d84f5165917a6190f06adbe64d71dd" + "url": "https://github.com/symfony/http-client.git", + "reference": "b5e498f763e0bf5eed8dcd946e50a3b3f71d4ded" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailgun-mailer/zipball/44d3c15049d84f5165917a6190f06adbe64d71dd", - "reference": "44d3c15049d84f5165917a6190f06adbe64d71dd", + "url": "https://api.github.com/repos/symfony/http-client/zipball/b5e498f763e0bf5eed8dcd946e50a3b3f71d4ded", + "reference": "b5e498f763e0bf5eed8dcd946e50a3b3f71d4ded", "shasum": "" }, "require": { "php": ">=8.1", - "symfony/mailer": "^5.4|^6.0" + "psr/log": "^1|^2|^3", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-client-contracts": "^3.4.1", + "symfony/service-contracts": "^2.5|^3" + }, + "conflict": { + "php-http/discovery": "<1.15", + "symfony/http-foundation": "<6.3" + }, + "provide": { + "php-http/async-client-implementation": "*", + "php-http/client-implementation": "*", + "psr/http-client-implementation": "1.0", + "symfony/http-client-implementation": "3.0" }, "require-dev": { - "symfony/http-client": "^5.4|^6.0" + "amphp/amp": "^2.5", + "amphp/http-client": "^4.2.1", + "amphp/http-tunnel": "^1.0", + "amphp/socket": "^1.1", + "guzzlehttp/promises": "^1.4|^2.0", + "nyholm/psr7": "^1.0", + "php-http/httplug": "^1.0|^2.0", + "psr/http-client": "^1.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0" }, - "type": "symfony-mailer-bridge", + "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Mailer\\Bridge\\Mailgun\\": "" + "Symfony\\Component\\HttpClient\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -8685,18 +7625,21 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Mailgun Mailer Bridge", + "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", "homepage": "https://symfony.com", + "keywords": [ + "http" + ], "support": { - "source": "https://github.com/symfony/mailgun-mailer/tree/v6.1.0" + "source": "https://github.com/symfony/http-client/tree/v6.4.10" }, "funding": [ { @@ -8712,48 +7655,41 @@ "type": "tidelift" } ], - "time": "2022-04-01T07:15:35+00:00" + "time": "2024-07-15T09:26:24+00:00" }, { - "name": "symfony/mime", - "version": "v6.1.3", + "name": "symfony/http-client-contracts", + "version": "v3.5.0", "source": { "type": "git", - "url": "https://github.com/symfony/mime.git", - "reference": "9c0247994fc6584da8591ba64b2bffaace9df87d" + "url": "https://github.com/symfony/http-client-contracts.git", + "reference": "20414d96f391677bf80078aa55baece78b82647d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/9c0247994fc6584da8591ba64b2bffaace9df87d", - "reference": "9c0247994fc6584da8591ba64b2bffaace9df87d", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/20414d96f391677bf80078aa55baece78b82647d", + "reference": "20414d96f391677bf80078aa55baece78b82647d", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0" - }, - "conflict": { - "egulias/email-validator": "~3.0.0", - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", - "symfony/mailer": "<5.4" - }, - "require-dev": { - "egulias/email-validator": "^2.1.10|^3.1", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/property-access": "^5.4|^6.0", - "symfony/property-info": "^5.4|^6.0", - "symfony/serializer": "^5.4|^6.0" + "php": ">=8.1" }, "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, "autoload": { "psr-4": { - "Symfony\\Component\\Mime\\": "" + "Symfony\\Contracts\\HttpClient\\": "" }, "exclude-from-classmap": [ - "/Tests/" + "/Test/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -8762,22 +7698,26 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Allows manipulating MIME messages", + "description": "Generic abstractions related to HTTP clients", "homepage": "https://symfony.com", "keywords": [ - "mime", - "mime-type" + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.1.3" + "source": "https://github.com/symfony/http-client-contracts/tree/v3.5.0" }, "funding": [ { @@ -8793,30 +7733,45 @@ "type": "tidelift" } ], - "time": "2022-07-20T13:46:29+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { - "name": "symfony/options-resolver", - "version": "v6.1.0", + "name": "symfony/http-foundation", + "version": "v7.1.3", "source": { "type": "git", - "url": "https://github.com/symfony/options-resolver.git", - "reference": "a3016f5442e28386ded73c43a32a5b68586dd1c4" + "url": "https://github.com/symfony/http-foundation.git", + "reference": "f602d5c17d1fa02f8019ace2687d9d136b7f4a1a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/a3016f5442e28386ded73c43a32a5b68586dd1c4", - "reference": "a3016f5442e28386ded73c43a32a5b68586dd1c4", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/f602d5c17d1fa02f8019ace2687d9d136b7f4a1a", + "reference": "f602d5c17d1fa02f8019ace2687d9d136b7f4a1a", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.1|^3" + "php": ">=8.2", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php83": "^1.27" + }, + "conflict": { + "doctrine/dbal": "<3.6", + "symfony/cache": "<6.4" + }, + "require-dev": { + "doctrine/dbal": "^3.6|^4", + "predis/predis": "^1.1|^2.0", + "symfony/cache": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/mime": "^6.4|^7.0", + "symfony/rate-limiter": "^6.4|^7.0" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\OptionsResolver\\": "" + "Symfony\\Component\\HttpFoundation\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -8836,15 +7791,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Provides an improved replacement for the array_replace PHP function", + "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", - "keywords": [ - "config", - "configuration", - "options" - ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v6.1.0" + "source": "https://github.com/symfony/http-foundation/tree/v7.1.3" }, "funding": [ { @@ -8860,48 +7810,86 @@ "type": "tidelift" } ], - "time": "2022-02-25T11:15:52+00:00" + "time": "2024-07-26T12:41:01+00:00" }, { - "name": "symfony/polyfill-ctype", - "version": "v1.26.0", + "name": "symfony/http-kernel", + "version": "v7.1.3", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4" + "url": "https://github.com/symfony/http-kernel.git", + "reference": "db9702f3a04cc471ec8c70e881825db26ac5f186" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4", - "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/db9702f3a04cc471ec8c70e881825db26ac5f186", + "reference": "db9702f3a04cc471ec8c70e881825db26ac5f186", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=8.2", + "psr/log": "^1|^2|^3", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/error-handler": "^6.4|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/browser-kit": "<6.4", + "symfony/cache": "<6.4", + "symfony/config": "<6.4", + "symfony/console": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/doctrine-bridge": "<6.4", + "symfony/form": "<6.4", + "symfony/http-client": "<6.4", + "symfony/http-client-contracts": "<2.5", + "symfony/mailer": "<6.4", + "symfony/messenger": "<6.4", + "symfony/translation": "<6.4", + "symfony/translation-contracts": "<2.5", + "symfony/twig-bridge": "<6.4", + "symfony/validator": "<6.4", + "symfony/var-dumper": "<6.4", + "twig/twig": "<3.0.4" }, "provide": { - "ext-ctype": "*" + "psr/log-implementation": "1.0|2.0|3.0" }, - "suggest": { - "ext-ctype": "For best performance" + "require-dev": { + "psr/cache": "^1.0|^2.0|^3.0", + "symfony/browser-kit": "^6.4|^7.0", + "symfony/clock": "^6.4|^7.0", + "symfony/config": "^6.4|^7.0", + "symfony/console": "^6.4|^7.0", + "symfony/css-selector": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/dom-crawler": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/finder": "^6.4|^7.0", + "symfony/http-client-contracts": "^2.5|^3", + "symfony/process": "^6.4|^7.0", + "symfony/property-access": "^7.1", + "symfony/routing": "^6.4|^7.0", + "symfony/serializer": "^7.1", + "symfony/stopwatch": "^6.4|^7.0", + "symfony/translation": "^6.4|^7.0", + "symfony/translation-contracts": "^2.5|^3", + "symfony/uid": "^6.4|^7.0", + "symfony/validator": "^6.4|^7.0", + "symfony/var-dumper": "^6.4|^7.0", + "symfony/var-exporter": "^6.4|^7.0", + "twig/twig": "^3.0.4" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.26-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - } + "Symfony\\Component\\HttpKernel\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -8909,24 +7897,18 @@ ], "authors": [ { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for ctype functions", + "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.26.0" + "source": "https://github.com/symfony/http-kernel/tree/v7.1.3" }, "funding": [ { @@ -8942,45 +7924,52 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2024-07-26T14:58:15+00:00" }, { - "name": "symfony/polyfill-intl-grapheme", - "version": "v1.26.0", + "name": "symfony/mailer", + "version": "v7.1.2", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "433d05519ce6990bf3530fba6957499d327395c2" + "url": "https://github.com/symfony/mailer.git", + "reference": "8fcff0af9043c8f8a8e229437cea363e282f9aee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/433d05519ce6990bf3530fba6957499d327395c2", - "reference": "433d05519ce6990bf3530fba6957499d327395c2", + "url": "https://api.github.com/repos/symfony/mailer/zipball/8fcff0af9043c8f8a8e229437cea363e282f9aee", + "reference": "8fcff0af9043c8f8a8e229437cea363e282f9aee", "shasum": "" }, "require": { - "php": ">=7.1" + "egulias/email-validator": "^2.1.10|^3|^4", + "php": ">=8.2", + "psr/event-dispatcher": "^1", + "psr/log": "^1|^2|^3", + "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/mime": "^6.4|^7.0", + "symfony/service-contracts": "^2.5|^3" }, - "suggest": { - "ext-intl": "For best performance" + "conflict": { + "symfony/http-client-contracts": "<2.5", + "symfony/http-kernel": "<6.4", + "symfony/messenger": "<6.4", + "symfony/mime": "<6.4", + "symfony/twig-bridge": "<6.4" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.26-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } + "require-dev": { + "symfony/console": "^6.4|^7.0", + "symfony/http-client": "^6.4|^7.0", + "symfony/messenger": "^6.4|^7.0", + "symfony/twig-bridge": "^6.4|^7.0" }, + "type": "library", "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - } + "Symfony\\Component\\Mailer\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -8988,26 +7977,18 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for intl's grapheme_* functions", + "description": "Helps sending emails", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "grapheme", - "intl", - "polyfill", - "portable", - "shim" - ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.26.0" + "source": "https://github.com/symfony/mailer/tree/v7.1.2" }, "funding": [ { @@ -9023,48 +8004,38 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2024-06-28T08:00:31+00:00" }, { - "name": "symfony/polyfill-intl-icu", - "version": "v1.26.0", + "name": "symfony/mailgun-mailer", + "version": "v6.4.10", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-icu.git", - "reference": "e407643d610e5f2c8a4b14189150f68934bf5e48" + "url": "https://github.com/symfony/mailgun-mailer.git", + "reference": "3eb7c7b644179a766f5d816620b7b6d4a4e7ec43" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/e407643d610e5f2c8a4b14189150f68934bf5e48", - "reference": "e407643d610e5f2c8a4b14189150f68934bf5e48", + "url": "https://api.github.com/repos/symfony/mailgun-mailer/zipball/3eb7c7b644179a766f5d816620b7b6d4a4e7ec43", + "reference": "3eb7c7b644179a766f5d816620b7b6d4a4e7ec43", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=8.1", + "symfony/mailer": "^5.4.21|^6.2.7|^7.0" }, - "suggest": { - "ext-intl": "For best performance and support of other locales than \"en\"" + "conflict": { + "symfony/http-foundation": "<6.2" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.26-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } + "require-dev": { + "symfony/http-client": "^6.3|^7.0", + "symfony/webhook": "^6.3|^7.0" }, + "type": "symfony-mailer-bridge", "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Intl\\Icu\\": "" + "Symfony\\Component\\Mailer\\Bridge\\Mailgun\\": "" }, - "classmap": [ - "Resources/stubs" - ], "exclude-from-classmap": [ "/Tests/" ] @@ -9075,26 +8046,18 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for intl's ICU-related data and classes", + "description": "Symfony Mailgun Mailer Bridge", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "icu", - "intl", - "polyfill", - "portable", - "shim" - ], "support": { - "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.26.0" + "source": "https://github.com/symfony/mailgun-mailer/tree/v6.4.10" }, "funding": [ { @@ -9110,47 +8073,52 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2024-07-04T11:16:22+00:00" }, { - "name": "symfony/polyfill-intl-idn", - "version": "v1.26.0", + "name": "symfony/mime", + "version": "v7.1.2", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "59a8d271f00dd0e4c2e518104cc7963f655a1aa8" + "url": "https://github.com/symfony/mime.git", + "reference": "26a00b85477e69a4bab63b66c5dce64f18b0cbfc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/59a8d271f00dd0e4c2e518104cc7963f655a1aa8", - "reference": "59a8d271f00dd0e4c2e518104cc7963f655a1aa8", + "url": "https://api.github.com/repos/symfony/mime/zipball/26a00b85477e69a4bab63b66c5dce64f18b0cbfc", + "reference": "26a00b85477e69a4bab63b66c5dce64f18b0cbfc", "shasum": "" }, "require": { - "php": ">=7.1", - "symfony/polyfill-intl-normalizer": "^1.10", - "symfony/polyfill-php72": "^1.10" + "php": ">=8.2", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0" }, - "suggest": { - "ext-intl": "For best performance" + "conflict": { + "egulias/email-validator": "~3.0.0", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/mailer": "<6.4", + "symfony/serializer": "<6.4.3|>7.0,<7.0.3" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.26-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } + "require-dev": { + "egulias/email-validator": "^2.1.10|^3.1|^4", + "league/html-to-markdown": "^5.0", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/property-access": "^6.4|^7.0", + "symfony/property-info": "^6.4|^7.0", + "symfony/serializer": "^6.4.3|^7.0.3" }, + "type": "library", "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Intl\\Idn\\": "" - } + "Symfony\\Component\\Mime\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -9158,30 +8126,22 @@ ], "authors": [ { - "name": "Laurent Bassin", - "email": "laurent@bassin.info" - }, - { - "name": "Trevor Rowbotham", - "email": "trevor.rowbotham@pm.me" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "description": "Allows manipulating MIME messages", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "idn", - "intl", - "polyfill", - "portable", - "shim" + "keywords": [ + "mime", + "mime-type" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.26.0" + "source": "https://github.com/symfony/mime/tree/v7.1.2" }, "funding": [ { @@ -9197,47 +8157,33 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2024-06-28T10:03:55+00:00" }, { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.26.0", + "name": "symfony/options-resolver", + "version": "v7.1.1", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "219aa369ceff116e673852dce47c3a41794c14bd" + "url": "https://github.com/symfony/options-resolver.git", + "reference": "47aa818121ed3950acd2b58d1d37d08a94f9bf55" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/219aa369ceff116e673852dce47c3a41794c14bd", - "reference": "219aa369ceff116e673852dce47c3a41794c14bd", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/47aa818121ed3950acd2b58d1d37d08a94f9bf55", + "reference": "47aa818121ed3950acd2b58d1d37d08a94f9bf55", "shasum": "" }, "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.26-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + "Symfony\\Component\\OptionsResolver\\": "" }, - "classmap": [ - "Resources/stubs" + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -9246,26 +8192,23 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", + "description": "Provides an improved replacement for the array_replace PHP function", "homepage": "https://symfony.com", "keywords": [ - "compatibility", - "intl", - "normalizer", - "polyfill", - "portable", - "shim" + "config", + "configuration", + "options" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.26.0" + "source": "https://github.com/symfony/options-resolver/tree/v7.1.1" }, "funding": [ { @@ -9281,36 +8224,33 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { - "name": "symfony/polyfill-mbstring", - "version": "v1.26.0", + "name": "symfony/polyfill-ctype", + "version": "v1.30.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e" + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "0424dff1c58f028c451efff2045f5d92410bd540" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e", - "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/0424dff1c58f028c451efff2045f5d92410bd540", + "reference": "0424dff1c58f028c451efff2045f5d92410bd540", "shasum": "" }, "require": { "php": ">=7.1" }, "provide": { - "ext-mbstring": "*" + "ext-ctype": "*" }, "suggest": { - "ext-mbstring": "For best performance" + "ext-ctype": "For best performance" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.26-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -9321,7 +8261,7 @@ "bootstrap.php" ], "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" + "Symfony\\Polyfill\\Ctype\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -9330,25 +8270,24 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for the Mbstring extension", + "description": "Symfony polyfill for ctype functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", - "mbstring", + "ctype", "polyfill", - "portable", - "shim" + "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.30.0" }, "funding": [ { @@ -9364,30 +8303,30 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { - "name": "symfony/polyfill-php72", - "version": "v1.26.0", + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.30.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "bf44a9fd41feaac72b074de600314a93e2ae78e2" + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/bf44a9fd41feaac72b074de600314a93e2ae78e2", - "reference": "bf44a9fd41feaac72b074de600314a93e2ae78e2", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/64647a7c30b2283f5d49b874d84a18fc22054b7a", + "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a", "shasum": "" }, "require": { "php": ">=7.1" }, + "suggest": { + "ext-intl": "For best performance" + }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.26-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -9398,7 +8337,7 @@ "bootstrap.php" ], "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -9415,16 +8354,18 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "description": "Symfony polyfill for intl's grapheme_* functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", + "grapheme", + "intl", "polyfill", "portable", "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.30.0" }, "funding": [ { @@ -9440,30 +8381,30 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { - "name": "symfony/polyfill-php80", - "version": "v1.26.0", + "name": "symfony/polyfill-intl-icu", + "version": "v1.30.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace" + "url": "https://github.com/symfony/polyfill-intl-icu.git", + "reference": "e76343c631b453088e2260ac41dfebe21954de81" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/cfa0ae98841b9e461207c13ab093d76b0fa7bace", - "reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/e76343c631b453088e2260ac41dfebe21954de81", + "reference": "e76343c631b453088e2260ac41dfebe21954de81", "shasum": "" }, "require": { "php": ">=7.1" }, + "suggest": { + "ext-intl": "For best performance and support of other locales than \"en\"" + }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.26-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -9474,10 +8415,13 @@ "bootstrap.php" ], "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" + "Symfony\\Polyfill\\Intl\\Icu\\": "" }, "classmap": [ "Resources/stubs" + ], + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -9485,10 +8429,6 @@ "MIT" ], "authors": [ - { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, { "name": "Nicolas Grekas", "email": "p@tchwork.com" @@ -9498,16 +8438,18 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "description": "Symfony polyfill for intl's ICU-related data and classes", "homepage": "https://symfony.com", "keywords": [ "compatibility", + "icu", + "intl", "polyfill", "portable", "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.30.0" }, "funding": [ { @@ -9523,30 +8465,32 @@ "type": "tidelift" } ], - "time": "2022-05-10T07:21:04+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { - "name": "symfony/polyfill-php81", - "version": "v1.26.0", + "name": "symfony/polyfill-intl-idn", + "version": "v1.30.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "13f6d1271c663dc5ae9fb843a8f16521db7687a1" + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/13f6d1271c663dc5ae9fb843a8f16521db7687a1", - "reference": "13f6d1271c663dc5ae9fb843a8f16521db7687a1", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a6e83bdeb3c84391d1dfe16f42e40727ce524a5c", + "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.1", + "symfony/polyfill-intl-normalizer": "^1.10", + "symfony/polyfill-php72": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.26-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -9557,11 +8501,8 @@ "bootstrap.php" ], "psr-4": { - "Symfony\\Polyfill\\Php81\\": "" - }, - "classmap": [ - "Resources/stubs" - ] + "Symfony\\Polyfill\\Intl\\Idn\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -9569,24 +8510,30 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", + "idn", + "intl", "polyfill", "portable", "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.30.0" }, "funding": [ { @@ -9602,36 +8549,30 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { - "name": "symfony/polyfill-uuid", - "version": "v1.26.0", + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.30.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-uuid.git", - "reference": "a41886c1c81dc075a09c71fe6db5b9d68c79de23" + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/a41886c1c81dc075a09c71fe6db5b9d68c79de23", - "reference": "a41886c1c81dc075a09c71fe6db5b9d68c79de23", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/a95281b0be0d9ab48050ebd988b967875cdb9fdb", + "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb", "shasum": "" }, "require": { "php": ">=7.1" }, - "provide": { - "ext-uuid": "*" - }, "suggest": { - "ext-uuid": "For best performance" + "ext-intl": "For best performance" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.26-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -9642,8 +8583,11 @@ "bootstrap.php" ], "psr-4": { - "Symfony\\Polyfill\\Uuid\\": "" - } + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "classmap": [ + "Resources/stubs" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -9651,24 +8595,26 @@ ], "authors": [ { - "name": "Grégoire Pineau", - "email": "lyrixx@lyrixx.info" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for uuid functions", + "description": "Symfony polyfill for intl's Normalizer class and related functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", + "intl", + "normalizer", "polyfill", "portable", - "uuid" + "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-uuid/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.30.0" }, "funding": [ { @@ -9684,33 +8630,45 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { - "name": "symfony/process", - "version": "v6.1.3", + "name": "symfony/polyfill-mbstring", + "version": "v1.30.0", "source": { "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "a6506e99cfad7059b1ab5cab395854a0a0c21292" + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/a6506e99cfad7059b1ab5cab395854a0a0c21292", - "reference": "a6506e99cfad7059b1ab5cab395854a0a0c21292", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c", + "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=7.1" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" }, "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Symfony\\Polyfill\\Mbstring\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -9718,18 +8676,25 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Executes commands in sub-processes", + "description": "Symfony polyfill for the Mbstring extension", "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], "support": { - "source": "https://github.com/symfony/process/tree/v6.1.3" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0" }, "funding": [ { @@ -9745,53 +8710,39 @@ "type": "tidelift" } ], - "time": "2022-06-27T17:24:16+00:00" + "time": "2024-06-19T12:30:46+00:00" }, { - "name": "symfony/psr-http-message-bridge", - "version": "v2.1.2", + "name": "symfony/polyfill-php72", + "version": "v1.30.0", "source": { "type": "git", - "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "22b37c8a3f6b5d94e9cdbd88e1270d96e2f97b34" + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "10112722600777e02d2745716b70c5db4ca70442" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/22b37c8a3f6b5d94e9cdbd88e1270d96e2f97b34", - "reference": "22b37c8a3f6b5d94e9cdbd88e1270d96e2f97b34", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/10112722600777e02d2745716b70c5db4ca70442", + "reference": "10112722600777e02d2745716b70c5db4ca70442", "shasum": "" }, "require": { - "php": ">=7.1", - "psr/http-message": "^1.0", - "symfony/http-foundation": "^4.4 || ^5.0 || ^6.0" - }, - "require-dev": { - "nyholm/psr7": "^1.1", - "psr/log": "^1.1 || ^2 || ^3", - "symfony/browser-kit": "^4.4 || ^5.0 || ^6.0", - "symfony/config": "^4.4 || ^5.0 || ^6.0", - "symfony/event-dispatcher": "^4.4 || ^5.0 || ^6.0", - "symfony/framework-bundle": "^4.4 || ^5.0 || ^6.0", - "symfony/http-kernel": "^4.4 || ^5.0 || ^6.0", - "symfony/phpunit-bridge": "^5.4@dev || ^6.0" - }, - "suggest": { - "nyholm/psr7": "For a super lightweight PSR-7/17 implementation" + "php": ">=7.1" }, - "type": "symfony-bridge", + "type": "library", "extra": { - "branch-alias": { - "dev-main": "2.1-dev" + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Symfony\\Bridge\\PsrHttpMessage\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Symfony\\Polyfill\\Php72\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -9799,25 +8750,24 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "homepage": "https://symfony.com/contributors" } ], - "description": "PSR HTTP message bridge", - "homepage": "http://symfony.com", + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "homepage": "https://symfony.com", "keywords": [ - "http", - "http-message", - "psr-17", - "psr-7" + "compatibility", + "polyfill", + "portable", + "shim" ], "support": { - "issues": "https://github.com/symfony/psr-http-message-bridge/issues", - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.1.2" + "source": "https://github.com/symfony/polyfill-php72/tree/v1.30.0" }, "funding": [ { @@ -9833,53 +8783,41 @@ "type": "tidelift" } ], - "time": "2021-11-05T13:13:39+00:00" + "time": "2024-06-19T12:30:46+00:00" }, { - "name": "symfony/routing", - "version": "v6.1.3", + "name": "symfony/polyfill-php80", + "version": "v1.30.0", "source": { "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "ef9108b3a88045b7546e808fb404ddb073dd35ea" + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "77fa7995ac1b21ab60769b7323d600a991a90433" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/ef9108b3a88045b7546e808fb404ddb073dd35ea", - "reference": "ef9108b3a88045b7546e808fb404ddb073dd35ea", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "conflict": { - "doctrine/annotations": "<1.12", - "symfony/config": "<5.4", - "symfony/dependency-injection": "<5.4", - "symfony/yaml": "<5.4" - }, - "require-dev": { - "doctrine/annotations": "^1.12", - "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/http-foundation": "^5.4|^6.0", - "symfony/yaml": "^5.4|^6.0" + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/77fa7995ac1b21ab60769b7323d600a991a90433", + "reference": "77fa7995ac1b21ab60769b7323d600a991a90433", + "shasum": "" }, - "suggest": { - "symfony/config": "For using the all-in-one router or any loader", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" + "require": { + "php": ">=7.1" }, "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Symfony\\Component\\Routing\\": "" + "Symfony\\Polyfill\\Php80\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -9888,24 +8826,28 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Maps an HTTP request to a set of configuration variables", + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ - "router", - "routing", - "uri", - "url" + "compatibility", + "polyfill", + "portable", + "shim" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.1.3" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.30.0" }, "funding": [ { @@ -9921,48 +8863,41 @@ "type": "tidelift" } ], - "time": "2022-07-20T15:00:40+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { - "name": "symfony/service-contracts", - "version": "v3.1.1", + "name": "symfony/polyfill-php83", + "version": "v1.30.0", "source": { "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "925e713fe8fcacf6bc05e936edd8dd5441a21239" + "url": "https://github.com/symfony/polyfill-php83.git", + "reference": "dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/925e713fe8fcacf6bc05e936edd8dd5441a21239", - "reference": "925e713fe8fcacf6bc05e936edd8dd5441a21239", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9", + "reference": "dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/container": "^2.0" - }, - "conflict": { - "ext-psr": "<1.1|>=2" - }, - "suggest": { - "symfony/service-implementation": "" + "php": ">=7.1" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "3.1-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Symfony\\Contracts\\Service\\": "" + "Symfony\\Polyfill\\Php83\\": "" }, - "exclude-from-classmap": [ - "/Test/" + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -9979,18 +8914,16 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Generic abstractions related to writing services", + "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" + "compatibility", + "polyfill", + "portable", + "shim" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.1.1" + "source": "https://github.com/symfony/polyfill-php83/tree/v1.30.0" }, "funding": [ { @@ -10006,49 +8939,45 @@ "type": "tidelift" } ], - "time": "2022-05-30T19:18:58+00:00" + "time": "2024-06-19T12:35:24+00:00" }, { - "name": "symfony/string", - "version": "v6.1.3", + "name": "symfony/polyfill-uuid", + "version": "v1.30.0", "source": { "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "f35241f45c30bcd9046af2bb200a7086f70e1d6b" + "url": "https://github.com/symfony/polyfill-uuid.git", + "reference": "2ba1f33797470debcda07fe9dce20a0003df18e9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/f35241f45c30bcd9046af2bb200a7086f70e1d6b", - "reference": "f35241f45c30bcd9046af2bb200a7086f70e1d6b", + "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/2ba1f33797470debcda07fe9dce20a0003df18e9", + "reference": "2ba1f33797470debcda07fe9dce20a0003df18e9", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.0", - "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0" + "php": ">=7.1" }, - "conflict": { - "symfony/translation-contracts": "<2.0" + "provide": { + "ext-uuid": "*" }, - "require-dev": { - "symfony/error-handler": "^5.4|^6.0", - "symfony/http-client": "^5.4|^6.0", - "symfony/translation-contracts": "^2.0|^3.0", - "symfony/var-exporter": "^5.4|^6.0" + "suggest": { + "ext-uuid": "For best performance" }, "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, "autoload": { "files": [ - "Resources/functions.php" + "bootstrap.php" ], "psr-4": { - "Symfony\\Component\\String\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Symfony\\Polyfill\\Uuid\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -10056,26 +8985,24 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Grégoire Pineau", + "email": "lyrixx@lyrixx.info" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "description": "Symfony polyfill for uuid functions", "homepage": "https://symfony.com", "keywords": [ - "grapheme", - "i18n", - "string", - "unicode", - "utf-8", - "utf8" + "compatibility", + "polyfill", + "portable", + "uuid" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.1.3" + "source": "https://github.com/symfony/polyfill-uuid/tree/v1.30.0" }, "funding": [ { @@ -10091,64 +9018,29 @@ "type": "tidelift" } ], - "time": "2022-07-27T15:50:51+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { - "name": "symfony/translation", - "version": "v6.1.3", + "name": "symfony/process", + "version": "v7.1.3", "source": { "type": "git", - "url": "https://github.com/symfony/translation.git", - "reference": "b042e16087d298d08c1f013ff505d16c12a3b1be" + "url": "https://github.com/symfony/process.git", + "reference": "7f2f542c668ad6c313dc4a5e9c3321f733197eca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/b042e16087d298d08c1f013ff505d16c12a3b1be", - "reference": "b042e16087d298d08c1f013ff505d16c12a3b1be", + "url": "https://api.github.com/repos/symfony/process/zipball/7f2f542c668ad6c313dc4a5e9c3321f733197eca", + "reference": "7f2f542c668ad6c313dc4a5e9c3321f733197eca", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/polyfill-mbstring": "~1.0", - "symfony/translation-contracts": "^2.3|^3.0" - }, - "conflict": { - "symfony/config": "<5.4", - "symfony/console": "<5.4", - "symfony/dependency-injection": "<5.4", - "symfony/http-kernel": "<5.4", - "symfony/twig-bundle": "<5.4", - "symfony/yaml": "<5.4" - }, - "provide": { - "symfony/translation-implementation": "2.3|3.0" - }, - "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/console": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/finder": "^5.4|^6.0", - "symfony/http-client-contracts": "^1.1|^2.0|^3.0", - "symfony/http-kernel": "^5.4|^6.0", - "symfony/intl": "^5.4|^6.0", - "symfony/polyfill-intl-icu": "^1.21", - "symfony/routing": "^5.4|^6.0", - "symfony/service-contracts": "^1.1.2|^2|^3", - "symfony/yaml": "^5.4|^6.0" - }, - "suggest": { - "psr/log-implementation": "To use logging capability in translator", - "symfony/config": "", - "symfony/yaml": "" + "php": ">=8.2" }, "type": "library", "autoload": { - "files": [ - "Resources/functions.php" - ], "psr-4": { - "Symfony\\Component\\Translation\\": "" + "Symfony\\Component\\Process\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -10168,10 +9060,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Provides tools to internationalize your application", + "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.1.3" + "source": "https://github.com/symfony/process/tree/v7.1.3" }, "funding": [ { @@ -10187,44 +9079,48 @@ "type": "tidelift" } ], - "time": "2022-07-20T13:46:29+00:00" + "time": "2024-07-26T12:44:47+00:00" }, { - "name": "symfony/translation-contracts", - "version": "v3.1.1", + "name": "symfony/psr-http-message-bridge", + "version": "v7.1.3", "source": { "type": "git", - "url": "https://github.com/symfony/translation-contracts.git", - "reference": "606be0f48e05116baef052f7f3abdb345c8e02cc" + "url": "https://github.com/symfony/psr-http-message-bridge.git", + "reference": "1365d10f5476f74a27cf9c2d1eee70c069019db0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/606be0f48e05116baef052f7f3abdb345c8e02cc", - "reference": "606be0f48e05116baef052f7f3abdb345c8e02cc", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/1365d10f5476f74a27cf9c2d1eee70c069019db0", + "reference": "1365d10f5476f74a27cf9c2d1eee70c069019db0", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=8.2", + "psr/http-message": "^1.0|^2.0", + "symfony/http-foundation": "^6.4|^7.0" }, - "suggest": { - "symfony/translation-implementation": "" + "conflict": { + "php-http/discovery": "<1.15", + "symfony/http-kernel": "<6.4" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.1-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } + "require-dev": { + "nyholm/psr7": "^1.1", + "php-http/discovery": "^1.15", + "psr/log": "^1.1.4|^2|^3", + "symfony/browser-kit": "^6.4|^7.0", + "symfony/config": "^6.4|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/framework-bundle": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0" }, + "type": "symfony-bridge", "autoload": { "psr-4": { - "Symfony\\Contracts\\Translation\\": "" + "Symfony\\Bridge\\PsrHttpMessage\\": "" }, "exclude-from-classmap": [ - "/Test/" + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -10233,26 +9129,24 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Generic abstractions related to translation", + "description": "PSR HTTP message bridge", "homepage": "https://symfony.com", "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" + "http", + "http-message", + "psr-17", + "psr-7" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.1.1" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.1.3" }, "funding": [ { @@ -10268,52 +9162,43 @@ "type": "tidelift" } ], - "time": "2022-06-27T17:24:16+00:00" + "time": "2024-07-17T06:10:24+00:00" }, { - "name": "symfony/var-dumper", - "version": "v6.1.3", + "name": "symfony/routing", + "version": "v7.1.3", "source": { "type": "git", - "url": "https://github.com/symfony/var-dumper.git", - "reference": "d5a5e44a2260c5eb5e746bf4f1fbd12ee6ceb427" + "url": "https://github.com/symfony/routing.git", + "reference": "8a908a3f22d5a1b5d297578c2ceb41b02fa916d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/d5a5e44a2260c5eb5e746bf4f1fbd12ee6ceb427", - "reference": "d5a5e44a2260c5eb5e746bf4f1fbd12ee6ceb427", + "url": "https://api.github.com/repos/symfony/routing/zipball/8a908a3f22d5a1b5d297578c2ceb41b02fa916d0", + "reference": "8a908a3f22d5a1b5d297578c2ceb41b02fa916d0", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/polyfill-mbstring": "~1.0" + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3" }, "conflict": { - "phpunit/phpunit": "<5.4.3", - "symfony/console": "<5.4" + "symfony/config": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/yaml": "<6.4" }, "require-dev": { - "ext-iconv": "*", - "symfony/console": "^5.4|^6.0", - "symfony/process": "^5.4|^6.0", - "symfony/uid": "^5.4|^6.0", - "twig/twig": "^2.13|^3.0.4" - }, - "suggest": { - "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", - "ext-intl": "To show region name in time zone dump", - "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" + "psr/log": "^1|^2|^3", + "symfony/config": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/yaml": "^6.4|^7.0" }, - "bin": [ - "Resources/bin/var-dump-server" - ], "type": "library", "autoload": { - "files": [ - "Resources/functions/dump.php" - ], "psr-4": { - "Symfony\\Component\\VarDumper\\": "" + "Symfony\\Component\\Routing\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -10325,22 +9210,24 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides mechanisms for walking through any arbitrary PHP variable", + "description": "Maps an HTTP request to a set of configuration variables", "homepage": "https://symfony.com", "keywords": [ - "debug", - "dump" + "router", + "routing", + "uri", + "url" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.1.3" + "source": "https://github.com/symfony/routing/tree/v7.1.3" }, "funding": [ { @@ -10356,54 +9243,47 @@ "type": "tidelift" } ], - "time": "2022-07-20T13:46:29+00:00" + "time": "2024-07-17T06:10:24+00:00" }, { - "name": "teamtnt/laravel-scout-tntsearch-driver", - "version": "v11.6.0", + "name": "symfony/service-contracts", + "version": "v3.5.0", "source": { "type": "git", - "url": "https://github.com/teamtnt/laravel-scout-tntsearch-driver.git", - "reference": "b98729b0c7179218c9a5e1445922a9313d45c487" + "url": "https://github.com/symfony/service-contracts.git", + "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/teamtnt/laravel-scout-tntsearch-driver/zipball/b98729b0c7179218c9a5e1445922a9313d45c487", - "reference": "b98729b0c7179218c9a5e1445922a9313d45c487", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", "shasum": "" }, "require": { - "illuminate/bus": "~5.4|^6.0|^7.0|^8.0|^9.0", - "illuminate/contracts": "~5.4|^6.0|^7.0|^8.0|^9.0", - "illuminate/pagination": "~5.4|^6.0|^7.0|^8.0|^9.0", - "illuminate/queue": "~5.4|^6.0|^7.0|^8.0|^9.0", - "illuminate/support": "~5.4|^6.0|^7.0|^8.0|^9.0", - "laravel/scout": "7.*|^8.0|^8.3|^9.0", - "php": ">=7.1|^8", - "teamtnt/tntsearch": "2.7.0|^2.8" - }, - "require-dev": { - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^7.0|^8.0|^9.0" + "php": ">=8.1", + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" }, - "suggest": { - "teamtnt/tntsearch": "Required to use the TNTSearch engine." + "conflict": { + "ext-psr": "<1.1|>=2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-main": "3.5-dev" }, - "laravel": { - "providers": [ - "TeamTNT\\Scout\\TNTSearchScoutServiceProvider" - ] + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { "psr-4": { - "TeamTNT\\Scout\\": "src/" - } + "Symfony\\Contracts\\Service\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -10411,55 +9291,86 @@ ], "authors": [ { - "name": "TNT Studio", - "email": "info@tntstudio.hr" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Driver for Laravel Scout search package based on https://github.com/teamtnt/tntsearch", + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", "keywords": [ - "laravel", - "scout", - "search", - "tntsearch" + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" ], "support": { - "issues": "https://github.com/teamtnt/laravel-scout-tntsearch-driver/issues", - "source": "https://github.com/teamtnt/laravel-scout-tntsearch-driver/tree/v11.6.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" }, - "time": "2022-02-25T10:32:29+00:00" + "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-04-18T09:32:20+00:00" }, { - "name": "teamtnt/tntsearch", - "version": "v2.9.0", + "name": "symfony/string", + "version": "v7.1.3", "source": { "type": "git", - "url": "https://github.com/teamtnt/tntsearch.git", - "reference": "ccedae0cfe21f7831f2dd1f973cf8904dad42d8d" + "url": "https://github.com/symfony/string.git", + "reference": "ea272a882be7f20cad58d5d78c215001617b7f07" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/teamtnt/tntsearch/zipball/ccedae0cfe21f7831f2dd1f973cf8904dad42d8d", - "reference": "ccedae0cfe21f7831f2dd1f973cf8904dad42d8d", + "url": "https://api.github.com/repos/symfony/string/zipball/ea272a882be7f20cad58d5d78c215001617b7f07", + "reference": "ea272a882be7f20cad58d5d78c215001617b7f07", "shasum": "" }, "require": { - "ext-mbstring": "*", - "ext-pdo_sqlite": "*", - "ext-sqlite3": "*", - "php": "~7.1|^8" + "php": ">=8.2", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/translation-contracts": "<2.5" }, "require-dev": { - "phpunit/phpunit": "7.*|8.*|9.*", - "symfony/var-dumper": "^4|^5.2" + "symfony/emoji": "^7.1", + "symfony/error-handler": "^6.4|^7.0", + "symfony/http-client": "^6.4|^7.0", + "symfony/intl": "^6.4|^7.0", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^6.4|^7.0" }, "type": "library", "autoload": { "files": [ - "helper/helpers.php" + "Resources/functions.php" ], "psr-4": { - "TeamTNT\\TNTSearch\\": "src" - } + "Symfony\\Component\\String\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -10467,206 +9378,244 @@ ], "authors": [ { - "name": "Nenad Tičarić", - "email": "nticaric@gmail.com", - "homepage": "http://www.tntstudio.us", - "role": "Developer" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "A fully featured full text search engine written in PHP", - "homepage": "https://github.com/teamtnt/tntsearch", + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", "keywords": [ - "Fuzzy search", - "bm25", - "fulltext", - "geosearch", - "search", - "stemming", - "teamtnt", - "text classification", - "tntsearch" + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" ], "support": { - "issues": "https://github.com/teamtnt/tntsearch/issues", - "source": "https://github.com/teamtnt/tntsearch/tree/v2.9.0" + "source": "https://github.com/symfony/string/tree/v7.1.3" }, "funding": [ { - "url": "https://ko-fi.com/nticaric", - "type": "ko_fi" + "url": "https://symfony.com/sponsor", + "type": "custom" }, { - "url": "https://opencollective.com/tntsearch", - "type": "open_collective" + "url": "https://github.com/fabpot", + "type": "github" }, { - "url": "https://www.patreon.com/nticaric", - "type": "patreon" + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2022-02-22T10:35:34+00:00" + "time": "2024-07-22T10:25:37+00:00" }, { - "name": "tijsverkoyen/css-to-inline-styles", - "version": "2.2.4", + "name": "symfony/translation", + "version": "v7.1.3", "source": { "type": "git", - "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "da444caae6aca7a19c0c140f68c6182e337d5b1c" + "url": "https://github.com/symfony/translation.git", + "reference": "8d5e50c813ba2859a6dfc99a0765c550507934a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/da444caae6aca7a19c0c140f68c6182e337d5b1c", - "reference": "da444caae6aca7a19c0c140f68c6182e337d5b1c", + "url": "https://api.github.com/repos/symfony/translation/zipball/8d5e50c813ba2859a6dfc99a0765c550507934a1", + "reference": "8d5e50c813ba2859a6dfc99a0765c550507934a1", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-libxml": "*", - "php": "^5.5 || ^7.0 || ^8.0", - "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0" + "php": ">=8.2", + "symfony/polyfill-mbstring": "~1.0", + "symfony/translation-contracts": "^2.5|^3.0" + }, + "conflict": { + "symfony/config": "<6.4", + "symfony/console": "<6.4", + "symfony/dependency-injection": "<6.4", + "symfony/http-client-contracts": "<2.5", + "symfony/http-kernel": "<6.4", + "symfony/service-contracts": "<2.5", + "symfony/twig-bundle": "<6.4", + "symfony/yaml": "<6.4" + }, + "provide": { + "symfony/translation-implementation": "2.3|3.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10" + "nikic/php-parser": "^4.18|^5.0", + "psr/log": "^1|^2|^3", + "symfony/config": "^6.4|^7.0", + "symfony/console": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/finder": "^6.4|^7.0", + "symfony/http-client-contracts": "^2.5|^3.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/intl": "^6.4|^7.0", + "symfony/polyfill-intl-icu": "^1.21", + "symfony/routing": "^6.4|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/yaml": "^6.4|^7.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, "autoload": { + "files": [ + "Resources/functions.php" + ], "psr-4": { - "TijsVerkoyen\\CssToInlineStyles\\": "src" - } + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Tijs Verkoyen", - "email": "css_to_inline_styles@verkoyen.eu", - "role": "Developer" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", - "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", + "description": "Provides tools to internationalize your application", + "homepage": "https://symfony.com", "support": { - "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", - "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.4" + "source": "https://github.com/symfony/translation/tree/v7.1.3" }, - "time": "2021-12-08T09:12:39+00:00" + "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-07-26T12:41:01+00:00" }, { - "name": "vlucas/phpdotenv", - "version": "v5.4.1", + "name": "symfony/translation-contracts", + "version": "v3.5.0", "source": { "type": "git", - "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "264dce589e7ce37a7ba99cb901eed8249fbec92f" + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/264dce589e7ce37a7ba99cb901eed8249fbec92f", - "reference": "264dce589e7ce37a7ba99cb901eed8249fbec92f", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", + "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", "shasum": "" }, "require": { - "ext-pcre": "*", - "graham-campbell/result-type": "^1.0.2", - "php": "^7.1.3 || ^8.0", - "phpoption/phpoption": "^1.8", - "symfony/polyfill-ctype": "^1.23", - "symfony/polyfill-mbstring": "^1.23.1", - "symfony/polyfill-php80": "^1.23.1" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "ext-filter": "*", - "phpunit/phpunit": "^7.5.20 || ^8.5.21 || ^9.5.10" - }, - "suggest": { - "ext-filter": "Required to use the boolean validator." + "php": ">=8.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.4-dev" + "dev-main": "3.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { "psr-4": { - "Dotenv\\": "src/" - } + "Symfony\\Contracts\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "Vance Lucas", - "email": "vance@vancelucas.com", - "homepage": "https://github.com/vlucas" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", + "description": "Generic abstractions related to translation", + "homepage": "https://symfony.com", "keywords": [ - "dotenv", - "env", - "environment" + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" ], "support": { - "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v5.4.1" + "source": "https://github.com/symfony/translation-contracts/tree/v3.5.0" }, "funding": [ { - "url": "https://github.com/GrahamCampbell", + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2021-12-12T23:22:04+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { - "name": "voku/portable-ascii", - "version": "2.0.1", + "name": "symfony/uid", + "version": "v7.1.1", "source": { "type": "git", - "url": "https://github.com/voku/portable-ascii.git", - "reference": "b56450eed252f6801410d810c8e1727224ae0743" + "url": "https://github.com/symfony/uid.git", + "reference": "bb59febeecc81528ff672fad5dab7f06db8c8277" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", - "reference": "b56450eed252f6801410d810c8e1727224ae0743", + "url": "https://api.github.com/repos/symfony/uid/zipball/bb59febeecc81528ff672fad5dab7f06db8c8277", + "reference": "bb59febeecc81528ff672fad5dab7f06db8c8277", "shasum": "" }, "require": { - "php": ">=7.0.0" + "php": ">=8.2", + "symfony/polyfill-uuid": "^1.15" }, "require-dev": { - "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" - }, - "suggest": { - "ext-intl": "Use Intl for transliterator_transliterate() support" + "symfony/console": "^6.4|^7.0" }, "type": "library", "autoload": { "psr-4": { - "voku\\": "src/voku/" - } + "Symfony\\Component\\Uid\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -10674,80 +9623,87 @@ ], "authors": [ { - "name": "Lars Moelleken", - "homepage": "http://www.moelleken.org/" + "name": "Grégoire Pineau", + "email": "lyrixx@lyrixx.info" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", - "homepage": "https://github.com/voku/portable-ascii", + "description": "Provides an object-oriented API to generate and represent UIDs", + "homepage": "https://symfony.com", "keywords": [ - "ascii", - "clean", - "php" + "UID", + "ulid", + "uuid" ], "support": { - "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/2.0.1" + "source": "https://github.com/symfony/uid/tree/v7.1.1" }, "funding": [ { - "url": "https://www.paypal.me/moelleken", + "url": "https://symfony.com/sponsor", "type": "custom" }, { - "url": "https://github.com/voku", + "url": "https://github.com/fabpot", "type": "github" }, { - "url": "https://opencollective.com/portable-ascii", - "type": "open_collective" - }, - { - "url": "https://www.patreon.com/voku", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2022-03-08T17:03:00+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { - "name": "webmozart/assert", - "version": "1.11.0", + "name": "symfony/var-dumper", + "version": "v7.1.3", "source": { "type": "git", - "url": "https://github.com/webmozarts/assert.git", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" + "url": "https://github.com/symfony/var-dumper.git", + "reference": "86af4617cca75a6e28598f49ae0690f3b9d4591f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/86af4617cca75a6e28598f49ae0690f3b9d4591f", + "reference": "86af4617cca75a6e28598f49ae0690f3b9d4591f", "shasum": "" }, "require": { - "ext-ctype": "*", - "php": "^7.2 || ^8.0" + "php": ">=8.2", + "symfony/polyfill-mbstring": "~1.0" }, "conflict": { - "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<4.6.1 || 4.6.2" + "symfony/console": "<6.4" }, "require-dev": { - "phpunit/phpunit": "^8.5.13" + "ext-iconv": "*", + "symfony/console": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/uid": "^6.4|^7.0", + "twig/twig": "^3.0.4" }, + "bin": [ + "Resources/bin/var-dump-server" + ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.10-dev" - } - }, "autoload": { + "files": [ + "Resources/functions/dump.php" + ], "psr-4": { - "Webmozart\\Assert\\": "src/" - } + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -10755,105 +9711,146 @@ ], "authors": [ { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Assertions to validate method input/output with nice error messages.", + "description": "Provides mechanisms for walking through any arbitrary PHP variable", + "homepage": "https://symfony.com", "keywords": [ - "assert", - "check", - "validate" + "debug", + "dump" ], "support": { - "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.11.0" + "source": "https://github.com/symfony/var-dumper/tree/v7.1.3" }, - "time": "2022-06-03T18:03:27+00:00" + "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-07-26T12:41:01+00:00" }, { - "name": "xpaw/php-minecraft-query", - "version": "4.0.1", + "name": "teamtnt/laravel-scout-tntsearch-driver", + "version": "v14.0.0", "source": { "type": "git", - "url": "https://github.com/xPaw/PHP-Minecraft-Query.git", - "reference": "c7257e7c3d18c14cd476910f1516f93f405f54ee" + "url": "https://github.com/teamtnt/laravel-scout-tntsearch-driver.git", + "reference": "56af782badb5986bb57ef3046d669b0815fd8978" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/xPaw/PHP-Minecraft-Query/zipball/c7257e7c3d18c14cd476910f1516f93f405f54ee", - "reference": "c7257e7c3d18c14cd476910f1516f93f405f54ee", + "url": "https://api.github.com/repos/teamtnt/laravel-scout-tntsearch-driver/zipball/56af782badb5986bb57ef3046d669b0815fd8978", + "reference": "56af782badb5986bb57ef3046d669b0815fd8978", "shasum": "" }, "require": { - "php": ">=7.0" + "illuminate/bus": "~5.4|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "illuminate/contracts": "~5.4|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "illuminate/pagination": "~5.4|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "illuminate/queue": "~5.4|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "illuminate/support": "~5.4|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", + "laravel/scout": "7.*|^8.0|^8.3|^9.0|^10", + "php": ">=7.1|^8", + "teamtnt/tntsearch": "2.7.0|^2.8|^3.0|^4.0" + }, + "require-dev": { + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^7.0|^8.0|^9.0|^10.5" + }, + "suggest": { + "teamtnt/tntsearch": "Required to use the TNTSearch engine." }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + }, + "laravel": { + "providers": [ + "TeamTNT\\Scout\\TNTSearchScoutServiceProvider" + ] + } + }, "autoload": { "psr-4": { - "xPaw\\": "src" + "TeamTNT\\Scout\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "PHP library to query Minecraft servers", + "authors": [ + { + "name": "TNT Studio", + "email": "info@tntstudio.hr" + } + ], + "description": "Driver for Laravel Scout search package based on https://github.com/teamtnt/tntsearch", "keywords": [ - "minecraft" + "laravel", + "scout", + "search", + "tntsearch" ], "support": { - "source": "https://github.com/xPaw/PHP-Minecraft-Query/tree/4.0.1" + "issues": "https://github.com/teamtnt/laravel-scout-tntsearch-driver/issues", + "source": "https://github.com/teamtnt/laravel-scout-tntsearch-driver/tree/v14.0.0" }, "funding": [ { - "url": "https://github.com/xPaw", + "url": "https://github.com/teamtnt", "type": "github" } ], - "time": "2021-06-18T13:18:40+00:00" - } - ], - "packages-dev": [ + "time": "2024-03-16T22:37:45+00:00" + }, { - "name": "beyondcode/laravel-dump-server", - "version": "1.8.0", + "name": "teamtnt/tntsearch", + "version": "v4.1.0", "source": { "type": "git", - "url": "https://github.com/beyondcode/laravel-dump-server.git", - "reference": "33a19c632655c1d4f16c0bc67ce6ba0504116b8a" + "url": "https://github.com/teamtnt/tntsearch.git", + "reference": "a3d4375900a2fd3b6217c8d8609d06db9172c85f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/beyondcode/laravel-dump-server/zipball/33a19c632655c1d4f16c0bc67ce6ba0504116b8a", - "reference": "33a19c632655c1d4f16c0bc67ce6ba0504116b8a", + "url": "https://api.github.com/repos/teamtnt/tntsearch/zipball/a3d4375900a2fd3b6217c8d8609d06db9172c85f", + "reference": "a3d4375900a2fd3b6217c8d8609d06db9172c85f", "shasum": "" }, "require": { - "illuminate/console": "5.6.*|5.7.*|5.8.*|^6.0|^7.0|^8.0|^9.0", - "illuminate/http": "5.6.*|5.7.*|5.8.*|^6.0|^7.0|^8.0|^9.0", - "illuminate/support": "5.6.*|5.7.*|5.8.*|^6.0|^7.0|^8.0|^9.0", - "php": ">=7.2.5", - "symfony/var-dumper": "^5.0|^6.0" + "ext-mbstring": "*", + "ext-pdo_sqlite": "*", + "ext-sqlite3": "*", + "php": "~7.1|^8" }, "require-dev": { - "larapack/dd": "^1.0", - "phpunit/phpunit": "^7.0|^9.3" + "phpunit/phpunit": "7.*|8.*|9.*", + "symfony/var-dumper": "^4|^5.2" }, "type": "library", - "extra": { - "laravel": { - "providers": [ - "BeyondCode\\DumpServer\\DumpServerServiceProvider" - ] - } - }, "autoload": { "files": [ - "helpers.php" + "helper/helpers.php" ], "psr-4": { - "BeyondCode\\DumpServer\\": "src" + "TeamTNT\\TNTSearch\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -10862,221 +9859,209 @@ ], "authors": [ { - "name": "Marcel Pociot", - "email": "marcel@beyondco.de", - "homepage": "https://beyondco.de", + "name": "Nenad Tičarić", + "email": "nticaric@gmail.com", + "homepage": "http://www.tntstudio.us", "role": "Developer" } ], - "description": "Symfony Var-Dump Server for Laravel", - "homepage": "https://github.com/beyondcode/laravel-dump-server", + "description": "A fully featured full text search engine written in PHP", + "homepage": "https://github.com/teamtnt/tntsearch", "keywords": [ - "beyondcode", - "laravel-dump-server" + "Fuzzy search", + "bm25", + "fulltext", + "geosearch", + "search", + "stemming", + "teamtnt", + "text classification", + "tntsearch" ], "support": { - "issues": "https://github.com/beyondcode/laravel-dump-server/issues", - "source": "https://github.com/beyondcode/laravel-dump-server/tree/1.8.0" + "issues": "https://github.com/teamtnt/tntsearch/issues", + "source": "https://github.com/teamtnt/tntsearch/tree/v4.1.0" }, - "time": "2022-02-12T12:37:34+00:00" + "funding": [ + { + "url": "https://ko-fi.com/nticaric", + "type": "ko_fi" + }, + { + "url": "https://opencollective.com/tntsearch", + "type": "open_collective" + }, + { + "url": "https://www.patreon.com/nticaric", + "type": "patreon" + } + ], + "time": "2023-07-17T10:34:14+00:00" }, { - "name": "brianium/paratest", - "version": "v6.6.3", + "name": "tijsverkoyen/css-to-inline-styles", + "version": "v2.2.7", "source": { "type": "git", - "url": "https://github.com/paratestphp/paratest.git", - "reference": "f2d781bb9136cda2f5e73ee778049e80ba681cf6" + "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", + "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paratestphp/paratest/zipball/f2d781bb9136cda2f5e73ee778049e80ba681cf6", - "reference": "f2d781bb9136cda2f5e73ee778049e80ba681cf6", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/83ee6f38df0a63106a9e4536e3060458b74ccedb", + "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb", "shasum": "" }, "require": { "ext-dom": "*", - "ext-pcre": "*", - "ext-reflection": "*", - "ext-simplexml": "*", - "jean85/pretty-package-versions": "^2.0.5", - "php": "^7.3 || ^8.0", - "phpunit/php-code-coverage": "^9.2.16", - "phpunit/php-file-iterator": "^3.0.6", - "phpunit/php-timer": "^5.0.3", - "phpunit/phpunit": "^9.5.23", - "sebastian/environment": "^5.1.4", - "symfony/console": "^5.4.9 || ^6.1.2", - "symfony/polyfill-php80": "^v1.26.0", - "symfony/process": "^5.4.8 || ^6.1.0" - }, - "require-dev": { - "doctrine/coding-standard": "^9.0.0", - "ext-pcov": "*", - "ext-posix": "*", - "infection/infection": "^0.26.13", - "malukenho/mcbumpface": "^1.1.5", - "squizlabs/php_codesniffer": "^3.7.1", - "symfony/filesystem": "^5.4.9 || ^6.1.0", - "vimeo/psalm": "^4.26.0" + "ext-libxml": "*", + "php": "^5.5 || ^7.0 || ^8.0", + "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10" }, - "bin": [ - "bin/paratest", - "bin/paratest.bat", - "bin/paratest_for_phpstorm" - ], "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2.x-dev" + } + }, "autoload": { "psr-4": { - "ParaTest\\": [ - "src/" - ] + "TijsVerkoyen\\CssToInlineStyles\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Brian Scaturro", - "email": "scaturrob@gmail.com", - "role": "Developer" - }, - { - "name": "Filippo Tessarotto", - "email": "zoeslam@gmail.com", + "name": "Tijs Verkoyen", + "email": "css_to_inline_styles@verkoyen.eu", "role": "Developer" } ], - "description": "Parallel testing for PHP", - "homepage": "https://github.com/paratestphp/paratest", - "keywords": [ - "concurrent", - "parallel", - "phpunit", - "testing" - ], + "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", + "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", "support": { - "issues": "https://github.com/paratestphp/paratest/issues", - "source": "https://github.com/paratestphp/paratest/tree/v6.6.3" + "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.2.7" }, - "funding": [ - { - "url": "https://github.com/sponsors/Slamdunk", - "type": "github" - }, - { - "url": "https://paypal.me/filippotessarotto", - "type": "paypal" - } - ], - "time": "2022-08-25T05:44:14+00:00" + "time": "2023-12-08T13:03:43+00:00" }, { - "name": "composer/class-map-generator", - "version": "1.0.0", + "name": "vlucas/phpdotenv", + "version": "v5.6.1", "source": { "type": "git", - "url": "https://github.com/composer/class-map-generator.git", - "reference": "1e1cb2b791facb2dfe32932a7718cf2571187513" + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/class-map-generator/zipball/1e1cb2b791facb2dfe32932a7718cf2571187513", - "reference": "1e1cb2b791facb2dfe32932a7718cf2571187513", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/a59a13791077fe3d44f90e7133eb68e7d22eaff2", + "reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2", "shasum": "" }, "require": { - "composer/pcre": "^2 || ^3", - "php": "^7.2 || ^8.0", - "symfony/finder": "^4.4 || ^5.3 || ^6" + "ext-pcre": "*", + "graham-campbell/result-type": "^1.1.3", + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.3", + "symfony/polyfill-ctype": "^1.24", + "symfony/polyfill-mbstring": "^1.24", + "symfony/polyfill-php80": "^1.24" }, "require-dev": { - "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" + "bamarni/composer-bin-plugin": "^1.8.2", + "ext-filter": "*", + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + }, + "suggest": { + "ext-filter": "Required to use the boolean validator." }, "type": "library", "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + }, "branch-alias": { - "dev-main": "1.x-dev" + "dev-master": "5.6-dev" } }, "autoload": { "psr-4": { - "Composer\\ClassMapGenerator\\": "src" + "Dotenv\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "https://seld.be" + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Vance Lucas", + "email": "vance@vancelucas.com", + "homepage": "https://github.com/vlucas" } ], - "description": "Utilities to scan PHP code and generate class maps.", + "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", "keywords": [ - "classmap" + "dotenv", + "env", + "environment" ], "support": { - "issues": "https://github.com/composer/class-map-generator/issues", - "source": "https://github.com/composer/class-map-generator/tree/1.0.0" + "issues": "https://github.com/vlucas/phpdotenv/issues", + "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.1" }, "funding": [ { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", + "url": "https://github.com/GrahamCampbell", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", "type": "tidelift" } ], - "time": "2022-06-19T11:31:27+00:00" + "time": "2024-07-20T21:52:34+00:00" }, { - "name": "composer/pcre", - "version": "3.0.0", + "name": "voku/portable-ascii", + "version": "2.0.1", "source": { "type": "git", - "url": "https://github.com/composer/pcre.git", - "reference": "e300eb6c535192decd27a85bc72a9290f0d6b3bd" + "url": "https://github.com/voku/portable-ascii.git", + "reference": "b56450eed252f6801410d810c8e1727224ae0743" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/e300eb6c535192decd27a85bc72a9290f0d6b3bd", - "reference": "e300eb6c535192decd27a85bc72a9290f0d6b3bd", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", + "reference": "b56450eed252f6801410d810c8e1727224ae0743", "shasum": "" }, "require": { - "php": "^7.4 || ^8.0" + "php": ">=7.0.0" }, "require-dev": { - "phpstan/phpstan": "^1.3", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^5" + "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } + "suggest": { + "ext-intl": "Use Intl for transliterator_transliterate() support" }, + "type": "library", "autoload": { "psr-4": { - "Composer\\Pcre\\": "src" + "voku\\": "src/voku/" } }, "notification-url": "https://packagist.org/downloads/", @@ -11085,69 +10070,79 @@ ], "authors": [ { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "name": "Lars Moelleken", + "homepage": "http://www.moelleken.org/" } ], - "description": "PCRE wrapping library that offers type-safe preg_* replacements.", + "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", + "homepage": "https://github.com/voku/portable-ascii", "keywords": [ - "PCRE", - "preg", - "regex", - "regular expression" + "ascii", + "clean", + "php" ], "support": { - "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.0.0" + "issues": "https://github.com/voku/portable-ascii/issues", + "source": "https://github.com/voku/portable-ascii/tree/2.0.1" }, "funding": [ { - "url": "https://packagist.com", + "url": "https://www.paypal.me/moelleken", "type": "custom" }, { - "url": "https://github.com/composer", + "url": "https://github.com/voku", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "url": "https://opencollective.com/portable-ascii", + "type": "open_collective" + }, + { + "url": "https://www.patreon.com/voku", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", "type": "tidelift" } ], - "time": "2022-02-25T20:21:48+00:00" + "time": "2022-03-08T17:03:00+00:00" }, { - "name": "doctrine/instantiator", - "version": "1.4.1", + "name": "webmozart/assert", + "version": "1.11.0", "source": { "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc" + "url": "https://github.com/webmozarts/assert.git", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/10dcfce151b967d20fde1b34ae6640712c3891bc", - "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "ext-ctype": "*", + "php": "^7.2 || ^8.0" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<4.6.1 || 4.6.2" }, "require-dev": { - "doctrine/coding-standard": "^9", - "ext-pdo": "*", - "ext-phar": "*", - "phpbench/phpbench": "^0.16 || ^1", - "phpstan/phpstan": "^1.4", - "phpstan/phpstan-phpunit": "^1", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "vimeo/psalm": "^4.22" + "phpunit/phpunit": "^8.5.13" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, "autoload": { "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + "Webmozart\\Assert\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -11156,106 +10151,82 @@ ], "authors": [ { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "https://ocramius.github.io/" + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" } ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "description": "Assertions to validate method input/output with nice error messages.", "keywords": [ - "constructor", - "instantiate" + "assert", + "check", + "validate" ], "support": { - "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/1.4.1" + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.11.0" }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", - "type": "tidelift" - } - ], - "time": "2022-03-03T08:28:38+00:00" + "time": "2022-06-03T18:03:27+00:00" }, { - "name": "facade/ignition-contracts", - "version": "1.0.2", + "name": "xpaw/php-minecraft-query", + "version": "4.0.1", "source": { "type": "git", - "url": "https://github.com/facade/ignition-contracts.git", - "reference": "3c921a1cdba35b68a7f0ccffc6dffc1995b18267" + "url": "https://github.com/xPaw/PHP-Minecraft-Query.git", + "reference": "c7257e7c3d18c14cd476910f1516f93f405f54ee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/facade/ignition-contracts/zipball/3c921a1cdba35b68a7f0ccffc6dffc1995b18267", - "reference": "3c921a1cdba35b68a7f0ccffc6dffc1995b18267", + "url": "https://api.github.com/repos/xPaw/PHP-Minecraft-Query/zipball/c7257e7c3d18c14cd476910f1516f93f405f54ee", + "reference": "c7257e7c3d18c14cd476910f1516f93f405f54ee", "shasum": "" }, "require": { - "php": "^7.3|^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^v2.15.8", - "phpunit/phpunit": "^9.3.11", - "vimeo/psalm": "^3.17.1" + "php": ">=7.0" }, "type": "library", "autoload": { "psr-4": { - "Facade\\IgnitionContracts\\": "src" + "xPaw\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://flareapp.io", - "role": "Developer" - } - ], - "description": "Solution contracts for Ignition", - "homepage": "https://github.com/facade/ignition-contracts", + "description": "PHP library to query Minecraft servers", "keywords": [ - "contracts", - "flare", - "ignition" + "minecraft" ], "support": { - "issues": "https://github.com/facade/ignition-contracts/issues", - "source": "https://github.com/facade/ignition-contracts/tree/1.0.2" + "source": "https://github.com/xPaw/PHP-Minecraft-Query/tree/4.0.1" }, - "time": "2020-10-16T08:27:54+00:00" - }, + "funding": [ + { + "url": "https://github.com/xPaw", + "type": "github" + } + ], + "time": "2021-06-18T13:18:40+00:00" + } + ], + "packages-dev": [ { "name": "fakerphp/faker", - "version": "v1.20.0", + "version": "v1.23.1", "source": { "type": "git", "url": "https://github.com/FakerPHP/Faker.git", - "reference": "37f751c67a5372d4e26353bd9384bc03744ec77b" + "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/37f751c67a5372d4e26353bd9384bc03744ec77b", - "reference": "37f751c67a5372d4e26353bd9384bc03744ec77b", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/bfb4fe148adbf78eff521199619b93a52ae3554b", + "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0", + "php": "^7.4 || ^8.0", "psr/container": "^1.0 || ^2.0", "symfony/deprecation-contracts": "^2.2 || ^3.0" }, @@ -11266,7 +10237,8 @@ "bamarni/composer-bin-plugin": "^1.4.1", "doctrine/persistence": "^1.3 || ^2.0", "ext-intl": "*", - "symfony/phpunit-bridge": "^4.4 || ^5.2" + "phpunit/phpunit": "^9.5.26", + "symfony/phpunit-bridge": "^5.4.16" }, "suggest": { "doctrine/orm": "Required to use Faker\\ORM\\Doctrine", @@ -11276,11 +10248,6 @@ "ext-mbstring": "Required for multibyte Unicode string functionality." }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "v1.20-dev" - } - }, "autoload": { "psr-4": { "Faker\\": "src/Faker/" @@ -11303,22 +10270,22 @@ ], "support": { "issues": "https://github.com/FakerPHP/Faker/issues", - "source": "https://github.com/FakerPHP/Faker/tree/v1.20.0" + "source": "https://github.com/FakerPHP/Faker/tree/v1.23.1" }, - "time": "2022-07-20T13:12:54+00:00" + "time": "2024-01-02T13:46:09+00:00" }, { "name": "filp/whoops", - "version": "2.14.5", + "version": "2.15.4", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "a63e5e8f26ebbebf8ed3c5c691637325512eb0dc" + "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/a63e5e8f26ebbebf8ed3c5c691637325512eb0dc", - "reference": "a63e5e8f26ebbebf8ed3c5c691637325512eb0dc", + "url": "https://api.github.com/repos/filp/whoops/zipball/a139776fa3f5985a50b509f2a02ff0f709d2a546", + "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546", "shasum": "" }, "require": { @@ -11368,7 +10335,7 @@ ], "support": { "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.14.5" + "source": "https://github.com/filp/whoops/tree/2.15.4" }, "funding": [ { @@ -11376,147 +10343,173 @@ "type": "github" } ], - "time": "2022-01-07T12:00:00+00:00" + "time": "2023-11-03T12:00:00+00:00" }, { - "name": "fruitcake/laravel-telescope-toolbar", - "version": "v1.3.2", + "name": "hamcrest/hamcrest-php", + "version": "v2.0.1", "source": { "type": "git", - "url": "https://github.com/fruitcake/laravel-telescope-toolbar.git", - "reference": "c806ec54af1e6fc9856878bf41f62e2bfd0beda8" + "url": "https://github.com/hamcrest/hamcrest-php.git", + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fruitcake/laravel-telescope-toolbar/zipball/c806ec54af1e6fc9856878bf41f62e2bfd0beda8", - "reference": "c806ec54af1e6fc9856878bf41f62e2bfd0beda8", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", "shasum": "" }, "require": { - "ext-json": "*", - "laravel/framework": "^8|^9", - "laravel/telescope": "^4", - "php": "^7.3|^8" + "php": "^5.3|^7.0|^8.0" + }, + "replace": { + "cordoval/hamcrest-php": "*", + "davedevelopment/hamcrest-php": "*", + "kodova/hamcrest-php": "*" }, "require-dev": { - "orchestra/testbench-dusk": "^4|^5|^6|^7", - "phpunit/phpunit": "^8.5|^9.0" + "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": "1.3-dev" - }, - "laravel": { - "providers": [ - "Fruitcake\\TelescopeToolbar\\ToolbarServiceProvider" - ], - "aliases": { - "Toolbar": "Fruitcake\\TelescopeToolbar\\Toolbar" - } + "dev-master": "2.1-dev" } }, "autoload": { - "files": [ - "src/helpers.php" - ], - "psr-4": { - "Fruitcake\\TelescopeToolbar\\": "src/" - } + "classmap": [ + "hamcrest" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fruitcake", - "email": "info@fruitcake.nl" - }, - { - "name": "Barry vd. Heuvel", - "email": "barryvdh@gmail.com" - } + "BSD-3-Clause" ], - "description": "Toolbar for Laravel Telescope based on Symfony Web Profiler", + "description": "This is the PHP port of Hamcrest Matchers", "keywords": [ - "debug", - "debugbar", - "laravel", - "profiler", - "telescope", - "toolbar", - "webprofiler" + "test" ], "support": { - "issues": "https://github.com/fruitcake/laravel-telescope-toolbar/issues", - "source": "https://github.com/fruitcake/laravel-telescope-toolbar/tree/v1.3.2" + "issues": "https://github.com/hamcrest/hamcrest-php/issues", + "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" }, - "time": "2022-01-30T17:34:58+00:00" + "time": "2020-07-09T08:09:16+00:00" }, { - "name": "hamcrest/hamcrest-php", - "version": "v2.0.1", + "name": "larastan/larastan", + "version": "v2.9.8", "source": { "type": "git", - "url": "https://github.com/hamcrest/hamcrest-php.git", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" + "url": "https://github.com/larastan/larastan.git", + "reference": "340badd89b0eb5bddbc503a4829c08cf9a2819d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "url": "https://api.github.com/repos/larastan/larastan/zipball/340badd89b0eb5bddbc503a4829c08cf9a2819d7", + "reference": "340badd89b0eb5bddbc503a4829c08cf9a2819d7", "shasum": "" }, "require": { - "php": "^5.3|^7.0|^8.0" - }, - "replace": { - "cordoval/hamcrest-php": "*", - "davedevelopment/hamcrest-php": "*", - "kodova/hamcrest-php": "*" + "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.11.2" }, "require-dev": { - "phpunit/php-file-iterator": "^1.4 || ^2.0", - "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" + "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" }, - "type": "library", + "suggest": { + "orchestra/testbench": "Using Larastan for analysing a package needs Testbench" + }, + "type": "phpstan-extension", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "2.0-dev" + }, + "phpstan": { + "includes": [ + "extension.neon" + ] } }, "autoload": { - "classmap": [ - "hamcrest" - ] + "psr-4": { + "Larastan\\Larastan\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "This is the PHP port of Hamcrest Matchers", + "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.8" }, - "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-07-06T17:46:02+00:00" }, { "name": "laravel/pint", - "version": "v0.2.4", + "version": "v1.17.2", "source": { "type": "git", "url": "https://github.com/laravel/pint.git", - "reference": "45c9fe899abfeeb7794c5a8c4074c140250a84c2" + "reference": "e8a88130a25e3f9d4d5785e6a1afca98268ab110" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/pint/zipball/45c9fe899abfeeb7794c5a8c4074c140250a84c2", - "reference": "45c9fe899abfeeb7794c5a8c4074c140250a84c2", + "url": "https://api.github.com/repos/laravel/pint/zipball/e8a88130a25e3f9d4d5785e6a1afca98268ab110", + "reference": "e8a88130a25e3f9d4d5785e6a1afca98268ab110", "shasum": "" }, "require": { @@ -11524,16 +10517,16 @@ "ext-mbstring": "*", "ext-tokenizer": "*", "ext-xml": "*", - "php": "^8.0" + "php": "^8.1.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3.8.0", - "illuminate/view": "^9.17.0", - "laravel-zero/framework": "^9.1.1", - "mockery/mockery": "^1.5.0", - "nunomaduro/larastan": "^2.1.11", - "nunomaduro/termwind": "^1.10.1", - "pestphp/pest": "^1.21.3" + "friendsofphp/php-cs-fixer": "^3.61.1", + "illuminate/view": "^10.48.18", + "larastan/larastan": "^2.9.8", + "laravel-zero/framework": "^10.4.0", + "mockery/mockery": "^1.6.12", + "nunomaduro/termwind": "^1.15.1", + "pestphp/pest": "^2.35.0" }, "bin": [ "builds/pint" @@ -11569,36 +10562,39 @@ "issues": "https://github.com/laravel/pint/issues", "source": "https://github.com/laravel/pint" }, - "time": "2022-07-13T17:57:52+00:00" + "time": "2024-08-06T15:11:54+00:00" }, { "name": "laravel/sail", - "version": "v1.15.4", + "version": "v1.31.1", "source": { "type": "git", "url": "https://github.com/laravel/sail.git", - "reference": "853dea1fa866a52a93beccc4e5affdc49b98e7d5" + "reference": "3d06dd18cee8059baa7b388af00ba47f6d96bd85" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/sail/zipball/853dea1fa866a52a93beccc4e5affdc49b98e7d5", - "reference": "853dea1fa866a52a93beccc4e5affdc49b98e7d5", + "url": "https://api.github.com/repos/laravel/sail/zipball/3d06dd18cee8059baa7b388af00ba47f6d96bd85", + "reference": "3d06dd18cee8059baa7b388af00ba47f6d96bd85", "shasum": "" }, "require": { - "illuminate/console": "^8.0|^9.0", - "illuminate/contracts": "^8.0|^9.0", - "illuminate/support": "^8.0|^9.0", - "php": "^7.3|^8.0" + "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": { - "branch-alias": { - "dev-master": "1.x-dev" - }, "laravel": { "providers": [ "Laravel\\Sail\\SailServiceProvider" @@ -11629,42 +10625,42 @@ "issues": "https://github.com/laravel/sail/issues", "source": "https://github.com/laravel/sail" }, - "time": "2022-08-17T13:17:15+00:00" + "time": "2024-08-02T07:45:47+00:00" }, { "name": "mockery/mockery", - "version": "1.5.0", + "version": "1.6.12", "source": { "type": "git", "url": "https://github.com/mockery/mockery.git", - "reference": "c10a5f6e06fc2470ab1822fa13fa2a7380f8fbac" + "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/c10a5f6e06fc2470ab1822fa13fa2a7380f8fbac", - "reference": "c10a5f6e06fc2470ab1822fa13fa2a7380f8fbac", + "url": "https://api.github.com/repos/mockery/mockery/zipball/1f4efdd7d3beafe9807b08156dfcb176d18f1699", + "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699", "shasum": "" }, "require": { "hamcrest/hamcrest-php": "^2.0.1", "lib-pcre": ">=7.0", - "php": "^7.3 || ^8.0" + "php": ">=7.3" }, "conflict": { "phpunit/phpunit": "<8.0" }, "require-dev": { - "phpunit/phpunit": "^8.5 || ^9.3" + "phpunit/phpunit": "^8.5 || ^9.6.17", + "symplify/easy-coding-standard": "^12.1.14" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, "autoload": { - "psr-0": { - "Mockery": "library/" + "files": [ + "library/helpers.php", + "library/Mockery.php" + ], + "psr-4": { + "Mockery\\": "library/Mockery" } }, "notification-url": "https://packagist.org/downloads/", @@ -11675,12 +10671,20 @@ { "name": "Pádraic Brady", "email": "padraic.brady@gmail.com", - "homepage": "http://blog.astrumfutura.com" + "homepage": "https://github.com/padraic", + "role": "Author" }, { "name": "Dave Marshall", "email": "dave.marshall@atstsolutions.co.uk", - "homepage": "http://davedevelopment.co.uk" + "homepage": "https://davedevelopment.co.uk", + "role": "Developer" + }, + { + "name": "Nathanael Esayeas", + "email": "nathanael.esayeas@protonmail.com", + "homepage": "https://github.com/ghostwriter", + "role": "Lead Developer" } ], "description": "Mockery is a simple yet flexible PHP mock object framework", @@ -11698,23 +10702,26 @@ "testing" ], "support": { + "docs": "https://docs.mockery.io/", "issues": "https://github.com/mockery/mockery/issues", - "source": "https://github.com/mockery/mockery/tree/1.5.0" + "rss": "https://github.com/mockery/mockery/releases.atom", + "security": "https://github.com/mockery/mockery/security/advisories", + "source": "https://github.com/mockery/mockery" }, - "time": "2022-01-20T13:18:17+00:00" + "time": "2024-05-16T03:13:13+00:00" }, { "name": "myclabs/deep-copy", - "version": "1.11.0", + "version": "1.12.0", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614" + "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614", - "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", + "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", "shasum": "" }, "require": { @@ -11722,11 +10729,12 @@ }, "conflict": { "doctrine/collections": "<1.6.8", - "doctrine/common": "<2.13.3 || >=3,<3.2.2" + "doctrine/common": "<2.13.3 || >=3 <3.2.2" }, "require-dev": { "doctrine/collections": "^1.6.8", "doctrine/common": "^2.13.3 || ^3.2.2", + "phpspec/prophecy": "^1.10", "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" }, "type": "library", @@ -11752,7 +10760,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.11.0" + "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0" }, "funding": [ { @@ -11760,49 +10768,58 @@ "type": "tidelift" } ], - "time": "2022-03-03T13:19:32+00:00" + "time": "2024-06-12T14:39:25+00:00" }, { "name": "nunomaduro/collision", - "version": "v6.2.1", + "version": "v8.4.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "5f058f7e39278b701e455b3c82ec5298cf001d89" + "reference": "e7d1aa8ed753f63fa816932bbc89678238843b4a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/5f058f7e39278b701e455b3c82ec5298cf001d89", - "reference": "5f058f7e39278b701e455b3c82ec5298cf001d89", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/e7d1aa8ed753f63fa816932bbc89678238843b4a", + "reference": "e7d1aa8ed753f63fa816932bbc89678238843b4a", "shasum": "" }, "require": { - "facade/ignition-contracts": "^1.0.2", - "filp/whoops": "^2.14.5", - "php": "^8.0.0", - "symfony/console": "^6.0.2" + "filp/whoops": "^2.15.4", + "nunomaduro/termwind": "^2.0.1", + "php": "^8.2.0", + "symfony/console": "^7.1.3" + }, + "conflict": { + "laravel/framework": "<11.0.0 || >=12.0.0", + "phpunit/phpunit": "<10.5.1 || >=12.0.0" }, "require-dev": { - "brianium/paratest": "^6.4.1", - "laravel/framework": "^9.7", - "laravel/pint": "^0.2.1", - "nunomaduro/larastan": "^1.0.2", - "nunomaduro/mock-final-classes": "^1.1.0", - "orchestra/testbench": "^7.3.0", - "phpunit/phpunit": "^9.5.11" + "larastan/larastan": "^2.9.8", + "laravel/framework": "^11.19.0", + "laravel/pint": "^1.17.1", + "laravel/sail": "^1.31.0", + "laravel/sanctum": "^4.0.2", + "laravel/tinker": "^2.9.0", + "orchestra/testbench-core": "^9.2.3", + "pestphp/pest": "^2.35.0 || ^3.0.0", + "sebastian/environment": "^6.1.0 || ^7.0.0" }, "type": "library", "extra": { - "branch-alias": { - "dev-develop": "6.x-dev" - }, "laravel": { "providers": [ "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" ] + }, + "branch-alias": { + "dev-8.x": "8.x-dev" } }, "autoload": { + "files": [ + "./src/Adapters/Phpunit/Autoload.php" + ], "psr-4": { "NunoMaduro\\Collision\\": "src/" } @@ -11848,123 +10865,25 @@ "type": "patreon" } ], - "time": "2022-06-27T16:11:16+00:00" - }, - { - "name": "nunomaduro/larastan", - "version": "v2.1.12", - "source": { - "type": "git", - "url": "https://github.com/nunomaduro/larastan.git", - "reference": "65cfc54fa195e509c2e2be119761552017d22a56" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/larastan/zipball/65cfc54fa195e509c2e2be119761552017d22a56", - "reference": "65cfc54fa195e509c2e2be119761552017d22a56", - "shasum": "" - }, - "require": { - "composer/class-map-generator": "^1.0", - "composer/pcre": "^3.0", - "ext-json": "*", - "illuminate/console": "^9", - "illuminate/container": "^9", - "illuminate/contracts": "^9", - "illuminate/database": "^9", - "illuminate/http": "^9", - "illuminate/pipeline": "^9", - "illuminate/support": "^9", - "mockery/mockery": "^1.4.4", - "php": "^8.0.2", - "phpmyadmin/sql-parser": "^5.5", - "phpstan/phpstan": "^1.8.1" - }, - "require-dev": { - "nikic/php-parser": "^4.13.2", - "orchestra/testbench": "^7.0.0", - "phpunit/phpunit": "^9.5.11" - }, - "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": { - "NunoMaduro\\Larastan\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" - } - ], - "description": "Larastan - Discover bugs in your code without running it. A phpstan/phpstan wrapper for Laravel", - "keywords": [ - "PHPStan", - "code analyse", - "code analysis", - "larastan", - "laravel", - "package", - "php", - "static analysis" - ], - "support": { - "issues": "https://github.com/nunomaduro/larastan/issues", - "source": "https://github.com/nunomaduro/larastan/tree/v2.1.12" - }, - "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": "2022-07-17T15:23:33+00:00" + "time": "2024-08-03T15:32:23+00:00" }, { "name": "phar-io/manifest", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53" + "reference": "54750ef60c58e43759730615a392c31c80e23176" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", + "reference": "54750ef60c58e43759730615a392c31c80e23176", "shasum": "" }, "require": { "ext-dom": "*", + "ext-libxml": "*", "ext-phar": "*", "ext-xmlwriter": "*", "phar-io/version": "^3.0.1", @@ -12005,9 +10924,15 @@ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", "support": { "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.3" + "source": "https://github.com/phar-io/manifest/tree/2.0.4" }, - "time": "2021-07-20T11:28:43+00:00" + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:33:53+00:00" }, { "name": "phar-io/version", @@ -12062,36 +10987,37 @@ }, { "name": "phpmyadmin/sql-parser", - "version": "5.5.0", + "version": "5.9.1", "source": { "type": "git", "url": "https://github.com/phpmyadmin/sql-parser.git", - "reference": "8ab99cd0007d880f49f5aa1807033dbfa21b1cb5" + "reference": "169a9f11f1957ea36607c9b29eac1b48679f1ecc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpmyadmin/sql-parser/zipball/8ab99cd0007d880f49f5aa1807033dbfa21b1cb5", - "reference": "8ab99cd0007d880f49f5aa1807033dbfa21b1cb5", + "url": "https://api.github.com/repos/phpmyadmin/sql-parser/zipball/169a9f11f1957ea36607c9b29eac1b48679f1ecc", + "reference": "169a9f11f1957ea36607c9b29eac1b48679f1ecc", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0", - "symfony/polyfill-mbstring": "^1.3" + "php": "^7.2 || ^8.0", + "symfony/polyfill-mbstring": "^1.3", + "symfony/polyfill-php80": "^1.16" }, "conflict": { "phpmyadmin/motranslator": "<3.0" }, "require-dev": { + "phpbench/phpbench": "^1.1", "phpmyadmin/coding-standard": "^3.0", "phpmyadmin/motranslator": "^4.0 || ^5.0", "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.2", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/php-code-coverage": "*", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "phpstan/phpstan": "^1.9.12", + "phpstan/phpstan-phpunit": "^1.3.3", + "phpunit/phpunit": "^8.5 || ^9.6", "psalm/plugin-phpunit": "^0.16.1", "vimeo/psalm": "^4.11", - "zumba/json-serializer": "^3.0" + "zumba/json-serializer": "~3.0.2" }, "suggest": { "ext-mbstring": "For best performance", @@ -12100,6 +11026,7 @@ "bin": [ "bin/highlight-query", "bin/lint-query", + "bin/sql-parser", "bin/tokenize-query" ], "type": "library", @@ -12125,26 +11052,38 @@ "analysis", "lexer", "parser", - "sql" + "query linter", + "sql", + "sql lexer", + "sql linter", + "sql parser", + "sql syntax highlighter", + "sql tokenizer" ], "support": { "issues": "https://github.com/phpmyadmin/sql-parser/issues", "source": "https://github.com/phpmyadmin/sql-parser" }, - "time": "2021-12-09T04:31:52+00:00" + "funding": [ + { + "url": "https://www.phpmyadmin.net/donate/", + "type": "other" + } + ], + "time": "2024-08-13T19:01:01+00:00" }, { "name": "phpstan/phpstan", - "version": "1.8.2", + "version": "1.11.10", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "c53312ecc575caf07b0e90dee43883fdf90ca67c" + "reference": "640410b32995914bde3eed26fa89552f9c2c082f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/c53312ecc575caf07b0e90dee43883fdf90ca67c", - "reference": "c53312ecc575caf07b0e90dee43883fdf90ca67c", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/640410b32995914bde3eed26fa89552f9c2c082f", + "reference": "640410b32995914bde3eed26fa89552f9c2c082f", "shasum": "" }, "require": { @@ -12168,9 +11107,16 @@ "MIT" ], "description": "PHPStan - PHP Static Analysis Tool", + "keywords": [ + "dev", + "static analysis" + ], "support": { + "docs": "https://phpstan.org/user-guide/getting-started", + "forum": "https://github.com/phpstan/phpstan/discussions", "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/1.8.2" + "security": "https://github.com/phpstan/phpstan/security/policy", + "source": "https://github.com/phpstan/phpstan-src" }, "funding": [ { @@ -12180,58 +11126,50 @@ { "url": "https://github.com/phpstan", "type": "github" - }, - { - "url": "https://www.patreon.com/phpstan", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan", - "type": "tidelift" } ], - "time": "2022-07-20T09:57:31+00:00" + "time": "2024-08-08T09:02:50+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "9.2.16", + "version": "10.1.15", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "2593003befdcc10db5e213f9f28814f5aa8ac073" + "reference": "5da8b1728acd1e6ffdf2ff32ffbdfd04307f26ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2593003befdcc10db5e213f9f28814f5aa8ac073", - "reference": "2593003befdcc10db5e213f9f28814f5aa8ac073", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/5da8b1728acd1e6ffdf2ff32ffbdfd04307f26ae", + "reference": "5da8b1728acd1e6ffdf2ff32ffbdfd04307f26ae", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.14", - "php": ">=7.3", - "phpunit/php-file-iterator": "^3.0.3", - "phpunit/php-text-template": "^2.0.2", - "sebastian/code-unit-reverse-lookup": "^2.0.2", - "sebastian/complexity": "^2.0", - "sebastian/environment": "^5.1.2", - "sebastian/lines-of-code": "^1.0.3", - "sebastian/version": "^3.0.1", + "nikic/php-parser": "^4.18 || ^5.0", + "php": ">=8.1", + "phpunit/php-file-iterator": "^4.0", + "phpunit/php-text-template": "^3.0", + "sebastian/code-unit-reverse-lookup": "^3.0", + "sebastian/complexity": "^3.0", + "sebastian/environment": "^6.0", + "sebastian/lines-of-code": "^2.0", + "sebastian/version": "^4.0", "theseer/tokenizer": "^1.2.0" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.1" }, "suggest": { - "ext-pcov": "*", - "ext-xdebug": "*" + "ext-pcov": "PHP extension that provides line coverage", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "9.2-dev" + "dev-main": "10.1-dev" } }, "autoload": { @@ -12259,7 +11197,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.16" + "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.15" }, "funding": [ { @@ -12267,32 +11206,32 @@ "type": "github" } ], - "time": "2022-08-20T05:26:47+00:00" + "time": "2024-06-29T08:25:15+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "3.0.6", + "version": "4.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" + "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c", + "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -12319,7 +11258,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" + "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0" }, "funding": [ { @@ -12327,28 +11267,28 @@ "type": "github" } ], - "time": "2021-12-02T12:48:52+00:00" + "time": "2023-08-31T06:24:48+00:00" }, { "name": "phpunit/php-invoker", - "version": "3.1.1", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" + "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", + "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { "ext-pcntl": "*", - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "suggest": { "ext-pcntl": "*" @@ -12356,7 +11296,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -12382,7 +11322,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" + "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0" }, "funding": [ { @@ -12390,32 +11330,32 @@ "type": "github" } ], - "time": "2020-09-28T05:58:55+00:00" + "time": "2023-02-03T06:56:09+00:00" }, { "name": "phpunit/php-text-template", - "version": "2.0.4", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748", + "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -12441,7 +11381,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" + "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1" }, "funding": [ { @@ -12449,32 +11390,32 @@ "type": "github" } ], - "time": "2020-10-26T05:33:50+00:00" + "time": "2023-08-31T14:07:24+00:00" }, { "name": "phpunit/php-timer", - "version": "5.0.3", + "version": "6.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" + "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d", + "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -12500,7 +11441,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" + "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0" }, "funding": [ { @@ -12508,54 +11449,52 @@ "type": "github" } ], - "time": "2020-10-26T13:16:10+00:00" + "time": "2023-02-03T06:57:52+00:00" }, { "name": "phpunit/phpunit", - "version": "9.5.23", + "version": "10.5.30", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "888556852e7e9bbeeedb9656afe46118765ade34" + "reference": "b15524febac0153876b4ba9aab3326c2ee94c897" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/888556852e7e9bbeeedb9656afe46118765ade34", - "reference": "888556852e7e9bbeeedb9656afe46118765ade34", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b15524febac0153876b4ba9aab3326c2ee94c897", + "reference": "b15524febac0153876b4ba9aab3326c2ee94c897", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.3.1", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.10.1", - "phar-io/manifest": "^2.0.3", - "phar-io/version": "^3.0.2", - "php": ">=7.3", - "phpunit/php-code-coverage": "^9.2.13", - "phpunit/php-file-iterator": "^3.0.5", - "phpunit/php-invoker": "^3.1.1", - "phpunit/php-text-template": "^2.0.3", - "phpunit/php-timer": "^5.0.2", - "sebastian/cli-parser": "^1.0.1", - "sebastian/code-unit": "^1.0.6", - "sebastian/comparator": "^4.0.5", - "sebastian/diff": "^4.0.3", - "sebastian/environment": "^5.1.3", - "sebastian/exporter": "^4.0.3", - "sebastian/global-state": "^5.0.1", - "sebastian/object-enumerator": "^4.0.3", - "sebastian/resource-operations": "^3.0.3", - "sebastian/type": "^3.0", - "sebastian/version": "^3.0.2" + "myclabs/deep-copy": "^1.12.0", + "phar-io/manifest": "^2.0.4", + "phar-io/version": "^3.2.1", + "php": ">=8.1", + "phpunit/php-code-coverage": "^10.1.15", + "phpunit/php-file-iterator": "^4.1.0", + "phpunit/php-invoker": "^4.0.0", + "phpunit/php-text-template": "^3.0.1", + "phpunit/php-timer": "^6.0.0", + "sebastian/cli-parser": "^2.0.1", + "sebastian/code-unit": "^2.0.0", + "sebastian/comparator": "^5.0.2", + "sebastian/diff": "^5.1.1", + "sebastian/environment": "^6.1.0", + "sebastian/exporter": "^5.1.2", + "sebastian/global-state": "^6.0.2", + "sebastian/object-enumerator": "^5.0.0", + "sebastian/recursion-context": "^5.0.0", + "sebastian/type": "^4.0.0", + "sebastian/version": "^4.0.1" }, "suggest": { - "ext-soap": "*", - "ext-xdebug": "*" + "ext-soap": "To be able to generate mocks based on WSDL files" }, "bin": [ "phpunit" @@ -12563,7 +11502,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "9.5-dev" + "dev-main": "10.5-dev" } }, "autoload": { @@ -12594,7 +11533,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.23" + "security": "https://github.com/sebastianbergmann/phpunit/security/policy", + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.30" }, "funding": [ { @@ -12604,34 +11544,38 @@ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", + "type": "tidelift" } ], - "time": "2022-08-22T14:01:36+00:00" + "time": "2024-08-13T06:09:37+00:00" }, { "name": "sebastian/cli-parser", - "version": "1.0.1", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" + "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", - "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/c34583b87e7b7a8055bf6c450c2c77ce32a24084", + "reference": "c34583b87e7b7a8055bf6c450c2c77ce32a24084", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-main": "2.0-dev" } }, "autoload": { @@ -12654,7 +11598,8 @@ "homepage": "https://github.com/sebastianbergmann/cli-parser", "support": { "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" + "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.1" }, "funding": [ { @@ -12662,32 +11607,32 @@ "type": "github" } ], - "time": "2020-09-28T06:08:49+00:00" + "time": "2024-03-02T07:12:49+00:00" }, { "name": "sebastian/code-unit", - "version": "1.0.8", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + "reference": "a81fee9eef0b7a76af11d121767abc44c104e503" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503", + "reference": "a81fee9eef0b7a76af11d121767abc44c104e503", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-main": "2.0-dev" } }, "autoload": { @@ -12710,7 +11655,7 @@ "homepage": "https://github.com/sebastianbergmann/code-unit", "support": { "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0" }, "funding": [ { @@ -12718,32 +11663,32 @@ "type": "github" } ], - "time": "2020-10-26T13:08:54+00:00" + "time": "2023-02-03T06:58:43+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", - "version": "2.0.3", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", + "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -12765,7 +11710,7 @@ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", "support": { "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0" }, "funding": [ { @@ -12773,34 +11718,36 @@ "type": "github" } ], - "time": "2020-09-28T05:30:19+00:00" + "time": "2023-02-03T06:59:15+00:00" }, { "name": "sebastian/comparator", - "version": "4.0.6", + "version": "5.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "55f4261989e546dc112258c7a75935a81a7ce382" + "reference": "2d3e04c3b4c1e84a5e7382221ad8883c8fbc4f53" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382", - "reference": "55f4261989e546dc112258c7a75935a81a7ce382", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2d3e04c3b4c1e84a5e7382221ad8883c8fbc4f53", + "reference": "2d3e04c3b4c1e84a5e7382221ad8883c8fbc4f53", "shasum": "" }, "require": { - "php": ">=7.3", - "sebastian/diff": "^4.0", - "sebastian/exporter": "^4.0" + "ext-dom": "*", + "ext-mbstring": "*", + "php": ">=8.1", + "sebastian/diff": "^5.0", + "sebastian/exporter": "^5.0" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -12839,7 +11786,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6" + "security": "https://github.com/sebastianbergmann/comparator/security/policy", + "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.2" }, "funding": [ { @@ -12847,33 +11795,33 @@ "type": "github" } ], - "time": "2020-10-26T15:49:45+00:00" + "time": "2024-08-12T06:03:08+00:00" }, { "name": "sebastian/complexity", - "version": "2.0.2", + "version": "3.2.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" + "reference": "68ff824baeae169ec9f2137158ee529584553799" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799", + "reference": "68ff824baeae169ec9f2137158ee529584553799", "shasum": "" }, "require": { - "nikic/php-parser": "^4.7", - "php": ">=7.3" + "nikic/php-parser": "^4.18 || ^5.0", + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-main": "3.2-dev" } }, "autoload": { @@ -12896,7 +11844,8 @@ "homepage": "https://github.com/sebastianbergmann/complexity", "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", - "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + "security": "https://github.com/sebastianbergmann/complexity/security/policy", + "source": "https://github.com/sebastianbergmann/complexity/tree/3.2.0" }, "funding": [ { @@ -12904,33 +11853,33 @@ "type": "github" } ], - "time": "2020-10-26T15:52:27+00:00" + "time": "2023-12-21T08:37:17+00:00" }, { "name": "sebastian/diff", - "version": "4.0.4", + "version": "5.1.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" + "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", - "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/c41e007b4b62af48218231d6c2275e4c9b975b2e", + "reference": "c41e007b4b62af48218231d6c2275e4c9b975b2e", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3", - "symfony/process": "^4.2 || ^5" + "phpunit/phpunit": "^10.0", + "symfony/process": "^6.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-main": "5.1-dev" } }, "autoload": { @@ -12962,7 +11911,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" + "security": "https://github.com/sebastianbergmann/diff/security/policy", + "source": "https://github.com/sebastianbergmann/diff/tree/5.1.1" }, "funding": [ { @@ -12970,27 +11920,27 @@ "type": "github" } ], - "time": "2020-10-26T13:10:38+00:00" + "time": "2024-03-02T07:15:17+00:00" }, { "name": "sebastian/environment", - "version": "5.1.4", + "version": "6.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7" + "reference": "8074dbcd93529b357029f5cc5058fd3e43666984" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/1b5dff7bb151a4db11d49d90e5408e4e938270f7", - "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/8074dbcd93529b357029f5cc5058fd3e43666984", + "reference": "8074dbcd93529b357029f5cc5058fd3e43666984", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "suggest": { "ext-posix": "*" @@ -12998,7 +11948,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-main": "6.1-dev" } }, "autoload": { @@ -13017,7 +11967,7 @@ } ], "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", + "homepage": "https://github.com/sebastianbergmann/environment", "keywords": [ "Xdebug", "environment", @@ -13025,7 +11975,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", - "source": "https://github.com/sebastianbergmann/environment/tree/5.1.4" + "security": "https://github.com/sebastianbergmann/environment/security/policy", + "source": "https://github.com/sebastianbergmann/environment/tree/6.1.0" }, "funding": [ { @@ -13033,34 +11984,34 @@ "type": "github" } ], - "time": "2022-04-03T09:37:03+00:00" + "time": "2024-03-23T08:47:14+00:00" }, { "name": "sebastian/exporter", - "version": "4.0.4", + "version": "5.1.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9" + "reference": "955288482d97c19a372d3f31006ab3f37da47adf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/65e8b7db476c5dd267e65eea9cab77584d3cfff9", - "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/955288482d97c19a372d3f31006ab3f37da47adf", + "reference": "955288482d97c19a372d3f31006ab3f37da47adf", "shasum": "" }, "require": { - "php": ">=7.3", - "sebastian/recursion-context": "^4.0" + "ext-mbstring": "*", + "php": ">=8.1", + "sebastian/recursion-context": "^5.0" }, "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-main": "5.1-dev" } }, "autoload": { @@ -13102,7 +12053,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.4" + "security": "https://github.com/sebastianbergmann/exporter/security/policy", + "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.2" }, "funding": [ { @@ -13110,38 +12062,35 @@ "type": "github" } ], - "time": "2021-11-11T14:18:36+00:00" + "time": "2024-03-02T07:17:12+00:00" }, { "name": "sebastian/global-state", - "version": "5.0.5", + "version": "6.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2" + "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2", - "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", + "reference": "987bafff24ecc4c9ac418cab1145b96dd6e9cbd9", "shasum": "" }, "require": { - "php": ">=7.3", - "sebastian/object-reflector": "^2.0", - "sebastian/recursion-context": "^4.0" + "php": ">=8.1", + "sebastian/object-reflector": "^3.0", + "sebastian/recursion-context": "^5.0" }, "require-dev": { "ext-dom": "*", - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-uopz": "*" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -13160,13 +12109,14 @@ } ], "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", + "homepage": "https://www.github.com/sebastianbergmann/global-state", "keywords": [ "global state" ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5" + "security": "https://github.com/sebastianbergmann/global-state/security/policy", + "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.2" }, "funding": [ { @@ -13174,33 +12124,33 @@ "type": "github" } ], - "time": "2022-02-14T08:28:10+00:00" + "time": "2024-03-02T07:19:19+00:00" }, { "name": "sebastian/lines-of-code", - "version": "1.0.3", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" + "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/856e7f6a75a84e339195d48c556f23be2ebf75d0", + "reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0", "shasum": "" }, "require": { - "nikic/php-parser": "^4.6", - "php": ">=7.3" + "nikic/php-parser": "^4.18 || ^5.0", + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-main": "2.0-dev" } }, "autoload": { @@ -13223,7 +12173,8 @@ "homepage": "https://github.com/sebastianbergmann/lines-of-code", "support": { "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" + "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.2" }, "funding": [ { @@ -13231,34 +12182,34 @@ "type": "github" } ], - "time": "2020-11-28T06:42:11+00:00" + "time": "2023-12-21T08:38:20+00:00" }, { "name": "sebastian/object-enumerator", - "version": "4.0.4", + "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" + "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906", + "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906", "shasum": "" }, "require": { - "php": ">=7.3", - "sebastian/object-reflector": "^2.0", - "sebastian/recursion-context": "^4.0" + "php": ">=8.1", + "sebastian/object-reflector": "^3.0", + "sebastian/recursion-context": "^5.0" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -13280,7 +12231,7 @@ "homepage": "https://github.com/sebastianbergmann/object-enumerator/", "support": { "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0" }, "funding": [ { @@ -13288,32 +12239,32 @@ "type": "github" } ], - "time": "2020-10-26T13:12:34+00:00" + "time": "2023-02-03T07:08:32+00:00" }, { "name": "sebastian/object-reflector", - "version": "2.0.4", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" + "reference": "24ed13d98130f0e7122df55d06c5c4942a577957" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957", + "reference": "24ed13d98130f0e7122df55d06c5c4942a577957", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -13335,7 +12286,7 @@ "homepage": "https://github.com/sebastianbergmann/object-reflector/", "support": { "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" + "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0" }, "funding": [ { @@ -13343,32 +12294,32 @@ "type": "github" } ], - "time": "2020-10-26T13:14:26+00:00" + "time": "2023-02-03T07:06:18+00:00" }, { "name": "sebastian/recursion-context", - "version": "4.0.4", + "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172" + "reference": "05909fb5bc7df4c52992396d0116aed689f93712" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172", - "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712", + "reference": "05909fb5bc7df4c52992396d0116aed689f93712", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -13395,10 +12346,10 @@ } ], "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "homepage": "https://github.com/sebastianbergmann/recursion-context", "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4" + "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0" }, "funding": [ { @@ -13406,32 +12357,32 @@ "type": "github" } ], - "time": "2020-10-26T13:17:30+00:00" + "time": "2023-02-03T07:05:40+00:00" }, { - "name": "sebastian/resource-operations", - "version": "3.0.3", + "name": "sebastian/type", + "version": "4.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "462699a16464c3944eefc02ebdd77882bd3925bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", - "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf", + "reference": "462699a16464c3944eefc02ebdd77882bd3925bf", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.0" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -13446,14 +12397,15 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Provides a list of PHP built-in functions that operate on resources", - "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "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/resource-operations/issues", - "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/4.0.0" }, "funding": [ { @@ -13461,32 +12413,29 @@ "type": "github" } ], - "time": "2020-09-28T06:45:17+00:00" + "time": "2023-02-03T07:10:45+00:00" }, { - "name": "sebastian/type", - "version": "3.0.0", + "name": "sebastian/version", + "version": "4.0.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/type.git", - "reference": "b233b84bc4465aff7b57cf1c4bc75c86d00d6dad" + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b233b84bc4465aff7b57cf1c4bc75c86d00d6dad", - "reference": "b233b84bc4465aff7b57cf1c4bc75c86d00d6dad", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17", + "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17", "shasum": "" }, "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.5" + "php": ">=8.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -13505,11 +12454,11 @@ "role": "lead" } ], - "description": "Collection of value objects that represent the types of the PHP type system", - "homepage": "https://github.com/sebastianbergmann/type", + "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/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/3.0.0" + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/4.0.1" }, "funding": [ { @@ -13517,73 +12466,91 @@ "type": "github" } ], - "time": "2022-03-15T09:54:48+00:00" + "time": "2023-02-07T11:34:05+00:00" }, { - "name": "sebastian/version", - "version": "3.0.2", + "name": "symfony/yaml", + "version": "v7.1.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c6c1022351a901512170118436c764e473f6de8c" + "url": "https://github.com/symfony/yaml.git", + "reference": "fa34c77015aa6720469db7003567b9f772492bf2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", - "reference": "c6c1022351a901512170118436c764e473f6de8c", + "url": "https://api.github.com/repos/symfony/yaml/zipball/fa34c77015aa6720469db7003567b9f772492bf2", + "reference": "fa34c77015aa6720469db7003567b9f772492bf2", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.2", + "symfony/polyfill-ctype": "^1.8" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } + "conflict": { + "symfony/console": "<6.4" + }, + "require-dev": { + "symfony/console": "^6.4|^7.0" }, + "bin": [ + "Resources/bin/yaml-lint" + ], + "type": "library", "autoload": { - "classmap": [ - "src/" + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", + "description": "Loads and dumps YAML files", + "homepage": "https://symfony.com", "support": { - "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" + "source": "https://github.com/symfony/yaml/tree/v7.1.1" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", + "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": "2020-09-28T06:39:44+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { "name": "theseer/tokenizer", - "version": "1.2.1", + "version": "1.2.3", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", "shasum": "" }, "require": { @@ -13612,7 +12579,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.1" + "source": "https://github.com/theseer/tokenizer/tree/1.2.3" }, "funding": [ { @@ -13620,18 +12587,18 @@ "type": "github" } ], - "time": "2021-07-28T10:34:58+00:00" + "time": "2024-03-03T12:36:25+00:00" } ], "aliases": [], - "minimum-stability": "dev", + "minimum-stability": "stable", "stability-flags": [], "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": "^8.1", + "php": "^8.2", "ext-json": "*" }, "platform-dev": [], - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.6.0" } diff --git a/config/activitylog.php b/config/activitylog.php index 0e07babe0..0406bff69 100644 --- a/config/activitylog.php +++ b/config/activitylog.php @@ -35,7 +35,7 @@ * It should implement the Spatie\Activitylog\Contracts\Activity interface * and extend Illuminate\Database\Eloquent\Model. */ - 'activity_model' => \Entities\Models\Eloquent\Activity::class, + 'activity_model' => \App\Models\Activity::class, /* * This is the name of the table that will be created by the migration and diff --git a/config/app.php b/config/app.php index 28e9f4f4d..ca67a10d3 100644 --- a/config/app.php +++ b/config/app.php @@ -1,7 +1,5 @@ env('APP_DEBUG', false), + 'debug' => (bool) env('APP_DEBUG', false), /* |-------------------------------------------------------------------------- @@ -50,13 +48,15 @@ | | This URL is used by the console to properly generate URLs when using | the Artisan command line tool. You should set this to the root of - | your application so that it is used when running Artisan tasks. + | the application so that it's available within Artisan commands. | */ 'url' => env('APP_URL', 'http://localhost'), - 'asset_url' => env('ASSET_URL', null), + 'frontend_url' => env('FRONTEND_URL', 'http://localhost:3000'), + + 'asset_url' => env('ASSET_URL', '/'), /* |-------------------------------------------------------------------------- @@ -64,12 +64,12 @@ |-------------------------------------------------------------------------- | | Here you may specify the default timezone for your application, which - | will be used by the PHP date and date-time functions. We have gone - | ahead and set this to a sensible default for you out of the box. + | will be used by the PHP date and date-time functions. The timezone + | is set to "UTC" by default as it is suitable for most use cases. | */ - 'timezone' => 'UTC', + 'timezone' => env('APP_TIMEZONE', 'UTC'), /* |-------------------------------------------------------------------------- @@ -77,146 +77,54 @@ |-------------------------------------------------------------------------- | | The application locale determines the default locale that will be used - | by the translation service provider. You are free to set this value - | to any of the locales which will be supported by the application. + | by Laravel's translation / localization methods. This option can be + | set to any locale for which you plan to have translation strings. | */ - 'locale' => 'en', + 'locale' => env('APP_LOCALE', 'en'), - /* - |-------------------------------------------------------------------------- - | Application Fallback Locale - |-------------------------------------------------------------------------- - | - | The fallback locale determines the locale to use when the current one - | is not available. You may change the value to correspond to any of - | the language folders that are provided through your application. - | - */ + 'fallback_locale' => env('APP_FALLBACK_LOCALE', 'en'), - 'fallback_locale' => 'en', - - /* - |-------------------------------------------------------------------------- - | Faker Locale - |-------------------------------------------------------------------------- - | - | This locale will be used by the Faker PHP library when generating fake - | data for your database seeds. For example, this will be used to get - | localized telephone numbers, street address information and more. - | - */ - - 'faker_locale' => 'en_US', + 'faker_locale' => env('APP_FAKER_LOCALE', 'en_US'), /* |-------------------------------------------------------------------------- | Encryption Key |-------------------------------------------------------------------------- | - | This key is used by the Illuminate encrypter service and should be set - | to a random, 32 character string, otherwise these encrypted strings - | will not be safe. Please do this before deploying an application! + | This key is utilized by Laravel's encryption services and should be set + | to a random, 32 character string to ensure that all encrypted values + | are secure. You should do this prior to deploying the application. | */ - 'key' => env('APP_KEY'), - 'cipher' => 'AES-256-CBC', - /* - |-------------------------------------------------------------------------- - | Autoloaded Service Providers - |-------------------------------------------------------------------------- - | - | The service providers listed here will be automatically loaded on the - | request to your application. Feel free to add your own services to - | this array to grant expanded functionality to your applications. - | - */ + 'key' => env('APP_KEY'), - 'providers' => [ - - /* - * Laravel Framework Service Providers... - */ - Illuminate\Auth\AuthServiceProvider::class, - Illuminate\Broadcasting\BroadcastServiceProvider::class, - Illuminate\Bus\BusServiceProvider::class, - Illuminate\Cache\CacheServiceProvider::class, - Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, - Illuminate\Cookie\CookieServiceProvider::class, - Illuminate\Database\DatabaseServiceProvider::class, - Illuminate\Encryption\EncryptionServiceProvider::class, - Illuminate\Filesystem\FilesystemServiceProvider::class, - Illuminate\Foundation\Providers\FoundationServiceProvider::class, - Illuminate\Hashing\HashServiceProvider::class, - Illuminate\Mail\MailServiceProvider::class, - Illuminate\Notifications\NotificationServiceProvider::class, - Illuminate\Pagination\PaginationServiceProvider::class, - Illuminate\Pipeline\PipelineServiceProvider::class, - Illuminate\Queue\QueueServiceProvider::class, - Illuminate\Redis\RedisServiceProvider::class, - Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, - Illuminate\Session\SessionServiceProvider::class, - Illuminate\Translation\TranslationServiceProvider::class, - Illuminate\Validation\ValidationServiceProvider::class, - Illuminate\View\ViewServiceProvider::class, - - /* - * Package Service Providers... - */ - - \Library\Discord\DiscordChannelServiceProvider::class, - - /* - * Application Service Providers... - */ - App\Providers\AppServiceProvider::class, - App\Providers\AuthServiceProvider::class, - // App\Providers\BroadcastServiceProvider::class, - App\Providers\EventServiceProvider::class, - App\Providers\HorizonServiceProvider::class, - App\Providers\PanelGateServiceProvider::class, - App\Providers\RepositoryServiceProvider::class, - App\Providers\RouteServiceProvider::class, - App\Providers\TelescopeServiceProvider::class, - - /* - * Library Service Providers... - */ - Library\Recaptcha\RecaptchaProvider::class, - Library\Random\RandomProvider::class, - Library\SignedURL\SignedURLProvider::class, - Library\Tokens\TokensProvider::class, - Library\Auditing\AuditingServiceProvider::class, - - /* - * Shared Service Providers... - */ - Shared\Groups\GroupsProvider::class, - - /* - * Domain Service Providers... - */ - Domain\CurrencyRewarder\CurrencyRewarderProvider::class, - Domain\Donations\DonationsProvider::class, + 'previous_keys' => [ + ...array_filter( + explode(',', env('APP_PREVIOUS_KEYS', '')) + ), ], /* |-------------------------------------------------------------------------- - | Class Aliases + | Maintenance Mode Driver |-------------------------------------------------------------------------- | - | This array of class aliases will be registered when this application - | is started. However, feel free to register as many as you wish as - | the aliases are "lazy" loaded so they don't hinder performance. + | These configuration options determine the driver used to determine and + | manage Laravel's "maintenance mode" status. The "cache" driver will + | allow maintenance mode to be controlled across multiple machines. + | + | Supported drivers: "file", "cache" | */ - 'aliases' => Facade::defaultAliases()->merge([ - // 'ExampleClass' => App\Example\ExampleClass::class, - ])->toArray(), + 'maintenance' => [ + 'driver' => env('APP_MAINTENANCE_DRIVER', 'file'), + 'store' => env('APP_MAINTENANCE_STORE', 'database'), + ], ]; diff --git a/config/auth.php b/config/auth.php index 713940c8d..e9bc35028 100644 --- a/config/auth.php +++ b/config/auth.php @@ -67,7 +67,7 @@ 'providers' => [ 'accounts' => [ 'driver' => 'eloquent', - 'model' => \Entities\Models\Eloquent\Account::class, + 'model' => \App\Models\Account::class, ], // 'users' => [ diff --git a/config/database.php b/config/database.php index c6e82e170..6b0c32f36 100644 --- a/config/database.php +++ b/config/database.php @@ -1,5 +1,7 @@ env('DB_CONNECTION', 'mysql'), + 'default' => env('DB_CONNECTION', 'mariadb'), /* |-------------------------------------------------------------------------- @@ -32,16 +34,46 @@ */ 'connections' => [ + + 'sqlite' => [ + 'driver' => 'sqlite', + 'url' => env('DB_URL'), + 'database' => env('DB_DATABASE', database_path('database.sqlite')), + 'prefix' => '', + 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), + ], + 'mysql' => [ 'driver' => 'mysql', + 'url' => env('DB_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '3306'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), + 'password' => env('DB_PASSWORD', ''), + 'unix_socket' => env('DB_SOCKET', ''), + 'charset' => env('DB_CHARSET', 'utf8mb4'), + 'collation' => env('DB_COLLATION', 'utf8mb4_0900_ai_ci'), + 'prefix' => '', + 'prefix_indexes' => true, + 'strict' => true, + 'engine' => null, + 'options' => extension_loaded('pdo_mysql') ? array_filter([ + PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), + ]) : [], + ], + + 'mariadb' => [ + 'driver' => 'mariadb', + 'url' => env('DB_URL'), 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), - 'database' => env('DB_DATABASE', 'forge'), - 'username' => env('DB_USERNAME', 'forge'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), 'password' => env('DB_PASSWORD', ''), 'unix_socket' => env('DB_SOCKET', ''), - 'charset' => 'utf8mb4', - 'collation' => 'utf8mb4_unicode_ci', + 'charset' => env('DB_CHARSET', 'utf8mb4'), + 'collation' => env('DB_COLLATION', 'utf8mb4_uca1400_ai_ci'), 'prefix' => '', 'prefix_indexes' => true, 'strict' => true, @@ -51,6 +83,36 @@ ]) : [], ], + 'pgsql' => [ + 'driver' => 'pgsql', + 'url' => env('DB_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '5432'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => env('DB_CHARSET', 'utf8'), + 'prefix' => '', + 'prefix_indexes' => true, + 'search_path' => 'public', + 'sslmode' => 'prefer', + ], + + 'sqlsrv' => [ + 'driver' => 'sqlsrv', + 'url' => env('DB_URL'), + 'host' => env('DB_HOST', 'localhost'), + 'port' => env('DB_PORT', '1433'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => env('DB_CHARSET', 'utf8'), + 'prefix' => '', + 'prefix_indexes' => true, + // 'encrypt' => env('DB_ENCRYPT', 'yes'), + // 'trust_server_certificate' => env('DB_TRUST_SERVER_CERTIFICATE', 'false'), + ], + ], /* @@ -64,7 +126,10 @@ | */ - 'migrations' => 'migrations', + 'migrations' => [ + 'table' => 'migrations', + 'update_date_on_publish' => true, + ], /* |-------------------------------------------------------------------------- @@ -79,24 +144,29 @@ 'redis' => [ - 'client' => env('REDIS_CLIENT', 'predis'), + 'client' => env('REDIS_CLIENT', 'phpredis'), 'options' => [ - 'cluster' => env('REDIS_CLUSTER', 'predis'), + 'cluster' => env('REDIS_CLUSTER', 'redis'), + 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'), ], 'default' => [ + 'url' => env('REDIS_URL'), 'host' => env('REDIS_HOST', '127.0.0.1'), - 'password' => env('REDIS_PASSWORD', null), - 'port' => env('REDIS_PORT', 6379), - 'database' => env('REDIS_DB', 0), + 'username' => env('REDIS_USERNAME'), + 'password' => env('REDIS_PASSWORD'), + 'port' => env('REDIS_PORT', '6379'), + 'database' => env('REDIS_DB', '0'), ], 'cache' => [ + 'url' => env('REDIS_URL'), 'host' => env('REDIS_HOST', '127.0.0.1'), - 'password' => env('REDIS_PASSWORD', null), - 'port' => env('REDIS_PORT', 6379), - 'database' => env('REDIS_CACHE_DB', 1), + 'username' => env('REDIS_USERNAME'), + 'password' => env('REDIS_PASSWORD'), + 'port' => env('REDIS_PORT', '6379'), + 'database' => env('REDIS_CACHE_DB', '1'), ], ], diff --git a/config/insights.php b/config/insights.php deleted file mode 100644 index 93cbac96b..000000000 --- a/config/insights.php +++ /dev/null @@ -1,125 +0,0 @@ - 'laravel', - /* - |-------------------------------------------------------------------------- - | IDE - |-------------------------------------------------------------------------- - | - | This options allow to add hyperlinks in your terminal to quickly open - | files in your favorite IDE while browsing your PhpInsights report. - | - | Supported: "textmate", "macvim", "emacs", "sublime", "phpstorm", - | "atom", "vscode". - | - | If you have another IDE that is not in this list but which provide an - | url-handler, you could fill this config with a pattern like this: - | - | myide://open?url=file://%f&line=%l - | - */ - - 'ide' => null, - /* - |-------------------------------------------------------------------------- - | Configuration - |-------------------------------------------------------------------------- - | - | Here you may adjust all the various `Insights` that will be used by PHP - | Insights. You can either add, remove or configure `Insights`. Keep in - | mind that all added `Insights` must belong to a specific `Metric`. - | - */ - - 'exclude' => [ - // 'path/to/directory-or-file' - ], - - 'add' => [ - Classes::class => [ - ForbiddenFinalClasses::class, - ], - ], - - 'remove' => [ - AlphabeticallySortedUsesSniff::class, - DeclareStrictTypesSniff::class, - DisallowMixedTypeHintSniff::class, - ForbiddenDefineFunctions::class, - ForbiddenNormalClasses::class, - ForbiddenTraits::class, - ParameterTypeHintSniff::class, - PropertyTypeHintSniff::class, - ReturnTypeHintSniff::class, - UselessFunctionDocCommentSniff::class, - ], - - 'config' => [ - ForbiddenPrivateMethods::class => [ - 'title' => 'The usage of private methods is not idiomatic in Laravel.', - ], - ], - - /* - |-------------------------------------------------------------------------- - | Requirements - |-------------------------------------------------------------------------- - | - | Here you may define a level you want to reach per `Insights` category. - | When a score is lower than the minimum level defined, then an error - | code will be returned. This is optional and individually defined. - | - */ - - 'requirements' => [ - // 'min-quality' => 0, - // 'min-complexity' => 0, - // 'min-architecture' => 0, - // 'min-style' => 0, - // 'disable-security-check' => false, - ], - - /* - |-------------------------------------------------------------------------- - | Threads - |-------------------------------------------------------------------------- - | - | Here you may adjust how many threads (core) PHPInsights can use to perform - | the analyse. This is optional, don't provide it and the tool will guess - | the max core number available. This accept null value or integer > 0. - | - */ - - 'threads' => null, -]; diff --git a/config/logging.php b/config/logging.php index 31cf5cb7f..a6a9f2ede 100644 --- a/config/logging.php +++ b/config/logging.php @@ -1,6 +1,6 @@ [ - 'model' => \Entities\Models\Eloquent\Account::class, + 'model' => \App\Models\Account::class, 'key' => env('STRIPE_KEY'), 'secret' => env('STRIPE_SECRET'), 'webhook' => [ diff --git a/config/telescope.php b/config/telescope.php deleted file mode 100644 index 0062549c6..000000000 --- a/config/telescope.php +++ /dev/null @@ -1,180 +0,0 @@ - env('TELESCOPE_DOMAIN', null), - - /* - |-------------------------------------------------------------------------- - | Telescope Path - |-------------------------------------------------------------------------- - | - | This is the URI path where Telescope will be accessible from. Feel free - | to change this path to anything you like. Note that the URI will not - | affect the paths of its internal API that aren't exposed to users. - | - */ - - 'path' => env('TELESCOPE_PATH', 'telescope'), - - /* - |-------------------------------------------------------------------------- - | Telescope Storage Driver - |-------------------------------------------------------------------------- - | - | This configuration options determines the storage driver that will - | be used to store Telescope's data. In addition, you may set any - | custom options as needed by the particular driver you choose. - | - */ - - 'driver' => env('TELESCOPE_DRIVER', 'database'), - - 'storage' => [ - 'database' => [ - 'connection' => env('DB_CONNECTION', 'mysql'), - 'chunk' => 1000, - ], - ], - - /* - |-------------------------------------------------------------------------- - | Telescope Master Switch - |-------------------------------------------------------------------------- - | - | This option may be used to disable all Telescope watchers regardless - | of their individual configuration, which simply provides a single - | and convenient way to enable or disable Telescope data storage. - | - */ - - 'enabled' => env('TELESCOPE_ENABLED', true), - - /* - |-------------------------------------------------------------------------- - | Telescope Route Middleware - |-------------------------------------------------------------------------- - | - | These middleware will be assigned to every Telescope route, giving you - | the chance to add your own middleware to this list or change any of - | the existing middleware. Or, you can simply stick with this list. - | - */ - - 'middleware' => [ - 'web', - Authorize::class, - ], - - /* - |-------------------------------------------------------------------------- - | Allowed / Ignored Paths & Commands - |-------------------------------------------------------------------------- - | - | The following array lists the URI paths and Artisan commands that will - | not be watched by Telescope. In addition to this list, some Laravel - | commands, like migrations and queue commands, are always ignored. - | - */ - - 'only_paths' => [ - // 'api/*' - ], - - 'ignore_paths' => [ - 'nova-api*', - ], - - 'ignore_commands' => [ - // - ], - - /* - |-------------------------------------------------------------------------- - | Telescope Watchers - |-------------------------------------------------------------------------- - | - | The following array lists the "watchers" that will be registered with - | Telescope. The watchers gather the application's profile data when - | a request or task is executed. Feel free to customize this list. - | - */ - - 'watchers' => [ - Watchers\BatchWatcher::class => env('TELESCOPE_BATCH_WATCHER', true), - - Watchers\CacheWatcher::class => [ - 'enabled' => env('TELESCOPE_CACHE_WATCHER', true), - 'hidden' => [], - ], - - Watchers\ClientRequestWatcher::class => env('TELESCOPE_CLIENT_REQUEST_WATCHER', true), - - Watchers\CommandWatcher::class => [ - 'enabled' => env('TELESCOPE_COMMAND_WATCHER', true), - 'ignore' => [], - ], - - Watchers\DumpWatcher::class => [ - 'enabled' => env('TELESCOPE_DUMP_WATCHER', true), - 'always' => env('TELESCOPE_DUMP_WATCHER_ALWAYS', false), - ], - - Watchers\EventWatcher::class => [ - 'enabled' => env('TELESCOPE_EVENT_WATCHER', true), - 'ignore' => [], - ], - - Watchers\ExceptionWatcher::class => env('TELESCOPE_EXCEPTION_WATCHER', true), - - Watchers\GateWatcher::class => [ - 'enabled' => env('TELESCOPE_GATE_WATCHER', true), - 'ignore_abilities' => [], - 'ignore_packages' => true, - ], - - Watchers\JobWatcher::class => env('TELESCOPE_JOB_WATCHER', true), - Watchers\LogWatcher::class => env('TELESCOPE_LOG_WATCHER', true), - Watchers\MailWatcher::class => env('TELESCOPE_MAIL_WATCHER', true), - - Watchers\ModelWatcher::class => [ - 'enabled' => env('TELESCOPE_MODEL_WATCHER', true), - 'events' => ['eloquent.*'], - 'hydrations' => true, - ], - - Watchers\NotificationWatcher::class => env('TELESCOPE_NOTIFICATION_WATCHER', true), - - Watchers\QueryWatcher::class => [ - 'enabled' => env('TELESCOPE_QUERY_WATCHER', true), - 'ignore_packages' => true, - 'slow' => 100, - ], - - Watchers\RedisWatcher::class => env('TELESCOPE_REDIS_WATCHER', true), - - Watchers\RequestWatcher::class => [ - 'enabled' => env('TELESCOPE_REQUEST_WATCHER', true), - 'size_limit' => env('TELESCOPE_RESPONSE_SIZE_LIMIT', 64), - 'ignore_http_methods' => [], - 'ignore_status_codes' => [], - ], - - Watchers\ScheduleWatcher::class => env('TELESCOPE_SCHEDULE_WATCHER', true), - Watchers\ViewWatcher::class => env('TELESCOPE_VIEW_WATCHER', true), - ], -]; diff --git a/database/factories/AccountFactory.php b/database/factories/AccountFactory.php index 18ade7ebd..97177e370 100644 --- a/database/factories/AccountFactory.php +++ b/database/factories/AccountFactory.php @@ -2,7 +2,7 @@ namespace Database\Factories; -use Entities\Models\Eloquent\Account; +use App\Models\Account; use Illuminate\Support\Facades\Crypt; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Str; diff --git a/database/factories/BadgeFactory.php b/database/factories/BadgeFactory.php index f8f9dcc1e..991f3084c 100644 --- a/database/factories/BadgeFactory.php +++ b/database/factories/BadgeFactory.php @@ -2,7 +2,7 @@ namespace Database\Factories; -use Entities\Models\Eloquent\Badge; +use App\Models\Badge; class BadgeFactory extends Factory { diff --git a/database/factories/BanAppealFactory.php b/database/factories/BanAppealFactory.php index 2e283221c..32b06a199 100644 --- a/database/factories/BanAppealFactory.php +++ b/database/factories/BanAppealFactory.php @@ -2,9 +2,9 @@ namespace Database\Factories; -use Domain\BanAppeals\Entities\BanAppealStatus; -use Entities\Models\Eloquent\BanAppeal; -use Entities\Models\Eloquent\MinecraftPlayer; +use App\Domains\BanAppeals\Entities\BanAppealStatus; +use App\Models\BanAppeal; +use App\Models\MinecraftPlayer; /** * @extends Factory diff --git a/database/factories/DonationFactory.php b/database/factories/DonationFactory.php index ac6089e9c..38ffe81e4 100644 --- a/database/factories/DonationFactory.php +++ b/database/factories/DonationFactory.php @@ -2,7 +2,7 @@ namespace Database\Factories; -use Entities\Models\Eloquent\Donation; +use App\Models\Donation; class DonationFactory extends Factory { diff --git a/database/factories/DonationPerkFactory.php b/database/factories/DonationPerkFactory.php index dfea8dc7e..4cf2f78fe 100644 --- a/database/factories/DonationPerkFactory.php +++ b/database/factories/DonationPerkFactory.php @@ -2,7 +2,7 @@ namespace Database\Factories; -use Entities\Models\Eloquent\DonationPerk; +use App\Models\DonationPerk; class DonationPerkFactory extends Factory { diff --git a/database/factories/DonationTierFactory.php b/database/factories/DonationTierFactory.php index 130003955..8ab881d8f 100644 --- a/database/factories/DonationTierFactory.php +++ b/database/factories/DonationTierFactory.php @@ -2,7 +2,7 @@ namespace Database\Factories; -use Entities\Models\Eloquent\DonationTier; +use App\Models\DonationTier; use Illuminate\Support\Str; class DonationTierFactory extends Factory diff --git a/database/factories/AccountEmailChangeFactory.php b/database/factories/EmailChangeFactory.php similarity index 79% rename from database/factories/AccountEmailChangeFactory.php rename to database/factories/EmailChangeFactory.php index fde6da496..0f4f16d9d 100644 --- a/database/factories/AccountEmailChangeFactory.php +++ b/database/factories/EmailChangeFactory.php @@ -2,17 +2,17 @@ namespace Database\Factories; -use Entities\Models\Eloquent\AccountEmailChange; +use App\Models\EmailChange; use Illuminate\Support\Str; -class AccountEmailChangeFactory extends Factory +class EmailChangeFactory extends Factory { /** * The name of the factory's corresponding model. * * @var string */ - protected $model = AccountEmailChange::class; + protected $model = EmailChange::class; /** * Define the model's default state. diff --git a/database/factories/GameIPBanFactory.php b/database/factories/GameIPBanFactory.php index a62c3fbff..f18ed9716 100644 --- a/database/factories/GameIPBanFactory.php +++ b/database/factories/GameIPBanFactory.php @@ -2,9 +2,9 @@ namespace Database\Factories; -use Domain\Bans\UnbanType; -use Entities\Models\Eloquent\GameIPBan; -use Entities\Models\Eloquent\MinecraftPlayer; +use App\Domains\Bans\Data\UnbanType; +use App\Models\GameIPBan; +use App\Models\MinecraftPlayer; use Illuminate\Database\Eloquent\Factories\Factory; class GameIPBanFactory extends Factory diff --git a/database/factories/GamePlayerBanFactory.php b/database/factories/GamePlayerBanFactory.php index 003d63836..f18bfba3a 100644 --- a/database/factories/GamePlayerBanFactory.php +++ b/database/factories/GamePlayerBanFactory.php @@ -2,10 +2,10 @@ namespace Database\Factories; -use Domain\Bans\UnbanType; -use Entities\Models\Eloquent\GamePlayerBan; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\Eloquent\Server; +use App\Domains\Bans\Data\UnbanType; +use App\Models\GamePlayerBan; +use App\Models\MinecraftPlayer; +use App\Models\Server; class GamePlayerBanFactory extends Factory { diff --git a/database/factories/GroupFactory.php b/database/factories/GroupFactory.php index 0a56701ac..54c5b5e59 100644 --- a/database/factories/GroupFactory.php +++ b/database/factories/GroupFactory.php @@ -2,7 +2,7 @@ namespace Database\Factories; -use Entities\Models\Eloquent\Group; +use App\Models\Group; class GroupFactory extends Factory { diff --git a/database/factories/GroupScopeFactory.php b/database/factories/GroupScopeFactory.php index 50f9f140d..1c93040fb 100644 --- a/database/factories/GroupScopeFactory.php +++ b/database/factories/GroupScopeFactory.php @@ -2,7 +2,7 @@ namespace Database\Factories; -use Entities\Models\Eloquent\GroupScope; +use App\Models\GroupScope; class GroupScopeFactory extends Factory { diff --git a/database/factories/MinecraftPlayerAliasFactory.php b/database/factories/MinecraftPlayerAliasFactory.php index 56b2e8357..aeaf7b9a6 100644 --- a/database/factories/MinecraftPlayerAliasFactory.php +++ b/database/factories/MinecraftPlayerAliasFactory.php @@ -2,7 +2,7 @@ namespace Database\Factories; -use Entities\Models\Eloquent\MinecraftPlayerAlias; +use App\Models\MinecraftPlayerAlias; class MinecraftPlayerAliasFactory extends Factory { diff --git a/database/factories/MinecraftPlayerFactory.php b/database/factories/MinecraftPlayerFactory.php index c3aa8399d..5ba45845b 100644 --- a/database/factories/MinecraftPlayerFactory.php +++ b/database/factories/MinecraftPlayerFactory.php @@ -2,7 +2,7 @@ namespace Database\Factories; -use Entities\Models\Eloquent\MinecraftPlayer; +use App\Models\MinecraftPlayer; class MinecraftPlayerFactory extends Factory { diff --git a/database/factories/AccountPasswordResetFactory.php b/database/factories/PasswordResetFactory.php similarity index 70% rename from database/factories/AccountPasswordResetFactory.php rename to database/factories/PasswordResetFactory.php index c7da0f4b9..569cd4b1f 100644 --- a/database/factories/AccountPasswordResetFactory.php +++ b/database/factories/PasswordResetFactory.php @@ -2,18 +2,18 @@ namespace Database\Factories; -use Entities\Models\Eloquent\AccountPasswordReset; +use App\Core\Domains\Tokens\TokenGenerator; +use App\Models\PasswordReset; use Illuminate\Support\Facades\App; -use Library\Tokens\TokenGenerator; -class AccountPasswordResetFactory extends Factory +class PasswordResetFactory extends Factory { /** * The name of the factory's corresponding model. * * @var string */ - protected $model = AccountPasswordReset::class; + protected $model = PasswordReset::class; /** * Define the model's default state. diff --git a/database/factories/PlayerWarningFactory.php b/database/factories/PlayerWarningFactory.php index 55aadd0f6..63f38f456 100644 --- a/database/factories/PlayerWarningFactory.php +++ b/database/factories/PlayerWarningFactory.php @@ -2,9 +2,9 @@ namespace Database\Factories; +use App\Models\MinecraftPlayer; +use App\Models\PlayerWarning; use Carbon\Carbon; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\Eloquent\PlayerWarning; class PlayerWarningFactory extends Factory { diff --git a/database/factories/ServerCategoryFactory.php b/database/factories/ServerCategoryFactory.php index 69d8569b6..f8bb76f51 100644 --- a/database/factories/ServerCategoryFactory.php +++ b/database/factories/ServerCategoryFactory.php @@ -2,7 +2,7 @@ namespace Database\Factories; -use Entities\Models\Eloquent\ServerCategory; +use App\Models\ServerCategory; class ServerCategoryFactory extends Factory { diff --git a/database/factories/ServerFactory.php b/database/factories/ServerFactory.php index 11bf7b488..d0446d2cc 100644 --- a/database/factories/ServerFactory.php +++ b/database/factories/ServerFactory.php @@ -2,9 +2,8 @@ namespace Database\Factories; -use Entities\Models\Eloquent\Server; -use Entities\Models\Eloquent\ServerCategory; -use Entities\Models\GameType; +use App\Core\Data\GameType; +use App\Models\Server; class ServerFactory extends Factory { @@ -31,7 +30,6 @@ public function definition() 'is_port_visible' => true, 'is_visible' => true, 'is_querying' => true, - 'server_category_id' => ServerCategory::factory()->create()->getKey(), ]; } } diff --git a/database/factories/ServerTokenFactory.php b/database/factories/ServerTokenFactory.php index 9ec69813a..6ba88639b 100644 --- a/database/factories/ServerTokenFactory.php +++ b/database/factories/ServerTokenFactory.php @@ -2,7 +2,7 @@ namespace Database\Factories; -use Entities\Models\Eloquent\ServerToken; +use App\Models\ServerToken; use Illuminate\Support\Str; class ServerTokenFactory extends Factory diff --git a/database/factories/ShowcaseWarpFactory.php b/database/factories/ShowcaseWarpFactory.php index a36e1c437..901281412 100644 --- a/database/factories/ShowcaseWarpFactory.php +++ b/database/factories/ShowcaseWarpFactory.php @@ -2,7 +2,7 @@ namespace Database\Factories; -use Entities\Models\Eloquent\ShowcaseWarp; +use App\Models\ShowcaseWarp; class ShowcaseWarpFactory extends Factory { diff --git a/database/migrations/2021_07_31_134904_migrate_lifetime_donors.php b/database/migrations/2021_07_31_134904_migrate_lifetime_donors.php index 06aa00bd7..54448822b 100644 --- a/database/migrations/2021_07_31_134904_migrate_lifetime_donors.php +++ b/database/migrations/2021_07_31_134904_migrate_lifetime_donors.php @@ -1,8 +1,8 @@ dropForeign('servers_server_category_id_foreign'); + $table->dropColumn('server_category_id'); + }); + + Schema::drop('server_categories'); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + // + } +}; diff --git a/database/seeders/AccountSeeder.php b/database/seeders/AccountSeeder.php index cbcf13e85..32aa0a576 100644 --- a/database/seeders/AccountSeeder.php +++ b/database/seeders/AccountSeeder.php @@ -2,8 +2,8 @@ namespace Database\Seeders; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\Group; +use App\Models\Account; +use App\Models\Group; use Illuminate\Database\Seeder; use Illuminate\Support\Facades\Crypt; use Illuminate\Support\Facades\Hash; diff --git a/database/seeders/BadgeSeeder.php b/database/seeders/BadgeSeeder.php index 637b59435..ce93a5e53 100644 --- a/database/seeders/BadgeSeeder.php +++ b/database/seeders/BadgeSeeder.php @@ -2,7 +2,7 @@ namespace Database\Seeders; -use Entities\Models\Eloquent\Badge; +use App\Models\Badge; use Illuminate\Database\Seeder; class BadgeSeeder extends Seeder diff --git a/database/seeders/DonationSeeder.php b/database/seeders/DonationSeeder.php index ec5918477..04f7d5595 100644 --- a/database/seeders/DonationSeeder.php +++ b/database/seeders/DonationSeeder.php @@ -2,8 +2,8 @@ namespace Database\Seeders; -use Entities\Models\Eloquent\DonationTier; -use Entities\Models\Eloquent\StripeProduct; +use App\Models\DonationTier; +use App\Models\StripeProduct; use Illuminate\Database\Seeder; class DonationSeeder extends Seeder diff --git a/database/seeders/GameBanSeeder.php b/database/seeders/GameBanSeeder.php index 8665c3790..08664605b 100644 --- a/database/seeders/GameBanSeeder.php +++ b/database/seeders/GameBanSeeder.php @@ -2,10 +2,10 @@ namespace Database\Seeders; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\GameIPBan; -use Entities\Models\Eloquent\GamePlayerBan; -use Entities\Models\Eloquent\MinecraftPlayer; +use App\Models\Account; +use App\Models\GameIPBan; +use App\Models\GamePlayerBan; +use App\Models\MinecraftPlayer; use Illuminate\Database\Seeder; class GameBanSeeder extends Seeder diff --git a/database/seeders/GroupSeeder.php b/database/seeders/GroupSeeder.php index 0ad1a4486..6cb4e776f 100644 --- a/database/seeders/GroupSeeder.php +++ b/database/seeders/GroupSeeder.php @@ -2,9 +2,9 @@ namespace Database\Seeders; -use Entities\Models\Eloquent\Group; -use Entities\Models\Eloquent\GroupScope; -use Entities\Models\PanelGroupScope; +use App\Domains\Panel\Data\PanelGroupScope; +use App\Models\Group; +use App\Models\GroupScope; use Illuminate\Database\Seeder; class GroupSeeder extends Seeder diff --git a/database/seeders/MinecraftPlayerSeeder.php b/database/seeders/MinecraftPlayerSeeder.php index caef43659..177bff4ae 100644 --- a/database/seeders/MinecraftPlayerSeeder.php +++ b/database/seeders/MinecraftPlayerSeeder.php @@ -2,9 +2,9 @@ namespace Database\Seeders; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\Eloquent\MinecraftPlayerAlias; +use App\Models\Account; +use App\Models\MinecraftPlayer; +use App\Models\MinecraftPlayerAlias; use Illuminate\Database\Seeder; class MinecraftPlayerSeeder extends Seeder diff --git a/database/seeders/PlayerWarningSeeder.php b/database/seeders/PlayerWarningSeeder.php index 1d43b23c1..70a55e2ca 100644 --- a/database/seeders/PlayerWarningSeeder.php +++ b/database/seeders/PlayerWarningSeeder.php @@ -2,10 +2,10 @@ namespace Database\Seeders; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\Eloquent\MinecraftPlayerAlias; -use Entities\Models\Eloquent\PlayerWarning; +use App\Models\Account; +use App\Models\MinecraftPlayer; +use App\Models\MinecraftPlayerAlias; +use App\Models\PlayerWarning; use Illuminate\Database\Seeder; class PlayerWarningSeeder extends Seeder diff --git a/database/seeders/ServerSeeder.php b/database/seeders/ServerSeeder.php index 826c79a50..54123b4a2 100644 --- a/database/seeders/ServerSeeder.php +++ b/database/seeders/ServerSeeder.php @@ -2,23 +2,16 @@ namespace Database\Seeders; -use Entities\Models\Eloquent\Server; -use Entities\Models\Eloquent\ServerCategory; -use Entities\Models\GameType; +use App\Core\Data\GameType; +use App\Models\Server; use Illuminate\Database\Seeder; class ServerSeeder extends Seeder { public function run() { - $categoryMinecraft = ServerCategory::factory()->create([ - 'name' => 'minecraft', - 'display_order' => 1, - ]); - $minecraftServer = Server::factory()->create([ 'name' => 'Minecraft (Java)', - 'server_category_id' => $categoryMinecraft->server_category_id, 'game_type' => GameType::MINECRAFT->value, 'ip' => '158.69.120.168', 'ip_alias' => 'pcbmc.co', @@ -31,7 +24,6 @@ public function run() Server::factory()->create([ 'name' => 'Feed the Beast', - 'server_category_id' => $categoryMinecraft->server_category_id, 'game_type' => GameType::MINECRAFT->value, 'is_querying' => false, 'display_order' => 2, diff --git a/database/seeders/ServerTokenSeeder.php b/database/seeders/ServerTokenSeeder.php index 3acfadf29..ad2f8d66b 100644 --- a/database/seeders/ServerTokenSeeder.php +++ b/database/seeders/ServerTokenSeeder.php @@ -2,12 +2,12 @@ namespace Database\Seeders; -use Domain\ServerTokens\ScopeKey; -use Entities\Models\Eloquent\Server; -use Entities\Models\Eloquent\ServerToken; -use Entities\Models\Eloquent\ServerTokenScope; +use App\Core\Domains\Tokens\Adapters\HashedTokenGenerator; +use App\Domains\ServerTokens\ScopeKey; +use App\Models\Server; +use App\Models\ServerToken; +use App\Models\ServerTokenScope; use Illuminate\Database\Seeder; -use Library\Tokens\Adapters\HashedTokenGenerator; class ServerTokenSeeder extends Seeder { diff --git a/database/seeders/ShowcaseWarpSeeder.php b/database/seeders/ShowcaseWarpSeeder.php index 3347f7e9a..35f1f31ed 100644 --- a/database/seeders/ShowcaseWarpSeeder.php +++ b/database/seeders/ShowcaseWarpSeeder.php @@ -2,7 +2,7 @@ namespace Database\Seeders; -use Entities\Models\Eloquent\ShowcaseWarp; +use App\Models\ShowcaseWarp; use Illuminate\Database\Seeder; class ShowcaseWarpSeeder extends Seeder diff --git a/docker-compose.yml b/docker-compose.yml index ae46ffd02..8205dea12 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,95 +1,111 @@ -# For more information: https://laravel.com/docs/sail version: '3' services: - laravel.test: - build: - context: ./vendor/laravel/sail/runtimes/8.1 - dockerfile: Dockerfile - args: - WWWGROUP: '${WWWGROUP}' - image: sail-8.1/app - extra_hosts: - - 'host.docker.internal:host-gateway' - ports: - - '${APP_PORT:-80}:80' - - '${VITE_PORT:-5173}:${VITE_PORT:-5173}' - environment: - WWWUSER: '${WWWUSER}' - LARAVEL_SAIL: 1 - XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}' - XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}' - volumes: - - '.:/var/www/html' - networks: - - sail - depends_on: - - mariadb - - redis - - minio - - mailhog - mariadb: - image: 'mariadb:10' - ports: - - '${FORWARD_DB_PORT:-3306}:3306' - environment: - MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}' - MYSQL_ROOT_HOST: "%" - MYSQL_DATABASE: '${DB_DATABASE}' - MYSQL_USER: '${DB_USERNAME}' - MYSQL_PASSWORD: '${DB_PASSWORD}' - MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' - volumes: - - 'sail-mariadb:/var/lib/mysql' - - './vendor/laravel/sail/database/mysql/create-testing-database.sh:/docker-entrypoint-initdb.d/10-create-testing-database.sh' - networks: - - sail - healthcheck: - test: ["CMD", "mysqladmin", "ping", "-p${DB_PASSWORD}"] - retries: 3 - timeout: 5s - redis: - image: 'redis:alpine' - ports: - - '${FORWARD_REDIS_PORT:-6379}:6379' - volumes: - - 'sail-redis:/data' - networks: - - sail - healthcheck: - test: ["CMD", "redis-cli", "ping"] - retries: 3 - timeout: 5s - minio: - image: 'minio/minio:latest' - ports: - - '${FORWARD_MINIO_PORT:-9000}:9000' - - '${FORWARD_MINIO_CONSOLE_PORT:-8900}:8900' - environment: - MINIO_ROOT_USER: 'sail' - MINIO_ROOT_PASSWORD: 'password' - volumes: - - 'sail-minio:/data/minio' - networks: - - sail - command: minio server /data/minio --console-address ":8900" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] - retries: 3 - timeout: 5s - mailhog: - image: 'mailhog/mailhog:latest' - ports: - - '${FORWARD_MAILHOG_PORT:-1025}:1025' - - '${FORWARD_MAILHOG_DASHBOARD_PORT:-8025}:8025' - networks: - - sail + laravel.test: + build: + context: ./vendor/laravel/sail/runtimes/8.3 + dockerfile: Dockerfile + args: + WWWGROUP: '${WWWGROUP}' + image: sail-8.3/app + extra_hosts: + - 'host.docker.internal:host-gateway' + ports: + - '${APP_PORT:-80}:80' + - '${VITE_PORT:-5173}:${VITE_PORT:-5173}' + environment: + WWWUSER: '${WWWUSER}' + LARAVEL_SAIL: 1 + XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}' + XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}' + volumes: + - '.:/var/www/html' + networks: + - sail + depends_on: + - mariadb + - redis + - minio + - mailpit + mariadb: + image: 'mariadb:11.0.5' + ports: + - '${FORWARD_DB_PORT:-3306}:3306' + environment: + MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}' + MYSQL_ROOT_HOST: '%' + MYSQL_DATABASE: '${DB_DATABASE}' + MYSQL_USER: '${DB_USERNAME}' + MYSQL_PASSWORD: '${DB_PASSWORD}' + MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' + volumes: + - 'sail-mariadb:/var/lib/mysql' + - './vendor/laravel/sail/database/mariadb/create-testing-database.sh:/docker-entrypoint-initdb.d/10-create-testing-database.sh' + networks: + - sail + healthcheck: + test: + - CMD + - mysqladmin + - ping + - '-p${DB_PASSWORD}' + retries: 3 + timeout: 5s + redis: + image: 'redis:alpine' + ports: + - '${FORWARD_REDIS_PORT:-6379}:6379' + volumes: + - 'sail-redis:/data' + networks: + - sail + healthcheck: + test: + - CMD + - redis-cli + - ping + retries: 3 + timeout: 5s + minio: + image: 'minio/minio:latest' + ports: + - '${FORWARD_MINIO_PORT:-9000}:9000' + - '${FORWARD_MINIO_CONSOLE_PORT:-8900}:8900' + environment: + MINIO_ROOT_USER: sail + MINIO_ROOT_PASSWORD: password + volumes: + - 'sail-minio:/data/minio' + networks: + - sail + command: 'minio server /data/minio --console-address ":8900"' + healthcheck: + test: + - CMD + - curl + - '-f' + - 'http://localhost:9000/minio/health/live' + retries: 3 + timeout: 5s + mailpit: + image: 'axllent/mailpit:latest' + ports: + - '${FORWARD_MAILPIT_PORT:-1025}:1025' + - '${FORWARD_MAILPIT_DASHBOARD_PORT:-8025}:8025' + networks: + - sail + stripe-cli: + image: stripe/stripe-cli + container_name: stripe-cli + command: "listen --api-key ${STRIPE_SECRET} --device-name=${STRIPE_CLI_DEVICE_NAME} --forward-to http://laravel.test/stripe/webhook/" + networks: + - sail networks: - sail: - driver: bridge + sail: + driver: bridge volumes: - sail-mariadb: - driver: local - sail-redis: - driver: local - sail-minio: - driver: local + sail-mariadb: + driver: local + sail-redis: + driver: local + sail-minio: + driver: local diff --git a/domain/Balances/Exceptions/InsufficientBalanceException.php b/domain/Balances/Exceptions/InsufficientBalanceException.php deleted file mode 100644 index 5e71f7b98..000000000 --- a/domain/Balances/Exceptions/InsufficientBalanceException.php +++ /dev/null @@ -1,12 +0,0 @@ -playerLookup->find($identifier) - ?? throw new PlayerNotFoundException(); - - $account = $player->getLinkedAccount() - ?? throw new NoLinkedAccountException(); - - $balance = $account->balance; - $newBalance = $balance - $amount; - - if ($newBalance < 0) { - throw new InsufficientBalanceException(); - } - - DB::beginTransaction(); - try { - $this->balanceHistoryRepository->create( - accountId: $account->getKey(), - balanceBefore: $balance, - balanceAfter: $newBalance, - transactionAmount: -$amount, - reason: $reason, - ); - - $account->balance = $newBalance; - $account->save(); - - DB::commit(); - } catch (Exception $e) { - DB::rollBack(); - throw $e; - } - } -} diff --git a/domain/Balances/UseCases/GetBalance.php b/domain/Balances/UseCases/GetBalance.php deleted file mode 100644 index a06cf8dcf..000000000 --- a/domain/Balances/UseCases/GetBalance.php +++ /dev/null @@ -1,34 +0,0 @@ -playerLookup->find($identifier) - ?? throw new PlayerNotFoundException(); - - $account = $player->getLinkedAccount() - ?? throw new NoLinkedAccountException(); - - return $account->balance; - } -} diff --git a/domain/CurrencyRewarder/CurrencyRewarder.php b/domain/CurrencyRewarder/CurrencyRewarder.php deleted file mode 100644 index 1ca603ad5..000000000 --- a/domain/CurrencyRewarder/CurrencyRewarder.php +++ /dev/null @@ -1,74 +0,0 @@ -last_currency_reward_at === null) { - return false; - } - $thresholdDate = now()->addWeeks(-1); - - return $perk->last_currency_reward_at->gt($thresholdDate); - } - - /** - * @throws \Exception if donation tier reward amount is >= 0 - */ - public function rewardTo(DonationPerk $perk) - { - if ($this->isAlreadyRewarded($perk)) { - Log::info('Currency already rewarded. Skipping...', ['donation_perk_id' => $perk->getKey()]); - - return; - } - - $donationTier = $perk->donationTier; - $account = $perk->account; - - $rewardAmount = $donationTier->currency_reward; - if ($rewardAmount <= 0) { - throw new \Exception('Donation tier reward amount must be greater than 0'); - } - - DB::beginTransaction(); - try { - $newBalance = $account->balance + $rewardAmount; - - $this->balanceHistoryRepository->create( - accountId: $account->getKey(), - balanceBefore: $account->balance, - balanceAfter: $newBalance, - transactionAmount: $rewardAmount, - reason: 'Donation tier reward', - ); - - $account->balance = $newBalance; - $account->save(); - - $perk->last_currency_reward_at = now(); - $perk->save(); - - DB::commit(); - } catch (\Exception $e) { - DB::rollBack(); - throw $e; - } - - $account->notify(new DonationTierCurrencyAwarded($rewardAmount)); - } -} diff --git a/domain/CurrencyRewarder/CurrencyRewarderProvider.php b/domain/CurrencyRewarder/CurrencyRewarderProvider.php deleted file mode 100644 index 8dab7e6f1..000000000 --- a/domain/CurrencyRewarder/CurrencyRewarderProvider.php +++ /dev/null @@ -1,23 +0,0 @@ -donationPerk); - }); - } -} diff --git a/domain/CurrencyRewarder/Jobs/RewardCurrencyJob.php b/domain/CurrencyRewarder/Jobs/RewardCurrencyJob.php deleted file mode 100644 index c1e44c97b..000000000 --- a/domain/CurrencyRewarder/Jobs/RewardCurrencyJob.php +++ /dev/null @@ -1,31 +0,0 @@ -rewardTo($this->perk); - } -} diff --git a/domain/CurrencyRewarder/UseCases/RewardCurrency.php b/domain/CurrencyRewarder/UseCases/RewardCurrency.php deleted file mode 100644 index 3ee0c0799..000000000 --- a/domain/CurrencyRewarder/UseCases/RewardCurrency.php +++ /dev/null @@ -1,26 +0,0 @@ -= 0 - */ - public function execute() - { - $this->donationPerkRepository - ->getUnrewarded(since: now()->addWeeks(-1)) - ->filter(fn ($dt) => $dt->donationTier !== null && $dt->account !== null) - ->each(fn ($perk) => RewardCurrencyJob::dispatch($perk)); - } -} diff --git a/domain/ServerStatus/Events/ServerStatusFetched.php b/domain/ServerStatus/Events/ServerStatusFetched.php deleted file mode 100644 index 52e3624e1..000000000 --- a/domain/ServerStatus/Events/ServerStatusFetched.php +++ /dev/null @@ -1,27 +0,0 @@ -result = $result; - $this->gameType = $gameType; - $this->fetchTimestamp = $fetchTimestamp; - } -} diff --git a/domain/ServerStatus/Exceptions/UnsupportedGameException.php b/domain/ServerStatus/Exceptions/UnsupportedGameException.php deleted file mode 100644 index b4d8178c4..000000000 --- a/domain/ServerStatus/Exceptions/UnsupportedGameException.php +++ /dev/null @@ -1,7 +0,0 @@ - 'boolean', - ]; - - public function auditAttributeConfig(): AuditAttributes - { - return AuditAttributes::build() - ->add('url', 'title', 'description') - ->addMultiline('contents') - ->addBoolean('is_draft'); - } - - public function getActivitySubjectName(): ?string - { - return $this->title; - } - - public function getActivitySubjectLink(): ?string - { - return route('front.panel.pages.edit', $this); - } -} diff --git a/entities/Models/Eloquent/ServerCategory.php b/entities/Models/Eloquent/ServerCategory.php deleted file mode 100644 index 90e95c51e..000000000 --- a/entities/Models/Eloquent/ServerCategory.php +++ /dev/null @@ -1,31 +0,0 @@ -hasMany('Entities\Models\Eloquent\Server', 'server_category_id', 'server_category_id'); - } -} diff --git a/entities/Notifications/DonationTierCurrencyAwarded.php b/entities/Notifications/DonationTierCurrencyAwarded.php deleted file mode 100644 index 03b9e74c7..000000000 --- a/entities/Notifications/DonationTierCurrencyAwarded.php +++ /dev/null @@ -1,74 +0,0 @@ - 'mail', - ]; - } - - /** - * Get the mail representation of the notification. - * - * - * @return \Illuminate\Notifications\Messages\MailMessage - */ - public function toMail($notifiable) - { - return (new MailMessage()) - ->subject('You received '.$this->amount.' tickets!') - ->greeting('You received '.$this->amount.' tickets!') - ->line('Tickets are automatically awarded every week based on your current donation tier.') - ->line('They can be used to purchase cosmetics and effects in-game using the /cosmetics command.') - ->action('View Your Balance', route('front.account.profile')) - ->line('If you have any questions, please ask a member of PCB staff on our forums or Discord'); - } - - /** - * Get the array representation of the notification. - * - * - * @return array - */ - public function toArray($notifiable) - { - return [ - - ]; - } -} diff --git a/entities/Resources/ServerCategoryResource.php b/entities/Resources/ServerCategoryResource.php deleted file mode 100644 index e949392f2..000000000 --- a/entities/Resources/ServerCategoryResource.php +++ /dev/null @@ -1,19 +0,0 @@ - $this->server_category_id, - 'name' => $this->name, - 'display_order' => $this->display_order, - - 'servers' => ServerResource::collection($this->whenLoaded('servers')), - ]; - } -} diff --git a/library/Google2FA/Exceptions/Dangerous2FABypassException.php b/library/Google2FA/Exceptions/Dangerous2FABypassException.php deleted file mode 100644 index 319c9cdea..000000000 --- a/library/Google2FA/Exceptions/Dangerous2FABypassException.php +++ /dev/null @@ -1,7 +0,0 @@ -loggerFactory; - $logger = $factory(config: []); - $logger->info('Hello World'); - } -} diff --git a/library/Mojang/Api/MojangPlayerApiThrottled.php b/library/Mojang/Api/MojangPlayerApiThrottled.php deleted file mode 100644 index ff428447b..000000000 --- a/library/Mojang/Api/MojangPlayerApiThrottled.php +++ /dev/null @@ -1,79 +0,0 @@ -throttle(); - - return parent::getUuidOf($name, $time); - } - - public function getOriginalOwnerUuidOf(string $name): ?MojangPlayer - { - $this->throttle(); - - return parent::getOriginalOwnerUuidOf($name); - } - - public function getUuidBatchOf(array $names): ?array - { - $this->throttle(); - - return parent::getUuidBatchOf($names); - } - - public function getNameHistoryOf($uuid): ?MojangPlayerNameHistory - { - $this->throttle(); - - return parent::getNameHistoryOf($uuid); - } - - public function getNameHistoryByNameOf($name): ?MojangPlayerNameHistory - { - $this->throttle(); - - return parent::getNameHistoryByNameOf($name); - } - - private function getTokenBucket(): TokenBucket - { - if ($this->tokenBucket === null) { - $refillRate = TokenRate::refill(600)->every(10, TokenRate::MINUTES); - $storage = new FileTokenStorage(storage_path('mojang-api.ratelimit'), 600); - - $this->tokenBucket = new TokenBucket(600, $refillRate, $storage); - } - - return $this->tokenBucket; - } - - private function throttle(): bool - { - if (! $this->getTokenBucket()->consume(1)) { - throw new TooManyRequestsException('mojang_throttled', 'Too many requests. Please try again later'); - } - - return true; - } -} diff --git a/library/Mojang/Models/MojangPlayer.php b/library/Mojang/Models/MojangPlayer.php deleted file mode 100644 index a22b25492..000000000 --- a/library/Mojang/Models/MojangPlayer.php +++ /dev/null @@ -1,66 +0,0 @@ -uuid = $uuid; - $this->alias = $alias; - $this->isLegacyAccount = $isLegacyAccount; - $this->isDemoAccount = $isDemoAccount; - } - - public function getUuid(): string - { - return $this->uuid; - } - - public function getAlias(): string - { - return $this->alias; - } - - public function isLegacyAccount(): bool - { - return $this->isLegacyAccount; - } - - public function isDemoAccount(): bool - { - return $this->isDemoAccount; - } -} diff --git a/library/Random/Adapters/RandomStringConcrete.php b/library/Random/Adapters/RandomStringConcrete.php deleted file mode 100644 index eccbae5fb..000000000 --- a/library/Random/Adapters/RandomStringConcrete.php +++ /dev/null @@ -1,18 +0,0 @@ -output; - } -} diff --git a/library/Random/RandomProvider.php b/library/Random/RandomProvider.php deleted file mode 100644 index 8ebb3c172..000000000 --- a/library/Random/RandomProvider.php +++ /dev/null @@ -1,17 +0,0 @@ -app->bind(RandomStringGenerator::class, RandomStringConcrete::class); - } -} diff --git a/library/Random/RandomStringGenerator.php b/library/Random/RandomStringGenerator.php deleted file mode 100644 index 5ef432cc4..000000000 --- a/library/Random/RandomStringGenerator.php +++ /dev/null @@ -1,8 +0,0 @@ -filePath = $filePath; - $this->initialTokens = $initialTokens; - } - - public function bootstrap() - { - } - - /** - * Reads from file (with a shared read-access lock). - */ - public function deserialize(): TokenState - { - if (! $this->fileExists()) { - touch($this->filePath); - - return new TokenState($this->initialTokens, 0); - } - - return $this->withLock(false, function ($file) { - $json = stream_get_contents($file); - - return TokenState::fromJSON($json); - }); - } - - /** - * Writes to file (with an exclusive lock). - * - * - * @return void - */ - public function serialize(TokenState $data) - { - $this->withLock(true, function ($file) use ($data) { - fwrite($file, $data->toJSON()); - }); - } - - /** - * Obtains an exclusive file lock for writing, - * or a shared (read-only) lock for reading. - * - * @param $file - * @return bool Whether lock succeeded - */ - private function obtainLock($file, bool $forWriting = false): bool - { - return flock($file, $forWriting ? LOCK_EX : LOCK_SH); - } - - /** - * Unlocks the given file to allow other - * processes access to it. - * - * @param resource $resource - * @return bool Whether unlock succeeded - */ - private function unlock($resource): bool - { - return flock($resource, LOCK_UN); - } - - /** - * Runs a closure on a resource after obtaining - * a file lock. The file is automatically unlocked - * and closed regardless of failure. - */ - private function withLock(bool $forWriting, \Closure $block): ?TokenState - { - $file = fopen($this->filePath, $forWriting ? 'w+' : 'r+'); - - $result = null; - if ($this->obtainLock($file, $forWriting)) { - try { - $result = $block($file); - } finally { - $this->unlock($file); - fclose($file); - } - - return $result; - } - throw new \Exception('Failed to obtain file lock for token storage'); - } - - /** - * Returns whether the file already exists or not. - */ - private function fileExists(): bool - { - return file_exists($this->filePath); - } -} diff --git a/library/RateLimit/Storage/MemoryTokenStorage.php b/library/RateLimit/Storage/MemoryTokenStorage.php deleted file mode 100644 index ae5a84198..000000000 --- a/library/RateLimit/Storage/MemoryTokenStorage.php +++ /dev/null @@ -1,53 +0,0 @@ -key = $key; - $this->initialTokens = $initialTokens; - } - - public function bootstrap() - { - } - - public function deserialize(): TokenState - { - if (array_key_exists($this->key, $this->store)) { - $storedData = $this->store[$this->key]; - - return TokenState::fromArray($storedData); - } - - return new TokenState($this->initialTokens, 0); - } - - public function serialize(TokenState $data) - { - $this->store[$this->key] = $data->toArray(); - } -} diff --git a/library/RateLimit/Storage/SessionTokenStorage.php b/library/RateLimit/Storage/SessionTokenStorage.php deleted file mode 100644 index cc8853708..000000000 --- a/library/RateLimit/Storage/SessionTokenStorage.php +++ /dev/null @@ -1,48 +0,0 @@ -sessionName = $sessionName; - $this->initialTokens = $initialTokens; - } - - public function bootstrap() - { - } - - public function deserialize(): TokenState - { - $storedData = Session::get($this->sessionName); - if ($storedData === null) { - return new TokenState($this->initialTokens, 0); - } - - return TokenState::fromArray($storedData); - } - - public function serialize(TokenState $data) - { - Session::put($this->sessionName, $data->toArray()); - } -} diff --git a/library/RateLimit/TokenBucket.php b/library/RateLimit/TokenBucket.php deleted file mode 100644 index 2cb9da103..000000000 --- a/library/RateLimit/TokenBucket.php +++ /dev/null @@ -1,84 +0,0 @@ -capacity = $capacity; - $this->rate = $refillRate; - $this->storage = $storage; - - $this->storage->bootstrap(); - } - - /** - * Attempts to consume the given number of tokens. - * Returns false if not enough tokens are available, - * or true otherwise. - * - * - * @return bool Were enough tokens available? - */ - public function consume(int $tokensToConsume = 1): bool - { - $now = microtime(true); - - $availableTokens = $this->getAvailableTokens(); - $remainingTokens = $availableTokens - $tokensToConsume; - - if ($remainingTokens <= 0) { - return false; - } - - $state = new TokenState($remainingTokens, $now); - $this->storage->serialize($state); - - return true; - } - - /** - * Returns the number of tokens currently - * available for consumption. - */ - public function getAvailableTokens(): float - { - $storedData = $this->storage->deserialize(); - - if ($storedData->lastConsumeTime === 0.0) { - $availableTokens = $storedData->tokensAvailable; - } else { - $secondsSinceLastConsume = microtime(true) - $storedData->lastConsumeTime; - - $refilledAmount = $secondsSinceLastConsume * $this->rate->getRefillPerSecond() * $this->rate->getRefillAmount(); - $availableTokens = $storedData->tokensAvailable + $refilledAmount; - $availableTokens = min($this->capacity, $availableTokens); - } - - return $availableTokens; - } - - public function getCapacity(): int - { - return $this->capacity; - } -} diff --git a/library/RateLimit/TokenRate.php b/library/RateLimit/TokenRate.php deleted file mode 100644 index 4d591ac2a..000000000 --- a/library/RateLimit/TokenRate.php +++ /dev/null @@ -1,63 +0,0 @@ -tokensToRefill = $tokensToRefill; - } - - public function getRefillPerSecond(): float - { - return 1 / ($this->interval * $this->rate); - } - - public function getRefillAmount(): int - { - return $this->tokensToRefill; - } - - /** - * Number of tokens to refill each time. - */ - public static function refill(float $tokensToRefill): TokenRate - { - return new TokenRate($tokensToRefill); - } - - /** - * Specifies the amount of time to - * wait between refills. - */ - public function every(float $interval, int $rate): TokenRate - { - $this->interval = $interval; - $this->rate = $rate; - - return $this; - } -} diff --git a/library/RateLimit/TokenState.php b/library/RateLimit/TokenState.php deleted file mode 100644 index dccf9637e..000000000 --- a/library/RateLimit/TokenState.php +++ /dev/null @@ -1,49 +0,0 @@ -tokensAvailable = $tokensAvailable; - $this->lastConsumeTime = $lastConsumeTime; - } - - public function toJSON(): string - { - return json_encode($this->toArray()); - } - - public function toArray(): array - { - return [ - 'available' => $this->tokensAvailable, - 'last_consume' => $this->lastConsumeTime, - ]; - } - - public static function fromJSON(string $json): TokenState - { - $tokens = json_decode($json, true); - - return new TokenState($tokens['available'], - $tokens['last_consume']); - } - - public static function fromArray(array $array): TokenState - { - return new TokenState($array['available'], - $array['last_consume']); - } -} diff --git a/library/RateLimit/TokenStorable.php b/library/RateLimit/TokenStorable.php deleted file mode 100644 index ac0f0a94d..000000000 --- a/library/RateLimit/TokenStorable.php +++ /dev/null @@ -1,12 +0,0 @@ -captureException( - new Exception('Sentry integration test. Ignore this') - ); - } -} diff --git a/library/SignedURL/SignedURLProvider.php b/library/SignedURL/SignedURLProvider.php deleted file mode 100644 index a332abc1b..000000000 --- a/library/SignedURL/SignedURLProvider.php +++ /dev/null @@ -1,17 +0,0 @@ -app->bind(abstract: SignedURLGenerator::class, concrete: LaravelSignedURLGenerator::class); - } -} diff --git a/package-lock.json b/package-lock.json index a0429f4c2..665aed56c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "@types/jquery": "^3.5.5", "@types/selectize": "^0.12.34", "@vitejs/plugin-vue": "^3.0.3", + "autoprefixer": "^10.4.20", "axios": "^0.25", "bootstrap": "^5.0.1", "choices.js": "^10.1.0", @@ -16,13 +17,27 @@ "jquery": "^3.6.0", "laravel-vite-plugin": "^0.5.4", "normalize-scss": "^7.0.0", + "postcss": "^8.4.41", "sass": "^1.51.0", + "tailwindcss": "^3.4.10", "typescript": "^4.6.4", "vite": "^3.0.9", "vue": "^3.2.25", "vue-template-compiler": "^2.6.12" } }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@babel/parser": { "version": "7.17.10", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.10.tgz", @@ -47,10 +62,26 @@ "node": ">=6.9.0" } }, + "node_modules/@esbuild/android-arm": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.18.tgz", + "integrity": "sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@esbuild/linux-loong64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz", - "integrity": "sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz", + "integrity": "sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==", "cpu": [ "loong64" ], @@ -63,24 +94,51 @@ "node": ">=12" } }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", - "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, - "optional": true, - "peer": true, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz", - "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, - "optional": true, - "peer": true, "engines": { "node": ">=6.0.0" } @@ -97,40 +155,65 @@ "@jridgewell/trace-mapping": "^0.3.9" } }, - "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": ">=6.0.0" + "node": ">= 8" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.13", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", - "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, - "optional": true, - "peer": true + "engines": { + "node": ">= 8" + } }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.10", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.10.tgz", - "integrity": "sha512-Q0YbBd6OTsXm8Y21+YUSDXupHnodNC2M4O18jtd3iwJ3+vMZNdKGols0a9G6JOK0dcJ3IdUUHoh908ZI6qhk8Q==", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" } }, "node_modules/@popperjs/core": { @@ -313,6 +396,36 @@ "node": ">=0.4.0" } }, + "node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, "node_modules/anymatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", @@ -326,6 +439,49 @@ "node": ">= 8" } }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/autoprefixer": { + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, "node_modules/axios": { "version": "0.25.0", "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", @@ -335,6 +491,12 @@ "follow-redirects": "^1.14.7" } }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -357,18 +519,59 @@ "@popperjs/core": "^2.10.2" } }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" } }, + "node_modules/browserslist": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "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", @@ -377,6 +580,35 @@ "optional": true, "peer": true }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001651", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz", + "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, "node_modules/choices.js": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/choices.js/-/choices.js-10.1.0.tgz", @@ -415,6 +647,59 @@ "fsevents": "~2.3.2" } }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/csstype": { "version": "2.6.20", "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz", @@ -449,10 +734,40 @@ "node": ">=0.10.0" } }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.5.12", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.12.tgz", + "integrity": "sha512-tIhPkdlEoCL1Y+PToq3zRNehUaKp3wBX/sr7aclAWdIWjvqAe/Im/H0SiCM4c1Q8BLPHCdoJTol+ZblflydehA==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, "node_modules/esbuild": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.54.tgz", - "integrity": "sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz", + "integrity": "sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==", "dev": true, "hasInstallScript": true, "bin": { @@ -462,33 +777,34 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/linux-loong64": "0.14.54", - "esbuild-android-64": "0.14.54", - "esbuild-android-arm64": "0.14.54", - "esbuild-darwin-64": "0.14.54", - "esbuild-darwin-arm64": "0.14.54", - "esbuild-freebsd-64": "0.14.54", - "esbuild-freebsd-arm64": "0.14.54", - "esbuild-linux-32": "0.14.54", - "esbuild-linux-64": "0.14.54", - "esbuild-linux-arm": "0.14.54", - "esbuild-linux-arm64": "0.14.54", - "esbuild-linux-mips64le": "0.14.54", - "esbuild-linux-ppc64le": "0.14.54", - "esbuild-linux-riscv64": "0.14.54", - "esbuild-linux-s390x": "0.14.54", - "esbuild-netbsd-64": "0.14.54", - "esbuild-openbsd-64": "0.14.54", - "esbuild-sunos-64": "0.14.54", - "esbuild-windows-32": "0.14.54", - "esbuild-windows-64": "0.14.54", - "esbuild-windows-arm64": "0.14.54" + "@esbuild/android-arm": "0.15.18", + "@esbuild/linux-loong64": "0.15.18", + "esbuild-android-64": "0.15.18", + "esbuild-android-arm64": "0.15.18", + "esbuild-darwin-64": "0.15.18", + "esbuild-darwin-arm64": "0.15.18", + "esbuild-freebsd-64": "0.15.18", + "esbuild-freebsd-arm64": "0.15.18", + "esbuild-linux-32": "0.15.18", + "esbuild-linux-64": "0.15.18", + "esbuild-linux-arm": "0.15.18", + "esbuild-linux-arm64": "0.15.18", + "esbuild-linux-mips64le": "0.15.18", + "esbuild-linux-ppc64le": "0.15.18", + "esbuild-linux-riscv64": "0.15.18", + "esbuild-linux-s390x": "0.15.18", + "esbuild-netbsd-64": "0.15.18", + "esbuild-openbsd-64": "0.15.18", + "esbuild-sunos-64": "0.15.18", + "esbuild-windows-32": "0.15.18", + "esbuild-windows-64": "0.15.18", + "esbuild-windows-arm64": "0.15.18" } }, "node_modules/esbuild-android-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz", - "integrity": "sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz", + "integrity": "sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==", "cpu": [ "x64" ], @@ -502,9 +818,9 @@ } }, "node_modules/esbuild-android-arm64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz", - "integrity": "sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz", + "integrity": "sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==", "cpu": [ "arm64" ], @@ -518,9 +834,9 @@ } }, "node_modules/esbuild-darwin-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz", - "integrity": "sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz", + "integrity": "sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==", "cpu": [ "x64" ], @@ -534,9 +850,9 @@ } }, "node_modules/esbuild-darwin-arm64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz", - "integrity": "sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz", + "integrity": "sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==", "cpu": [ "arm64" ], @@ -550,9 +866,9 @@ } }, "node_modules/esbuild-freebsd-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz", - "integrity": "sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz", + "integrity": "sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==", "cpu": [ "x64" ], @@ -566,9 +882,9 @@ } }, "node_modules/esbuild-freebsd-arm64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz", - "integrity": "sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz", + "integrity": "sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==", "cpu": [ "arm64" ], @@ -582,9 +898,9 @@ } }, "node_modules/esbuild-linux-32": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz", - "integrity": "sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz", + "integrity": "sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==", "cpu": [ "ia32" ], @@ -598,9 +914,9 @@ } }, "node_modules/esbuild-linux-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz", - "integrity": "sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz", + "integrity": "sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==", "cpu": [ "x64" ], @@ -614,9 +930,9 @@ } }, "node_modules/esbuild-linux-arm": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz", - "integrity": "sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz", + "integrity": "sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==", "cpu": [ "arm" ], @@ -630,9 +946,9 @@ } }, "node_modules/esbuild-linux-arm64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz", - "integrity": "sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz", + "integrity": "sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==", "cpu": [ "arm64" ], @@ -646,9 +962,9 @@ } }, "node_modules/esbuild-linux-mips64le": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz", - "integrity": "sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz", + "integrity": "sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==", "cpu": [ "mips64el" ], @@ -662,9 +978,9 @@ } }, "node_modules/esbuild-linux-ppc64le": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz", - "integrity": "sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz", + "integrity": "sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==", "cpu": [ "ppc64" ], @@ -678,9 +994,9 @@ } }, "node_modules/esbuild-linux-riscv64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz", - "integrity": "sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz", + "integrity": "sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==", "cpu": [ "riscv64" ], @@ -694,9 +1010,9 @@ } }, "node_modules/esbuild-linux-s390x": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz", - "integrity": "sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz", + "integrity": "sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==", "cpu": [ "s390x" ], @@ -710,9 +1026,9 @@ } }, "node_modules/esbuild-netbsd-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz", - "integrity": "sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz", + "integrity": "sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==", "cpu": [ "x64" ], @@ -726,9 +1042,9 @@ } }, "node_modules/esbuild-openbsd-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz", - "integrity": "sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz", + "integrity": "sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==", "cpu": [ "x64" ], @@ -742,9 +1058,9 @@ } }, "node_modules/esbuild-sunos-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz", - "integrity": "sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz", + "integrity": "sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==", "cpu": [ "x64" ], @@ -758,9 +1074,9 @@ } }, "node_modules/esbuild-windows-32": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz", - "integrity": "sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz", + "integrity": "sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==", "cpu": [ "ia32" ], @@ -774,9 +1090,9 @@ } }, "node_modules/esbuild-windows-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz", - "integrity": "sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz", + "integrity": "sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==", "cpu": [ "x64" ], @@ -790,9 +1106,9 @@ } }, "node_modules/esbuild-windows-arm64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz", - "integrity": "sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz", + "integrity": "sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==", "cpu": [ "arm64" ], @@ -805,16 +1121,50 @@ "node": ">=12" } }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" @@ -843,6 +1193,35 @@ } } }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, "node_modules/fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", @@ -858,10 +1237,13 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/fuse.js": { "version": "6.6.2", @@ -872,6 +1254,26 @@ "node": ">=10" } }, + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", @@ -884,16 +1286,16 @@ "node": ">= 6" } }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, "dependencies": { - "function-bind": "^1.1.1" + "function-bind": "^1.1.2" }, "engines": { - "node": ">= 0.4.0" + "node": ">= 0.4" } }, "node_modules/he": { @@ -924,12 +1326,15 @@ } }, "node_modules/is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", + "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", "dev": true, "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -944,6 +1349,15 @@ "node": ">=0.10.0" } }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -965,19 +1379,49 @@ "node": ">=0.12.0" } }, - "node_modules/jquery": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", - "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==", + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, - "node_modules/laravel-vite-plugin": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/laravel-vite-plugin/-/laravel-vite-plugin-0.5.4.tgz", - "integrity": "sha512-LSLLul+YwY3egz0fzO4TPEGtUQAL4F2hrrt5wfQo3OzUfjVrqtRy0w1Zkw/g8CkfUyAZhr59oc/RxvPmpF9czg==", + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, "dependencies": { - "vite-plugin-full-reload": "^1.0.1" + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/jquery": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", + "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==", + "dev": true + }, + "node_modules/laravel-vite-plugin": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/laravel-vite-plugin/-/laravel-vite-plugin-0.5.4.tgz", + "integrity": "sha512-LSLLul+YwY3egz0fzO4TPEGtUQAL4F2hrrt5wfQo3OzUfjVrqtRy0w1Zkw/g8CkfUyAZhr59oc/RxvPmpF9czg==", + "dev": true, + "dependencies": { + "vite-plugin-full-reload": "^1.0.1" }, "engines": { "node": ">=14" @@ -986,6 +1430,27 @@ "vite": "^3.0.0" } }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true + }, "node_modules/magic-string": { "version": "0.25.9", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", @@ -995,11 +1460,74 @@ "sourcemap-codec": "^1.4.8" } }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -1007,6 +1535,12 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "dev": true + }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -1016,22 +1550,80 @@ "node": ">=0.10.0" } }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/normalize-scss": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/normalize-scss/-/normalize-scss-7.0.1.tgz", "integrity": "sha512-qj16bWnYs+9/ac29IgGjySg4R5qQTp1lXfm7ApFOZNVBYFY8RZ3f8+XQNDDLHeDtI3Ba7Jj4+LuPgz9v/fne2A==", "dev": true }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", "dev": true }, "node_modules/picomatch": { @@ -1046,10 +1638,28 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/postcss": { - "version": "8.4.16", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz", - "integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==", + "version": "8.4.41", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", + "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", "dev": true, "funding": [ { @@ -1059,17 +1669,177 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" }, "engines": { "node": "^10 || ^12 || >=14" } }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "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/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -1098,12 +1868,12 @@ "dev": true }, "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, "dependencies": { - "is-core-module": "^2.9.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -1114,10 +1884,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, "node_modules/rollup": { - "version": "2.77.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.77.3.tgz", - "integrity": "sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g==", + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -1129,6 +1909,29 @@ "fsevents": "~2.3.2" } }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "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" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, "node_modules/sass": { "version": "1.51.0", "resolved": "https://registry.npmjs.org/sass/-/sass-1.51.0.tgz", @@ -1146,6 +1949,39 @@ "node": ">=12.0.0" } }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -1156,9 +1992,9 @@ } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "dev": true, "engines": { "node": ">=0.10.0" @@ -1182,6 +2018,124 @@ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", "dev": true }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "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/string-width-cjs/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/string-width-cjs/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/string-width-cjs/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/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "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/strip-ansi-cjs/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/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "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", @@ -1194,6 +2148,55 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/tailwindcss": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.10.tgz", + "integrity": "sha512-KWZkVPm7yJRhdu4SRSl9d4AK2wM3a50UsvgHZO7xY77NQr2V+fIrEuoDGQcbvswWvFGbS2f6e+jC/6WJm1Dl0w==", + "dev": true, + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/terser": { "version": "5.14.2", "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", @@ -1222,6 +2225,27 @@ "optional": true, "peer": true }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -1234,6 +2258,12 @@ "node": ">=8.0" } }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, "node_modules/typescript": { "version": "4.6.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", @@ -1247,16 +2277,52 @@ "node": ">=4.2.0" } }, + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, "node_modules/vite": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/vite/-/vite-3.0.9.tgz", - "integrity": "sha512-waYABTM+G6DBTCpYAxvevpG50UOlZuynR0ckTK5PawNVt7ebX6X7wNXHaGIO6wYYFXSM7/WcuFuO2QzhBB6aMw==", + "version": "3.2.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.10.tgz", + "integrity": "sha512-Dx3olBo/ODNiMVk/cA5Yft9Ws+snLOXrhLtrI3F4XLt4syz2Yg8fayZMWScPKoz12v5BUv7VEmQHnsfpY80fYw==", "dev": true, "dependencies": { - "esbuild": "^0.14.47", - "postcss": "^8.4.16", + "esbuild": "^0.15.9", + "postcss": "^8.4.18", "resolve": "^1.22.1", - "rollup": ">=2.75.6 <2.77.0 || ~2.77.0" + "rollup": "^2.79.1" }, "bin": { "vite": "bin/vite.js" @@ -1268,12 +2334,17 @@ "fsevents": "~2.3.2" }, "peerDependencies": { + "@types/node": ">= 14", "less": "*", "sass": "*", "stylus": "*", + "sugarss": "*", "terser": "^5.4.0" }, "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, "less": { "optional": true }, @@ -1283,6 +2354,9 @@ "stylus": { "optional": true }, + "sugarss": { + "optional": true + }, "terser": { "optional": true } @@ -1323,9 +2397,133 @@ "de-indent": "^1.0.2", "he": "^1.1.0" } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "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/wrap-ansi-cjs/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/wrap-ansi-cjs/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/wrap-ansi-cjs/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/wrap-ansi-cjs/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/wrap-ansi-cjs/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/yaml": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", + "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", + "dev": true, + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } } }, "dependencies": { + "@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true + }, "@babel/parser": { "version": "7.17.10", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.10.tgz", @@ -1341,28 +2539,56 @@ "regenerator-runtime": "^0.13.4" } }, + "@esbuild/android-arm": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.18.tgz", + "integrity": "sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==", + "dev": true, + "optional": true + }, "@esbuild/linux-loong64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz", - "integrity": "sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz", + "integrity": "sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==", "dev": true, "optional": true }, - "@jridgewell/resolve-uri": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", - "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, - "optional": true, - "peer": true + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + } }, - "@jridgewell/set-array": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz", - "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==", + "@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, - "optional": true, - "peer": true + "requires": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true }, "@jridgewell/source-map": { "version": "0.3.2", @@ -1374,43 +2600,57 @@ "requires": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } } }, "@jridgewell/sourcemap-codec": { - "version": "1.4.13", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", - "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", - "dev": true, - "optional": true, - "peer": true + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.10", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.10.tgz", - "integrity": "sha512-Q0YbBd6OTsXm8Y21+YUSDXupHnodNC2M4O18jtd3iwJ3+vMZNdKGols0a9G6JOK0dcJ3IdUUHoh908ZI6qhk8Q==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, - "optional": true, - "peer": true, "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" } }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true + }, "@popperjs/core": { "version": "2.11.5", "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz", @@ -1572,6 +2812,24 @@ "optional": true, "peer": true }, + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, "anymatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", @@ -1582,6 +2840,26 @@ "picomatch": "^2.0.4" } }, + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "autoprefixer": { + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", + "dev": true, + "requires": { + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.1", + "postcss-value-parser": "^4.2.0" + } + }, "axios": { "version": "0.25.0", "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", @@ -1591,6 +2869,12 @@ "follow-redirects": "^1.14.7" } }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -1604,13 +2888,34 @@ "dev": true, "requires": {} }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "requires": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" + } + }, + "browserslist": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" } }, "buffer-from": { @@ -1621,6 +2926,18 @@ "optional": true, "peer": true }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001651", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz", + "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==", + "dev": true + }, "choices.js": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/choices.js/-/choices.js-10.1.0.tgz", @@ -1648,6 +2965,44 @@ "readdirp": "~3.6.0" } }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, "csstype": { "version": "2.6.20", "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz", @@ -1672,185 +3027,244 @@ "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", "dev": true }, + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.5.12", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.12.tgz", + "integrity": "sha512-tIhPkdlEoCL1Y+PToq3zRNehUaKp3wBX/sr7aclAWdIWjvqAe/Im/H0SiCM4c1Q8BLPHCdoJTol+ZblflydehA==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, "esbuild": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.54.tgz", - "integrity": "sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==", - "dev": true, - "requires": { - "@esbuild/linux-loong64": "0.14.54", - "esbuild-android-64": "0.14.54", - "esbuild-android-arm64": "0.14.54", - "esbuild-darwin-64": "0.14.54", - "esbuild-darwin-arm64": "0.14.54", - "esbuild-freebsd-64": "0.14.54", - "esbuild-freebsd-arm64": "0.14.54", - "esbuild-linux-32": "0.14.54", - "esbuild-linux-64": "0.14.54", - "esbuild-linux-arm": "0.14.54", - "esbuild-linux-arm64": "0.14.54", - "esbuild-linux-mips64le": "0.14.54", - "esbuild-linux-ppc64le": "0.14.54", - "esbuild-linux-riscv64": "0.14.54", - "esbuild-linux-s390x": "0.14.54", - "esbuild-netbsd-64": "0.14.54", - "esbuild-openbsd-64": "0.14.54", - "esbuild-sunos-64": "0.14.54", - "esbuild-windows-32": "0.14.54", - "esbuild-windows-64": "0.14.54", - "esbuild-windows-arm64": "0.14.54" + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz", + "integrity": "sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.15.18", + "@esbuild/linux-loong64": "0.15.18", + "esbuild-android-64": "0.15.18", + "esbuild-android-arm64": "0.15.18", + "esbuild-darwin-64": "0.15.18", + "esbuild-darwin-arm64": "0.15.18", + "esbuild-freebsd-64": "0.15.18", + "esbuild-freebsd-arm64": "0.15.18", + "esbuild-linux-32": "0.15.18", + "esbuild-linux-64": "0.15.18", + "esbuild-linux-arm": "0.15.18", + "esbuild-linux-arm64": "0.15.18", + "esbuild-linux-mips64le": "0.15.18", + "esbuild-linux-ppc64le": "0.15.18", + "esbuild-linux-riscv64": "0.15.18", + "esbuild-linux-s390x": "0.15.18", + "esbuild-netbsd-64": "0.15.18", + "esbuild-openbsd-64": "0.15.18", + "esbuild-sunos-64": "0.15.18", + "esbuild-windows-32": "0.15.18", + "esbuild-windows-64": "0.15.18", + "esbuild-windows-arm64": "0.15.18" } }, "esbuild-android-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz", - "integrity": "sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz", + "integrity": "sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==", "dev": true, "optional": true }, "esbuild-android-arm64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz", - "integrity": "sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz", + "integrity": "sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==", "dev": true, "optional": true }, "esbuild-darwin-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz", - "integrity": "sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz", + "integrity": "sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==", "dev": true, "optional": true }, "esbuild-darwin-arm64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz", - "integrity": "sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz", + "integrity": "sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==", "dev": true, "optional": true }, "esbuild-freebsd-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz", - "integrity": "sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz", + "integrity": "sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==", "dev": true, "optional": true }, "esbuild-freebsd-arm64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz", - "integrity": "sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz", + "integrity": "sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==", "dev": true, "optional": true }, "esbuild-linux-32": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz", - "integrity": "sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz", + "integrity": "sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==", "dev": true, "optional": true }, "esbuild-linux-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz", - "integrity": "sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz", + "integrity": "sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==", "dev": true, "optional": true }, "esbuild-linux-arm": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz", - "integrity": "sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz", + "integrity": "sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==", "dev": true, "optional": true }, "esbuild-linux-arm64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz", - "integrity": "sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz", + "integrity": "sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==", "dev": true, "optional": true }, "esbuild-linux-mips64le": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz", - "integrity": "sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz", + "integrity": "sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==", "dev": true, "optional": true }, "esbuild-linux-ppc64le": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz", - "integrity": "sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz", + "integrity": "sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==", "dev": true, "optional": true }, "esbuild-linux-riscv64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz", - "integrity": "sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz", + "integrity": "sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==", "dev": true, "optional": true }, "esbuild-linux-s390x": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz", - "integrity": "sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz", + "integrity": "sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==", "dev": true, "optional": true }, "esbuild-netbsd-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz", - "integrity": "sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz", + "integrity": "sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==", "dev": true, "optional": true }, "esbuild-openbsd-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz", - "integrity": "sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz", + "integrity": "sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==", "dev": true, "optional": true }, "esbuild-sunos-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz", - "integrity": "sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz", + "integrity": "sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==", "dev": true, "optional": true }, "esbuild-windows-32": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz", - "integrity": "sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz", + "integrity": "sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==", "dev": true, "optional": true }, "esbuild-windows-64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz", - "integrity": "sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz", + "integrity": "sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==", "dev": true, "optional": true }, "esbuild-windows-arm64": { - "version": "0.14.54", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz", - "integrity": "sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==", + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz", + "integrity": "sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==", "dev": true, "optional": true }, + "escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true + }, "estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true }, + "fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "requires": { "to-regex-range": "^5.0.1" @@ -1862,6 +3276,22 @@ "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==", "dev": true }, + "foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + } + }, + "fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true + }, "fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", @@ -1870,9 +3300,9 @@ "optional": true }, "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true }, "fuse.js": { @@ -1881,6 +3311,20 @@ "integrity": "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==", "dev": true }, + "glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + } + }, "glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", @@ -1890,13 +3334,13 @@ "is-glob": "^4.0.1" } }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, "requires": { - "function-bind": "^1.1.1" + "function-bind": "^1.1.2" } }, "he": { @@ -1921,12 +3365,12 @@ } }, "is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", + "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", "dev": true, "requires": { - "has": "^1.0.3" + "hasown": "^2.0.2" } }, "is-extglob": { @@ -1935,6 +3379,12 @@ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, "is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -1950,6 +3400,28 @@ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, + "jiti": { + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "dev": true + }, "jquery": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", @@ -1965,6 +3437,24 @@ "vite-plugin-full-reload": "^1.0.1" } }, + "lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true + }, "magic-string": { "version": "0.25.9", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", @@ -1974,10 +3464,58 @@ "sourcemap-codec": "^1.4.8" } }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "dev": true, + "requires": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, "nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true + }, + "node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", "dev": true }, "normalize-path": { @@ -1986,22 +3524,62 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true + }, "normalize-scss": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/normalize-scss/-/normalize-scss-7.0.1.tgz", "integrity": "sha512-qj16bWnYs+9/ac29IgGjySg4R5qQTp1lXfm7ApFOZNVBYFY8RZ3f8+XQNDDLHeDtI3Ba7Jj4+LuPgz9v/fne2A==", "dev": true }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true + }, + "object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true + }, + "package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "requires": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + } + }, "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", "dev": true }, "picomatch": { @@ -2010,15 +3588,105 @@ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + }, + "pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true + }, "postcss": { - "version": "8.4.16", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz", - "integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==", + "version": "8.4.41", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", + "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", "dev": true, "requires": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" + } + }, + "postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "requires": { + "camelcase-css": "^2.0.1" + } + }, + "postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "requires": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "dependencies": { + "lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "dev": true + } + } + }, + "postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.1.1" + } + }, + "postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "requires": { + "pify": "^2.3.0" } }, "readdirp": { @@ -2046,25 +3714,40 @@ "dev": true }, "resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, "requires": { - "is-core-module": "^2.9.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, "rollup": { - "version": "2.77.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.77.3.tgz", - "integrity": "sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g==", + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", "dev": true, "requires": { "fsevents": "~2.3.2" } }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, "sass": { "version": "1.51.0", "resolved": "https://registry.npmjs.org/sass/-/sass-1.51.0.tgz", @@ -2076,6 +3759,27 @@ "source-map-js": ">=0.6.2 <2.0.0" } }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -2083,9 +3787,9 @@ "dev": true }, "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "dev": true }, "source-map-support": { @@ -2106,12 +3810,139 @@ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", "dev": true }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "string-width-cjs": { + "version": "npm:string-width@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, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "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 + }, + "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 + }, + "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, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + }, + "dependencies": { + "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 + } + } + }, + "sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + } + }, "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", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, + "tailwindcss": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.10.tgz", + "integrity": "sha512-KWZkVPm7yJRhdu4SRSl9d4AK2wM3a50UsvgHZO7xY77NQr2V+fIrEuoDGQcbvswWvFGbS2f6e+jC/6WJm1Dl0w==", + "dev": true, + "requires": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "dependencies": { + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + } + } + }, "terser": { "version": "5.14.2", "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", @@ -2136,6 +3967,24 @@ } } }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -2145,23 +3994,45 @@ "is-number": "^7.0.0" } }, + "ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, "typescript": { "version": "4.6.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", "dev": true }, + "update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "dev": true, + "requires": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, "vite": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/vite/-/vite-3.0.9.tgz", - "integrity": "sha512-waYABTM+G6DBTCpYAxvevpG50UOlZuynR0ckTK5PawNVt7ebX6X7wNXHaGIO6wYYFXSM7/WcuFuO2QzhBB6aMw==", + "version": "3.2.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.10.tgz", + "integrity": "sha512-Dx3olBo/ODNiMVk/cA5Yft9Ws+snLOXrhLtrI3F4XLt4syz2Yg8fayZMWScPKoz12v5BUv7VEmQHnsfpY80fYw==", "dev": true, "requires": { - "esbuild": "^0.14.47", + "esbuild": "^0.15.9", "fsevents": "~2.3.2", - "postcss": "^8.4.16", + "postcss": "^8.4.18", "resolve": "^1.22.1", - "rollup": ">=2.75.6 <2.77.0 || ~2.77.0" + "rollup": "^2.79.1" } }, "vite-plugin-full-reload": { @@ -2196,6 +4067,86 @@ "de-indent": "^1.0.2", "he": "^1.1.0" } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "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 + }, + "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, + "requires": { + "color-convert": "^2.0.1" + } + }, + "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 + }, + "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, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "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, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "yaml": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", + "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", + "dev": true } } } diff --git a/package.json b/package.json index e9f80d83b..f2a2cd4b2 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "@types/jquery": "^3.5.5", "@types/selectize": "^0.12.34", "@vitejs/plugin-vue": "^3.0.3", + "autoprefixer": "^10.4.20", "axios": "^0.25", "bootstrap": "^5.0.1", "choices.js": "^10.1.0", @@ -16,7 +17,9 @@ "jquery": "^3.6.0", "laravel-vite-plugin": "^0.5.4", "normalize-scss": "^7.0.0", + "postcss": "^8.4.41", "sass": "^1.51.0", + "tailwindcss": "^3.4.10", "typescript": "^4.6.4", "vite": "^3.0.9", "vue": "^3.2.25", diff --git a/phpunit.xml b/phpunit.xml index 93815860f..b12983738 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -1,40 +1,39 @@ - - - - ./app - - - - - ./tests/Unit - ./tests/Integration + ./tests/Integration - ./tests/Unit - ./tests/Integration + ./tests/Unit + ./tests/Integration + + - - + + + + ./app + + diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 000000000..33ad091d2 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/public/index.php b/public/index.php index f5d7bc918..947d98963 100644 --- a/public/index.php +++ b/public/index.php @@ -1,62 +1,17 @@ - */ +use Illuminate\Http\Request; + define('LARAVEL_START', microtime(true)); -if (file_exists(__DIR__.'/../storage/framework/maintenance.php')) { - require __DIR__.'/../storage/framework/maintenance.php'; +// Determine if the application is in maintenance mode... +if (file_exists($maintenance = __DIR__.'/../storage/framework/maintenance.php')) { + require $maintenance; } -/* -|-------------------------------------------------------------------------- -| Register The Auto Loader -|-------------------------------------------------------------------------- -| -| Composer provides a convenient, automatically generated class loader for -| our application. We just need to utilize it! We'll simply require it -| into the script here so that we don't have to worry about manual -| loading any of our classes later on. It feels great to relax. -| -*/ - +// Register the Composer autoloader... require __DIR__.'/../vendor/autoload.php'; -/* -|-------------------------------------------------------------------------- -| Turn On The Lights -|-------------------------------------------------------------------------- -| -| We need to illuminate PHP development, so let us turn on the lights. -| This bootstraps the framework and gets it ready for use, then it -| will load up this application so that we can run it and send -| the responses back to the browser and delight our users. -| -*/ - -$app = require_once __DIR__.'/../bootstrap/app.php'; - -/* -|-------------------------------------------------------------------------- -| Run The Application -|-------------------------------------------------------------------------- -| -| Once we have the application, we can handle the incoming request -| through the kernel, and send the associated response back to -| the client's browser allowing them to enjoy the creative -| and wonderful application we have prepared for them. -| -*/ - -$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class); - -$response = $kernel->handle( - $request = Illuminate\Http\Request::capture() -); - -$response->send(); - -$kernel->terminate($request, $response); +// Bootstrap Laravel and handle the request... +(require_once __DIR__.'/../bootstrap/app.php') + ->handleRequest(Request::capture()); diff --git a/repositories/AccountEmailChangeRepository.php b/repositories/AccountEmailChangeRepository.php index 55e91008c..ad0a7268d 100644 --- a/repositories/AccountEmailChangeRepository.php +++ b/repositories/AccountEmailChangeRepository.php @@ -2,10 +2,10 @@ namespace Repositories; -use Entities\Models\Eloquent\AccountEmailChange; +use App\Models\EmailChange; /** - * @final + * @deprecated */ class AccountEmailChangeRepository { @@ -14,8 +14,8 @@ public function create( string $token, string $previousEmail, string $newEmail - ): AccountEmailChange { - return AccountEmailChange::create([ + ): EmailChange { + return EmailChange::create([ 'account_id' => $accountId, 'token' => $token, 'email_previous' => $previousEmail, @@ -25,8 +25,8 @@ public function create( ]); } - public function firstByToken(string $token): ?AccountEmailChange + public function firstByToken(string $token): ?EmailChange { - return AccountEmailChange::where('token', $token)->first(); + return EmailChange::where('token', $token)->first(); } } diff --git a/repositories/AccountPasswordResetRepository.php b/repositories/AccountPasswordResetRepository.php index 77aaaa9d7..a073e2a11 100644 --- a/repositories/AccountPasswordResetRepository.php +++ b/repositories/AccountPasswordResetRepository.php @@ -2,11 +2,11 @@ namespace Repositories; +use App\Models\PasswordReset; use Carbon\Carbon; -use Entities\Models\Eloquent\AccountPasswordReset; /** - * @final + * @deprecated */ class AccountPasswordResetRepository { @@ -14,9 +14,9 @@ class AccountPasswordResetRepository * Updates an AccountPasswordReset matching the given email. If not * found, creates a new one for the given email */ - public function updateByEmailOrCreate(string $email, string $token): AccountPasswordReset + public function updateByEmailOrCreate(string $email, string $token): PasswordReset { - return AccountPasswordReset::updateOrCreate( + return PasswordReset::updateOrCreate( attributes: [ 'email' => $email, ], @@ -27,19 +27,19 @@ public function updateByEmailOrCreate(string $email, string $token): AccountPass ); } - public function firstByToken(string $token): ?AccountPasswordReset + public function firstByToken(string $token): ?PasswordReset { - return AccountPasswordReset::where('token', $token) + return PasswordReset::where('token', $token) ->first(); } public function deleteOlderThanOrEqualTo(Carbon $date) { - return AccountPasswordReset::whereDate('created_at', '<=', $date) + return PasswordReset::whereDate('created_at', '<=', $date) ->delete(); } - public function delete(AccountPasswordReset $passwordReset) + public function delete(PasswordReset $passwordReset) { $passwordReset->delete(); } diff --git a/repositories/AccountRepository.php b/repositories/AccountRepository.php index 7e9e9d4c1..41849868a 100644 --- a/repositories/AccountRepository.php +++ b/repositories/AccountRepository.php @@ -2,12 +2,12 @@ namespace Repositories; -use Entities\Models\Eloquent\Account; +use App\Models\Account; use Illuminate\Support\Carbon; use Illuminate\Support\Facades\Hash; /** - * @final + * @deprecated */ class AccountRepository { diff --git a/repositories/BalanceHistoryRepository.php b/repositories/BalanceHistoryRepository.php deleted file mode 100644 index f2ad31902..000000000 --- a/repositories/BalanceHistoryRepository.php +++ /dev/null @@ -1,28 +0,0 @@ - $accountId, - 'balance_before' => $balanceBefore, - 'balance_after' => $balanceAfter, - 'transaction_amount' => $transactionAmount, - 'reason' => $reason, - 'created_at' => now(), - ]); - } -} diff --git a/repositories/BanAppealRepository.php b/repositories/BanAppealRepository.php index 98b8db58f..a5ad1c32d 100644 --- a/repositories/BanAppealRepository.php +++ b/repositories/BanAppealRepository.php @@ -2,9 +2,12 @@ namespace Repositories; -use Domain\BanAppeals\Entities\BanAppealStatus; -use Entities\Models\Eloquent\BanAppeal; +use App\Domains\BanAppeals\Entities\BanAppealStatus; +use App\Models\BanAppeal; +/** + * @deprecated + */ class BanAppealRepository { /** diff --git a/repositories/BuilderRankApplicationRepository.php b/repositories/BuilderRankApplicationRepository.php index 66030f2ed..d4569e5c6 100644 --- a/repositories/BuilderRankApplicationRepository.php +++ b/repositories/BuilderRankApplicationRepository.php @@ -2,13 +2,13 @@ namespace Repositories; -use Domain\BuilderRankApplications\Entities\ApplicationStatus; -use Domain\BuilderRankApplications\Entities\BuilderRank; -use Entities\Models\Eloquent\BuilderRankApplication; +use App\Domains\BuilderRankApplications\Data\ApplicationStatus; +use App\Domains\BuilderRankApplications\Data\BuilderRank; +use App\Models\BuilderRankApplication; use Illuminate\Pagination\LengthAwarePaginator; /** - * @final + * @deprecated */ class BuilderRankApplicationRepository { diff --git a/repositories/DonationPerkRepository.php b/repositories/DonationPerkRepository.php index 7310a68a0..61c9a200f 100644 --- a/repositories/DonationPerkRepository.php +++ b/repositories/DonationPerkRepository.php @@ -2,12 +2,12 @@ namespace Repositories; -use Entities\Models\Eloquent\DonationPerk; +use App\Models\DonationPerk; use Illuminate\Support\Carbon; use Illuminate\Support\Collection; /** - * @final + * @deprecated */ class DonationPerkRepository { diff --git a/repositories/DonationRepository.php b/repositories/DonationRepository.php index da83a7a3b..e474ae266 100644 --- a/repositories/DonationRepository.php +++ b/repositories/DonationRepository.php @@ -2,11 +2,11 @@ namespace Repositories; -use Domain\Donations\Entities\PaidAmount; -use Entities\Models\Eloquent\Donation; +use App\Domains\Donations\Data\PaidAmount; +use App\Models\Donation; /** - * @final + * @deprecated */ class DonationRepository { diff --git a/repositories/GameIPBans/GameIPBanEloquentRepository.php b/repositories/GameIPBans/GameIPBanEloquentRepository.php index e73e34981..a017996e1 100644 --- a/repositories/GameIPBans/GameIPBanEloquentRepository.php +++ b/repositories/GameIPBans/GameIPBanEloquentRepository.php @@ -2,9 +2,12 @@ namespace Repositories\GameIPBans; -use Domain\Bans\UnbanType; -use Entities\Models\Eloquent\GameIPBan; +use App\Domains\Bans\Data\UnbanType; +use App\Models\GameIPBan; +/** + * @deprecated + */ final class GameIPBanEloquentRepository implements GameIPBanRepository { public function create( diff --git a/repositories/GameIPBans/GameIPBanMockRepository.php b/repositories/GameIPBans/GameIPBanMockRepository.php index c90247081..7db5a3331 100644 --- a/repositories/GameIPBans/GameIPBanMockRepository.php +++ b/repositories/GameIPBans/GameIPBanMockRepository.php @@ -2,9 +2,12 @@ namespace Repositories\GameIPBans; -use Domain\Bans\UnbanType; -use Entities\Models\Eloquent\GameIPBan; +use App\Domains\Bans\Data\UnbanType; +use App\Models\GameIPBan; +/** + * @deprecated + */ final class GameIPBanMockRepository implements GameIPBanRepository { public GameIPBan $create; diff --git a/repositories/GameIPBans/GameIPBanRepository.php b/repositories/GameIPBans/GameIPBanRepository.php index 6beafe279..42cc31235 100644 --- a/repositories/GameIPBans/GameIPBanRepository.php +++ b/repositories/GameIPBans/GameIPBanRepository.php @@ -2,9 +2,12 @@ namespace Repositories\GameIPBans; -use Domain\Bans\UnbanType; -use Entities\Models\Eloquent\GameIPBan; +use App\Domains\Bans\Data\UnbanType; +use App\Models\GameIPBan; +/** + * @deprecated + */ interface GameIPBanRepository { public function create( diff --git a/repositories/GamePlayerBanRepository.php b/repositories/GamePlayerBanRepository.php index 345fccf55..4d2b6c2ae 100644 --- a/repositories/GamePlayerBanRepository.php +++ b/repositories/GamePlayerBanRepository.php @@ -2,12 +2,15 @@ namespace Repositories; -use Domain\Bans\UnbanType; -use Entities\Models\Eloquent\GamePlayerBan; -use Entities\Models\Eloquent\MinecraftPlayer; +use App\Domains\Bans\Data\UnbanType; +use App\Models\GamePlayerBan; +use App\Models\MinecraftPlayer; use Illuminate\Database\Eloquent\Collection; use Illuminate\Support\Carbon; +/** + * @deprecated + */ class GamePlayerBanRepository { public function create( diff --git a/repositories/MinecraftPlayerAliasRepository.php b/repositories/MinecraftPlayerAliasRepository.php index 9716ef38a..b84587b1a 100644 --- a/repositories/MinecraftPlayerAliasRepository.php +++ b/repositories/MinecraftPlayerAliasRepository.php @@ -2,11 +2,11 @@ namespace Repositories; +use App\Models\MinecraftPlayerAlias; use Carbon\Carbon; -use Entities\Models\Eloquent\MinecraftPlayerAlias; /** - * @final + * @deprecated */ class MinecraftPlayerAliasRepository { diff --git a/repositories/MinecraftPlayerRepository.php b/repositories/MinecraftPlayerRepository.php index e147b8c2d..54a5f81e2 100644 --- a/repositories/MinecraftPlayerRepository.php +++ b/repositories/MinecraftPlayerRepository.php @@ -2,11 +2,11 @@ namespace Repositories; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\MinecraftUUID; +use App\Core\Data\MinecraftUUID; +use App\Models\MinecraftPlayer; /** - * @final + * @deprecated */ class MinecraftPlayerRepository { diff --git a/repositories/PaymentRepository.php b/repositories/PaymentRepository.php index e3cc596a6..fe17e4ce4 100644 --- a/repositories/PaymentRepository.php +++ b/repositories/PaymentRepository.php @@ -2,11 +2,11 @@ namespace Repositories; -use Domain\Donations\Entities\PaidAmount; -use Entities\Models\Eloquent\Payment; +use App\Domains\Donations\Data\PaidAmount; +use App\Models\Payment; /** - * @final + * @deprecated */ class PaymentRepository { diff --git a/repositories/PlayerFetchRepository.php b/repositories/PlayerFetchRepository.php index 3d663768f..9e3a04a4f 100644 --- a/repositories/PlayerFetchRepository.php +++ b/repositories/PlayerFetchRepository.php @@ -2,10 +2,13 @@ namespace Repositories; +use App\Models\MinecraftPlayer; +use App\Models\MinecraftPlayerAlias; use DB; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\Eloquent\MinecraftPlayerAlias; +/** + * @deprecated + */ final class PlayerFetchRepository { public function createPlayerWithAlias(string $uuid, string $alias) diff --git a/repositories/PlayerWarnings/PlayerWarningEloquentRepository.php b/repositories/PlayerWarnings/PlayerWarningEloquentRepository.php index 98f80b5cb..7d5d7576c 100644 --- a/repositories/PlayerWarnings/PlayerWarningEloquentRepository.php +++ b/repositories/PlayerWarnings/PlayerWarningEloquentRepository.php @@ -2,9 +2,12 @@ namespace Repositories\PlayerWarnings; -use Entities\Models\Eloquent\PlayerWarning; +use App\Models\PlayerWarning; use Illuminate\Support\Collection; +/** + * @deprecated + */ final class PlayerWarningEloquentRepository implements PlayerWarningRepository { public function create( diff --git a/repositories/PlayerWarnings/PlayerWarningMockRepository.php b/repositories/PlayerWarnings/PlayerWarningMockRepository.php index 40a7ef2ef..71f67174d 100644 --- a/repositories/PlayerWarnings/PlayerWarningMockRepository.php +++ b/repositories/PlayerWarnings/PlayerWarningMockRepository.php @@ -2,9 +2,12 @@ namespace Repositories\PlayerWarnings; -use Entities\Models\Eloquent\PlayerWarning; +use App\Models\PlayerWarning; use Illuminate\Support\Collection; +/** + * @deprecated + */ final class PlayerWarningMockRepository implements PlayerWarningRepository { public PlayerWarning $create; diff --git a/repositories/PlayerWarnings/PlayerWarningRepository.php b/repositories/PlayerWarnings/PlayerWarningRepository.php index c7d711f64..e0d6dc562 100644 --- a/repositories/PlayerWarnings/PlayerWarningRepository.php +++ b/repositories/PlayerWarnings/PlayerWarningRepository.php @@ -2,9 +2,12 @@ namespace Repositories\PlayerWarnings; -use Entities\Models\Eloquent\PlayerWarning; +use App\Models\PlayerWarning; use Illuminate\Support\Collection; +/** + * @deprecated + */ interface PlayerWarningRepository { public function create( diff --git a/repositories/ServerCategoryRepository.php b/repositories/ServerCategoryRepository.php deleted file mode 100644 index 3cbfb56d6..000000000 --- a/repositories/ServerCategoryRepository.php +++ /dev/null @@ -1,17 +0,0 @@ -get(); - } -} diff --git a/repositories/ServerRepository.php b/repositories/ServerRepository.php deleted file mode 100644 index 4d1200d9d..000000000 --- a/repositories/ServerRepository.php +++ /dev/null @@ -1,32 +0,0 @@ -isOnline) { - $server->num_of_players = $status->numOfPlayers; - $server->num_of_slots = $status->numOfSlots; - } else { - $server->num_of_players = 0; - $server->num_of_slots = 0; - } - $server->is_online = $status->isOnline; - $server->last_queried_at = $queriedAt; - $server->save(); - } -} diff --git a/repositories/StripeProductRepository.php b/repositories/StripeProductRepository.php index 6adc52999..932f1c191 100644 --- a/repositories/StripeProductRepository.php +++ b/repositories/StripeProductRepository.php @@ -2,10 +2,10 @@ namespace Repositories; -use Entities\Models\Eloquent\StripeProduct; +use App\Models\StripeProduct; /** - * @final + * @deprecated */ class StripeProductRepository { diff --git a/resources/images/gallery2.png b/resources/images/gallery2.png deleted file mode 100644 index 2b8a9f6f4..000000000 Binary files a/resources/images/gallery2.png and /dev/null differ diff --git a/resources/images/hero-bg1.png b/resources/images/hero-bg1.png deleted file mode 100644 index 3d436f545..000000000 Binary files a/resources/images/hero-bg1.png and /dev/null differ diff --git a/resources/images/hero-bg2.png b/resources/images/hero-bg2.png deleted file mode 100644 index 1f5b89495..000000000 Binary files a/resources/images/hero-bg2.png and /dev/null differ diff --git a/resources/images/hero-bg3.png b/resources/images/hero-bg3.png deleted file mode 100644 index 15112120e..000000000 Binary files a/resources/images/hero-bg3.png and /dev/null differ diff --git a/resources/images/hero-bg4.png b/resources/images/hero-bg4.png deleted file mode 100644 index 085c86aef..000000000 Binary files a/resources/images/hero-bg4.png and /dev/null differ diff --git a/resources/images/hero-bg5.png b/resources/images/hero-bg5.png deleted file mode 100644 index 1ba09f0c0..000000000 Binary files a/resources/images/hero-bg5.png and /dev/null differ diff --git a/resources/images/hero-bg7.png b/resources/images/hero-bg7.png deleted file mode 100644 index 6dd9cf3be..000000000 Binary files a/resources/images/hero-bg7.png and /dev/null differ diff --git a/resources/images/hero-bg6.png b/resources/images/hero.png similarity index 100% rename from resources/images/hero-bg6.png rename to resources/images/hero.png diff --git a/resources/images/gallery1.png b/resources/images/home_creative.png similarity index 100% rename from resources/images/gallery1.png rename to resources/images/home_creative.png diff --git a/resources/images/gallery3.png b/resources/images/home_monarch.png similarity index 100% rename from resources/images/gallery3.png rename to resources/images/home_monarch.png diff --git a/resources/images/gallery4.png b/resources/images/home_survival.png similarity index 100% rename from resources/images/gallery4.png rename to resources/images/home_survival.png diff --git a/resources/js/front/components/news-bar/NewsBar.vue b/resources/js/front/components/news-bar/NewsBar.vue deleted file mode 100644 index 727a301f0..000000000 --- a/resources/js/front/components/news-bar/NewsBar.vue +++ /dev/null @@ -1,103 +0,0 @@ - - - diff --git a/resources/js/front/components/news-bar/api.ts b/resources/js/front/components/news-bar/api.ts deleted file mode 100644 index 3bad27d3b..000000000 --- a/resources/js/front/components/news-bar/api.ts +++ /dev/null @@ -1,76 +0,0 @@ -import axios from 'axios'; - -interface DiscourseTopicList { - topic_list: { - topics: Array, - }, -} - -export interface DiscourseTopic { - id: number, - title: string, - slug: string, - closed: boolean, - like_count: number, - posts_count: number, - views: number, - created_at: string, -} - -interface DiscourseUser { - id: number, - username: string, - avatar_template: string, -} - -export type DiscourseTopicDetails = DiscourseTopic & { - user_id: number, - details: { - created_by: DiscourseUser, - }, - post_stream: { - posts: Array, - }, -} - -export interface DiscoursePost { - cooked: string, - avatar_template: string, -} - -/** - * Fetches a list of the most recent announcement - * category topics - */ -export const getAnnouncements = async() : Promise => { - try { - const response = await axios.get('https://forums.projectcitybuild.com/c/announcements/l/latest.json?order=created'); - if(response.status !== 200) { - throw new Error(`${response.status} error while fetching announcements`); - } - return response.data; - } catch(e) { - console.error(e); - throw new Error(e); - } -} - -/** - * Fetches data for a single topic. - * - * Required because discourse doesn't give the topic's - * content when querying for a list of topics - * - * @param topicId - */ -export const getTopicDetails = async(topicId: number) : Promise => { - try { - let response = await axios.get(`https://forums.projectcitybuild.com/t/${topicId}.json`); - if(response.status !== 200) { - throw new Error(`${response.status} error while fetching announcements`); - } - return response.data; - } catch(e) { - console.error(e); - } -} diff --git a/resources/js/front/components/spinner/Spinner.vue b/resources/js/front/components/spinner/Spinner.vue deleted file mode 100644 index a0f5dbb45..000000000 --- a/resources/js/front/components/spinner/Spinner.vue +++ /dev/null @@ -1,77 +0,0 @@ - - - - - diff --git a/resources/js/front/front.ts b/resources/js/front/front.ts index e618b6cf8..912188ca0 100644 --- a/resources/js/front/front.ts +++ b/resources/js/front/front.ts @@ -1,6 +1,4 @@ import { createApp } from 'vue/dist/vue.esm-bundler'; -import NewsBar from './components/news-bar/NewsBar.vue'; -import Spinner from './components/spinner/Spinner.vue'; // Inform Vite where static assets are located import.meta.glob([ @@ -8,8 +6,6 @@ import.meta.glob([ ]); const app = createApp({}); -app.component('news-bar', NewsBar); -app.component('spinner', Spinner); app.mount('#app'); // Nav bar @@ -55,19 +51,6 @@ function copyToClipboard(text: string) { }) } -// Background image rotator -const heroElement = document.getElementById('hero') -if (heroElement) { - const choices = [ - "bg-1", - "bg-3", - "bg-4", - "bg-5", - ] - const roll = Math.floor(Math.random() * (choices.length)) - heroElement.classList.add(choices[roll]) -} - // Initialise legacy JS-only components import Navigation from "./navigation/Navigation"; const navigation = new Navigation() diff --git a/resources/sass/front/elements/_a.scss b/resources/sass/front/elements/_a.scss deleted file mode 100644 index 40dbe0f3b..000000000 --- a/resources/sass/front/elements/_a.scss +++ /dev/null @@ -1,14 +0,0 @@ -a:link, a:visited { - color: $color-text-link; -} - -a:hover { - color: $color-text-primary; -} - -a:link.alternative { - color: $color-text-accent; -} -a:hover.alternative { - color: darken($color-text-accent, 15%); -} diff --git a/resources/sass/front/elements/_h.scss b/resources/sass/front/elements/_h.scss deleted file mode 100644 index 7aeacd561..000000000 --- a/resources/sass/front/elements/_h.scss +++ /dev/null @@ -1,9 +0,0 @@ -h1, h2, h3, h4, h5, h6 { - font-family: $font-header; - text-transform: uppercase; - font-weight: 500; -} - -h1 { - font-size: 3.8em; -} diff --git a/resources/sass/front/foundation/_typography.scss b/resources/sass/front/foundation/_typography.scss index 6e919ec52..6009d1399 100644 --- a/resources/sass/front/foundation/_typography.scss +++ b/resources/sass/front/foundation/_typography.scss @@ -1,6 +1,6 @@ -@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Roboto:wght@400;500;700&display=swap'); +@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap'); $font-header: 'Bebas Neue', sans-serif; -$font-body: 'Roboto', sans-serif; +$font-body: 'Inter', sans-serif; $tracking-wide: 0.025em; diff --git a/resources/sass/front/front.scss b/resources/sass/front/front.scss index 515d168fb..515e7f2bb 100644 --- a/resources/sass/front/front.scss +++ b/resources/sass/front/front.scss @@ -3,16 +3,18 @@ @import "~normalize-scss/sass/normalize"; @include normalize(); +@tailwind base; +@tailwind components; +@tailwind utilities; + @import "foundation/colors"; @import "foundation/dimensions"; @import "foundation/typography"; -@import "elements/a"; @import "elements/body"; @import "elements/button"; @import "elements/bullet"; @import "elements/container"; -@import "elements/h"; @import "elements/input"; @import "elements/table"; @@ -26,14 +28,12 @@ @import "molecules/form-row"; @import "molecules/game-account"; @import "molecules/game-ban"; -@import "molecules/hero"; @import "molecules/hero-header"; @import "molecules/image-header"; @import "molecules/introduction"; @import "molecules/message"; @import "molecules/modal"; @import "molecules/navbar"; -@import "molecules/news-bar"; @import "molecules/pagination"; @import "molecules/pill"; @import "molecules/server-feed"; diff --git a/resources/sass/front/molecules/_hero.scss b/resources/sass/front/molecules/_hero.scss deleted file mode 100644 index fa157637c..000000000 --- a/resources/sass/front/molecules/_hero.scss +++ /dev/null @@ -1,153 +0,0 @@ -.hero { - width: 100%; - background-size: cover; - background-position: center top; - background-repeat: no-repeat; - - .container { - padding: 8em 12em 6em 12em; - display: grid; - grid-template-columns: 35% auto; - grid-template-rows: auto; - column-gap: 4em; - } - - &.bg-1 { - background-image: linear-gradient(to right, hsla(0, 0%, 0%, 0) 40%, hsla(0, 21%, 7%, 79%)), - url('/resources/images/hero-bg1.png'); - } - &.bg-2 { - background-image: linear-gradient(to right, hsla(0, 0%, 0%, 0.2) 20%, hsla(0, 21%, 7%, 85%)), - linear-gradient(hsla(0, 0%, 0%, 0.2), hsla(0, 0%, 0%, 0.2)), - url('/resources/images/hero-bg4.png'); - } - &.bg-3 { - background-image: linear-gradient(to right, hsla(0, 0%, 0%, 0) 40%, hsla(0, 21%, 7%, 79%)), - url('/resources/images/hero-bg5.png'); - } - &.bg-4 { - background-image: linear-gradient(to right, hsla(0, 0%, 0%, 0.25) 20%, hsla(0, 21%, 7%, 90%)), - url('/resources/images/hero-bg6.png'); - } - &.bg-5 { - background-image: linear-gradient(to right, hsla(0, 0%, 0%, 0) 40%, hsla(0, 21%, 7%, 79%)), - url('/resources/images/hero-bg7.png'); - } - - &__dim { - position: absolute; - width: 100%; - height: 100%; - background-image: linear-gradient(to right, hsla(0, 0%, 0%, 0) 40%, hsla(0, 21%, 7%, 79%)); - } - - &__server-feed { - grid-column: 1; - grid-row: 2; - } - - &__cta { - grid-column: 2; - grid-row: 1; - - text-align: right; - margin-bottom: 6em; - } - - &__cta-button { - display: inline-block; - border: 5px solid $color-button-accent; - border-radius: 8px; - color: $color-button-accent; - padding: 0.3em 1.5em 0.2em 1.5em; - font-family: $font-header; - font-size: 2.3em; - text-transform: uppercase; - text-decoration: none; - box-shadow: 0 4px 4px hsla(0, 0%, 0%, 25%), - inset 0 4px 4px hsla(0, 0%, 0%, 35%); - text-shadow: 0 4px 4px hsla(0, 0%, 0%, 35%); - - .fa-mouse-pointer { - width: 0.45em; - margin-right: 0.1em; - } - - &:hover { - color: darken($color-button-accent, 5%); - border-color: darken($color-button-accent, 5%); - } - } - - a.hero__cta-button { - color: $color-button-accent; - } - - h1 { - color: #fff; - font-size: 6.5em; - font-family: $font-header; - font-weight: 500; - text-transform: uppercase; - font-kerning: normal; - line-height: 0.95em; - text-shadow: 0px 2px 9px hsla(0, 0%, 0%, 35%); - margin-bottom: 0.2em; - text-rendering: geometricPrecision; - - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - } - - .subtitle { - color: #e6e6e6; - font-weight: 500; - font-size: 1.2em; - letter-spacing: -0.02em; - text-shadow: 0px 2px 4px hsla(0, 0%, 0%, 55%); - line-height: 1.7em; - margin-bottom: 3em; - } -} - -@media screen and (max-width: 1300px) { - .hero .container { - padding: 8em 5em 5em 5em; - } - .hero .container { - grid-template-columns: 50% auto; - column-gap: 4em; - } - .hero__cta { - grid-column-start: 1; - grid-column-end: span 2; - } - .hero h1 { - font-size: 5em; - } - .hero .subtitle { - font-size: 1.1em; - } -} - -@media screen and (max-width: 750px) { - .hero__cta { - text-align: center; - } - .hero__server-feed { - grid-column-start: 1; - grid-column-end: span 2; - } - .hero .container { - padding: 5em 2em; - } - .hero h1 { - font-size: 4em; - } - .hero .subtitle { - font-size: 1em; - } - .hero .button { - width: 100%; - } -} diff --git a/resources/sass/front/molecules/_news-bar.scss b/resources/sass/front/molecules/_news-bar.scss deleted file mode 100644 index ca05cce0e..000000000 --- a/resources/sass/front/molecules/_news-bar.scss +++ /dev/null @@ -1,70 +0,0 @@ -.news-bar { - background: hsl(240, 2%, 24%); - padding: 1em 0; - - a:link, a:visited { - color: #fff; - } - a:hover { - color: $color-text-accent; - } - - .container { - display: flex; - align-items: center; - } - - &__date { - flex-grow: 0; - font-size: 0.8em; - color: hsl(0, 0%, 51%); - margin-right: 2em; - } - - &__title { - flex-grow: 1; - font-size: 1.1em; - font-weight: bold; - color: #fff; - - &.defocussed { - font-weight: normal; - color: #999999; - } - } - - &__view-more { - flex-grow: 0; - color: hsl(0, 0%, 78%); - font-size: 0.8em; - } - - &__spinner { - flex-grow: 1; - flex-shrink: 0; - } -} - -@media screen and (min-width: 750px) { - .news-bar { - position: sticky; - top: 40px; - } -} - -@media screen and (max-width: 750px) { - .news-bar .container { - flex-wrap: wrap; - } - .news-bar { - &__date, &__title, &__view-more { - width: 100%; - } - } - .news-bar__title { - margin-top: 0.5em; - } - .news-bar__view-more { - margin-top: 1em; - } -} diff --git a/resources/sass/front/molecules/_server-overview.scss b/resources/sass/front/molecules/_server-overview.scss index 81095cce9..20306c07d 100644 --- a/resources/sass/front/molecules/_server-overview.scss +++ b/resources/sass/front/molecules/_server-overview.scss @@ -52,17 +52,13 @@ flex-grow: 1; &.creative { - background-image: url('/resources/images/gallery1.png'); + background-image: url('/resources/images/home_creative.png'); } &.survival { - background-image: url('/resources/images/gallery4.png'); + background-image: url('/resources/images/home_survival.png'); } &.monarch { - background-image: url('/resources/images/gallery3.png'); - } - &.arcade { - background-image: url('/resources/images/gallery2.png'); - background-position: center; + background-image: url('/resources/images/home_monarch.png'); } } } diff --git a/resources/views/admin/ban-appeal/show.blade.php b/resources/views/admin/ban-appeal/show.blade.php index 94b284384..b4e5e9eac 100644 --- a/resources/views/admin/ban-appeal/show.blade.php +++ b/resources/views/admin/ban-appeal/show.blade.php @@ -75,9 +75,9 @@ @if ($banAppeal->gamePlayerBan->bannerPlayer === null) System @else - - {{ $banAppeal->gamePlayerBan->bannerPlayer->getBanReadableName() ?? 'No Alias' }} - + + {{ $banAppeal->gamePlayerBan->bannerPlayer->getBanReadableName() ?? 'No Alias' }} + @endif @@ -111,13 +111,14 @@
@include('admin.ban-appeal.status._' . $banAppeal->status->slug()) - @if($banAppeal->status == \Domain\BanAppeals\Entities\BanAppealStatus::PENDING) + @if($banAppeal->status == \App\Domains\BanAppeals\Entities\BanAppealStatus::PENDING)
Decide Appeal
- The player will be notified of this decision immediately. + The player will be notified of + this decision immediately.
@@ -128,23 +129,23 @@
- @foreach(\Domain\BanAppeals\Entities\BanAppealStatus::decisionCases() as $status) + @foreach(\App\Domains\BanAppeals\Entities\BanAppealStatus::decisionCases() as $status)
status) == $status)> + class="form-check-input" + type="radio" name="status" + name="status" + value="{{ $status->value }}" + id="status{{ $status->value }}" + @checked(old('status', $banAppeal->status) == $status)> diff --git a/resources/views/admin/builder-rank/index.blade.php b/resources/views/admin/builder-rank/index.blade.php index 5146b563b..b99fe5763 100644 --- a/resources/views/admin/builder-rank/index.blade.php +++ b/resources/views/admin/builder-rank/index.blade.php @@ -19,7 +19,7 @@ @foreach($applications as $application) - {{ \Domain\BuilderRankApplications\Entities\ApplicationStatus::from($application->status)->humanReadable() }} + {{ \App\Domains\BuilderRankApplications\Data\ApplicationStatus::from($application->status)->humanReadable() }} {{ $application->account->username ?: 'Undefined' }} @@ -35,7 +35,8 @@ View @else - + Review @endif diff --git a/resources/views/admin/builder-rank/show.blade.php b/resources/views/admin/builder-rank/show.blade.php index d7c4771f8..36b98d572 100644 --- a/resources/views/admin/builder-rank/show.blade.php +++ b/resources/views/admin/builder-rank/show.blade.php @@ -7,7 +7,7 @@
@include('admin._errors') - @if ($application->status == \Domain\BuilderRankApplications\Entities\ApplicationStatus::IN_PROGRESS->value) + @if ($application->status == \App\Domains\BuilderRankApplications\Data\ApplicationStatus::IN_PROGRESS->value)
Application Status @@ -25,7 +25,7 @@
@endif - @if ($application->status == \Domain\BuilderRankApplications\Entities\ApplicationStatus::DENIED->value) + @if ($application->status == \App\Domains\BuilderRankApplications\Data\ApplicationStatus::DENIED->value)
Application Status @@ -34,7 +34,7 @@
Application Denied

- This application was denied for the following reason:
+ This application was denied for the following reason:
{{ $application->denied_reason }}

Closed {{ $application->closed_at }} @@ -42,7 +42,7 @@

@endif - @if ($application->status == \Domain\BuilderRankApplications\Entities\ApplicationStatus::APPROVED->value) + @if ($application->status == \App\Domains\BuilderRankApplications\Data\ApplicationStatus::APPROVED->value)
Application Status @@ -139,7 +139,7 @@ Close Application
- @if ($application->status == \Domain\BuilderRankApplications\Entities\ApplicationStatus::IN_PROGRESS->value) + @if ($application->status == \App\Domains\BuilderRankApplications\Data\ApplicationStatus::IN_PROGRESS->value)
@@ -210,10 +210,10 @@
diff --git a/resources/views/admin/layouts/_sidebar.blade.php b/resources/views/admin/layouts/_sidebar.blade.php index 5000a70bd..026f6cb28 100644 --- a/resources/views/admin/layouts/_sidebar.blade.php +++ b/resources/views/admin/layouts/_sidebar.blade.php @@ -14,7 +14,7 @@ Users @endscope - @scope(Entities\Models\PanelGroupScope::MANAGE_PAGES) - - - @endscope - - @scope(Entities\Models\PanelGroupScope::MANAGE_SERVERS) + @scope(App\Domains\Panel\Data\PanelGroupScope::MANAGE_SERVERS) @@ -142,7 +127,7 @@ @endscope - @scope(Entities\Models\PanelGroupScope::MANAGE_DONATIONS) + @scope(App\Domains\Panel\Data\PanelGroupScope::MANAGE_DONATIONS) @@ -161,7 +146,7 @@ Review
@@ -12,12 +12,12 @@
@@ -25,9 +25,9 @@ class="form-control"
@@ -35,12 +35,12 @@ class="form-control"
@@ -48,11 +48,11 @@ class="form-control"
Leave blank to make this a permanent ban
@@ -61,11 +61,11 @@ class="form-control"
@@ -73,11 +73,11 @@ class="form-control"
@@ -85,11 +85,11 @@ class="form-control"
Leave blank if this ban should be active
@@ -98,9 +98,9 @@ class="form-control"
Leave blank if this ban should be active
@@ -110,13 +110,13 @@ class="form-control"
+
- +
- +
- +
is_visible ? 'checked' : '' }} + class="form-check-input" + type="checkbox" + value="1" + id="is_visible" + name="is_visible" + {{ $server->is_visible ? 'checked' : '' }} >
is_port_visible ? 'checked' : '' }} + class="form-check-input" + type="checkbox" + value="1" + id="is_port_visible" + name="is_port_visible" + {{ $server->is_port_visible ? 'checked' : '' }} >
is_querying ? 'checked' : '' }} + class="form-check-input" + type="checkbox" + value="1" + id="is_querying" + name="is_querying" + {{ $server->is_querying ? 'checked' : '' }} >
diff --git a/resources/views/admin/servers/index.blade.php b/resources/views/admin/servers/index.blade.php index 4b2d419d7..2b47ae8c8 100644 --- a/resources/views/admin/servers/index.blade.php +++ b/resources/views/admin/servers/index.blade.php @@ -4,7 +4,8 @@ @section('toolbar') @endsection @@ -30,7 +31,7 @@ {{ $server->ip }} {{ $server->port }} {{ $server->ip_alias ?: '' }} - {{ \Entities\Models\GameType::tryFrom($server->game_type)?->name() ?: 'Unknown' }} + {{ \App\Core\Data\GameType::tryFrom($server->game_type)?->name() ?: 'Unknown' }} Edit @endforeach diff --git a/resources/views/front/components/navbar.blade.php b/resources/views/front/components/navbar.blade.php index 9c776276c..8ce9618fa 100644 --- a/resources/views/front/components/navbar.blade.php +++ b/resources/views/front/components/navbar.blade.php @@ -12,8 +12,12 @@ -
  • - Community - -
  • -
  • Media
  • -
  • Donate
  • diff --git a/resources/views/front/components/sitemap.blade.php b/resources/views/front/components/sitemap.blade.php index fe56d98e3..30daff336 100644 --- a/resources/views/front/components/sitemap.blade.php +++ b/resources/views/front/components/sitemap.blade.php @@ -9,7 +9,7 @@
  • Rules & Guidelines
  • Ranks
  • Staff
  • -
  • Real-Time Maps
  • +
  • Real-Time Maps
  • 3D Maps
  • @@ -17,7 +17,6 @@ @@ -25,11 +24,19 @@ + + diff --git a/resources/views/front/pages/account/account-donations.blade.php b/resources/views/front/pages/account/account-donations.blade.php index 4937e28d3..91beb3bcc 100644 --- a/resources/views/front/pages/account/account-donations.blade.php +++ b/resources/views/front/pages/account/account-donations.blade.php @@ -91,4 +91,6 @@ @endif + + @include('front.components.footer') @endsection diff --git a/resources/views/front/pages/account/account-game-accounts.blade.php b/resources/views/front/pages/account/account-game-accounts.blade.php index bc95803b1..bfa5934bd 100644 --- a/resources/views/front/pages/account/account-game-accounts.blade.php +++ b/resources/views/front/pages/account/account-game-accounts.blade.php @@ -80,4 +80,6 @@ + + @include('front.components.footer') @endsection diff --git a/resources/views/front/pages/account/account-infractions.blade.php b/resources/views/front/pages/account/account-infractions.blade.php index 292e34023..5fe4b8f2c 100644 --- a/resources/views/front/pages/account/account-infractions.blade.php +++ b/resources/views/front/pages/account/account-infractions.blade.php @@ -102,4 +102,6 @@ @endif + + @include('front.components.footer') @endsection diff --git a/resources/views/front/pages/account/account-security.blade.php b/resources/views/front/pages/account/account-security.blade.php index 1d6ae7e81..412355dab 100644 --- a/resources/views/front/pages/account/account-security.blade.php +++ b/resources/views/front/pages/account/account-security.blade.php @@ -72,4 +72,6 @@ + + @include('front.components.footer') @endsection diff --git a/resources/views/front/pages/account/account-settings-email-complete.blade.php b/resources/views/front/pages/account/account-settings-email-complete.blade.php index 01aeec190..148060a93 100644 --- a/resources/views/front/pages/account/account-settings-email-complete.blade.php +++ b/resources/views/front/pages/account/account-settings-email-complete.blade.php @@ -20,4 +20,6 @@ + + @include('front.components.footer') @endsection diff --git a/resources/views/front/pages/account/account-settings-email-confirm.blade.php b/resources/views/front/pages/account/account-settings-email-confirm.blade.php index 35a4b2c3b..edd3fc379 100644 --- a/resources/views/front/pages/account/account-settings-email-confirm.blade.php +++ b/resources/views/front/pages/account/account-settings-email-confirm.blade.php @@ -32,9 +32,9 @@
    New email address
    - - + + @include('front.components.footer') @endsection diff --git a/resources/views/front/pages/account/account-settings.blade.php b/resources/views/front/pages/account/account-settings.blade.php index 83bf23b0c..64666f738 100644 --- a/resources/views/front/pages/account/account-settings.blade.php +++ b/resources/views/front/pages/account/account-settings.blade.php @@ -29,4 +29,6 @@ + + @include('front.components.footer') @endsection diff --git a/resources/views/front/pages/account/profile.blade.php b/resources/views/front/pages/account/profile.blade.php index 9244b4e05..59b0f4889 100644 --- a/resources/views/front/pages/account/profile.blade.php +++ b/resources/views/front/pages/account/profile.blade.php @@ -28,4 +28,6 @@ + + @include('front.components.footer') @endsection diff --git a/resources/views/front/pages/account/security/2fa-disable.blade.php b/resources/views/front/pages/account/security/2fa-disable.blade.php index 907461d4e..825286818 100644 --- a/resources/views/front/pages/account/security/2fa-disable.blade.php +++ b/resources/views/front/pages/account/security/2fa-disable.blade.php @@ -29,4 +29,6 @@ + + @include('front.components.footer') @endsection diff --git a/resources/views/front/pages/account/security/2fa-setup.blade.php b/resources/views/front/pages/account/security/2fa-setup.blade.php index 29e970de4..265c28414 100644 --- a/resources/views/front/pages/account/security/2fa-setup.blade.php +++ b/resources/views/front/pages/account/security/2fa-setup.blade.php @@ -90,4 +90,6 @@ + + @include('front.components.footer') @endsection diff --git a/resources/views/front/pages/account/security/backup-refresh-new-code.blade.php b/resources/views/front/pages/account/security/backup-refresh-new-code.blade.php index ed7aaf2f5..d81cea69e 100644 --- a/resources/views/front/pages/account/security/backup-refresh-new-code.blade.php +++ b/resources/views/front/pages/account/security/backup-refresh-new-code.blade.php @@ -28,5 +28,7 @@ + + @include('front.components.footer') @endsection diff --git a/resources/views/front/pages/account/security/backup-refresh.blade.php b/resources/views/front/pages/account/security/backup-refresh.blade.php index 6cb2f6474..be6d3187e 100644 --- a/resources/views/front/pages/account/security/backup-refresh.blade.php +++ b/resources/views/front/pages/account/security/backup-refresh.blade.php @@ -29,4 +29,6 @@ class="button button--filled button--secondary">Cancel + + @include('front.components.footer') @endsection diff --git a/resources/views/front/pages/ban-appeal/_game-ban-listing.blade.php b/resources/views/front/pages/ban-appeal/_game-ban-listing.blade.php index 35c8c300b..99e2fcc74 100644 --- a/resources/views/front/pages/ban-appeal/_game-ban-listing.blade.php +++ b/resources/views/front/pages/ban-appeal/_game-ban-listing.blade.php @@ -27,19 +27,19 @@
    Appeal #{{ $i+1 }} - @switch($appeal->status) - @case(\Domain\BanAppeals\Entities\BanAppealStatus::PENDING) + @case(\App\Domains\BanAppeals\Entities\BanAppealStatus::PENDING) Pending @break - @case(\Domain\BanAppeals\Entities\BanAppealStatus::DENIED) + @case(\App\Domains\BanAppeals\Entities\BanAppealStatus::DENIED) Denied @break - @case(\Domain\BanAppeals\Entities\BanAppealStatus::ACCEPTED_UNBAN) + @case(\App\Domains\BanAppeals\Entities\BanAppealStatus::ACCEPTED_UNBAN) Unbanned @break - @case(\Domain\BanAppeals\Entities\BanAppealStatus::ACCEPTED_TEMPBAN) + @case(\App\Domains\BanAppeals\Entities\BanAppealStatus::ACCEPTED_TEMPBAN) Reduced to tempban @break @endswitch diff --git a/resources/views/front/pages/ban-appeal/show.blade.php b/resources/views/front/pages/ban-appeal/show.blade.php index 8693f0da5..421a105f5 100644 --- a/resources/views/front/pages/ban-appeal/show.blade.php +++ b/resources/views/front/pages/ban-appeal/show.blade.php @@ -17,28 +17,30 @@
    @include('front.components.form-error') @switch($banAppeal->status) - @case(\Domain\BanAppeals\Entities\BanAppealStatus::PENDING) + @case(\App\Domains\BanAppeals\Entities\BanAppealStatus::PENDING)

    Appeal Pending

    - Please wait whilst your appeal is reviewed by staff. This usually happens within 48 hours, but may take + Please wait whilst your appeal is reviewed by staff. This usually happens within 48 hours, but may + take longer in some cases.
    @break - @case(\Domain\BanAppeals\Entities\BanAppealStatus::ACCEPTED_UNBAN) + @case(\App\Domains\BanAppeals\Entities\BanAppealStatus::ACCEPTED_UNBAN)

    Appeal Accepted

    Your ban appeal has been accepted.
    - You must read the response from staff, as it may contain important information to prevent you being banned in future. + You must read the response from staff, as it may contain important information to prevent + you being banned in future.
    @break - @case(\Domain\BanAppeals\Entities\BanAppealStatus::ACCEPTED_TEMPBAN) + @case(\App\Domains\BanAppeals\Entities\BanAppealStatus::ACCEPTED_TEMPBAN)

    Ban reduced

    Your appeal has been considered, and your ban has been reduced to a temporary ban.

    You will be unbanned on {{ $banAppeal->gamePlayerBan->expires_at }}.

    @break - @case(\Domain\BanAppeals\Entities\BanAppealStatus::DENIED) + @case(\App\Domains\BanAppeals\Entities\BanAppealStatus::DENIED)

    Appeal Denied

    Sorry, your appeal was denied. The response from staff is shown below.
    @@ -51,7 +53,8 @@
    - +
    diff --git a/resources/views/front/pages/banlist.blade.php b/resources/views/front/pages/banlist.blade.php index d289b2f24..566760d44 100644 --- a/resources/views/front/pages/banlist.blade.php +++ b/resources/views/front/pages/banlist.blade.php @@ -73,4 +73,6 @@ {{ $bans->links('vendor.pagination.default') }}
    + + @include('front.components.footer') @endsection diff --git a/resources/views/front/pages/builder-rank/builder-rank-form.blade.php b/resources/views/front/pages/builder-rank/builder-rank-form.blade.php index 56a84604c..975435627 100644 --- a/resources/views/front/pages/builder-rank/builder-rank-form.blade.php +++ b/resources/views/front/pages/builder-rank/builder-rank-form.blade.php @@ -20,14 +20,15 @@ function submitForm() {

    For more information about our build ranks, - + read here

    WARNING

    If you have previously submitted an application within 21 days, your application will - be denied.

    + be denied.

    You must wait at least 21 days between applications
    @endsection @@ -48,7 +49,8 @@ function submitForm() { @if ($applicationInProgress)

    Error

    - You already have an application in progress. + You already have an application in + progress.
    @else @guest @@ -67,17 +69,17 @@ function submitForm() {
    @@ -85,39 +87,39 @@ class="textfield {{ $errors->any() ? 'error' : '' }}"
    diff --git a/resources/views/front/pages/builder-rank/builder-rank-status.blade.php b/resources/views/front/pages/builder-rank/builder-rank-status.blade.php index 2231f6f5b..b83e21a0e 100644 --- a/resources/views/front/pages/builder-rank/builder-rank-status.blade.php +++ b/resources/views/front/pages/builder-rank/builder-rank-status.blade.php @@ -25,25 +25,25 @@ function submitForm() {

    Application Status

    @switch($application->status()) - @case(\Domain\BuilderRankApplications\Entities\ApplicationStatus::IN_PROGRESS) + @case(\App\Domains\BuilderRankApplications\Data\ApplicationStatus::IN_PROGRESS)

    In review

    Please wait while the Architect Council reviews your submission
    @break - @case(\Domain\BuilderRankApplications\Entities\ApplicationStatus::APPROVED) + @case(\App\Domains\BuilderRankApplications\Data\ApplicationStatus::APPROVED)

    Success!

    Your application was approved and your rank has been updated
    @break - @case(\Domain\BuilderRankApplications\Entities\ApplicationStatus::DENIED) + @case(\App\Domains\BuilderRankApplications\Data\ApplicationStatus::DENIED)

    Unsuccessful

    Sorry, your application was not approved this time. -
    +
    The follow reason was provided: {{ $application->denied_reason }}
    @break diff --git a/resources/views/front/pages/builder-rank/builder-rank-success.blade.php b/resources/views/front/pages/builder-rank/builder-rank-success.blade.php index 6edc778da..cfe40b24f 100644 --- a/resources/views/front/pages/builder-rank/builder-rank-success.blade.php +++ b/resources/views/front/pages/builder-rank/builder-rank-success.blade.php @@ -13,4 +13,6 @@

    + + @include('front.components.footer') @endsection diff --git a/resources/views/front/pages/donate/donate-thanks.blade.php b/resources/views/front/pages/donate/donate-thanks.blade.php index 87278bb3f..6c4e40cc6 100644 --- a/resources/views/front/pages/donate/donate-thanks.blade.php +++ b/resources/views/front/pages/donate/donate-thanks.blade.php @@ -77,4 +77,6 @@ @include('front.components.sitemap')
    + + @include('front.components.footer') @endsection diff --git a/resources/views/front/pages/donate/donate.blade.php b/resources/views/front/pages/donate/donate.blade.php index 1a169f2c0..58276b1fb 100644 --- a/resources/views/front/pages/donate/donate.blade.php +++ b/resources/views/front/pages/donate/donate.blade.php @@ -290,6 +290,8 @@ class="button button--filled" @include('front.components.sitemap')
    + + @include('front.components.footer') @endsection @push('end') diff --git a/resources/views/front/pages/home/components/hero.blade.php b/resources/views/front/pages/home/components/hero.blade.php new file mode 100644 index 000000000..10fa4b400 --- /dev/null +++ b/resources/views/front/pages/home/components/hero.blade.php @@ -0,0 +1,42 @@ +
    +
    + +
    +

    + We Build Stuff.
    Come Join Us! +

    +

    + One of the world's longest-running Minecraft servers; we're a
    + community of creative players and city builders +

    + +
    +
    diff --git a/resources/views/front/pages/home.blade.php b/resources/views/front/pages/home/index.blade.php similarity index 60% rename from resources/views/front/pages/home.blade.php rename to resources/views/front/pages/home/index.blade.php index e0a506142..38c623673 100644 --- a/resources/views/front/pages/home.blade.php +++ b/resources/views/front/pages/home/index.blade.php @@ -6,51 +6,11 @@ One of the world's longest-running Minecraft servers; we're a community of creative players and city builders @endsection @section('body') -
    -
    -
    -

    We Build Stuff.
    Come Join Us!

    -
    - One of the world's longest-running Minecraft servers; we're a
    - community of creative players and city builders -
    - - - - Join Now - -
    - -
    - @foreach($servers as $server) -
    - {{ $server->name }} - @if($server->is_online) - {{ $server->num_of_players . '/' . $server->num_of_slots }} - @endif - - - {{ $server->address() }} - - -
    - @endforeach - -
    - Discord - - Connect / Open - -
    -
    -
    -
    + @include('front.pages.home.components.hero')
    - -
    -
    +

    Minecraft 24/7

    @@ -78,8 +38,8 @@
    -
    -
    +
    +

    Creative

    @@ -95,7 +55,7 @@
  • - Real-Time Map + Real-Time Map
  • @@ -103,7 +63,7 @@
    -
    +

    Survival

    @@ -121,12 +81,12 @@
    -
    +
    -
    -
    +
    +

    Monarch

    @@ -140,34 +100,11 @@ Gallery
  • - 3D Map -
  • -
  • - Real-Time Map -
  • - -
    -
    -
    - -
    -
    -

    Arcade

    - -
    - Who doesn't love minigames? In the Arcade you will find a whole host to try out. - Become a Spleef champion, or test out your crazy ideas in the Redstone Playground. - The fun never stops! -
    -
    -
    @@ -175,7 +112,7 @@ @include('front.components.sitemap', ['animated' => true])
    -@endsection -@push('end') - - -@endpush + @include('front.components.footer') +@endsection diff --git a/resources/views/front/pages/login/login.blade.php b/resources/views/front/pages/login/login.blade.php index d34855e15..334e49d13 100644 --- a/resources/views/front/pages/login/login.blade.php +++ b/resources/views/front/pages/login/login.blade.php @@ -72,4 +72,6 @@ class="textfield {{ $errors->any() ? 'error' : '' }}"
    + + @include('front.components.footer') @endsection diff --git a/resources/views/front/pages/login/mfa-backup.blade.php b/resources/views/front/pages/login/mfa-backup.blade.php index 9b4795e09..948e03cb1 100644 --- a/resources/views/front/pages/login/mfa-backup.blade.php +++ b/resources/views/front/pages/login/mfa-backup.blade.php @@ -27,4 +27,6 @@ + + @include('front.components.footer') @endsection diff --git a/resources/views/front/pages/login/mfa.blade.php b/resources/views/front/pages/login/mfa.blade.php index 134450b77..e3da70650 100644 --- a/resources/views/front/pages/login/mfa.blade.php +++ b/resources/views/front/pages/login/mfa.blade.php @@ -26,4 +26,6 @@ + + @include('front.components.footer') @endsection diff --git a/resources/views/front/pages/login/reauth.blade.php b/resources/views/front/pages/login/reauth.blade.php index dd702c16c..dd4c85f26 100644 --- a/resources/views/front/pages/login/reauth.blade.php +++ b/resources/views/front/pages/login/reauth.blade.php @@ -22,4 +22,6 @@ + + @include('front.components.footer') @endsection diff --git a/resources/views/front/pages/maps.blade.php b/resources/views/front/pages/maps.blade.php new file mode 100644 index 000000000..05463d275 --- /dev/null +++ b/resources/views/front/pages/maps.blade.php @@ -0,0 +1,22 @@ +@extends('front.templates.master') + +@section('title', 'Live Maps - Project City Build') + +@push('head') + +@endpush + +@section('body') + +@endsection diff --git a/resources/views/front/pages/minecraft-auth/error.blade.php b/resources/views/front/pages/minecraft-auth/error.blade.php index ec1a8ef44..755310da8 100644 --- a/resources/views/front/pages/minecraft-auth/error.blade.php +++ b/resources/views/front/pages/minecraft-auth/error.blade.php @@ -12,4 +12,6 @@
    + + @include('front.components.footer') @endsection diff --git a/resources/views/front/pages/page.blade.php b/resources/views/front/pages/page.blade.php deleted file mode 100644 index 96bc3e3b0..000000000 --- a/resources/views/front/pages/page.blade.php +++ /dev/null @@ -1,27 +0,0 @@ -@extends('front.templates.master') - -@section('title', $page->title . ' - Project City Build') -@section('description', 'Players listed on this page are currently banned on one or more servers on our game network') - -@section('body') -
    -
    -

    {{ $page->title }}

    - - {{ $page->description }} -
    -
    - -
    -
    - @php - $converter = new League\CommonMark\GithubFlavoredMarkdownConverter([ - 'html_input' => 'strip', - 'allow_unsafe_links' => false, - ]); - - echo $converter->convert($page->contents); - @endphp -
    -
    -@endsection diff --git a/resources/views/front/pages/password-reset/password-reset-form.blade.php b/resources/views/front/pages/password-reset/password-reset-form.blade.php index f2e6ae663..cb14d0c47 100644 --- a/resources/views/front/pages/password-reset/password-reset-form.blade.php +++ b/resources/views/front/pages/password-reset/password-reset-form.blade.php @@ -36,4 +36,6 @@
    + + @include('front.components.footer') @endsection diff --git a/resources/views/front/pages/password-reset/password-reset-success.blade.php b/resources/views/front/pages/password-reset/password-reset-success.blade.php index 90d1cebc4..531834c7b 100644 --- a/resources/views/front/pages/password-reset/password-reset-success.blade.php +++ b/resources/views/front/pages/password-reset/password-reset-success.blade.php @@ -16,4 +16,6 @@
    + + @include('front.components.footer') @endsection diff --git a/resources/views/front/pages/register/register-success.blade.php b/resources/views/front/pages/register/register-success.blade.php index a7c379e53..b4bceaa8b 100644 --- a/resources/views/front/pages/register/register-success.blade.php +++ b/resources/views/front/pages/register/register-success.blade.php @@ -15,4 +15,6 @@

    + + @include('front.components.footer') @endsection diff --git a/resources/views/front/pages/register/register-verify-complete.blade.php b/resources/views/front/pages/register/register-verify-complete.blade.php index ed1938bfc..1dffeed9f 100644 --- a/resources/views/front/pages/register/register-verify-complete.blade.php +++ b/resources/views/front/pages/register/register-verify-complete.blade.php @@ -12,4 +12,6 @@ Go to login + + @include('front.components.footer') @endsection diff --git a/resources/views/front/pages/register/register.blade.php b/resources/views/front/pages/register/register.blade.php index 76e3cc285..2a93d73f4 100644 --- a/resources/views/front/pages/register/register.blade.php +++ b/resources/views/front/pages/register/register.blade.php @@ -90,4 +90,6 @@ class="g-recaptcha button button--filled button--block" + + @include('front.components.footer') @endsection diff --git a/resources/views/front/templates/2-col.blade.php b/resources/views/front/templates/2-col.blade.php index 02d405191..19478860a 100644 --- a/resources/views/front/templates/2-col.blade.php +++ b/resources/views/front/templates/2-col.blade.php @@ -14,4 +14,6 @@ @yield('col-2') + + @include('front.components.footer') @endsection diff --git a/resources/views/front/templates/master.blade.php b/resources/views/front/templates/master.blade.php index a894fb134..b401695e1 100644 --- a/resources/views/front/templates/master.blade.php +++ b/resources/views/front/templates/master.blade.php @@ -35,23 +35,9 @@ 'resources/js/front/front.ts', ]) - - @stack('head') - - @env(['staging', 'production']) - - - @endenv @@ -59,7 +45,6 @@ function gtag() {
    @yield('body') - @include('front.components.footer')
    @stack('end') diff --git a/resources/views/library/audit/diffs/attribute-diff.blade.php b/resources/views/library/audit/diffs/attribute-diff.blade.php index 06c39d3e9..03830bfa4 100644 --- a/resources/views/library/audit/diffs/attribute-diff.blade.php +++ b/resources/views/library/audit/diffs/attribute-diff.blade.php @@ -1,26 +1,26 @@ @switch($changeType) - @case(\Library\Auditing\Changes\MultilineChange::class) + @case(\App\Core\Domains\Auditing\Changes\MultilineChange::class) @break - @case(\Library\Auditing\Changes\Change::class) + @case(\App\Core\Domains\Auditing\Changes\Change::class) @break - @case(\Library\Auditing\Changes\BooleanChange::class) + @case(\App\Core\Domains\Auditing\Changes\BooleanChange::class) @@ -30,12 +30,12 @@ @break - @case(\Library\Auditing\Changes\RelationshipChange::class) + @case(\App\Core\Domains\Auditing\Changes\RelationshipChange::class) @@ -45,13 +45,13 @@ @break - @case(\Library\Auditing\Changes\ArrayChange::class) + @case(\App\Core\Domains\Auditing\Changes\ArrayChange::class) diff --git a/resources/views/library/audit/support/model.blade.php b/resources/views/library/audit/support/model.blade.php index 47ec6df1f..3767e890f 100644 --- a/resources/views/library/audit/support/model.blade.php +++ b/resources/views/library/audit/support/model.blade.php @@ -1,15 +1,15 @@ @props(['model', 'link' => true]) -@if($model instanceof \Library\Auditing\Changes\Tokens\NotInAudit) +@if($model instanceof \App\Core\Domains\Auditing\Changes\Tokens\NotInAudit) Unset @elseif($model == null) Null @else @if($model?->getActivitySubjectLink() && $link) - @endif - {{ $model?->getActivitySubjectName() ?? $model?->getKey() ?? 'Unknown' }} - @if($model?->getActivitySubjectLink() && $link) + @endif + {{ $model?->getActivitySubjectName() ?? $model?->getKey() ?? 'Unknown' }} + @if($model?->getActivitySubjectLink() && $link) @endif @endif diff --git a/routes/api_v1.php b/routes/api_v1.php index 70f10774d..5e407ec0c 100644 --- a/routes/api_v1.php +++ b/routes/api_v1.php @@ -1,36 +1,46 @@ group(function () { - Route::post('stripe', [StripeWebhookController::class, 'handleWebhook']) - ->name('cashier.webhook'); -}); +Route::name('v0.')->group(function() { + Route::prefix('webhooks')->group(function () { + Route::post('stripe', [StripeWebhookController::class, 'handleWebhook']) + ->name('cashier.webhook'); + }); -Route::prefix('auth')->group(function () { - Route::post('minecraft', [MinecraftAuthTokenController::class, 'store']); - Route::get('minecraft/{minecraftUUID}', [MinecraftAuthTokenController::class, 'show']); -}); + Route::prefix('auth')->group(function () { + Route::post('minecraft', [MinecraftAuthTokenController::class, 'store']); + Route::get('minecraft/{minecraftUUID}', [MinecraftAuthTokenController::class, 'show']); + }); -Route::prefix('groups')->group(function () { - Route::get('/', [GroupAPIController::class, 'getAll']); + Route::prefix('groups')->group(function () { + Route::get('/', [GroupApiController::class, 'getAll']); + }); + + Route::get('accounts/search', AccountSearchController::class); + Route::get('minecraft/aliases/search', MinecraftPlayerAliasSearchController::class); }); -Route::get('accounts/search', AccountSearchController::class); -Route::get('minecraft/aliases/search', MinecraftPlayerAliasSearchController::class); +Route::prefix('v1')->name('v1.')->group(function() { + Route::prefix('webhooks')->group(function () { + Route::post('stripe', [StripeWebhookController::class, 'handleWebhook']) + ->name('cashier.webhook'); + }); + + Route::prefix('auth')->group(function () { + Route::post('minecraft', [MinecraftAuthTokenController::class, 'store']); + Route::get('minecraft/{minecraftUUID}', [MinecraftAuthTokenController::class, 'show']); + }); + + Route::prefix('groups')->group(function () { + Route::get('/', [GroupApiController::class, 'getAll']); + }); + + Route::get('accounts/search', AccountSearchController::class); + Route::get('minecraft/aliases/search', MinecraftPlayerAliasSearchController::class); +}); diff --git a/routes/api_v2.php b/routes/api_v2.php index 24395ebc2..17d3cc098 100644 --- a/routes/api_v2.php +++ b/routes/api_v2.php @@ -1,102 +1,95 @@ group(function () { - Route::middleware( - RequiresServerTokenScope::middleware(ScopeKey::BAN_UPDATE), - )->group(function () { - Route::post('ban', [GamePlayerBanController::class, 'ban']); - Route::post('unban', [GamePlayerBanController::class, 'unban']); - Route::post('convert_to_permanent', [GamePlayerBanController::class, 'convertToPermanent']); - }); - - Route::middleware([ - RequiresServerTokenScope::middleware(ScopeKey::BAN_LOOKUP), - ])->group(function () { - Route::post('status', [GamePlayerBanController::class, 'status']); - Route::post('all', [GamePlayerBanController::class, 'all']); - }); -}); +Route::prefix('v2') + ->name('v2.') + ->group(function() { + Route::prefix('bans/player')->group(function () { + Route::middleware( + RequiresServerTokenScope::middleware(ScopeKey::BAN_UPDATE), + )->group(function () { + Route::post('ban', [GamePlayerBanController::class, 'ban']); + Route::post('unban', [GamePlayerBanController::class, 'unban']); + Route::post('convert_to_permanent', [GamePlayerBanController::class, 'convertToPermanent']); + }); + + Route::middleware([ + RequiresServerTokenScope::middleware(ScopeKey::BAN_LOOKUP), + ])->group(function () { + Route::post('status', [GamePlayerBanController::class, 'status']); + Route::post('all', [GamePlayerBanController::class, 'all']); + }); + }); -Route::prefix('bans/ip')->group(function () { - Route::middleware( - RequiresServerTokenScope::middleware(ScopeKey::BAN_UPDATE), - )->group(function () { - Route::post('ban', [GameIPBanController::class, 'ban']); - Route::post('unban', [GameIPBanController::class, 'unban']); - }); + Route::prefix('bans/ip')->group(function () { + Route::middleware( + RequiresServerTokenScope::middleware(ScopeKey::BAN_UPDATE), + )->group(function () { + Route::post('ban', [GameIPBanController::class, 'ban']); + Route::post('unban', [GameIPBanController::class, 'unban']); + }); + + Route::middleware([ + RequiresServerTokenScope::middleware(ScopeKey::BAN_LOOKUP), + ])->group(function () { + Route::get('status', [GameIPBanController::class, 'status']); + }); + }); - Route::middleware([ - RequiresServerTokenScope::middleware(ScopeKey::BAN_LOOKUP), - ])->group(function () { - Route::get('status', [GameIPBanController::class, 'status']); - }); -}); + Route::prefix('warnings')->group(function () { + Route::get('/', [PlayerWarningController::class, 'show']) + ->middleware(RequiresServerTokenScope::middleware(ScopeKey::WARNING_LOOKUP)); -Route::prefix('warnings')->group(function () { - Route::get('/', [PlayerWarningController::class, 'show']) - ->middleware(RequiresServerTokenScope::middleware(ScopeKey::WARNING_LOOKUP)); + Route::middleware([ + RequiresServerTokenScope::middleware(ScopeKey::WARNING_UPDATE), + ])->group(function () { + Route::post('/', [PlayerWarningController::class, 'store']); + Route::post('acknowledge', [PlayerWarningController::class, 'acknowledge']); + }); + }); - Route::middleware([ - RequiresServerTokenScope::middleware(ScopeKey::WARNING_UPDATE), - ])->group(function () { - Route::post('/', [PlayerWarningController::class, 'store']); - Route::post('acknowledge', [PlayerWarningController::class, 'acknowledge']); - }); -}); + Route::prefix('minecraft')->group(function () { + Route::prefix('{minecraftUUID}')->group(function () { + Route::get('donation-tiers', [MinecraftDonationTierController::class, 'show']); + Route::get('badges', [MinecraftBadgeController::class, 'show']); + Route::get('aggregate', [MinecraftAggregateController::class, 'show']); -Route::prefix('minecraft')->group(function () { - Route::prefix('{minecraftUUID}')->group(function () { - Route::get('donation-tiers', [MinecraftDonationTierController::class, 'show']); - Route::get('badges', [MinecraftBadgeController::class, 'show']); - Route::get('aggregate', [MinecraftAggregateController::class, 'show']); + Route::prefix('balance')->group(function () { + Route::get('/', [MinecraftBalanceController::class, 'show']) + ->middleware(RequiresServerTokenScope::middleware(ScopeKey::ACCOUNT_BALANCE_SHOW)); - Route::prefix('balance')->group(function () { - Route::get('/', [MinecraftBalanceController::class, 'show']) - ->middleware(RequiresServerTokenScope::middleware(ScopeKey::ACCOUNT_BALANCE_SHOW)); + Route::post('deduct', [MinecraftBalanceController::class, 'deduct']) + ->middleware(RequiresServerTokenScope::middleware(ScopeKey::ACCOUNT_BALANCE_DEDUCT)); + }); + }); - Route::post('deduct', [MinecraftBalanceController::class, 'deduct']) - ->middleware(RequiresServerTokenScope::middleware(ScopeKey::ACCOUNT_BALANCE_DEDUCT)); - }); - }); + Route::prefix('showcase-warps')->group(function () { + Route::get('/', [MinecraftShowcaseWarpController::class, 'index']) + ->middleware(RequiresServerTokenScope::middleware(ScopeKey::SHOWCASE_WARPS_SHOW)); - Route::prefix('showcase-warps')->group(function () { - Route::get('/', [MinecraftShowcaseWarpController::class, 'index']) - ->middleware(RequiresServerTokenScope::middleware(ScopeKey::SHOWCASE_WARPS_SHOW)); + Route::post('/', [MinecraftShowcaseWarpController::class, 'store']) + ->middleware(RequiresServerTokenScope::middleware(ScopeKey::SHOWCASE_WARPS_UPDATE)); - Route::post('/', [MinecraftShowcaseWarpController::class, 'store']) - ->middleware(RequiresServerTokenScope::middleware(ScopeKey::SHOWCASE_WARPS_UPDATE)); + Route::get('{name}', [MinecraftShowcaseWarpController::class, 'show']) + ->middleware(RequiresServerTokenScope::middleware(ScopeKey::SHOWCASE_WARPS_SHOW)); - Route::get('{name}', [MinecraftShowcaseWarpController::class, 'show']) - ->middleware(RequiresServerTokenScope::middleware(ScopeKey::SHOWCASE_WARPS_SHOW)); + Route::post('{name}', [MinecraftShowcaseWarpController::class, 'update']) + ->middleware(RequiresServerTokenScope::middleware(ScopeKey::SHOWCASE_WARPS_UPDATE)); + }); - Route::post('{name}', [MinecraftShowcaseWarpController::class, 'update']) - ->middleware(RequiresServerTokenScope::middleware(ScopeKey::SHOWCASE_WARPS_UPDATE)); + Route::post('telemetry/seen', [MinecraftTelemetryController::class, 'playerSeen']) + ->middleware(RequiresServerTokenScope::middleware(ScopeKey::TELEMETRY)); + }); }); - - Route::post('telemetry/seen', [MinecraftTelemetryController::class, 'playerSeen']) - ->middleware(RequiresServerTokenScope::middleware(ScopeKey::TELEMETRY)); -}); diff --git a/routes/channels.php b/routes/channels.php deleted file mode 100644 index f16a20b9b..000000000 --- a/routes/channels.php +++ /dev/null @@ -1,16 +0,0 @@ -id === (int) $id; -}); diff --git a/routes/console.php b/routes/console.php index 071f4f66d..81ff014bf 100644 --- a/routes/console.php +++ b/routes/console.php @@ -1,12 +1,39 @@ everyFiveMinutes(); + +Schedule::command('passport:purge') + ->hourly(); + +Schedule::command('sitemap:generate') + ->daily(); + +Schedule::command('cleanup:password-resets') + ->daily(); + +Schedule::command('cleanup:unactivated-accounts') + ->weekly(); + +Schedule::command('donor-perks:expire') + ->hourly(); + +Schedule::command('donor-perks:reward-currency') + ->hourly(); + +Schedule::command('bans:expire') + ->everyFifteenMinutes(); + +Schedule::command('server:query --all --background') + ->everyFiveMinutes(); + +Schedule::command('backup:clean') + ->dailyAt('00:00'); + +Schedule::command('backup:run') + ->dailyAt('01:00'); + +Schedule::command('backup:monitor') + ->dailyAt('02:00'); diff --git a/routes/web.php b/routes/web.php index d142c0b1c..267ef8310 100644 --- a/routes/web.php +++ b/routes/web.php @@ -23,218 +23,219 @@ use App\Http\Controllers\Front\MfaBackupController; use App\Http\Controllers\Front\MfaLoginGateController; use App\Http\Controllers\Front\MinecraftPlayerLinkController; -use App\Http\Controllers\Front\PageController; use App\Http\Controllers\Front\PasswordResetController; use App\Http\Controllers\Front\ReauthController; use App\Http\Controllers\Front\RegisterController; use Illuminate\Support\Facades\Route; -Route::get('/', [HomeController::class, 'index']) - ->name('home'); +Route::name('front.')->group(function () { + Route::get('/', [HomeController::class, 'index']) + ->name('home'); -Route::get('logout', [LogoutController::class, 'logout']) - ->name('logout') - ->middleware('auth'); + Route::get('maps', fn () => view('front.pages.maps')) + ->name('maps'); -Route::get('p/{name}', [PageController::class, 'index']) - ->name('page'); + Route::get('logout', [LogoutController::class, 'logout']) + ->name('logout') + ->middleware('auth'); -Route::prefix('donate')->group(function () { - Route::get('/', [DonationController::class, 'index']) - ->name('donate'); + Route::prefix('donate')->group(function () { + Route::get('/', [DonationController::class, 'index']) + ->name('donate'); - Route::post('checkout', [DonationController::class, 'checkout']) - ->name('donations.checkout'); + Route::post('checkout', [DonationController::class, 'checkout']) + ->name('donations.checkout'); - Route::get('success', [DonationController::class, 'success']) - ->name('donate.success'); -}); + Route::get('success', [DonationController::class, 'success']) + ->name('donate.success'); + }); -Route::prefix('rank-up')->group(function () { - Route::get('/', [BuilderRankApplicationController::class, 'index']) - ->name('rank-up'); + Route::prefix('rank-up')->group(function () { + Route::get('/', [BuilderRankApplicationController::class, 'index']) + ->name('rank-up'); - Route::post('/', [BuilderRankApplicationController::class, 'store']) - ->name('rank-up.submit'); + Route::post('/', [BuilderRankApplicationController::class, 'store']) + ->name('rank-up.submit'); - Route::get('{id}', [BuilderRankApplicationController::class, 'show']) - ->name('rank-up.status'); -}); + Route::get('{id}', [BuilderRankApplicationController::class, 'show']) + ->name('rank-up.status'); + }); -Route::prefix('appeal')->group(function () { - Route::get('/', [BanAppealController::class, 'index']) - ->name('appeal'); + Route::prefix('appeal')->group(function () { + Route::get('/', [BanAppealController::class, 'index']) + ->name('appeal'); - Route::redirect('auth', '/appeal') - ->name('appeal.auth') - ->middleware('auth'); + Route::redirect('auth', '/appeal') + ->name('appeal.auth') + ->middleware('auth'); - Route::get('{banAppeal}', [BanAppealController::class, 'show']) - ->name('appeal.show'); -}); + Route::get('{banAppeal}', [BanAppealController::class, 'show']) + ->name('appeal.show'); + }); -Route::prefix('bans')->group(function () { - Route::get('/', [BanlistController::class, 'index']) - ->name('banlist'); + Route::prefix('bans')->group(function () { + Route::get('/', [BanlistController::class, 'index']) + ->name('banlist'); - Route::post('/', BanLookupController::class) - ->name('bans.lookup'); + Route::post('/', BanLookupController::class) + ->name('bans.lookup'); - Route::get('{ban}/appeal', [BanAppealController::class, 'create']) - ->name('appeal.create'); + Route::get('{ban}/appeal', [BanAppealController::class, 'create']) + ->name('appeal.create'); - Route::post('{ban}/appeal', [BanAppealController::class, 'store']) - ->name('appeal.submit'); -}); + Route::post('{ban}/appeal', [BanAppealController::class, 'store']) + ->name('appeal.submit'); + }); -Route::prefix('login')->group(function () { - Route::get('/', [LoginController::class, 'show']) - ->name('login') - ->middleware('guest'); + Route::prefix('login')->group(function () { + Route::get('/', [LoginController::class, 'show']) + ->name('login') + ->middleware('guest'); - Route::post('/', [LoginController::class, 'login']) - ->name('login.submit') - ->middleware('guest'); + Route::post('/', [LoginController::class, 'login']) + ->name('login.submit') + ->middleware(['guest', 'throttle:login']); - Route::get('reactivate', [LoginController::class, 'resendActivationEmail']) - ->name('login.reactivate') - ->middleware(['guest', 'throttle:3,1']); + Route::get('reactivate', [LoginController::class, 'resendActivationEmail']) + ->name('login.reactivate') + ->middleware(['guest', 'throttle:3,1']); - Route::get('reauth', [ReauthController::class, 'show']) - ->name('password.confirm') - ->middleware('auth'); + Route::get('reauth', [ReauthController::class, 'show']) + ->name('password.confirm') + ->middleware('auth'); - Route::post('reauth', [ReauthController::class, 'process']) - ->name('password.confirm.submit') - ->middleware(['auth', 'throttle:6,1']); + Route::post('reauth', [ReauthController::class, 'process']) + ->name('password.confirm.submit') + ->middleware(['auth', 'throttle:6,1']); - Route::get('mfa', [MfaLoginGateController::class, 'create']) - ->name('login.mfa') - ->middleware(['auth', 'active-mfa']); + Route::get('mfa', [MfaLoginGateController::class, 'create']) + ->name('login.mfa') + ->middleware(['auth', 'active-mfa']); - Route::post('mfa', [MfaLoginGateController::class, 'store']) - ->name('login.mfa.submit') - ->middleware(['auth', 'active-mfa', 'throttle:6,1']); + Route::post('mfa', [MfaLoginGateController::class, 'store']) + ->name('login.mfa.submit') + ->middleware(['auth', 'active-mfa', 'throttle:6,1']); - Route::get('mfa/recover', [MfaBackupController::class, 'show']) - ->name('login.mfa-recover') - ->middleware(['auth', 'active-mfa']); + Route::get('mfa/recover', [MfaBackupController::class, 'show']) + ->name('login.mfa-recover') + ->middleware(['auth', 'active-mfa']); - Route::delete('mfa/recover', [MfaBackupController::class, 'destroy']) - ->name('login.mfa-recover.submit') - ->middleware(['auth', 'active-mfa', 'throttle:6,1']); -}); + Route::delete('mfa/recover', [MfaBackupController::class, 'destroy']) + ->name('login.mfa-recover.submit') + ->middleware(['auth', 'active-mfa', 'throttle:6,1']); + }); -Route::prefix('password-reset')->group(function () { - Route::get('/', [PasswordResetController::class, 'create']) - ->name('password-reset.create'); + Route::prefix('password-reset')->group(function () { + Route::get('/', [PasswordResetController::class, 'create']) + ->name('password-reset.create'); - Route::post('/', [PasswordResetController::class, 'store']) - ->name('password-reset.store'); + Route::post('/', [PasswordResetController::class, 'store']) + ->name('password-reset.store'); - Route::get('edit', [PasswordResetController::class, 'edit']) - ->name('password-reset.edit') - ->middleware('signed'); + Route::get('edit', [PasswordResetController::class, 'edit']) + ->name('password-reset.edit') + ->middleware('signed'); - Route::patch('edit', [PasswordResetController::class, 'update']) - ->name('password-reset.update'); -}); + Route::patch('edit', [PasswordResetController::class, 'update']) + ->name('password-reset.update'); + }); -Route::prefix('register')->group(function () { - Route::get('/', [RegisterController::class, 'show']) - ->name('register') - ->middleware('guest'); + Route::prefix('register')->group(function () { + Route::get('/', [RegisterController::class, 'show']) + ->name('register') + ->middleware('guest'); - Route::post('/', [RegisterController::class, 'register']) - ->name('register.submit') - ->middleware('guest'); + Route::post('/', [RegisterController::class, 'register']) + ->name('register.submit') + ->middleware('guest'); - Route::get('activate', [RegisterController::class, 'activate']) - ->name('register.activate') - ->middleware(['signed', 'guest']); -}); + Route::get('activate', [RegisterController::class, 'activate']) + ->name('register.activate') + ->middleware(['signed', 'guest']); + }); -Route::group([ - 'prefix' => 'account', - 'middleware' => 'auth', -], function () { - Route::redirect(uri: 'settings', destination: 'edit'); + Route::group([ + 'prefix' => 'account', + 'middleware' => 'auth', + ], function () { + Route::redirect(uri: 'settings', destination: 'edit'); - Route::get('/', [AccountProfileController::class, 'show']) - ->name('account.profile'); + Route::get('/', [AccountProfileController::class, 'show']) + ->name('account.profile'); - Route::get('donations', [AccountDonationController::class, 'index']) - ->name('account.donations'); + Route::get('donations', [AccountDonationController::class, 'index']) + ->name('account.donations'); - Route::prefix('infractions')->group(function () { - Route::get('/', [AccountInfractionsController::class, 'index']) - ->name('account.infractions'); + Route::prefix('infractions')->group(function () { + Route::get('/', [AccountInfractionsController::class, 'index']) + ->name('account.infractions'); - Route::post('{warningId}/acknowledge', [AccountInfractionsController::class, 'acknowledgeWarning']) - ->name('account.infractions.acknowledge'); - }); + Route::post('{warningId}/acknowledge', [AccountInfractionsController::class, 'acknowledgeWarning']) + ->name('account.infractions.acknowledge'); + }); - Route::get('billing', [AccountBillingController::class, 'index']) - ->name('account.billing'); + Route::get('billing', [AccountBillingController::class, 'index']) + ->name('account.billing'); - Route::prefix('edit')->group(function () { - Route::get('/', [AccountSettingController::class, 'show']) - ->name('account.settings'); + Route::prefix('edit')->group(function () { + Route::get('/', [AccountSettingController::class, 'show']) + ->name('account.settings'); - Route::post('email/verify', [AccountSettingController::class, 'sendVerificationEmail']) - ->name('account.settings.email'); + Route::post('email/verify', [AccountSettingController::class, 'sendVerificationEmail']) + ->name('account.settings.email'); - Route::get('email/confirm', [AccountSettingController::class, 'showConfirmForm']) - ->name('account.settings.email.confirm') - ->middleware('signed'); + Route::get('email/confirm', [AccountSettingController::class, 'showConfirmForm']) + ->name('account.settings.email.confirm') + ->middleware('signed'); - Route::post('password', [AccountSettingController::class, 'changePassword']) - ->name('account.settings.password'); + Route::post('password', [AccountSettingController::class, 'changePassword']) + ->name('account.settings.password'); - Route::post('username', [AccountSettingController::class, 'changeUsername']) - ->name('account.settings.username'); - }); + Route::post('username', [AccountSettingController::class, 'changeUsername']) + ->name('account.settings.username'); + }); - Route::prefix('games')->group(function () { - Route::get('/', [AccountGameAccountController::class, 'index']) - ->name('account.games'); + Route::prefix('games')->group(function () { + Route::get('/', [AccountGameAccountController::class, 'index']) + ->name('account.games'); - Route::delete('/{minecraft_player}', [AccountGameAccountController::class, 'destroy']) - ->name('account.games.delete'); - }); + Route::delete('/{minecraft_player}', [AccountGameAccountController::class, 'destroy']) + ->name('account.games.delete'); + }); - Route::prefix('security')->group(function () { - Route::get('/', [AccountSecurityController::class, 'show']) - ->name('account.security'); + Route::prefix('security')->group(function () { + Route::get('/', [AccountSecurityController::class, 'show']) + ->name('account.security'); - Route::post('mfa', StartMfaController::class) - ->name('account.security.start'); + Route::post('mfa', StartMfaController::class) + ->name('account.security.start'); - Route::get('mfa/setup', SetupMfaController::class) - ->name('account.security.setup'); + Route::get('mfa/setup', SetupMfaController::class) + ->name('account.security.setup'); - Route::post('mfa/finish', FinishMfaController::class) - ->name('account.security.finish'); + Route::post('mfa/finish', FinishMfaController::class) + ->name('account.security.finish'); - Route::get('mfa/disable', [DisableMfaController::class, 'show']) - ->name('account.security.disable') - ->middleware('password.confirm'); + Route::get('mfa/disable', [DisableMfaController::class, 'show']) + ->name('account.security.disable') + ->middleware('password.confirm'); - Route::delete('mfa/disable', [DisableMfaController::class, 'destroy']) - ->name('account.security.disable.confirm') - ->middleware('password.confirm'); + Route::delete('mfa/disable', [DisableMfaController::class, 'destroy']) + ->name('account.security.disable.confirm') + ->middleware('password.confirm'); - Route::get('mfa/backup', [ResetBackupController::class, 'show']) - ->name('account.security.reset-backup') - ->middleware('password.confirm'); + Route::get('mfa/backup', [ResetBackupController::class, 'show']) + ->name('account.security.reset-backup') + ->middleware('password.confirm'); - Route::post('mfa/backup', [ResetBackupController::class, 'update']) - ->name('account.security.reset-backup.confirm') - ->middleware('password.confirm'); + Route::post('mfa/backup', [ResetBackupController::class, 'update']) + ->name('account.security.reset-backup.confirm') + ->middleware('password.confirm'); + }); }); -}); -Route::group(['middleware' => 'auth'], function () { - Route::get('auth/minecraft/{token}', [MinecraftPlayerLinkController::class, 'index']) - ->name('auth.minecraft.token'); + Route::group(['middleware' => 'auth'], function () { + Route::get('auth/minecraft/{token}', [MinecraftPlayerLinkController::class, 'index']) + ->name('auth.minecraft.token'); + }); }); diff --git a/routes/web_panel.php b/routes/web_panel.php index 305e2863e..c6d29b2e5 100644 --- a/routes/web_panel.php +++ b/routes/web_panel.php @@ -1,5 +1,6 @@ name('index'); - -Route::resource('accounts', AccountController::class) - ->except(['destroy', 'create']) - ->middleware(PanelGroupScope::MANAGE_ACCOUNTS->toMiddleware()); - -Route::group([ - 'prefix' => 'accounts/{account}', - 'as' => 'accounts.', - 'middleware' => PanelGroupScope::MANAGE_ACCOUNTS->toMiddleware(), -], function () { - Route::post('activate', AccountActivate::class) - ->name('activate'); - - Route::post('resend-activation', AccountResendActivation::class) - ->name('resend-activation'); - - Route::post('email-change/{accountEmailChange}/approve', AccountApproveEmailChange::class) - ->name('email-change.approve'); - - Route::delete('game-account/{minecraftPlayer}', [AccountGameAccount::class, 'delete']) - ->name('game-account.delete'); - - Route::post('update-groups', AccountUpdateGroups::class) - ->name('update-groups'); - - Route::post('update-badges', AccountUpdateBadges::class) - ->name('update-badges'); -}); - -Route::resource('minecraft-players', MinecraftPlayerController::class) - ->except(['destroy']) - ->middleware(PanelGroupScope::MANAGE_ACCOUNTS->toMiddleware()); - -Route::post('minecraft-players/lookup', MinecraftPlayerLookupController::class) - ->name('minecraft-players.lookup') - ->middleware(PanelGroupScope::MANAGE_ACCOUNTS->toMiddleware()); - -Route::post('minecraft-players/{minecraft_player}/reload-alias', MinecraftPlayerReloadAliasController::class) - ->name('minecraft-players.reload-alias') - ->middleware(PanelGroupScope::MANAGE_ACCOUNTS->toMiddleware()); - -Route::resource('showcase-warps', ShowcaseWarpsController::class) - ->middleware(PanelGroupScope::MANAGE_SHOWCASE_WARPS->toMiddleware()); - -Route::resource('badges', BadgeController::class) - ->middleware(PanelGroupScope::MANAGE_BADGES->toMiddleware()); - -Route::resource('donations', DonationController::class) - ->middleware(PanelGroupScope::MANAGE_DONATIONS->toMiddleware()); - -Route::resource('donation-perks', DonationPerksController::class) - ->except(['index', 'show']) - ->middleware(PanelGroupScope::MANAGE_DONATIONS->toMiddleware()); - -Route::resource('servers', ServerController::class) - ->except(['show']) - ->middleware(PanelGroupScope::MANAGE_SERVERS->toMiddleware()); - -Route::resource('server-tokens', ServerTokenController::class) - ->except(['show']) - ->middleware(PanelGroupScope::MANAGE_SERVERS->toMiddleware()); - -Route::resource('warnings', PlayerWarningController::class) - ->middleware(PanelGroupScope::MANAGE_WARNINGS->toMiddleware()); - -Route::resource('ip-bans', GameIPBanController::class) - ->except(['show']) - ->middleware(PanelGroupScope::MANAGE_BANS->toMiddleware()); - -Route::resource('player-bans', GamePlayerBanController::class) - ->except(['show']) - ->middleware(PanelGroupScope::MANAGE_BANS->toMiddleware()); - -Route::group([ - 'prefix' => 'groups', - 'as' => 'groups.', - 'middleware' => PanelGroupScope::MANAGE_GROUPS->toMiddleware(), -], function () { - Route::get('/', [GroupController::class, 'index']) - ->name('index'); - - Route::get('{group}/accounts', [GroupAccountController::class, 'index']) - ->name('accounts'); -}); - -Route::resource('pages', PageController::class) - ->middleware(PanelGroupScope::MANAGE_GROUPS->toMiddleware()); - -Route::group([ - 'prefix' => 'builder-ranks', - 'as' => 'builder-ranks.', - 'middleware' => PanelGroupScope::REVIEW_BUILD_RANK_APPS->toMiddleware(), -], function () { - Route::get('/', [BuilderRanksController::class, 'index']) - ->name('index'); - - Route::get('{id}', [BuilderRanksController::class, 'show']) - ->name('show'); - - Route::post('{id}/approve', [BuilderRanksController::class, 'approve']) - ->name('approve'); - - Route::post('{id}/deny', [BuilderRanksController::class, 'deny']) - ->name('deny'); -}); - -Route::resource('ban-appeals', BanAppealController::class) - ->only('index', 'show', 'update') - ->middleware(PanelGroupScope::REVIEW_APPEALS->toMiddleware()); - -Route::resource('activity', ActivityController::class) - ->only(['index', 'show']) - ->middleware(PanelGroupScope::VIEW_ACTIVITY->toMiddleware()); +Route::middleware(['auth', PanelGroupScope::ACCESS_PANEL->toMiddleware(), 'requires-mfa']) + ->prefix('panel') + ->name('front.panel.') + ->group(function () { + Route::view('/', 'admin.index') + ->name('index'); + + Route::resource('accounts', AccountController::class) + ->except(['destroy', 'create']) + ->middleware(PanelGroupScope::MANAGE_ACCOUNTS->toMiddleware()); + + Route::group([ + 'prefix' => 'accounts/{account}', + 'as' => 'accounts.', + 'middleware' => PanelGroupScope::MANAGE_ACCOUNTS->toMiddleware(), + ], function () { + Route::post('activate', AccountActivate::class) + ->name('activate'); + + Route::post('resend-activation', AccountResendActivation::class) + ->name('resend-activation'); + + Route::post('email-change/{accountEmailChange}/approve', AccountApproveEmailChange::class) + ->name('email-change.approve'); + + Route::delete('game-account/{minecraftPlayer}', [AccountGameAccount::class, 'delete']) + ->name('game-account.delete'); + + Route::post('update-groups', AccountUpdateGroups::class) + ->name('update-groups'); + + Route::post('update-badges', AccountUpdateBadges::class) + ->name('update-badges'); + }); + + Route::resource('minecraft-players', MinecraftPlayerController::class) + ->except(['destroy']) + ->middleware(PanelGroupScope::MANAGE_ACCOUNTS->toMiddleware()); + + Route::post('minecraft-players/lookup', MinecraftPlayerLookupController::class) + ->name('minecraft-players.lookup') + ->middleware(PanelGroupScope::MANAGE_ACCOUNTS->toMiddleware()); + + Route::post('minecraft-players/{minecraft_player}/reload-alias', MinecraftPlayerReloadAliasController::class) + ->name('minecraft-players.reload-alias') + ->middleware(PanelGroupScope::MANAGE_ACCOUNTS->toMiddleware()); + + Route::resource('showcase-warps', ShowcaseWarpsController::class) + ->middleware(PanelGroupScope::MANAGE_SHOWCASE_WARPS->toMiddleware()); + + Route::resource('badges', BadgeController::class) + ->middleware(PanelGroupScope::MANAGE_BADGES->toMiddleware()); + + Route::resource('donations', DonationController::class) + ->middleware(PanelGroupScope::MANAGE_DONATIONS->toMiddleware()); + + Route::resource('donation-perks', DonationPerksController::class) + ->except(['index', 'show']) + ->middleware(PanelGroupScope::MANAGE_DONATIONS->toMiddleware()); + + Route::resource('servers', ServerController::class) + ->except(['show']) + ->middleware(PanelGroupScope::MANAGE_SERVERS->toMiddleware()); + + Route::resource('server-tokens', ServerTokenController::class) + ->except(['show']) + ->middleware(PanelGroupScope::MANAGE_SERVERS->toMiddleware()); + + Route::resource('warnings', PlayerWarningController::class) + ->middleware(PanelGroupScope::MANAGE_WARNINGS->toMiddleware()); + + Route::resource('ip-bans', GameIPBanController::class) + ->except(['show']) + ->middleware(PanelGroupScope::MANAGE_BANS->toMiddleware()); + + Route::resource('player-bans', GamePlayerBanController::class) + ->except(['show']) + ->middleware(PanelGroupScope::MANAGE_BANS->toMiddleware()); + + Route::group([ + 'prefix' => 'groups', + 'as' => 'groups.', + 'middleware' => PanelGroupScope::MANAGE_GROUPS->toMiddleware(), + ], function () { + Route::get('/', [GroupController::class, 'index']) + ->name('index'); + + Route::get('{group}/accounts', [GroupAccountController::class, 'index']) + ->name('accounts'); + }); + + Route::group([ + 'prefix' => 'builder-ranks', + 'as' => 'builder-ranks.', + 'middleware' => PanelGroupScope::REVIEW_BUILD_RANK_APPS->toMiddleware(), + ], function () { + Route::get('/', [BuilderRanksController::class, 'index']) + ->name('index'); + + Route::get('{id}', [BuilderRanksController::class, 'show']) + ->name('show'); + + Route::post('{id}/approve', [BuilderRanksController::class, 'approve']) + ->name('approve'); + + Route::post('{id}/deny', [BuilderRanksController::class, 'deny']) + ->name('deny'); + }); + + Route::resource('ban-appeals', BanAppealController::class) + ->only('index', 'show', 'update') + ->middleware(PanelGroupScope::REVIEW_APPEALS->toMiddleware()); + + Route::resource('activity', ActivityController::class) + ->only(['index', 'show']) + ->middleware(PanelGroupScope::VIEW_ACTIVITY->toMiddleware()); + }); diff --git a/routes/web_redirects.php b/routes/web_redirects.php index 73e57b2e0..7ba43f223 100644 --- a/routes/web_redirects.php +++ b/routes/web_redirects.php @@ -11,12 +11,6 @@ Route::permanentRedirect('wiki', 'https://wiki.projectcitybuild.com') ->name('wiki'); -Route::permanentRedirect('maps', 'https://maps.pcbmc.co') - ->name('maps'); - -Route::permanentRedirect('3d-maps', 'https://3d.pcbmc.co') - ->name('3d-maps'); - Route::permanentRedirect('report', 'https://docs.google.com/forms/d/e/1FAIpQLSerzdjDmc-xM26ZiDqIKN0d1gjjmRomFKg6efdHxXqir6QIMQ/viewform') ->name('report'); @@ -34,3 +28,6 @@ Route::permanentRedirect('map-archive', 'https://portal.projectcitybuild.com/books/map-archive/page/map-archive') ->name('map-archive'); + +Route::permanentRedirect('3d-maps', 'https://3d.pcbmc.co') + ->name('3d-maps'); diff --git a/routes/web_tests.php b/routes/web_tests.php index 419b800e6..74273ecb4 100644 --- a/routes/web_tests.php +++ b/routes/web_tests.php @@ -1,7 +1,11 @@ 'test') ->name('test-signed') ->middleware('signed'); + diff --git a/server.php b/server.php deleted file mode 100644 index 20bc389f0..000000000 --- a/server.php +++ /dev/null @@ -1,19 +0,0 @@ - - */ -$uri = urldecode( - parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) -); - -// This file allows us to emulate Apache's "mod_rewrite" functionality from the -// built-in PHP web server. This provides a convenient way to test a Laravel -// application without having installed a "real" web server software here. -if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) { - return false; -} - -require_once __DIR__.'/public/index.php'; diff --git a/storage/debugbar/.gitignore b/storage/debugbar/.gitignore deleted file mode 100644 index d6b7ef32c..000000000 --- a/storage/debugbar/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 000000000..d07b7a8c1 --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,17 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: [ + "./resources/**/*.blade.php", + "./resources/**/*.js", + "./resources/**/*.vue", + ], + theme: { + extend: {}, + fontFamily: { + 'display': ['Bebas Neue'], + 'body': ['Inter'], + } + }, + plugins: [], +} + diff --git a/tests/Integration/API/APIBanAllTest.php b/tests/Integration/API/APIBanAllTest.php index 072e4216c..9b33771cd 100644 --- a/tests/Integration/API/APIBanAllTest.php +++ b/tests/Integration/API/APIBanAllTest.php @@ -2,12 +2,12 @@ namespace Tests\Integration\API; -use Domain\Bans\UnbanType; -use Domain\ServerTokens\ScopeKey; -use Entities\Models\Eloquent\GamePlayerBan; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\Eloquent\Server; -use Entities\Models\PlayerIdentifierType; +use App\Core\Data\PlayerIdentifierType; +use App\Domains\Bans\Data\UnbanType; +use App\Domains\ServerTokens\ScopeKey; +use App\Models\GamePlayerBan; +use App\Models\MinecraftPlayer; +use App\Models\Server; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\IntegrationTestCase; diff --git a/tests/Integration/API/APIBanCreateTest.php b/tests/Integration/API/APIBanCreateTest.php index 6ef8df295..cf8674052 100644 --- a/tests/Integration/API/APIBanCreateTest.php +++ b/tests/Integration/API/APIBanCreateTest.php @@ -2,11 +2,11 @@ namespace Tests\Integration\API; +use App\Core\Data\PlayerIdentifierType; +use App\Domains\ServerTokens\ScopeKey; +use App\Models\GamePlayerBan; +use App\Models\MinecraftPlayer; use Carbon\Carbon; -use Domain\ServerTokens\ScopeKey; -use Entities\Models\Eloquent\GamePlayerBan; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\PlayerIdentifierType; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\IntegrationTestCase; @@ -69,7 +69,7 @@ public function test_creates_permanent_ban() ->assertSuccessful(); $this->assertDatabaseHas( - table: GamePlayerBan::getTableName(), + table: GamePlayerBan::tableName(), data: [ 'server_id' => $this->token->server->getKey(), 'banned_player_id' => $player1->getKey(), @@ -109,7 +109,7 @@ public function test_creates_temporary_ban() ->assertSuccessful(); $this->assertDatabaseHas( - table: GamePlayerBan::getTableName(), + table: GamePlayerBan::tableName(), data: [ 'server_id' => $this->token->server->getKey(), 'banned_player_id' => $player1->getKey(), @@ -137,7 +137,7 @@ public function test_permanent_ban_throws_exception_if_already_permanent_banned( ->bannedPlayer($player1) ->create(); - $this->assertDatabaseCount(table: GamePlayerBan::getTableName(), count: 1); + $this->assertDatabaseCount(table: GamePlayerBan::tableName(), count: 1); $this->withAuthorizationServerToken() ->postJson(uri: self::ENDPOINT, data: [ @@ -158,7 +158,7 @@ public function test_permanent_ban_throws_exception_if_already_permanent_banned( ], ]); - $this->assertDatabaseCount(table: GamePlayerBan::getTableName(), count: 1); + $this->assertDatabaseCount(table: GamePlayerBan::tableName(), count: 1); } public function test_permanent_ban_throws_exception_if_already_temp_banned() @@ -173,7 +173,7 @@ public function test_permanent_ban_throws_exception_if_already_temp_banned() ->bannedPlayer($player1) ->create(); - $this->assertDatabaseCount(table: GamePlayerBan::getTableName(), count: 1); + $this->assertDatabaseCount(table: GamePlayerBan::tableName(), count: 1); $this->withAuthorizationServerToken() ->postJson(uri: self::ENDPOINT, data: [ @@ -194,6 +194,6 @@ public function test_permanent_ban_throws_exception_if_already_temp_banned() ], ]); - $this->assertDatabaseCount(table: GamePlayerBan::getTableName(), count: 1); + $this->assertDatabaseCount(table: GamePlayerBan::tableName(), count: 1); } } diff --git a/tests/Integration/API/APIBanIPCreateTest.php b/tests/Integration/API/APIBanIPCreateTest.php index 230ee9f66..838819182 100644 --- a/tests/Integration/API/APIBanIPCreateTest.php +++ b/tests/Integration/API/APIBanIPCreateTest.php @@ -2,10 +2,10 @@ namespace Tests\Integration\API; -use Domain\ServerTokens\ScopeKey; -use Entities\Models\Eloquent\GameIPBan; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\PlayerIdentifierType; +use App\Core\Data\PlayerIdentifierType; +use App\Domains\ServerTokens\ScopeKey; +use App\Models\GameIPBan; +use App\Models\MinecraftPlayer; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\IntegrationTestCase; @@ -63,7 +63,7 @@ public function test_creates_ban() ->assertSuccessful(); $this->assertDatabaseHas( - table: GameIPBan::getTableName(), + table: GameIPBan::tableName(), data: [ 'ip_address' => '192.168.0.1', 'banner_player_id' => $player->getKey(), @@ -87,7 +87,7 @@ public function test_throws_exception_if_already_banned() ->bannedBy($player) ->create(); - $this->assertDatabaseCount(table: GameIPBan::getTableName(), count: 1); + $this->assertDatabaseCount(table: GameIPBan::tableName(), count: 1); $this->withAuthorizationServerToken() ->postJson(uri: self::ENDPOINT, data: [ @@ -106,6 +106,6 @@ public function test_throws_exception_if_already_banned() ], ]); - $this->assertDatabaseCount(table: GameIPBan::getTableName(), count: 1); + $this->assertDatabaseCount(table: GameIPBan::tableName(), count: 1); } } diff --git a/tests/Integration/API/APIBanIPStatusTest.php b/tests/Integration/API/APIBanIPStatusTest.php index 45d94a41f..686353000 100644 --- a/tests/Integration/API/APIBanIPStatusTest.php +++ b/tests/Integration/API/APIBanIPStatusTest.php @@ -2,9 +2,9 @@ namespace Tests\Integration\API; -use Domain\ServerTokens\ScopeKey; -use Entities\Models\Eloquent\GameIPBan; -use Entities\Models\Eloquent\MinecraftPlayer; +use App\Domains\ServerTokens\ScopeKey; +use App\Models\GameIPBan; +use App\Models\MinecraftPlayer; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\IntegrationTestCase; diff --git a/tests/Integration/API/APIBanStatusTest.php b/tests/Integration/API/APIBanStatusTest.php index 0cd7d447a..a11e0a4f9 100644 --- a/tests/Integration/API/APIBanStatusTest.php +++ b/tests/Integration/API/APIBanStatusTest.php @@ -2,11 +2,11 @@ namespace Tests\Integration\API; -use Domain\ServerTokens\ScopeKey; -use Entities\Models\Eloquent\GamePlayerBan; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\Eloquent\Server; -use Entities\Models\PlayerIdentifierType; +use App\Core\Data\PlayerIdentifierType; +use App\Domains\ServerTokens\ScopeKey; +use App\Models\GamePlayerBan; +use App\Models\MinecraftPlayer; +use App\Models\Server; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\IntegrationTestCase; diff --git a/tests/Integration/API/APIDonationOneOffTest.php b/tests/Integration/API/APIDonationOneOffTest.php index af54944ba..6295ec45d 100644 --- a/tests/Integration/API/APIDonationOneOffTest.php +++ b/tests/Integration/API/APIDonationOneOffTest.php @@ -2,12 +2,12 @@ namespace Tests\Integration\API; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\Donation; -use Entities\Models\Eloquent\DonationTier; -use Entities\Models\Eloquent\Group; -use Entities\Models\Eloquent\StripeProduct; -use Entities\Notifications\DonationPerkStartedNotification; +use App\Domains\Donations\Notifications\DonationPerkStartedNotification; +use App\Models\Account; +use App\Models\Donation; +use App\Models\DonationTier; +use App\Models\Group; +use App\Models\StripeProduct; use Illuminate\Support\Facades\Notification; use Tests\IntegrationTestCase; @@ -115,11 +115,6 @@ public function test_payment_processed_with_perks() $this->assertTrue($this->account->groups->contains($this->donorGroup)); - $this->assertEquals( - expected: 150, - actual: Account::find($this->account->getKey())->balance, - ); - Notification::assertSentTo($this->account, DonationPerkStartedNotification::class); } @@ -161,11 +156,6 @@ public function test_multiple_months_payment_processed_with_perks() $this->assertTrue($this->account->groups->contains($this->donorGroup)); - $this->assertEquals( - expected: 150, - actual: Account::find($this->account->getKey())->balance, - ); - Notification::assertSentTo($this->account, DonationPerkStartedNotification::class); } } diff --git a/tests/Integration/API/APIDonationSubscriptionTest.php b/tests/Integration/API/APIDonationSubscriptionTest.php index 85216bc30..fb2148f88 100644 --- a/tests/Integration/API/APIDonationSubscriptionTest.php +++ b/tests/Integration/API/APIDonationSubscriptionTest.php @@ -2,12 +2,12 @@ namespace Tests\Integration\API; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\Donation; -use Entities\Models\Eloquent\DonationTier; -use Entities\Models\Eloquent\Group; -use Entities\Models\Eloquent\StripeProduct; -use Entities\Notifications\DonationPerkStartedNotification; +use App\Domains\Donations\Notifications\DonationPerkStartedNotification; +use App\Models\Account; +use App\Models\Donation; +use App\Models\DonationTier; +use App\Models\Group; +use App\Models\StripeProduct; use Illuminate\Support\Facades\Notification; use Tests\IntegrationTestCase; diff --git a/tests/Integration/API/APIMinecraftAggregateTest.php b/tests/Integration/API/APIMinecraftAggregateTest.php index a2a71bbc7..341bd6fd7 100644 --- a/tests/Integration/API/APIMinecraftAggregateTest.php +++ b/tests/Integration/API/APIMinecraftAggregateTest.php @@ -2,15 +2,15 @@ namespace Tests\Integration\API; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\Badge; -use Entities\Models\Eloquent\Donation; -use Entities\Models\Eloquent\DonationPerk; -use Entities\Models\Eloquent\DonationTier; -use Entities\Models\Eloquent\GamePlayerBan; -use Entities\Models\Eloquent\Group; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\Eloquent\Server; +use App\Models\Account; +use App\Models\Badge; +use App\Models\Donation; +use App\Models\DonationPerk; +use App\Models\DonationTier; +use App\Models\GamePlayerBan; +use App\Models\Group; +use App\Models\MinecraftPlayer; +use App\Models\Server; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\IntegrationTestCase; diff --git a/tests/Integration/API/APIMinecraftBalanceDeductTest.php b/tests/Integration/API/APIMinecraftBalanceDeductTest.php deleted file mode 100644 index 969c993d4..000000000 --- a/tests/Integration/API/APIMinecraftBalanceDeductTest.php +++ /dev/null @@ -1,141 +0,0 @@ -createServerToken(); - } - - private function endpoint(?MinecraftPlayer $player): string - { - $uuid = $player?->uuid ?? 'invalid'; - - return 'api/v2/minecraft/'.$uuid.'/balance/deduct'; - } - - public function test_requires_scope() - { - $account = Account::factory()->create(['balance' => 100]); - $player = MinecraftPlayer::factory() - ->for($account) - ->create(); - - $this->withAuthorizationServerToken() - ->postJson($this->endpoint($player)) - ->assertForbidden(); - - $this->authoriseTokenFor(ScopeKey::ACCOUNT_BALANCE_DEDUCT); - - $this->withAuthorizationServerToken() - ->postJson( - uri: $this->endpoint($player), - data: [ - 'amount' => 1, - 'reason' => 'test', - ]) - ->assertOk(); - } - - public function test_cannot_deduct_without_input() - { - $account = Account::factory()->create(['balance' => 100]); - $player = MinecraftPlayer::factory() - ->for($account) - ->create(); - - $this->authoriseTokenFor(ScopeKey::ACCOUNT_BALANCE_DEDUCT); - - $this->withAuthorizationServerToken() - ->postJson($this->endpoint($player)) - ->assertJson([ - 'error' => [ - 'id' => 'bad_input', - 'detail' => 'The amount field is required.', - 'status' => 400, - ], - ]) - ->assertStatus(400); - } - - public function test_cannot_deduct_more_than_balance() - { - $account = Account::factory()->create(['balance' => 100]); - $player = MinecraftPlayer::factory() - ->for($account) - ->create(); - - $this->authoriseTokenFor(ScopeKey::ACCOUNT_BALANCE_DEDUCT); - - $this->withAuthorizationServerToken() - ->postJson( - uri: $this->endpoint($player), - data: [ - 'amount' => 200, - 'reason' => 'test', - ]) - ->assertJson([ - 'error' => [ - 'id' => 'insufficient_balance', - 'detail' => 'Cannot deduct more than the player\'s balance', - 'status' => 400, - ], - ]) - ->assertStatus(400); - } - - public function test_deducts_from_balance() - { - $now = Carbon::create(year: 2022, month: 4, day: 17, hour: 10, minute: 9, second: 8); - Carbon::setTestNow($now); - - $account = Account::factory()->create(['balance' => 100]); - $player = MinecraftPlayer::factory() - ->for($account) - ->create(); - - $this->authoriseTokenFor(ScopeKey::ACCOUNT_BALANCE_DEDUCT); - - $this->withAuthorizationServerToken() - ->postJson( - uri: $this->endpoint($player), - data: [ - 'amount' => 25, - 'reason' => 'test', - ]) - ->assertOk(); - - $this->assertDatabaseHas( - table: 'accounts', - data: [ - 'account_id' => $account->getKey(), - 'balance' => 75, - ], - ); - - $this->assertDatabaseHas( - table: 'account_balance_transactions', - data: [ - 'account_id' => $account->getKey(), - 'balance_before' => 100, - 'balance_after' => 75, - 'transaction_amount' => -25, - 'reason' => 'test', - 'created_at' => $now, - ], - ); - } -} diff --git a/tests/Integration/API/APIMinecraftBalanceShowTest.php b/tests/Integration/API/APIMinecraftBalanceShowTest.php deleted file mode 100644 index 25d6416c5..000000000 --- a/tests/Integration/API/APIMinecraftBalanceShowTest.php +++ /dev/null @@ -1,92 +0,0 @@ -createServerToken(); - } - - private function endpoint(?MinecraftPlayer $player): string - { - $uuid = $player?->uuid ?? 'invalid'; - - return 'api/v2/minecraft/'.$uuid.'/balance'; - } - - public function test_requires_scope() - { - $account = Account::factory()->create(); - $player = MinecraftPlayer::factory() - ->for($account) - ->create(); - - $this->withAuthorizationServerToken() - ->getJson($this->endpoint($player)) - ->assertForbidden(); - - $this->authoriseTokenFor(ScopeKey::ACCOUNT_BALANCE_SHOW); - - $this->withAuthorizationServerToken() - ->getJson($this->endpoint($player)) - ->assertOk(); - } - - public function test_shows_balance() - { - $account = Account::factory()->create(['balance' => 150]); - $player = MinecraftPlayer::factory() - ->for($account) - ->create(); - - $this->authoriseTokenFor(ScopeKey::ACCOUNT_BALANCE_SHOW); - - $this->withAuthorizationServerToken() - ->getJson($this->endpoint($player)) - ->assertJson([ - 'data' => [ - 'balance' => 150, - ], - ]); - } - - public function test_missing_player_returns_zero_balance() - { - $this->authoriseTokenFor(ScopeKey::ACCOUNT_BALANCE_SHOW); - - $this->withAuthorizationServerToken() - ->getJson($this->endpoint(null)) - ->assertJson([ - 'data' => [ - 'balance' => 0, - ], - ]); - } - - public function test_unlinked_account_returns_zero_balance() - { - $player = MinecraftPlayer::factory()->create(); - - $this->authoriseTokenFor(ScopeKey::ACCOUNT_BALANCE_SHOW); - - $this->withAuthorizationServerToken() - ->getJson($this->endpoint($player)) - ->assertJson([ - 'data' => [ - 'balance' => 0, - ], - ]); - } -} diff --git a/tests/Integration/API/APIMinecraftShowcaseWarpIndexTest.php b/tests/Integration/API/APIMinecraftShowcaseWarpIndexTest.php index a58282789..76c5a369a 100644 --- a/tests/Integration/API/APIMinecraftShowcaseWarpIndexTest.php +++ b/tests/Integration/API/APIMinecraftShowcaseWarpIndexTest.php @@ -2,8 +2,8 @@ namespace Tests\Integration\API; -use Domain\ServerTokens\ScopeKey; -use Entities\Models\Eloquent\ShowcaseWarp; +use App\Domains\ServerTokens\ScopeKey; +use App\Models\ShowcaseWarp; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\IntegrationTestCase; diff --git a/tests/Integration/API/APIMinecraftShowcaseWarpShowTest.php b/tests/Integration/API/APIMinecraftShowcaseWarpShowTest.php index e4d23feaf..56c0e307f 100644 --- a/tests/Integration/API/APIMinecraftShowcaseWarpShowTest.php +++ b/tests/Integration/API/APIMinecraftShowcaseWarpShowTest.php @@ -2,8 +2,8 @@ namespace Tests\Integration\API; -use Domain\ServerTokens\ScopeKey; -use Entities\Models\Eloquent\ShowcaseWarp; +use App\Domains\ServerTokens\ScopeKey; +use App\Models\ShowcaseWarp; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\IntegrationTestCase; diff --git a/tests/Integration/API/APIMinecraftShowcaseWarpStoreTest.php b/tests/Integration/API/APIMinecraftShowcaseWarpStoreTest.php index 6814be5b2..055bd98e8 100644 --- a/tests/Integration/API/APIMinecraftShowcaseWarpStoreTest.php +++ b/tests/Integration/API/APIMinecraftShowcaseWarpStoreTest.php @@ -2,8 +2,8 @@ namespace Tests\Integration\API; -use Domain\ServerTokens\ScopeKey; -use Entities\Models\Eloquent\ShowcaseWarp; +use App\Domains\ServerTokens\ScopeKey; +use App\Models\ShowcaseWarp; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\IntegrationTestCase; @@ -63,7 +63,7 @@ public function test_creates_warp_without_all_fields() ->assertSuccessful(); $this->assertDatabaseHas( - table: ShowcaseWarp::getTableName(), + table: ShowcaseWarp::tableName(), data: [ 'name' => 'test_warp', 'title' => null, @@ -101,7 +101,7 @@ public function test_creates_warp_with_all_fields() ->assertSuccessful(); $this->assertDatabaseHas( - table: ShowcaseWarp::getTableName(), + table: ShowcaseWarp::tableName(), data: [ 'name' => 'test_warp', 'title' => 'title', diff --git a/tests/Integration/API/APIMinecraftShowcaseWarpUpdateTest.php b/tests/Integration/API/APIMinecraftShowcaseWarpUpdateTest.php index 37ae55dc8..7e3250b8e 100644 --- a/tests/Integration/API/APIMinecraftShowcaseWarpUpdateTest.php +++ b/tests/Integration/API/APIMinecraftShowcaseWarpUpdateTest.php @@ -2,8 +2,8 @@ namespace Tests\Integration\API; -use Domain\ServerTokens\ScopeKey; -use Entities\Models\Eloquent\ShowcaseWarp; +use App\Domains\ServerTokens\ScopeKey; +use App\Models\ShowcaseWarp; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\IntegrationTestCase; @@ -72,7 +72,7 @@ public function test_updates_warp() ->assertSuccessful(); $this->assertDatabaseHas( - table: ShowcaseWarp::getTableName(), + table: ShowcaseWarp::tableName(), data: [ 'id' => $this->existingWarp->getKey(), 'location_world' => 'new_world', diff --git a/tests/Integration/API/APIMinecraftTelemetryTest.php b/tests/Integration/API/APIMinecraftTelemetryTest.php index f51ef6a36..d7454ad6a 100644 --- a/tests/Integration/API/APIMinecraftTelemetryTest.php +++ b/tests/Integration/API/APIMinecraftTelemetryTest.php @@ -2,9 +2,9 @@ namespace Tests\Integration\API; -use Domain\ServerTokens\ScopeKey; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\Eloquent\MinecraftPlayerAlias; +use App\Domains\ServerTokens\ScopeKey; +use App\Models\MinecraftPlayer; +use App\Models\MinecraftPlayerAlias; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\IntegrationTestCase; @@ -65,7 +65,7 @@ public function test_updates_last_seen_date() ->assertOk(); $this->assertDatabaseHas( - table: MinecraftPlayer::getTableName(), + table: MinecraftPlayer::tableName(), data: [ 'player_minecraft_id' => $player->getKey(), 'uuid' => 'uuid', @@ -73,7 +73,7 @@ public function test_updates_last_seen_date() ], ); $this->assertDatabaseHas( - table: MinecraftPlayerAlias::getTableName(), + table: MinecraftPlayerAlias::tableName(), data: [ 'alias' => 'alias', ], diff --git a/tests/Integration/API/APIUnbanCreateTest.php b/tests/Integration/API/APIUnbanCreateTest.php index e4a168a98..10386ee0d 100644 --- a/tests/Integration/API/APIUnbanCreateTest.php +++ b/tests/Integration/API/APIUnbanCreateTest.php @@ -2,11 +2,11 @@ namespace Tests\Integration\API; -use Domain\Bans\UnbanType; -use Domain\ServerTokens\ScopeKey; -use Entities\Models\Eloquent\GamePlayerBan; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\PlayerIdentifierType; +use App\Core\Data\PlayerIdentifierType; +use App\Domains\Bans\Data\UnbanType; +use App\Domains\ServerTokens\ScopeKey; +use App\Models\GamePlayerBan; +use App\Models\MinecraftPlayer; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\IntegrationTestCase; @@ -96,7 +96,7 @@ public function test_unbans_permanent_ban() ->assertSuccessful(); $this->assertDatabaseHas( - table: GamePlayerBan::getTableName(), + table: GamePlayerBan::tableName(), data: [ 'id' => $ban->getKey(), 'unbanned_at' => now(), @@ -128,7 +128,7 @@ public function test_unbans_temporary_ban() ->assertSuccessful(); $this->assertDatabaseHas( - table: GamePlayerBan::getTableName(), + table: GamePlayerBan::tableName(), data: [ 'id' => $ban->getKey(), 'unbanned_at' => now(), diff --git a/tests/Integration/API/APIUnbanIPCreateTest.php b/tests/Integration/API/APIUnbanIPCreateTest.php index a273c25d9..bb7949740 100644 --- a/tests/Integration/API/APIUnbanIPCreateTest.php +++ b/tests/Integration/API/APIUnbanIPCreateTest.php @@ -2,11 +2,11 @@ namespace Tests\Integration\API; -use Domain\Bans\UnbanType; -use Domain\ServerTokens\ScopeKey; -use Entities\Models\Eloquent\GameIPBan; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\PlayerIdentifierType; +use App\Core\Data\PlayerIdentifierType; +use App\Domains\Bans\Data\UnbanType; +use App\Domains\ServerTokens\ScopeKey; +use App\Models\GameIPBan; +use App\Models\MinecraftPlayer; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\IntegrationTestCase; @@ -91,7 +91,7 @@ public function test_unbans_ban() ->assertSuccessful(); $this->assertDatabaseHas( - table: GameIPBan::getTableName(), + table: GameIPBan::tableName(), data: [ 'id' => $ban->getKey(), 'unbanned_at' => now(), diff --git a/tests/Integration/API/APIWarningAcknowledgeTest.php b/tests/Integration/API/APIWarningAcknowledgeTest.php index 114a0b397..37a640ec4 100644 --- a/tests/Integration/API/APIWarningAcknowledgeTest.php +++ b/tests/Integration/API/APIWarningAcknowledgeTest.php @@ -2,9 +2,9 @@ namespace Tests\Integration\API; -use Domain\ServerTokens\ScopeKey; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\Eloquent\PlayerWarning; +use App\Domains\ServerTokens\ScopeKey; +use App\Models\MinecraftPlayer; +use App\Models\PlayerWarning; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\IntegrationTestCase; @@ -59,7 +59,7 @@ public function test_acknowledges_warning() ->create(); $this->assertDatabaseHas( - table: PlayerWarning::getTableName(), + table: PlayerWarning::tableName(), data: [ 'id' => $warning->getKey(), 'warned_player_id' => $player1->getKey(), @@ -81,7 +81,7 @@ public function test_acknowledges_warning() ->assertSuccessful(); $this->assertDatabaseHas( - table: PlayerWarning::getTableName(), + table: PlayerWarning::tableName(), data: [ 'id' => $warning->getKey(), 'warned_player_id' => $player1->getKey(), diff --git a/tests/Integration/API/APIWarningAllTest.php b/tests/Integration/API/APIWarningAllTest.php index 6cfcb7d4b..1b85b0b61 100644 --- a/tests/Integration/API/APIWarningAllTest.php +++ b/tests/Integration/API/APIWarningAllTest.php @@ -2,10 +2,10 @@ namespace Tests\Integration\API; -use Domain\ServerTokens\ScopeKey; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\Eloquent\PlayerWarning; -use Entities\Models\PlayerIdentifierType; +use App\Core\Data\PlayerIdentifierType; +use App\Domains\ServerTokens\ScopeKey; +use App\Models\MinecraftPlayer; +use App\Models\PlayerWarning; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\IntegrationTestCase; diff --git a/tests/Integration/API/APIWarningCreateTest.php b/tests/Integration/API/APIWarningCreateTest.php index 1469439da..2dad88441 100644 --- a/tests/Integration/API/APIWarningCreateTest.php +++ b/tests/Integration/API/APIWarningCreateTest.php @@ -2,10 +2,10 @@ namespace Tests\Integration\API; -use Domain\ServerTokens\ScopeKey; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\Eloquent\PlayerWarning; -use Entities\Models\PlayerIdentifierType; +use App\Core\Data\PlayerIdentifierType; +use App\Domains\ServerTokens\ScopeKey; +use App\Models\MinecraftPlayer; +use App\Models\PlayerWarning; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\IntegrationTestCase; @@ -70,7 +70,7 @@ public function test_creates_warning() ->assertSuccessful(); $this->assertDatabaseHas( - table: PlayerWarning::getTableName(), + table: PlayerWarning::tableName(), data: [ 'warned_player_id' => $player1->getKey(), 'warner_player_id' => $player2->getKey(), diff --git a/tests/Integration/Console/RewardCurrencyCommandTest.php b/tests/Integration/Console/RewardCurrencyCommandTest.php deleted file mode 100644 index 1166135f1..000000000 --- a/tests/Integration/Console/RewardCurrencyCommandTest.php +++ /dev/null @@ -1,184 +0,0 @@ -now = Carbon::create(year: 2022, month: 4, day: 19, hour: 10, minute: 9, second: 8); - Carbon::setTestNow($this->now); - } - - public function test_rewards_currency() - { - $tier = DonationTier::factory()->create(['currency_reward' => 200]); - $account = Account::factory()->create(['balance' => 100]); - $donation = Donation::factory()->create(); - $perk = DonationPerk::factory() - ->for($tier) - ->for($account) - ->for($donation) - ->create(); - - $this->assertDatabaseHas( - table: 'donation_perks', - data: [ - 'donation_perks_id' => $perk->getKey(), - 'last_currency_reward_at' => null, - ], - ); - $this->assertDatabaseHas( - table: 'accounts', - data: [ - 'account_id' => $account->getKey(), - 'balance' => 100, - ], - ); - - $this->artisan('donor-perks:reward-currency') - ->assertExitCode(0); - - $this->assertDatabaseHas( - table: 'accounts', - data: [ - 'account_id' => $account->getKey(), - 'balance' => 300, - ], - ); - $this->assertDatabaseHas( - table: 'donation_perks', - data: [ - 'donation_perks_id' => $perk->getKey(), - 'last_currency_reward_at' => $this->now, - ], - ); - } - - public function test_rewards_multiple_perks_currency() - { - $tier = DonationTier::factory()->create(['currency_reward' => 200]); - $account = Account::factory()->create(['balance' => 100]); - $donation = Donation::factory()->create(); - - $perk1 = DonationPerk::factory() - ->for($tier) - ->for($account) - ->for($donation) - ->create(); - - $perk2 = DonationPerk::factory() - ->for($tier) - ->for($account) - ->for($donation) - ->create(); - - $this->assertDatabaseHas( - table: 'donation_perks', - data: [ - 'donation_perks_id' => $perk1->getKey(), - 'last_currency_reward_at' => null, - ], - ); - $this->assertDatabaseHas( - table: 'donation_perks', - data: [ - 'donation_perks_id' => $perk2->getKey(), - 'last_currency_reward_at' => null, - ], - ); - $this->assertDatabaseHas( - table: 'accounts', - data: [ - 'account_id' => $account->getKey(), - 'balance' => 100, - ], - ); - - $this->artisan('donor-perks:reward-currency') - ->assertExitCode(0); - - $this->assertDatabaseHas( - table: 'accounts', - data: [ - 'account_id' => $account->getKey(), - 'balance' => 500, - ], - ); - $this->assertDatabaseHas( - table: 'donation_perks', - data: [ - 'donation_perks_id' => $perk1->getKey(), - 'last_currency_reward_at' => $this->now, - ], - ); - $this->assertDatabaseHas( - table: 'donation_perks', - data: [ - 'donation_perks_id' => $perk2->getKey(), - 'last_currency_reward_at' => $this->now, - ], - ); - } - - public function test_doesnt_reward_currency() - { - $date = $this->now->copy()->addDays(-1); - - $tier = DonationTier::factory()->create(['currency_reward' => 200]); - $account = Account::factory()->create(['balance' => 100]); - $donation = Donation::factory()->create(); - $perk = DonationPerk::factory() - ->for($tier) - ->for($account) - ->for($donation) - ->create(['last_currency_reward_at' => $date]); - - $this->assertDatabaseHas( - table: 'donation_perks', - data: [ - 'donation_perks_id' => $perk->getKey(), - 'last_currency_reward_at' => $date, - ], - ); - $this->assertDatabaseHas( - table: 'accounts', - data: [ - 'account_id' => $account->getKey(), - 'balance' => 100, - ], - ); - - $this->artisan('donor-perks:reward-currency') - ->assertExitCode(0); - - $this->assertDatabaseHas( - table: 'accounts', - data: [ - 'account_id' => $account->getKey(), - 'balance' => 100, - ], - ); - $this->assertDatabaseHas( - table: 'donation_perks', - data: [ - 'donation_perks_id' => $perk->getKey(), - 'last_currency_reward_at' => $date, - ], - ); - } -} diff --git a/tests/Integration/Feature/AccountDonationTest.php b/tests/Integration/Feature/AccountDonationTest.php index 511a1fa05..02d0140f6 100644 --- a/tests/Integration/Feature/AccountDonationTest.php +++ b/tests/Integration/Feature/AccountDonationTest.php @@ -2,10 +2,10 @@ namespace Tests\Integration\Feature; +use App\Models\Account; +use App\Models\Donation; +use App\Models\DonationPerk; use Carbon\Carbon; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\Donation; -use Entities\Models\Eloquent\DonationPerk; use Tests\TestCase; class AccountDonationTest extends TestCase diff --git a/tests/Integration/Feature/AccountMinecraftAccountTest.php b/tests/Integration/Feature/AccountMinecraftAccountTest.php index 90a5b8da9..24aac6417 100644 --- a/tests/Integration/Feature/AccountMinecraftAccountTest.php +++ b/tests/Integration/Feature/AccountMinecraftAccountTest.php @@ -2,9 +2,9 @@ namespace Tests\Integration\Feature; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\Eloquent\MinecraftPlayerAlias; +use App\Models\Account; +use App\Models\MinecraftPlayer; +use App\Models\MinecraftPlayerAlias; use Tests\TestCase; class AccountMinecraftAccountTest extends TestCase diff --git a/tests/Integration/Feature/AccountSecurityTest.php b/tests/Integration/Feature/AccountSecurityTest.php index 5a88b946b..7b76865e6 100644 --- a/tests/Integration/Feature/AccountSecurityTest.php +++ b/tests/Integration/Feature/AccountSecurityTest.php @@ -2,10 +2,10 @@ namespace Tests\Integration\Feature; -use Entities\Models\Eloquent\Account; -use Entities\Notifications\AccountMfaBackupCodeRegeneratedNotification; -use Entities\Notifications\AccountMfaDisabledNotification; -use Entities\Notifications\AccountMfaEnabledNotification; +use App\Core\Domains\Mfa\Notifications\MfaBackupCodeRegeneratedNotification; +use App\Core\Domains\Mfa\Notifications\MfaDisabledNotification; +use App\Core\Domains\Mfa\Notifications\MfaEnabledNotification; +use App\Models\Account; use Illuminate\Support\Facades\Crypt; use Illuminate\Support\Facades\Notification; use PragmaRX\Google2FA\Google2FA; @@ -90,7 +90,7 @@ public function test_setup_sends_notification() 'backup_saved' => 1, 'code' => $validCode, ]); - Notification::assertSentTo($account, AccountMfaEnabledNotification::class); + Notification::assertSentTo($account, MfaEnabledNotification::class); } public function test_cant_re_start_if_set_up() @@ -165,7 +165,7 @@ public function test_disabling_sends_notification() $this->disableReauthMiddleware(); $this->delete(route('front.account.security.disable')) ->assertRedirect(); - Notification::assertSentTo($account, AccountMfaDisabledNotification::class); + Notification::assertSentTo($account, MfaDisabledNotification::class); } public function test_cant_refresh_backup_if_not_enabled() @@ -209,6 +209,6 @@ public function test_regenerating_backup_code_sends_notification() $account = Account::factory()->hasFinishedTotp()->create(); $this->actingAs($account)->disableReauthMiddleware(); $this->post(route('front.account.security.reset-backup')); - Notification::assertSentTo($account, AccountMfaBackupCodeRegeneratedNotification::class); + Notification::assertSentTo($account, MfaBackupCodeRegeneratedNotification::class); } } diff --git a/tests/Integration/Feature/AccountSettingsEmailTest.php b/tests/Integration/Feature/AccountSettingsEmailTest.php index 58aafabb5..fb54f85b0 100644 --- a/tests/Integration/Feature/AccountSettingsEmailTest.php +++ b/tests/Integration/Feature/AccountSettingsEmailTest.php @@ -2,9 +2,9 @@ namespace Tests\Integration\Feature; -use Domain\EmailChange\Notifications\VerifyNewEmailAddressNotification; -use Domain\EmailChange\Notifications\VerifyOldEmailAddressNotification; -use Entities\Models\Eloquent\Account; +use App\Domains\EmailChange\Notifications\VerifyNewEmailAddressNotification; +use App\Domains\EmailChange\Notifications\VerifyOldEmailAddressNotification; +use App\Models\Account; use Illuminate\Foundation\Testing\WithFaker; use Illuminate\Support\Facades\Notification; use Illuminate\Testing\TestResponse; diff --git a/tests/Integration/Feature/AccountSettingsPasswordTest.php b/tests/Integration/Feature/AccountSettingsPasswordTest.php index 59e1d3da6..3a0abc568 100644 --- a/tests/Integration/Feature/AccountSettingsPasswordTest.php +++ b/tests/Integration/Feature/AccountSettingsPasswordTest.php @@ -2,7 +2,7 @@ namespace Tests\Integration\Feature; -use Entities\Models\Eloquent\Account; +use App\Models\Account; use Illuminate\Foundation\Testing\WithFaker; use Illuminate\Support\Facades\Auth; use Tests\TestCase; diff --git a/tests/Integration/Feature/AccountSettingsUsernameTest.php b/tests/Integration/Feature/AccountSettingsUsernameTest.php index cf4b9b98a..b84313154 100644 --- a/tests/Integration/Feature/AccountSettingsUsernameTest.php +++ b/tests/Integration/Feature/AccountSettingsUsernameTest.php @@ -2,7 +2,7 @@ namespace Tests\Integration\Feature; -use Entities\Models\Eloquent\Account; +use App\Models\Account; use Illuminate\Foundation\Testing\WithFaker; use Tests\TestCase; diff --git a/tests/Integration/Feature/BanAppealCreateTest.php b/tests/Integration/Feature/BanAppealCreateTest.php index 693a1eeba..f56e34a15 100644 --- a/tests/Integration/Feature/BanAppealCreateTest.php +++ b/tests/Integration/Feature/BanAppealCreateTest.php @@ -2,10 +2,10 @@ namespace Tests\Integration\Feature; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\BanAppeal; -use Entities\Models\Eloquent\GamePlayerBan; -use Entities\Models\Eloquent\MinecraftPlayer; +use App\Models\Account; +use App\Models\BanAppeal; +use App\Models\GamePlayerBan; +use App\Models\MinecraftPlayer; use Illuminate\Support\Facades\Notification; use Illuminate\Testing\TestResponse; use Tests\TestCase; diff --git a/tests/Integration/Feature/BanAppealListTest.php b/tests/Integration/Feature/BanAppealListTest.php index e9c5cfc8b..86807c26f 100644 --- a/tests/Integration/Feature/BanAppealListTest.php +++ b/tests/Integration/Feature/BanAppealListTest.php @@ -2,10 +2,10 @@ namespace Tests\Integration\Feature; -use Domain\BanAppeals\Entities\BanAppealStatus; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\GamePlayerBan; -use Entities\Models\Eloquent\MinecraftPlayer; +use App\Domains\BanAppeals\Entities\BanAppealStatus; +use App\Models\Account; +use App\Models\GamePlayerBan; +use App\Models\MinecraftPlayer; use Tests\TestCase; class BanAppealListTest extends TestCase diff --git a/tests/Integration/Feature/BanAppealViewTest.php b/tests/Integration/Feature/BanAppealViewTest.php index d85b55e21..cc61ee306 100644 --- a/tests/Integration/Feature/BanAppealViewTest.php +++ b/tests/Integration/Feature/BanAppealViewTest.php @@ -2,10 +2,10 @@ namespace Tests\Integration\Feature; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\BanAppeal; -use Entities\Models\Eloquent\GamePlayerBan; -use Entities\Models\Eloquent\MinecraftPlayer; +use App\Models\Account; +use App\Models\BanAppeal; +use App\Models\GamePlayerBan; +use App\Models\MinecraftPlayer; use Illuminate\Support\Facades\URL; use Tests\TestCase; diff --git a/tests/Integration/Feature/BanLookupTest.php b/tests/Integration/Feature/BanLookupTest.php index c5598b13c..1801c65e5 100644 --- a/tests/Integration/Feature/BanLookupTest.php +++ b/tests/Integration/Feature/BanLookupTest.php @@ -2,15 +2,15 @@ namespace Tests\Integration\Feature; -use App\Exceptions\Http\TooManyRequestsException; -use Domain\Bans\Exceptions\NotBannedException; -use Domain\Bans\UseCases\LookupPlayerBan; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\GamePlayerBan; -use Entities\Models\Eloquent\MinecraftPlayer; +use App\Core\Data\Exceptions\TooManyRequestsException; +use App\Core\Domains\PlayerLookup\Exceptions\PlayerNotFoundException; +use App\Domains\Bans\Exceptions\NotBannedException; +use App\Domains\Bans\UseCases\LookupPlayerBan; +use App\Models\Account; +use App\Models\GamePlayerBan; +use App\Models\MinecraftPlayer; use Illuminate\Foundation\Testing\WithFaker; use Mockery\MockInterface; -use Shared\PlayerLookup\Exceptions\PlayerNotFoundException; use Tests\TestCase; class BanLookupTest extends TestCase diff --git a/tests/Integration/Feature/BanlistTest.php b/tests/Integration/Feature/BanlistTest.php index b697a3994..cf50b7446 100644 --- a/tests/Integration/Feature/BanlistTest.php +++ b/tests/Integration/Feature/BanlistTest.php @@ -2,11 +2,10 @@ namespace Tests\Integration\Feature; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\GamePlayerBan; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\Eloquent\Server; -use Entities\Models\Eloquent\ServerCategory; +use App\Models\Account; +use App\Models\GamePlayerBan; +use App\Models\MinecraftPlayer; +use App\Models\Server; use Tests\TestCase; class BanlistTest extends TestCase @@ -21,7 +20,7 @@ private function makeMinecraftPlayer(): MinecraftPlayer public function test_active_ban_is_shown_on_list() { $ban = GamePlayerBan::factory() - ->for(Server::factory()->for(ServerCategory::factory())) + ->for(Server::factory()) ->bannedPlayer($this->makeMinecraftPlayer()) ->bannedBy($this->makeMinecraftPlayer()) ->create(); @@ -33,7 +32,7 @@ public function test_active_ban_is_shown_on_list() public function test_inactive_ban_is_not_shown_on_list() { $ban = GamePlayerBan::factory() - ->for(Server::factory()->for(ServerCategory::factory())) + ->for(Server::factory()) ->bannedPlayer($this->makeMinecraftPlayer()) ->bannedBy($this->makeMinecraftPlayer()) ->inactive() diff --git a/tests/Integration/Feature/LoginTest.php b/tests/Integration/Feature/LoginTest.php index 63504e0c6..dc43b9257 100644 --- a/tests/Integration/Feature/LoginTest.php +++ b/tests/Integration/Feature/LoginTest.php @@ -2,7 +2,7 @@ namespace Tests\Integration\Feature; -use Entities\Models\Eloquent\Account; +use App\Models\Account; use Tests\TestCase; class LoginTest extends TestCase diff --git a/tests/Integration/Feature/MfaBackupTest.php b/tests/Integration/Feature/MfaBackupTest.php index 03de1a3e0..20fd23709 100644 --- a/tests/Integration/Feature/MfaBackupTest.php +++ b/tests/Integration/Feature/MfaBackupTest.php @@ -2,9 +2,9 @@ namespace Tests\Integration\Feature; +use App\Core\Domains\Mfa\Notifications\MfaBackupCodeUsedNotification; use App\Http\Middleware\MfaGate; -use Entities\Models\Eloquent\Account; -use Entities\Notifications\AccountMfaBackupCodeUsedNotification; +use App\Models\Account; use Illuminate\Support\Facades\Crypt; use Illuminate\Support\Facades\Notification; use Illuminate\Support\Str; @@ -47,7 +47,7 @@ public function test_can_submit_backup_form() $this->assertGuest(); - Notification::assertSentTo($this->mfaAccount, AccountMfaBackupCodeUsedNotification::class); + Notification::assertSentTo($this->mfaAccount, MfaBackupCodeUsedNotification::class); $account = $this->mfaAccount->refresh(); diff --git a/tests/Integration/Feature/MfaLoginTest.php b/tests/Integration/Feature/MfaLoginTest.php index c4f576931..75a370938 100644 --- a/tests/Integration/Feature/MfaLoginTest.php +++ b/tests/Integration/Feature/MfaLoginTest.php @@ -3,7 +3,7 @@ namespace Tests\Integration\Feature; use App\Http\Middleware\MfaGate; -use Entities\Models\Eloquent\Account; +use App\Models\Account; use Illuminate\Support\Facades\Crypt; use PragmaRX\Google2FA\Google2FA; use Tests\TestCase; diff --git a/tests/Integration/Feature/PanelAccountListTest.php b/tests/Integration/Feature/PanelAccountListTest.php index 5993c28c7..83f9d5fa0 100644 --- a/tests/Integration/Feature/PanelAccountListTest.php +++ b/tests/Integration/Feature/PanelAccountListTest.php @@ -2,8 +2,8 @@ namespace Tests\Integration\Feature; -use Entities\Models\Eloquent\Account; -use Entities\Models\PanelGroupScope; +use App\Domains\Panel\Data\PanelGroupScope; +use App\Models\Account; use Tests\IntegrationTestCase; class PanelAccountListTest extends IntegrationTestCase diff --git a/tests/Integration/Feature/PanelAccountTest.php b/tests/Integration/Feature/PanelAccountTest.php index f898c316c..6f4754e36 100644 --- a/tests/Integration/Feature/PanelAccountTest.php +++ b/tests/Integration/Feature/PanelAccountTest.php @@ -2,8 +2,8 @@ namespace Tests\Integration\Feature; -use Entities\Models\Eloquent\Account; -use Entities\Models\PanelGroupScope; +use App\Domains\Panel\Data\PanelGroupScope; +use App\Models\Account; use Illuminate\Foundation\Testing\WithFaker; use Tests\IntegrationTestCase; diff --git a/tests/Integration/Feature/PanelBanAppealDecisionTest.php b/tests/Integration/Feature/PanelBanAppealDecisionTest.php index c17b0821f..ab0e3338d 100644 --- a/tests/Integration/Feature/PanelBanAppealDecisionTest.php +++ b/tests/Integration/Feature/PanelBanAppealDecisionTest.php @@ -2,14 +2,14 @@ namespace Tests\Integration\Feature; -use Domain\BanAppeals\Entities\BanAppealStatus; -use Domain\Bans\UnbanType; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\BanAppeal; -use Entities\Models\Eloquent\GamePlayerBan; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\PanelGroupScope; -use Entities\Notifications\BanAppealUpdatedNotification; +use App\Domains\BanAppeals\Entities\BanAppealStatus; +use App\Domains\BanAppeals\Notifications\BanAppealUpdatedNotification; +use App\Domains\Bans\Data\UnbanType; +use App\Domains\Panel\Data\PanelGroupScope; +use App\Models\Account; +use App\Models\BanAppeal; +use App\Models\GamePlayerBan; +use App\Models\MinecraftPlayer; use Illuminate\Support\Facades\Notification; use Tests\IntegrationTestCase; @@ -61,7 +61,7 @@ public function test_can_unban_player() ->assertRedirect(route('front.panel.ban-appeals.show', $this->appeal)); $this->assertEquals(BanAppealStatus::ACCEPTED_UNBAN, $this->appeal->refresh()->status); $this->assertEquals(false, $this->appeal->gamePlayerBan->refresh()->is_active); - $this->assertDatabaseHas(GamePlayerBan::getTableName(), [ + $this->assertDatabaseHas(GamePlayerBan::tableName(), [ 'id' => $this->gamePlayerBan->getKey(), 'unbanned_at' => now(), 'unbanner_player_id' => $this->admin->minecraftAccount()->first()->getKey(), @@ -80,7 +80,7 @@ public function test_can_deny_appeal() ->assertSessionHasNoErrors() ->assertRedirect(route('front.panel.ban-appeals.show', $this->appeal)); $this->assertEquals(BanAppealStatus::DENIED, $this->appeal->refresh()->status); - $this->assertDatabaseHas(GamePlayerBan::getTableName(), [ + $this->assertDatabaseHas(GamePlayerBan::tableName(), [ 'id' => $this->gamePlayerBan->getKey(), 'unbanned_at' => null, 'unbanner_player_id' => null, diff --git a/tests/Integration/Feature/PanelBanAppealViewTest.php b/tests/Integration/Feature/PanelBanAppealViewTest.php index bd216424d..94472b920 100644 --- a/tests/Integration/Feature/PanelBanAppealViewTest.php +++ b/tests/Integration/Feature/PanelBanAppealViewTest.php @@ -2,11 +2,11 @@ namespace Tests\Integration\Feature; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\BanAppeal; -use Entities\Models\Eloquent\GamePlayerBan; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\PanelGroupScope; +use App\Domains\Panel\Data\PanelGroupScope; +use App\Models\Account; +use App\Models\BanAppeal; +use App\Models\GamePlayerBan; +use App\Models\MinecraftPlayer; use Tests\IntegrationTestCase; class PanelBanAppealViewTest extends IntegrationTestCase diff --git a/tests/Integration/Feature/PanelDonationPerkDeleteTest.php b/tests/Integration/Feature/PanelDonationPerkDeleteTest.php index b9fe86eeb..6c0f7e933 100644 --- a/tests/Integration/Feature/PanelDonationPerkDeleteTest.php +++ b/tests/Integration/Feature/PanelDonationPerkDeleteTest.php @@ -2,11 +2,11 @@ namespace Tests\Integration\Feature; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\Donation; -use Entities\Models\Eloquent\DonationPerk; -use Entities\Models\Eloquent\DonationTier; -use Entities\Models\PanelGroupScope; +use App\Domains\Panel\Data\PanelGroupScope; +use App\Models\Account; +use App\Models\Donation; +use App\Models\DonationPerk; +use App\Models\DonationTier; use Tests\IntegrationTestCase; class PanelDonationPerkDeleteTest extends IntegrationTestCase @@ -32,6 +32,6 @@ public function test_delete_donation_perk() ->delete(route('front.panel.donation-perks.destroy', $donationPerk)) ->assertRedirect(route('front.panel.donations.show', $donation)); - $this->assertDatabaseCount(DonationPerk::getTableName(), 0); + $this->assertDatabaseCount(DonationPerk::tableName(), 0); } } diff --git a/tests/Integration/Feature/PanelDonationPerkUpdateTest.php b/tests/Integration/Feature/PanelDonationPerkUpdateTest.php index c24790afe..42f56a384 100644 --- a/tests/Integration/Feature/PanelDonationPerkUpdateTest.php +++ b/tests/Integration/Feature/PanelDonationPerkUpdateTest.php @@ -2,10 +2,10 @@ namespace Tests\Integration\Feature; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\Donation; -use Entities\Models\Eloquent\DonationPerk; -use Entities\Models\PanelGroupScope; +use App\Domains\Panel\Data\PanelGroupScope; +use App\Models\Account; +use App\Models\Donation; +use App\Models\DonationPerk; use Tests\IntegrationTestCase; class PanelDonationPerkUpdateTest extends IntegrationTestCase @@ -38,7 +38,7 @@ public function test_valid_update() ])->assertSessionHasNoErrors() ->assertRedirect(route('front.panel.donations.show', $donationPerk->donation)); - $this->assertDatabaseHas(DonationPerk::getTableName(), [ + $this->assertDatabaseHas(DonationPerk::tableName(), [ 'donation_perks_id' => $donationPerk->getKey(), 'expires_at' => $newExpiry, ]); diff --git a/tests/Integration/Feature/PanelDonationsListTest.php b/tests/Integration/Feature/PanelDonationsListTest.php index 5a43e950a..ca4a6b86b 100644 --- a/tests/Integration/Feature/PanelDonationsListTest.php +++ b/tests/Integration/Feature/PanelDonationsListTest.php @@ -2,8 +2,8 @@ namespace Tests\Integration\Feature; -use Entities\Models\Eloquent\Donation; -use Entities\Models\PanelGroupScope; +use App\Domains\Panel\Data\PanelGroupScope; +use App\Models\Donation; use Tests\IntegrationTestCase; class PanelDonationsListTest extends IntegrationTestCase diff --git a/tests/Integration/Feature/PanelGroupMemberTest.php b/tests/Integration/Feature/PanelGroupMemberTest.php index 936a78036..00826af03 100644 --- a/tests/Integration/Feature/PanelGroupMemberTest.php +++ b/tests/Integration/Feature/PanelGroupMemberTest.php @@ -2,9 +2,9 @@ namespace Tests\Integration\Feature; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\Group; -use Entities\Models\PanelGroupScope; +use App\Domains\Panel\Data\PanelGroupScope; +use App\Models\Account; +use App\Models\Group; use Tests\IntegrationTestCase; class PanelGroupMemberTest extends IntegrationTestCase diff --git a/tests/Integration/Feature/PanelGroupsTest.php b/tests/Integration/Feature/PanelGroupsTest.php index 56d4c42e9..54b4afe03 100644 --- a/tests/Integration/Feature/PanelGroupsTest.php +++ b/tests/Integration/Feature/PanelGroupsTest.php @@ -2,8 +2,8 @@ namespace Tests\Integration\Feature; -use Entities\Models\Eloquent\Group; -use Entities\Models\PanelGroupScope; +use App\Domains\Panel\Data\PanelGroupScope; +use App\Models\Group; use Tests\IntegrationTestCase; class PanelGroupsTest extends IntegrationTestCase diff --git a/tests/Integration/Feature/PanelMinecraftPlayerCreateTest.php b/tests/Integration/Feature/PanelMinecraftPlayerCreateTest.php index 8ea9f1c0b..2b15c774d 100644 --- a/tests/Integration/Feature/PanelMinecraftPlayerCreateTest.php +++ b/tests/Integration/Feature/PanelMinecraftPlayerCreateTest.php @@ -2,12 +2,12 @@ namespace Tests\Integration\Feature; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\PanelGroupScope; +use App\Core\Domains\Mojang\Api\MojangPlayerApi; +use App\Core\Domains\Mojang\Data\MojangPlayerNameHistory; +use App\Domains\Panel\Data\PanelGroupScope; +use App\Models\Account; +use App\Models\MinecraftPlayer; use Illuminate\Foundation\Testing\WithFaker; -use Library\Mojang\Api\MojangPlayerApi; -use Library\Mojang\Models\MojangPlayerNameHistory; use Mockery\MockInterface; use Tests\IntegrationTestCase; diff --git a/tests/Integration/Feature/PanelMinecraftPlayerEditTest.php b/tests/Integration/Feature/PanelMinecraftPlayerEditTest.php index 7cfa5c31a..977edc7c7 100644 --- a/tests/Integration/Feature/PanelMinecraftPlayerEditTest.php +++ b/tests/Integration/Feature/PanelMinecraftPlayerEditTest.php @@ -2,9 +2,9 @@ namespace Tests\Integration\Feature; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\PanelGroupScope; +use App\Domains\Panel\Data\PanelGroupScope; +use App\Models\Account; +use App\Models\MinecraftPlayer; use Tests\IntegrationTestCase; class PanelMinecraftPlayerEditTest extends IntegrationTestCase diff --git a/tests/Integration/Feature/PanelMinecraftPlayerLookupTest.php b/tests/Integration/Feature/PanelMinecraftPlayerLookupTest.php index 0b05712ed..f055a7c55 100644 --- a/tests/Integration/Feature/PanelMinecraftPlayerLookupTest.php +++ b/tests/Integration/Feature/PanelMinecraftPlayerLookupTest.php @@ -2,12 +2,12 @@ namespace Tests\Integration\Feature; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\PanelGroupScope; +use App\Core\Domains\Mojang\Api\MojangPlayerApi; +use App\Core\Domains\Mojang\Data\MojangPlayer; +use App\Domains\Panel\Data\PanelGroupScope; +use App\Models\Account; +use App\Models\MinecraftPlayer; use Illuminate\Foundation\Testing\WithFaker; -use Library\Mojang\Api\MojangPlayerApi; -use Library\Mojang\Models\MojangPlayer; use Mockery\MockInterface; use Symfony\Component\HttpKernel\Exception\HttpException; use Tests\IntegrationTestCase; diff --git a/tests/Integration/Feature/PanelMinecraftPlayerReloadAliasTest.php b/tests/Integration/Feature/PanelMinecraftPlayerReloadAliasTest.php index b2e593f9a..67539d3c0 100644 --- a/tests/Integration/Feature/PanelMinecraftPlayerReloadAliasTest.php +++ b/tests/Integration/Feature/PanelMinecraftPlayerReloadAliasTest.php @@ -2,11 +2,11 @@ namespace Tests\Integration\Feature; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\PanelGroupScope; -use Library\Mojang\Api\MojangPlayerApi; -use Library\Mojang\Models\MojangPlayerNameHistory; +use App\Core\Domains\Mojang\Api\MojangPlayerApi; +use App\Core\Domains\Mojang\Data\MojangPlayerNameHistory; +use App\Domains\Panel\Data\PanelGroupScope; +use App\Models\Account; +use App\Models\MinecraftPlayer; use Mockery\MockInterface; use Symfony\Component\HttpKernel\Exception\HttpException; use Tests\IntegrationTestCase; diff --git a/tests/Integration/Feature/PanelMinecraftPlayerShowTest.php b/tests/Integration/Feature/PanelMinecraftPlayerShowTest.php index bd7023dad..6db415442 100644 --- a/tests/Integration/Feature/PanelMinecraftPlayerShowTest.php +++ b/tests/Integration/Feature/PanelMinecraftPlayerShowTest.php @@ -2,10 +2,10 @@ namespace Tests\Integration\Feature; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\GamePlayerBan; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\PanelGroupScope; +use App\Domains\Panel\Data\PanelGroupScope; +use App\Models\Account; +use App\Models\GamePlayerBan; +use App\Models\MinecraftPlayer; use Symfony\Component\HttpKernel\Exception\HttpException; use Tests\IntegrationTestCase; diff --git a/tests/Integration/Feature/PanelMinecraftPlayersListTest.php b/tests/Integration/Feature/PanelMinecraftPlayersListTest.php index 0acea077d..6aa14f40b 100644 --- a/tests/Integration/Feature/PanelMinecraftPlayersListTest.php +++ b/tests/Integration/Feature/PanelMinecraftPlayersListTest.php @@ -2,9 +2,9 @@ namespace Tests\Integration\Feature; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\PanelGroupScope; +use App\Domains\Panel\Data\PanelGroupScope; +use App\Models\Account; +use App\Models\MinecraftPlayer; use Symfony\Component\HttpKernel\Exception\HttpException; use Tests\IntegrationTestCase; diff --git a/tests/Integration/Feature/PanelTest.php b/tests/Integration/Feature/PanelTest.php index ab3276997..c9af5965c 100644 --- a/tests/Integration/Feature/PanelTest.php +++ b/tests/Integration/Feature/PanelTest.php @@ -2,10 +2,10 @@ namespace Tests\Integration\Feature; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\Group; -use Entities\Models\Eloquent\GroupScope; -use Entities\Models\PanelGroupScope; +use App\Domains\Panel\Data\PanelGroupScope; +use App\Models\Account; +use App\Models\Group; +use App\Models\GroupScope; use Tests\TestCase; class PanelTest extends TestCase diff --git a/tests/Integration/Feature/PasswordResetTest.php b/tests/Integration/Feature/PasswordResetTest.php index b85791dc0..e44d06998 100644 --- a/tests/Integration/Feature/PasswordResetTest.php +++ b/tests/Integration/Feature/PasswordResetTest.php @@ -2,13 +2,13 @@ namespace Tests\Integration\Feature; -use Domain\PasswordReset\UseCases\SendPasswordResetEmail; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\AccountPasswordReset; -use Entities\Notifications\AccountPasswordResetNotification; +use App\Core\Domains\Tokens\Adapters\StubTokenGenerator; +use App\Core\Support\Laravel\SignedURL\Adapters\StubSignedURLGenerator; +use App\Domains\PasswordReset\Notifications\AccountPasswordResetNotification; +use App\Domains\PasswordReset\UseCases\SendPasswordResetEmail; +use App\Models\Account; +use App\Models\PasswordReset; use Illuminate\Support\Facades\Notification; -use Library\SignedURL\Adapters\StubSignedURLGenerator; -use Library\Tokens\Adapters\StubTokenGenerator; use Repositories\AccountPasswordResetRepository; use Tests\TestCase; @@ -48,7 +48,7 @@ public function test_user_can_request_password_reset_email() public function test_user_can_change_password() { - $reset = AccountPasswordReset::factory()->create([ + $reset = PasswordReset::factory()->create([ 'email' => $this->account->email, ]); diff --git a/tests/Integration/Feature/RegisterTest.php b/tests/Integration/Feature/RegisterTest.php index 02f52b1f2..e71b115a5 100644 --- a/tests/Integration/Feature/RegisterTest.php +++ b/tests/Integration/Feature/RegisterTest.php @@ -2,15 +2,15 @@ namespace Tests\Integration\Feature; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\Group; -use Entities\Notifications\AccountActivationNotification; +use App\Core\Domains\Recaptcha\Validator\Adapters\GoogleRecaptchaValidator; +use App\Core\Domains\Recaptcha\Validator\RecaptchaValidator; +use App\Core\Support\Laravel\SignedURL\Adapters\LaravelSignedURLGenerator; +use App\Domains\Registration\Notifications\AccountActivationNotification; +use App\Models\Account; +use App\Models\Group; use Illuminate\Support\Facades\Notification; use Illuminate\Support\Facades\Session; use Illuminate\Support\Str; -use Library\Recaptcha\Validator\Adapters\GoogleRecaptchaValidator; -use Library\Recaptcha\Validator\RecaptchaValidator; -use Library\SignedURL\Adapters\LaravelSignedURLGenerator; use Tests\TestCase; class RegisterTest extends TestCase diff --git a/tests/Integration/Feature/RequiresServerTokenScopeTest.php b/tests/Integration/Feature/RequiresServerTokenScopeTest.php index 0885782f4..70fd331a3 100644 --- a/tests/Integration/Feature/RequiresServerTokenScopeTest.php +++ b/tests/Integration/Feature/RequiresServerTokenScopeTest.php @@ -2,8 +2,8 @@ namespace Tests\Integration\Feature; +use App\Domains\ServerTokens\ScopeKey; use App\Http\Middleware\RequiresServerTokenScope; -use Domain\ServerTokens\ScopeKey; use Illuminate\Http\Request; use Symfony\Component\HttpKernel\Exception\HttpException; use Tests\IntegrationTestCase; diff --git a/tests/Integration/Feature/TelescopeAccessTest.php b/tests/Integration/Feature/TelescopeAccessTest.php deleted file mode 100644 index de541ad3e..000000000 --- a/tests/Integration/Feature/TelescopeAccessTest.php +++ /dev/null @@ -1,32 +0,0 @@ -setTemporaryConfig('app.env', 'production'); - } - - public function test_telescope_access_forbidden() - { - $this->get('/telescope') - ->assertForbidden(); - } - - public function test_telescope_admin_allowed() - { - $this->actingAs($this->adminAccount(scopes: [PanelGroupScope::ACCESS_PANEL])) - ->get('/telescope') - ->assertOk(); - } -} diff --git a/tests/Integration/Web/DonationCheckoutTest.php b/tests/Integration/Web/DonationCheckoutTest.php index eb6ee5421..217ffc2d5 100644 --- a/tests/Integration/Web/DonationCheckoutTest.php +++ b/tests/Integration/Web/DonationCheckoutTest.php @@ -2,8 +2,8 @@ namespace Tests\Integration\Web; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\StripeProduct; +use App\Models\Account; +use App\Models\StripeProduct; use Tests\IntegrationTestCase; class DonationCheckoutTest extends IntegrationTestCase diff --git a/tests/IntegrationTestCase.php b/tests/IntegrationTestCase.php index ec03e6a3d..88b75538a 100644 --- a/tests/IntegrationTestCase.php +++ b/tests/IntegrationTestCase.php @@ -2,15 +2,15 @@ namespace Tests; -use Domain\ServerTokens\ScopeKey; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\Group; -use Entities\Models\Eloquent\GroupScope; -use Entities\Models\Eloquent\Server; -use Entities\Models\Eloquent\ServerCategory; -use Entities\Models\Eloquent\ServerToken; -use Entities\Models\Eloquent\ServerTokenScope; -use Entities\Models\PanelGroupScope; +use App\Domains\Panel\Data\PanelGroupScope; +use App\Domains\ServerTokens\ScopeKey; +use App\Models\Account; +use App\Models\Group; +use App\Models\GroupScope; +use App\Models\Server; +use App\Models\ServerCategory; +use App\Models\ServerToken; +use App\Models\ServerTokenScope; use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Support\Carbon; @@ -51,8 +51,7 @@ protected function loadJsonFromFile(string $path): array protected function createServerToken(): ServerToken { - $serverCategory = ServerCategory::create(['name' => '_', 'display_order' => 0]); - $server = Server::factory()->create(['server_category_id' => $serverCategory->getKey()]); + $server = Server::factory()->create(); $this->token = ServerToken::factory()->create(['server_id' => $server->getKey()]); return $this->token; diff --git a/tests/TestCase.php b/tests/TestCase.php index 21bcffba3..0f62e56f8 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -2,12 +2,12 @@ namespace Tests; +use App\Core\Domains\Mojang\Api\MojangPlayerApi; use App\Http\Middleware\MfaGate; use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Foundation\Testing\TestCase as BaseTestCase; use Illuminate\Support\Carbon; use Illuminate\Support\Facades\Session; -use Library\Mojang\Api\MojangPlayerApi; use Tests\Support\TestResponseMacros; abstract class TestCase extends BaseTestCase diff --git a/tests/Unit/App/Console/CleanupUnactivatedAccountsCommand_Test.php b/tests/Unit/App/Console/CleanupUnactivatedAccountsCommand_Test.php index 78c95d78f..a8891d828 100644 --- a/tests/Unit/App/Console/CleanupUnactivatedAccountsCommand_Test.php +++ b/tests/Unit/App/Console/CleanupUnactivatedAccountsCommand_Test.php @@ -2,9 +2,9 @@ namespace Tests\Unit\App\Console; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\AccountEmailChange; -use Entities\Models\Eloquent\Group; +use App\Models\Account; +use App\Models\EmailChange; +use App\Models\Group; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\TestCase; @@ -47,7 +47,7 @@ public function test_cascade_deletes_account() ->unactivated() ->create(['updated_at' => now()->subDays(14)]); - $emailChange = AccountEmailChange::factory() + $emailChange = EmailChange::factory() ->for($account) ->create(); @@ -60,7 +60,7 @@ public function test_cascade_deletes_account() $this->assertDatabaseMissing('accounts', [ 'account_id' => $account->getKey(), ]); - $this->assertDatabaseMissing(AccountEmailChange::getTableName(), [ + $this->assertDatabaseMissing(EmailChange::tableName(), [ 'account_email_change_id' => $emailChange->getKey(), ]); } diff --git a/tests/Unit/Library/Auditing/AuditAttributesTest.php b/tests/Unit/App/Core/Domains/Auditing/AuditAttributesTest.php similarity index 85% rename from tests/Unit/Library/Auditing/AuditAttributesTest.php rename to tests/Unit/App/Core/Domains/Auditing/AuditAttributesTest.php index 7785bc5e8..dd080c8c1 100644 --- a/tests/Unit/Library/Auditing/AuditAttributesTest.php +++ b/tests/Unit/App/Core/Domains/Auditing/AuditAttributesTest.php @@ -1,13 +1,12 @@ playerLookup = new PlayerLookupMock(); - $this->balanceHistoryRepository = \Mockery::mock(BalanceHistoryRepository::class); - - $this->useCase = new DeductBalance( - playerLookup: $this->playerLookup, - balanceHistoryRepository: $this->balanceHistoryRepository, - ); - } - - public function test_throws_exception_if_amount_equals_0() - { - $this->expectException(\Exception::class); - - $this->useCase->execute( - identifier: PlayerIdentifier::minecraftUUID('uuid'), - amount: 0, - reason: 'reason', - ); - } - - public function test_throws_exception_if_amount_less_than_1() - { - $this->expectException(\Exception::class); - - $this->useCase->execute( - identifier: PlayerIdentifier::minecraftUUID('uuid'), - amount: -1, - reason: 'reason', - ); - } - - public function test_throws_exception_if_insufficient_balance() - { - $balance = 10; - $account = Account::factory()->create(['balance' => $balance]); - $player = MinecraftPlayer::factory()->for($account)->create(); - $identifier = PlayerIdentifier::minecraftUUID('uuid'); - - $this->playerLookup->find = $player; - - $this->expectException(InsufficientBalanceException::class); - - $this->useCase->execute( - identifier: $identifier, - amount: $balance + 1, - reason: 'reason', - ); - } - - public function test_deducts_from_balance() - { - $account = Account::factory()->create(['balance' => 10]); - $player = MinecraftPlayer::factory()->for($account)->create(); - $identifier = PlayerIdentifier::minecraftUUID('uuid'); - - $this->playerLookup->find = $player; - - $this->balanceHistoryRepository - ->shouldReceive('create') - ->with($account->getKey(), 10, 7, -3, 'reason'); - - $this->useCase->execute( - identifier: $identifier, - amount: 3, - reason: 'reason', - ); - - $this->assertEquals( - expected: 7, - actual: Account::find($account->getKey())->balance, - ); - } -} diff --git a/tests/Unit/Domain/BanAppeals/UseCases/CreateBanAppealTest.php b/tests/Unit/Domain/BanAppeals/UseCases/CreateBanAppealTest.php index c69c4a416..ed0e929ba 100644 --- a/tests/Unit/Domain/BanAppeals/UseCases/CreateBanAppealTest.php +++ b/tests/Unit/Domain/BanAppeals/UseCases/CreateBanAppealTest.php @@ -2,13 +2,13 @@ namespace Tests\Unit\Domain\BanAppeals\UseCases; -use Domain\BanAppeals\Exceptions\EmailRequiredException; -use Domain\BanAppeals\UseCases\CreateBanAppeal; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\BanAppeal; -use Entities\Models\Eloquent\GamePlayerBan; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Notifications\BanAppealConfirmationNotification; +use App\Domains\BanAppeals\Exceptions\EmailRequiredException; +use App\Domains\BanAppeals\Notifications\BanAppealConfirmationNotification; +use App\Domains\BanAppeals\UseCases\CreateBanAppeal; +use App\Models\Account; +use App\Models\BanAppeal; +use App\Models\GamePlayerBan; +use App\Models\MinecraftPlayer; use Illuminate\Support\Facades\Notification; use Repositories\BanAppealRepository; use Tests\TestCase; @@ -46,6 +46,9 @@ public function test_creates_appeal() ->andReturn($this->banAppeal); $this->useCase->execute($this->gamePlayerBan, 'Explanation', loggedInAccount: null, email: 'test@example.org'); + + // Skip risky warning + $this->assertTrue(true); } public function test_requires_email_with_no_logged_in_account() @@ -71,6 +74,9 @@ public function test_email_not_required_if_account_matches() ->andReturn($this->banAppeal); $this->useCase->execute($this->gamePlayerBan, 'Explanation', loggedInAccount: $account, email: null); + + // Skip risky warning + $this->assertTrue(true); } public function test_sends_email_to_to_appeal_notifiable() @@ -93,6 +99,9 @@ public function test_sets_verified_if_account_matches_player_owner() ->with($this->gamePlayerBan->getKey(), true, 'Explanation', null) ->andReturn($this->banAppeal); $this->useCase->execute($this->gamePlayerBan, 'Explanation', loggedInAccount: $account, email: null); + + // Skip risky warning + $this->assertTrue(true); } public function test_sets_not_verified_if_no_account_specified() @@ -103,6 +112,9 @@ public function test_sets_not_verified_if_no_account_specified() ->with($this->gamePlayerBan->getKey(), false, 'Explanation', 'test@example.org') ->andReturn($this->banAppeal); $this->useCase->execute($this->gamePlayerBan, 'Explanation', loggedInAccount: null, email: 'test@example.org'); + + // Skip risky warning + $this->assertTrue(true); } public function test_sets_not_verified_if_different_account_used() @@ -113,5 +125,8 @@ public function test_sets_not_verified_if_different_account_used() ->with($this->gamePlayerBan->getKey(), false, 'Explanation', 'test@example.org') ->andReturn($this->banAppeal); $this->useCase->execute($this->gamePlayerBan, 'Explanation', loggedInAccount: Account::factory()->create(), email: 'test@example.org'); + + // Skip risky warning + $this->assertTrue(true); } } diff --git a/tests/Unit/Domain/BanAppeals/UseCases/UpdateBanAppealTest.php b/tests/Unit/Domain/BanAppeals/UseCases/UpdateBanAppealTest.php index b5573a9b2..ee084fa51 100644 --- a/tests/Unit/Domain/BanAppeals/UseCases/UpdateBanAppealTest.php +++ b/tests/Unit/Domain/BanAppeals/UseCases/UpdateBanAppealTest.php @@ -2,18 +2,18 @@ namespace Tests\Unit\Domain\BanAppeals\UseCases; -use App\Exceptions\Http\NotImplementedException; -use Domain\BanAppeals\Entities\BanAppealStatus; -use Domain\BanAppeals\Exceptions\AppealAlreadyDecidedException; -use Domain\BanAppeals\UseCases\UpdateBanAppeal; -use Domain\Bans\Exceptions\NotBannedException; -use Domain\Bans\UnbanType; -use Domain\Bans\UseCases\CreatePlayerUnban; -use Domain\Panel\Exceptions\NoPlayerForActionException; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\BanAppeal; -use Entities\Models\Eloquent\GamePlayerBan; -use Entities\Models\Eloquent\MinecraftPlayer; +use App\Core\Data\Exceptions\NotImplementedException; +use App\Domains\BanAppeals\Entities\BanAppealStatus; +use App\Domains\BanAppeals\Exceptions\AppealAlreadyDecidedException; +use App\Domains\BanAppeals\UseCases\UpdateBanAppeal; +use App\Domains\Bans\Data\UnbanType; +use App\Domains\Bans\Exceptions\NotBannedException; +use App\Domains\Bans\UseCases\CreatePlayerUnban; +use App\Domains\Panel\Exceptions\NoPlayerForActionException; +use App\Models\Account; +use App\Models\BanAppeal; +use App\Models\GamePlayerBan; +use App\Models\MinecraftPlayer; use Repositories\BanAppealRepository; use Tests\TestCase; diff --git a/tests/Unit/Domain/Bans/UseCases/CreateBanTest.php b/tests/Unit/Domain/Bans/UseCases/CreateBanTest.php index 317ddd6bb..9007787c0 100644 --- a/tests/Unit/Domain/Bans/UseCases/CreateBanTest.php +++ b/tests/Unit/Domain/Bans/UseCases/CreateBanTest.php @@ -2,13 +2,13 @@ namespace Tests\Unit\Domain\Bans\UseCases; -use Domain\Bans\Exceptions\AlreadyPermBannedException; -use Domain\Bans\UseCases\CreatePlayerBan; -use Entities\Models\Eloquent\GamePlayerBan; -use Entities\Models\Eloquent\MinecraftPlayer; +use App\Core\Domains\PlayerLookup\Data\PlayerIdentifier; +use App\Core\Domains\PlayerLookup\Service\ConcretePlayerLookup; +use App\Domains\Bans\Exceptions\AlreadyPermBannedException; +use App\Domains\Bans\UseCases\CreatePlayerBan; +use App\Models\GamePlayerBan; +use App\Models\MinecraftPlayer; use Repositories\GamePlayerBanRepository; -use Shared\PlayerLookup\Entities\PlayerIdentifier; -use Shared\PlayerLookup\Service\ConcretePlayerLookup; use Tests\TestCase; class CreateBanTest extends TestCase diff --git a/tests/Unit/Domain/Bans/UseCases/LookupBanTest.php b/tests/Unit/Domain/Bans/UseCases/LookupBanTest.php index 3563697d0..5b42e272c 100644 --- a/tests/Unit/Domain/Bans/UseCases/LookupBanTest.php +++ b/tests/Unit/Domain/Bans/UseCases/LookupBanTest.php @@ -2,15 +2,15 @@ namespace Tests\Unit\Domain\Bans\UseCases; -use Domain\Bans\Exceptions\NotBannedException; -use Domain\Bans\UseCases\LookupPlayerBan; -use Entities\Models\Eloquent\GamePlayerBan; -use Entities\Models\Eloquent\MinecraftPlayer; -use Library\Mojang\Api\MojangPlayerApi; -use Library\Mojang\Models\MojangPlayer; +use App\Core\Domains\Mojang\Api\MojangPlayerApi; +use App\Core\Domains\Mojang\Data\MojangPlayer; +use App\Core\Domains\PlayerLookup\Exceptions\PlayerNotFoundException; +use App\Domains\Bans\Exceptions\NotBannedException; +use App\Domains\Bans\UseCases\LookupPlayerBan; +use App\Models\GamePlayerBan; +use App\Models\MinecraftPlayer; use Repositories\GamePlayerBanRepository; use Repositories\MinecraftPlayerRepository; -use Shared\PlayerLookup\Exceptions\PlayerNotFoundException; use Tests\TestCase; class LookupBanTest extends TestCase diff --git a/tests/Unit/Domain/Donations/Entities/PaidAmountTest.php b/tests/Unit/Domain/Donations/Entities/PaidAmountTest.php index e68ff1354..9eac3b970 100644 --- a/tests/Unit/Domain/Donations/Entities/PaidAmountTest.php +++ b/tests/Unit/Domain/Donations/Entities/PaidAmountTest.php @@ -2,8 +2,8 @@ namespace Tests\Unit\Domain\Donations\Entities; -use Domain\Donations\Entities\Denomination; -use Domain\Donations\Entities\PaidAmount; +use App\Domains\Donations\Data\Denomination; +use App\Domains\Donations\Data\PaidAmount; use Tests\TestCase; final class PaidAmountTest extends TestCase diff --git a/tests/Unit/Domain/Donations/UseCases/DeactivateExpiredDonorPerksTest.php b/tests/Unit/Domain/Donations/UseCases/DeactivateExpiredDonorPerksTest.php index bf618ba34..ec15e54e8 100644 --- a/tests/Unit/Domain/Donations/UseCases/DeactivateExpiredDonorPerksTest.php +++ b/tests/Unit/Domain/Donations/UseCases/DeactivateExpiredDonorPerksTest.php @@ -2,16 +2,16 @@ namespace Tests\Unit\Domain\Donations\UseCases; -use Domain\Donations\UseCases\DeactivateExpiredDonorPerks; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\Donation; -use Entities\Models\Eloquent\DonationPerk; -use Entities\Models\Eloquent\Group; -use Entities\Notifications\DonationEndedNotification; +use App\Core\Domains\Groups\GroupsManager; +use App\Domains\Donations\Notifications\DonationEndedNotification; +use App\Domains\Donations\UseCases\DeactivateExpiredDonorPerks; +use App\Models\Account; +use App\Models\Donation; +use App\Models\DonationPerk; +use App\Models\Group; use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Support\Facades\Notification; use Repositories\DonationPerkRepository; -use Shared\Groups\GroupsManager; use Tests\TestCase; final class DeactivateExpiredDonorPerksTest extends TestCase @@ -164,6 +164,9 @@ public function test_removes_donor_group_if_perks_expired() ->shouldReceive('removeMember'); $this->useCase->execute(); + + // Skip risky warning + $this->assertTrue(true); } public function test_doesnt_remove_donor_group_if_other_active_perks() diff --git a/tests/Unit/Domain/EmailChange/UseCases/SendVerificationEmailTest.php b/tests/Unit/Domain/EmailChange/UseCases/SendVerificationEmailTest.php index 059e70f39..6cc8b43c9 100644 --- a/tests/Unit/Domain/EmailChange/UseCases/SendVerificationEmailTest.php +++ b/tests/Unit/Domain/EmailChange/UseCases/SendVerificationEmailTest.php @@ -2,17 +2,17 @@ namespace Unit\Domain\EmailChange\UseCases; -use Domain\EmailChange\Notifications\VerifyNewEmailAddressNotification; -use Domain\EmailChange\Notifications\VerifyOldEmailAddressNotification; -use Domain\EmailChange\UseCases\SendVerificationEmail; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\AccountEmailChange; +use App\Core\Domains\Tokens\Adapters\StubTokenGenerator; +use App\Core\Domains\Tokens\TokenGenerator; +use App\Core\Support\Laravel\SignedURL\Adapters\StubSignedURLGenerator; +use App\Core\Support\Laravel\SignedURL\SignedURLGenerator; +use App\Domains\EmailChange\Notifications\VerifyNewEmailAddressNotification; +use App\Domains\EmailChange\Notifications\VerifyOldEmailAddressNotification; +use App\Domains\EmailChange\UseCases\SendVerificationEmail; +use App\Models\Account; +use App\Models\EmailChange; use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Support\Facades\Notification; -use Library\SignedURL\Adapters\StubSignedURLGenerator; -use Library\SignedURL\SignedURLGenerator; -use Library\Tokens\Adapters\StubTokenGenerator; -use Library\Tokens\TokenGenerator; use Repositories\AccountEmailChangeRepository; use Tests\TestCase; @@ -50,7 +50,7 @@ public function test_sends_emails() $this->emailChangeRepository ->shouldReceive('create') ->with($account->getKey(), 'token', $account->email, $newEmail) - ->andReturn(AccountEmailChange::make()); + ->andReturn(EmailChange::make()); $this->useCase->execute( accountId: $account->getKey(), diff --git a/tests/Unit/Domain/EmailChange/UseCases/UpdateAccountEmailTest.php b/tests/Unit/Domain/EmailChange/UseCases/UpdateAccountEmailTest.php index 43acbae77..efb3ae130 100644 --- a/tests/Unit/Domain/EmailChange/UseCases/UpdateAccountEmailTest.php +++ b/tests/Unit/Domain/EmailChange/UseCases/UpdateAccountEmailTest.php @@ -2,9 +2,9 @@ namespace Unit\Domain\EmailChange\UseCases; -use Domain\EmailChange\UseCases\UpdateAccountEmail; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\AccountEmailChange; +use App\Domains\EmailChange\UseCases\UpdateAccountEmail; +use App\Models\Account; +use App\Models\EmailChange; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\TestCase; @@ -26,7 +26,7 @@ public function test_updates_email() $oldEmail = 'old_email@pcbmc.co'; $newEmail = 'new_email@pcbmc.co'; $account = Account::factory()->create(['email' => $oldEmail]); - $changeRequest = AccountEmailChange::factory() + $changeRequest = EmailChange::factory() ->for($account) ->create(['email_new' => $newEmail]); diff --git a/tests/Unit/Domain/EmailChange/UseCases/VerifyEmailTest.php b/tests/Unit/Domain/EmailChange/UseCases/VerifyEmailTest.php index 3d8d1835f..8300fc8a7 100644 --- a/tests/Unit/Domain/EmailChange/UseCases/VerifyEmailTest.php +++ b/tests/Unit/Domain/EmailChange/UseCases/VerifyEmailTest.php @@ -2,10 +2,10 @@ namespace Unit\Domain\EmailChange\UseCases; -use Domain\EmailChange\Exceptions\TokenNotFoundException; -use Domain\EmailChange\UseCases\VerifyEmail; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\AccountEmailChange; +use App\Domains\EmailChange\Exceptions\TokenNotFoundException; +use App\Domains\EmailChange\UseCases\VerifyEmail; +use App\Models\Account; +use App\Models\EmailChange; use Illuminate\Foundation\Testing\RefreshDatabase; use Repositories\AccountEmailChangeRepository; use Tests\TestCase; @@ -53,7 +53,7 @@ public function test_flow() $oldEmail = 'old_email@pcbmc.co'; $newEmail = 'new_email@pcbmc.co'; - $changeRequest = AccountEmailChange::factory() + $changeRequest = EmailChange::factory() ->for(Account::factory()->create()) ->create([ 'email_previous' => $oldEmail, diff --git a/tests/Unit/Domain/Login/UseCases/LoginAccountTest.php b/tests/Unit/Domain/Login/UseCases/LoginAccountTest.php index 0f072f7c9..9fca8e5bb 100644 --- a/tests/Unit/Domain/Login/UseCases/LoginAccountTest.php +++ b/tests/Unit/Domain/Login/UseCases/LoginAccountTest.php @@ -2,13 +2,13 @@ namespace Tests\Unit\Domain\Login\UseCases; +use App\Domains\Login\Entities\LoginCredentials; +use App\Domains\Login\Exceptions\AccountNotActivatedException; +use App\Domains\Login\Exceptions\InvalidLoginCredentialsException; +use App\Domains\Login\UseCases\LoginAccount; use App\Http\Middleware\MfaGate; +use App\Models\Account; use Database\Factories\AccountFactory; -use Domain\Login\Entities\LoginCredentials; -use Domain\Login\Exceptions\AccountNotActivatedException; -use Domain\Login\Exceptions\InvalidLoginCredentialsException; -use Domain\Login\UseCases\LoginAccount; -use Entities\Models\Eloquent\Account; use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Session; diff --git a/tests/Unit/Domain/Login/UseCases/LogoutAccountTest.php b/tests/Unit/Domain/Login/UseCases/LogoutAccountTest.php index 1a1763902..cf6bd7555 100644 --- a/tests/Unit/Domain/Login/UseCases/LogoutAccountTest.php +++ b/tests/Unit/Domain/Login/UseCases/LogoutAccountTest.php @@ -2,8 +2,8 @@ namespace Tests\Unit\Domain\Login\UseCases; -use Domain\Login\UseCases\LogoutAccount; -use Entities\Models\Eloquent\Account; +use App\Domains\Login\UseCases\LogoutAccount; +use App\Models\Account; use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Support\Facades\Auth; use Tests\TestCase; diff --git a/tests/Unit/Domain/MinecraftTelemetry/UseCases/UpdateSeenMinecraftPlayerTest.php b/tests/Unit/Domain/MinecraftTelemetry/UseCases/UpdateSeenMinecraftPlayerTest.php index 2b95fad7f..55a1610f9 100644 --- a/tests/Unit/Domain/MinecraftTelemetry/UseCases/UpdateSeenMinecraftPlayerTest.php +++ b/tests/Unit/Domain/MinecraftTelemetry/UseCases/UpdateSeenMinecraftPlayerTest.php @@ -2,12 +2,12 @@ namespace Tests\Unit\Domain\MinecraftTelemetry\UseCases; -use Domain\MinecraftTelemetry\UseCases\UpdateSeenMinecraftPlayer; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\Eloquent\MinecraftPlayerAlias; +use App\Core\Domains\PlayerLookup\Service\ConcretePlayerLookup; +use App\Domains\MinecraftTelemetry\UseCases\UpdateSeenMinecraftPlayer; +use App\Models\MinecraftPlayer; +use App\Models\MinecraftPlayerAlias; use Illuminate\Foundation\Testing\RefreshDatabase; use Repositories\MinecraftPlayerAliasRepository; -use Shared\PlayerLookup\Service\ConcretePlayerLookup; use Tests\TestCase; class UpdateSeenMinecraftPlayerTest extends TestCase @@ -82,5 +82,8 @@ public function test_creates_alias_if_player_changed_alias() ->andReturn(new MinecraftPlayerAlias()); $this->useCase->execute(uuid: 'uuid', alias: 'new_alias'); + + // Skip risky warning + $this->assertTrue(true); } } diff --git a/tests/Unit/Domain/PasswordReset/UseCases/DeleteExpiredPasswordResetsTest.php b/tests/Unit/Domain/PasswordReset/UseCases/DeleteExpiredPasswordResetsTest.php index 6cc62439a..5ee511a26 100644 --- a/tests/Unit/Domain/PasswordReset/UseCases/DeleteExpiredPasswordResetsTest.php +++ b/tests/Unit/Domain/PasswordReset/UseCases/DeleteExpiredPasswordResetsTest.php @@ -2,8 +2,8 @@ namespace Tests\Unit\Domain\PasswordReset\UseCases; -use Domain\PasswordReset\UseCases\DeleteExpiredPasswordResets; -use Entities\Models\Eloquent\AccountPasswordReset; +use App\Domains\PasswordReset\UseCases\DeleteExpiredPasswordResets; +use App\Models\PasswordReset; use Illuminate\Support\Carbon; use Repositories\AccountPasswordResetRepository; use Tests\TestCase; @@ -26,16 +26,16 @@ public function test_deletes_expired_resets() $now = Carbon::create(year: 2022, month: 4, day: 8, hour: 10, minute: 9, second: 8); Carbon::setTestNow($now); - AccountPasswordReset::factory()->create([ + PasswordReset::factory()->create([ 'created_at' => $now->copy()->addDays(-2), ]); - AccountPasswordReset::factory()->create([ + PasswordReset::factory()->create([ 'created_at' => $now->copy()->addDays(-1), ]); - AccountPasswordReset::factory()->create([ + PasswordReset::factory()->create([ 'created_at' => $now, ]); - AccountPasswordReset::factory()->create([ + PasswordReset::factory()->create([ 'created_at' => $now->copy()->addDay(), ]); diff --git a/tests/Unit/Domain/PasswordReset/UseCases/ResetAccountPasswordTest.php b/tests/Unit/Domain/PasswordReset/UseCases/ResetAccountPasswordTest.php index 6839b8504..fdc400469 100644 --- a/tests/Unit/Domain/PasswordReset/UseCases/ResetAccountPasswordTest.php +++ b/tests/Unit/Domain/PasswordReset/UseCases/ResetAccountPasswordTest.php @@ -2,11 +2,11 @@ namespace Tests\Unit\Domain\PasswordReset\UseCases; -use App\Exceptions\Http\NotFoundException; -use Domain\PasswordReset\UseCases\ResetAccountPassword; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\AccountPasswordReset; -use Entities\Notifications\AccountPasswordResetCompleteNotification; +use App\Core\Data\Exceptions\NotFoundException; +use App\Domains\PasswordReset\Notifications\AccountPasswordResetCompleteNotification; +use App\Domains\PasswordReset\UseCases\ResetAccountPassword; +use App\Models\Account; +use App\Models\PasswordReset; use Illuminate\Support\Facades\Notification; use Repositories\AccountPasswordResetRepository; use Repositories\AccountRepository; @@ -49,7 +49,7 @@ public function test_throws_exception_if_token_not_found() public function test_throws_exception_if_account_not_found() { - $passwordReset = AccountPasswordReset::factory()->create(); + $passwordReset = PasswordReset::factory()->create(); $this->passwordResetRepository ->shouldReceive('firstByToken') @@ -69,7 +69,7 @@ public function test_throws_exception_if_account_not_found() public function test_updates_password() { - $passwordReset = AccountPasswordReset::factory()->create(); + $passwordReset = PasswordReset::factory()->create(); $account = Account::factory()->create(); $newPassword = 'new_password'; @@ -91,13 +91,16 @@ public function test_updates_password() token: $passwordReset->token, newPassword: $newPassword, ); + + // Skip risky warning + $this->assertTrue(true); } public function test_sends_notification() { Notification::assertNothingSent(); - $passwordReset = AccountPasswordReset::factory()->create(); + $passwordReset = PasswordReset::factory()->create(); $account = Account::factory()->create(); $this->passwordResetRepository diff --git a/tests/Unit/Domain/PasswordReset/UseCases/SendPasswordResetEmailTest.php b/tests/Unit/Domain/PasswordReset/UseCases/SendPasswordResetEmailTest.php index 40217282f..6eb9fcbd1 100644 --- a/tests/Unit/Domain/PasswordReset/UseCases/SendPasswordResetEmailTest.php +++ b/tests/Unit/Domain/PasswordReset/UseCases/SendPasswordResetEmailTest.php @@ -2,13 +2,14 @@ namespace Domain\PasswordReset\UseCases; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\AccountPasswordReset; -use Entities\Notifications\AccountPasswordResetNotification; +use App\Core\Domains\Tokens\Adapters\StubTokenGenerator; +use App\Core\Support\Laravel\SignedURL\Adapters\LaravelSignedURLGenerator; +use App\Domains\PasswordReset\Notifications\AccountPasswordResetNotification; +use App\Domains\PasswordReset\UseCases\SendPasswordResetEmail; +use App\Models\Account; +use App\Models\PasswordReset; use Illuminate\Support\Carbon; use Illuminate\Support\Facades\Notification; -use Library\SignedURL\Adapters\LaravelSignedURLGenerator; -use Library\Tokens\Adapters\StubTokenGenerator; use Repositories\AccountPasswordResetRepository; use Tests\TestCase; @@ -69,7 +70,7 @@ public function test_creates_request() public function test_updates_existing_request() { - AccountPasswordReset::create([ + PasswordReset::create([ 'email' => $this->account->email, 'token' => 'old_token', 'created_at' => Carbon::create(year: 2021, month: 3, day: 2, hour: 10, minute: 9, second: 8), diff --git a/tests/Unit/Domain/SignUp/UseCases/ActivateUnverifiedAccountTest.php b/tests/Unit/Domain/Registration/UseCases/ActivateUnverifiedAccountTest.php similarity index 87% rename from tests/Unit/Domain/SignUp/UseCases/ActivateUnverifiedAccountTest.php rename to tests/Unit/Domain/Registration/UseCases/ActivateUnverifiedAccountTest.php index 4a36c6a6a..98aa909ce 100644 --- a/tests/Unit/Domain/SignUp/UseCases/ActivateUnverifiedAccountTest.php +++ b/tests/Unit/Domain/Registration/UseCases/ActivateUnverifiedAccountTest.php @@ -2,10 +2,10 @@ namespace Tests\Unit\Domain\SignUp\UseCases; -use App\Exceptions\Http\BadRequestException; -use Domain\SignUp\Exceptions\AccountAlreadyActivatedException; -use Domain\SignUp\UseCases\ActivateUnverifiedAccount; -use Entities\Models\Eloquent\Account; +use App\Core\Data\Exceptions\BadRequestException; +use App\Domains\Registration\Exceptions\AccountAlreadyActivatedException; +use App\Domains\Registration\UseCases\ActivateUnverifiedAccount; +use App\Models\Account; use Repositories\AccountRepository; use Tests\TestCase; @@ -73,5 +73,8 @@ public function test_activates_account() ->with($account); $this->useCase->execute(email: $account->email); + + // Skip risky warning + $this->assertTrue(true); } } diff --git a/tests/Unit/Domain/SignUp/UseCases/CreateUnactivatedAccountTest.php b/tests/Unit/Domain/Registration/UseCases/CreateUnactivatedAccountTest.php similarity index 82% rename from tests/Unit/Domain/SignUp/UseCases/CreateUnactivatedAccountTest.php rename to tests/Unit/Domain/Registration/UseCases/CreateUnactivatedAccountTest.php index 7456752ac..ce1fd94c2 100644 --- a/tests/Unit/Domain/SignUp/UseCases/CreateUnactivatedAccountTest.php +++ b/tests/Unit/Domain/Registration/UseCases/CreateUnactivatedAccountTest.php @@ -2,14 +2,14 @@ namespace Tests\Unit\Domain\SignUp\UseCases; -use Domain\SignUp\UseCases\CreateUnactivatedAccount; -use Entities\Models\Eloquent\Account; -use Entities\Notifications\AccountActivationNotification; +use App\Core\Domains\Groups\GroupsManager; +use App\Core\Support\Laravel\SignedURL\Adapters\StubSignedURLGenerator; +use App\Core\Support\Laravel\SignedURL\SignedURLGenerator; +use App\Domains\Registration\Notifications\AccountActivationNotification; +use App\Domains\Registration\UseCases\CreateUnactivatedAccount; +use App\Models\Account; use Illuminate\Support\Facades\Notification; -use Library\SignedURL\Adapters\StubSignedURLGenerator; -use Library\SignedURL\SignedURLGenerator; use Repositories\AccountRepository; -use Shared\Groups\GroupsManager; use Tests\TestCase; class CreateUnactivatedAccountTest extends TestCase @@ -52,6 +52,9 @@ public function test_creates_unactivated_account() ->shouldReceive('addToDefaultGroup'); $this->useCase->execute($email, $username, $password, $ip); + + // Skip risky warning + $this->assertTrue(true); } public function test_sends_notification() diff --git a/tests/Unit/Domain/SignUp/UseCases/ResendActivationEmailTest.php b/tests/Unit/Domain/Registration/UseCases/ResendActivationEmailTest.php similarity index 81% rename from tests/Unit/Domain/SignUp/UseCases/ResendActivationEmailTest.php rename to tests/Unit/Domain/Registration/UseCases/ResendActivationEmailTest.php index e6ec9cda9..df94b47d9 100644 --- a/tests/Unit/Domain/SignUp/UseCases/ResendActivationEmailTest.php +++ b/tests/Unit/Domain/Registration/UseCases/ResendActivationEmailTest.php @@ -2,13 +2,13 @@ namespace Tests\Unit\Domain\SignUp\UseCases; -use Domain\SignUp\Exceptions\AccountAlreadyActivatedException; -use Domain\SignUp\UseCases\ResendActivationEmail; -use Entities\Models\Eloquent\Account; -use Entities\Notifications\AccountActivationNotification; +use App\Core\Support\Laravel\SignedURL\Adapters\StubSignedURLGenerator; +use App\Core\Support\Laravel\SignedURL\SignedURLGenerator; +use App\Domains\Registration\Exceptions\AccountAlreadyActivatedException; +use App\Domains\Registration\Notifications\AccountActivationNotification; +use App\Domains\Registration\UseCases\ResendActivationEmail; +use App\Models\Account; use Illuminate\Support\Facades\Notification; -use Library\SignedURL\Adapters\StubSignedURLGenerator; -use Library\SignedURL\SignedURLGenerator; use Repositories\AccountRepository; use Tests\TestCase; diff --git a/tests/Unit/Domain/ServerStatus/UseCases/QueryServerStatusTest.php b/tests/Unit/Domain/ServerStatus/UseCases/QueryServerStatusTest.php index 3864d255b..e255d98a2 100644 --- a/tests/Unit/Domain/ServerStatus/UseCases/QueryServerStatusTest.php +++ b/tests/Unit/Domain/ServerStatus/UseCases/QueryServerStatusTest.php @@ -2,15 +2,14 @@ namespace Tests\Unit\Domain\ServerStatus\UseCases; -use Domain\ServerStatus\Adapters\ServerQueryAdapter; -use Domain\ServerStatus\Adapters\ServerQueryAdapterFactory; -use Domain\ServerStatus\Entities\ServerQueryResult; -use Domain\ServerStatus\UseCases\QueryServerStatus; -use Entities\Models\Eloquent\Server; +use App\Domains\ServerStatus\Adapters\ServerQueryAdapter; +use App\Domains\ServerStatus\Adapters\ServerQueryAdapterFactory; +use App\Domains\ServerStatus\Data\ServerQueryResult; +use App\Domains\ServerStatus\UseCases\QueryServerStatus; +use App\Models\Server; use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Queue; -use Repositories\ServerRepository; use Tests\TestCase; class QueryServerStatusTest extends TestCase @@ -42,7 +41,6 @@ public function test_persists_online_server_status() $expectedResult = ServerQueryResult::online( numOfPlayers: 1, numOfSlots: 5, - onlinePlayerNames: ['name'], ); $this->serverQueryAdapter @@ -51,7 +49,6 @@ public function test_persists_online_server_status() $service = new QueryServerStatus( queryAdapterFactory: $this->serverQueryAdapterFactory, - serverRepository: new ServerRepository(), ); $result = $service->query(server: $server); @@ -76,7 +73,6 @@ public function test_persists_offline_server_status() $service = new QueryServerStatus( queryAdapterFactory: $this->serverQueryAdapterFactory, - serverRepository: new ServerRepository(), ); $result = $service->query(server: $server); diff --git a/tests/Unit/Domain/Warnings/UseCases/AcknowledgeWarningTest.php b/tests/Unit/Domain/Warnings/UseCases/AcknowledgeWarningTest.php index cd9c5e9d9..0a47c1d00 100644 --- a/tests/Unit/Domain/Warnings/UseCases/AcknowledgeWarningTest.php +++ b/tests/Unit/Domain/Warnings/UseCases/AcknowledgeWarningTest.php @@ -2,10 +2,10 @@ namespace Tests\Unit\Domain\Warnings\UseCases; -use Domain\Warnings\UseCases\AcknowledgeWarning; -use Entities\Models\Eloquent\Account; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\Eloquent\PlayerWarning; +use App\Domains\Warnings\UseCases\AcknowledgeWarning; +use App\Models\Account; +use App\Models\MinecraftPlayer; +use App\Models\PlayerWarning; use Repositories\PlayerWarnings\PlayerWarningMockRepository; use Repositories\PlayerWarnings\PlayerWarningRepository; use Symfony\Component\HttpKernel\Exception\HttpException; diff --git a/tests/Unit/Domain/Warnings/UseCases/CreateWarningTest.php b/tests/Unit/Domain/Warnings/UseCases/CreateWarningTest.php index 374221772..d1b392b58 100644 --- a/tests/Unit/Domain/Warnings/UseCases/CreateWarningTest.php +++ b/tests/Unit/Domain/Warnings/UseCases/CreateWarningTest.php @@ -2,14 +2,14 @@ namespace Tests\Unit\Domain\Warnings\UseCases; -use Domain\Warnings\UseCases\CreateWarning; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\Eloquent\PlayerWarning; +use App\Core\Domains\PlayerLookup\Data\PlayerIdentifier; +use App\Core\Domains\PlayerLookup\Service\PlayerLookup; +use App\Core\Domains\PlayerLookup\Service\PlayerLookupMock; +use App\Domains\Warnings\UseCases\CreateWarning; +use App\Models\MinecraftPlayer; +use App\Models\PlayerWarning; use Repositories\PlayerWarnings\PlayerWarningMockRepository; use Repositories\PlayerWarnings\PlayerWarningRepository; -use Shared\PlayerLookup\Entities\PlayerIdentifier; -use Shared\PlayerLookup\Service\PlayerLookup; -use Shared\PlayerLookup\Service\PlayerLookupMock; use Tests\TestCase; class CreateWarningTest extends TestCase diff --git a/tests/Unit/Domain/Warnings/UseCases/GetWarningsTest.php b/tests/Unit/Domain/Warnings/UseCases/GetWarningsTest.php index c4ab6d60a..5784d24b4 100644 --- a/tests/Unit/Domain/Warnings/UseCases/GetWarningsTest.php +++ b/tests/Unit/Domain/Warnings/UseCases/GetWarningsTest.php @@ -2,14 +2,14 @@ namespace Tests\Unit\Domain\Warnings\UseCases; -use Domain\Warnings\UseCases\GetWarnings; -use Entities\Models\Eloquent\MinecraftPlayer; -use Entities\Models\Eloquent\PlayerWarning; +use App\Core\Domains\PlayerLookup\Data\PlayerIdentifier; +use App\Core\Domains\PlayerLookup\Service\PlayerLookup; +use App\Core\Domains\PlayerLookup\Service\PlayerLookupMock; +use App\Domains\Warnings\UseCases\GetWarnings; +use App\Models\MinecraftPlayer; +use App\Models\PlayerWarning; use Repositories\PlayerWarnings\PlayerWarningMockRepository; use Repositories\PlayerWarnings\PlayerWarningRepository; -use Shared\PlayerLookup\Entities\PlayerIdentifier; -use Shared\PlayerLookup\Service\PlayerLookup; -use Shared\PlayerLookup\Service\PlayerLookupMock; use Tests\TestCase; class GetWarningsTest extends TestCase diff --git a/tests/Unit/Library/Random/Adapters/RandomStringConcreteTest.php b/tests/Unit/Library/Random/Adapters/RandomStringConcreteTest.php deleted file mode 100644 index 085e1352f..000000000 --- a/tests/Unit/Library/Random/Adapters/RandomStringConcreteTest.php +++ /dev/null @@ -1,21 +0,0 @@ -generate(length: $count); - - $this->assertEquals( - expected: $count, - actual: strlen($output), - ); - } -} diff --git a/tests/Unit/Library/RateLimit/Storage/FileTokenStorage_Test.php b/tests/Unit/Library/RateLimit/Storage/FileTokenStorage_Test.php deleted file mode 100644 index 9852db82a..000000000 --- a/tests/Unit/Library/RateLimit/Storage/FileTokenStorage_Test.php +++ /dev/null @@ -1,56 +0,0 @@ -path = storage_path('test_file.ratelimit'); - } - - public function tearDown(): void - { - parent::tearDown(); - - if (file_exists($this->path)) { - unlink($this->path); - } - } - - public function testSerializeCreatesFile() - { - // given... - $state = new TokenState(10, time()); - $storage = new FileTokenStorage($this->path, 10); - - // when... - $storage->serialize($state); - - // expect... - $this->assertFileExists($this->path); - } - - public function testCanDeserialize() - { - // given... - $state = new TokenState(15, time()); - $storage = new FileTokenStorage($this->path, 15); - - // when... - $storage->serialize($state); - $deserialized = $storage->deserialize(); - - // expect... - $this->assertEquals($state->tokensAvailable, $deserialized->tokensAvailable); - $this->assertEquals($state->lastConsumeTime, $deserialized->lastConsumeTime); - } -} diff --git a/tests/Unit/Library/RateLimit/Storage/MemoryTokenStorage_Test.php b/tests/Unit/Library/RateLimit/Storage/MemoryTokenStorage_Test.php deleted file mode 100644 index b88554ead..000000000 --- a/tests/Unit/Library/RateLimit/Storage/MemoryTokenStorage_Test.php +++ /dev/null @@ -1,25 +0,0 @@ -serialize($state); - $deserialized = $storage->deserialize(); - - // expect... - $this->assertEquals($state->tokensAvailable, $deserialized->tokensAvailable); - $this->assertEquals($state->lastConsumeTime, $deserialized->lastConsumeTime); - } -} diff --git a/tests/Unit/Library/RateLimit/Storage/SessionTokenStorage_Test.php b/tests/Unit/Library/RateLimit/Storage/SessionTokenStorage_Test.php deleted file mode 100644 index 9e421522d..000000000 --- a/tests/Unit/Library/RateLimit/Storage/SessionTokenStorage_Test.php +++ /dev/null @@ -1,40 +0,0 @@ -serialize($state); - $deserialized = $storage->deserialize(); - - // expect... - $this->assertEquals($state->tokensAvailable, $deserialized->tokensAvailable); - $this->assertEquals($state->lastConsumeTime, $deserialized->lastConsumeTime); - } - - public function testStoresInSession() - { - // given... - $state = new TokenState(5, time()); - $storage = new SessionTokenStorage('test_key', 5); - - // when... - $storage->serialize($state); - $result = Session::get('test_key'); - - // expect... - $this->assertNotNull($result); - } -} diff --git a/tests/Unit/Library/RateLimit/TokenBucket_Test.php b/tests/Unit/Library/RateLimit/TokenBucket_Test.php deleted file mode 100644 index 27be65681..000000000 --- a/tests/Unit/Library/RateLimit/TokenBucket_Test.php +++ /dev/null @@ -1,129 +0,0 @@ -every(1, TokenRate::MINUTES); - $storage = new MemoryTokenStorage('test', 3); - - // when... - $bucket = new TokenBucket(6, $rate, $storage); - - // expect... - $this->assertEquals(3, (int) $bucket->getAvailableTokens()); - $this->assertEquals(6, $bucket->getCapacity()); - } - - public function testCanConsumeSingle() - { - // given... - $rate = TokenRate::refill(1)->every(1, TokenRate::MINUTES); - $storage = new MemoryTokenStorage('test', 3); - $bucket = new TokenBucket(3, $rate, $storage); - - // when... - $consumed = $bucket->consume(1); - - // expect... - $this->assertEquals(2, (int) $bucket->getAvailableTokens()); - $this->assertTrue($consumed); - } - - public function testCanConsumeMultiple() - { - // given... - $rate = TokenRate::refill(1)->every(1, TokenRate::MINUTES); - $storage = new MemoryTokenStorage('test', 3); - $bucket = new TokenBucket(3, $rate, $storage); - - // when... - $consumed = $bucket->consume(2); - - // expect... - $this->assertEquals(1, (int) $bucket->getAvailableTokens()); - $this->assertTrue($consumed); - } - - public function testNoTokens_throwsException() - { - // given... - $rate = TokenRate::refill(1)->every(1, TokenRate::MINUTES); - $storage = new MemoryTokenStorage('test', 0); - $bucket = new TokenBucket(1, $rate, $storage); - - // when... - $consumed = $bucket->consume(1); - - // expect... - $this->assertFalse($consumed); - } - - public function testNoTokens_doesNotConsume() - { - // given... - $rate = TokenRate::refill(1)->every(1, TokenRate::MINUTES); - $storage = new MemoryTokenStorage('test', 0); - $bucket = new TokenBucket(1, $rate, $storage); - - // when... - $bucket->consume(1); - - // expect... - $this->assertEquals(0, (int) $bucket->getAvailableTokens()); - } - - public function testRefills_bySeconds() - { - // given... - $startTime = microtime(true); - - $rate = TokenRate::refill(1)->every(30, TokenRate::SECONDS); - $storage = new MemoryTokenStorage('test', 3); - $bucket = new TokenBucket(3, $rate, $storage); - - // when... - $this->assertEquals(3, (int) $bucket->getAvailableTokens()); - $bucket->consume(1); - $this->assertEquals(2, (int) $bucket->getAvailableTokens()); - - // rewind the consumption time by 1 minute - $tokenState = $storage->deserialize(); - $tokenState->lastConsumeTime = $startTime - (1000 * 30); - $storage->serialize($tokenState); - - // expect... - $this->assertEquals(3, (int) $bucket->getAvailableTokens()); - } - - public function testRefills_byMinutes() - { - // given... - $startTime = microtime(true); - - $rate = TokenRate::refill(1)->every(2, TokenRate::MINUTES); - $storage = new MemoryTokenStorage('test', 3); - $bucket = new TokenBucket(3, $rate, $storage); - - // when... - $this->assertEquals(3, (int) $bucket->getAvailableTokens()); - $bucket->consume(1); - $this->assertEquals(2, (int) $bucket->getAvailableTokens()); - - // rewind the consumption time by 1 minute - $tokenState = $storage->deserialize(); - $tokenState->lastConsumeTime = $startTime - (1000 * 60 * 2); - $storage->serialize($tokenState); - - // expect... - $this->assertEquals(3, (int) $bucket->getAvailableTokens()); - } -}