
Security News
Security Community Slams MIT-linked Report Claiming AI Powers 80% of Ransomware
Experts push back on new claims about AI-driven ransomware, warning that hype and sponsored research are distorting how the threat is understood.
tl-dr; I didn't wrote a parser.
Instead, I used regular expressions for extracting values, flags and other kind of parameters from a string or from an argv-like array.
I've tried commander, minimist, yargs, etc. but no one fulfilled my exact requirements, e.g.
const str = '/ _csrf=`token` --json accept:"text/plain; charset=utf8" -- x';
const argv = ['/', '_csrf=`token`', '--json', 'accept:text/plain; charset=utf8', '--', 'x'];
Both values are representing the same input, the former can be taken from any source while the latter is usually provided by process.argv.slice(2), etc.
Most importantly: these modules will won't work with a string as input.
wargs will do and return: _, raw, data, flags and params.
{
  _: ['/'],
  raw: ['x'],
  data: { _csrf: '`token`' },
  flags: { json: true },
  params: { accept: 'text/plain; charset=utf8' },
}
Hint: It suits -and feels- very well on a repl for making http requests. ;-)
wargs use getopts to understand regular flags, -short or --long, etc.
Also it will collect key:value and key=value values as params and data respectively.
wargs('-x').flags.x; // true
wargs('--x').flags.x; // true
wargs('x:y').params.x; // y
wargs('x=y').data; // { x: 'y' }
wargs('x y')._ // ['x', 'y']
wargs('--x-y', { camelCase: true }).flags; // { xY: true }
wargs('-x y', { format: v => v.toUpperCase() }).flags; // { x: 'Y' }
format — function decorator for all valuescamelCase — normalize keys from --camel-case to camelCasealias, boolean, default and unknown — those are given as is to getoptsxargs, yargs and zargs already existed
FAQs
Wrong args parser
We found that wargs demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Experts push back on new claims about AI-driven ransomware, warning that hype and sponsored research are distorting how the threat is understood.

Security News
Ruby's creator Matz assumes control of RubyGems and Bundler repositories while former maintainers agree to step back and transfer all rights to end the dispute.

Research
/Security News
Socket researchers found 10 typosquatted npm packages that auto-run on install, show fake CAPTCHAs, fingerprint by IP, and deploy a credential stealer.