diff --git a/e2e/cases/css/tailwindcss-mjs/postcss.config.mjs b/e2e/cases/css/tailwindcss-mjs/postcss.config.mjs index a34a3d560d..e8572f81a1 100644 --- a/e2e/cases/css/tailwindcss-mjs/postcss.config.mjs +++ b/e2e/cases/css/tailwindcss-mjs/postcss.config.mjs @@ -1,5 +1,8 @@ export default { plugins: { - '@tailwindcss/postcss': {}, + '@tailwindcss/postcss': { + // Ensure tailwindcss only watch files in the current directory + base: import.meta.dirname, + }, }, }; diff --git a/e2e/cases/css/tailwindcss-vendor-prefix/postcss.config.cjs b/e2e/cases/css/tailwindcss-vendor-prefix/postcss.config.cjs index e5640725a9..4e3d2d744f 100644 --- a/e2e/cases/css/tailwindcss-vendor-prefix/postcss.config.cjs +++ b/e2e/cases/css/tailwindcss-vendor-prefix/postcss.config.cjs @@ -1,5 +1,8 @@ module.exports = { plugins: { - '@tailwindcss/postcss': {}, + '@tailwindcss/postcss': { + // Ensure tailwindcss only watch files in the current directory + base: __dirname, + }, }, }; diff --git a/e2e/cases/css/tailwindcss/postcss.config.cjs b/e2e/cases/css/tailwindcss/postcss.config.cjs index e5640725a9..4e3d2d744f 100644 --- a/e2e/cases/css/tailwindcss/postcss.config.cjs +++ b/e2e/cases/css/tailwindcss/postcss.config.cjs @@ -1,5 +1,8 @@ module.exports = { plugins: { - '@tailwindcss/postcss': {}, + '@tailwindcss/postcss': { + // Ensure tailwindcss only watch files in the current directory + base: __dirname, + }, }, }; diff --git a/e2e/cases/server/overlay-type-errors/index.test.ts b/e2e/cases/server/overlay-type-errors/index.test.ts index f0bffde326..fad9636bee 100644 --- a/e2e/cases/server/overlay-type-errors/index.test.ts +++ b/e2e/cases/server/overlay-type-errors/index.test.ts @@ -1,4 +1,4 @@ -import { dev, proxyConsole } from '@e2e/helper'; +import { dev, proxyConsole, waitFor } from '@e2e/helper'; import { expect, test } from '@playwright/test'; const cwd = __dirname; @@ -6,11 +6,20 @@ const cwd = __dirname; test('should display type errors on overlay correctly', async ({ page }) => { const { restore } = proxyConsole(); + const logs: string[] = []; + page.on('console', (consoleMessage) => { + logs.push(consoleMessage.text()); + }); + const rsbuild = await dev({ cwd, page, }); + expect( + await waitFor(() => logs.some((log) => log.includes('TS2322:'))), + ).toBeTruthy(); + const errorOverlay = page.locator('rsbuild-error-overlay'); await expect(errorOverlay.locator('.title')).toHaveText('Build failed'); diff --git a/e2e/cases/server/overlay/index.test.ts b/e2e/cases/server/overlay/index.test.ts index 014a965664..1e7b3c4b8c 100644 --- a/e2e/cases/server/overlay/index.test.ts +++ b/e2e/cases/server/overlay/index.test.ts @@ -1,6 +1,6 @@ import fs from 'node:fs'; import { join } from 'node:path'; -import { dev, proxyConsole } from '@e2e/helper'; +import { dev, proxyConsole, waitFor } from '@e2e/helper'; import { expect, test } from '@playwright/test'; const cwd = __dirname; @@ -17,6 +17,11 @@ test('should show overlay correctly', async ({ page }) => { recursive: true, }); + const logs: string[] = []; + page.on('console', (consoleMessage) => { + logs.push(consoleMessage.text()); + }); + const rsbuild = await dev({ cwd, page, @@ -29,6 +34,10 @@ test('should show overlay correctly', async ({ page }) => { }, }); + expect( + await waitFor(() => logs.some((log) => log.includes('[HMR] connected.'))), + ).toBeTruthy(); + const errorOverlay = page.locator('rsbuild-error-overlay'); expect(await errorOverlay.locator('.title').count()).toBe(0); @@ -40,6 +49,12 @@ test('should show overlay correctly', async ({ page }) => { fs.readFileSync(appPath, 'utf-8').replace('', ''), ); + expect( + await waitFor(() => + logs.some((log) => log.includes('Module build failed')), + ), + ).toBeTruthy(); + await expect(errorOverlay.locator('.title')).toHaveText('Build failed'); await rsbuild.close();