Tag: Learning

  • Working folder for npm scripts

    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.