From: Vincent Vanwaelscappel Date: Thu, 21 Nov 2024 14:23:14 +0000 (+0100) Subject: wip #7199 @0.5 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=5e6ba999aedf9eff1d05a2b18a0c107d3a1765d6;p=fluidbook-toolbox.git wip #7199 @0.5 --- diff --git a/.docker/images/php-alpha/Dockerfile b/.docker/images/php-alpha/Dockerfile index e2a22fad2..c16d7e286 100644 --- a/.docker/images/php-alpha/Dockerfile +++ b/.docker/images/php-alpha/Dockerfile @@ -69,7 +69,7 @@ RUN apt -y --no-install-recommends install sshfs python3 python3-pip RUN apt -y --no-install-recommends install openssh-server rsyslog RUN apt -y --no-install-recommends install wine libwine wine64 RUN apt -y --no-install-recommends install pdfposter rename -RUN apt -y --no-install-recommends install jdupes +RUN apt -y --no-install-recommends install jdupes symlinks RUN apt -y --no-install-recommends install dnsutils RUN apt -y --no-install-recommends install locales @@ -81,6 +81,7 @@ ENV LC_ALL fr_FR.UTF-8 RUN cd /root;wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2;tar xvjf phantomjs-2.1.1-linux-x86_64.tar.bz2;mv phantomjs-2.1.1-linux-x86_64 /usr/local/share;ln -sf /usr/local/share/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/local/bin RUN cd /root;wget https://github.com/RazrFalcon/svgcleaner/releases/download/v0.9.5/svgcleaner_linux_x86_64_0.9.5.tar.gz; tar xvzf svgcleaner_linux_x86_64_0.9.5.tar.gz;mv svgcleaner /usr/local/bin +RUN cd /root;wget https://github.com/astraw/svg_stack/archive/refs/tags/0.1.0.tar.gz; tar xvzf 0.1.0.tar.gz;mv svg_stack-0.1.0 /usr/local/svg_stack RUN curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp && chmod 755 /usr/local/bin/yt-dlp @@ -88,7 +89,7 @@ RUN apt clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/* ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true RUN npm install --unsafe-perm --global uglify-js less sass puppeteer favicons crx3 oslllo-svg-fixer terser npm-check-updates nw-builder@^4 ttf2woff2 -RUN pip3 install font-line +RUN pip3 install font-line lxml six RUN groupadd sudo;useradd -d /application -g 33 -G sudo -s /bin/bash -u 1001 toolbox diff --git a/.docker/images/php-dev/Dockerfile b/.docker/images/php-dev/Dockerfile index e2a22fad2..c16d7e286 100644 --- a/.docker/images/php-dev/Dockerfile +++ b/.docker/images/php-dev/Dockerfile @@ -69,7 +69,7 @@ RUN apt -y --no-install-recommends install sshfs python3 python3-pip RUN apt -y --no-install-recommends install openssh-server rsyslog RUN apt -y --no-install-recommends install wine libwine wine64 RUN apt -y --no-install-recommends install pdfposter rename -RUN apt -y --no-install-recommends install jdupes +RUN apt -y --no-install-recommends install jdupes symlinks RUN apt -y --no-install-recommends install dnsutils RUN apt -y --no-install-recommends install locales @@ -81,6 +81,7 @@ ENV LC_ALL fr_FR.UTF-8 RUN cd /root;wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2;tar xvjf phantomjs-2.1.1-linux-x86_64.tar.bz2;mv phantomjs-2.1.1-linux-x86_64 /usr/local/share;ln -sf /usr/local/share/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/local/bin RUN cd /root;wget https://github.com/RazrFalcon/svgcleaner/releases/download/v0.9.5/svgcleaner_linux_x86_64_0.9.5.tar.gz; tar xvzf svgcleaner_linux_x86_64_0.9.5.tar.gz;mv svgcleaner /usr/local/bin +RUN cd /root;wget https://github.com/astraw/svg_stack/archive/refs/tags/0.1.0.tar.gz; tar xvzf 0.1.0.tar.gz;mv svg_stack-0.1.0 /usr/local/svg_stack RUN curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp && chmod 755 /usr/local/bin/yt-dlp @@ -88,7 +89,7 @@ RUN apt clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/* ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true RUN npm install --unsafe-perm --global uglify-js less sass puppeteer favicons crx3 oslllo-svg-fixer terser npm-check-updates nw-builder@^4 ttf2woff2 -RUN pip3 install font-line +RUN pip3 install font-line lxml six RUN groupadd sudo;useradd -d /application -g 33 -G sudo -s /bin/bash -u 1001 toolbox diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index 0dad1f2a4..b7ffc5e8d 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -35,6 +35,7 @@ class Kernel extends \Cubist\Backpack\Console\Kernel $schedule->command('job:dispatchNow Maintenance\\\\CleanDownloads')->dailyAt('4:00'); $schedule->command('job:dispatchNow Maintenance\\\\CleanFTP')->dailyAt('4:30'); $schedule->command('job:dispatchNow Maintenance\\\\RemoveDuplicates')->monthly(); + $schedule->command('job:dispatchNow Maintenance\\\\ListWorkingSymlinks')->dailyAt('0:30'); // Email config $schedule->command('job:dispatchNow Maintenance\\\\EmailServerRefresh')->twiceDailyAt(); // WS to Toolbox migration diff --git a/app/Jobs/Maintenance/ListWorkingSymlinks.php b/app/Jobs/Maintenance/ListWorkingSymlinks.php index 9308e98f8..c676f45be 100644 --- a/app/Jobs/Maintenance/ListWorkingSymlinks.php +++ b/app/Jobs/Maintenance/ListWorkingSymlinks.php @@ -22,7 +22,7 @@ class ListWorkingSymlinks extends Base * @return void */ - protected static function parseFluidbookDir($fluidbook) + public static function parseFluidbookDir($fluidbook) { if (!($fluidbook instanceof FluidbookPublication)) { $fluidbook = FluidbookPublication::withoutGlobalScopes()->find($fluidbook); @@ -31,15 +31,15 @@ class ListWorkingSymlinks extends Base /* @var $fluidbook FluidbookPublication */ $dir = $fluidbook->getAssetDir(); if (!file_exists($dir)) { - echo 'skip ' . $dir . " (not exists)\n"; + //echo 'skip ' . $dir . " (not exists)\n"; return; } - echo 'check ' . $dir . "\n"; + //echo 'check ' . $dir . "\n"; $output = `symlinks -rv $dir`; $changed = false; $outlinks = Text::explodeNewLines($output); if (!count($outlinks)) { - echo 'skip ' . $dir . " (no symlinks)\n"; + // echo 'skip ' . $dir . " (no symlinks)\n"; return; } $links = static::getWorkingSymlinks(); @@ -57,7 +57,7 @@ class ListWorkingSymlinks extends Base } } if (!$changed) { - echo 'skip ' . $dir . " (nothing changed)\n"; + //echo 'skip ' . $dir . " (nothing changed)\n"; return; } static::saveWorkingSymlinks($links); @@ -70,9 +70,9 @@ class ListWorkingSymlinks extends Base public static function getWorkingSymlinks() { - if(!file_exists(static::_getCacheFile())) { - return []; - } + if (!file_exists(static::_getCacheFile())) { + return []; + } return json_decode(file_get_contents(static::_getCacheFile()), true) ?? []; } diff --git a/app/Models/FluidbookPublication.php b/app/Models/FluidbookPublication.php index 90ab9efbf..226489d18 100644 --- a/app/Models/FluidbookPublication.php +++ b/app/Models/FluidbookPublication.php @@ -40,6 +40,7 @@ use App\Http\Controllers\Admin\Operations\FluidbookPublication\SettingsExportOpe use App\Jobs\FluidbookImagesPreprocess; use App\Jobs\FluidbookSocialImage; use App\Jobs\GenerateDeliveryThumbnailsPreview; +use App\Jobs\Maintenance\ListWorkingSymlinks; use App\Models\Base\ToolboxDownloadable; use App\Models\Base\ToolboxStatusModel; use App\Models\Traits\CheckHash; @@ -946,6 +947,9 @@ class FluidbookPublication extends ToolboxStatusModel $cmd = "rsync -a -v $from $to"; } `$cmd`; + if ($mode === 'link_overwrite' || $mode === 'link') { + ListWorkingSymlinks::parseFluidbookDir($toId); + } } public function incrementPreviewVisit() @@ -994,6 +998,26 @@ class FluidbookPublication extends ToolboxStatusModel } } + + protected function beforeReplaceFreeFile($filename) + { + parent::beforeReplaceFreeFile($filename); + + $links = ListWorkingSymlinks::getWorkingSymlinks(); + if (isset($links[$filename])) { + $symlinks = array_keys($links[$filename]); + foreach ($symlinks as $symlink) { + if (is_link($symlink)) { + unlink($symlink); + copy($filename, $symlink); + } + } + } + unset($links[$filename]); + ListWorkingSymlinks::saveWorkingSymlinks($links); + + } + public function getAssetDirId() { if ($this->composition_fluidbook && $this->composition_fluidbook_links && $this->composition_fluidbook_id && !$this->assetsDir) { diff --git a/composer.lock b/composer.lock index 2be6be805..cf096b6bd 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "fc99d0bf9a3d9708f002d68d4b914166", + "content-hash": "fc185c9fdea1aa5ea9a10ee6a279fe96", "packages": [ { "name": "archtechx/enums", @@ -108,16 +108,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.325.7", + "version": "3.328.3", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "55852104253172e66c3358bf4c35281bbd8622b2" + "reference": "bceb5a6443ecd51e988ef28af70210f7168ad0e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/55852104253172e66c3358bf4c35281bbd8622b2", - "reference": "55852104253172e66c3358bf4c35281bbd8622b2", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/bceb5a6443ecd51e988ef28af70210f7168ad0e5", + "reference": "bceb5a6443ecd51e988ef28af70210f7168ad0e5", "shasum": "" }, "require": { @@ -147,7 +147,7 @@ "paragonie/random_compat": ">= 2", "phpunit/phpunit": "^5.6.3 || ^8.5 || ^9.5", "psr/cache": "^1.0", - "psr/simple-cache": "^1.0", + "psr/simple-cache": "^1.0 || ^2.0 || ^3.0", "sebastian/comparator": "^1.2.3 || ^4.0", "yoast/phpunit-polyfills": "^1.0" }, @@ -200,9 +200,9 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.325.7" + "source": "https://github.com/aws/aws-sdk-php/tree/3.328.3" }, - "time": "2024-11-12T19:27:31+00:00" + "time": "2024-11-20T19:04:23+00:00" }, { "name": "backpack/backupmanager", @@ -700,16 +700,16 @@ }, { "name": "barryvdh/laravel-debugbar", - "version": "v3.14.6", + "version": "v3.14.7", "source": { "type": "git", "url": "https://github.com/barryvdh/laravel-debugbar.git", - "reference": "14e4517bd49130d6119228107eb21ae47ae120ab" + "reference": "f484b8c9124de0b163da39958331098ffcd4a65e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/14e4517bd49130d6119228107eb21ae47ae120ab", - "reference": "14e4517bd49130d6119228107eb21ae47ae120ab", + "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/f484b8c9124de0b163da39958331098ffcd4a65e", + "reference": "f484b8c9124de0b163da39958331098ffcd4a65e", "shasum": "" }, "require": { @@ -768,7 +768,7 @@ ], "support": { "issues": "https://github.com/barryvdh/laravel-debugbar/issues", - "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.14.6" + "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.14.7" }, "funding": [ { @@ -780,7 +780,7 @@ "type": "github" } ], - "time": "2024-10-18T13:15:12+00:00" + "time": "2024-11-14T09:12:35+00:00" }, { "name": "brick/math", @@ -1181,12 +1181,12 @@ "source": { "type": "git", "url": "https://github.com/chillerlan/php-qrcode.git", - "reference": "052c7c66fbb98e3969b1420cb79e77a83e8eb77d" + "reference": "10ed887663330bd9c73a26325f4f3b71095d3115" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/chillerlan/php-qrcode/zipball/052c7c66fbb98e3969b1420cb79e77a83e8eb77d", - "reference": "052c7c66fbb98e3969b1420cb79e77a83e8eb77d", + "url": "https://api.github.com/repos/chillerlan/php-qrcode/zipball/10ed887663330bd9c73a26325f4f3b71095d3115", + "reference": "10ed887663330bd9c73a26325f4f3b71095d3115", "shasum": "" }, "require": { @@ -1200,8 +1200,8 @@ "intervention/image": "^3.8", "phpbench/phpbench": "^1.3", "phpmd/phpmd": "^2.15", - "phpstan/phpstan": "^1.12", - "phpstan/phpstan-deprecation-rules": "^1.2", + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-deprecation-rules": "^2.0", "phpunit/phpunit": "^11.3", "setasign/fpdf": "^1.8.2", "slevomat/coding-standard": "^8.15", @@ -1270,7 +1270,7 @@ "type": "Ko-Fi" } ], - "time": "2024-11-07T09:23:14+00:00" + "time": "2024-11-17T19:37:19+00:00" }, { "name": "chillerlan/php-settings-container", @@ -1881,20 +1881,20 @@ "source": { "type": "git", "url": "git://git.cubedesigners.com/cubist_cms-back.git", - "reference": "229a180601fbbbbbd6057853ca25bf8453282c3a" + "reference": "abe35cea50a76f8e9033cbda7048457e262b8f52" }, "dist": { "type": "tar", - "url": "https://composer.cubedesigners.com/dist/cubist/cms-back/cubist-cms-back-dev-master-709b38.tar", - "reference": "229a180601fbbbbbd6057853ca25bf8453282c3a", - "shasum": "400bf98022d03e771c0a5ad403a03b6df9cab994" + "url": "https://composer.cubedesigners.com/dist/cubist/cms-back/cubist-cms-back-dev-master-082987.tar", + "reference": "abe35cea50a76f8e9033cbda7048457e262b8f52", + "shasum": "fbdb8487f0d957ac7a506b716a966960bca08498" }, "require": { "backpack/backupmanager": "^v3.0.9", "backpack/crud": "^5.6.1", "backpack/logmanager": "^v4.0.10", "backpack/permissionmanager": "^6.0.16", - "backpack/pro": "^1.6.6", + "backpack/pro": "1.6.6", "backpack/revise-operation": "^1.0.12", "barryvdh/laravel-debugbar": "^v3.10.0", "cache/redis-adapter": "^1.2.0", @@ -1966,7 +1966,7 @@ } ], "description": "Cubist Backpack extension", - "time": "2024-11-05T16:57:18+00:00" + "time": "2024-11-21T14:09:53+00:00" }, { "name": "cubist/cms-front", @@ -2307,13 +2307,13 @@ "source": { "type": "git", "url": "git://git.cubedesigners.com/cubist_pdf.git", - "reference": "eae0d6a48cd097ca52866e815c2fdc9dd9c82885" + "reference": "66d7fbc1d8b92c09f7b946c31643ff317d1c5a72" }, "dist": { "type": "tar", - "url": "https://composer.cubedesigners.com/dist/cubist/pdf/cubist-pdf-dev-master-200f3f.tar", - "reference": "eae0d6a48cd097ca52866e815c2fdc9dd9c82885", - "shasum": "fdb6ed2b9b11a7bdbf2f7425417f0234d994fbb6" + "url": "https://composer.cubedesigners.com/dist/cubist/pdf/cubist-pdf-dev-master-3fcb19.tar", + "reference": "66d7fbc1d8b92c09f7b946c31643ff317d1c5a72", + "shasum": "c0636422c6f06d14367ff65c1009b26ee22ceff5" }, "require": { "cubist/util": "dev-master", @@ -2349,7 +2349,7 @@ "cubist", "pdf" ], - "time": "2024-11-04T13:14:25+00:00" + "time": "2024-11-18T14:31:42+00:00" }, { "name": "cubist/scorm", @@ -2394,13 +2394,13 @@ "source": { "type": "git", "url": "git://git.cubedesigners.com/cubist_util.git", - "reference": "c5751aa1217fa19932af2abb14e8f77efe71cbf7" + "reference": "b41d80eef5f2940fa0d170ba2c7f1d42c5ad1d1d" }, "dist": { "type": "tar", - "url": "https://composer.cubedesigners.com/dist/cubist/util/cubist-util-dev-master-bda247.tar", - "reference": "c5751aa1217fa19932af2abb14e8f77efe71cbf7", - "shasum": "2e80e7c67047aa02193a424269164498894f5378" + "url": "https://composer.cubedesigners.com/dist/cubist/util/cubist-util-dev-master-a16dda.tar", + "reference": "b41d80eef5f2940fa0d170ba2c7f1d42c5ad1d1d", + "shasum": "4c0d05dccc5288a9b4935aa7f1f28f8b8c99c9ad" }, "require": { "cubist/net": "dev-master", @@ -2434,7 +2434,7 @@ } ], "description": "Utilities class", - "time": "2024-11-05T18:53:34+00:00" + "time": "2024-11-13T18:12:58+00:00" }, { "name": "cviebrock/eloquent-sluggable", @@ -4046,13 +4046,13 @@ "source": { "type": "git", "url": "git://git.cubedesigners.com/fluidbook_tools.git", - "reference": "49361737a3dd6334863ff0795b14612674440721" + "reference": "4a219b8bdcffc55e4db1c02f2a8d034d5da867ac" }, "dist": { "type": "tar", - "url": "https://composer.cubedesigners.com/dist/fluidbook/tools/fluidbook-tools-dev-master-89e453.tar", - "reference": "49361737a3dd6334863ff0795b14612674440721", - "shasum": "6960231bb0a7d59c76dcf8ec87326a94ec8bf804" + "url": "https://composer.cubedesigners.com/dist/fluidbook/tools/fluidbook-tools-dev-master-f3fede.tar", + "reference": "4a219b8bdcffc55e4db1c02f2a8d034d5da867ac", + "shasum": "193f68989ee620d4eed88fe816f6c1fb8fb47d6f" }, "require": { "barryvdh/laravel-debugbar": "*", @@ -4088,7 +4088,7 @@ } ], "description": "Fluidbook Tools", - "time": "2024-11-13T14:57:08+00:00" + "time": "2024-11-13T16:03:47+00:00" }, { "name": "fpdf/fpdf", @@ -5448,16 +5448,16 @@ }, { "name": "laravel/framework", - "version": "v10.48.23", + "version": "v10.48.24", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "625269ca4881d2b50eded2045cb930960a181d98" + "reference": "2add73f71b88fc45ee1d4f3421f22366247f6155" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/625269ca4881d2b50eded2045cb930960a181d98", - "reference": "625269ca4881d2b50eded2045cb930960a181d98", + "url": "https://api.github.com/repos/laravel/framework/zipball/2add73f71b88fc45ee1d4f3421f22366247f6155", + "reference": "2add73f71b88fc45ee1d4f3421f22366247f6155", "shasum": "" }, "require": { @@ -5651,7 +5651,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-11-12T15:39:10+00:00" + "time": "2024-11-20T15:57:07+00:00" }, { "name": "laravel/prompts", @@ -5713,16 +5713,16 @@ }, { "name": "laravel/serializable-closure", - "version": "v1.3.6", + "version": "v1.3.7", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "f865a58ea3a0107c336b7045104c75243fa59d96" + "reference": "4f48ade902b94323ca3be7646db16209ec76be3d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/f865a58ea3a0107c336b7045104c75243fa59d96", - "reference": "f865a58ea3a0107c336b7045104c75243fa59d96", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/4f48ade902b94323ca3be7646db16209ec76be3d", + "reference": "4f48ade902b94323ca3be7646db16209ec76be3d", "shasum": "" }, "require": { @@ -5770,7 +5770,7 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2024-11-11T17:06:04+00:00" + "time": "2024-11-14T18:34:49+00:00" }, { "name": "lavary/laravel-menu", @@ -7473,16 +7473,16 @@ }, { "name": "norkunas/youtube-dl-php", - "version": "v2.8.0", + "version": "v2.8.1", "source": { "type": "git", "url": "https://github.com/norkunas/youtube-dl-php.git", - "reference": "c734c2b9b63b26133fd9c480f8bdde1b5523367d" + "reference": "2382ef521bbf1a42f9d99e817060485eb4e26adf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/norkunas/youtube-dl-php/zipball/c734c2b9b63b26133fd9c480f8bdde1b5523367d", - "reference": "c734c2b9b63b26133fd9c480f8bdde1b5523367d", + "url": "https://api.github.com/repos/norkunas/youtube-dl-php/zipball/2382ef521bbf1a42f9d99e817060485eb4e26adf", + "reference": "2382ef521bbf1a42f9d99e817060485eb4e26adf", "shasum": "" }, "require": { @@ -7529,9 +7529,9 @@ ], "support": { "issues": "https://github.com/norkunas/youtube-dl-php/issues", - "source": "https://github.com/norkunas/youtube-dl-php/tree/v2.8.0" + "source": "https://github.com/norkunas/youtube-dl-php/tree/v2.8.1" }, - "time": "2024-09-23T04:25:06+00:00" + "time": "2024-11-20T10:16:01+00:00" }, { "name": "nothingworks/blade-svg", @@ -7617,32 +7617,32 @@ }, { "name": "nunomaduro/termwind", - "version": "v1.16.0", + "version": "v1.17.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/termwind.git", - "reference": "dcf1ec3dfa36137b7ce41d43866644a7ab8fc257" + "reference": "5369ef84d8142c1d87e4ec278711d4ece3cbf301" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/dcf1ec3dfa36137b7ce41d43866644a7ab8fc257", - "reference": "dcf1ec3dfa36137b7ce41d43866644a7ab8fc257", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/5369ef84d8142c1d87e4ec278711d4ece3cbf301", + "reference": "5369ef84d8142c1d87e4ec278711d4ece3cbf301", "shasum": "" }, "require": { "ext-mbstring": "*", "php": "^8.1", - "symfony/console": "^6.4.12" + "symfony/console": "^6.4.15" }, "require-dev": { - "illuminate/console": "^10.48.22", - "illuminate/support": "^10.48.22", - "laravel/pint": "^1.18.1", - "pestphp/pest": "^2", + "illuminate/console": "^10.48.24", + "illuminate/support": "^10.48.24", + "laravel/pint": "^1.18.2", + "pestphp/pest": "^2.36.0", "pestphp/pest-plugin-mock": "2.0.0", - "phpstan/phpstan": "^1.12.6", + "phpstan/phpstan": "^1.12.11", "phpstan/phpstan-strict-rules": "^1.6.1", - "symfony/var-dumper": "^6.4.11", + "symfony/var-dumper": "^6.4.15", "thecodingmachine/phpstan-strict-rules": "^1.0.0" }, "type": "library", @@ -7682,7 +7682,7 @@ ], "support": { "issues": "https://github.com/nunomaduro/termwind/issues", - "source": "https://github.com/nunomaduro/termwind/tree/v1.16.0" + "source": "https://github.com/nunomaduro/termwind/tree/v1.17.0" }, "funding": [ { @@ -7698,7 +7698,7 @@ "type": "github" } ], - "time": "2024-10-15T15:27:12+00:00" + "time": "2024-11-21T10:36:35+00:00" }, { "name": "nyholm/psr7", @@ -10012,16 +10012,16 @@ }, { "name": "spatie/db-dumper", - "version": "3.7.0", + "version": "3.7.1", "source": { "type": "git", "url": "https://github.com/spatie/db-dumper.git", - "reference": "22553ab8c34a9bb70645cb9bc2d9f236f3135705" + "reference": "55d4d6710e1ab18c1e7ce2b22b8ad4bea2a30016" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/db-dumper/zipball/22553ab8c34a9bb70645cb9bc2d9f236f3135705", - "reference": "22553ab8c34a9bb70645cb9bc2d9f236f3135705", + "url": "https://api.github.com/repos/spatie/db-dumper/zipball/55d4d6710e1ab18c1e7ce2b22b8ad4bea2a30016", + "reference": "55d4d6710e1ab18c1e7ce2b22b8ad4bea2a30016", "shasum": "" }, "require": { @@ -10059,7 +10059,7 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/db-dumper/tree/3.7.0" + "source": "https://github.com/spatie/db-dumper/tree/3.7.1" }, "funding": [ { @@ -10071,7 +10071,7 @@ "type": "github" } ], - "time": "2024-09-23T08:58:35+00:00" + "time": "2024-11-18T14:54:31+00:00" }, { "name": "spatie/image", @@ -10550,16 +10550,16 @@ }, { "name": "spatie/laravel-package-tools", - "version": "1.16.5", + "version": "1.16.6", "source": { "type": "git", "url": "https://github.com/spatie/laravel-package-tools.git", - "reference": "c7413972cf22ffdff97b68499c22baa04eddb6a2" + "reference": "1f26942dc1e5c49eacfced34fdbc29ed234bd7b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/c7413972cf22ffdff97b68499c22baa04eddb6a2", - "reference": "c7413972cf22ffdff97b68499c22baa04eddb6a2", + "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/1f26942dc1e5c49eacfced34fdbc29ed234bd7b3", + "reference": "1f26942dc1e5c49eacfced34fdbc29ed234bd7b3", "shasum": "" }, "require": { @@ -10598,7 +10598,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-package-tools/issues", - "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.5" + "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.6" }, "funding": [ { @@ -10606,7 +10606,7 @@ "type": "github" } ], - "time": "2024-08-27T18:56:10+00:00" + "time": "2024-11-18T15:02:02+00:00" }, { "name": "spatie/laravel-permission", @@ -14559,16 +14559,16 @@ }, { "name": "voku/portable-ascii", - "version": "2.0.1", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/voku/portable-ascii.git", - "reference": "b56450eed252f6801410d810c8e1727224ae0743" + "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", - "reference": "b56450eed252f6801410d810c8e1727224ae0743", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", + "reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d", "shasum": "" }, "require": { @@ -14593,7 +14593,7 @@ "authors": [ { "name": "Lars Moelleken", - "homepage": "http://www.moelleken.org/" + "homepage": "https://www.moelleken.org/" } ], "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", @@ -14605,7 +14605,7 @@ ], "support": { "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/2.0.1" + "source": "https://github.com/voku/portable-ascii/tree/2.0.3" }, "funding": [ { @@ -14629,7 +14629,7 @@ "type": "tidelift" } ], - "time": "2022-03-08T17:03:00+00:00" + "time": "2024-11-21T01:49:47+00:00" }, { "name": "voku/simple_html_dom", @@ -17721,16 +17721,16 @@ }, { "name": "spatie/backtrace", - "version": "1.6.2", + "version": "1.6.3", "source": { "type": "git", "url": "https://github.com/spatie/backtrace.git", - "reference": "1a9a145b044677ae3424693f7b06479fc8c137a9" + "reference": "7c18db2bc667ac84e5d7c18e33f16c38ff2d8838" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/backtrace/zipball/1a9a145b044677ae3424693f7b06479fc8c137a9", - "reference": "1a9a145b044677ae3424693f7b06479fc8c137a9", + "url": "https://api.github.com/repos/spatie/backtrace/zipball/7c18db2bc667ac84e5d7c18e33f16c38ff2d8838", + "reference": "7c18db2bc667ac84e5d7c18e33f16c38ff2d8838", "shasum": "" }, "require": { @@ -17768,7 +17768,7 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/backtrace/tree/1.6.2" + "source": "https://github.com/spatie/backtrace/tree/1.6.3" }, "funding": [ { @@ -17780,7 +17780,7 @@ "type": "other" } ], - "time": "2024-07-22T08:21:24+00:00" + "time": "2024-11-18T14:58:58+00:00" }, { "name": "spatie/error-solutions",