JavaScript library for integrating remoteStorage


remoteStorage.js is a JavaScript library for storing user data locally in the browser, as well as connecting to remoteStorage servers and syncing data across devices and applications.

To develop remoteStorage-enabled apps, you need to have a remoteStorage-compatible storage account. We recommend reStore for running a local test server. (Use the latest version from GitHub, not npm!)

You can also get an account with a hoster, or use one of the various other remoteStorage server implementations: get storage.

You can either use a stable release or the current HEAD build. Stable releases can be found in release/. Directories with a -rcX suffix contain release candidates, which may be used for testing but aren't necessarily "stable" releases.

release/head contains a semi-current HEAD build. It is updated manually and irregularly. To build an up-to-date version of all files, run make all in the repository root.

There are a number of different builds available:

  • remotestorage.js - Contains all components of remotestorage.js for running in a browser.
  • remotestorage.amd.js - The same as remotestorage.js, but wrapped for use with AMD loaders such as RequireJS. When using AMD, be aware of issues #709.
  • remotestorage.min.js - Minified version of remotestorage.js
  • remotestorage-nocache.js - A version without any caching features included. Use this if you want your app to write directly to the remote server without caching any data in the browser's storage (localStorage or IndexedDB).
  • remotestorage-nocache.amd.js, remotestorage-nocache.min.js - same as the other .amd/.min build, but based on remotestorage-nocache.js.

For more information on using the AMD build(s) and its dependencies, see the AMD documentation.

$ bower install -S remotestorage
$ npm install remotestoragejs

See our node.js documentation for more details.

Install development dependencies including the testing framework:

$ npm install

Run all suites:

$ npm test

Use the jaribu executable in order to test single files, like so e.g.:

$ node_modules/.bin/jaribu test/unit/baseclient-suite.js

Make sure you have Natural Docs installed on your system (e.g. via sudo apt-get install naturaldocs).

Display the available build tasks:

$ make

Build everything:

$ make all

Original authors: Niklas Cathor, Michiel de Jong

See list of all contributors

Sponsored by NLnet