From f30240267f279c689fe0b2806ce3be993a54ec20 Mon Sep 17 00:00:00 2001 From: Illia Filippov Date: Sat, 20 Dec 2025 23:31:56 +0100 Subject: [PATCH] fix(init): improve Playwright installation error handling Updated the Playwright browser installation process to capture and log the exit code, providing feedback on success or failure. If the installation fails, a warning message is displayed, enhancing user awareness during setup. --- init.mjs | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/init.mjs b/init.mjs index b4a54e13..56bb8a56 100644 --- a/init.mjs +++ b/init.mjs @@ -291,17 +291,26 @@ async function main() { // Install Playwright browsers from apps/ui where @playwright/test is installed log('Checking Playwright browsers...', 'yellow'); try { - await new Promise((resolve) => { + const exitCode = await new Promise((resolve) => { const playwright = crossSpawn( 'npx', ['playwright', 'install', 'chromium'], { stdio: 'inherit', cwd: path.join(__dirname, 'apps', 'ui') } ); - playwright.on('close', () => resolve()); - playwright.on('error', () => resolve()); + playwright.on('close', (code) => resolve(code)); + playwright.on('error', () => resolve(1)); }); + + if (exitCode === 0) { + log('Playwright browsers ready', 'green'); + } else { + log( + 'Playwright installation failed (browser automation may not work)', + 'yellow' + ); + } } catch { - // Ignore errors - Playwright install is optional + log('Playwright installation skipped', 'yellow'); } // Kill any existing processes on required ports