A Seneca.js plugin
seneca-repl
Seneca compatibility
Supports Seneca versions 3.x and higher.
Install
To install, simply use npm. Remember you will need to install Seneca.js if you haven't already.
> npm install seneca
> npm install seneca-repl
Usage
var Seneca = require('seneca')
var seneca = Seneca()
.use('seneca-repl')
.use('seneca-repl', {port: 10001})
.use('seneca-repl', {port: 0})
To access the repl, telnet to the port.
$ telnet localhost 30303
Replace localhost
if remote with the address of the remote system.
For more comfortable
experience with working cursor keys, use
rlwrap
$ rlwrap telnet localhost 30303
Commands
The repl evaluates JavaScript directly. See the
Node.js repl docs
for more. You also have a seneca
instance available:
seneca x.y.z [seneca-id] -> seneca.toString()
You can submit messages directly using
jsonic format:
seneca x.y.z [seneca-id] -> role:seneca,cmd:stats
IN 000000: { role: 'seneca', cmd: 'stats' } # ftlbto0vvizm/6qt4gg83fylm cmd:stats,role:seneca (4aybxhxseldu) action_seneca_stats
OUT 000000: { start: '2017-03-15T13:15:36.016Z',
act: { calls: 3, done: 3, fails: 0, cache: 0 },
actmap: undefined,
now: '2017-03-15T13:17:15.313Z',
uptime: 99297 }
The message and response are printed, along with a sequence number. If
the Seneca instance is a client of other Seneca services, the message
will be sent to the other services, and marked as transported.
It is often convenient to run a Seneca repl as a separate service,
acting as a client to all the other Seneca services. This gives you a
central point of control for your system.
There are some command aliases for common actions:
list
: list local patternstree
: show local patterns in tree formatstats
: print local statisticsstats/full
: print full local statisticsexit
or quit
: exit the repl sessionlast
: run last command againhistory
: print command historyset <path> <value>
: set a seneca option, e.g: set debug.deprecation true
. Use seneca.options()
to get optionsalias <name> <cmd>
: define a new alias
Contributing
The Senecajs org encourage open participation. If you feel you can help in any way, be it with
documentation, examples, extra testing, or new features please get in touch.
Test
To run tests, simply use npm:
> npm run test
License
Copyright (c) 2015-2017, Richard Rodger and other contributors.
Licensed under MIT.