Skip to content

Allow disabling step sourcemap with new sourcemap option in builders#1842

Open
VaguelySerious wants to merge 5 commits intomainfrom
peter/allow-disable-step-sourcemaps
Open

Allow disabling step sourcemap with new sourcemap option in builders#1842
VaguelySerious wants to merge 5 commits intomainfrom
peter/allow-disable-step-sourcemaps

Conversation

@VaguelySerious
Copy link
Copy Markdown
Member

No description provided.

Signed-off-by: Peter Wielander <mittgfu@gmail.com>
@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented Apr 23, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
example-nextjs-workflow-turbopack Ready Ready Preview, Comment Apr 28, 2026 10:51pm
example-nextjs-workflow-webpack Ready Ready Preview, Comment Apr 28, 2026 10:51pm
example-workflow Ready Ready Preview, Comment Apr 28, 2026 10:51pm
workbench-astro-workflow Ready Ready Preview, Comment Apr 28, 2026 10:51pm
workbench-express-workflow Ready Ready Preview, Comment Apr 28, 2026 10:51pm
workbench-fastify-workflow Ready Ready Preview, Comment Apr 28, 2026 10:51pm
workbench-hono-workflow Ready Ready Preview, Comment Apr 28, 2026 10:51pm
workbench-nitro-workflow Ready Ready Preview, Comment Apr 28, 2026 10:51pm
workbench-nuxt-workflow Ready Ready Preview, Comment Apr 28, 2026 10:51pm
workbench-sveltekit-workflow Ready Ready Preview, Comment Apr 28, 2026 10:51pm
workbench-vite-workflow Ready Ready Preview, Comment Apr 28, 2026 10:51pm
workflow-docs Ready Ready Preview, Comment, Open in v0 Apr 28, 2026 10:51pm
workflow-swc-playground Ready Ready Preview, Comment Apr 28, 2026 10:51pm
workflow-web Ready Ready Preview, Comment Apr 28, 2026 10:51pm

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Apr 23, 2026

🦋 Changeset detected

Latest commit: 67eb761

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 17 packages
Name Type
@workflow/builders Minor
@workflow/nitro Minor
@workflow/nest Minor
@workflow/next Minor
@workflow/sveltekit Minor
@workflow/astro Minor
@workflow/cli Patch
@workflow/rollup Patch
@workflow/vite Patch
@workflow/vitest Patch
@workflow/nuxt Patch
workflow Patch
@workflow/world-testing Patch
@workflow/ai Patch
@workflow/core Patch
@workflow/web-shared Patch
@workflow/web Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 23, 2026

🧪 E2E Test Results

Some tests failed

Summary

Passed Failed Skipped Total
✅ ▲ Vercel Production 978 0 67 1045
✅ 💻 Local Development 1054 0 86 1140
✅ 📦 Local Production 1054 0 86 1140
❌ 🐘 Local Postgres 1050 4 86 1140
✅ 📋 Other 267 0 18 285
Total 4403 4 343 4750

❌ Failed Tests

🐘 Local Postgres (4 failed)

express-stable (2 failed):

  • fibonacciWorkflow - recursive workflow composition via start() | wrun_01KQB4WVAW2NVM7YX8415B7C9E
  • health check (queue-based) - workflow and step endpoints respond to health check messages

fastify-stable (2 failed):

  • fibonacciWorkflow - recursive workflow composition via start() | wrun_01KQB4WVAW2NVM7YX8415B7C9E
  • health check (queue-based) - workflow and step endpoints respond to health check messages

Details by Category

✅ ▲ Vercel Production
App Passed Failed Skipped
✅ astro 88 0 7
✅ example 88 0 7
✅ express 88 0 7
✅ fastify 88 0 7
✅ hono 88 0 7
✅ nextjs-turbopack 93 0 2
✅ nextjs-webpack 93 0 2
✅ nitro 88 0 7
✅ nuxt 88 0 7
✅ sveltekit 88 0 7
✅ vite 88 0 7
✅ 💻 Local Development
App Passed Failed Skipped
✅ astro-stable 89 0 6
✅ express-stable 89 0 6
✅ fastify-stable 89 0 6
✅ hono-stable 89 0 6
✅ nextjs-turbopack-canary 76 0 19
✅ nextjs-turbopack-stable 95 0 0
✅ nextjs-webpack-canary 76 0 19
✅ nextjs-webpack-stable 95 0 0
✅ nitro-stable 89 0 6
✅ nuxt-stable 89 0 6
✅ sveltekit-stable 89 0 6
✅ vite-stable 89 0 6
✅ 📦 Local Production
App Passed Failed Skipped
✅ astro-stable 89 0 6
✅ express-stable 89 0 6
✅ fastify-stable 89 0 6
✅ hono-stable 89 0 6
✅ nextjs-turbopack-canary 76 0 19
✅ nextjs-turbopack-stable 95 0 0
✅ nextjs-webpack-canary 76 0 19
✅ nextjs-webpack-stable 95 0 0
✅ nitro-stable 89 0 6
✅ nuxt-stable 89 0 6
✅ sveltekit-stable 89 0 6
✅ vite-stable 89 0 6
❌ 🐘 Local Postgres
App Passed Failed Skipped
✅ astro-stable 89 0 6
❌ express-stable 87 2 6
❌ fastify-stable 87 2 6
✅ hono-stable 89 0 6
✅ nextjs-turbopack-canary 76 0 19
✅ nextjs-turbopack-stable 95 0 0
✅ nextjs-webpack-canary 76 0 19
✅ nextjs-webpack-stable 95 0 0
✅ nitro-stable 89 0 6
✅ nuxt-stable 89 0 6
✅ sveltekit-stable 89 0 6
✅ vite-stable 89 0 6
✅ 📋 Other
App Passed Failed Skipped
✅ e2e-local-dev-nest-stable 89 0 6
✅ e2e-local-postgres-nest-stable 89 0 6
✅ e2e-local-prod-nest-stable 89 0 6

📋 View full workflow run


Some E2E test jobs failed:

  • Vercel Prod: success
  • Local Dev: success
  • Local Prod: success
  • Local Postgres: failure
  • Windows: cancelled

Check the workflow run for details.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 23, 2026

📊 Benchmark Results

📈 Comparing against baseline from main branch. Green 🟢 = faster, Red 🔺 = slower.

workflow with no steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 0.035s (-18.6% 🟢) 1.005s (~) 0.970s 10 1.00x
💻 Local Express 0.039s (-11.3% 🟢) 1.005s (~) 0.966s 10 1.12x
🐘 Postgres Next.js (Turbopack) 0.058s 1.010s 0.952s 10 1.66x
🐘 Postgres Express 0.058s (+0.7%) 1.010s (~) 0.951s 10 1.66x
🐘 Postgres Nitro 0.059s (-37.9% 🟢) 1.011s (-3.0%) 0.952s 10 1.68x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
workflow with 1 step

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 1.091s (-3.6%) 2.005s (~) 0.914s 10 1.00x
💻 Local Express 1.100s (-2.2%) 2.005s (~) 0.905s 10 1.01x
🐘 Postgres Express 1.136s (-0.9%) 2.009s (~) 0.873s 10 1.04x
🐘 Postgres Next.js (Turbopack) 1.143s 2.009s 0.867s 10 1.05x
🐘 Postgres Nitro 1.148s (+0.7%) 2.008s (~) 0.860s 10 1.05x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
workflow with 10 sequential steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 10.624s (-2.9%) 11.022s (~) 0.397s 3 1.00x
💻 Local Express 10.660s (-2.4%) 11.021s (~) 0.362s 3 1.00x
🐘 Postgres Next.js (Turbopack) 10.853s 11.018s 0.165s 3 1.02x
🐘 Postgres Express 10.881s (-0.8%) 11.027s (~) 0.146s 3 1.02x
🐘 Postgres Nitro 10.884s (~) 11.020s (~) 0.136s 3 1.02x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
workflow with 25 sequential steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 14.186s (-5.8% 🟢) 15.029s (-6.2% 🟢) 0.843s 4 1.00x
💻 Local Express 14.316s (-4.4%) 15.030s (~) 0.714s 4 1.01x
🐘 Postgres Nitro 14.485s (-0.8%) 15.024s (~) 0.539s 4 1.02x
🐘 Postgres Next.js (Turbopack) 14.501s 15.024s 0.523s 4 1.02x
🐘 Postgres Express 14.556s (~) 15.022s (~) 0.467s 4 1.03x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
workflow with 50 sequential steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Next.js (Turbopack) 13.935s 14.306s 0.370s 7 1.00x
🐘 Postgres Express 13.938s (~) 14.161s (-3.0%) 0.223s 7 1.00x
🐘 Postgres Nitro 13.988s (~) 14.593s (+2.0%) 0.605s 7 1.00x
💻 Local Nitro 14.778s (-11.9% 🟢) 15.027s (-11.8% 🟢) 0.249s 6 1.06x
💻 Local Express 15.137s (-8.8% 🟢) 16.030s (-5.9% 🟢) 0.893s 6 1.09x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
Promise.all with 10 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Next.js (Turbopack) 1.249s 2.010s 0.760s 15 1.00x
🐘 Postgres Nitro 1.267s (-0.6%) 2.009s (~) 0.742s 15 1.01x
🐘 Postgres Express 1.275s (+1.1%) 2.009s (~) 0.735s 15 1.02x
💻 Local Nitro 1.474s (-9.6% 🟢) 2.006s (-3.3%) 0.531s 15 1.18x
💻 Local Express 1.505s (+1.1%) 2.006s (~) 0.501s 15 1.20x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
Promise.all with 25 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 2.330s (-1.3%) 3.009s (~) 0.679s 10 1.00x
🐘 Postgres Nitro 2.386s (+1.5%) 3.010s (~) 0.624s 10 1.02x
🐘 Postgres Next.js (Turbopack) 2.397s 3.009s 0.613s 10 1.03x
💻 Local Nitro 2.620s (-16.6% 🟢) 3.007s (-22.6% 🟢) 0.387s 10 1.12x
💻 Local Express 2.758s (-6.6% 🟢) 3.008s (-12.9% 🟢) 0.250s 10 1.18x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
Promise.all with 50 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 3.462s (-0.7%) 4.012s (~) 0.550s 8 1.00x
🐘 Postgres Nitro 3.479s (~) 4.015s (~) 0.535s 8 1.00x
🐘 Postgres Next.js (Turbopack) 3.627s 4.012s 0.384s 8 1.05x
💻 Local Nitro 6.817s (-18.4% 🟢) 7.416s (-17.8% 🟢) 0.599s 5 1.97x
💻 Local Express 7.351s (-11.8% 🟢) 8.017s (-11.2% 🟢) 0.666s 4 2.12x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
Promise.race with 10 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Next.js (Turbopack) 1.224s 2.008s 0.785s 15 1.00x
🐘 Postgres Express 1.248s (-0.7%) 2.007s (~) 0.759s 15 1.02x
🐘 Postgres Nitro 1.254s (~) 2.008s (~) 0.754s 15 1.02x
💻 Local Express 1.507s (-20.4% 🟢) 2.006s (-15.1% 🟢) 0.499s 15 1.23x
💻 Local Nitro 1.854s (-0.6%) 2.392s (+2.2%) 0.538s 13 1.51x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
Promise.race with 25 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 2.317s (-1.1%) 3.009s (~) 0.693s 10 1.00x
🐘 Postgres Nitro 2.342s (~) 3.010s (~) 0.669s 10 1.01x
🐘 Postgres Next.js (Turbopack) 2.410s 3.010s 0.601s 10 1.04x
💻 Local Nitro 2.716s (-11.4% 🟢) 3.008s (-22.6% 🟢) 0.292s 10 1.17x
💻 Local Express 2.861s (-8.7% 🟢) 3.110s (-17.3% 🟢) 0.249s 10 1.24x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
Promise.race with 50 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 3.456s (-1.2%) 4.012s (~) 0.556s 8 1.00x
🐘 Postgres Nitro 3.492s (~) 4.011s (~) 0.519s 8 1.01x
🐘 Postgres Next.js (Turbopack) 3.638s 4.012s 0.374s 8 1.05x
💻 Local Nitro 7.755s (-15.2% 🟢) 8.016s (-20.0% 🟢) 0.261s 4 2.24x
💻 Local Express 8.229s (-6.5% 🟢) 9.016s (-2.8%) 0.787s 4 2.38x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
workflow with 10 sequential data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 0.701s (-28.6% 🟢) 1.004s (-8.2% 🟢) 0.304s 60 1.00x
💻 Local Express 0.744s (-24.4% 🟢) 1.005s (-6.6% 🟢) 0.261s 60 1.06x
🐘 Postgres Next.js (Turbopack) 0.767s 1.006s 0.239s 60 1.10x
🐘 Postgres Express 0.799s (-4.8%) 1.006s (-1.7%) 0.207s 60 1.14x
🐘 Postgres Nitro 0.811s (-1.1%) 1.006s (~) 0.195s 60 1.16x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
workflow with 25 sequential data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Next.js (Turbopack) 1.899s 2.053s 0.154s 44 1.00x
🐘 Postgres Nitro 1.906s (-1.1%) 2.030s (-3.4%) 0.124s 45 1.00x
🐘 Postgres Express 1.910s (-3.4%) 2.076s (-8.1% 🟢) 0.166s 44 1.01x
💻 Local Nitro 2.232s (-26.5% 🟢) 3.007s (-20.0% 🟢) 0.776s 30 1.18x
💻 Local Express 2.351s (-22.1% 🟢) 3.008s (-16.1% 🟢) 0.657s 30 1.24x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
workflow with 50 sequential data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Next.js (Turbopack) 3.859s 4.075s 0.216s 30 1.00x
🐘 Postgres Nitro 3.881s (-5.4% 🟢) 4.077s (-11.4% 🟢) 0.196s 30 1.01x
🐘 Postgres Express 3.953s (-0.9%) 4.296s (-1.7%) 0.342s 28 1.02x
💻 Local Nitro 7.232s (-22.2% 🟢) 8.014s (-20.0% 🟢) 0.783s 15 1.87x
💻 Local Express 7.636s (-17.1% 🟢) 8.015s (-20.0% 🟢) 0.379s 15 1.98x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
workflow with 10 concurrent data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Next.js (Turbopack) 0.264s 1.008s 0.743s 60 1.00x
🐘 Postgres Nitro 0.281s (-0.8%) 1.007s (~) 0.726s 60 1.06x
🐘 Postgres Express 0.286s (+1.4%) 1.006s (~) 0.720s 60 1.08x
💻 Local Nitro 0.672s (+11.2% 🔺) 1.095s (+7.2% 🔺) 0.423s 55 2.54x
💻 Local Express 0.688s (+22.8% 🔺) 1.096s (+9.1% 🔺) 0.407s 55 2.60x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
workflow with 25 concurrent data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Next.js (Turbopack) 0.489s 1.007s 0.518s 90 1.00x
🐘 Postgres Express 0.490s (-3.9%) 1.006s (~) 0.516s 90 1.00x
🐘 Postgres Nitro 0.494s (~) 1.007s (~) 0.512s 90 1.01x
💻 Local Nitro 2.453s (-3.4%) 3.008s (~) 0.555s 30 5.02x
💻 Local Express 2.543s (+1.2%) 3.007s (~) 0.465s 30 5.20x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
workflow with 50 concurrent data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Next.js (Turbopack) 0.774s 1.015s 0.241s 119 1.00x
🐘 Postgres Nitro 0.794s (~) 1.008s (~) 0.214s 120 1.03x
🐘 Postgres Express 0.810s (-1.1%) 1.017s (~) 0.207s 119 1.05x
💻 Local Nitro 10.596s (-5.3% 🟢) 11.114s (-4.7%) 0.518s 11 13.69x
💻 Local Express 10.996s (-1.7%) 11.479s (-3.9%) 0.483s 11 14.20x
💻 Local Next.js (Turbopack) ⚠️ missing - - - -
Stream Benchmarks (includes TTFB metrics)
workflow with stream

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 0.145s (-31.9% 🟢) 1.004s (~) 0.009s (-26.4% 🟢) 1.015s (~) 0.869s 10 1.00x
💻 Local Express 0.153s (-23.4% 🟢) 1.004s (~) 0.010s (-20.7% 🟢) 1.016s (~) 0.863s 10 1.05x
🐘 Postgres Next.js (Turbopack) 0.189s 1.000s 0.001s 1.011s 0.821s 10 1.30x
🐘 Postgres Express 0.203s (-0.9%) 0.996s (~) 0.001s (-18.8% 🟢) 1.010s (~) 0.807s 10 1.40x
🐘 Postgres Nitro 0.209s (+2.1%) 0.995s (~) 0.001s (-20.0% 🟢) 1.010s (~) 0.801s 10 1.44x
💻 Local Next.js (Turbopack) ⚠️ missing - - - - -
stream pipeline with 5 transform steps (1MB)

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 0.604s (-28.0% 🟢) 1.011s (~) 0.010s (+3.5%) 1.023s (-8.3% 🟢) 0.419s 59 1.00x
🐘 Postgres Next.js (Turbopack) 0.621s 1.009s 0.007s 1.025s 0.404s 59 1.03x
🐘 Postgres Nitro 0.631s (+1.1%) 1.024s (+1.7%) 0.004s (~) 1.039s (+1.7%) 0.409s 58 1.04x
🐘 Postgres Express 0.637s (+1.2%) 1.022s (+1.6%) 0.004s (+4.0%) 1.039s (+1.6%) 0.402s 58 1.06x
💻 Local Express 0.703s (-7.1% 🟢) 1.011s (-1.7%) 0.010s (+10.4% 🔺) 1.116s (+7.3% 🔺) 0.413s 54 1.16x
💻 Local Next.js (Turbopack) ⚠️ missing - - - - -
10 parallel streams (1MB each)

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Next.js (Turbopack) 0.939s 1.177s 0.000s 1.187s 0.249s 51 1.00x
🐘 Postgres Express 0.957s (~) 1.171s (-8.4% 🟢) 0.000s (-9.8% 🟢) 1.185s (-9.3% 🟢) 0.228s 51 1.02x
🐘 Postgres Nitro 0.968s (~) 1.265s (+1.4%) 0.000s (-100.0% 🟢) 1.280s (+1.8%) 0.312s 48 1.03x
💻 Local Nitro 1.187s (-2.9%) 2.019s (~) 0.000s (+66.7% 🔺) 2.021s (~) 0.834s 30 1.26x
💻 Local Express 1.233s (+0.7%) 2.020s (~) 0.000s (-30.0% 🟢) 2.022s (~) 0.789s 30 1.31x
💻 Local Next.js (Turbopack) ⚠️ missing - - - - -
fan-out fan-in 10 streams (1MB each)

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 1.757s (-1.9%) 2.104s (-1.7%) 0.000s (-3.4%) 2.113s (-2.8%) 0.356s 29 1.00x
🐘 Postgres Express 1.765s (~) 2.141s (-1.7%) 0.000s (+Infinity% 🔺) 2.153s (-2.1%) 0.388s 28 1.00x
🐘 Postgres Next.js (Turbopack) 1.849s 2.147s 0.000s 2.153s 0.304s 28 1.05x
💻 Local Nitro 3.424s (+1.1%) 3.970s (-1.5%) 0.001s (+75.8% 🔺) 3.974s (-1.5%) 0.550s 16 1.95x
💻 Local Express 3.822s (+10.2% 🔺) 4.164s (+3.2%) 0.000s (-58.3% 🟢) 4.167s (+3.2%) 0.344s 15 2.17x
💻 Local Next.js (Turbopack) ⚠️ missing - - - - -

Summary

Fastest Framework by World

Winner determined by most benchmark wins

World 🥇 Fastest Framework Wins
💻 Local Nitro 20/21
🐘 Postgres Next.js (Turbopack) 14/21
Fastest World by Framework

Winner determined by most benchmark wins

Framework 🥇 Fastest World Wins
Express 🐘 Postgres 15/21
Next.js (Turbopack) 🐘 Postgres 21/21
Nitro 🐘 Postgres 14/21
Column Definitions
  • Workflow Time: Runtime reported by workflow (completedAt - createdAt) - primary metric
  • TTFB: Time to First Byte - time from workflow start until first stream byte received (stream benchmarks only)
  • Slurp: Time from first byte to complete stream consumption (stream benchmarks only)
  • Wall Time: Total testbench time (trigger workflow + poll for result)
  • Overhead: Testbench overhead (Wall Time - Workflow Time)
  • Samples: Number of benchmark iterations run
  • vs Fastest: How much slower compared to the fastest configuration for this benchmark

Worlds:

  • 💻 Local: In-memory filesystem world (local development)
  • 🐘 Postgres: PostgreSQL database world (local development)
  • ▲ Vercel: Vercel production/preview deployment
  • 🌐 Turso: Community world (local development)
  • 🌐 MongoDB: Community world (local development)
  • 🌐 Redis: Community world (local development)
  • 🌐 Jazz: Community world (local development)

📋 View full workflow run


Some benchmark jobs failed:

  • Local: failure
  • Postgres: success
  • Vercel: cancelled

Check the workflow run for details.

@TooTallNate
Copy link
Copy Markdown
Member

(Coming over from #1843, which I just closed as a duplicate — this PR is more comprehensive, particularly the framework-wide coverage and docs updates.)

A few suggestions that came out of that branch, in case they're useful:

1. Consider using esbuild's native sourcemap vocabulary

Instead of boolean | 'inline' | 'disabled', esbuild's sourcemap option accepts boolean | 'inline' | 'linked' | 'external' | 'both'. Adopting that set (plus false to disable) means:

  • Users can pick 'external' or 'linked' to emit a .map file separately — good for users who want sourcemaps shipped to their observability tooling but not inlined in the function bundle.
  • The SDK's vocabulary matches the underlying tool, which is one less thing to learn.
  • We drop the bespoke 'disabled' value (users would just write false).

Concretely the type would be:

export type SourcemapMode = boolean | 'inline' | 'linked' | 'external' | 'both';

2. Add a WORKFLOW_SOURCEMAP env-var override

Handy for CI overrides without touching framework config, and for users who want to flip this once when diagnosing a bundle-size issue. Accepts the same values as the config option, plus 'true' / 'false' / '0' / '1' strings. Config wins over env var; env var wins over the per-site default.

3. Preserve EMIT_SOURCEMAPS_FOR_DEBUGGING at the final-workflow + webhook sites

On the current diff, the final workflow bundle + webhook bundle lines become:

sourcemap: resolveSourcemap(this.config.sourcemap) ?? EMIT_SOURCEMAPS_FOR_DEBUGGING,

This is mostly right, but resolveSourcemap(true) returns true while esbuild's default for those sites was false (the env var was opt-in). So setting sourcemap: true in config now enables sourcemaps on the final wrapper and webhook, whereas before only WORKFLOW_EMIT_SOURCEMAPS_FOR_DEBUGGING=1 did. That might be the desired behavior (it's a bit more consistent), just worth calling out as a minor semantics change.

4. A unit test for the resolver

My branch had a small one you might want to steal — covers precedence (config > env var > default), the various env var strings, unrecognized values, and the sourcemapsEnabled derived getter. Link to the test file on the closed branch.

Happy to port any of these as follow-up commits if useful — they're all small.

Replace the bespoke `boolean | 'inline' | 'disabled'` type with esbuild's
full `SourcemapMode` vocabulary (adds `'linked'`, `'external'`, `'both'`)
so users can ship sourcemaps to observability tooling without bloating
the function bundle. Add a `WORKFLOW_SOURCEMAP` env var as a
cross-framework override; config wins over env, env wins over the
per-bundle default. Flip `shouldAddSourcemapSupport` to track
`sourcemapsEnabled` on the Vercel step function so disabling sourcemaps
also drops the runtime shim.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants