// Jest 27's node environment runs tests in a context that lacks Node's newer web globals (ReadableStream, Blob, // ...), which the HTTP client used by testcontainers needs. Copy whatever the context is missing from Node. const NodeEnvironment = require("jest-environment-node"); // Reading these makes Node warn about its experimental web storage. const SKIPPED = new Set(["localStorage", "sessionStorage"]); class NodeEnvironmentWithWebGlobals extends NodeEnvironment { constructor(config, context) { super(config, context); for (const name of Object.getOwnPropertyNames(globalThis)) { if (!SKIPPED.has(name) && !(name in this.global)) { this.global[name] = globalThis[name]; } } } } module.exports = NodeEnvironmentWithWebGlobals;