Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reference specifications and implementations #76

Open
shadowspawn opened this issue Mar 6, 2022 · 9 comments
Open

Reference specifications and implementations #76

shadowspawn opened this issue Mar 6, 2022 · 9 comments

Comments

@shadowspawn
Copy link
Collaborator

shadowspawn commented Mar 6, 2022

I was thinking about what to consult for command-line parsing behaviours which people using the Node.js eco-system are likely to encounter.

The two specifications I am aware of are:

With reference implementations for C programs:


In Javascript world, we can look at npm dependencies as one measure of usage. Packages with over 1000 dependents (on 2022-03-06):

dependants package
61k commander
28k yargs (uses yargs-parser as engine)
19k minimist
6k meow (uses yargs-parser as engine)
4k @oclif/command
2k command-line-args
2k yargs-parser
2k argparse
1k nopt
  • minimist and yargs share the same roots
  • minimist is in maintenance mode.
  • assuming yargs and yargs-parser are distinct for counts

For a second source for usage, this just came out: Census II of Free and Open Source Software — Application Libraries

In the top 500 npm packages as direct dependencies:

z-score package rank
2.2 commander 23
2.1 minimist 28
1.1 yargs 73
1.1 yargs-parser 75
1.1 @radic/yargs (?) 77
0.3 nopt 212
0.05 argparse 344

Across both measures, commander and yargs and minimist are the big 3 covering the majority of direct dependencies.

@shadowspawn

This comment was marked as outdated.

@ljharb

This comment was marked as outdated.

@shadowspawn

This comment was marked as outdated.

@ljharb

This comment was marked as outdated.

@shadowspawn

This comment was marked as outdated.

@emilbayes

This comment was marked as outdated.

@ljharb

This comment was marked as outdated.

@shadowspawn

This comment was marked as outdated.

@ljharb

This comment was marked as outdated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants