temir
Cliffy
Our great sponsors
temir | Cliffy | |
---|---|---|
2 | 1 | |
1,027 | 347 | |
- | - | |
0.0 | 0.0 | |
5 months ago | almost 2 years ago | |
TypeScript | TypeScript | |
MIT License | ISC License |
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.
temir
Cliffy
-
Is Node.js a good way to implement a CLI app with persistence?
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.
What are some alternatives?
vkcn-reporter - Tool that helps to detect VKCN violations across the whole project
oclif - CLI for generating, building, and releasing oclif CLIs. Built by Salesforce.
Commander.js - node.js command-line interfaces made easy
listr - Terminal task list
Ink - 🌈 React for interactive command-line apps
cli-table3 - Pretty unicode tables for the command line
terminal-image - Display images in the terminal
cli-truncate - Truncate a string to a specific width in the terminal
Bit - A build system for development of composable software.
DraftLog - 📜 Create mutable log lines into the terminal, and give life to your logs!
zx - A tool for writing better scripts
gradient-string - :rainbow: Beautiful color gradients in terminal output