
Security News
/Research
Wallet-Draining npm Package Impersonates Nodemailer to Hijack Crypto Transactions
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
get-arguments
Advanced tools
Returns the object with CLI command, arguments and values passed by the user.
get-arguments
package gets the process.argv
and returns object with command and arguments passed by the user in the command line.
npm install get-arguments
Considering that there is "bin" : { "myapp" : "./cli.js" }
in your package.json
file:
//cli.js
const args = require('get-arguments');
const commandName = "myapp"; //your CLI command name
const validCommands = ['init','config','update','list','build']; //your allowed commands
args(commandName,validCommands,function(argsObject){
if(argsObject===null) return;
//argsObject returns null if:
//the incorrect command was typed by the user
//the arguments syntax typed by the user was incorrect
//do your magic here
//use argsObject.command
//use argsObject.args
});
If the user types incorrect command, the following message in the command line is printed:
Usage: myapp <command>
where <command> is one of:
init,
config,
update,
list,
build
//cli.js
const args = require('get-arguments');
args(function(argsObject){
if(argsObject===null) return;
//argsObject returns null if:
//the arguments syntax typed by the user was incorrect
//do your magic here
//use argsObject.command
//use argsObject.args
});
The user can pass a command with:
> myapp command
> myapp command valA valB valC
> myapp command -p val
> myapp command --param val
> myapp command -p valueA valueB valueC --force
> myapp command --name John --age 25 --title "New Project"
> myapp command valA valB --param
> myapp command valA valB -p
If the user types incorrect arguments syntax, the following message in the command line is printed:
Invalid arguments.
> myapp init
{
command:'init',
args:[]
}
> myapp build a b c
{
command:'build',
args:['a','b','c']
}
> myapp config --get name title age
{
command:'config',
args:{
'--get':['name','title','age']
}
}
> myapp config --get name title age --set title "New Title"
{
command:'config',
args:{
'--get':['name','title','age'],
'--set':['title','New Title']
}
}
> myapp init --path ./project --async -f
{
command:'init',
args:{
'--path':['./project'],
'--async':[],
'-f':[]
}
}
FAQs
Returns the object with CLI command, arguments and values passed by the user.
The npm package get-arguments receives a total of 5 weekly downloads. As such, get-arguments popularity was classified as not popular.
We found that get-arguments 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
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.