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
Programming Knowledge for Automation Testers
MLA Abbreviations - Purdue OWL® - Purdue University
No Hard Feelings Showtimes Near Metropolitan Fiesta 5 Theatre
Kmart near me - Perth, WA
Riverrun Rv Park Middletown Photos
Unit 30 Quiz: Idioms And Pronunciation
Did 9Anime Rebrand
Eric Rohan Justin Obituary
Konkurrenz für Kioske: 7-Eleven will Minisupermärkte in Deutschland etablieren
Produzione mondiale di vino
Violent Night Showtimes Near Amc Fashion Valley 18
Cool Math Games Bucketball
Nalley Tartar Sauce
Gon Deer Forum
Steamy Afternoon With Handsome Fernando
Download Center | Habasit
Jenn Pellegrino Photos
Gem City Surgeons Miami Valley South
Ess.compass Associate Login
Jellyfin Ps5
Google Doodle Baseball 76
Craigslist Clinton Ar
Never Give Up Quotes to Keep You Going
Craigslist Northern Minnesota
Jailfunds Send Message
Riverstock Apartments Photos
Meggen Nut
Craigslistodessa
Filmy Met
The Ultimate Guide to Obtaining Bark in Conan Exiles: Tips and Tricks for the Best Results
Nacogdoches, Texas: Step Back in Time in Texas' Oldest Town
Supermarkt Amsterdam - Openingstijden, Folder met alle Aanbiedingen
Tamilyogi Ponniyin Selvan
T&J Agnes Theaters
Police Academy Butler Tech
Hannibal Mo Craigslist Pets
Otter Bustr
Fifty Shades Of Gray 123Movies
Cpmc Mission Bernal Campus & Orthopedic Institute Photos
Wilson Tattoo Shops
All-New Webkinz FAQ | WKN: Webkinz Newz
Guy Ritchie's The Covenant Showtimes Near Grand Theatres - Bismarck
Mathews Vertix Mod Chart
Exam With A Social Studies Section Crossword
Professors Helpers Abbreviation
Jimmy John's Near Me Open
Dying Light Mother's Day Roof
Verizon Forum Gac Family
Charlotte North Carolina Craigslist Pets
Southwind Village, Southend Village, Southwood Village, Supervision Of Alcohol Sales In Church And Village Halls
7 Sites to Identify the Owner of a Phone Number
Naughty Natt Farting
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.