[READ-ONLY] Mirror of https://github.com/bombshell-dev/args. <1kB CLI flag parser
args args-parser cli command-line command-line-parser node
5

Configure Feed

Select the types of activity you want to include in your feed.

chore: add `node:util` to benchmarks

Nate Moore (Jan 12, 2025, 10:07 PM -0600) dfc7ba33 2351e502

+10 -6
+6 -4
README.md
··· 6 6 7 7 - It's very small. 8 8 - It's very fast. 9 + - It's a nicer API (and faster!) than [`parseArgs` from `node:util`](https://nodejs.org/api/util.html#utilparseargsconfig). 9 10 10 11 ### Usage 11 12 ··· 37 38 ## Benchmarks 38 39 39 40 ``` 40 - mri x 1,285,159 ops/sec ±0.29% (90 runs sampled) 41 - ultraflag x 986,699 ops/sec ±0.38% (91 runs sampled) 42 - minimist x 250,866 ops/sec ±0.59% (92 runs sampled) 43 - yargs-parser x 18,153 ops/sec ±4.30% (85 runs sampled) 41 + mri x 1,650,986 ops/sec ±0.32% (97 runs sampled) 42 + ultraflag x 1,407,191 ops/sec ±0.38% (99 runs sampled) 43 + minimist x 383,506 ops/sec ±0.28% (99 runs sampled) 44 + node:util x 320,953 ops/sec ±0.35% (98 runs sampled) 45 + yargs-parser x 31,874 ops/sec ±1.32% (92 runs sampled) 44 46 ```
+4 -2
scripts/bench.js
··· 1 + import { parseArgs } from 'node:util' 1 2 import benchmark from "benchmark"; 2 - import { parse as ultraflag } from "../dist/index.js"; 3 3 import minimist from 'minimist'; 4 + import mri from 'mri'; 4 5 import yargs from 'yargs-parser'; 5 - import mri from 'mri'; 6 + import { parse as ultraflag } from "../dist/index.js"; 6 7 7 8 const bench = new benchmark.Suite(); 8 9 const args = ['--a=1', '-b', '--bool', '--no-boop', '--multi=foo', '--multi=baz', '-xyz']; ··· 11 12 .add('ultraflag ', () => ultraflag(args)) 12 13 .add('mri ', () => mri(args)) 13 14 .add('minimist ', () => minimist(args)) 15 + .add('node:util', () => parseArgs({ args, strict: false, allowNegative: true, options: { bool: { type: 'boolean', short: 'b' }, boop: { type: 'boolean' }, multi: { type: 'string' }} })) 14 16 .add('yargs-parser ', () => yargs(args)) 15 17 .on('cycle', e => console.log(String(e.target))) 16 18 .run();