Library / SDK
warp-drive-data/warp-drive avatar
warp-drive-data/warp-drive

WarpDrive (warp-drive-data/warp-drive): a typed, reactive data layer for web apps

WarpDrive is the lightweight data library for ambitious web apps — universal, typed, reactive, and ready to scale.

3,158 stars1,339 forksTypeScriptMIT

At a glance

What is it?
WarpDrive is the MIT-licensed TypeScript data library published on npm as warp-drive and ember-data. It handles fetching, caching and reactive reads across frameworks, and the README points to its own guides for installation.
Who is it for?
Adopt WarpDrive if you want one typed, reactive data layer shared across Ember, React, Vue or Svelte, and you are willing to read the guides before writing code, because the README defers installation to warp-drive.io. Do not adopt it if you need a documented rollback or offline story today; the README does not document either.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The problem WarpDrive takes on, and who it is aimed at

Most web apps end up with three separate concerns tangled together: talking to an API, keeping a client-side copy of server data, and re-rendering whatever depends on that copy. WarpDrive positions itself as the layer that owns all three. The README describes it as "the lightweight data library for web apps", and lists universal, typed, reactive and ready to scale as the properties it optimises for. The npm package name is ember-data, which tells you where the project came from, but the README claims reactivity in any framework and support for any API. The topics list on the repository names React, Vue, Svelte and Ember alongside signals, fetch, REST and local-first. So the intended audience is broader than Ember: teams building a single-page app, a multi-page app or an SSR-rendered app who want one data layer rather than a hand-rolled store plus a fetch wrapper plus a cache. The pitch is that you do not re-architect your app or your API to get there.

How the data layer is put together: packages, reactivity and API shape

The repository is a pnpm workspace. The root package.json is private and versioned 5.10.0-alpha.10, with a takeoff script that runs pnpm install and a build script that runs turbo across the packages. Two workspace directories matter: packages/ and warp-drive-packages/. The README's versions table lists warp-drive as the package for the broadest audience, with dist-tags for canary, beta, latest and lts, plus eslint-plugin-warp-drive for lint rules. That split is the clearest architectural signal available: the runtime and the linting are shipped separately, so you can adopt the data layer without the rules, or the rules against an existing setup. The reactivity claim is backed by the topics list, which names signals and fine-grained reactivity, meaning reads are tracked at a granular level rather than by re-running a whole component tree. The README does not show the request lifecycle or the cache implementation, so anyone evaluating the internals has to go to the API docs and guides linked from the README rather than the repository front page.

Installing WarpDrive and making a first request

The README does not carry installation steps. It links to a Guides page at warp-drive.io/guides/ and an Installation page at warp-drive.io/guides/installation/, and those are where the project says to get it. The npm package name visible in the README badges is ember-data, and the versions table also names a warp-drive package, so the install command depends on which package you want. What the repository does show is how the project itself is built, which is a useful sanity check on the toolchain you are signing up for:

bash
pnpm install --prefer-offline --reporter=append-only

That is the root takeoff script. It installs the workspace with pnpm, not npm or yarn. If you are installing WarpDrive into your own app rather than into the repository, the README points you at the Installation guide for the exact package and version, and the compatibility table for the ember-source range. The table distinguishes Lockstep, Supported, Tested and Range, and notes that the library is often compatible with a larger range than was officially supported at release time. Pick your dist-tag from the versions table (latest, lts, beta or canary) rather than assuming latest is what you want.

Where WarpDrive is the wrong tool

The compatibility table carries a warning the README states plainly: where it becomes necessary to break compatibility with an older, unsupported ember-source release, the project does not consider it a breaking change. If your app is pinned to an unsupported Ember version, you are outside the support window by design, and an upgrade can move under you without a major version bump. The table also marks several prior LTS lines as unsupported, and two of those rows carry footnotes about special long-term patches, one for model-fragments users migrating onto 5.x. That is a migration path, not a support commitment. The README does not document rollback behaviour, and it does not describe an offline or conflict-resolution model despite the local-first topic tag, so if your app needs either of those today, the front page gives you nothing to evaluate. Finally, if your app makes a handful of calls to one endpoint and renders the result once, the machinery here is more than the problem needs.

How WarpDrive differs from a hand-rolled fetch plus store

The obvious alternative is TanStack Query, or a hand-written store around fetch. The difference is where identity and reactivity live. A query cache keys results by query and leaves you to reconcile two responses that describe the same record. WarpDrive comes out of Ember Data, so its model is a normalised store: records have identity, and the reactive layer tracks reads against that store. That is what makes the fine-grained reactivity tag meaningful, and it is why the project can claim framework independence without a framework-specific cache. The cost is the other side of the same coin. A normalised store asks you to describe your data shape, and the README's pointer to the guides rather than inline examples means the learning curve is real. If your data is mostly one-shot reads with no shared identity between them, a query cache is the smaller tool. If the same entity appears in several places and each place must update when it changes, the normalised approach is doing work a query cache leaves to you.

Maintenance, releases and what the MIT licence covers

The repository is not archived, and the last push was on 2026-09-23, one day before this article. Releases are frequent: v5.9.1 and v5.9.0 both landed on 2026-09-05, and v5.8.2 on 2026-04-17. The root package is at 5.10.0-alpha.10, so a canary line runs ahead of the stable releases. The README states that the compatibility and versions tables are generated from tools/internal-tooling/src/tasks/-data/compatibility.ts by the command bun sync-readme-tables, which is a useful detail: the tables are not hand-maintained prose that drifts. The licence is MIT, declared in the root package.json and shown in the README badge. MIT permits commercial use and modification with the copyright notice retained; it offers no patent grant and no warranty, and it says nothing about the separate licences of dependencies you pull in. That is a description of the licence text, not legal advice. Upgrade cost tracks the compatibility table: the wider your ember-source range, the more rows you have to read before each bump.

Editorial conclusion

Adopt WarpDrive if you want one typed, reactive data layer shared across Ember, React, Vue or Svelte, and you are willing to read the guides before writing code, because the README defers installation to warp-drive.io. Do not adopt it if you need a documented rollback or offline story today; the README does not document either. Verify first which npm dist-tag you want (latest, lts, beta or canary), and check the compatibility table for the ember-source range your app runs.

Frequently asked questions

What is WarpDrive?

It is a TypeScript data library for web apps, described in its README as universal, typed, reactive and ready to scale. It is published on npm under the ember-data name, with a separate warp-drive package listed in the versions table, and it is MIT licensed.

How do I install WarpDrive?

The README does not include install steps. It links to an Installation page at warp-drive.io/guides/installation/, and the versions table lists dist-tags for canary, beta, latest and lts so you can choose the release line before installing.

Does WarpDrive work outside Ember?

The README claims reactivity in any framework, and the repository topics name React, Vue and Svelte alongside Ember. The compatibility table, however, is built entirely around ember-source versions, so the Ember side is the one with published support ranges.

Official sources

  1. License: MIT
  2. Project website
  3. README
  4. Releases
  5. warp-drive-data/warp-drive on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/warp-drive-data-warp-drive.svg)](https://hysenlabs.com/projects/warp-drive-data-warp-drive)