cmd-funk-hello
TypeScript icon, indicating that this package has built-in type declarations

0.1.2 • Public • Published

Command Funk Hello World

This is a small command line tool built with cmd-funk.

Installation

While you could install this globally, its probably more helpful to just clone it and play around...

# If you haven't yet, install yarn
npm install -g yarn

# Clone the repo
git clone https://github.com/Fuiste/cmd-funk-hello.git
cd cmd-funk-hello

Implementation

This is the full hello world CLI:

import {
  SimpleCommandMap,
  Marshallers,
  SimpleCommand,
  Logger,
  handleCommand,
} from "cmd-funk";

const sayHello = (cmd: SimpleCommand) => {
  Logger.debug(`Running command ${cmd.cmd}`);
  return "Hello World";
};

const BaseCommandMap: SimpleCommandMap = {
  hello: cmd => Marshallers.str(sayHello(cmd)),
  help: () =>
    Marshallers.help({
      hello: "Says hello",
    }),
};

Logger.greet("Howdy");
handleCommand(BaseCommandMap);

Try running the following commands from inside the repo folder:

yarn
yarn build
yarn start hello
yarn start help
yarn start hello --silent
yarn start hello --outFile testFile
cat testFile

What's going on here?

This is a very general overview, see the main repo for more info.

Command Maps

These are mappings from commands to their implementation. They must include a help key, which provides some info about the operation of the command line.

The handleCommand call

This is the most basic function of cmd-funk. It takes only a command map and an optional custom context, then parses and runs the command for you, calling a default output handler.

The Logger

This is a logger provided by cmd-funk. It automatically silences itself when necessary, and uses a unified color scheme and format

Readme

Keywords

none

Package Sidebar

Install

npm i cmd-funk-hello

Weekly Downloads

0

Version

0.1.2

License

MIT

Unpacked Size

4.67 kB

Total Files

16

Last publish

Collaborators

  • fuiste