How can I use variables in package.json?
Define a config object in package.json:
{
"name" : "myapp",
"config" : { "port" : "3000" },
...
}
And then you can access port value from scrips object with $npm_package_config_port
{
"name" : "myapp",
"config" : { "port" : "3000" },
"scripts": {
"start" : "node --harmony app.js $npm_package_config_port"
},
...
}
The source full article is here:
http://www.marcusoft.net/2015/08/npm-scripting-configs-and-arguments.html#npm-configuration
Any property from package.json
can be referenced from scripts, prefix it with $npm_package
and adding an _<prop>
(underscore + property) for every nested level.
Example:
{
"name": "appname",
"version": "0.0.1"
}
Here, name
can be access like below:
Linux/Mac: $npm_package_name
or ${npm_package_name}
Windows: %npm_package_name%
And, version
can be access like below:
Linux/Mac: $npm_package_version
or ${npm_package_version}
Windows: %npm_package_version%