Ink VS nestjs-commander

Compare Ink vs nestjs-commander and see what are their differences.

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
Ink nestjs-commander
64 11
25,790 392
- -
6.4 8.8
10 days ago 4 days ago
TypeScript TypeScript
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Ink

Posts with mentions or reviews of Ink. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-12.
  • I created a simple CLI tool that helps you code FAST!
    2 projects | dev.to | 12 Mar 2024
    I've always wanted to build a CLI tool, and when I realized that you can build one using React with Ink, I converted my Python script into a CLI tool.
  • Delete git branches in batches
    2 projects | dev.to | 5 Feb 2024
    โš ๏ธ Git for Windows Terminal is currently not supported, and the tool is limited to ink. We will look for alternatives later. Please use CMD, Vscode terminal's Git... terminal
  • Setup Simple Web UI for Node.js App in Seconds
    2 projects | dev.to | 17 Jan 2024
    There is a good solution for some of those cases - ink. With ink, I can implement text-based UI with knowledge of React, which is neat but there are still some caveats for my usages:
  • Building Reactive CLIs with Ink - React CLI library
    3 projects | dev.to | 3 Nov 2023
    Looks cool, right? Building a similar UI in the terminal without any library would be quite hard, though, thanks to Ink it's almost as easy as building any frontend UI with React.
  • Terminal-like output library for js?
    2 projects | /r/learnjavascript | 26 Jun 2023
    ink?
  • Synchronous File Reading and Writing in Node.js
    1 project | /r/node | 25 Jun 2023
    I'm writing a CLI with ink. Writing async code is important as to not block the rendering and respond to user input. I have a few loading animations that update every 100ms. Synchronous operations can make the animation hang for >500ms, making the animation choppy.
  • Launch HN: Resend (YC W23) โ€“ Email API for Developers Using React
    11 projects | news.ycombinator.com | 13 Jun 2023
    You get the comfort of using react components instead of fighting with HTML tables to make your emails look nice. I think it's awesome! It's analog to what ink[0] does with CLI outputs. Sure, you could write fancy CLI outputs in bash, but ink takes the pain out of it and makes it easy.

    [0] https://github.com/vadimdemedes/ink

  • Is Node.js a good way to implement a CLI app with persistence?
    3 projects | /r/node | 2 Jun 2023
    Due to Node's asynchronous behavior, it makes Node great for long-running processes that make a lot of HTTP requests, database calls, and other async ops, like a web server or a REST API. However, if I am making a CLI tool for pretty much personal use only, with very minimal async operations, then blocking the event loop with a synchronous function that will resolve almost immediately will make no difference perceivable to a human brain or have any speed benefits that someone can actually observe (think `fs.readFileSync` or `require('dotenv') of 10 line config file, or a quick embedded db (sqlite) query with only ~100 records. I'm wondering what the best way to implement the database part of the app synchronous. I can read/write to JSON files but it would be tricky because the data is relational, and some complex joins and other data wrangling operations are required (complex to perform in JS but are easy to implement in a SQL statement). It's not important what the operations are, that's not the point of this post. This is mostly a personal project of interest: making this CLI tool completely avoiding any async operations/using no promises. I would like to use node tho, as I said this is just out of interest and I also want to experiment with several CLI libraries such as Ink or Cliffy.
  • Ink: React for interactive command-line apps
    1 project | /r/patient_hackernews | 8 May 2023
  • Make interactive command-line apps with React
    1 project | /r/reactjs | 8 May 2023

nestjs-commander

Posts with mentions or reviews of nestjs-commander. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-10-13.
  • Nestjs + pnpm monorepo
    7 projects | /r/Nestjs_framework | 13 Oct 2022
    To echo the other's here, Nx has been an amazing dev experience for me! I use it for ogma, for nest-commander, testing-nestjs, and for nest-samples and @nest-lab/, all using pnpm as a package manager.
  • Node.js frameworks
    4 projects | /r/node | 31 Mar 2022
    This absolutely isn't true. I'm both on the core team and a maintainer of several open source modules for Nest (nest-commander for CLI creation, ogma my own logger that has a really powerful interceptor, nestjs-spelunker which can print out an object representation of your Nest application and help with module debugging for dependency resolution, and a few more). The command module is even featured in the docs.
  • Few questions about Nest.js architecture
    1 project | /r/Nestjs_framework | 2 Feb 2022
    4) Nest is great for architectural consistency, but one drawback of the framework is boot time. It's nowhere near as bad as Spring or .NET, but it is much slower than a standard Node or Express server. Though, the new Lazy Loading does help to alleviate some of that pain. Running nest in serverless environments does take extra setup, but it is usable, and packages like nest-commander make it viable for CLIs too. Personally, I pretty much don't write Node applications if they aren't in Nest unless I'm writing super rough prototypes. Typescript has become a must for any long term application, and the structure Nest brings outweighs just about any downsides I've seen from it
  • So far one of the best tools to build CLI interfaces is Oclif by Heroku. What are you all using?
    6 projects | /r/node | 3 Nov 2021
    I work with the NestJS framework a lot and ended up writing nest-commander as a commander wrapper for NestJS, so my CLIs and servers can use the same framework. Lately I've been working on adding in plugin support too.
  • Automating your package deployment in an Nx Monorepo with Changeset
    6 projects | dev.to | 5 Oct 2021
    Overall, I'm pretty excited to have this flow automated and working through three of my favorite package management tools. Everything will also work if you're using a yarn workspace instead, just change the sed script to modify the workspace file for yarn instead of the one for pnpm. I'm currently using this for my ogma and nest-commander repositories, feel free to have a look if you need some inspiration and/or real life examples. If you're developing packages and using an Nx workspace and need automated package deployment, give this a shot.
  • Any good tutorial showing you which library to use for dependency injection in a project?
    9 projects | /r/node | 29 Aug 2021
    There's also packages like nest-commander (disclaimer: that one is also mine) for making CLI applications instead of HTTP servers.
  • Building RESTful API's with Node. What's your approach?
    2 projects | /r/node | 23 Aug 2021
    I've used Express, Fastify, and NestJS for the most part. I almost exclusively work with NestJS now, as you can imagine. The fact that it has an opinionated structure for how to architect your application is something that drew me in to begin with. With almost every Nest application I can pick it up, scan the structure, and have a good idea of what's going to be happening at a very high level. It also has defined classes with specific roles. A guard will always be used for authentication, a pipe will always be for transformation and validation of request information, a filter will always be for error handling. The only one that doesn't have a "this is always for that" is an interceptor, which is pretty much your middleware of the Nest world. Logging, caching, response mapping, it can do it all. There's also using Nest for more than just web servers, as there's nest-commander (one of my packages) for CLI applications, and there's discord bot packages for Nest as well.
  • I built a console command package for NestJS
    2 projects | /r/Nestjs_framework | 26 Jun 2021
    Overall it looks pretty good. I prefer having each class as it's own command line how nest-commander does it, but this seems to be a pretty good alternative
  • Creating a web server with typescript, should I go for express or fastify? Which one has better packages for typescript integration? Any recommendations for packages for each?
    2 projects | /r/node | 20 Jun 2021
    There's two underlying packages, one for either HTTP adapter, @nestjs/platform-express and @nestjs/platfoorm-fastify. Both of these have HttpAdapter classes that implement the abstract HttpAdapter that Nest uses as a main interface. Nest doesn't actually need the adapters to run either, you can make a microservice application that doesn't have any HTTP components, or even CLI applications with community packages (disclaimer: that one is mine). Nest is really there to help provide the modular system and help with architecture (in my opinion).
  • Introducing nest-commander
    1 project | dev.to | 8 Apr 2021
    For more information on the project you can check the repo here. There's also a testing package to help with testing both the commander input and the inquirer input. Feel free to raise any issues or use the #nest-commander channel on the official NestJS Discord

What are some alternatives?

When comparing Ink and nestjs-commander you can also consider the following projects:

Commander.js - node.js command-line interfaces made easy

nest-console - Create beautiful CLI commands in your NestJS Applications

oclif - CLI for generating, building, and releasing oclif CLIs. Built by Salesforce.

routing-controllers - Create structured, declarative and beautifully organized class-based controllers with heavy decorators usage in Express / Koa using TypeScript and Routing Controllers Framework.

blessed - A high-level terminal interface library for node.js.

InversifyJS - A powerful and lightweight inversion of control container for JavaScript & Node.js apps powered by TypeScript.

tui-rs - Build terminal user interfaces and dashboards using Rust

nx - Smart Monorepos ยท Fast CI

PyLaTeX - A Python library for creating LaTeX files

opentelemetry-js - OpenTelemetry JavaScript Client

react-pdf - ๐Ÿ“„ Create PDF files using React

gluegun - A delightful toolkit for building TypeScript-powered command-line apps.