Skip to content

saitho/node-cli-base

Repository files navigation

@saithodev/cli-base

Build Status npm version Coverage semantic-release Commitizen friendly

This package provides a basic API for creating CLI-based packages.

Example

The following example will add two commands "help" and "version".

index.ts

import {Cli, HelpCommand, VersionCommand} from "@saithodev/cli-base";

new Cli('typo3-extension-release')
    .setOptions({
        'dry-run': {
            type: 'boolean',
            default: false,
            alias: 'd',
            description: 'Simulates changes without writing them'
        }
    })
    .addCommand(new HelpCommand()) // adds help command
    .addCommand(new VersionCommand()) // adds version command
    .run()
    .catch((error) => {
        console.error(error);
        process.exit(1);
    });

Compile sources and test it with dist/index.js help and dist/index.js version.

For details on how to implement custom commands, take a closer look at the example and the command classes used there.