GithubHelp home page GithubHelp logo

lasalefamine / runnable-exports Goto Github PK

View Code? Open in Web Editor NEW
2.0 3.0 1.0 256 KB

Run your exports as command line arguments

License: MIT License

JavaScript 100.00%
runnable-exports runnable exports module

runnable-exports's Introduction

runnable-exports

Build Status Coverage Status

Run your exports as command line arguments

If you want to easily create a command line tool from a file and a bunch of exported functions.

Install

$ yarn add runnable-exports

Usage

// your-file.js
const runnableExports = require('runnable-exports')
module.exports.awesome = ...args => {
	console.log('Awesome', args)
}
runnableExports()

And simply

$ node your-file.js awesome and nice arguments

Output

Awesome ['and', 'nice', 'arguments']

ObjectArgs

// your-file.js
const runnableExports = require('runnable-exports')
module.exports.awesome = args => {
	console.log('Awesome', args)
}
runnableExports()

Under the hood yargs is used, so you can pass easily also objectArgs like so

$ node your-file.js awesome --nice

Output

Awesome {nice: true}

NOTE: the module accepts both types of args, the object args will be the first arg passed to the called function, all other args will follow from this

Test

XO and AVA

$ yarn test

Related

This is a fork of make-runnable

License

MIT © LasaleFamine

runnable-exports's People

Contributors

emurphy-9 avatar eoin-murphy-ttl avatar lasalefamine avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

emurphy-9

runnable-exports's Issues

Error when no function specified

Firstly, thanks for the repo, I really like your module and it's exactly the sort of thing I was looking for.

Unfortunately, if the user runs the JS file without specifying a function they get this error: Error: RUNNABLE-EXPORTS: can't run your command:

It would be nice if it instead suggested to the user which commands can be run, similar to the original make-runnable project. Currently the output is a bit ugly especially if it's being used in production. Even if this was a configurable option that would be great.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.