11import path from 'node:path'
2- import { candidate , css , html , IS_WINDOWS , js , json , test , ts , yaml } from '../utils'
2+ import { candidate , css , html , js , json , retryAssertion , test , ts , yaml } from '../utils'
33
44test (
55 'production build (string)' ,
@@ -636,67 +636,59 @@ test(
636636 } ,
637637)
638638
639- if ( ! IS_WINDOWS ) {
640- test (
641- 'rebuild error recovery' ,
642- {
643- fs : {
644- 'package.json' : json `
645- {
646- "devDependencies" : {
647- "postcss" : "^8" ,
648- "postcss-cli" : "^10" ,
649- "tailwindcss" : "workspace:^" ,
650- "@tailwindcss/postcss" : "workspace:^"
651- }
652- }
653- ` ,
654- 'postcss.config.js' : js `
655- module .exports = {
656- plugins : {
657- '@tailwindcss/postcss' : {},
658- },
639+ test (
640+ 'rebuild error recovery' ,
641+ {
642+ fs : {
643+ 'package.json' : json `
644+ {
645+ "devDependencies" : {
646+ "postcss" : "^8" ,
647+ "postcss-cli" : "^10" ,
648+ "tailwindcss" : "workspace:^" ,
649+ "@tailwindcss/postcss" : "workspace:^"
659650 }
660- ` ,
661- 'src/index.html' : html `
651+ }
652+ ` ,
653+ 'postcss.config.js' : js `
654+ module .exports = {
655+ plugins : {
656+ '@tailwindcss/postcss' : {},
657+ },
658+ }
659+ ` ,
660+ 'src/index.html' : html `
662661 <div class= "underline" > </ div>
663662 ` ,
664- 'src/index.css' : css ` @import './tailwind.css' ; ` ,
665- 'src/tailwind.css' : css `
666- @reference 'tailwindcss/does-not-exist' ;
667- @import 'tailwindcss/utilities' ;
668- ` ,
669- } ,
663+ 'src/index.css' : css ` @import './tailwind.css' ; ` ,
664+ 'src/tailwind.css' : css `
665+ @reference 'tailwindcss/does-not-exist' ;
666+ @import 'tailwindcss/utilities' ;
667+ ` ,
670668 } ,
671- async ( { fs, expect, spawn } ) => {
672- let process = await spawn (
673- 'pnpm postcss src/index.css --output dist/out.css --watch --verbose' ,
674- )
669+ } ,
670+ async ( { fs, expect, spawn } ) => {
671+ let process = await spawn ( 'pnpm postcss src/index.css --output dist/out.css --watch --verbose' )
675672
676- await process . onStderr ( ( message ) =>
677- message . includes ( 'does-not-exist is not exported from package' ) ,
678- )
673+ await process . onStderr ( ( message ) =>
674+ message . includes ( 'does-not-exist is not exported from package' ) ,
675+ )
679676
680- expect ( await fs . dumpFiles ( 'dist/*.css' ) ) . toMatchInlineSnapshot ( `
681- "
682- --- dist/out.css ---
683- <EMPTY>
684- "
685- ` )
677+ await retryAssertion ( async ( ) => expect ( await fs . read ( 'dist/out.css' ) ) . toEqual ( '' ) )
686678
687- await process . onStderr ( ( message ) => message . includes ( 'Waiting for file changes...' ) )
679+ await process . onStderr ( ( message ) => message . includes ( 'Waiting for file changes...' ) )
688680
689- // Fix the CSS file
690- await fs . write (
691- 'src/tailwind.css' ,
692- css `
693- @reference 'tailwindcss/theme' ;
694- @import 'tailwindcss/utilities' ;
695- ` ,
696- )
697- await process . onStderr ( ( message ) => message . includes ( 'Finished src/index.css ' ) )
681+ // Fix the CSS file
682+ await fs . write (
683+ 'src/tailwind.css' ,
684+ css `
685+ @reference 'tailwindcss/theme' ;
686+ @import 'tailwindcss/utilities' ;
687+ ` ,
688+ )
689+ await process . onStderr ( ( message ) => message . includes ( 'Finished' ) )
698690
699- expect ( await fs . dumpFiles ( 'dist/*.css' ) ) . toMatchInlineSnapshot ( `
691+ expect ( await fs . dumpFiles ( 'dist/*.css' ) ) . toMatchInlineSnapshot ( `
700692 "
701693 --- dist/out.css ---
702694 .underline {
@@ -705,25 +697,18 @@ if (!IS_WINDOWS) {
705697 "
706698 ` )
707699
708- // Now break the CSS file again
709- await fs . write (
710- 'src/tailwind.css' ,
711- css `
712- @reference 'tailwindcss/does-not-exist' ;
713- @import 'tailwindcss/utilities' ;
714- ` ,
715- )
716- await process . onStderr ( ( message ) =>
717- message . includes ( 'does-not-exist is not exported from package' ) ,
718- )
719- await process . onStderr ( ( message ) => message . includes ( 'Finished src/index.css' ) )
720-
721- expect ( await fs . dumpFiles ( 'dist/*.css' ) ) . toMatchInlineSnapshot ( `
722- "
723- --- dist/out.css ---
724- <EMPTY>
725- "
726- ` )
727- } ,
728- )
729- }
700+ // Now break the CSS file again
701+ await fs . write (
702+ 'src/tailwind.css' ,
703+ css `
704+ @reference 'tailwindcss/does-not-exist' ;
705+ @import 'tailwindcss/utilities' ;
706+ ` ,
707+ )
708+ await process . onStderr ( ( message ) =>
709+ message . includes ( 'does-not-exist is not exported from package' ) ,
710+ )
711+
712+ await retryAssertion ( async ( ) => expect ( await fs . read ( 'dist/out.css' ) ) . toEqual ( '' ) )
713+ } ,
714+ )
0 commit comments