From 1569c7c732fef1498362cd80c39200af852eec43 Mon Sep 17 00:00:00 2001 From: Sebastian Markbage Date: Mon, 22 Jul 2024 00:46:32 -0400 Subject: [PATCH] Be resilient to prepareStackTrace being set while parsing --- .../react-devtools-shared/src/backend/DevToolsOwnerStack.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/react-devtools-shared/src/backend/DevToolsOwnerStack.js b/packages/react-devtools-shared/src/backend/DevToolsOwnerStack.js index 9be37afb01b80..5a859ed95f038 100644 --- a/packages/react-devtools-shared/src/backend/DevToolsOwnerStack.js +++ b/packages/react-devtools-shared/src/backend/DevToolsOwnerStack.js @@ -21,7 +21,11 @@ function filterDebugStack(error: Error): string { // to save bandwidth even in DEV. We'll also replay these stacks on the client so by // stripping them early we avoid that overhead. Otherwise we'd normally just rely on // the DevTools or framework's ignore lists to filter them out. + const prevPrepareStackTrace = Error.prepareStackTrace; + // $FlowFixMe[incompatible-type] It does accept undefined. + Error.prepareStackTrace = undefined; let stack = error.stack; + Error.prepareStackTrace = prevPrepareStackTrace; if (stack.startsWith('Error: react-stack-top-frame\n')) { // V8's default formatting prefixes with the error message which we // don't want/need.