BIG FAT WARNING: This library is in beta and is under development. Whilst efforts are being made to keep master/releases stable there are no guarantees on this.
Siesta is an object mapping framework for Javascript. It makes it easier to model, consume and interact with RESTful web services.
- Website
- Docs
- Quick Start
- Installation/Download
- Demo App
- IRC chat.freenode.net #siesta.js
Siesta is inspired by:
Similar projects:
- EmberJS-Data: Similar to Siesta however abstraction heavy in the typical Ember manner... ;)
The below lists ongoing and suggested features. Ideas and contributions are most welcome.
- Stability.
- Paginated APIs
- More powerful queries
- Contains
- OR/AND
- Persistence
- Indexeddb
- WebSQL (Probably via Indexeddb shim, as w3 has discontinued websql however required for backwards compat with safari/safari iOS etc)
- Possibly PouchDB (The sync-to-couchdb features are pretty awesome)
- NodeJS support.
Note that if you intend to make a pull request you should fork and clone your own repo.
# git clone https://github.com/<username>/siesta.git if you're cloning your own repo.
git clone https://github.com/mtford90/siesta.git
cd siesta
npm install
bower install
# Siesta depends on forks of some Javascript projects, and the gh-pages branch is also a submodule.
git pull && git submodule init && git submodule update && git submodule status
To make sure that all is well, run the tests:
grunt test
We can automatically run tests when changes are detected by running the following commands:
grunt watch
# Watches for changes to the documentation/website and also serves the site at localhost:4000
grunt watch
# Build the documentation/website for use locally.
grunt build-jekyll
# Build the documentation/website for use on gh-pages, commit and push the website (will be in production)
grunt compile-jekyll
We can build and compile siesta using:
# Generate build/siesta.js, build/siesta.http.js... etc
grunt build
# Generate build/siesta.*.js as well as build/siesta.*.min.js and build/siesta.*.min.js.gz
grunt compile
The following commands will perform a version bump, compile, commit, push and release to NPM/bower:
grunt release-pre # e.g. 0.0.6 -> 0.0.6-1
grunt release-patch # e.g. 0.0.6 -> 0.0.7
grunt release-minor # e.g. 0.0.6 -> 0.1.6
grunt release-major # e.g. 0.0.6 -> 1.0.6