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%

Tags:

Node.Js

Npm