I’m deploying a TurboRepo project to Vercel, and I’m facing the following issue:
I have a package I’ll call @repo/gi-data, I have an app called gen-gi-data-types, that has a task named generate-files, which generates some .ts files for @repo/gi-data (I don’t/can’t build @repo/gi-data before this task). I then have a second app called gen-gi-data with a generate-files task which dependsOn @repo/gi-data#build and adds files to @repo/gi-data. I have another task gen-gi-helper-data#generate-files that dependsOn @repo/gi-data#build again, but when I do it, I’m facing issues. Here is my turbo.json
{
"$schema": "https://turbo.build/schema.json",
"ui": "tui",
"tasks": {
"build": { // the default build task
"dependsOn": ["^build"],
"inputs": ["$TURBO_DEFAULT$", ".env*"],
"outputs": [".next/**", "!.next/cache/**", "dist/**"]
},
"@repo/gi-data#build": { // generate types before first compile
"dependsOn": ["gen-gi-data-types#generate-files"]
},
"generate-files": {
"dependsOn": ["^generate-files"]
},
"gen-gi-data-types#generate-files": {
"dependsOn": ["@repo/utils#build"], // can ignore
"outputs": ["../../packages/gi-data/src/generated/excel-bin-output/**"]
},
"gen-gi-data#generate-files": {
"dependsOn": ["gen-gi-data-types#generate-files", "@repo/gi-data#build"], // generate types and wait for initial build before adding more files
"outputs": ["../../packages/gi-data/src/generated/**", "!../../packages/gi-data/src/generated/excel-bin-output/**"]
},
"gen-gi-helper-data#generate-files": {
"dependsOn": ["gen-gi-data#generate-files", "@repo/gi-data#build"],
"outputs": ["../../packages/gi-helper-data/src/builds.ts"]
}
}
}
I understand that dependsOn tasks are run in parallel which is why I made @repo/gi-data#build’s dependsOn the way it is, however even if ran parallel in gen-gi-helper-data#generate-files->dependsOn, since the contents of @repo/gi-data have changed shouldn’t it be missing cache and recompiling? But instead it doesn’t recompile and causes me an error.