11import assert from 'node:assert' ;
22import { writeFile } from 'node:fs/promises' ;
33import { platform } from 'node:process' ;
4+ import chokidar from 'chokidar' ;
45import { describe , test , vi } from 'vitest' ;
5- import { runCMKInWatchMode } from './runner.js' ;
6- import { fakeParsedArgs } from './test/faker.js' ;
76import { createIFF } from './test/fixture.js' ;
8- import { createLoggerSpy } from './test/logger.js' ;
97
108async function sleep ( ms : number ) : Promise < void > {
119 // eslint-disable-next-line no-promise-executor-return
@@ -28,7 +26,20 @@ describe('runCMKInWatchMode', () => {
2826 // To avoid test flakiness, wait for a short time before starting the watcher.
2927 await sleep ( 100 ) ;
3028
31- await runCMKInWatchMode ( iff . rootDir ) ;
29+ const { promise, resolve } = Promise . withResolvers < void > ( ) ;
30+ chokidar
31+ . watch ( iff . rootDir , { ignoreInitial : true } )
32+ . on ( 'change' , ( fileName ) => {
33+ console . log ( 'change event: ' , fileName ) ;
34+ if ( fileName . endsWith ( 'a.module.css' ) ) {
35+ globalThis . changeCount ++ ;
36+ }
37+ } )
38+ . on ( 'raw' , ( eventName , fileName , details ) => {
39+ console . log ( 'raw event:' , { fileName } ) ;
40+ } )
41+ . on ( 'ready' , ( ) => resolve ( ) ) ;
42+ await promise ;
3243
3344 // Workaround for https://github.com/paulmillr/chokidar/issues/1443
3445 if ( platform === 'darwin' ) {
0 commit comments