Summary
axios v1 has brought a few breaking changes, so now's the time to reconsider whether it still is the best solution we have.
Motivation(s)
- http2/http3 support
- streaming support
- reduce dependencies
Downsides
- Breaking change - axios is very tied to our responses, anyone who currently depends on them will have some work to do before they can upgrade
Alternatives to consider
- axios: it's working, stick to it, but update to a
v1.x.x+ version (no http2 support yet)
- fetch: built into recent browsers and node 18+
- gaxios: close to the axios interface, supports http2, no browser support
- got: Seems to satisfy a lot constraints. No browser support and has a lot of dependencies
- ky: tiny, no dependencies, supports deno
- undici: from the core node devs, no browser support but much better performance
- ...
Criteria for success
State (as of June 2024)
We're currently favouring undici and planning on starting work on this soon
Summary
axiosv1 has brought a few breaking changes, so now's the time to reconsider whether it still is the best solution we have.Motivation(s)
Downsides
Alternatives to consider
v1.x.x+ version (no http2 support yet)Criteria for success
State (as of June 2024)
We're currently favouring undici and planning on starting work on this soon