How To Build a CLI With Node.js and React

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • Appwrite - The Open Source Firebase alternative introduces iOS support
  • SurveyJS - Extensible JavaScript Form Builder Libraries
  • InfluxDB - Access the most powerful time series database as a service
  • Ink

    🌈 React for interactive command-line apps

    You're going to build the CLI using Ink, a React component-based library for building interactive CLIs. It uses Yoga to build Flexbox layouts in the terminal, so most CSS-like props are available in Ink as well. Ink is simply a React renderer for the terminal, so all the React features are supported. No need to learn a new syntax specific to Ink.

  • yoga

    Yoga is a cross-platform layout engine which implements Flexbox. Follow https://twitter.com/yogalayout for updates.

    You're going to build the CLI using Ink, a React component-based library for building interactive CLIs. It uses Yoga to build Flexbox layouts in the terminal, so most CSS-like props are available in Ink as well. Ink is simply a React renderer for the terminal, so all the React features are supported. No need to learn a new syntax specific to Ink.

  • Appwrite

    Appwrite - The Open Source Firebase alternative introduces iOS support . Appwrite is an open source backend server that helps you build native iOS applications much faster with realtime APIs for authentication, databases, files storage, cloud functions and much more!

  • meow

    🐈 CLI app helper

    You will notice that it is using meow to read the command and flags. Afterward, it passes the flags to the ui component and renders it. meow is a helper library to parse arguments. The text passed to meow() is the help text shown when you call create-micro-service --help.

  • function-template-js

    Template used as the basis for kazi functions

    The clone() function will then clone the files into the specified directory. The directory name will be the --name flag from the command line. You can find the template’s GitHub repository at github.com/kazi-faas/function-template-js.

  • Micro

    Asynchronous HTTP microservices (by vercel)

    micro: A library for asynchronous HTTP microservices.

  • ink-task-list

    Task runner components for Ink

    You're going to update ui.js to scaffold a new project and show the progress of that action in the terminal. You will use ink-task-list, a task list component for Ink, to display a list of tasks and their progress. You need to install this component to use it.

  • create-micro-service-tutorial

    A CLI to scaffold a new micrservice project. This is for teaching purpose only

    You can get this tutorial's code on GitHub—github.com/pmbanugo/create-micro-service-tutorial

  • SurveyJS

    Extensible JavaScript Form Builder Libraries. SurveyJS is a set of four fully customizable JS libraries that allow you to create, easily modify, and run multiple web forms in any web app, while retaining all sensitive data on your own servers.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts