cli.mjs provides essential tools for JS CLI apps. Features:
- Platform-agnostic OS args.
- Works in Deno.
- Works in Node.
- Always empty in browsers.
- Platform-agnostic console clearing.
- Parsing of CLI flags.
- Tiny, no external dependencies.
CLI args:
import * as cl from 'https://cdn.jsdelivr.net/npm/@mitranim/[email protected]/cli.mjs'
const cli = cl.Flag.os()
console.log(...cli.entries())
console.log(...cli.args)
Console clearing:
import * as cl from 'https://cdn.jsdelivr.net/npm/@mitranim/[email protected]/cli.mjs'
cl.emptty()
Clearing the console only once, before running your code:
import 'https://cdn.jsdelivr.net/npm/@mitranim/[email protected]/cli_emptty.mjs'
Links: source; test/example.
Parser for CLI args. Features:
- Supports flags prefixed with
-
,--
. - Supports
=
pairs. - Separates flags from unflagged args.
- Parses flags into a map.
- Stores remaining args as an array.
- On-demand parsing of booleans and numbers.
const cli = cl.Flag.os()
const args = cli.args
const watch = cli.boolOpt(`w`)
The following APIs are exported but undocumented. Check cli.mjs.
function args
function arg
function consoleCols
function emptty
class EnvMap
const TERM_ESC
const TERM_ESC_CSI
const TERM_ESC_CUP
const TERM_ESC_ERASE2
const TERM_ESC_ERASE3
const TERM_ESC_RESET
const TERM_ESC_CLEAR_SOFT
const TERM_ESC_CLEAR_HARD
function arrClearSoft
function arrClearHard
function timed