Drop-in replacement for CouchDB JavaScript view server

Usage no npm install needed!

<script type="module">
  import couchjs from '';



Drop-in replacement JavaScript engine for Apache CouchDB

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.

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\""



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.