meridian
v1.0.1
Published
An opinionated, high-level networking and storage toolkit for JavaScript applications.
Downloads
4
Maintainers
Readme
Meridian
An opinionated, high-level networking and storage toolkit for JavaScript applications.
Meridian is currently under heavy development. It has not yet been documented, and APIs are subject to change without notice. Use at your own risk, but feel free to follow the project and prepare for the impending first release!
Installation
npm install meridian --save
Goals
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.
Opinions
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
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.
LevelUP
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.
Fetch
The included HTTP client is based on JavaScript's fetch
standard, a composable
system for creating, managing, and executing HTTP requests.
Contributing
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.
Guidelines
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.Submit a pull request, and stick around to polish it if asked.
If we decide to merge it, get ready for open source glory!
Support
If your project or product relies on Meridian, you should consider purchasing a support plan from Until Now.
License
For further detail, see the accompanying LICENSE
document.