## Why?
Add clarification that you need the experimental config:
```
module.exports = withMDX({
experimental: {
mdxRs: true,
},
})
```
when using [Turbopack](https://nextjs.org/docs/architecture/turbopack).
---------
Co-authored-by: Delba de Oliveira <32464864+delbaoliveira@users.noreply.github.com>
When a server action responds with something other than an RSC response,
we currently silently ignore the error and it doesn't get propagated to
any rejection handlers.
This adjusts the handling so that if the server action response is a
non-successful status code, we reject the server action promise. If the
error is `text/plain`, we'll automatically propagate the text content as
the error text. Otherwise, the promise is rejected with a fallback
message.
## Description
This Pull Request improves the visual appearance of the badges in the
README.md file by removing unnecessary line breaks between the badge
images, eliminating the unwanted blue link lines that previously
appeared and resulting in a cleaner and more cohesive look.
### What
Removed unnecessary line breaks between badge images in the README.md
file to eliminate the unwanted blue link lines and improve the overall
visual presentation.
### Why
Previously, the badges were displayed with line breaks between them,
causing blue link lines to appear, which disrupted the clean look of the
badges. By removing these line breaks, the badges now appear without the
blue link lines, providing a more cohesive and visually appealing
README.
### How
- Removed the line breaks between badge images in the README.md file.
Co-authored-by: Jiwon Choi <devjiwonchoi@gmail.com>
Fixes some possible race conditions by adding a few delays to the
navigation test to ensure that we wait for hydration to occur and
prefetches to finish.
### What?
Update the `with-mdx` example to MDX 3.
### Why?
The example was 2 major versions behind.
### How?
By updating the version in `package.json`. Also the `@mdx-js/react`
dependency was removed, as it doesn’t work with the app directory. Users
should use `mdx-components.tsx` instead.
Refs #59693
Co-authored-by: Sam Ko <sam@vercel.com>
Previously, when the provided postponed state was corrupted, the render
failed which resulted in a hydration error. Instead, when the postponed
state is corrupted, we send the resume stream just for the hydration
where it'll attempt to render client side with the data that's already
available.
…d not in another place.
"create-next-app" in apostrophe was mentioned twice but one with link
and second without link which didn't sync together for me. So, I added
the same link to the second one, maybe I am wrong.
<!-- 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 #
-->
Co-authored-by: Jiwon Choi <devjiwonchoi@gmail.com>
### What?
This makes extracting next/dynamic cheaper when modules have been visited before
### Why?
improved HMR and page transitions
### How?
All steps for visiting a module are extracted into a single cached function. VIsiting already visited modules costs only a single cache lookup
### What
Reland #64716
Removing the Suspense boundary on top of `next/dynamic` by default, make
it as `React.lazy` component with preloading CSS feature.
* Remove `suspense` option in `next/dynamic` since it's already
deprecated for a while
* Remove the default loading in app router implmentation of
`next/dynamic`
### Why
Extra Suspense boundary is causing extra useless rendering. For SSR, it
shouldn't render `loading` by default
Related: #64060
Related: #64687
Closes
[NEXT-3074](https://linear.app/vercel/issue/NEXT-3074/app-router-content-flickering-with-reactcreatecontext-and-nextdynamic)
This is sort of a breaking change, since removing the Suspense boundary
on top of `next/dynamic` by default. If there's error happening in side
the dynamic component you need to wrap an extra Suspense boundary on top
of it
### What
Provide a codemod to transform the promise of the access to named export
properties in dynamic import `next/dynamic`, this codemod transform all
the `next/dynamic` imports to ensure returning an object value with
`default` property, aligning with what `React.lazy` is returning
### Why
Follow up for #66990
It's not allowed to do dynamic import and access it's named export while
using `next/dynamic` in server component, and the dynamic import module
is from a client component. It's like accessing the nested client side
property of a module
### What
Add isEdgeRendering check condition for rewrite logic in edge adpator
Fixes#66837
Closes NEXT-3545
### Why
From headers `x-middleware-rewrite`, it's still relative url `/rewrite`,
reconstructing the url will lead to crash as it doesn't contain host.
### What
Render noindex into a flight data and rsc payload when page path is
`/404`
### Why
When it's static generation, noindex is not rendered due to the
statusCode from mock request is 200, but we can relying on the pagePath
as `/404` page should always contain `nonidex`
We were missing the noindex before for flight generation, now we'll
render it when it's 404 page.
### What
Show the full `pagePath` information for missing default component app
router convention files.
Move runtime error tests from `rsc-build-errors.test.ts` to the new test
`test/development/acceptance-app/undefined-default-export.test.ts`
### Why
Previously we only log `segment` which could be `[slug]` that is not
enough useful for users to locate the bad defined component
Bump conf to 13.0.0
I have changed the `moduleResolution` in tsconfig to `bundler` because
apparently the new versions of that dependency does not work with
`moduleResolution:node`, issues where it explains it: [issues in
conf](https://github.com/sindresorhus/conf/issues/181)
---------
Co-authored-by: torresgol10.itd <torresgol10.itd@gmail.com>
Co-authored-by: Sam Ko <sam@vercel.com>