Skip to content

Commit fab7e3a

Browse files
committed
fix(internal): [prepareStackTrace] escape error message
- prevents "Invalid regular expression" errors Signed-off-by: Lexus Drumgold <[email protected]>
1 parent 7ddd6fc commit fab7e3a

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

src/internal/prepare-stack-trace.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,19 @@ function prepareStackTrace<T extends Error = Error>(
2323

2424
// make sure stack trace is formatted properly
2525
error.stack = error.stack!.replace(
26-
new RegExp(`^${error.name}: ${error.message}`),
26+
new RegExp(
27+
`^${error.name}: ${error.message
28+
/*
29+
* Escape characters with special meaning, either inside or outside
30+
* character sets.
31+
*
32+
* A simple backslash escape is used when it’s always valid; a `\xnn`
33+
* escape is used when the simpler form would be disallowed by stricter
34+
* unicode patterns.
35+
*/
36+
.replace(/[$()*+.?[\\\]^{|}]/g, '\\$&')
37+
.replace(/-/g, '\\x2d')}`
38+
),
2739
error.toString()
2840
)
2941

0 commit comments

Comments
 (0)