Skip to content

Instantly share code, notes, and snippets.

@jamespearson
Created September 17, 2024 14:03
Show Gist options
  • Select an option

  • Save jamespearson/c5970f4d52ce5db7c6527505fc324390 to your computer and use it in GitHub Desktop.

Select an option

Save jamespearson/c5970f4d52ce5db7c6527505fc324390 to your computer and use it in GitHub Desktop.
MSW Jest Polyfill
const { TextDecoder, TextEncoder } = require('node:util');
const { ReadableStream, TransformStream } = require('node:stream/web');
Object.defineProperties(globalThis, {
TextDecoder: { value: TextDecoder },
TextEncoder: { value: TextEncoder },
ReadableStream: { value: ReadableStream },
TransformStream: { value: TransformStream },
});
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 },
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment