Sending Command Line Arguments to NPM Script - GeeksforGeeks (2024)

Last Updated : 28 Mar, 2024

Summarize

Comments

Improve

In the sector of NodeJS development, NPM (Node Package Manager) scripts are a effective tool for automating numerous tasks like strolling exams, building the mission, or starting a improvement server. However, there are times while you need to bypass arguments to these scripts to customize their behavior. This article will discover how you can ship command line arguments to NPM scripts.

We will discuss the following methods to send command line arguments to NPM Script:

Using process.argv()

1. Sending a single argument to an NPM script

Explanation: In this code we’re executing an NPM script named “hello” that’s described inside the package.json file. By running NPM run hello and passing the argument — –name=John through the command line, the script script.js accesses this argument and outputs a greeting message. It prints “Hello, John!” which indicate that argument which was send has successfull.

Note: Install the minimist package for using this approach

$ npm i minimist 

CODE

// package.json
{
"scripts": {
"hello": "node script.js"
}
}

Terminal

$ npm run hello -- --name=John
JavaScript
// script.jsconst args = require('minimist')(process.argv.slice(2));const name = args['name'];console.log(`Hello ${name}!`);

Output:

Hello, John!

2. Sending multiple arguments to an npm script:

Explanation: We’re running an npm script referred to as “greet”, passing multiple arguments through the command line the usage of –. The script greet.Js processes those arguments and outputs a greeting message accordingly. In this situation, it prints “Hello, John!” because we provided the name “John” and the greeting “Hello” as arguments.

Note: Install the minimist package for using this approach

$ npm i minimist 

CODE

// package.json
{
"scripts": {
"greet": "node greet.js"
}
}

Terminal

$ npm run greet -- --name=John --greeting=Hello
JavaScript
// greet.jsconst args = require('minimist')(process.argv.slice(2));const name = args['name'];const greeting = args['greeting'];console.log(`${greeting}, ${name}!`);

Output:

Hello, John!

Using npm_config_ Method

1. Sending a single argument to an npm script:

Explanation: In this code we are running an npm script named “hello” defined in package.json. using NPM run hello, followed by –name=”Jane” in the terminal, we have passed a single argument to the script script.js. The script then uses this argument to output a greeting message “Hello Jane !”.

CODE

// package.json
{
"scripts": {
"hello": "node script.js"
}
}

Terminal

$ npm run hello --name="Jane" 
JavaScript
const nname = process.env.npm_config_name ? process.env.npm_config_name : "John"console.log("Hello", nname, "!")

Output

Hello John !

2. Sending multiple arguments to an npm script:

Explanation: in this code we are excuting an npm script named “greet” specified in package.json. By running npm run hello, followed by –firstName=”Jason” –lastName=”Roy” in the command line, we are passing multiple arguments to the script greet.js. The script accesses these arguments and generates a greeting message accordingly. In this case, it’s output is “Hello Jason Roy”

CODE

// package.json
{
"scripts": {
"hello": "node script.js"
}
}

Terminal:

$ npm run hello --firstName="Jason" --lastName="Roy"
JavaScript
const firstName = process.env.npm_config_firstName ?  process.env.npm_config_firstName : "John"const lastName = process.env.npm_config_lastName ?  process.env.npm_config_lastName : "Doe"console.log("Hello", firstName, lastName)

Output

Hello John Doe


Sending Command Line Arguments to NPM Script - GeeksforGeeks (1)

Improve

Please Login to comment...

Sending Command Line Arguments to NPM Script - GeeksforGeeks (2024)
Top Articles
How To Set Up Automatic Dividend Reinvestment With Fidelity
Convert $3,300 per month to Yearly salary | Talent.com
Rosy Boa Snake — Turtle Bay
Blorg Body Pillow
123Movies Encanto
No Limit Telegram Channel
Mountain Dew Bennington Pontoon
Crossed Eyes (Strabismus): Symptoms, Causes, and Diagnosis
Call of Duty: NEXT Event Intel, How to Watch, and Tune In Rewards
Heska Ulite
Corporate Homepage | Publix Super Markets
414-290-5379
litter - tłumaczenie słowa – słownik angielsko-polski Ling.pl
Mephisto Summoners War
Calmspirits Clapper
D10 Wrestling Facebook
Grasons Estate Sales Tucson
Price Of Gas At Sam's
Check From Po Box 1111 Charlotte Nc 28201
Strange World Showtimes Near Roxy Stadium 14
Sulfur - Element information, properties and uses
Menards Eau Claire Weekly Ad
Morse Road Bmv Hours
Rek Funerals
Speedstepper
Temu Seat Covers
Pacman Video Guatemala
Speechwire Login
Remnants of Filth: Yuwu (Novel) Vol. 4
Darktide Terrifying Barrage
Murphy Funeral Home & Florist Inc. Obituaries
Metro 72 Hour Extension 2022
Xemu Vs Cxbx
Gwu Apps
USB C 3HDMI Dock UCN3278 (12 in 1)
Gpa Calculator Georgia Tech
Tsbarbiespanishxxl
Weather Underground Cedar Rapids
Energy Management and Control System Expert (f/m/d) for Battery Storage Systems | StudySmarter - Talents
Nu Carnival Scenes
Craigslist Woodward
Top 1,000 Girl Names for Your Baby Girl in 2024 | Pampers
War Room Pandemic Rumble
Random Animal Hybrid Generator Wheel
Zom 100 Mbti
Dragon Ball Super Card Game Announces Next Set: Realm Of The Gods
Canonnier Beachcomber Golf Resort & Spa (Pointe aux Canonniers): Alle Infos zum Hotel
6463896344
Arnold Swansinger Family
Jesus Calling Oct 6
Philasd Zimbra
211475039
Latest Posts
Article information

Author: Rev. Porsche Oberbrunner

Last Updated:

Views: 5751

Rating: 4.2 / 5 (73 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Rev. Porsche Oberbrunner

Birthday: 1994-06-25

Address: Suite 153 582 Lubowitz Walks, Port Alfredoborough, IN 72879-2838

Phone: +128413562823324

Job: IT Strategist

Hobby: Video gaming, Basketball, Web surfing, Book restoration, Jogging, Shooting, Fishing

Introduction: My name is Rev. Porsche Oberbrunner, I am a zany, graceful, talented, witty, determined, shiny, enchanting person who loves writing and wants to share my knowledge and understanding with you.