Skip to content

Fix devlow-bench: tsconfig rootDir mismatch with package.json bin#92800

Merged
mmastrac merged 1 commit into
canaryfrom
mmastrac/fix-devlow-bench
Apr 14, 2026
Merged

Fix devlow-bench: tsconfig rootDir mismatch with package.json bin#92800
mmastrac merged 1 commit into
canaryfrom
mmastrac/fix-devlow-bench

Conversation

@mmastrac
Copy link
Copy Markdown
Contributor

@mmastrac mmastrac commented Apr 14, 2026

What

Change rootDir from "." to "src" in turbopack/packages/devlow-bench/tsconfig.json.

Why

The bin entry in package.json points to dist/cli.js. With rootDir: ".", tsc outputs src/cli.tsdist/src/cli.js — the bin path is never produced by the build.

The pnpm:devPreinstall hook (from #91016) creates a placeholder stub at dist/cli.js. Since the build never overwrites it, turbo caches the placeholder as part of dist/**. On subsequent runs, turbo restores the cached placeholder, and devlow-bench fails with "Local workspace has not been built yet."

How

One-line change: rootDir: "."rootDir: "src". Now tsc outputs src/cli.tsdist/cli.js, matching the bin entry. The placeholder gets properly overwritten by the build.

@nextjs-bot nextjs-bot added the created-by: Turbopack team PRs by the Turbopack team. label Apr 14, 2026
@mmastrac mmastrac force-pushed the mmastrac/fix-devlow-bench branch from 72bc4af to 11e0c39 Compare April 14, 2026 20:18
@mmastrac mmastrac marked this pull request as draft April 14, 2026 20:21
@mmastrac mmastrac force-pushed the mmastrac/fix-devlow-bench branch 5 times, most recently from 0201ad9 to 9ca435b Compare April 14, 2026 20:29
@mmastrac mmastrac marked this pull request as ready for review April 14, 2026 20:32
@mmastrac mmastrac force-pushed the mmastrac/fix-devlow-bench branch from 9ca435b to 31cf5f9 Compare April 14, 2026 20:33
@nextjs-bot
Copy link
Copy Markdown
Contributor

nextjs-bot commented Apr 14, 2026

Tests Passed

@mmastrac mmastrac force-pushed the mmastrac/fix-devlow-bench branch from 31cf5f9 to 12d0870 Compare April 14, 2026 20:49
@nextjs-bot nextjs-bot added the Turbopack Related to Turbopack with Next.js. label Apr 14, 2026
…/cli.js

The bin entry in package.json points to dist/cli.js, but with rootDir: '.'
tsc outputs to dist/src/cli.js. The placeholder stub created by
pnpm:devPreinstall at dist/cli.js was never overwritten by the build,
and turbo cached it as part of dist/**. Change rootDir to 'src' so
tsc outputs directly to dist/cli.js.
@mmastrac mmastrac force-pushed the mmastrac/fix-devlow-bench branch from 12d0870 to 6e27c4e Compare April 14, 2026 20:50
@mmastrac mmastrac changed the title Re-add pnpm install after pnpm build to fix devlow-bench Fix devlow-bench: tsconfig rootDir mismatch with package.json bin Apr 14, 2026
@mmastrac mmastrac merged commit 92daf78 into canary Apr 14, 2026
172 checks passed
@mmastrac mmastrac deleted the mmastrac/fix-devlow-bench branch April 14, 2026 20:57
@nextjs-bot
Copy link
Copy Markdown
Contributor

Stats from current PR

✅ No significant changes detected

📊 All Metrics
📖 Metrics Glossary

Dev Server Metrics:

  • Listen = TCP port starts accepting connections
  • First Request = HTTP server returns successful response
  • Cold = Fresh build (no cache)
  • Warm = With cached build artifacts

Build Metrics:

  • Fresh = Clean build (no .next directory)
  • Cached = With existing .next directory

Change Thresholds:

  • Time: Changes < 50ms AND < 10%, OR < 2% are insignificant
  • Size: Changes < 1KB AND < 1% are insignificant
  • All other changes are flagged to catch regressions

⚡ Dev Server

Metric Canary PR Change Trend
Cold (Listen) 455ms 455ms ▁▁▁█▁
Cold (Ready in log) 443ms 444ms ▄▁▂▁▆
Cold (First Request) 1.135s 1.114s ▁███▁
Warm (Listen) 457ms 457ms ▁▁▁▁▁
Warm (Ready in log) 444ms 444ms ▁▅▆▅▃
Warm (First Request) 351ms 349ms ▄▅▆▅▅
📦 Dev Server (Webpack) (Legacy)

📦 Dev Server (Webpack)

Metric Canary PR Change Trend
Cold (Listen) 456ms 456ms ▅▅▅▅▅
Cold (Ready in log) 439ms 440ms ▁▁▂▁▂
Cold (First Request) 1.948s 1.946s ▄▃▁▃▄
Warm (Listen) 456ms 456ms ▅▅▅▁█
Warm (Ready in log) 438ms 440ms ▁▁▂▁▂
Warm (First Request) 1.944s 1.951s ▃▂▂▃▃

⚡ Production Builds

Metric Canary PR Change Trend
Fresh Build 3.998s 3.885s ▆▃▃▃▅
Cached Build 3.952s 3.994s █▂▁▄▇
📦 Production Builds (Webpack) (Legacy)

📦 Production Builds (Webpack)

Metric Canary PR Change Trend
Fresh Build 14.478s 14.460s ▁▂▂▁▂
Cached Build 14.572s 14.565s ▁▁▂▁▂
node_modules Size 493 MB 493 MB ▇▇▁▇▇
📦 Bundle Sizes

Bundle Sizes

⚡ Turbopack

Client

Main Bundles
Canary PR Change
01r_2fgyxokii.js gzip 154 B N/A -
053b9v5j96uu_.js gzip 8.56 kB N/A -
07rxhp_1_g4mu.js gzip 13.1 kB N/A -
096aa2uod0_wa.js gzip 9.82 kB N/A -
0cz1d0mv5g_q7.js gzip 39.4 kB 39.4 kB
0ea8vo2o6kp_s.js gzip 13.3 kB N/A -
0egovw6-5i1e3.js gzip 8.57 kB N/A -
0fli3_wppnim5.js gzip 12.9 kB N/A -
0ggglg3fqwng4.js gzip 160 B N/A -
0k09jwjeb-tki.js gzip 13.8 kB N/A -
0kb7_ep3r1z0_.js gzip 10.1 kB N/A -
0kmgih16pb2zy.js gzip 9.24 kB N/A -
0qjfywakinqdv.js gzip 153 B N/A -
0wxpyd8r-vipl.js gzip 1.47 kB N/A -
1-z_xm7pzpbeh.js gzip 49.2 kB N/A -
16lhqjoqbznyg.js gzip 220 B 220 B
16vepdkipri3r.js gzip 8.51 kB N/A -
17n96uu6y1pxq.js gzip 8.6 kB N/A -
1elt1qium-r2m.css gzip 115 B 115 B
1kb8nmsf1iszm.js gzip 156 B N/A -
1qlvpga3-wyzo.js gzip 156 B N/A -
1rvuywf98hse2.js gzip 152 B N/A -
1xz7fhgdco-x_.js gzip 8.59 kB N/A -
2__-e_ym8n788.js gzip 450 B N/A -
22o6xd9_ywdu6.js gzip 233 B N/A -
2k1q_gre6hp0-.js gzip 8.56 kB N/A -
2kvj8yrfznmwx.js gzip 5.69 kB N/A -
2mkvafffp4_rr.js gzip 155 B N/A -
2nt0wg4sfoj9c.js gzip 156 B N/A -
2onvwpva84dvr.js gzip 154 B N/A -
2ow011slza0ki.js gzip 155 B N/A -
2pi_05i44_ir0.js gzip 159 B N/A -
2sgqisp4604si.js gzip 8.51 kB N/A -
3_628f2itgclt.js gzip 155 B N/A -
3_dj743z_808b.js gzip 70.8 kB N/A -
3-gk436oz-k3a.js gzip 167 B N/A -
342ijzvrpe53h.js gzip 2.29 kB N/A -
3pg35da_b3zme.js gzip 65.5 kB N/A -
3v9s-fz24f8oo.js gzip 10.4 kB N/A -
420pn_b9x-3ir.js gzip 8.62 kB N/A -
44un3--wmqiyh.js gzip 7.61 kB N/A -
turbopack-0j..e4lm.js gzip 4.19 kB N/A -
turbopack-0k..qrgx.js gzip 4.19 kB N/A -
turbopack-13..f1yd.js gzip 4.19 kB N/A -
turbopack-15..nmte.js gzip 4.19 kB N/A -
turbopack-1a..-5wl.js gzip 4.19 kB N/A -
turbopack-1d..rowy.js gzip 4.19 kB N/A -
turbopack-21..o6lb.js gzip 4.19 kB N/A -
turbopack-2c..4148.js gzip 4.19 kB N/A -
turbopack-2g..50ew.js gzip 4.2 kB N/A -
turbopack-2z..k8az.js gzip 4.19 kB N/A -
turbopack-3e..asmb.js gzip 4.19 kB N/A -
turbopack-3x..d85p.js gzip 4.19 kB N/A -
turbopack-43..n6yb.js gzip 4.17 kB N/A -
turbopack-44..7575.js gzip 4.19 kB N/A -
03_szppy5nakp.js gzip N/A 49.2 kB -
05aldz1x2im-w.js gzip N/A 161 B -
0arkbdqpxc37i.js gzip N/A 8.6 kB -
0e-n3tqx-seyq.js gzip N/A 70.8 kB -
0tvekitj587fh.js gzip N/A 8.51 kB -
0z83a1om5rvtt.js gzip N/A 7.61 kB -
1_8_fe36u6dt8.js gzip N/A 166 B -
1-jqyfc89tixo.js gzip N/A 1.46 kB -
14t1kneseb8th.js gzip N/A 2.3 kB -
166yi4hj26d0f.js gzip N/A 151 B -
192q2suy7rwb_.js gzip N/A 8.56 kB -
1ab2xruymo-oj.js gzip N/A 449 B -
1elx6h48wpk0e.js gzip N/A 65.5 kB -
1wzrm0xjjbzn5.js gzip N/A 10.1 kB -
25a1yz7zua29z.js gzip N/A 13.8 kB -
2f2bp_kexa37v.js gzip N/A 13.3 kB -
2hmikpxz6fexr.js gzip N/A 158 B -
2i5v1taq97gql.js gzip N/A 8.59 kB -
2n3vh0w0tnb_2.js gzip N/A 8.52 kB -
2q9nlxufl9p2k.js gzip N/A 154 B -
2tz0r9nx4uigu.js gzip N/A 156 B -
2u_rpxq3tzytl.js gzip N/A 233 B -
2wfbykz1avdns.js gzip N/A 8.56 kB -
32sifemopndov.js gzip N/A 10.4 kB -
35sia83pfm3ye.js gzip N/A 157 B -
368lim5wq0o0r.js gzip N/A 12.9 kB -
39m8b0notba72.js gzip N/A 160 B -
3ba03210a-tsj.js gzip N/A 157 B -
3de283pazbu99.js gzip N/A 9.81 kB -
3drqjohogojbw.js gzip N/A 5.69 kB -
3g8l1m2-o-ewi.js gzip N/A 13.1 kB -
3gp2o_v7jcw6s.js gzip N/A 8.57 kB -
3qtdefkjd18fd.js gzip N/A 155 B -
3qu7g1q2l_x2n.js gzip N/A 9.24 kB -
3vj55c8og7tly.js gzip N/A 155 B -
3x4j51vzb8ykv.js gzip N/A 154 B -
40vueuwv7_k-h.js gzip N/A 156 B -
43j6fjudq0a3_.js gzip N/A 8.62 kB -
turbopack-04.._bm3.js gzip N/A 4.19 kB -
turbopack-0c..4a4t.js gzip N/A 4.19 kB -
turbopack-0n..lfre.js gzip N/A 4.19 kB -
turbopack-0z..jko5.js gzip N/A 4.19 kB -
turbopack-10..24-p.js gzip N/A 4.19 kB -
turbopack-1t..yst3.js gzip N/A 4.19 kB -
turbopack-2-..7jy_.js gzip N/A 4.19 kB -
turbopack-2j..yly_.js gzip N/A 4.19 kB -
turbopack-2z..y9kj.js gzip N/A 4.17 kB -
turbopack-3-..cysa.js gzip N/A 4.19 kB -
turbopack-30..par2.js gzip N/A 4.19 kB -
turbopack-3a..jxbu.js gzip N/A 4.19 kB -
turbopack-40..86vj.js gzip N/A 4.2 kB -
turbopack-40..lnm-.js gzip N/A 4.19 kB -
Total 465 kB 465 kB ⚠️ +52 B

Server

Middleware
Canary PR Change
middleware-b..fest.js gzip 718 B 719 B
Total 718 B 719 B ⚠️ +1 B
Build Details
Build Manifests
Canary PR Change
_buildManifest.js gzip 429 B 434 B 🔴 +5 B (+1%)
Total 429 B 434 B ⚠️ +5 B

📦 Webpack

Client

Main Bundles
Canary PR Change
2637-HASH.js gzip 4.63 kB N/A -
7724.HASH.js gzip 169 B N/A -
8274-HASH.js gzip 61.3 kB N/A -
8817-HASH.js gzip 5.59 kB N/A -
c3500254-HASH.js gzip 62.8 kB N/A -
framework-HASH.js gzip 59.7 kB 59.7 kB
main-app-HASH.js gzip 254 B 253 B
main-HASH.js gzip 39.4 kB 39.4 kB
webpack-HASH.js gzip 1.68 kB 1.68 kB
5887-HASH.js gzip N/A 5.61 kB -
6522-HASH.js gzip N/A 60.7 kB -
6779-HASH.js gzip N/A 4.63 kB -
8854.HASH.js gzip N/A 169 B -
eab920f9-HASH.js gzip N/A 62.8 kB -
Total 235 kB 235 kB ✅ -621 B
Polyfills
Canary PR Change
polyfills-HASH.js gzip 39.4 kB 39.4 kB
Total 39.4 kB 39.4 kB
Pages
Canary PR Change
_app-HASH.js gzip 193 B 193 B
_error-HASH.js gzip 182 B 182 B
css-HASH.js gzip 333 B 334 B
dynamic-HASH.js gzip 1.81 kB 1.8 kB
edge-ssr-HASH.js gzip 255 B 255 B
head-HASH.js gzip 353 B 349 B 🟢 4 B (-1%)
hooks-HASH.js gzip 384 B 382 B
image-HASH.js gzip 581 B 581 B
index-HASH.js gzip 260 B 259 B
link-HASH.js gzip 2.51 kB 2.51 kB
routerDirect..HASH.js gzip 316 B 318 B
script-HASH.js gzip 386 B 386 B
withRouter-HASH.js gzip 313 B 314 B
1afbb74e6ecf..834.css gzip 106 B 106 B
Total 7.98 kB 7.97 kB ✅ -10 B

Server

Edge SSR
Canary PR Change
edge-ssr.js gzip 126 kB 126 kB
page.js gzip 273 kB 273 kB
Total 398 kB 398 kB ✅ -344 B
Middleware
Canary PR Change
middleware-b..fest.js gzip 619 B 618 B
middleware-r..fest.js gzip 156 B 156 B
middleware.js gzip 43.9 kB 44.2 kB
edge-runtime..pack.js gzip 842 B 842 B
Total 45.5 kB 45.8 kB ⚠️ +290 B
Build Details
Build Manifests
Canary PR Change
_buildManifest.js gzip 721 B 720 B
Total 721 B 720 B ✅ -1 B
Build Cache
Canary PR Change
0.pack gzip 4.38 MB 4.38 MB 🟢 6.02 kB (0%)
index.pack gzip 113 kB 113 kB
index.pack.old gzip 113 kB 114 kB
Total 4.61 MB 4.6 MB ✅ -5.52 kB

🔄 Shared (bundler-independent)

Runtimes
Canary PR Change
app-page-exp...dev.js gzip 346 kB 346 kB
app-page-exp..prod.js gzip 192 kB 192 kB
app-page-tur...dev.js gzip 346 kB 346 kB
app-page-tur..prod.js gzip 192 kB 192 kB
app-page-tur...dev.js gzip 342 kB 342 kB
app-page-tur..prod.js gzip 190 kB 190 kB
app-page.run...dev.js gzip 343 kB 343 kB
app-page.run..prod.js gzip 190 kB 190 kB
app-route-ex...dev.js gzip 77 kB 77 kB
app-route-ex..prod.js gzip 52.5 kB 52.5 kB
app-route-tu...dev.js gzip 77.1 kB 77.1 kB
app-route-tu..prod.js gzip 52.6 kB 52.6 kB
app-route-tu...dev.js gzip 76.7 kB 76.7 kB
app-route-tu..prod.js gzip 52.3 kB 52.3 kB
app-route.ru...dev.js gzip 76.6 kB 76.6 kB
app-route.ru..prod.js gzip 52.3 kB 52.3 kB
dist_client_...dev.js gzip 324 B 324 B
dist_client_...dev.js gzip 326 B 326 B
dist_client_...dev.js gzip 318 B 318 B
dist_client_...dev.js gzip 317 B 317 B
pages-api-tu...dev.js gzip 43.9 kB 43.9 kB
pages-api-tu..prod.js gzip 33.5 kB 33.5 kB
pages-api.ru...dev.js gzip 43.9 kB 43.9 kB
pages-api.ru..prod.js gzip 33.5 kB 33.5 kB
pages-turbo....dev.js gzip 53.3 kB 53.3 kB
pages-turbo...prod.js gzip 39.1 kB 39.1 kB
pages.runtim...dev.js gzip 53.3 kB 53.3 kB
pages.runtim..prod.js gzip 39.1 kB 39.1 kB
server.runti..prod.js gzip 62.9 kB 62.9 kB
Total 3.06 MB 3.06 MB ⚠️ +6 B
📎 Tarball URL
https://vercel-packages.vercel.app/next/commits/6e27c4e63ef14556684904c9f212e3aabb900c5c/next

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

created-by: Turbopack team PRs by the Turbopack team. locked Turbopack Related to Turbopack with Next.js.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants