'How to deploy monorepo powered by turborepo to Vercel?

Recently, Turborepo is acquired by Vercel. So I was excited to experiment with that. I created a turbo repo project by running

pnpx create-turbo

Then I tried to deploy it to Vercel following the documentation here.

It is failing with error "could not found tsconfig/nextjs.json"



Solution 1:[1]

The error was actually caused at tsconfig.json file inside the web module.

The structure of the repo is as follows

- apps
  - docs
  - web
- packages
  - config
  - tsconfig
  - ui

The content of apps/web/tsconfig.json is

{
  "extends": "tsconfig/nextjs.json",
  "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
  "exclude": ["node_modules"]
}

Ideally, it should have been able to work as turbo should understand that.

I could finally deploy the web project with following settings on Vercel

ROOT DIRECTORY: /app/web
BUILD COMMAND: cd ../.. && yarn build
INSTALL COMMAND: cd ../.. && yarn install

Update: (Answer from comments and updated docs)

  • you need to override the Install Command with npm install --prefix=../.. (step 3.5).

Solution 2:[2]

Please upvote Camilo's comment under mayank1513's post as the source (I'm just reposted for visibility and I didn't see it at first and wasted several hours)

If you're using NPM on Vercel with Turborepo please follow this step from Vercel. If you don't you'll get build errors saying roughly "can't find package".

Hope this helps!

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2 athammer