To access a variable in npm scripts you would do something like this in your package.json
:
"scripts": {
"preinstall": "echo ${npm_package_name}"
}
The problem is that works only in Unix, not Windows, where you have to use %npm_package_name%
.
Is there a way to do this OS independent? It will be good if npm could do such a variable expansion, before invoking the command.
To make it cross-platform, use
cross-var
:There's no known way to do this that's OS independent.
A good workaround is to execute the command within a node script:
First, change the
preinstall
command to execute a node script:Then you define the command in the nameEcho.js file: