Skip to content

This repository provides a javascript lib to make requests against a JMAP server.

License

Notifications You must be signed in to change notification settings

linagora/jmap-client

Repository files navigation

JMAP-CLIENT

⚠️ jmap-client is based on an outdated jmap draft. If you are looking for a jmap client you can check this project jmap-client-ts

Join the chat at https://gitter.im/linagora/jmap-client Build Status Coverage Status

This repository provides a JavaScript library to make requests against a JMAP server. It is a client-side implementation of the JMAP specification. It is developed using ES6 and transpiled to ES5 code using babel.js.

Non-exhaustive list of features:

  • Entities are modeled as JavaScript classes.
  • Expose a Client class that you can use to send JMAP requests, using a fluent API.
  • Uses Promises exclusively, and allows for pluggable Promise implementation.
  • Allows for pluggable transports, with default support for node.js request and jQuery in the browser.

Usage

Installation

The library is provided as a NPM or Bower packages, thus to install either use:

npm install jmap-client

or

bower install jmap-client

depending on your preferred package manager.

How to contribute

1. Clone the repository

git clone https://ci.open-paas.org/stash/scm/olibs/jmap-client.git
cd jmap-client

2. Install dependencies

npm install

3. Compile the library and run the tests

grunt

4. Code, execute tests then pull request !

More detailled instructions can be found in the contributing section.

Release

If you are a maintainer of this project, here's how you can release a new version:

  1. Checkout the master branch and pull the latest changes from the remote repository
  2. Run grunt release to do the release. A lot of things will happen but you'll eventually be back on the master branch
  3. Bump the version in master to NEXT_VERSION-dev (replace NEXT_VERSION by the supposed next version)

License

MIT