2015-02-21
Repl Jack is a utility for connecting to a remote node application utilizing one or more node js REPLs.
Essentially you run a Jack server, giving it a context for your REPLs. Then any client connecting to the jack will be given its own node js REPL. This allows you to run a node js application on a remote server, run this Jack alongside it, and have multiple REPLs jack into the running applications.
This can be very helpful for debugging or executing commands in a running server in real time.
You can use npm to install : npm install repl-jack
A command line script, jack-make is included that can host the jack and create a context. Here's an example:
1
2# make a jack, and run FooModule and insert it into the REPL context
3jack-make -c FooModule
4
To see its usage use --help
1
2$ jack-make --help 1 ↵
3
4Usage: run-jack-make [options]
5
6Options:
7 -s, --start starting port, this is the port that clients will need to use to connect [9001]
8 -e, --end ending port, the server will utilize the range of ports from start to end for handshaking and REPLs [9006]
9 -c, --context comma seperated list of modules to require and add to the context []
10
Here's the node jS API
1
2var FooModule = require('FooModule');
3var Jack = require('repl-jack');
4
5var jack = new Jack({
6 context : { FooModule : FooModule},
7 ports : [9001,9002,9003]
8});
9
A command line script, jack-connect, is included that can connect to the REPL jack. Example:
1
2#connect to a jack at 172.16.254.1 running on port 9001
3jack-connect -h 172.16.254.1 -p 9001
4
To its usage use --help
1$ run-jack-connect --help
2
3Usage: jack-connect [options]
4
5Options:
6 -h, --host
7 -p, --port the port of the jack to connect to (should be the start port) [9001]
8
This is written in es6. There are a few build tasks that utilize gulp
that allow you to test and run the applications in node. gulp
run-jack-connect
and gulp run-jack-make
should get you started when
making changes.