@@ -205,16 +205,18 @@ export default testSuite(async ({ describe }, fixturePath: string) => {
205
205
const entryFile = 'index.js' ;
206
206
const fileA = 'file-a.js' ;
207
207
const fileB = 'directory/file-b.js' ;
208
- let value = Date . now ( ) ;
208
+ const depA = 'node_modules/a/index.js' ;
209
209
210
210
const fixture = await createFixture ( {
211
+ [ fileA ] : 'export default "logA"' ,
212
+ [ fileB ] : 'export default "logB"' ,
213
+ [ depA ] : 'export default "logC"' ,
211
214
[ entryFile ] : `
212
215
import valueA from './${ fileA } '
213
216
import valueB from './${ fileB } '
214
- console.log(valueA, valueB)
217
+ import valueC from './${ depA } '
218
+ console.log(valueA, valueB, valueC)
215
219
` . trim ( ) ,
216
- [ fileA ] : `export default ${ value } ` ,
217
- [ fileB ] : `export default ${ value } ` ,
218
220
} ) ;
219
221
220
222
onTestFinish ( async ( ) => await fixture . rm ( ) ) ;
@@ -229,19 +231,25 @@ export default testSuite(async ({ describe }, fixturePath: string) => {
229
231
entryFile ,
230
232
] ,
231
233
} ) ;
234
+ const negativeSignal = '"fail"' ;
232
235
233
236
await interact (
234
237
tsxProcess . stdout ! ,
235
238
[
236
239
async ( data ) => {
237
- if ( data === `${ value } ${ value } \n` ) {
238
- value = Date . now ( ) ;
240
+ if ( data . includes ( 'fail' ) ) {
241
+ throw new Error ( 'should not log ignored file' ) ;
242
+ }
243
+
244
+ if ( data === 'logA logB logC\n' ) {
245
+ // These changes should not trigger a re-run
239
246
await Promise . all ( [
240
- fixture . writeFile ( fileA , `export default ${ value } ` ) ,
241
- fixture . writeFile ( fileB , `export default ${ value } ` ) ,
247
+ fixture . writeFile ( fileA , `export default ${ negativeSignal } ` ) ,
248
+ fixture . writeFile ( fileB , `export default ${ negativeSignal } ` ) ,
249
+ fixture . writeFile ( depA , `export default ${ negativeSignal } ` ) ,
242
250
] ) ;
243
251
244
- await setTimeout ( 500 ) ;
252
+ await setTimeout ( 1500 ) ;
245
253
await fixture . writeFile ( entryFile , 'console.log("TERMINATE")' ) ;
246
254
return true ;
247
255
}
@@ -253,7 +261,7 @@ export default testSuite(async ({ describe }, fixturePath: string) => {
253
261
tsxProcess . kill ( ) ;
254
262
255
263
const { all, stderr } = await tsxProcess ;
256
- expect ( all ) . not . toMatch ( ` ${ value } ${ value } ` ) ;
264
+ expect ( all ) . not . toMatch ( 'fail' ) ;
257
265
expect ( stderr ) . toBe ( '' ) ;
258
266
} , 10_000 ) ;
259
267
} ) ;
0 commit comments