Skip to content

Replace axios #18

Description

@rhamzeh

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status
    In review

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions