This repository has been archived by the owner. It is now read-only.
An opinionated, high-level networking and storage toolkit for JavaScript applications.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


As of June 2016, GraphQL is our new standard. Meridian is deprecated. Use at your own risk, or fork.

CI Status

An opinionated, high-level networking and storage toolkit for JavaScript applications.


npm install meridian --save


Meridian aims to make managing API payloads a concern of the past. It loads, caches, and updates your data automatically. It handles relationships, embedded (or included) payloads, and more. By building on a shared foundation, you'll be able to build faster and with more confidence.

The tooling is also future-proof: Meridian supports HTTP out of the box, but in the future, expect it to support Websockets and other data transports.


Meridian is built on top of reliable technologies, each with a proven track record of performance and reliability. The project focuses on usability and performance equally, but if forced to choose, performance will likely come out on top. (If a tool isn't performant, developers will eventually abandon it, or won't run tests to properly maintain integrations with it. Hence the performance-oriented focus.)

Below are a few paragraphs covering tools that comprise the foundation of the project, and why we chose them. Plus, remarks on how development should proceed:

Universal by Default

Meridian should run anywhere that JavaScript does. It must execute, without deprecation warnings or errors on Node v4.x or greater, and in any A Grade Browsers, at the time of a release.


JSON:API is a standard for building APIs in JSON, that aims to reduce bikeshedding, and help us get on with the task of writing great software. As of now, Meridian supports only JSON:API compliant APIs.


Loaded data is stored by LevelUP. The default backend is Memdown, an in-memory implementation of LevelDB, but you'll eventually be able to choose another storage system.


The included HTTP client is based on JavaScript's fetch standard, a composable system for creating, managing, and executing HTTP requests.


By joining the project a contributor (of documentation or code) or when speaking publicly about the project, you agree to be bound by the Code of Conduct.


  1. Fork the project, and make your alterations in a feature branch. Do not alter the version, either in code or package.json. A member of the core team will handle that.

  2. Submit a pull request, and stick around to polish it if asked.

  3. If we decide to merge it, get ready for open source glory!


If your project or product relies on Meridian, you should consider purchasing a support plan from Until Now.


For further detail, see the accompanying LICENSE document.