Skip to content

Conversation

@feedthejim
Copy link
Contributor

@feedthejim feedthejim commented Dec 30, 2025

Summary

Replace fork-based architecture with single Node.js process:

  • Add Rust CLI wrapper (crates/next-cli/) that handles:

    • NODE_OPTIONS (memory limits, source maps, inspect)
    • WATCHPACK_WATCHER_LIMIT for large projects
    • Restart loop (exit code 77) without Node.js overhead
  • Simplify next-dev.ts: remove fork(), IPC, child process management

  • Simplify start-server.ts: remove NEXT_PRIVATE_WORKER handling

  • Add shell entry points (bin/next, bin/next.cmd) that:

    • Use native binary when available (~10ms overhead)
    • Fall back to Node.js entry point
  • Cross-platform release pipeline for 8 platforms

Test Fixes

The Rust CLI introduces exit code 77 for server restarts (e.g., after config file changes). Tests run Node.js directly without the Rust wrapper, so:

  • test/lib/next-modes/next-dev.ts - Add RESTART_EXIT_CODE = 77 handling in NextDevInstance.start() to auto-restart the server when it exits with code 77, mimicking the Rust wrapper behavior

Benchmark Results (cumulative)

Metric Before After Improvement
Cold Listen 255ms 190ms -65ms
Cold Ready 1085ms 951ms -134ms
Warm Listen 260ms 185ms -75ms
Warm Ready 602ms 483ms -119ms

Biggest impact of all optimizations - eliminates Node.js fork overhead.

Test Plan

  • Run benchmark script to verify improvements
  • Build passes (including Rust CLI)
  • Dev server starts correctly with native binary
  • Fallback to Node.js works when native binary unavailable
  • Config file change restart works in tests (exit code 77 handling)

Copy link
Contributor Author

feedthejim commented Dec 30, 2025

@nextjs-bot
Copy link
Collaborator

Allow CI Workflow Run

  • approve CI run for commit: 5aa417d

Note: this should only be enabled once the PR is ready to go and can only be enabled by a maintainer

1 similar comment
@nextjs-bot
Copy link
Collaborator

Allow CI Workflow Run

  • approve CI run for commit: 5aa417d

Note: this should only be enabled once the PR is ready to go and can only be enabled by a maintainer

@feedthejim feedthejim force-pushed the perf-dev-webpack-bundling branch 2 times, most recently from 96f6373 to f196646 Compare December 30, 2025 14:07
@feedthejim feedthejim force-pushed the perf-dev-rust-cli branch 2 times, most recently from 5541176 to e359b2b Compare December 30, 2025 14:11
@feedthejim feedthejim force-pushed the perf-dev-webpack-bundling branch from f196646 to 58e04f1 Compare December 30, 2025 14:11
@feedthejim feedthejim force-pushed the perf-dev-webpack-bundling branch from 58e04f1 to 7afaf27 Compare December 30, 2025 14:30
@codspeed-hq
Copy link

codspeed-hq bot commented Dec 30, 2025

CodSpeed Performance Report

Merging #87941 will not alter performance

Comparing perf-dev-rust-cli (f02153b) with canary (40a4c11)1

Summary

✅ 17 untouched
⏩ 3 skipped2

Footnotes

  1. No successful run was found on perf-dev-bytecode-cache (b556af7) during the generation of this report, so canary (40a4c11) was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

  2. 3 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

Comment on lines +263 to +266
await startServer({
...devServerOptions,
selfSignedCertificate: certificate,
})
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The dev server no longer supports auto-restart when configuration files change if the Rust CLI wrapper is not available. When startServer() detects a config change, it calls process.exit(77), expecting a Rust wrapper to catch this exit code and restart the process. However, when falling back to the Node.js entry point, this exit code is not handled, causing the dev server to exit permanently instead of restarting.

View Details
📝 Patch Details
diff --git a/packages/next/bin/next b/packages/next/bin/next
index 84eee1314d..816b148735 100755
--- a/packages/next/bin/next
+++ b/packages/next/bin/next
@@ -10,4 +10,7 @@ for pkg in "$DIR"/../node_modules/@next/cli-*/next; do
 done
 
 # Fallback: Node.js
+# Set NEXT_CLI_NO_RUST to indicate we're running without the Rust wrapper.
+# This allows the Node.js dev server to implement its own restart loop for config changes.
+export NEXT_CLI_NO_RUST=1
 exec node "$DIR/../dist/bin/next" "$@"
diff --git a/packages/next/src/cli/next-dev.ts b/packages/next/src/cli/next-dev.ts
index 16eadfa57c..49838014b7 100644
--- a/packages/next/src/cli/next-dev.ts
+++ b/packages/next/src/cli/next-dev.ts
@@ -228,10 +228,36 @@ const nextDev = async (
     process.env.TURBOPACK = '1'
   }
 
+  // Track if we're in a restart loop to handle exit code 77
+  // Only needed when running without the Rust CLI wrapper (NEXT_CLI_NO_RUST)
+  let restartExitCode: number | null = null
+  const originalExit = process.exit
+  const noRustWrapper = process.env.NEXT_CLI_NO_RUST === '1'
+
+  // Intercept process.exit to handle restart signals from the dev server
+  // When startServer() detects a config file change, it calls process.exit(77)
+  // The Rust wrapper catches this and restarts, but when running directly with Node.js,
+  // we need to handle it here to maintain dev server functionality
+  if (noRustWrapper) {
+    process.exit = function (code?: number | string) {
+      const exitCode = typeof code === 'string' ? parseInt(code, 10) : code || 0
+      // Exit code 77 signals "restart needed" (config file changed)
+      if (exitCode === 77) {
+        restartExitCode = 77
+        // Don't actually exit - we'll loop back and restart
+        return undefined
+      }
+      // For all other exit codes, actually exit the process
+      return originalExit.call(process, code as never)
+    } as any
+  }
+
   const runDevServer = async (reboot: boolean) => {
     try {
       // Load startServer from bundled version with optional bytecode caching
-      // The Rust wrapper handles restarts via exit code 77
+      // The Rust wrapper handles restarts via exit code 77.
+      // When running without the Rust wrapper, the intercepted process.exit() above
+      // will catch exit code 77 and trigger a restart.
       const { startServer } =
         require('../server/lib/start-server-with-cache') as typeof import('../server/lib/start-server-with-cache')
 
@@ -272,7 +298,29 @@ const nextDev = async (
     }
   }
 
-  await runDevServer(false)
+  // Restart loop for the Node.js fallback path
+  // When NEXT_CLI_NO_RUST=1 (running without the Rust CLI wrapper),
+  // we need to handle config file changes and restart the server.
+  // The Rust wrapper has its own restart loop and won't reach this code.
+  if (noRustWrapper) {
+    let isRestart = false
+    while (true) {
+      restartExitCode = null
+      await runDevServer(isRestart)
+
+      // If startServer exited with code 77, loop back and restart
+      if (restartExitCode === 77) {
+        isRestart = true
+        continue
+      }
+      // Otherwise, exit normally
+      break
+    }
+  } else {
+    // When running with the Rust CLI wrapper, it handles the restart loop.
+    // We just run the server once and exit (potentially with code 77 for restarts).
+    await runDevServer(false)
+  }
 }
 
 export { nextDev }

Analysis

Dev server exits permanently when configuration files change in Node.js fallback mode

What fails: When running next dev without the Rust CLI wrapper (@next/cli-* binary), the dev server exits with code 77 and does not restart when configuration files change (next.config.js, next.config.mjs, tsconfig.json, etc.)

How to reproduce:

  1. Run Next.js dev server directly through the Node.js fallback path (bypassing the Rust wrapper):

    # Simulate the fallback: directly run Node.js instead of using the shell wrapper
    node packages/next/dist/bin/next dev
  2. Modify a config file that triggers the watcher (e.g., next.config.js, tsconfig.json)

  3. Observe: The dev server logs "Found a change in [filename]. Restarting the server to apply the changes..." then exits with code 77

  4. The dev server does not restart - it remains stopped

Expected behavior: The dev server should detect the config file change and restart the server, just like it does when using the Rust wrapper

Root cause: The architecture change in commit 88f6518 moved restart loop logic from JavaScript to a Rust wrapper. The Rust binary correctly handles exit code 77 by looping and restarting the Node.js process. However, when the Rust binary is unavailable and the shell script (packages/next/bin/next) falls back to directly executing node, there is no restart loop in the Node.js code to handle the exit code 77 signal from the config file watcher in start-server.ts.

Affected scenarios:

  • Developers on unsupported platforms where Rust binaries aren't available
  • Direct invocation of Node.js entry point (bypassing the shell script)
  • Failed or missing binary installation (fallback to Node.js)
  • Development environments where the Rust wrapper is not available

References:

  • Entry point: packages/next/bin/next (shell script)
  • Node.js entry point: packages/next/src/bin/next.ts
  • Dev CLI: packages/next/src/cli/next-dev.ts
  • Config file watcher: packages/next/src/server/lib/start-server.ts (line 518)
  • Exit code constant: packages/next/src/server/lib/utils.ts (RESTART_EXIT_CODE = 77)
  • Rust wrapper: crates/next-cli/src/main.rs (handles restart loop)

@feedthejim feedthejim changed the base branch from perf-dev-webpack-bundling to graphite-base/87941 December 30, 2025 14:45
@feedthejim feedthejim changed the base branch from graphite-base/87941 to perf-dev-webpack-bundling December 30, 2025 14:46
@feedthejim feedthejim force-pushed the perf-dev-rust-cli branch 2 times, most recently from 5b4ce7a to 9bc50a8 Compare December 30, 2025 14:55
@feedthejim feedthejim force-pushed the perf-dev-webpack-bundling branch from 39cecfc to 2258256 Compare December 30, 2025 14:55
@feedthejim feedthejim force-pushed the perf-dev-bytecode-cache branch from f07adf3 to 53ff208 Compare January 3, 2026 10:07
@feedthejim feedthejim force-pushed the perf-dev-rust-cli branch 2 times, most recently from 8c03255 to b0f627c Compare January 3, 2026 10:14
@feedthejim feedthejim force-pushed the perf-dev-bytecode-cache branch from 53ff208 to 8373a0d Compare January 3, 2026 10:14
@feedthejim feedthejim force-pushed the perf-dev-bytecode-cache branch from 8373a0d to c71c25a Compare January 4, 2026 19:10
@feedthejim feedthejim force-pushed the perf-dev-bytecode-cache branch from c71c25a to 90e465a Compare January 4, 2026 19:26
@feedthejim feedthejim force-pushed the perf-dev-bytecode-cache branch from 90e465a to 4687c5e Compare January 4, 2026 20:12
@feedthejim feedthejim force-pushed the perf-dev-rust-cli branch 2 times, most recently from 40bb559 to 64e7286 Compare January 4, 2026 22:10
@feedthejim feedthejim force-pushed the perf-dev-bytecode-cache branch 2 times, most recently from 5b1b9fe to 74117b7 Compare January 5, 2026 08:25
@feedthejim feedthejim force-pushed the perf-dev-bytecode-cache branch from 74117b7 to b7ea57d Compare January 5, 2026 08:28
@feedthejim feedthejim force-pushed the perf-dev-rust-cli branch 2 times, most recently from 43a73eb to c928af3 Compare January 5, 2026 08:29
@feedthejim feedthejim force-pushed the perf-dev-bytecode-cache branch from b7ea57d to 76d4345 Compare January 5, 2026 08:29
@feedthejim feedthejim force-pushed the perf-dev-bytecode-cache branch from 76d4345 to 1b2bfdc Compare January 5, 2026 08:34
@feedthejim feedthejim force-pushed the perf-dev-bytecode-cache branch 2 times, most recently from 0bcb28e to 4893189 Compare January 5, 2026 08:58
feedthejim and others added 2 commits January 5, 2026 10:20
Replace fork-based architecture with single Node.js process:

- Add Rust CLI wrapper (`crates/next-cli/`) that handles:
  - NODE_OPTIONS (memory limits, source maps, inspect)
  - WATCHPACK_WATCHER_LIMIT for large projects
  - Restart loop (exit code 77) without Node.js overhead

- Simplify next-dev.ts: remove fork(), IPC, child process management
- Simplify start-server.ts: remove NEXT_PRIVATE_WORKER handling

- Add shell entry points (bin/next, bin/next.cmd) that:
  - Use native binary when available (~10ms overhead)
  - Fall back to Node.js entry point

- Add lazy loading for heavy modules:
  - tar (download-swc) - only needed for fallback download
  - edge-runtime sandbox - only needed for edge functions
  - MCP SDK - only needed when clients connect

- Set up cross-platform release pipeline:
  - Build @next/cli-* for 8 platforms in CI
  - Publish as optional dependencies
  - Update install-native.mjs for development

Saves ~35-50ms on dev server startup by eliminating parent
Node.js process and fork overhead.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Yarn Berry PnP doesn't support shell script binaries - it tries to parse
them as JavaScript. Convert bin/next from shell script to JavaScript with
#!/usr/bin/env node shebang.

The JS wrapper:
- Detects platform/arch
- Looks for Rust CLI binary in @next/cli-* packages
- Falls back to dist/bin/next if not found

Benchmark: ~25-35ms overhead vs shell script (negligible for 500-1500ms startup)

Also removes next.cmd as npm/yarn auto-generate .cmd wrappers for JS bins.
@feedthejim feedthejim force-pushed the perf-dev-bytecode-cache branch from 4893189 to b556af7 Compare January 5, 2026 09:32
@nextjs-bot
Copy link
Collaborator

nextjs-bot commented Jan 5, 2026

❌ 119 failing tests in 27 jobs

Updated 2026-01-05 10:01:41 UTC · Commit: f02153b

File Failures Category
test/development/app-dir/devtool-copy-button/devtool-copy-button.test.ts 3 turbopack dev, cache components dev, dev
test/development/app-dir/server-navigation-error/server-navigation-error.test.ts 6 cache components dev, turbopack dev
test/development/app-dir/typed-env/typed-env-prod.test.ts 2 turbopack dev, dev
test/development/jsconfig-path-reloading/index.test.ts 5 dev
test/development/middleware-errors/index.test.ts 2 dev
test/development/tsconfig-path-reloading/index.test.ts 5 dev
test/e2e/app-dir/cache-components-errors/cache-components-errors.test.ts 6 turbopack production, prod
test/e2e/app-dir/disable-logging-route/disable-logging-route.test.ts 1 dev
test/e2e/app-dir/next-after-app/index.test.ts 2 turbopack production
test/e2e/app-dir/use-cache-unknown-cache-kind/use-cache-unknown-cache-kind.test.ts 2 cache components dev, turbopack dev
test/e2e/config-turbopack/index.test.ts 1 turbopack dev
...e-good-stack-traces-in-edge-runtime/fetch-failures-have-good-stack-traces-in-edge-runtime.test.ts 1 turbopack dev
test/e2e/next-script/index.test.ts 3 dev
test/integration/cli/test/index.test.ts 9 integration, turbopack production integration, turbopack development integration
test/integration/edge-runtime-dynamic-code/test/index.test.ts 6 turbopack development integration
test/integration/edge-runtime-with-node.js-apis/test/index.test.ts 38 integration
test/integration/server-side-dev-errors/test/index.test.ts 27 turbopack production integration, integration, turbopack development integration

Details

📁 test/development/app-dir/devtool-copy-button/devtool-copy-button.test.ts — 3 failures
app-dir - devtool-copy-button > should has inspect url copy button · turbopack dev

Datadog Job · 7-day History · CI Logs

pnpm test-dev-turbo test/development/app-dir/devtool-copy-button/devtool-copy-button.test.ts -t "should has inspect url copy button"
page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('[data-nextjs-data-runtime-error-copy-devtools-url]') to be visible

    at waitForSelector (/root/actions-runner/_work/next.js/next.js/test/lib/browsers/playwright.ts:521:29)

    at Playwright._chain (/root/actions-runner/_work/next.js/next.js/test/lib/browsers/playwright.ts:651:23)
    at Playwright._chain [as startChain] (/root/actions-runner/_work/next.js/next.js/test/lib/browsers/playwright.ts:632:17)
    at Playwright.startChain [as waitForElementByCss] (/root/actions-runner/_work/next.js/next.js/test/lib/browsers/playwright.ts:520:17)
    at Playwright.waitForElementByCss [as elementByCss] (/root/actions-runner/_work/next.js/next.js/test/lib/browsers/playwright.ts:405:17)
    at Object.elementByCss (/root/actions-runner/_work/next.js/next.js/test/development/app-dir/devtool-copy-button/devtool-copy-button.test.ts:16:10)

    at Proxy._chain (/root/actions-runner/_work/next.js/next.js/test/lib/browsers/playwright.ts:651:23)
    at Proxy._chain (/root/actions-runner/_work/next.js/next.js/test/lib/browsers/playwright.ts:627:17)
    at Proxy.continueChain (/root/actions-runner/_work/next.js/next.js/test/lib/browsers/playwright.ts:455:17)
    at Object.getAttribute (/root/actions-runner/_work/next.js/next.js/test/development/app-dir/devtool-copy-button/devtool-copy-button.test.ts:17:10)
app-dir - devtool-copy-button > should has inspect url copy button · cache components dev

Datadog Job · 7-day History · CI Logs

pnpm test-dev test/development/app-dir/devtool-copy-button/devtool-copy-button.test.ts -t "should has inspect url copy button"
page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('[data-nextjs-data-runtime-error-copy-devtools-url]') to be visible

    at waitForSelector (/root/actions-runner/_work/next.js/next.js/test/lib/browsers/playwright.ts:521:29)

    at Playwright._chain (/root/actions-runner/_work/next.js/next.js/test/lib/browsers/playwright.ts:651:23)
    at Playwright._chain [as startChain] (/root/actions-runner/_work/next.js/next.js/test/lib/browsers/playwright.ts:632:17)
    at Playwright.startChain [as waitForElementByCss] (/root/actions-runner/_work/next.js/next.js/test/lib/browsers/playwright.ts:520:17)
    at Playwright.waitForElementByCss [as elementByCss] (/root/actions-runner/_work/next.js/next.js/test/lib/browsers/playwright.ts:405:17)
    at Object.elementByCss (/root/actions-runner/_work/next.js/next.js/test/development/app-dir/devtool-copy-button/devtool-copy-button.test.ts:16:10)

    at Proxy._chain (/root/actions-runner/_work/next.js/next.js/test/lib/browsers/playwright.ts:651:23)
    at Proxy._chain (/root/actions-runner/_work/next.js/next.js/test/lib/browsers/playwright.ts:627:17)
    at Proxy.continueChain (/root/actions-runner/_work/next.js/next.js/test/lib/browsers/playwright.ts:455:17)
    at Object.getAttribute (/root/actions-runner/_work/next.js/next.js/test/development/app-dir/devtool-copy-button/devtool-copy-button.test.ts:17:10)
app-dir - devtool-copy-button > should has inspect url copy button · dev

Datadog Job · 7-day History · CI Logs

pnpm test-dev test/development/app-dir/devtool-copy-button/devtool-copy-button.test.ts -t "should has inspect url copy button"
page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('[data-nextjs-data-runtime-error-copy-devtools-url]') to be visible

    at waitForSelector (/root/actions-runner/_work/next.js/next.js/test/lib/browsers/playwright.ts:521:29)

    at Playwright._chain (/root/actions-runner/_work/next.js/next.js/test/lib/browsers/playwright.ts:651:23)
    at Playwright._chain [as startChain] (/root/actions-runner/_work/next.js/next.js/test/lib/browsers/playwright.ts:632:17)
    at Playwright.startChain [as waitForElementByCss] (/root/actions-runner/_work/next.js/next.js/test/lib/browsers/playwright.ts:520:17)
    at Playwright.waitForElementByCss [as elementByCss] (/root/actions-runner/_work/next.js/next.js/test/lib/browsers/playwright.ts:405:17)
    at Object.elementByCss (/root/actions-runner/_work/next.js/next.js/test/development/app-dir/devtool-copy-button/devtool-copy-button.test.ts:16:10)

    at Proxy._chain (/root/actions-runner/_work/next.js/next.js/test/lib/browsers/playwright.ts:651:23)
    at Proxy._chain (/root/actions-runner/_work/next.js/next.js/test/lib/browsers/playwright.ts:627:17)
    at Proxy.continueChain (/root/actions-runner/_work/next.js/next.js/test/lib/browsers/playwright.ts:455:17)
    at Object.getAttribute (/root/actions-runner/_work/next.js/next.js/test/development/app-dir/devtool-copy-button/devtool-copy-button.test.ts:17:10)
📁 test/development/app-dir/server-navigation-error/server-navigation-error.test.ts — 6 failures
server-navigation-error > pages router > should error on navigation API redirect · cache components dev

Datadog Job · 7-day History · CI Logs

pnpm test-dev test/development/app-dir/server-navigation-error/server-navigation-error.test.ts -t "should error on navigation API redirect"
Error: expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `server-navigation-error pages router should error on navigation API redirect 1`

- Snapshot  - 4
+ Received  + 2

  {
    "description": "Next.js navigation API is not allowed to be used in Pages Router.",
    "environmentLabel": null,
    "label": "Runtime Error",
-   "source": "pages/pages/redirect.tsx (4:11) @ Page
- > 4 |   redirect('/')
-     |           ^",
+   "source": null,
    "stack": [
-     "Page pages/pages/redirect.tsx (4:11)",
+     "Page ./pages/redirect.tsx",
    ],
  }
    at Object.toDisplayRedbox (/root/actions-runner/_work/next.js/next.js/test/development/app-dir/server-navigation-error/server-navigation-error.test.ts:12:29)
    at runNextTicks (node:internal/process/task_queues:60:5)
    at processImmediate (node:internal/timers:449:9)
    at process.callbackTrampoline (node:internal/async_hooks:130:17)
server-navigation-error > pages router > should error on navigation API notFound · cache components dev

Datadog Job · 7-day History · CI Logs

pnpm test-dev test/development/app-dir/server-navigation-error/server-navigation-error.test.ts -t "should error on navigation API notFound"
Error: expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `server-navigation-error pages router should error on navigation API notFound 1`

- Snapshot  - 4
+ Received  + 2

  {
    "description": "Next.js navigation API is not allowed to be used in Pages Router.",
    "environmentLabel": null,
    "label": "Runtime Error",
-   "source": "pages/pages/not-found.tsx (4:11) @ Page
- > 4 |   notFound()
-     |           ^",
+   "source": null,
    "stack": [
-     "Page pages/pages/not-found.tsx (4:11)",
+     "Page ./pages/not-found.tsx",
    ],
  }
    at Object.toDisplayRedbox (/root/actions-runner/_work/next.js/next.js/test/development/app-dir/server-navigation-error/server-navigation-error.test.ts:30:29)
    at runNextTicks (node:internal/process/task_queues:60:5)
    at processImmediate (node:internal/timers:449:9)
    at process.callbackTrampoline (node:internal/async_hooks:130:17)
server-navigation-error > pages router > should error on navigation API redirect · turbopack dev

Datadog Job · 7-day History · CI Logs

pnpm test-dev-turbo test/development/app-dir/server-navigation-error/server-navigation-error.test.ts -t "should error on navigation API redirect"
Error: expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `server-navigation-error pages router should error on navigation API redirect 1`

- Snapshot  - 2
+ Received  + 2

  {
    "description": "Next.js navigation API is not allowed to be used in Pages Router.",
    "environmentLabel": null,
    "label": "Runtime Error",
-   "source": "pages/pages/redirect.tsx (4:11) @ Page
+   "source": "pages/redirect.tsx (4:11) @ Page
  > 4 |   redirect('/')
      |           ^",
    "stack": [
-     "Page pages/pages/redirect.tsx (4:11)",
+     "Page pages/redirect.tsx (4:11)",
    ],
  }
    at Object.toDisplayRedbox (/root/actions-runner/_work/next.js/next.js/test/development/app-dir/server-navigation-error/server-navigation-error.test.ts:12:29)
server-navigation-error > pages router > should error on navigation API notFound · turbopack dev

Datadog Job · 7-day History · CI Logs

pnpm test-dev-turbo test/development/app-dir/server-navigation-error/server-navigation-error.test.ts -t "should error on navigation API notFound"
Error: expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `server-navigation-error pages router should error on navigation API notFound 1`

- Snapshot  - 2
+ Received  + 2

  {
    "description": "Next.js navigation API is not allowed to be used in Pages Router.",
    "environmentLabel": null,
    "label": "Runtime Error",
-   "source": "pages/pages/not-found.tsx (4:11) @ Page
+   "source": "pages/not-found.tsx (4:11) @ Page
  > 4 |   notFound()
      |           ^",
    "stack": [
-     "Page pages/pages/not-found.tsx (4:11)",
+     "Page pages/not-found.tsx (4:11)",
    ],
  }
    at Object.toDisplayRedbox (/root/actions-runner/_work/next.js/next.js/test/development/app-dir/server-navigation-error/server-navigation-error.test.ts:30:29)
server-navigation-error > middleware > should error on navigation API redirect · turbopack dev

Datadog Job · 7-day History · CI Logs

pnpm test-dev-turbo test/development/app-dir/server-navigation-error/server-navigation-error.test.ts -t "should error on navigation API redirect "
Error: expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `server-navigation-error middleware should error on navigation API redirect  1`

- Snapshot  - 4
+ Received  + 8

  {
    "description": "Next.js navigation API is not allowed to be used in Middleware.",
    "environmentLabel": null,
    "label": "Runtime Error",
-   "source": "middleware.ts (8:13) @ middleware
- >  8 |     redirect('/')
-      |             ^",
+   "source": null,
    "stack": [
-     "middleware middleware.ts (8:13)",
+     "<FIXME-next-dist-dir>",
+     "<FIXME-next-dist-dir>",
+     "<FIXME-next-dist-dir>",
+     "<FIXME-next-dist-dir>",
+     "<FIXME-next-dist-dir>",
+     "<FIXME-next-dist-dir>",
+     "<FIXME-next-dist-dir>",
    ],
  }
    at Object.toDisplayRedbox (/root/actions-runner/_work/next.js/next.js/test/development/app-dir/server-navigation-error/server-navigation-error.test.ts:52:29)
    at runNextTicks (node:internal/process/task_queues:60:5)
    at processImmediate (node:internal/timers:449:9)
    at process.callbackTrampoline (node:internal/async_hooks:130:17)
server-navigation-error > middleware > should error on navigation API not-found · turbopack dev

Datadog Job · 7-day History · CI Logs

pnpm test-dev-turbo test/development/app-dir/server-navigation-error/server-navigation-error.test.ts -t "should error on navigation API not-found"
Error: expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `server-navigation-error middleware should error on navigation API not-found 1`

- Snapshot  - 4
+ Received  + 7

  {
    "description": "Next.js navigation API is not allowed to be used in Middleware.",
    "environmentLabel": null,
    "label": "Runtime Error",
-   "source": "middleware.ts (6:13) @ middleware
- > 6 |     notFound()
-     |             ^",
+   "source": null,
    "stack": [
-     "middleware middleware.ts (6:13)",
+     "<FIXME-next-dist-dir>",
+     "<FIXME-next-dist-dir>",
+     "<FIXME-next-dist-dir>",
+     "<FIXME-next-dist-dir>",
+     "<FIXME-next-dist-dir>",
+     "<FIXME-next-dist-dir>",
    ],
  }
    at Object.toDisplayRedbox (/root/actions-runner/_work/next.js/next.js/test/development/app-dir/server-navigation-error/server-navigation-error.test.ts:70:29)
📁 test/development/app-dir/typed-env/typed-env-prod.test.ts — 2 failures
typed-env > should have env types from next config · turbopack dev

Datadog Job · 7-day History · CI Logs

pnpm test-dev-turbo test/development/app-dir/typed-env/typed-env-prod.test.ts -t "should have env types from next config"
Error: expect(received).not.toContain(expected) // indexOf

Expected substring: not "FROM_ENV_DEV"
Received string:        "// Type definitions for Next.js environment variables
declare global {
  namespace NodeJS {
    interface ProcessEnv {
      /** Loaded from `.env.development.local` */
      FROM_ENV_DEV_LOCAL?: string
      /** Loaded from `.env.local` */
      FROM_ENV_LOCAL?: string
      /** Loaded from `.env.development` */
      FROM_ENV_DEV?: string
      /** Loaded from `.env` */
      FROM_ENV?: string
      /** Loaded from `next.config.js` */
      FROM_NEXT_CONFIG?: string
    }
  }
}
export {}"
    at toContain (/root/actions-runner/_work/next.js/next.js/test/development/app-dir/typed-env/typed-env-prod.test.ts:17:26)
    at retry (/root/actions-runner/_work/next.js/next.js/test/lib/next-test-utils.ts:797:14)
    at Object.<anonymous> (/root/actions-runner/_work/next.js/next.js/test/development/app-dir/typed-env/typed-env-prod.test.ts:13:5)
typed-env > should have env types from next config · dev

Datadog Job · 7-day History · CI Logs

pnpm test-dev test/development/app-dir/typed-env/typed-env-prod.test.ts -t "should have env types from next config"
Error: expect(received).not.toContain(expected) // indexOf

Expected substring: not "FROM_ENV_DEV"
Received string:        "// Type definitions for Next.js environment variables
declare global {
  namespace NodeJS {
    interface ProcessEnv {
      /** Loaded from `.env.development.local` */
      FROM_ENV_DEV_LOCAL?: string
      /** Loaded from `.env.local` */
      FROM_ENV_LOCAL?: string
      /** Loaded from `.env.development` */
      FROM_ENV_DEV?: string
      /** Loaded from `.env` */
      FROM_ENV?: string
      /** Loaded from `next.config.js` */
      FROM_NEXT_CONFIG?: string
    }
  }
}
export {}"
    at toContain (/root/actions-runner/_work/next.js/next.js/test/development/app-dir/typed-env/typed-env-prod.test.ts:17:26)
    at retry (/root/actions-runner/_work/next.js/next.js/test/lib/next-test-utils.ts:797:14)
    at Object.<anonymous> (/root/actions-runner/_work/next.js/next.js/test/development/app-dir/typed-env/typed-env-prod.test.ts:13:5)
📁 test/development/jsconfig-path-reloading/index.test.ts — 5 failures
jsconfig-path-reloading > jsconfig > should recover from module not found when paths is updated · dev

Datadog Job · 7-day History · CI Logs

pnpm test-dev test/development/jsconfig-path-reloading/index.test.ts -t "should recover from module not found when paths is updated"
Error: Expected no visible Redbox but found one
header: Build Error
Module not found: Can't resolve '@lib/second-data'
description: Module not found: Can't resolve '@lib/second-data'
source: ./pages/index.js (1:1)
Module not found: Can't resolve '@lib/second-data'
> 1 | import {secondData} from "@lib/second-data"
    | ^
  2 | import { Button1 } from '@c/button-1'
  3 | import { Button2 } from '@mybutton'
  4 | import { firstData } from '@lib/first-data'

https://nextjs.org/docs/messages/module-not-found
    at runNextTicks (node:internal/process/task_queues:60:5)
    at processImmediate (node:internal/timers:449:9)
    at process.callbackTrampoline (node:internal/async_hooks:130:17)
    at Object.<anonymous> (/root/actions-runner/_work/next.js/next.js/test/development/jsconfig-path-reloading/index.test.ts:106:9)
jsconfig-path-reloading > jsconfig > should automatically fast refresh content when path is added without error · dev

Datadog Job · 7-day History · CI Logs

pnpm test-dev test/development/jsconfig-path-reloading/index.test.ts -t "should automatically fast refresh content when path is added without error"
Error: Expected no visible Redbox but found one
header: Build Error
Module not found: Can't resolve '@myotherbutton'
description: Module not found: Can't resolve '@myotherbutton'
source: ./pages/index.js (2:1)
Module not found: Can't resolve '@myotherbutton'
  1 | import { Button1 } from '@c/button-1'
> 2 | import { Button2 } from '@myotherbutton'
    | ^
  3 | import { firstData } from '@lib/first-data'
  4 |
  5 | export default function Page(props) {

https://nextjs.org/docs/messages/module-not-found
    at Object.<anonymous> (/root/actions-runner/_work/next.js/next.js/test/development/jsconfig-path-reloading/index.test.ts:161:9)
jsconfig-path-reloading > jsconfig added after starting dev > should load with initial paths config correctly · dev

Datadog Job · 7-day History · CI Logs

pnpm test-dev test/development/jsconfig-path-reloading/index.test.ts -t "should load with initial paths config correctly"
Error: expect(received).toContain(expected) // indexOf

Expected substring: "first button"
Received string:    "<!DOCTYPE html><html><head><meta charSet=\"utf-8\" data-next-head=\"\"/><meta name=\"viewport\" content=\"width=device-width\" data-next-head=\"\"/><style data-next-hide-fouc=\"true\">body{display:none}</style><noscript data-next-hide-fouc=\"true\"><style>body{display:block}</style></noscript><noscript data-n-css=\"\"></noscript><script defer=\"\" noModule=\"\" src=\"/_next/static/chunks/polyfills.js\"></script><script src=\"/_next/static/chunks/fallback/webpack.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/main.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/pages/_app.js\" defer=\"\"></script><script src=\"/_next/static/chunks/fallback/pages/_error.js\" defer=\"\"></script><noscript id=\"__next_css__DO_NOT_USE__\"></noscript></head><body><div id=\"__next\"></div><script src=\"/_next/static/chunks/fallback/react-refresh.js\"></script><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"statusCode\":500,\"hostname\":\"localhost\"}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"Error\",\"source\":\"server\",\"message\":\"Module not found: Can't resolve '@c/button-1'\\n\\u003e 1 | import { Button1 } from '@c/button-1'\\n    | ^\\n  2 | import { Button2 } from '@mybutton'\\n  3 | import { firstData } from '@lib/first-data'\\n  4 |\\n\\nhttps://nextjs.org/docs/messages/module-not-found\\n\",\"stack\":\"Error: Module not found: Can't resolve '@c/button-1'\\n\\u003e 1 | import { Button1 } from '@c/button-1'\\n    | ^\\n  2 | import { Button2 } from '@mybutton'\\n  3 | import { firstData } from '@lib/first-data'\\n  4 |\\n\\nhttps://nextjs.org/docs/messages/module-not-found\\n\\n    at getNotFoundError (/tmp/next-install-a7f43267a2fa270318342fc4ccf020a78dc2988db84150c6ece5b1321385f2de/node_modules/.pnpm/file+..+next-repo-54aa964e33ac
... (truncated)

See CI Logs or Datadog for full error

jsconfig-path-reloading > jsconfig added after starting dev > should recover from module not found when paths is updated · dev

Datadog Job · 7-day History · CI Logs

pnpm test-dev test/development/jsconfig-path-reloading/index.test.ts -t "should recover from module not found when paths is updated"
Error: TIMED OUT: success

<head><meta charset="utf-8" data-next-head=""><meta name="viewport" content="width=device-width" data-next-head=""><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/https/github.com/_next/static/chunks/polyfills.js"></script><script src="/https/github.com/_next/static/chunks/fallback/webpack.js" defer=""></script><script src="/https/github.com/_next/static/chunks/fallback/main.js" defer=""></script><script src="/https/github.com/_next/static/chunks/fallback/pages/_app.js" defer=""></script><script src="/https/github.com/_next/static/chunks/fallback/pages/_error.js" defer=""></script><noscript id="__next_css__DO_NOT_USE__"></noscript><style>@font-face{font-family:'__nextjs-Geist';font-style:normal;font-weight:400 600;font-display:swap;src:url(/__nextjs_font/geist-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'__nextjs-Geist Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url(/__nextjs_font/geist-mono-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'__nextjs-Geist';font-style:normal;font-weight:400 600;font-display:swap;src:url(/__nextjs_font/geist-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'__nextjs-Geist Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url(/__nextjs_font/geist-mono-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}</style></head><body style
... (truncated)

See CI Logs or Datadog for full error

jsconfig-path-reloading > jsconfig added after starting dev > should automatically fast refresh content when path is added without error · dev

Datadog Job · 7-day History · CI Logs

pnpm test-dev test/development/jsconfig-path-reloading/index.test.ts -t "should automatically fast refresh content when path is added without error"
Error: TIMED OUT: success

<head><meta charset="utf-8" data-next-head=""><meta name="viewport" content="width=device-width" data-next-head=""><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/https/github.com/_next/static/chunks/polyfills.js"></script><script src="/https/github.com/_next/static/chunks/fallback/webpack.js" defer=""></script><script src="/https/github.com/_next/static/chunks/fallback/main.js" defer=""></script><script src="/https/github.com/_next/static/chunks/fallback/pages/_app.js" defer=""></script><script src="/https/github.com/_next/static/chunks/fallback/pages/_error.js" defer=""></script><noscript id="__next_css__DO_NOT_USE__"></noscript><style>@font-face{font-family:'__nextjs-Geist';font-style:normal;font-weight:400 600;font-display:swap;src:url(/__nextjs_font/geist-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'__nextjs-Geist Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url(/__nextjs_font/geist-mono-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'__nextjs-Geist';font-style:normal;font-weight:400 600;font-display:swap;src:url(/__nextjs_font/geist-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'__nextjs-Geist Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url(/__nextjs_font/geist-mono-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}</style></head><body style
... (truncated)

See CI Logs or Datadog for full error

📁 test/development/middleware-errors/index.test.ts — 2 failures
middleware - development errors > when throwing while loading the module > logs the error correctly · dev

Datadog Job · 7-day History · CI Logs

pnpm test-dev test/development/middleware-errors/index.test.ts -t "logs the error correctly"
Error: expect(received).toContain(expected) // indexOf

Expected substring: "
⨯ Error: booooom!
    at <unknown> (middleware.js:3)
    at eval (middleware.js:3:13)
    at (middleware)/./middleware.js (.next/dev/server/middleware.js:18:1)
    at __webpack_require__ "
Received string:    "▲ Next.js 16.1.1-canary.12 (webpack)
- Local:         http://localhost:46277
- Network:       http://65.21.85.156:46277
- Experiments (use with caution):
  ✓ strictRouteTypes (enabled by `__NEXT_EXPERIMENTAL_STRICT_ROUTE_TYPES`)·
⚠ The \"middleware\" file convention is deprecated. Please use \"proxy\" instead. Learn more: https://nextjs.org/docs/messages/middleware-to-proxy
✓ Ready in 900ms
⨯ Error: booooom!
    at <unknown> (middleware.js:3)
    at eval (middleware.js:3:13)
    at <unknown> (middleware)/./middleware.js (.next/dev/server/middleware.js:18:1)
    at __webpack_require__ (.next/dev/server/edge-runtime-webpack.js:37:33)
    at fn (.next/dev/server/edge-runtime-webpack.js:273:21)
    at __webpack_require__ (.next/dev/server/edge-runtime-webpack.js:37:33)
    at __webpack_exec__ (.next/dev/server/middleware.js:1043:48)
    at <unknown> (.next/dev/server/middleware.js:1044:37)
    at webpackJsonpCallback (.next/dev/server/edge-runtime-webpack.js:1128:39)
  1 |
  2 |       import { NextResponse } from 'next/server'
> 3 |       throw new Error('booooom!')
    |             ^
  4 |       export default function () {
  5 |         return NextResponse.next()
  6 |       }
"
    at Object.toContain (/root/actions-runner/_work/next.js/next.js/test/development/middleware-errors/index.test.ts:304:41)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
middleware - development errors > when throwing while loading the module > renders the error correctly and recovers · dev

Datadog Job · 7-day History · CI Logs

pnpm test-dev test/development/middleware-errors/index.test.ts -t "renders the error correctly and recovers"
Error: expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `middleware - development errors when throwing while loading the module renders the error correctly and recovers 1`

- Snapshot  - 1
+ Received  + 0

@@ -13,8 +13,7 @@
      "<FIXME-next-dist-dir>",
      "<FIXME-next-dist-dir>",
      "<FIXME-next-dist-dir>",
      "<FIXME-next-dist-dir>",
      "<FIXME-next-dist-dir>",
-     "<FIXME-next-dist-dir>",
    ],
  }
    at Object.toDisplayRedbox (/root/actions-runner/_work/next.js/next.js/test/development/middleware-errors/index.test.ts:366:31)

⚠️ 101 more failures (details omitted due to size limit)

...r/cache-components-errors/cache-components-errors.test.ts (6)

Cache Components Errors > Build With --prerender-debug > Inside use cache > throwing an error at runtime > should log an error at runtime

  • turbopack production · DD
  • prod · DD

Cache Components Errors > Build With --prerender-debug > Inside use cache > catching an error at runtime > should log an error at runtime

  • turbopack production · DD
  • prod · DD

Cache Components Errors > Build Without --prerender-debug > Inside use cache > throwing an error at runtime > should log an error at runtime

  • turbopack production · DD

Cache Components Errors > Build Without --prerender-debug > Inside use cache > catching an error at runtime > should log an error at runtime

  • turbopack production · DD
...p-dir/disable-logging-route/disable-logging-route.test.ts (1)

app-dir - disable-logging-route > should not log if disabled logging

  • dev · DD
test/e2e/app-dir/next-after-app/index.test.ts (2)

after() in nodejs runtime > does not allow modifying cookies in a callback

  • turbopack production · DD

after() in edge runtime > does not allow modifying cookies in a callback

  • turbopack production · DD
...e-unknown-cache-kind/use-cache-unknown-cache-kind.test.ts (2)

use-cache-unknown-cache-kind > should recover from the build error if the cache handler is defined

  • cache components dev · DD
  • turbopack dev · DD
test/e2e/config-turbopack/index.test.ts (1)

config-turbopack > when turbopack is auto selected > when webpack is configured but Turbopack is not > warns

  • turbopack dev · DD
...h-failures-have-good-stack-traces-in-edge-runtime.test.ts (1)

fetch failures have good stack traces in edge runtime > when awaiting fetch using an unknown domain, stack traces are preserved

  • turbopack dev · DD
test/e2e/next-script/index.test.ts (3)

experimental.nextScriptWorkers > experimental.nextScriptWorkers: true with required Partytown dependency for external script > Worker scripts are modified by Partytown to execute on a worker thread

  • dev · DD

experimental.nextScriptWorkers > experimental.nextScriptWorkers: true with required Partytown dependency for inline script > Inline worker script through children is modified by Partytown to execute on a worker thread

  • dev · DD

experimental.nextScriptWorkers > experimental.nextScriptWorkers: true with required Partytown dependency for inline script > Inline worker script through dangerouslySetInnerHtml is modified by Partytown to execute on a worker thread

  • dev · DD
test/integration/cli/test/index.test.ts (9)

CLI Usage > dev > --inspect

  • integration · DD
  • turbopack production integration · DD
  • turbopack development integration · DD

CLI Usage > dev > --inspect 0

  • integration · DD
  • turbopack production integration · DD
  • turbopack development integration · DD

CLI Usage > dev > --inspect [port]

  • integration · DD
  • turbopack production integration · DD
  • turbopack development integration · DD
.../integration/edge-runtime-dynamic-code/test/index.test.ts (6)

Middleware usage of dynamic code evaluation > development mode > shows a warning when running code with eval

  • turbopack development integration · DD

Middleware usage of dynamic code evaluation > development mode > shows a warning when running WebAssembly.compile

  • turbopack development integration · DD

Middleware usage of dynamic code evaluation > development mode > shows a warning when running WebAssembly.instantiate with a buffer parameter

  • turbopack development integration · DD

Edge route usage of dynamic code evaluation > development mode > shows a warning when running code with eval

  • turbopack development integration · DD

Edge route usage of dynamic code evaluation > development mode > shows a warning when running WebAssembly.compile

  • turbopack development integration · DD

Edge route usage of dynamic code evaluation > development mode > shows a warning when running WebAssembly.instantiate with a buffer parameter

  • turbopack development integration · DD
...gration/edge-runtime-with-node.js-apis/test/index.test.ts (38)

Middleware using Node.js API > development mode > throws error when using setImmediate

  • integration · DD

Middleware using Node.js API > development mode > throws error when using clearImmediate

  • integration · DD

Middleware using Node.js API > development mode > throws error when using process.cwd

  • integration · DD

Middleware using Node.js API > development mode > throws error when using process.cpuUsage

  • integration · DD

Middleware using Node.js API > development mode > throws error when using process.getuid

  • integration · DD

Middleware using Node.js API > development mode > throws error when using BroadcastChannel

  • integration · DD

Middleware using Node.js API > development mode > throws error when using ByteLengthQueuingStrategy

  • integration · DD

Middleware using Node.js API > development mode > throws error when using CompressionStream

  • integration · DD

Middleware using Node.js API > development mode > throws error when using CountQueuingStrategy

  • integration · DD

Middleware using Node.js API > development mode > throws error when using DecompressionStream

  • integration · DD

Middleware using Node.js API > development mode > throws error when using DomException

  • integration · DD

Middleware using Node.js API > development mode > throws error when using MessageChannel

  • integration · DD

Middleware using Node.js API > development mode > throws error when using MessageEvent

  • integration · DD

Middleware using Node.js API > development mode > throws error when using MessagePort

  • integration · DD

Middleware using Node.js API > development mode > throws error when using ReadableByteStreamController

  • integration · DD

Middleware using Node.js API > development mode > throws error when using ReadableStreamBYOBRequest

  • integration · DD

Middleware using Node.js API > development mode > throws error when using ReadableStreamDefaultController

  • integration · DD

Middleware using Node.js API > development mode > throws error when using TransformStreamDefaultController

  • integration · DD

Middleware using Node.js API > development mode > throws error when using WritableStreamDefaultController

  • integration · DD

Edge route using Node.js API > development mode > throws error when using setImmediate

  • integration · DD

Edge route using Node.js API > development mode > throws error when using clearImmediate

  • integration · DD

Edge route using Node.js API > development mode > throws error when using process.cwd

  • integration · DD

Edge route using Node.js API > development mode > throws error when using process.cpuUsage

  • integration · DD

Edge route using Node.js API > development mode > throws error when using process.getuid

  • integration · DD

Edge route using Node.js API > development mode > throws error when using BroadcastChannel

  • integration · DD

Edge route using Node.js API > development mode > throws error when using ByteLengthQueuingStrategy

  • integration · DD

Edge route using Node.js API > development mode > throws error when using CompressionStream

  • integration · DD

Edge route using Node.js API > development mode > throws error when using CountQueuingStrategy

  • integration · DD

Edge route using Node.js API > development mode > throws error when using DecompressionStream

  • integration · DD

Edge route using Node.js API > development mode > throws error when using DomException

  • integration · DD

Edge route using Node.js API > development mode > throws error when using MessageChannel

  • integration · DD

Edge route using Node.js API > development mode > throws error when using MessageEvent

  • integration · DD

Edge route using Node.js API > development mode > throws error when using MessagePort

  • integration · DD

Edge route using Node.js API > development mode > throws error when using ReadableByteStreamController

  • integration · DD

Edge route using Node.js API > development mode > throws error when using ReadableStreamBYOBRequest

  • integration · DD

Edge route using Node.js API > development mode > throws error when using ReadableStreamDefaultController

  • integration · DD

Edge route using Node.js API > development mode > throws error when using TransformStreamDefaultController

  • integration · DD

Edge route using Node.js API > development mode > throws error when using WritableStreamDefaultController

  • integration · DD
test/integration/server-side-dev-errors/test/index.test.ts (27)

server-side dev errors > should show server-side error for gsp page correctly

  • turbopack production integration · DD
  • integration · DD
  • turbopack development integration · DD

server-side dev errors > should show server-side error for gssp page correctly

  • turbopack production integration · DD
  • integration · DD
  • turbopack development integration · DD

server-side dev errors > should show server-side error for dynamic gssp page correctly

  • turbopack production integration · DD
  • integration · DD
  • turbopack development integration · DD

server-side dev errors > should show server-side error for api route correctly

  • turbopack production integration · DD
  • integration · DD
  • turbopack development integration · DD

server-side dev errors > should show server-side error for dynamic api route correctly

  • turbopack production integration · DD
  • integration · DD
  • turbopack development integration · DD

server-side dev errors > should show server-side error for uncaught rejection correctly

  • turbopack production integration · DD
  • integration · DD
  • turbopack development integration · DD

server-side dev errors > should show server-side error for uncaught empty rejection correctly

  • turbopack production integration · DD
  • integration · DD
  • turbopack development integration · DD

server-side dev errors > should show server-side error for uncaught exception correctly

  • turbopack production integration · DD
  • integration · DD
  • turbopack development integration · DD

server-side dev errors > should show server-side error for uncaught empty exception correctly

  • turbopack production integration · DD
  • integration · DD
  • turbopack development integration · DD

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

Labels

CI Bypass Graphite Optimization Ignore Graphite CI optimizations, run the full CI suite. https://graphite.dev/docs/stacking-and-ci created-by: Next.js team PRs by the Next.js team. tests Turbopack Related to Turbopack with Next.js. type: next

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants