How can I execute PowerShell ps1 scripts from package.json
"scripts"?
I know how to set up a basic script in package.json "scripts". For example with the following configuration, I can exec npm run test
which will output "this is only a test" to the console:
"scripts": {
"test": "echo \"this is only a test\""
}
However, I have a more advanced scenario where I'd like to execute a PowerShell script. Something like this:
"scripts": {
"buildAngular": "buildAngular.ps1"
}
Can I exec a ps1 script like this via the scripts object? Is any special setup/config required? Are there any additional constraints?
Assuming powershell is in you PATH you can call it like this:
Tested on Windows 7 with Powershell v4.
Limitations are that you need Powershell installed and in your PATH. I didn't test it with Powershell for Linux, so not sure if this solution will be portable to other platform for now.
You might set the script-shell config - either via
npm config set script-shell "powershell"
or environment variable$env:npm_config_script_shell="powershell"
Then you could use
or
I'm not sure whether you can supply parameters like -NoProfile though.