Seneca plugin: seneca-repl
npm install seneca-repl!Seneca
> A [Seneca.js][] plugin
To install, simply use npm. Remember you will need to install [Seneca.js][] if you haven't already.
``sh`
> npm install seneca
> npm install seneca-repl
`js
var Seneca = require('seneca')
var seneca = Seneca()
// open repl on default port 30303
.use('seneca-repl')
// open another repl on port 10001
.use('seneca-repl', {port: 10001})
// open yet another repl on a free port chosen by your OS
// look at the INFO level logs for the host and port
// or get them from seneca.export('repl/address')
.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
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
* : set a seneca option, e.g: set debug.deprecation true. Use seneca.options() to get optionsalias
* : define a new alias
To run tests, simply use npm:
`sh``
> npm run test
[MIT]: ./LICENSE
[Seneca.js]: https://www.npmjs.com/package/seneca
[Senecajs org]: https://github.com/senecajs/
[travis-badge]: https://travis-ci.org/senecajs/seneca-repl.svg
[travis-url]: https://travis-ci.org/senecajs/seneca-repl
[gitter-badge]: https://badges.gitter.im/Join%20Chat.svg
[gitter-url]: https://gitter.im/senecajs/seneca
[npm-badge]: https://img.shields.io/npm/v/seneca-repl.svg
[npm-url]: https://npmjs.com/package/seneca-repl
[david-badge]: https://david-dm.org/senecajs/seneca-repl.svg
[david-url]: https://david-dm.org/senecajs/seneca-repl