turbo: When cache is hit, app can't find the package

What version of Turborepo are you using?

1.0.23

What package manager are you using / does the bug impact?

Yarn v1

What operating system are you using?

Linux

Describe the Bug

When cache it on a Rollup build in a Vercel build, then the app can’t find the package:

My build command on Vercel is: cd ../.. && yarn turbo run build --scope=builder --include-dependencies --no-deps

CleanShot 2021-12-24 at 07 00 17@2x

I’ve tried adding --no-cache, but didn’t work

Expected Behavior

If the cache is hit, it should still create the built files

To Reproduce

  1. Create a packaged package (webpack, rollup or else)
  2. Run a build a second time in a CI env so that cache is hit

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 1
  • Comments: 18 (9 by maintainers)

Commits related to this issue

Most upvoted comments

@jaredpalmer it looks like you’re executing it locally. Our issues happen only in the Vercel build environment.

You can find the issue on one of my project (a modest music blog in french 😅).

It’s a Next.js blog hosted on Vercel where I’ve played with turborepo by splitting the codebase in multiple packages.

Source code is here: https://github.com/guillaumewuip/cmd It does not append at every build. Last occurence of the issue a few minutes ago on: https://github.com/guillaumewuip/cmd/pull/48

Build logs

23:06:55.926 | Cloning github.com/guillaumewuip/cmd (Branch: cmd-29, Commit: 798d9b9)
-- | --
23:07:04.720 | Cloning completed: 8.795s
23:07:04.755 | Analyzing source code...
23:07:05.649 | Installing build runtime...
23:07:08.201 | Build runtime installed: 2.552s
23:07:10.380 | Looking up build cache...
23:07:11.399 | Build cache downloaded [1.79 MB]: 400.786ms
23:07:12.125 | Running "install" command: `npx pnpm install`...
23:07:12.660 | Scope: all 15 workspace projects
23:07:12.768 | ..                                       \| Progress: resolved 1, reused 0, downloaded 0, added 0
23:07:12.891 | ..                                       \| +541 ++++++++++++++++++++++++++++++++
23:07:13.382 | Packages are hard linked from the content-addressable store to the virtual store.
23:07:13.383 | Content-addressable store is at: /vercel/.pnpm-store/v3
23:07:13.383 | Virtual store is at:             ../node_modules/.pnpm
23:07:13.780 | ..                                       \| Progress: resolved 541, reused 0, downloaded 29, added 24
23:07:14.795 | ..                                       \| Progress: resolved 541, reused 0, downloaded 83, added 77
23:07:15.798 | ..                                       \| Progress: resolved 541, reused 0, downloaded 166, added 162
23:07:16.825 | ..                                       \| Progress: resolved 541, reused 0, downloaded 281, added 277
23:07:17.826 | ..                                       \| Progress: resolved 541, reused 0, downloaded 437, added 430
23:07:18.826 | ..                                       \| Progress: resolved 541, reused 0, downloaded 527, added 527
23:07:19.833 | ..                                       \| Progress: resolved 541, reused 0, downloaded 536, added 535
23:07:20.834 | ..                                       \| Progress: resolved 541, reused 0, downloaded 538, added 538
23:07:21.553 | .../esbuild@0.11.23/node_modules/esbuild postinstall$ node install.js
23:07:21.836 | ..                                       \| Progress: resolved 541, reused 0, downloaded 541, added 541, done
23:07:22.636 | .../esbuild@0.11.23/node_modules/esbuild postinstall: Done
23:07:22.642 | .../turbo@1.0.23/node_modules/turbo postinstall$ node install.js
23:07:22.742 | .../turbo@1.0.23/node_modules/turbo postinstall: Done
23:07:22.959 |  
23:07:22.980 | Detected Next.js version: 12.0.7
23:07:23.174 | Running "cd ../ && npx turbo run build  --scope=@cmd/blog --include-dependencies --no-deps"
23:07:23.389 | • Packages in scope: @cmd/blog, @cmd/domain-metadata, @cmd/domain-post, @cmd/domain-rss, @cmd/lib-builder, @cmd/tsconfig, @cmd/ui-article, @cmd/ui-footer, @cmd/ui-header, @cmd/ui-layout, @cmd/ui-music-embed, @cmd/ui-text, @cmd/ui-theme, @cmd/ui-tokens
23:07:23.390 | • Remote computation caching enabled (experimental)
23:07:23.390 | • Running build in 14 packages
23:07:24.180 | @cmd/ui-tokens:build: cache hit, replaying output 8321d60912ed8b96
23:07:24.181 |  
23:07:24.181 | @cmd/ui-tokens:build: > @cmd/ui-tokens@0.0.0 build /vercel/path0/ui/tokens
23:07:24.181 | @cmd/ui-tokens:build: > lib-builder
23:07:24.181 |  
23:07:24.181 |  
23:07:24.181 | @cmd/ui-tokens:build: api-extractor 7.19.2  - https://api-extractor.com/
23:07:24.181 |  
23:07:24.181 | @cmd/ui-tokens:build: Using configuration from ./api-extractor.json
23:07:24.181 | @cmd/ui-tokens:build: Analysis will use the bundled TypeScript version 4.5.4
23:07:24.181 |  
23:07:24.181 | @cmd/ui-tokens:build: API Extractor completed successfully
23:07:24.181 | @cmd/ui-tokens:build: #!/usr/bin/env bash -v
23:07:24.181 | @cmd/ui-tokens:build: set -eu
23:07:24.181 |  
23:07:24.181 | @cmd/ui-tokens:build: rm -rf dist/ dist-*/
23:07:24.182 |  
23:07:24.182 | @cmd/ui-tokens:build: tsc
23:07:24.182 |  
23:07:24.182 | @cmd/ui-tokens:build: if [ -f "api-extractor.json" ]; then
23:07:24.182 | @cmd/ui-tokens:build:   $(dirname "$0")/../node_modules/.bin/api-extractor run --local
23:07:24.182 | @cmd/ui-tokens:build: else
23:07:24.182 | @cmd/ui-tokens:build:   echo No api-extractor.json found.
23:07:24.182 | @cmd/ui-tokens:build: fi
23:07:24.182 |  
23:07:24.182 | @cmd/ui-tokens:build: find dist -type f \( -iname "*.d.ts" -o -iname "*.d.ts.map" \) -exec rm {} +;
23:07:24.219 | @cmd/domain-metadata:build: cache hit, replaying output 0d97362c1b3e65dd
23:07:24.220 |  
23:07:24.220 | @cmd/domain-metadata:build: > @cmd/domain-metadata@0.0.0 build /vercel/path0/domain/metadata
23:07:24.220 | @cmd/domain-metadata:build: > lib-builder
23:07:24.220 |  
23:07:24.220 |  
23:07:24.220 | @cmd/domain-metadata:build: api-extractor 7.19.2  - https://api-extractor.com/
23:07:24.220 |  
23:07:24.220 | @cmd/domain-metadata:build: Using configuration from ./api-extractor.json
23:07:24.220 | @cmd/domain-metadata:build: Analysis will use the bundled TypeScript version 4.5.4
23:07:24.220 |  
23:07:24.220 | @cmd/domain-metadata:build: API Extractor completed successfully
23:07:24.220 | @cmd/domain-metadata:build: #!/usr/bin/env bash -v
23:07:24.220 | @cmd/domain-metadata:build: set -eu
23:07:24.220 |  
23:07:24.220 | @cmd/domain-metadata:build: rm -rf dist/ dist-*/
23:07:24.220 |  
23:07:24.220 | @cmd/domain-metadata:build: tsc
23:07:24.220 |  
23:07:24.220 | @cmd/domain-metadata:build: if [ -f "api-extractor.json" ]; then
23:07:24.221 | @cmd/domain-metadata:build:   $(dirname "$0")/../node_modules/.bin/api-extractor run --local
23:07:24.221 | @cmd/domain-metadata:build: else
23:07:24.221 | @cmd/domain-metadata:build:   echo No api-extractor.json found.
23:07:24.221 | @cmd/domain-metadata:build: fi
23:07:24.221 |  
23:07:24.221 | @cmd/domain-metadata:build: find dist -type f \( -iname "*.d.ts" -o -iname "*.d.ts.map" \) -exec rm {} +;
23:07:24.838 | @cmd/ui-theme:build: cache hit, replaying output 1f86ae76c87d525f
23:07:24.838 |  
23:07:24.838 | @cmd/ui-theme:build: > @cmd/ui-theme@0.0.0 build /vercel/path0/ui/theme
23:07:24.838 | @cmd/ui-theme:build: > lib-builder
23:07:24.838 |  
23:07:24.838 |  
23:07:24.838 | @cmd/ui-theme:build: api-extractor 7.19.2  - https://api-extractor.com/
23:07:24.838 |  
23:07:24.838 | @cmd/ui-theme:build: Using configuration from ./api-extractor.json
23:07:24.838 | @cmd/ui-theme:build: Analysis will use the bundled TypeScript version 4.5.4
23:07:24.839 |  
23:07:24.839 | @cmd/ui-theme:build: API Extractor completed successfully
23:07:24.839 | @cmd/ui-theme:build: #!/usr/bin/env bash -v
23:07:24.839 | @cmd/ui-theme:build: set -eu
23:07:24.839 |  
23:07:24.839 | @cmd/ui-theme:build: rm -rf dist/ dist-*/
23:07:24.839 |  
23:07:24.839 | @cmd/ui-theme:build: tsc
23:07:24.839 |  
23:07:24.839 | @cmd/ui-theme:build: if [ -f "api-extractor.json" ]; then
23:07:24.839 | @cmd/ui-theme:build:   $(dirname "$0")/../node_modules/.bin/api-extractor run --local
23:07:24.839 | @cmd/ui-theme:build: else
23:07:24.839 | @cmd/ui-theme:build:   echo No api-extractor.json found.
23:07:24.839 | @cmd/ui-theme:build: fi
23:07:24.839 |  
23:07:24.839 | @cmd/ui-theme:build: find dist -type f \( -iname "*.d.ts" -o -iname "*.d.ts.map" \) -exec rm {} +;
23:07:24.888 | @cmd/domain-post:build: cache hit, replaying output 681332eb9d327747
23:07:24.888 |  
23:07:24.888 | @cmd/domain-post:build: > @cmd/domain-post@0.0.0 build /vercel/path0/domain/post
23:07:24.888 | @cmd/domain-post:build: > lib-builder
23:07:24.888 |  
23:07:24.888 |  
23:07:24.888 | @cmd/domain-post:build: api-extractor 7.19.2  - https://api-extractor.com/
23:07:24.888 |  
23:07:24.888 | @cmd/domain-post:build: Using configuration from ./api-extractor.json
23:07:24.889 | @cmd/domain-post:build: Analysis will use the bundled TypeScript version 4.5.4
23:07:24.889 |  
23:07:24.889 | @cmd/domain-post:build: API Extractor completed successfully
23:07:24.890 | @cmd/domain-post:build: #!/usr/bin/env bash -v
23:07:24.890 | @cmd/domain-post:build: set -eu
23:07:24.890 |  
23:07:24.890 | @cmd/domain-post:build: rm -rf dist/ dist-*/
23:07:24.890 |  
23:07:24.890 | @cmd/domain-post:build: tsc
23:07:24.890 |  
23:07:24.890 | @cmd/domain-post:build: if [ -f "api-extractor.json" ]; then
23:07:24.890 | @cmd/domain-post:build:   $(dirname "$0")/../node_modules/.bin/api-extractor run --local
23:07:24.890 | @cmd/domain-post:build: else
23:07:24.890 | @cmd/domain-post:build:   echo No api-extractor.json found.
23:07:24.890 | @cmd/domain-post:build: fi
23:07:24.891 |  
23:07:24.891 | @cmd/domain-post:build: find dist -type f \( -iname "*.d.ts" -o -iname "*.d.ts.map" \) -exec rm {} +;
23:07:25.447 | @cmd/ui-text:build: cache hit, replaying output a8399bfacc7d0d7c
23:07:25.447 |  
23:07:25.447 | @cmd/ui-text:build: > @cmd/ui-text@0.0.0 build /vercel/path0/ui/text
23:07:25.447 | @cmd/ui-text:build: > lib-builder
23:07:25.447 |  
23:07:25.447 |  
23:07:25.447 | @cmd/ui-text:build: api-extractor 7.19.2  - https://api-extractor.com/
23:07:25.447 |  
23:07:25.447 | @cmd/ui-text:build: Using configuration from ./api-extractor.json
23:07:25.447 | @cmd/ui-text:build: Analysis will use the bundled TypeScript version 4.5.4
23:07:25.448 |  
23:07:25.448 | @cmd/ui-text:build: API Extractor completed successfully
23:07:25.448 | @cmd/ui-text:build: #!/usr/bin/env bash -v
23:07:25.448 | @cmd/ui-text:build: set -eu
23:07:25.448 |  
23:07:25.448 | @cmd/ui-text:build: rm -rf dist/ dist-*/
23:07:25.448 |  
23:07:25.448 | @cmd/ui-text:build: tsc
23:07:25.448 |  
23:07:25.448 | @cmd/ui-text:build: if [ -f "api-extractor.json" ]; then
23:07:25.448 | @cmd/ui-text:build:   $(dirname "$0")/../node_modules/.bin/api-extractor run --local
23:07:25.448 | @cmd/ui-text:build: else
23:07:25.448 | @cmd/ui-text:build:   echo No api-extractor.json found.
23:07:25.448 | @cmd/ui-text:build: fi
23:07:25.448 |  
23:07:25.448 | @cmd/ui-text:build: find dist -type f \( -iname "*.d.ts" -o -iname "*.d.ts.map" \) -exec rm {} +;
23:07:25.497 | @cmd/ui-header:build: cache hit, replaying output c2408f968320f4a6
23:07:25.497 |  
23:07:25.497 | @cmd/ui-header:build: > @cmd/ui-header@0.0.0 build /vercel/path0/ui/header
23:07:25.497 | @cmd/ui-header:build: > lib-builder
23:07:25.497 |  
23:07:25.497 |  
23:07:25.497 | @cmd/ui-header:build: api-extractor 7.19.2  - https://api-extractor.com/
23:07:25.497 |  
23:07:25.498 | @cmd/ui-header:build: Using configuration from ./api-extractor.json
23:07:25.498 | @cmd/ui-header:build: Analysis will use the bundled TypeScript version 4.5.4
23:07:25.498 |  
23:07:25.498 | @cmd/ui-header:build: API Extractor completed successfully
23:07:25.498 | @cmd/ui-header:build: #!/usr/bin/env bash -v
23:07:25.498 | @cmd/ui-header:build: set -eu
23:07:25.498 |  
23:07:25.498 | @cmd/ui-header:build: rm -rf dist/ dist-*/
23:07:25.498 |  
23:07:25.498 | @cmd/ui-header:build: tsc
23:07:25.498 |  
23:07:25.498 | @cmd/ui-header:build: if [ -f "api-extractor.json" ]; then
23:07:25.498 | @cmd/ui-header:build:   $(dirname "$0")/../node_modules/.bin/api-extractor run --local
23:07:25.498 | @cmd/ui-header:build: else
23:07:25.498 | @cmd/ui-header:build:   echo No api-extractor.json found.
23:07:25.498 | @cmd/ui-header:build: fi
23:07:25.498 |  
23:07:25.498 | @cmd/ui-header:build: find dist -type f \( -iname "*.d.ts" -o -iname "*.d.ts.map" \) -exec rm {} +;
23:07:25.498 | @cmd/ui-layout:build: cache hit, replaying output afd07bf11922e684
23:07:25.498 |  
23:07:25.498 | @cmd/ui-layout:build: > @cmd/ui-layout@0.0.0 build /vercel/path0/ui/layout
23:07:25.498 | @cmd/ui-layout:build: > lib-builder
23:07:25.498 |  
23:07:25.498 |  
23:07:25.498 | @cmd/ui-layout:build: api-extractor 7.19.2  - https://api-extractor.com/
23:07:25.498 |  
23:07:25.498 | @cmd/ui-layout:build: Using configuration from ./api-extractor.json
23:07:25.498 | @cmd/ui-layout:build: Analysis will use the bundled TypeScript version 4.5.4
23:07:25.498 |  
23:07:25.498 | @cmd/ui-layout:build: API Extractor completed successfully
23:07:25.498 | @cmd/ui-layout:build: #!/usr/bin/env bash -v
23:07:25.498 | @cmd/ui-layout:build: set -eu
23:07:25.498 |  
23:07:25.499 | @cmd/ui-layout:build: rm -rf dist/ dist-*/
23:07:25.499 |  
23:07:25.499 | @cmd/ui-layout:build: tsc
23:07:25.499 |  
23:07:25.499 | @cmd/ui-layout:build: if [ -f "api-extractor.json" ]; then
23:07:25.499 | @cmd/ui-layout:build:   $(dirname "$0")/../node_modules/.bin/api-extractor run --local
23:07:25.499 | @cmd/ui-layout:build: else
23:07:25.499 | @cmd/ui-layout:build:   echo No api-extractor.json found.
23:07:25.499 | @cmd/ui-layout:build: fi
23:07:25.499 |  
23:07:25.499 | @cmd/ui-layout:build: find dist -type f \( -iname "*.d.ts" -o -iname "*.d.ts.map" \) -exec rm {} +;
23:07:25.516 | @cmd/ui-music-embed:build: cache hit, replaying output b4bdea6f6a7c4d1b
23:07:25.516 |  
23:07:25.517 | @cmd/ui-music-embed:build: > @cmd/ui-music-embed@0.0.0 build /vercel/path0/ui/music-embed
23:07:25.517 | @cmd/ui-music-embed:build: > lib-builder
23:07:25.517 |  
23:07:25.517 |  
23:07:25.517 | @cmd/ui-music-embed:build: api-extractor 7.19.2  - https://api-extractor.com/
23:07:25.517 |  
23:07:25.517 | @cmd/ui-music-embed:build: Using configuration from ./api-extractor.json
23:07:25.517 | @cmd/ui-music-embed:build: Analysis will use the bundled TypeScript version 4.5.4
23:07:25.517 |  
23:07:25.517 | @cmd/ui-music-embed:build: API Extractor completed successfully
23:07:25.517 | @cmd/ui-music-embed:build: #!/usr/bin/env bash -v
23:07:25.517 | @cmd/ui-music-embed:build: set -eu
23:07:25.517 |  
23:07:25.517 | @cmd/ui-music-embed:build: rm -rf dist/ dist-*/
23:07:25.517 |  
23:07:25.517 | @cmd/ui-music-embed:build: tsc
23:07:25.517 |  
23:07:25.517 | @cmd/ui-music-embed:build: if [ -f "api-extractor.json" ]; then
23:07:25.517 | @cmd/ui-music-embed:build:   $(dirname "$0")/../node_modules/.bin/api-extractor run --local
23:07:25.517 | @cmd/ui-music-embed:build: else
23:07:25.517 | @cmd/ui-music-embed:build:   echo No api-extractor.json found.
23:07:25.517 | @cmd/ui-music-embed:build: fi
23:07:25.517 |  
23:07:25.517 | @cmd/ui-music-embed:build: find dist -type f \( -iname "*.d.ts" -o -iname "*.d.ts.map" \) -exec rm {} +;
23:07:25.555 | @cmd/domain-rss:build: cache hit, replaying output 42c5e8b5a155311c
23:07:25.555 |  
23:07:25.555 | @cmd/domain-rss:build: > @cmd/domain-rss@0.0.0 build /vercel/path0/domain/rss
23:07:25.555 | @cmd/domain-rss:build: > lib-builder
23:07:25.555 |  
23:07:25.555 |  
23:07:25.555 | @cmd/domain-rss:build: api-extractor 7.19.2  - https://api-extractor.com/
23:07:25.555 |  
23:07:25.555 | @cmd/domain-rss:build: Using configuration from ./api-extractor.json
23:07:25.555 | @cmd/domain-rss:build: Analysis will use the bundled TypeScript version 4.5.4
23:07:25.555 |  
23:07:25.555 | @cmd/domain-rss:build: API Extractor completed successfully
23:07:25.555 | @cmd/domain-rss:build: #!/usr/bin/env bash -v
23:07:25.556 | @cmd/domain-rss:build: set -eu
23:07:25.556 |  
23:07:25.556 | @cmd/domain-rss:build: rm -rf dist/ dist-*/
23:07:25.556 |  
23:07:25.556 | @cmd/domain-rss:build: tsc
23:07:25.556 |  
23:07:25.556 | @cmd/domain-rss:build: if [ -f "api-extractor.json" ]; then
23:07:25.556 | @cmd/domain-rss:build:   $(dirname "$0")/../node_modules/.bin/api-extractor run --local
23:07:25.556 | @cmd/domain-rss:build: else
23:07:25.556 | @cmd/domain-rss:build:   echo No api-extractor.json found.
23:07:25.556 | @cmd/domain-rss:build: fi
23:07:25.556 |  
23:07:25.556 | @cmd/domain-rss:build: find dist -type f \( -iname "*.d.ts" -o -iname "*.d.ts.map" \) -exec rm {} +;
23:07:26.102 | @cmd/ui-article:build: cache hit, replaying output 736b4d3e564165c1
23:07:26.102 |  
23:07:26.102 | @cmd/ui-article:build: > @cmd/ui-article@0.0.0 build /vercel/path0/ui/article
23:07:26.102 | @cmd/ui-article:build: > lib-builder
23:07:26.102 |  
23:07:26.102 |  
23:07:26.102 | @cmd/ui-article:build: api-extractor 7.19.2  - https://api-extractor.com/
23:07:26.102 |  
23:07:26.102 | @cmd/ui-article:build: Using configuration from ./api-extractor.json
23:07:26.102 | @cmd/ui-article:build: Analysis will use the bundled TypeScript version 4.5.4
23:07:26.102 |  
23:07:26.102 | @cmd/ui-article:build: API Extractor completed successfully
23:07:26.102 | @cmd/ui-article:build: #!/usr/bin/env bash -v
23:07:26.102 | @cmd/ui-article:build: set -eu
23:07:26.103 |  
23:07:26.103 | @cmd/ui-article:build: rm -rf dist/ dist-*/
23:07:26.103 |  
23:07:26.103 | @cmd/ui-article:build: tsc
23:07:26.103 |  
23:07:26.103 | @cmd/ui-article:build: if [ -f "api-extractor.json" ]; then
23:07:26.103 | @cmd/ui-article:build:   $(dirname "$0")/../node_modules/.bin/api-extractor run --local
23:07:26.103 | @cmd/ui-article:build: else
23:07:26.103 | @cmd/ui-article:build:   echo No api-extractor.json found.
23:07:26.103 | @cmd/ui-article:build: fi
23:07:26.103 |  
23:07:26.103 | @cmd/ui-article:build: find dist -type f \( -iname "*.d.ts" -o -iname "*.d.ts.map" \) -exec rm {} +;
23:07:26.138 | @cmd/ui-footer:build: cache hit, replaying output cceae467abe10ad4
23:07:26.139 |  
23:07:26.139 | @cmd/ui-footer:build: > @cmd/ui-footer@0.0.0 build /vercel/path0/ui/footer
23:07:26.139 | @cmd/ui-footer:build: > lib-builder
23:07:26.139 |  
23:07:26.139 |  
23:07:26.139 | @cmd/ui-footer:build: api-extractor 7.19.2  - https://api-extractor.com/
23:07:26.139 |  
23:07:26.139 | @cmd/ui-footer:build: Using configuration from ./api-extractor.json
23:07:26.139 | @cmd/ui-footer:build: Analysis will use the bundled TypeScript version 4.5.4
23:07:26.139 |  
23:07:26.139 | @cmd/ui-footer:build: API Extractor completed successfully
23:07:26.139 | @cmd/ui-footer:build: #!/usr/bin/env bash -v
23:07:26.139 | @cmd/ui-footer:build: set -eu
23:07:26.139 |  
23:07:26.139 | @cmd/ui-footer:build: rm -rf dist/ dist-*/
23:07:26.139 |  
23:07:26.139 | @cmd/ui-footer:build: tsc
23:07:26.139 |  
23:07:26.139 | @cmd/ui-footer:build: if [ -f "api-extractor.json" ]; then
23:07:26.139 | @cmd/ui-footer:build:   $(dirname "$0")/../node_modules/.bin/api-extractor run --local
23:07:26.140 | @cmd/ui-footer:build: else
23:07:26.140 | @cmd/ui-footer:build:   echo No api-extractor.json found.
23:07:26.140 | @cmd/ui-footer:build: fi
23:07:26.140 |  
23:07:26.140 | @cmd/ui-footer:build: find dist -type f \( -iname "*.d.ts" -o -iname "*.d.ts.map" \) -exec rm {} +;
23:07:26.493 | @cmd/blog:build: cache miss, executing 72e4d855f82e3b91
23:07:26.979 |  
23:07:26.979 | @cmd/blog:build: > @cmd/blog@0.0.0 build /vercel/path0/blog
23:07:26.979 | @cmd/blog:build: > next build
23:07:26.979 |  
23:07:27.722 | @cmd/blog:build: info  - Checking validity of types...
23:07:31.338 | @cmd/blog:build:  ELIFECYCLE  Command failed with exit code 1.
23:07:31.343 | @cmd/blog:build: Failed to compile.
23:07:31.344 |  
23:07:31.344 | @cmd/blog:build: ./lib/posts.ts:11:22
23:07:31.344 | @cmd/blog:build: Type error: Could not find a declaration file for module '@cmd/domain-post'. '/vercel/path0/domain/post/dist/index.js' implicitly has an 'any' type.
23:07:31.344 | @cmd/blog:build:   Try `npm i --save-dev @types/cmd__domain-post` if it exists or add a new declaration (.d.ts) file containing `declare module '@cmd/domain-post';`
23:07:31.344 |  
23:07:31.344 | @cmd/blog:build:    9 \| import { pipe } from 'fp-ts/function';
23:07:31.344 | @cmd/blog:build:   10 \|
23:07:31.344 | @cmd/blog:build: > 11 \| import { Post } from '@cmd/domain-post';
23:07:31.344 | @cmd/blog:build:      \|                      ^
23:07:31.344 | @cmd/blog:build:   12 \|
23:07:31.344 | @cmd/blog:build:   13 \| import * as SiteMetadata from '../metadata';
23:07:31.345 | @cmd/blog:build:   14 \|
23:07:31.345 | @cmd/blog:build: Error: command finished with error: exit status 1
23:07:31.376 | Error: Command "cd ../ && npx turbo run build  --scope=@cmd/blog --include-dependencies --no-deps" exited with 1

Note the multiple cache hit, even for @cmd/domain-post. But @cmd/domain-post build result is not available for @cmd/blog:build.

I’m adding --force back in the Vercel build command for now to be able to merge the PR.

My build command (with --force added):

cd ../ && npx turbo run build  --force --scope=@cmd/blog --include-dependencies --no-deps

I confirm it works with --force flag. But then what’s the point 😭

I added another Rollup-packaged package (with a different config) into the repo and it also fails when the cache is hit.

Have you tried to reproduce this? My guess is that it always happens in the Vercel build environment for any package built from a module bundler.

Guys, that’s so dumb but I forgot to add the distribution folder in the outputs field in config.

That solves the issue.

More info: https://turborepo.org/docs/features/caching

Please file support tickets with Vercel if this is still happening. Thanks!

@flowirtz investigating. In the future, file a support ticket with Vercel