I want to try using npm to run my various build tasks for a web application. I know I can do this by adding a scripts
field to my package.json
like so:
"scripts": { "build": "some build command" },
This gets unwieldy when you have more complex commands with a bunch of options. Is it possible to move these commands to a bash script or something along those lines? Something like:
"scripts": { "build": "build.sh" },
where npm run build
would execute the commands in the build.sh
file?
Reading through this post it seems like it is, but I'm not clear on exactly where I'm supposed to drop my build.sh
file or if I'm missing something.
To define an NPM script, set its name and write the script under the 'scripts' property of your package. json file: To execute your Script, use the 'npm run <NAME-OF-YOUR-SCRIPT>' command. Some predefined aliases convert to npm run, like npm test or npm start, you can use them interchangeably.
Its totally possible...
"scripts": { "build": "./build.sh" },
also, make sure you put a hash bang at the top of your bash file #!/usr/bin/env bash
also make sure you have permissions to execute the file
chmod +x ./build.sh
Finally, the command to run build in npm would be
npm run build
If you don't want to bother with giving permissions and the env you execute the script has for example sh, you could just do
"scripts": { "build": "sh ./build.sh" }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With