cnyks
Command line introspection tool for nodejs (interactive runner)
Last updated 5 days ago by frodon .
ISC · Repository · Bugs · Original npm · Tarball
$ cnpm install cnyks 
SYNC missed versions from official npm registry.

cnyks is a CLI runner for nodejs modules.

Aka : cnyks any ES6 class and :boom:boom:sparkles: you got the greatest command line runner ever (no fingerprint at all)

Build Status Coverage Status NPM version License

demo workflow

Motivation

cnyks will analyze your class/instance prototype and reflect the API it exposes, hence, any module can be handled by cnyks. There is no API to abide, compose your class the way you like.

Example

"use strict";

var sleep = require('nyks/async/sleep');

module.exports  = class {
  test(name) {
    console.log(name);
  }

  async hello(name) {
    await sleep(1000);
    return `Hello ${name}`;
  }
  static test(){
    console.log("Got test");
  }
}

Now, just cnyks' it !

cnyks foo.js

Installation/Usage

CLI

npm install -g cnyks
cnyks path/to/your/module.js
# enjoy !

CLI unattended flags / arguments

  • --ir:// is a "namespace" for all cnyks dedicated arguments
  • --ir://run=method_name run "method_name" on your module, then quit
  • --ir://start=method_name run "method_name" on your module, then start the interactive loop
  • --ir://json (to be used with "run") silence ir helpers, format output as JSON
  • --ir://run=hello --name=bar run method "hello" with argument foo set to 'bar' (i.e. function hello(name) { })

Self running, standalone cnyks bundle (via browserify)

Cnyks expose a cnyksify plugin for browserify.

browserify --node entry.js --plugin cnyks/ify  > bundle.js
  • node bundle.js => start runner

Standalone bootstrap

Just add this 2 lines footer to your module/class so it can be use by clyks directly

  //at the end of your module
module.exports = SomeClass;

if(module.parent === null) //ensure module is called directly, i.e. not required
  require('cnyks')(SomeClass); //start runner

Now just node someapp.js to start cnyks runner.

Legacy ES5 async support

Cnyks also allows you to declare async function through generators (internaly using co ).

Bundled utilities

  • require('cnyks/ify') : a browserify plugin
  • require('cnyks/prompt/bool')(prompt, default) : prompt (using [read]) for a boolean

TODO

  • Get rich or die tryin'

Credits / related

  • 131
  • Derived from yks/clyks
  • co, coroutine goddess, made cnyks possible
  • nyks, javascript toolkit, good complementarity

Buzzword / shoutbox / SEO LOVE

cli, reflection API, commander, cnyks, interactive runner, async/await, co, promise, Promises, yield, "Let's have a beer & talk in Paris"

Maintainers (2)
Downloads
Today 0
This Week 0
This Month 30
Last Day 0
Last Week 30
Last Month 196
Dependencies (5)
Dev Dependencies (7)
Dependents (2)

Copyright 2014 - 2017 © taobao.org |