node.jsnpm

How can I use variables in package.json?


There is a feature from maven I miss a lot in package.json. In maven .pom file you can define variables in parent project and use them in child project's pom files.

Is there something like this in npm? We are building modular project and I want to define dependency versions centrally and them to be used in respective package.json files.

Thanks


Solution

  • 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%