rsnext/packages
Wyatt Johnson 4ee00d4f88
[PPR] Dynamic API Debugging (#61798)
<!-- Thanks for opening a PR! Your contribution is much appreciated.
To make sure your PR is handled as smoothly as possible we request that
you follow the checklist sections below.
Choose the right checklist for the change(s) that you're making:

## For Contributors

### Improving Documentation

- Run `pnpm prettier-fix` to fix formatting issues before opening the
PR.
- Read the Docs Contribution Guide to ensure your contribution follows
the docs guidelines:
https://nextjs.org/docs/community/contribution-guide

### Adding or Updating Examples

- The "examples guidelines" are followed from our contributing doc
https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md
- Make sure the linting passes by running `pnpm build && pnpm lint`. See
https://github.com/vercel/next.js/blob/canary/contributing/repository/linting.md

### Fixing a bug

- Related issues linked using `fixes #number`
- Tests added. See:
https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md

### Adding a feature

- Implements an existing feature request or RFC. Make sure the feature
request has been accepted for implementation before opening a PR. (A
discussion must be opened, see
https://github.com/vercel/next.js/discussions/new?category=ideas)
- Related issues/discussions are linked using `fixes #number`
- e2e tests added
(https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs)
- Documentation added
- Telemetry added. In case of a feature if it's used or not.
- Errors have a helpful link attached, see
https://github.com/vercel/next.js/blob/canary/contributing.md


## For Maintainers

- Minimal description (aim for explaining to someone not on the team to
understand the PR)
- When linking to a Slack thread, you might want to share details of the
conclusion
- Link both the Linear (Fixes NEXT-xxx) and the GitHub issues
- Add review comments if necessary to explain to the reviewer the logic
behind a change

### What?

### Why?

### How?

Closes NEXT-
Fixes #

-->

### What?

This adds dynamic usage logging when the `__nextppronly` query parameter
is set and partial prerendering has been enabled. This will print the
stack trace for the accesses for all Dynamic API's that were called.
This includes those API's that were called during the flight render if
they were called before the static shell was ready.

### Why?

To take the most advantage of partial prerendering, it's important to
track where Dynamic API's are called so developers can determine what
has caused part of the component tree not to be included in the static
shell. This also helps debug situations where the error thrown by
Dynamic API's (used internally for tracking and interruption) are caught
but not re-thrown, but due to the implementation of the flight renderer
provided by React, we are unable to distinguish between errors that are
swallowed by user code or by the flight renderer.

### How?

Instead of using a boolean to track **if** a dynamic API was used, this
actually captures the stack at the callsite, allowing developers to find
the location in the codebase that invoked it.

Closes NEXT-2399
2024-03-26 18:19:07 +00:00
..
create-next-app v14.2.0-canary.43 2024-03-25 23:22:56 +00:00
eslint-config-next v14.2.0-canary.43 2024-03-25 23:22:56 +00:00
eslint-plugin-next v14.2.0-canary.43 2024-03-25 23:22:56 +00:00
font Update font data (#63691) 2024-03-26 16:02:26 +00:00
next [PPR] Dynamic API Debugging (#61798) 2024-03-26 18:19:07 +00:00
next-bundle-analyzer v14.2.0-canary.43 2024-03-25 23:22:56 +00:00
next-codemod v14.2.0-canary.43 2024-03-25 23:22:56 +00:00
next-env v14.2.0-canary.43 2024-03-25 23:22:56 +00:00
next-mdx v14.2.0-canary.43 2024-03-25 23:22:56 +00:00
next-plugin-storybook v14.2.0-canary.43 2024-03-25 23:22:56 +00:00
next-polyfill-module v14.2.0-canary.43 2024-03-25 23:22:56 +00:00
next-polyfill-nomodule v14.2.0-canary.43 2024-03-25 23:22:56 +00:00
next-swc generate the same next/font modules for the same options (#63513) 2024-03-26 10:13:03 +00:00
react-refresh-utils v14.2.0-canary.43 2024-03-25 23:22:56 +00:00
third-parties v14.2.0-canary.43 2024-03-25 23:22:56 +00:00