commander-jsx

Command-line Arguments Parser with JSX support


Keywords
command-line, arguments, parameter, parser, jsx, typescript
License
LGPL-3.0
Install
npm install commander-jsx@0.4.0

Documentation

CommanderJSX

Command-line Arguments Parser with JSX support

NPM Dependency CI & CD

NPM

Example

index.tsx

import { Command, createCommand } from 'commander-jsx';

Command.execute(
    <Command
        name="git"
        version="2.10.0"
        parameters="[command] [options]"
        description="Distributed Version Control system"
    >
        <Command
            name="remote"
            description='Manage the set of repositories ("remotes") whose branches you track'
        >
            <Command
                name="add"
                description="Adds a remote named <name> for the repository at <url>"
                options={{
                    tree: {
                        shortcut: 't',
                        parameters: '<branch>',
                        pattern: /^\w+$/,
                        description: 'Branch tree'
                    }
                }}
                executor={({ tree }, name, url) => console.log(tree, name, url)}
            />
        </Command>
    </Command>,
    process.argv.slice(2)
);

tsconfig.json

{
    "compilerOptions": {
        "module": "CommonJS",
        "moduleResolution": "Node",
        "jsx": "react",
        "jsxFactory": "createCommand",
        "target": "ES2017",
        "outDir": "dist/"
    }
}

Then, run git help in your terminal, it'll outputs:

git [command] [options]

Distributed Version Control system

Options:
  -h, --help       show Help information
  -v, --version    show Version number

Commands:
  help    [command]  show Help information
  remote             Manage the set of repositories ("remotes") whose branches you track