Skip to content

Getting started

Terminal window
npm install transport-io

The server also needs the native QUIC transport, installed separately:

Terminal window
npm install @fails-components/webtransport-transport-http3-quiche

It is not a dependency of anything, only a dynamic import, so no package manager will pull it in for you. Browsers need nothing extra.

Two things about that native package affect CI. Its prebuilt binaries come from GitHub Releases rather than npm. The Linux prebuild needs glibc 2.38, which no default Node -slim image has, so use a trixie variant or Ubuntu 24.04.

You need Node 22 or newer and TypeScript 5.0 or newer. Chrome or Firefox: Safari cannot talk to a quiche-backed server.

One command, no project, no certificate, no configuration:

Terminal window
npx transport-io dev --demo

Open the printed URL in two tabs and type. Messages cross on the reliable lane and the cursors follow on the unreliable one.

The tutorial builds that page in React from an empty directory, one change at a time, and ends at the React example in the repository.

The two lanes covers choosing between them, and call() and stream() the request shapes. Deploying is what a server needs from a platform, and Certificates is which certificate it ends up on. React is the binding, if that is what you are building in. Devtools is a panel that shows the frames, the streams and the drops. Limitations is worth reading before you commit to this.