Making fetch more powerful in production and more testable in development

fetch-kit is a focused ecosystem for shipping resilient network clients and chaos-testing them before production does it for you.

fetch is great. Production is not.

The native fetch API ships without timeouts, retries, backoff, or structured error handling. Every app reinvents these on top of it - inconsistently, incompletely, and untested under failure.

Test what you can't predict.

Networks fail in ways dev environments never show: latency spikes, partial responses, TCP resets, server overloads. fetch-kit gives you the tooling to simulate these failures before your users find them.

Further reading

ffetch

TypeScript-first drop-in fetch with timeouts, retries, and optional resilience plugins.

chaos-fetch

Composable fetch middleware for injecting latency, failures, throttling, and route-specific chaos.

chaos-sw

Service Worker chaos for every request and controlled tab, without replacing application fetch calls.

chaos-proxy

Network chaos proxy with shared config model across Node.js and Go runtimes.

chaos arena

Hands-on benchmark and diagnosis sandbox for comparing fetch client resilience.

When to use what

Build resilient clients

Use ffetch when you need production-safe fetch behavior in app code.

Inject chaos in code

Use chaos-fetch for direct, per-client fault injection in browser or test runtimes.

Test the whole browser app

Use chaos-sw to intercept requests across every controlled tab without replacing application fetch calls.

Chaos at the network edge

Use chaos-proxy when you need transport-level simulation for any HTTP consumer.