@@ -2,7 +2,7 @@ import fs from 'node:fs';
2
2
import { originalPositionFor , TraceMap } from '@jridgewell/trace-mapping' ;
3
3
import { type StackFrame , parse as stackTraceParse } from 'stacktrace-parser' ;
4
4
import type { FormattedError , GetSourcemap } from '../types' ;
5
- import { color , formatTestPath , isDebug , logger } from '../utils' ;
5
+ import { color , formatTestPath , globalApis , isDebug , logger } from '../utils' ;
6
6
7
7
export async function printError (
8
8
error : FormattedError ,
@@ -22,6 +22,24 @@ export async function printError(
22
22
logger . log ( `${ color . red ( tips . join ( '\n' ) ) } \n` ) ;
23
23
return ;
24
24
}
25
+
26
+ if ( error . message . includes ( 'is not defined' ) ) {
27
+ const [ , varName ] = error . message . match ( / ( .* ) i s n o t d e f i n e d / ) || [ ] ;
28
+ if ( varName ) {
29
+ if ( ( globalApis as string [ ] ) . includes ( varName ) ) {
30
+ error . message = error . message . replace (
31
+ `${ varName } is not defined` ,
32
+ `${ varName } is not defined. Did you forget to enable "globals" configuration?` ,
33
+ ) ;
34
+ } else if ( [ 'jest' , 'vitest' ] . includes ( varName ) ) {
35
+ error . message = error . message . replace (
36
+ `${ varName } is not defined` ,
37
+ `${ varName } is not defined. Did you mean rstest?` ,
38
+ ) ;
39
+ }
40
+ }
41
+ }
42
+
25
43
logger . log (
26
44
`${ color . red ( color . bold ( errorName ) ) } ${ color . red ( `: ${ error . message } ` ) } \n` ,
27
45
) ;
0 commit comments