100 Commits
Author SHA1 Message Date
Jiachi LiuandGitHub 9f4a0ce090 skip render dev overlay ux under private flag (#94346)
Introduce a private env `__NEXT_DISABLE_DEV_OVERLAY_UX ` to skip loading
devtool UX when it's specified
2026-06-02 09:03:29 -07:00
Jiachi LiuandGitHub 802073e706 [otel] set parent span name (#90840) 2026-03-03 23:59:57 +00:00
Jiachi LiuandGitHub d7b331f3bf [otel] fix missing http.route attribute (#90832) 2026-03-03 20:16:02 +01:00
Jiachi LiuandGitHub 488d90d141 [test] consolidate the browser log test (#89601)
Filter out the extra logging from test env so we only assert on the
snapshot of forwarded logs
```
Snapshot name: `Terminal Logging (Webpack) App Router - Hydration Errors should show hydration errors with owner stack trace 1`

- Snapshot  - 1
+ Received  + 9

@@ -39,7 +39,15 @@
     6 |     <div>
  >  7 |       <p>{isClient ? 'client' : 'server'}</p>
       |       ^
     8 |     </div>
     9 |   )
-   10 | }
+   10 | }
+
+
+ [12:36:48.104Z] Browser Log: received ws message {"type":"isrManifest","data":{"/hydration-error":true}}
+
+ [12:36:48.104Z] Browser Log: Next.js page already hydrated
+
+ [12:36:48.109Z] Hydration complete for http://localhost:46145/hydration-error
  "
    at Object.toMatchInlineSnapshot (/root/actions-runner/_work/next.js/next.js/test/development/browser-logs/browser-logs.test.ts:317:33)
    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)
```
2026-02-06 14:48:26 +01:00
Jiachi LiuandGitHub 99c8038e33 Include owner stack for forwarded errors if available (#89493)
For forwarded logs, we can also attach the owner stack if it's
available, then we can see the proper errors trace shown in the
terminal.

In this way agent can directly detect where the error is happening from
reading terminal log, and fix it

| After | Before |
|:---|:---|
| <img width="937" height="778" alt="image"
src="https://github.com/user-attachments/assets/666cc012-4e79-41f4-9d6f-b9c1969316bf"
/> | <img width="942" height="641" alt="image"
src="https://github.com/user-attachments/assets/a44f795a-d297-4fb8-9efe-25e6e3684014"
/> |
2026-02-04 19:05:28 +01:00
Jiachi LiuandGitHub af18c32bc8 Improve lock dir error message (#89119) 2026-01-30 16:38:25 +01:00
f1a047fd80 IsolatedDevBuild flag removal (#89167)
Co-authored-by: Cursor Agent <[email protected]>
Co-authored-by: jiachi <[email protected]>
2026-01-29 15:00:12 +01:00
9b90d1bffd Switch development log item format as JSON (#89168)
Co-authored-by: Cursor Agent <[email protected]>
Co-authored-by: jiachi <[email protected]>
2026-01-29 14:14:35 +01:00
Jiachi LiuandGitHub bb88ea523d [mcp] change the mcp endpoint response to JSON (#88911) 2026-01-26 18:24:58 +01:00
Jiachi LiuandGitHub cb1dbfb83f refactor: consume global-error from loader tree (#88437) 2026-01-26 14:54:35 +01:00
Jiachi LiuandGitHub 4fe058fc42 [devtool] Add hydration diff indicator for diff lines (#88919)
Add a hydration diff indicator on the top right corner to tell users
which line is from client and which line is from server. Heard feedback
from users that sometimes they got confused about which line is from
where. Now they'll clear know that:

- `+ Client` shows `+` is client rendered content
- `- Server` shows `+` is server rendered content

<img width="579" height="225" alt="image"
src="https://github.com/user-attachments/assets/5285709a-044a-4d7f-87f9-08f1199eed4e"
/>
2026-01-23 07:39:01 +01:00
Jiachi LiuandGitHub d161608328 remove gt workflow from agents.md (#88918) 2026-01-22 22:34:44 +00:00
Jiachi LiuandGitHub 37ac3974db stabilize browser log forward options (#88857) 2026-01-22 12:11:53 +01:00
Jiachi LiuandGitHub 13b13ede48 [metadata] match the Metadata and ResolvedMetadata type (#88739) 2026-01-20 17:26:03 +01:00
Jiachi LiuandGitHub 8cfdcacf37 Log browser error and warnings in terminal (#88352) 2026-01-16 15:10:24 +01:00
Jiachi LiuandGitHub 3aad67b75c feat: server action logging (#88277) 2026-01-16 15:09:02 +01:00
Jiachi LiuGitHubVercel <vercel[bot]@users.noreply.github.com>timneutkens
9fccecc301 doc: add details of mcp client integration (#88543)
add link to the mcp client configuration details section before the code
block of example

---------

Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>
Co-authored-by: timneutkens <[email protected]>
2026-01-16 09:44:08 +01:00
Jiachi LiuandGitHub 0df959c1ab keep next-env.d.s unchanged between dev and build (#88428) 2026-01-14 13:51:22 +01:00
Jiachi LiuandGitHub 5876248b23 perf: use length = 0 to clear the logging array (#88244) 2026-01-09 15:26:00 +00:00
Jiachi LiuandGitHub f5cfb23bb6 fix overlay frames cannot be opened sometimes (#88210) 2026-01-07 12:31:13 +01:00
Jiachi LiuandGitHub 023be2e88a metadata: use fixed segment in dynamic routes with static metadata files (#88113) 2026-01-07 10:55:09 +01:00
Jiachi LiuandGitHub fe34ade9b5 [docs] add get_routes in mcp available tools (#88181) 2026-01-06 21:02:10 +00:00
Jiachi LiuandGitHub 8fd79ff42e Rename CLAUDE.md to AGENTS.md with symlink (#88105) 2026-01-05 15:52:09 +01:00
Jiachi LiuandGitHub 42493fb3a4 dx: avoid next-env.d.ts change in dev (#88103) 2026-01-05 14:35:33 +01:00
Jiachi LiuandGitHub 25da5f0426 Move next-env.d.ts to dist dir (#86752) 2025-12-18 10:43:45 +01:00
Jiachi LiuandGitHub ada60dc8f8 [codemod] upgrade to nearest minor by default (#87004) 2025-12-09 23:32:12 +00:00
Jiachi LiuandGitHub 7f5f0a6983 enhance debug-build-paths on glob cases (#86953) 2025-12-09 18:42:28 +01:00
Jiachi LiuandGitHub 907e1b671c [devtool] make the draggable content selective (#86816) 2025-12-04 15:18:36 +01:00
Jiachi LiuandGitHub 809649db51 [test] fix missing nft file (#86817) 2025-12-04 12:18:17 +00:00
Jiachi LiuandGitHub 32dd05612a [turbopack] move edge entry wrapper to build template (#86699)
Move the edge-wrapper virtual module to templates
2025-12-03 09:57:30 +01:00
Jiachi LiuandGitHub dcd0a60065 [devtool] unify the bundler field (#86514) 2025-12-01 17:02:33 +01:00
Jiachi LiuandGitHub 4d7d9abc08 [ts-plugin] keep showing the types in the function body (#86273) 2025-11-24 17:05:44 +01:00
Jiachi LiuandGitHub 3f239eea13 [devtool] highlight all link in error message (#86084) 2025-11-13 20:27:27 +01:00
Jiachi LiuandGitHub 8d891a26b5 script: align the commits group logic with the origin script (#86079) 2025-11-13 14:59:37 +01:00
Jiachi LiuandGitHub 1f0322f23c perf: revert to use the light safe stringify for is-error (#86053)
`is-error` is a helper that being used accorss client and server now, in
#84909 we switched the underlying safe stringify error implementation to
the precompiled dependency `safe-stable-stringify`. But it increased the
client bundle size a bit.

The change in #84909 was only for applying the `safe-stable-stringify`
for client file logger with mcp, not really necessary need to change for
is-error helper

Note: Save minified around 12kb. it's actually 7.5kb on bundlephobia,
but because we're using ncc to compile it to cjs dependency that the
size seems slightly larger than their metrics. The saved gzip size would
be around 2-3.x kb
2025-11-13 02:14:46 +01:00
Jiachi LiuandGitHub 1752d79c59 fix: skip collecting metadata for app-error in webpack (#85892) 2025-11-07 22:52:06 +01:00
Jiachi LiuandGitHub 7fbd9de880 [mcp] get_routes mcp tool (#85773) 2025-11-06 15:53:35 +01:00
089ca2c0db docs: update multi sitemap argumenmt type (#85701)
In v16, `id` argument in metadata routes becomes promise which requries
to to unwrap it first to access the value

Follow up of #84491

Closes #85632

---------

Co-authored-by: Joseph Chamochumbi <[email protected]>
2025-11-03 11:01:03 +01:00
Jiachi LiuandGitHub 34dd8d42fc [turbopack] fix build of empty entries of pages (#84873) 2025-10-29 03:36:43 +01:00
Jiachi LiuandGitHub f7707931ea logger: skip logging full element (#85194) 2025-10-21 16:10:47 -07:00
30503c149b docs: mcp (#85010)
Co-authored-by: Delba de Oliveira <[email protected]>
Co-authored-by: Joseph <[email protected]>
2025-10-21 08:25:01 -07:00
Jiachi LiuandGitHub 98adcb3f86 telemetry: mcp tool call (#85120) 2025-10-20 14:42:25 -07:00
c3cdef9826 warn: add deprecation warning of eslint config (#85122)
Co-authored-by: JJ Kasper <[email protected]>
2025-10-20 12:21:37 -07:00
Jiachi LiuandGitHub 700fecf2f2 cli: build partial entries --debug-build-paths arg (#85052)
Add `--debug-build-paths` CLI option to next build for selective route
building. This enables building only specific routes for faster
development and debugging.

### Changes

 - Add `--debug-build-paths=<patterns>` CLI option
 - Support comma-separated paths and glob patterns
 - Filter collected routes after normal file system scanning
 - Works with both app router and pages router

### Usage

#### Build specific routes
```sh
 next build --debug-build-paths="app/page.tsx,app/dashboard/page.tsx"
 next build --debug-build-paths="pages/index.tsx,pages/about.tsx"
```
#### Use glob patterns

```sh
next build --debug-build-paths "app/**/page.tsx"
next build --debug-build-paths "pages/*.tsx"
```

#### Mix both routers
```
next build --debug-build-paths "app/page.tsx,pages/index.tsx"
```
2025-10-19 14:18:03 -07:00
Jiachi LiuandGitHub 79e127afbd enable mcp server by default (#85058) 2025-10-19 11:43:33 -07:00
Jiachi LiuandGitHub c34ea8f280 fix: always use the safe stable stringify (#84909) 2025-10-15 09:02:07 -07:00
Jiachi LiuandGitHub 27821674a6 improve next config schema validation errors (#84847) 2025-10-14 08:45:11 -07:00
Jiachi LiuandGitHub e300821614 [mcp] capture next config schema errors (#84832) 2025-10-13 15:08:03 -07:00
c08e05f5c7 [docs] update other params type of metadata image routes (#84491)
Co-authored-by: Joseph Chamochumbi <[email protected]>
2025-10-08 13:56:50 -07:00
Jiachi LiuandGitHub 5e59617d54 [mcp] change get-project-path to get-project-metadata (#84619) 2025-10-07 16:05:59 -07:00
Jiachi LiuandGitHub ba5a0ca799 telemetry track mcp server usage (#84471) 2025-10-03 11:49:20 +02:00
Jiachi LiuandGitHub 23813a778e [mcp] logging file should be reset for each session (#84425) 2025-10-02 00:48:19 +02:00
Jiachi LiuandGitHub 580d01a2db [metadata] remove falsy dynamicParams approach (#84405) 2025-10-01 19:18:30 +02:00
Jiachi LiuandGitHub 451484f215 [mcp] get server action tool (#84382) 2025-09-30 20:39:52 +02:00
Jiachi LiuandGitHub d5edf22ede [mcp] allow to enable mcp server through env var (#84278) 2025-09-26 22:38:57 +02:00
Jiachi LiuandGitHub 79ae926ded [mcp] expose logging (#84226) 2025-09-26 00:18:10 +02:00
Jiachi LiuandGitHub 46fa4ded99 feat: capture logs into logging file during development (#84183) 2025-09-25 23:01:45 +02:00
Jiachi LiuandGitHub b4ff6d9318 refactor: separate forward browser logs utils (#84151) 2025-09-24 16:42:09 +02:00
Jiachi LiuandGitHub 33e4a5bcef script: improve release log generation (#83686) 2025-09-24 16:07:32 +02:00
Jiachi LiuandGitHub f710bb50d9 [turbopack] set app dir only to true when no pages entries detected (#84144) 2025-09-24 12:21:24 +02:00
Jiachi LiuandGitHub e578335fbf [devtool] fix overlay styles are missing (#83721) 2025-09-12 15:46:08 +02:00
Jiachi LiuandGitHub f0a6103dc8 [metadata] change the metadata routes params to promises (#83560) 2025-09-10 22:48:42 +02:00
Jiachi LiuandGitHub c9fb1e588c metadata: align turbopack loader with js loader (#83559) 2025-09-08 15:46:29 +02:00
Jiachi LiuandGitHub ede8d1b861 [metadata] refactor metadata sitemap loader code (#83443) 2025-09-05 17:20:46 +02:00
Jiachi LiuandGitHub 900d344fea [metadata] not add suffix to sitemap.xml in group routes (#83486) 2025-09-05 13:44:17 +00:00
Jiachi LiuandGitHub 82cfc5efff [metadata] use generateStaticParams for getImageMetadata (#83374) 2025-09-04 16:30:43 +02:00
Jiachi LiuandGitHub 6b55da593d test: add prerender snapshot for metadata-dynamic-routes test (#83432) 2025-09-04 15:34:09 +02:00
Jiachi LiuandGitHub 32e09e5439 [codemod] return origin src in viewport mod if not changed (#83435) 2025-09-04 15:33:58 +02:00
Jiachi LiuandGitHub e539ca1e48 build: error on different root folder (#83416) 2025-09-04 15:14:00 +02:00
Jiachi LiuandGitHub 51350aa130 [metadata] refactor metadata loaders (#83304) 2025-09-03 22:52:38 +02:00
Jiachi LiuandGitHub 93e1a4c71e tests: migrate on-reuqest-error tests to new model (#83383) 2025-09-03 16:47:47 +02:00
Jiachi LiuandGitHub b5fa24b766 Remove the experimental.devtoolSegmentExplorer flag (#83384) 2025-09-03 14:29:42 +00:00
Jiachi LiuandGitHub 6ffc0c704e fix: shrink bottom stack container height (#83377) 2025-09-03 13:44:51 +02:00
Jiachi LiuandGitHub d8e1aca88c [metadata] update metadata routes cache headers (#83215) 2025-08-29 20:22:42 +02:00
Jiachi LiuandGitHub 81bd026e75 [test] update the metadata deployment cache header tests (#83217) 2025-08-29 13:05:24 +02:00
Jiachi LiuandGitHub 91601608af [metadata] refine metadata image error for webpack (#83139) 2025-08-28 13:35:08 +02:00
Jiachi LiuandGitHub f64dc1c382 fix global not found canont static shell with sync io (#83111) 2025-08-27 22:04:21 +02:00
Jiachi LiuandGitHub 8f6cd5e809 Skip emitting pages router entries when only app router present (#82444) 2025-08-22 00:41:38 +02:00
Jiachi LiuandGitHub b5b272062f [types] refactor shared types (#82844) 2025-08-20 23:41:52 +02:00
Jiachi LiuandGitHub 7a59a7904a [test] fix cache components build error in next-form tests (#82841) 2025-08-20 19:21:01 +02:00
Jiachi LiuandGitHub 50c172daa9 [test] update existing passed tests for cache components suite (#82830) 2025-08-20 19:14:25 +02:00
Jiachi LiuandGitHub df5bc54476 [perf] only load next config once when start next dev server (#82654) 2025-08-20 14:51:02 +02:00
Jiachi LiuandGitHub bccdb3fd11 [test] separate metadata font tests (#82746) 2025-08-19 13:08:37 +02:00
Jiachi LiuandGitHub 13f413bb28 [devtool] migrate global inline style tag to css (#82778) 2025-08-19 13:07:28 +02:00
Jiachi LiuandGitHub 4efa10f051 [type] dynamic skip generating unused types (#82755) 2025-08-18 23:46:25 +02:00
Jiachi LiuandGitHub 1b821389dc fix: use in operator to check dev indicator option when its obj (#82629) 2025-08-14 00:24:16 +02:00
Jiachi LiuandGitHub a5317ed693 fix: amp deprecation warning should assert on user config (#82572) 2025-08-12 15:04:48 +00:00
Jiachi LiuandGitHub dcece12928 [errors] revamp graceful degrade error boundary (#82474) 2025-08-08 18:58:42 +02:00
Jiachi LiuandGitHub 686ba5bd6b fix: static not-found missing in prerender manifest (#82199) 2025-08-08 01:10:23 +02:00
Jiachi LiuandGitHub ac5fdf56d5 Upgrade @vercel og (#82201) 2025-07-30 19:04:31 +02:00
Jiachi LiuandGitHub d75d00313f [devtool] bump base-ui to 1.0.0-beta.2 (#82206) 2025-07-30 19:03:52 +02:00
Jiachi LiuandGitHub f0a056797a [test] revert config change in hello-world test (#82173) 2025-07-29 19:23:18 +00:00
Jiachi LiuandGitHub 165b2a0969 [segment explorer] windows compatibility (#82147)
Let segment explorer tests running on windows CI to ensure it works with windows.

Closes NEXT-4633
2025-07-29 18:39:54 +02:00
Jiachi LiuandGitHub 5321ba84c3 [segment explorer] normalize path when running inside monorepo (#82146)
When you running `pnpm next <project path>` from the monorepo root with turbopack and the `<project path>` is not same as your root directory, this lead the unrelated paths outside of the next.js project are also included into the segment explorer file paths. Because in turbopack the current directory is changed to `[project]` after bundling so that we didn't get the correct relative path when running segment explorer.

The absolute path is formatted as `<project-root>/<cwd>`,  and the `<project root>` will be included into the path if the working directory is not same as the next.js directory. The PR fixes the issue by extracting the `<project-root>` from the absolute path, and also stripped from the segment explorer paths.

Closes NEXT-4651
2025-07-29 18:13:31 +02:00
Jiachi LiuandGitHub 0a45e33848 [perf] cache load config results (#80570)
This PR is a perf improvement that we only need to load Next.js config once per process. For config schema validation we also only execute once. I noticed that config-schema is executed 3 times, in the 1st root process, and twice when the router-server load configs.

* For `loadConfig` it needs module loading, config parsing, save the expensive effort to only execute once
* Always validate config schema if possible and don't be silent, but only do it once is the parent process. We use `process.send` to check if it's in the root or forked process.
2025-07-25 10:43:18 +02:00
Jiachi LiuandGitHub 89a8b65341 Upgrade vercel og and remove yoga type patching (#81937)
In [satori 0.16](https://github.com/vercel/satori/releases/tag/0.16.0) release we removed the `satori/wasm` entrypoint and using the inline version, which means the wasm support can be sync now. This helps the bundle size get reduced and also we happily dropped the `init` method.

This helps us dropped `yoga-wasm-web` on `@vercel/og` side, which let us removed the patching in the precompile script
2025-07-25 10:42:35 +02:00
Jiachi LiuandGitHub 3fe3fb79d6 Revert "[test] workaround test that needs stylus" (#81981) 2025-07-23 19:40:22 +02:00
Jiachi LiuandGitHub 7c62caba00 [test] workaround test that needs stylus (#81965) 2025-07-23 12:22:51 +02:00
Jiachi LiuandGitHub b0a7521324 Revert "[metadata] use https protocol for schema urls" (#81934) 2025-07-22 22:56:25 +02:00
Jiachi LiuandGitHub 9e7df6a52c [segment explorer] missing file suggestion (#81617) 2025-07-22 19:55:04 +02:00