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/js@0.1.85/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/js@0.1.85/cli.mjs'
cl.emptty()Clearing the console only once, before running your code:
import 'https://cdn.jsdelivr.net/npm/@mitranim/js@0.1.85/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 flags = cl.Flag.os()
const args = flags.args
const watch = flags.boolOpt(`-w`)The following APIs are exported but undocumented. Check cli.mjs.
function argsfunction argfunction consoleColsfunction empttyclass EnvMapconst TERM_ESCconst TERM_ESC_CSIconst TERM_ESC_CUPconst TERM_ESC_ERASE2const TERM_ESC_ERASE3const TERM_ESC_RESETconst TERM_ESC_CLEAR_SOFTconst TERM_ESC_CLEAR_HARDfunction arrClearSoftfunction arrClearHardfunction timed