Vanilla JavaScript CLI Script
Build a command-line utility in vanilla JavaScript using process.argv parsing, readline for interactive prompts, chalk-free colored output with ANSI codes,.
Code
import { readFile, writeFile } from 'fs/promises';
import { createInterface } from 'readline';
const args = Object.fromEntries(
process.argv.slice(2).map((a) => {
const [k, v] = a.split('=');
return [k.replace('--', ''), v ?? true];
}),
);
const rl = createInterface({ input: process.stdin, output: process.stdout });
const ask = (q) => new Promise((r) => rl.question(q, r));
const name = args.name ?? (await ask('Project name: '));
await writeFile(`${name}/package.json`, JSON.stringify({ name }, null, 2));
rl.close();