/* eslint-disable no-undef */ // jest.polyfills.js /** * @note The block below contains polyfills for Node.js globals * required for Jest to function when running JSDOM tests. * These HAVE to be require's and HAVE to be in this exact * order, since "undici" depends on the "TextEncoder" global API. */ const { TextDecoder, TextEncoder } = require('node:util'); const { ReadableStream } = require('node:stream/web'); Object.defineProperties(globalThis, { TextDecoder: { value: TextDecoder }, TextEncoder: { value: TextEncoder }, ReadableStream: { value: ReadableStream }, }); const { Blob, File } = require('node:buffer'); const { fetch, Headers, FormData, Request, Response } = require('undici'); Object.defineProperties(globalThis, { fetch: { value: fetch, writable: true }, Blob: { value: Blob }, File: { value: File }, Headers: { value: Headers }, FormData: { value: FormData }, Request: { value: Request }, Response: { value: Response }, });