Context
I am setting up some scripts for using terraform to deploy a node project to AWS and when I execute the commands from the root folder, they do not work. They must be executed from the folder that contains the .tf files. But I am not sure how to do this in my package.json file. The scripts property looks like this:
"scripts": { "start": "node server.js", ... "deploy": "terraform apply" <-- must be run from subfolder }
Search terms
npm scripts working directory
Helpful link
https://stackoverflow.com/questions/30286498/change-working-directory-for-npm-scripts
Outcome
Thanks to the answer provided by eljefedelrodeodeljefe, I learned that you simply have to include “cd FOLDER_NAME &&” before your script and this works across most platforms. So in my case, this looks like the following:
"scripts": { "start": "node server.js", ... "deploy": "cd infrastructure && terraform apply" <-- must be run from subfolder }
One nice thing is that this approach is consistent with the syntax used in a Makefile for a Python project I have recently worked with.