JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 11
  • Score
    100M100P100Q35814F
  • License Apache-2.0

Yet another CLI tool framework.

Package Exports

  • toolsmith

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (toolsmith) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Toolsmith Toolsmith

npm version pipeline status coverage status standard-js conventional commits

Yet another CLI tool framework.

Installation

npm install toolsmith

Basic Example

#!/usr/bin/env node
require('toolsmith')()
  .summary('An example command.')
  .option({
    long: 'foo',
    desc: 'Enable foo.'
  })
  .parameter({
    name: 'bar',
    desc: 'Specify one or more values for bar.',
    variadic: true
  })
  .handler((ctx) => {
    if (ctx.opts.foo) {
      console.log('foo is enabled')
    }
    console.log('bar is ' + ctx.args.bar.join(', '))
  })
  .parse()
$ ./example.js --help
Usage: example.js [OPTIONS...] <bar...>
Summary:
  An example command.
Parameters:
  bar  Specify one or more values for bar.
Options:
  -h,--help  You are here.
     --foo   Enable foo.

$ ./example.js --foo some example values
foo is enabled
bar is some, example, values

Documentation

API documentation can be found here.