diff --git a/integrations/postcss/index.test.ts b/integrations/postcss/index.test.ts index c831fd935..e98ed40d8 100644 --- a/integrations/postcss/index.test.ts +++ b/integrations/postcss/index.test.ts @@ -1,5 +1,5 @@ import path from 'node:path' -import { candidate, css, html, js, json, test, ts, yaml } from '../utils' +import { candidate, css, html, IS_WINDOWS, js, json, test, ts, yaml } from '../utils' test( 'production build (string)', @@ -636,64 +636,67 @@ test( }, ) -test( - 'rebuild error recovery', - { - fs: { - 'package.json': json` - { - "devDependencies": { - "postcss": "^8", - "postcss-cli": "^10", - "tailwindcss": "workspace:^", - "@tailwindcss/postcss": "workspace:^" +if (!IS_WINDOWS) { + test( + 'rebuild error recovery', + { + fs: { + 'package.json': json` + { + "devDependencies": { + "postcss": "^8", + "postcss-cli": "^10", + "tailwindcss": "workspace:^", + "@tailwindcss/postcss": "workspace:^" + } } - } - `, - 'postcss.config.js': js` - module.exports = { - plugins: { - '@tailwindcss/postcss': {}, - }, - } - `, - 'src/index.html': html` + `, + 'postcss.config.js': js` + module.exports = { + plugins: { + '@tailwindcss/postcss': {}, + }, + } + `, + 'src/index.html': html`
`, - 'src/index.css': css` @import './tailwind.css'; `, - 'src/tailwind.css': css` - @reference 'tailwindcss/does-not-exist'; - @import 'tailwindcss/utilities'; - `, + 'src/index.css': css` @import './tailwind.css'; `, + 'src/tailwind.css': css` + @reference 'tailwindcss/does-not-exist'; + @import 'tailwindcss/utilities'; + `, + }, }, - }, - async ({ fs, expect, spawn }) => { - let process = await spawn('pnpm postcss src/index.css --output dist/out.css --watch --verbose') + async ({ fs, expect, spawn }) => { + let process = await spawn( + 'pnpm postcss src/index.css --output dist/out.css --watch --verbose', + ) - await process.onStderr((message) => - message.includes('does-not-exist is not exported from package'), - ) + await process.onStderr((message) => + message.includes('does-not-exist is not exported from package'), + ) - expect(await fs.dumpFiles('dist/*.css')).toMatchInlineSnapshot(` + expect(await fs.dumpFiles('dist/*.css')).toMatchInlineSnapshot(` " --- dist/out.css --- " `) - await process.onStderr((message) => message.includes('Waiting for file changes...')) + await process.onStderr((message) => message.includes('Waiting for file changes...')) - // Fix the CSS file - await fs.write( - 'src/tailwind.css', - css` - @reference 'tailwindcss/theme'; - @import 'tailwindcss/utilities'; - `, - ) - await process.onStderr((message) => message.includes('Finished src/index.css')) + // Fix the CSS file + await fs.write( + 'src/tailwind.css', + css` + @reference 'tailwindcss/theme'; + @import 'tailwindcss/utilities'; + `, + ) + await process.onStderr((message) => message.includes('Finished src/index.css')) - expect(await fs.dumpFiles('dist/*.css')).toMatchInlineSnapshot(` + expect(await fs.dumpFiles('dist/*.css')).toMatchInlineSnapshot(` " --- dist/out.css --- .underline { @@ -702,24 +705,25 @@ test( " `) - // Now break the CSS file again - await fs.write( - 'src/tailwind.css', - css` - @reference 'tailwindcss/does-not-exist'; - @import 'tailwindcss/utilities'; - `, - ) - await process.onStderr((message) => - message.includes('does-not-exist is not exported from package'), - ) - await process.onStderr((message) => message.includes('Finished src/index.css')) + // Now break the CSS file again + await fs.write( + 'src/tailwind.css', + css` + @reference 'tailwindcss/does-not-exist'; + @import 'tailwindcss/utilities'; + `, + ) + await process.onStderr((message) => + message.includes('does-not-exist is not exported from package'), + ) + await process.onStderr((message) => message.includes('Finished src/index.css')) - expect(await fs.dumpFiles('dist/*.css')).toMatchInlineSnapshot(` + expect(await fs.dumpFiles('dist/*.css')).toMatchInlineSnapshot(` " --- dist/out.css --- " `) - }, -) + }, + ) +} diff --git a/integrations/utils.ts b/integrations/utils.ts index a1165b1da..8affff3b4 100644 --- a/integrations/utils.ts +++ b/integrations/utils.ts @@ -64,7 +64,7 @@ interface TestFlags { type SpawnActor = { predicate: (message: string) => boolean; resolve: () => void } -const IS_WINDOWS = platform() === 'win32' +export const IS_WINDOWS = platform() === 'win32' const TEST_TIMEOUT = IS_WINDOWS ? 120000 : 60000 const ASSERTION_TIMEOUT = IS_WINDOWS ? 10000 : 5000