Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
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 1 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.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.