From 047ecdfd60a165dbabb4aca3c020f27a0220c930 Mon Sep 17 00:00:00 2001 From: Sakshyam Shah Date: Wed, 3 Jan 2024 15:56:29 -0500 Subject: [PATCH] add structuredClone to jest JSDOMEnvironment (#36213) --- web/packages/build/jest/jest-environment-patched-jsdom.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/web/packages/build/jest/jest-environment-patched-jsdom.js b/web/packages/build/jest/jest-environment-patched-jsdom.js index 849ff2526d9..1bfa00eea6b 100644 --- a/web/packages/build/jest/jest-environment-patched-jsdom.js +++ b/web/packages/build/jest/jest-environment-patched-jsdom.js @@ -19,6 +19,14 @@ export default class PatchedJSDOMEnvironment extends JSDOMEnvironment { const { global } = super(...args); if (!global.TextEncoder) global.TextEncoder = TextEncoder; if (!global.TextDecoder) global.TextDecoder = TextDecoder; + + // TODO(sshah): Remove this once JSDOM provides structuredClone. + // https://github.com/jsdom/jsdom/issues/3363 + if (!global.structuredClone) { + global.structuredClone = val => { + return JSON.parse(JSON.stringify(val)); + }; + } } } export const TestEnvironment = PatchedJSDOMEnvironment;