S Panfilov
S Panfilov

Reputation: 17581

How to pass params from one npm script into another one

Is it possible to run npm script with params from another npm script?

For instance:

"scripts": {
  "build": "node_modules/webpack/bin/webpack.js ", //should get params here
  "build:dev": "npm run build --env.type=dev"
  "build:prod": "npm run build --env.type=prod"
}

So, eventually params such as --env.type=dev should be passed to webpack.

P.S. I tried with $@ but with no luck

How to do that?

Upvotes: 0

Views: 102

Answers (1)

Nazar Sakharenko
Nazar Sakharenko

Reputation: 1007

https://nodejs.org/api/cli.html#cli_1

package.json

"scripts": {
    "tt": "node ./t.js",
    "tt:t": "npm run tt -- --env.type=prod"
  }

t.js

'use strict';

console.log(process.argv);

Result

npm run tt 
> node ./t.js

[ '/home/nazar/.nvm/versions/node/v6.6.0/bin/node',
  '/home/nazar/Workspace/Source/t.js'

npm run tt:t 
> npm run tt -- --env.type=prod
> node ./t.js "--env.type=prod"

[ '/home/nazar/.nvm/versions/node/v6.6.0/bin/node',
  '/home/nazar/Workspace/Source/t.js',
  '--env.type=prod' ]

Upvotes: 1

Related Questions