Cleye simplifies CLI development by handling argv parsing, providing strongly typed parameters and flags, and automatically generating --help documentation.
To use it, call the cli() function with a configuration object defining the script name, positional parameters, and flags.
import { cli } from 'cleye'
// Parse argv
const argv = cli({
name: 'greet.js',
// Define parameters using bracket notation:
// <name> for required, [name] for optional
parameters: [
'<first name>', // First name is required
'[last name]' // Last name is optional
],
// Define flags/options
flags: {
// Parses `--time` as a string
time: {
type: String,
description: 'Time of day to greet (morning or evening)',
default: 'morning'
}
}
})
// Accessing parameters via argv._
const name = [argv._.firstName, argv._.lastName].filter(Boolean).join(' ')
// Accessing flags via argv.flags
if (argv.flags.time === 'morning') {
console.log(`Good morning ${name}!`)
} else {
console.log(`Good evening ${name}!`)
}