A JavaScript development environment for Emacs https://indium.readthedocs.io
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Nicolas Petton 0eb926a8f1
Simplify jade-webkit--read-ws-message
6 years ago
screenshots crop the debugger screenshot 6 years ago
test Fix running tests 6 years ago
.gitignore Add basic gitignore 6 years ago
.travis.yml fix .travis.yml 6 years ago
Cask Fix running tests 6 years ago
LICENSE Add LICENSE and readme 7 years ago
jade-backend.el Fix byte compilatin warnings 6 years ago
jade-chrome.el Fix byte compilatin warnings 6 years ago
jade-debugger.el Fix byte compilatin warnings 6 years ago
jade-faces.el Add the ability to reconnect when a connection is closed. 6 years ago
jade-inspector.el Fix the history of jade inspectors 6 years ago
jade-interaction.el Extract new interaction function jade-eval 6 years ago
jade-nodejs.el Add documentation to jade-nodejs.el 6 years ago
jade-render.el Fix byte compilatin warnings 6 years ago
jade-repl.el Better welcome message in the repl 6 years ago
jade-scratch.el Add support for JS evaluation in all JS buffers 6 years ago
jade-webkit.el Simplify jade-webkit--read-ws-message 6 years ago
jade.el load jade-scratch in jade.el 6 years ago
readme.md Fix readme info for nodejs 6 years ago
run-tests.sh Fix running tests 6 years ago
run-travis-ci.sh Add tests and travis support 6 years ago


Jade MELPA Travis

JavaScript Awesome Development Environment (in Emacs)

Jade connects to a browser tab or nodejs process and provides many features for JavaScript development, including:

  • a REPL (with auto completion) & object inspection;
  • an inspector, with history and navigation;
  • a scratch buffer (M-x jade-scratch);
  • JavaScript evaluation in JS buffers with jade-interaction-mode;
  • a stepping Debugger, similar to edebug, or cider.


The REPL with company-mode


The REPL showing clickable output


The inspector


The stepping debugger, and an inspector on locals


Getting started

(Emacs 25 is required)

It's available on melpa:

M-x package-install jade

Connection to a chrom[e|ium] tab

Start chrom[e|ium] with the --remote-debugging-port flag:

chromium --remote-debugging-port=9222 https://gnu.org

Evaluate M-x jade-connect-to-chrome.

Connection to a nodejs process

(Note: as of July 31 2016, this requires node-nightly, which can be installed with npm install -g node-nightly).

Start a node process with the --inspect flag:

node --inspect myfile.js

Evaluate M-x jade-connect-to-nodejs.

JavaScript evaluation in JS buffers

Add the following to enable evaluation in all JS buffers:

(add-hook 'js2-mode-hook #'jade-interaction-mode)

Then C-x C-e will evaluate the node before the point, and C-c M-i will inspect the result.

The entire buffer can also be executed with jade-eval-buffer.

Missing features

Jade is young, here's a list of missing/wanted features

  • Code evaluation using C-x C-e from project JS buffers
  • Adding breakpoints (to remove the need for debugger statements)
  • Network inspector (could get inspiration from restclient.el)
  • DOM inspector
  • Start processes (chromium, node, grunt, gulp, etc.) from Emacs and attach a jade connection to it.


There is currently support for Chrom[e|ium], & nodejs. The firefox backend is currently missing.