DEV Community

Gus
Gus

Posted on • Edited on

How to configure Vercel deploys for a monorepo package

Without configuration, Vercel will create a new deployment any time your repository updates, which is not ideal for monorepos.

With multiple packages, you're probably only hosting one or two on Vercel. So deploying every time any package is changed is unnecessary and might eat up your deployment quota (100/day for the free plan). Luckily, Vercel makes it easy to configure deployments to only happen when a specific package is changed.

Step 1: Navigate to Git settings

Open your Vercel project's dashboard, go to "Settings" > "Git", and scroll to "Ignored Build Step".

Step 2: Add a Git command

If you've configured the Root Directory in Vercel to be the same package you want to trigger deploys, add the following command:



git diff HEAD^ HEAD --quiet ./


Enter fullscreen mode Exit fullscreen mode

But if you've for some reason left the Root Directory as its default value ./, you''ll need to use the package's absolute path instead:



git diff HEAD^ HEAD --quiet ./packages/your-package/


Enter fullscreen mode Exit fullscreen mode

Tip: If you're unsure what your Vercel project's Root Directory is, go to "Settings" > "General" and scroll to "Root Directory".

Step 3: Enjoy fewer deploys

Success! When pushing a change to outside of packages/your-package, Vercel will no longer create a new deployment.

Image description

But if you push a change to packages/your-package, Vercel will build and deploy as usual.

Image description

May you stay on the free plan for a little bit longer ;)

Top comments (3)

Collapse
 
qudo profile image
qudo

hey this is great, but is there a way to make it so when one of the deps changes then it builds apps that use it too? can I provide a list of things to diff somehow?

Collapse
 
jackkeller profile image
Jack Keller

Great tip, I've been running several personal websites through a turborepo and it was frustrating that every push would cause all sites to build and deploy despite not having any updates.

Collapse
 
jessiejones profile image
JessieJones

How do you deploy Monorepo vercel? Tilak Hazarika Mayong contact number