commit | bda9d71a100c17273ddbf33090d467a8ef9ac6bc | [log] [tgz] |
---|---|---|
author | Jan Lehnardt <jan@apache.org> | Sat Sep 21 16:16:13 2013 +0200 |
committer | Jan Lehnardt <jan@apache.org> | Thu Oct 03 17:21:29 2013 +0200 |
tree | cd98facaf8b1c41ac7aaf8d17b1597da5fe6fcb8 | |
parent | e1e22995f91c781c623e2e85c3361fb821d97da5 [diff] |
handle extras
CouchJS is a command-line Node.js program. It is 100% compatible with Apache CouchDB's built-in JavaScript system.
By using CouchJS, you will get 100% CouchDB compatibility (the test suite completely passes) but your JavaScript environment is V8, or Node.js.
CouchJS is available as an npm module.
$ npm install -g couchjs
Install CouchDB. Install this package with npm. Confirm your couchjs
install location.
$ which couchjs # Note, your path will be different from mine. /home/jhs/node/bin/couchjs
Look at the CouchDB config for the JavaScript query server.
$ curl http://localhost:5984/_config/query_servers/javascript "/home/jhs/couchdb/bin/couchjs /home/jhs/couchdb/share/couchdb/server/main.js"
Change that to this couchjs
. Leave the second argument the same.
$ curl -X PUT http://localhost:5984/_config/query_servers/javascript \ -H content-type:application/json \ -d "\"`which couchjs` /home/jhs/couchdb/share/couchdb/server/main.js\""
Done!
JavaScript is decoupled from the CouchDB core. To do JavaScript stuff, CouchDB runs a normal Unix subprocess, couchjs
. This subprocess is just a read-eval-print loop on standard i/o. CouchDB passes couchjs
a file name, and that file contains the view server implementation.
This tool duplicates the “REPL” look and feel of couchjs
and supports the exact same view server implementation.
I have no idea. I would not trust it for production use.
If you create a file, /tmp/couchjs.log
then couchjs will output debugging messages there.
Apache 2.0
See the Apache 2.0 license.