You're Invited: Meet the Socket team at BSidesSF and RSAC - April 27 - May 1.RSVP
Socket
Sign inDemoInstall
Socket

@byte-this/js-cli

Package Overview
Dependencies
Maintainers
1
Versions
30
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@byte-this/js-cli

Functionality to streamline the process of scripting for the console with javascript

1.0.30
latest
Source
npm
Version published
Weekly downloads
17
88.89%
Maintainers
1
Weekly downloads
 
Created
Source

js-cli-scripting

Streamline the process of creating a CLI using javascript / typescript.

For a demo + instructions on how to use: https://bytethisstore.com/articles/pg/js-cli

Getting Started

This readme will outline how to use this project. If you'd like to view an example, or just jump in, the example-cli.ts script contains a basic cli application with a few sample commands.

How To Use

  • Create one or more commands for the program to use.
  • Setup the application to use these commands with optional arguments for logging and requesting user input.
  • Let the CliApplication class orchestrate the rest.
const TestCommand: iCliCommand = {
    name: "Test Command", //name for internal use
    displayText: "Print some test text to the console",
    tokens: ["test-print", "t-p"],
    requiredParams: [
        {
            name: "txt",
            displayText: "Text to print",
        },
    ],
    execute: async (
        params: { txt: string },
        cliOutputter: iCliOutputter
    ): Promise<void> => {
        cliOutputter.pushMessage("Txt from user ==>", params.txt);
    },
};

With this kind of definition, the program will request everything under requiredParams from the user, then execute the command and pass in those required commands.

Then, we setup our application runner:

const app = new CliApplication();

app.onQuit(() => {
    process.exit(0);
});

app.startApp(
    {
        startup: {
            initialOutput: "Welcome to the example application",
        },
    },
    new ArrayCliCommandsCollection(commands),
    [...process.argv].slice(2),
    new ConsoleOutputter(),
    new ConsoleUserInputRequestor(new ConsoleOutputter())
);

FAQs

Package last updated on 24 Nov 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts