cliui
npmv9.0.1easily create complex multi-column command-line-interfaces
Adopt with care
cliui is usable, with caveats. Last published 542 days ago. 2 releases in the last 2 years.
- AAdoption: grade A, Excellent.
212.4M downloads per week and 1 known dependents.
- CMaintenance: grade C, Fair — worth a look.
Last published 542 days ago. 2 releases in the last 2 years.
- AWeight: grade A, Excellent.
Pulls in 4 transitive packages, about 82 KB installed (at least — some of the tree is still being crawled).
- ASupply chain: grade A, Excellent.
No install scripts, 2 maintainers, and a contained dependency surface.
- ALicense: grade A, Excellent.
ISC — permissive, with no copyleft found in the dependency tree.
Grades are computed deterministically from registry metadata collected by PackageGraph — downloads, dependents, publish dates, the resolved dependency tree, maintainer count, and declared licenses. No third-party scores are used.
Install cost
What you actually take on by adding cliui to a project.
Runtime packages this one declares itself.
Distinct packages in the full runtime tree, deduplicated the way a package manager would.
Unpacked size of this package plus its entire runtime tree.
Longest resolved dependency chain below this package.
Part of this dependency tree has not been crawled yet, so these figures are a lower bound rather than a final total.
Licenses in the dependency tree
Every license you inherit by installing cliui, not just its own. Check this before a legal review, not after.
Compatibility
- Node.js
- node >=20
- Module format
- ESM + CommonJS
- TypeScript
- No bundled types
- Install scripts
- None
Quick start
A usage example from the cliui README.
const ui = require('cliui')()
const {Chalk} = require('chalk');
const chalk = new Chalk();
ui.div('Usage: $0 [command] [options]')
ui.div({
text: 'Options:',
padding: [2, 0, 1, 0]
})
ui.div(
{
text: "-f, --file",cliui vs the alternatives
Packages solving a similar problem in the npm ecosystem, compared on the signals that drive an adoption decision.
| Package | Weekly downloads | Dependents | License | Last release |
|---|---|---|---|---|
| cliuithis page | 212.4M | 1 | ISC | 1 year ago |
| string-width | 0 | 3 | MIT | 1 day ago |
| has-flag | 166.9M | 1 | MIT | 1 day ago |
| meow | 36.7M | 1 | MIT | 1 day ago |
| supports-hyperlinks | 35.4M | 1 | MIT | 1 day ago |
| terminal-link | 18.8M | 1 | MIT | 1 day ago |
Dependencies
Declared by cliui v9.0.1. Runtime dependencies are installed with the package; dev dependencies are not.
Runtime (3)
Dev (15)
Used by
Popular packages that depend on cliui.
Relationship graph
Dependencies (left) and dependents (right) of cliui.
Frequently installed together
Like which(1) unix command. Find the first instance of an executable in the PATH.
the mighty option parser used by yargs
An AST-based pattern checker for JavaScript.
A tiny (183B to 210B) and fast utility to ascend parent directories
the bare-bones internationalization library used by yargs
TypeScript definitions for chai
TypeScript definitions for node
Get the visual width of a string - the number of columns required to display it
Cross platform child_process#spawn and child_process#spawnSync
[](https://travis-ci.org/stefanpenner/get-caller-file) [](https://ci.a
BDD/TDD assertion library for node.js and the browser. Test framework agnostic.
Babel preset for TypeScript.
Release history
2 releases in the last two years, typically about 39 days apart.
| Version | Published | Size | License |
|---|---|---|---|
| 9.0.1latest | 1 year ago | 56 KB | ISC |
| 9.0.0 | 1 year ago | 55 KB | ISC |
| 8.0.1 | 4 years ago | 32 KB | ISC |
| 8.0.0 | 4 years ago | 31 KB | ISC |
| 7.0.4 | 5 years ago | 30 KB | ISC |
| 7.0.3 | 5 years ago | 29 KB | ISC |
| 7.0.2 | 5 years ago | 29 KB | ISC |
| 7.0.1 | 6 years ago | 29 KB | ISC |
| 7.0.0 | 6 years ago | 28 KB | ISC |
| 6.0.0 | 6 years ago | 15 KB | ISC |
| 5.0.0 | 7 years ago | 14 KB | ISC |
| 4.1.0 | 8 years ago | 14 KB | ISC |
| 4.0.0 | 8 years ago | — | ISC |
| 3.2.0 | 10 years ago | — | ISC |
| 3.1.2 | 10 years ago | — | ISC |
Overview
cliui is an npm package that easily create complex multi-column command-line-interfaces. It is extremely widely used, with about 212.4M downloads per week and 1 known dependents in the graph. The latest version is 9.0.1, released under the ISC license.
Who should use it
Teams working in the npm ecosystem who need easily create complex multi-column command-line-interfaces and value a battle-tested, widely-adopted solution.
When not to use it
Consider an alternative if you need to minimize your dependency tree, have first-class TypeScript types out of the box, or if a more actively-maintained option better fits your npm stack.
Pros
- Large, well-established user base (212.4M weekly downloads).
- Clear open-source license (ISC).
Cons
- Large dependency tree (18 direct dependencies) increases install size and audit surface.
- No bundled TypeScript types (may require a separate @types package).
Auto-generated from collected registry metadata. No external claims are inferred.
Frequently asked questions
Should I use cliui?
cliui is usable, with caveats. Last published 542 days ago. 2 releases in the last 2 years.
How do I install cliui?
Run `npm install cliui` to add cliui to your npm project.
How many dependencies does cliui have?
cliui declares 18 direct dependencies and pulls in 4 packages in total once its runtime tree is resolved totalling about 82 KB on disk.
What license is cliui released under?
cliui is distributed under the ISC license.
How popular is cliui?
cliui has approximately 212,350,843 downloads per week and 1 known dependent packages.
Is cliui still maintained?
The most recent release of cliui (v9.0.1) was published 1 year ago.
Does cliui run install scripts?
No. cliui does not define preinstall, install, or postinstall scripts, so installing it does not execute publisher-supplied code.