🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more

couchjs

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

couchjs

Drop-in replacement for CouchDB JavaScript view server

0.3.1
latest
Version published
Weekly downloads
6
-14.29%
Maintainers
1
Weekly downloads
 
Created

CouchJS

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

Usage

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!

Idea

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.

Security

I have no idea. I would not trust it for production use.

Log

If you create a file, /tmp/couchjs.log then couchjs will output debugging messages there.

License

Apache 2.0

See the Apache 2.0 license.

FAQs

Package last updated on 11 Feb 2013

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts