From ba9429c90c993f6d840f7c7667bce25dd02c6d4f Mon Sep 17 00:00:00 2001 From: Giorgio Pogliani Date: Mon, 23 Mar 2026 17:46:32 +0100 Subject: [PATCH 1/2] Handle empty JavaScript file case in LaravelHttpServer Check for empty file before reading content. --- src/Drivers/LaravelHttpServer.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/Drivers/LaravelHttpServer.php b/src/Drivers/LaravelHttpServer.php index 97ae5fdb..7914498a 100644 --- a/src/Drivers/LaravelHttpServer.php +++ b/src/Drivers/LaravelHttpServer.php @@ -331,9 +331,14 @@ private function asset(string $filepath): Response if (str_ends_with($filepath, '.js')) { $temporaryStream = fopen('php://temp', 'r+'); assert($temporaryStream !== false, 'Failed to open temporary stream.'); - + + $size = filesize($filepath); + if ($size === 0) { + return new Response(200, ['Content-Type' => $contentType], ''); + } + // @phpstan-ignore-next-line - $temporaryContent = fread($file, (int) filesize($filepath)); + $temporaryContent = fread($file, (int) $size); assert($temporaryContent !== false, 'Failed to open temporary stream.'); From 4229e1daa21f420425b63ad8b169906a394d34ad Mon Sep 17 00:00:00 2001 From: Giorgio Pogliani Date: Mon, 23 Mar 2026 17:52:42 +0100 Subject: [PATCH 2/2] Cast filesize result to int for consistency --- src/Drivers/LaravelHttpServer.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Drivers/LaravelHttpServer.php b/src/Drivers/LaravelHttpServer.php index 7914498a..a44b1449 100644 --- a/src/Drivers/LaravelHttpServer.php +++ b/src/Drivers/LaravelHttpServer.php @@ -332,13 +332,13 @@ private function asset(string $filepath): Response $temporaryStream = fopen('php://temp', 'r+'); assert($temporaryStream !== false, 'Failed to open temporary stream.'); - $size = filesize($filepath); + $size = (int) filesize($filepath); if ($size === 0) { return new Response(200, ['Content-Type' => $contentType], ''); } // @phpstan-ignore-next-line - $temporaryContent = fread($file, (int) $size); + $temporaryContent = fread($file, $size); assert($temporaryContent !== false, 'Failed to open temporary stream.');