forked from vercel/next.js
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[pull] canary from vercel:canary #1822
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### What? I fixed two of the Markdown subheadline links in the Sanity example readme. ### Why? The weren't working. Co-authored-by: Sam Ko <[email protected]>
In addition to the file path, also url-decode the module name (represented by the `id` query parameter). Test Plan: Together with vercel/turborepo#7682, this fixes `pnpm testonly-dev test/development/basic/hmr.test.ts "should recover from errors in the render function"` Closes PACK-2700
### What * vercel/turborepo#7684 <!-- OJ Kwon - feat(resolve): skip alias to d.ts --> Closes PACK-2702
`next.rsc: boolean` attribute to indicate whether it's a RSC request
<!-- 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 # --> The value `undefined` can be saved to the incremental cache as `undefined` (`JSON.stringify(undefined)`) with no errors, but when retrieving it, we attempt to parse it as JSON using `JSON.parse(undefined)`. This throws an error. We should instead deserialize `undefined` as `undefined` when retrieving. relevant discussion: #59087 --------- Co-authored-by: Sam Ko <[email protected]>
This PR updates the `cms-sanity` example to use: - App Router - TypeScript - Sanity Studio v3 instead of v2 - Embeds the Studio inside the next app on the `/studio` route. - ISR / Data Cache (revalidations through `revalidatePath` while in Live Visual Editing, time-based to match the Sanity API CDN in production). - Support Vercel Visual Editing out of the box. - The new `next-sanity/image` component. - Vercel Speed Insights. - The Sanity Presentation Tool for live content previews. - Sanity Portable Text setup to fully support `@tailwindcss/typography`. - [AI Assist](https://www.sanity.io/docs/ai-assist) - Auto fill in `alt` text on images. - Preset prompts for content creation
# Turbopack * vercel/turborepo#7682 <!-- Will Binns-Smith - Turbopack HMR: url-encode sourceURLs --> * vercel/turborepo#7524 <!-- Donny/강동윤 - feat(turbopack): Enable lightningcss for turbopack by default --> ### What? Enable lightningcss by default, for `--turbo` mode. ### Why? It's time to do it 😄 ### How? Turbopack counterpart: vercel/turborepo#7524 Closes PACK-2600
### What? make sure that we don't error for dynamic requests on server side. It will throw at runtime when using a dynamic request. ### Why? Not all packages are fully bundler compatible, but still work when only using the parts that work. We don't want to block users from using them by having an hard compile error. ### How? Closes PACK-2675
## What? Working on some refactors to fix a bug with `undefined` handling for Turbopack. This is the first step by making define-env-plugin.ts have stricter types so that we can easily find which values are set to `undefined`. <!-- 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 # --> Closes NEXT-2768
### What? This fixes a special case where rewrites wouldn't work when resuming a dynamic page. ### Why? Previously, as routes would direct-match against entries in the cache, this takes the `x-matched-path` as the source of truth for these requests if the `x-now-route-matches` header is not present.
### What? [blog-starter-kit](https://vercel.com/templates/next.js/blog-starter-kit)'s page title does not update when navigating to a blog post. ### Why? The `title` property was missing from: ``` return { title, // missing openGraph: { title, images: [post.ogImage.url], }, }; ``` Closes NEXT-[Page title is not dynamically updating #63083 ](#63083) Fixes #63083
### What? This PR removes an unnecessary await keyword from the writeSema.release() call. The release method does not return a promise, hence awaiting it is not required. ### Why? Awaiting on writeSema.release() which does not return a promise can lead to confusion and potentially hinder performance. By removing the await keyword, the code is simplified and aligns with the intended synchronous nature of the release method. ### How? Reviewed the writeSema.release() method implementation to confirm it does not return a promise. Removed the await keyword from the writeSema.release() call to ensure the code correctly reflects the synchronous operation. Co-authored-by: righthot <[email protected]> Co-authored-by: Steven <[email protected]>
This fixes the issue that build error is not cleared correctly during `next dev` even if the build succeeds, and we have to re-run `next dev` to make it work. It appears only when: 1. page runtime is `edge` 2. use webpack hot reloader 3. import components in the `edge` page Reproduction: https://github.com/pacexy/nextjs-edge-webpack-hmr-reproduction I recorded a screenshot to make it easier to understand: https://github.com/vercel/next.js/assets/32255488/0ddc21bf-2ea7-49ce-b682-c89dea757c61 Closes NEXT-2168 --------- Co-authored-by: Jiachi Liu <[email protected]>
<!-- 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 pr addresses an issue in Docker where the cache and the creation of its contents throw the following error: ``` [Error: EACCES: permission denied, mkdir '/app/.next/cache'] { errno: -13, code: 'EACCES', syscall: 'mkdir', path: '/app/.next/cache' ``` Co-authored-by: Sam Ko <[email protected]>
As stated [here](https://mui.com/joy-ui/integrations/next-js-app-router/), Joy UI supports Next.js integration.
Fixes issue where a freshly cloned example will not work in development mode due to `unsafe-eval` being blocked by the CSP. Currently, the example will not work in development. Running the example with `run dev` will produce EvalError errors in console which prevent the app from functioning. This error also prevents any `<Script>` components with `afterInteractive` from being loaded. These issues do not occur in production where `eval` is not used. This PR: - Fixes the issue by allowing `unsafe-eval` if the environment is not `production`. - Improves the `script-src` value by [allowing backwards compatibility with browsers](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src#strict-dynamic) that do not support `strict-dynamic` (`https: http: 'unsafe-inline'` will be ignored by browsers that support `strict-dynamic`). Some further details are available here: #55638. This PR is not a fix for the issue however. - Fixes #61316 Co-authored-by: Sam Ko <[email protected]>
lager -> larger --------- Co-authored-by: samcx <[email protected]>
…rdered list (#62958) On the Building Your Application: Authentication page, the formatting is broken in the "Setting Up Middleware" section because the unordered list is nested inside the ordered list. This is causing the unordered list components to be numbered and throw off the ordering of the top level list. I made a tiny change to the markdown to make the top level steps h4 titles, and un-nested the unordered list's Closes NEXT-61838 Fixes #61838 Co-authored-by: Sam Ko <[email protected]>
## Why? We need to clarify that we are scrolling to the top of `{children}` when it is not shown in the current viewport. Closes NEXT-2780 --------- Co-authored-by: Zack Tanner <[email protected]>
<!-- 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? Prevent confusing error messages when changing to `"type": "module"` in `package.json` ``` ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[2].oneOf[8].use[1]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[2].oneOf[8].use[2]!./src/styles/index.css Error [ERR_REQUIRE_ESM]: require() of ES Module /path/to/my/repo/components/postcss.config.js from /path/to/my/repo/components/node_modules/next/dist/lib/find-config.js not supported. Instead change the require of postcss.config.js in /path/to/my/repo/components/node_modules/next/dist/lib/find-config.js to a dynamic import() which is available in all CommonJS modules. ``` ### Why? Even though PostCSS itself [supports ESM and TypeScript configuration files](postcss/postcss-load-config#230), Next.js itself does not (because of `next/lib/find-config`): - #34448 ### How? By switching to `.cjs`, the config will stay recognized as CommonJS even after switching to `"type": "module"` in `package.json` cc @balazsorban44 --------- Co-authored-by: Sam Ko <[email protected]>
This auto-generated PR updates the integration test manifest used when testing Turbopack.
…che (#63155) ### What When triggering an MPA navigation (also commonly referred to as a "hard navigation"), and then restoring the previous page via the browser's bfcache, subsequent requests to the same link wouldn't navigate until reloading the page or performing a different navigation. ### Why MPA navigations in app router are handled in a fairly unconventional way: the router state is updated with an indication that an external URL was clicked, and once the router sees the pending navigation, it kicks off a `location.replace` or `location.push` with the specified URL **in render**. The router then suspends indefinitely to prevent committing the render. However, the router will only make the `replace`/`push` request if there's not already a pending navigation to that same URL. The pending check is needed to avoid continuously calling `push`/`replace` when unrelated router state changes occur (for example, if I hover over a link and trigger a prefetch action and the router re-renders, it shouldn't make another `location.push` call to the same URL that's pending) However, the source of the bug is that the variable that holds this pending state is also restored by the browser's cache, since it takes a snapshot prior to exiting the page. This means that when clicking the browser back button, `pendingMpaPath` would still be set to the URL we just came from. When clicking the link again, it would see that the requested URL is the same as the pending URL, and not perform any history actions. ### How This clears the pending value when the router is restored from bfcache. <!-- 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 # --> [slack x-ref](https://vercel.slack.com/archives/C0676QZBWKS/p1710169967246929) Closes NEXT-2781 Closes NEXT-2776
<!-- 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? Make Telemetry import in `packages/next/src/server/lib/router-server.ts` lazy and conditional ### Why? `Telemetry` in that module is only used when `opts.dev` is truthy, so in production mode the module is imported and used. Cost of importing that module is quite significant chunk of starting `standalone` server. Those are example logs I got from https://www.npmjs.com/package/require-times (with updates to make it work as that is pretty old package that wasn't updated and doesn't work as is) on the server: Before the change: ``` total: 658ms 646ms node_modules/next/dist/server/lib/start-server.js 479ms node_modules/next/dist/server/lib/router-server.js 149ms node_modules/next/dist/telemetry/storage.js 87ms node_modules/next/dist/compiled/@edge-runtime/ponyfill/index.js 86ms node_modules/next/dist/compiled/@edge-runtime/primitives/index.js 1ms node_modules/next/dist/compiled/@edge-runtime/primitives/load.js 23ms node_modules/next/dist/compiled/@edge-runtime/primitives/fetch.js.text.js 12ms node_modules/next/dist/compiled/@edge-runtime/primitives/url.js.text.js 1ms node_modules/next/dist/compiled/@edge-runtime/primitives/events.js.text.js 1ms node_modules/next/dist/compiled/@edge-runtime/primitives/structured-clone.js.text.js 41ms node_modules/next/dist/compiled/conf/index.js 12ms node_modules/next/dist/compiled/semver/index.js 12ms node_modules/next/dist/telemetry/project-id.js 3ms node_modules/next/dist/telemetry/post-payload.js 1ms node_modules/next/dist/compiled/is-docker/index.js 1ms node_modules/next/dist/telemetry/anonymous-meta.js 1ms node_modules/next/dist/compiled/is-wsl/index.js 100ms node_modules/next/dist/server/base-server.js 17ms node_modules/next/dist/server/future/route-matcher-providers/app-page-route-matcher-provider.js 7ms node_modules/next/dist/lib/is-app-page-route.js 7ms node_modules/next/dist/server/future/normalizers/built/app/index.js 3ms node_modules/next/dist/server/future/normalizers/built/app/app-page-normalizer.js 2ms node_modules/next/dist/server/future/normalizers/absolute-filename-normalizer.js 1ms node_modules/next/dist/shared/lib/page-path/absolute-path-to-page.js 1ms node_modules/next/dist/lib/page-types.js 2ms node_modules/next/dist/server/future/normalizers/built/app/app-bundle-path-normalizer.js 1ms node_modules/next/dist/shared/lib/page-path/normalize-page-path.js 1ms node_modules/next/dist/server/future/normalizers/built/app/app-filename-normalizer.js 1ms node_modules/next/dist/server/future/normalizers/built/app/app-pathname-normalizer.js 1ms node_modules/next/dist/server/future/route-matcher-providers/manifest-route-matcher-provider.js 15ms node_modules/next/dist/server/app-render/strip-flight-headers.js 13ms node_modules/next/dist/server/future/route-modules/helpers/response-handlers.js 13ms node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js 8ms node_modules/next/dist/server/future/normalizers/locale-route-normalizer.js 4ms node_modules/next/dist/server/api-utils/index.js 2ms node_modules/next/dist/server/web/spec-extension/adapters/headers.js 1ms node_modules/next/dist/server/web/spec-extension/adapters/reflect.js 4ms node_modules/next/dist/server/render-result.js 3ms node_modules/next/dist/server/stream-utils/node-web-streams-helper.js 1ms node_modules/next/dist/lib/scheduler.js 4ms node_modules/next/dist/server/future/route-matcher-providers/pages-api-route-matcher-provider.js 3ms node_modules/next/dist/server/future/normalizers/built/pages/index.js 1ms node_modules/next/dist/server/future/normalizers/built/pages/pages-filename-normalizer.js 1ms node_modules/next/dist/server/future/normalizers/built/pages/pages-pathname-normalizer.js 1ms node_modules/next/dist/lib/is-api-route.js 2ms node_modules/next/dist/server/future/route-matcher-managers/default-route-matcher-manager.js 1ms node_modules/next/dist/server/future/route-matchers/locale-route-matcher.js 2ms node_modules/next/dist/server/future/route-matcher-providers/app-route-route-matcher-provider.js 2ms node_modules/next/dist/server/lib/match-next-data-pathname.js 2ms node_modules/next/dist/server/future/route-modules/checks.js 1ms node_modules/next/dist/lib/is-edge-runtime.js 1ms node_modules/next/dist/shared/lib/runtime-config.external.js 1ms node_modules/next/dist/server/lib/revalidate.js 1ms node_modules/next/dist/shared/lib/router/utils/escape-path-delimiters.js 1ms node_modules/next/dist/server/future/route-matcher-providers/pages-route-matcher-provider.js 1ms node_modules/next/dist/server/future/route-matchers/pages-route-matcher.js 1ms node_modules/next/dist/server/send-response.js 1ms node_modules/next/dist/shared/lib/router/utils/get-route-from-asset-path.js 1ms node_modules/next/dist/server/lib/server-action-request-meta.js 83ms node_modules/next/dist/server/lib/router-utils/filesystem.js 22ms node_modules/next/dist/lib/load-custom-routes.js 4ms node_modules/next/dist/lib/try-to-parse-path.js 2ms node_modules/next/dist/lib/is-error.js 1ms node_modules/next/dist/shared/lib/is-plain-object.js 1ms node_modules/next/dist/compiled/path-to-regexp/index.js 2ms node_modules/next/dist/lib/redirect-status.js 1ms node_modules/next/dist/client/components/redirect-status-code.js 1ms node_modules/next/dist/shared/lib/escape-regexp.js 16ms node_modules/next/dist/server/future/normalizers/request/rsc.js 13ms node_modules/next/dist/shared/lib/router/utils/index.js 10ms node_modules/next/dist/shared/lib/router/utils/is-dynamic.js 3ms node_modules/next/dist/server/future/helpers/interception-routes.js 1ms node_modules/next/dist/shared/lib/router/utils/app-paths.js 1ms node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js 1ms node_modules/next/dist/shared/lib/router/utils/sorted-routes.js 9ms node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js 4ms node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.js 4ms node_modules/next/dist/shared/lib/router/utils/prepare-destination.js 1ms node_modules/next/dist/client/components/app-router-headers.js 1ms node_modules/next/dist/server/api-utils/get-cookie-parser.js 4ms node_modules/next/dist/lib/metadata/get-metadata-route.js 2ms node_modules/next/dist/server/server-utils.js 1ms node_modules/next/dist/lib/metadata/is-metadata-route.js 1ms node_modules/next/dist/compiled/lru-cache/index.js 1ms node_modules/next/dist/lib/file-exists.js 1ms node_modules/next/dist/lib/recursive-readdir.js 1ms node_modules/next/dist/shared/lib/router/utils/path-match.js 1ms node_modules/next/dist/shared/lib/router/utils/route-regex.js 1ms node_modules/next/dist/shared/lib/router/utils/route-matcher.js 1ms node_modules/next/dist/server/future/normalizers/request/postponed.js 1ms node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js 1ms node_modules/next/dist/server/future/normalizers/request/prefetch-rsc.js 35ms node_modules/next/dist/server/lib/router-utils/resolve-routes.js 11ms node_modules/next/dist/server/body-streams.js 1ms node_modules/next/dist/server/lib/server-ipc/utils.js 1ms node_modules/next/dist/shared/lib/router/utils/relativize-url.js 1ms node_modules/next/dist/server/future/normalizers/request/next-data.js 1ms node_modules/next/dist/server/lib/mock-request.js 22ms node_modules/next/dist/server/serve-static.js 20ms node_modules/next/dist/compiled/send/index.js 1ms node_modules/next/dist/compiled/fresh/index.js 22ms node_modules/next/dist/server/pipe-readable.js 20ms node_modules/next/dist/server/web/spec-extension/adapters/next-request.js 18ms node_modules/next/dist/server/web/spec-extension/request.js 15ms node_modules/next/dist/server/web/next-url.js 12ms node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js 1ms node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js 1ms node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js 2ms node_modules/next/dist/server/web/spec-extension/cookies.js 1ms node_modules/next/dist/compiled/@edge-runtime/cookies/index.js 1ms node_modules/next/dist/lib/detached-promise.js 19ms node_modules/next/dist/compiled/compression/index.js 16ms node_modules/next/dist/server/lib/dev-bundler-service.js 4ms node_modules/next/dist/trace/index.js 3ms node_modules/next/dist/trace/trace.js 2ms node_modules/next/dist/trace/report/index.js 1ms node_modules/next/dist/trace/report/to-telemetry.js 1ms node_modules/next/dist/trace/report/to-json.js 2ms node_modules/next/dist/server/lib/router-utils/proxy-request.js 1ms node_modules/next/dist/server/server-route-utils.js 1ms node_modules/next/dist/server/node-environment.js 1ms node_modules/next/dist/shared/lib/utils.js 1ms node_modules/next/dist/lib/find-pages-dir.js 1ms node_modules/next/dist/server/lib/router-utils/is-postpone.js 140ms node_modules/next/dist/server/next.js 84ms node_modules/next/dist/server/config.js 20ms node_modules/next/dist/shared/lib/match-remote-pattern.js 18ms node_modules/next/dist/compiled/micromatch/index.js 17ms node_modules/next/dist/compiled/zod/index.js 14ms node_modules/next/dist/shared/lib/constants.js 8ms node_modules/@swc/helpers/cjs/_interop_require_default.cjs 3ms node_modules/next/dist/compiled/find-up/index.js 1ms node_modules/next/dist/compiled/p-limit/index.js 3ms node_modules/next/dist/telemetry/ci-info.js 1ms node_modules/next/dist/compiled/ci-info/index.js 2ms node_modules/next/dist/server/config-shared.js 1ms node_modules/next/dist/shared/lib/image-config.js 2ms node_modules/@next/env/dist/index.js 2ms node_modules/next/dist/telemetry/flush-and-exit.js 2ms node_modules/next/dist/lib/find-root.js 1ms node_modules/next/dist/server/setup-http-agent-env.js 1ms node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js 21ms node_modules/next/dist/server/lib/trace/tracer.js 5ms node_modules/next/dist/compiled/@opentelemetry/api/index.js 1ms node_modules/next/dist/server/lib/trace/constants.js 13ms node_modules/next/dist/shared/lib/router/utils/format-url.js 12ms node_modules/next/dist/build/output/log.js 9ms node_modules/next/dist/lib/picocolors.js 3ms node_modules/next/dist/server/require-hook.js 1ms node_modules/next/dist/server/node-polyfill-crypto.js 1ms node_modules/next/dist/lib/constants.js 1ms node_modules/next/dist/server/lib/utils.js 14ms node_modules/next/dist/compiled/watchpack/watchpack.js 3ms node_modules/next/dist/compiled/debug/index.js 1ms node_modules/next/dist/server/lib/format-hostname.js 1ms node_modules/next/dist/server/lib/app-info-log.js 1ms node_modules/next/dist/lib/turbopack-warning.js ``` And after the change: ``` total: 516ms 499ms node_modules/next/dist/server/lib/start-server.js 303ms node_modules/next/dist/server/lib/router-server.js 103ms node_modules/next/dist/server/base-server.js 42ms node_modules/next/dist/server/future/route-matcher-providers/app-page-route-matcher-provider.js 38ms node_modules/next/dist/server/future/normalizers/built/app/index.js 20ms node_modules/next/dist/server/future/normalizers/built/app/app-page-normalizer.js 18ms node_modules/next/dist/server/future/normalizers/absolute-filename-normalizer.js 17ms node_modules/next/dist/shared/lib/page-path/absolute-path-to-page.js 1ms node_modules/next/dist/lib/page-types.js 17ms node_modules/next/dist/server/future/normalizers/built/app/app-bundle-path-normalizer.js 16ms node_modules/next/dist/shared/lib/page-path/normalize-page-path.js 1ms node_modules/next/dist/server/future/normalizers/built/app/app-pathname-normalizer.js 1ms node_modules/next/dist/lib/is-app-page-route.js 1ms node_modules/next/dist/server/future/route-kind.js 1ms node_modules/next/dist/server/future/route-matcher-providers/manifest-route-matcher-provider.js 10ms node_modules/next/dist/server/send-response.js 8ms node_modules/next/dist/server/future/normalizers/locale-route-normalizer.js 4ms node_modules/next/dist/server/api-utils/index.js 2ms node_modules/next/dist/server/web/spec-extension/adapters/headers.js 1ms node_modules/next/dist/server/web/spec-extension/adapters/reflect.js 3ms node_modules/next/dist/server/render-result.js 2ms node_modules/next/dist/server/stream-utils/node-web-streams-helper.js 3ms node_modules/next/dist/server/future/route-matcher-providers/pages-api-route-matcher-provider.js 2ms node_modules/next/dist/server/future/normalizers/built/pages/index.js 1ms node_modules/next/dist/server/future/normalizers/built/pages/pages-bundle-path-normalizer.js 1ms node_modules/next/dist/server/future/route-matchers/pages-api-route-matcher.js 2ms node_modules/next/dist/server/future/route-matcher-providers/app-route-route-matcher-provider.js 1ms node_modules/next/dist/lib/is-app-route-route.js 1ms node_modules/next/dist/server/future/route-matchers/app-route-route-matcher.js 2ms node_modules/next/dist/server/future/route-modules/helpers/response-handlers.js 1ms node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js 2ms node_modules/next/dist/server/lib/match-next-data-pathname.js 1ms node_modules/next/dist/lib/is-edge-runtime.js 1ms node_modules/next/dist/shared/lib/runtime-config.external.js 1ms node_modules/next/dist/server/lib/revalidate.js 1ms node_modules/next/dist/shared/lib/router/utils/escape-path-delimiters.js 1ms node_modules/next/dist/server/future/route-matcher-managers/default-route-matcher-manager.js 1ms node_modules/next/dist/server/future/route-matcher-providers/pages-route-matcher-provider.js 1ms node_modules/next/dist/shared/lib/router/utils/get-route-from-asset-path.js 1ms node_modules/next/dist/server/app-render/strip-flight-headers.js 1ms node_modules/next/dist/server/future/route-modules/checks.js 1ms node_modules/next/dist/server/lib/server-action-request-meta.js 91ms node_modules/next/dist/server/lib/router-utils/filesystem.js 21ms node_modules/next/dist/lib/load-custom-routes.js 16ms node_modules/next/dist/lib/try-to-parse-path.js 13ms node_modules/next/dist/lib/is-error.js 1ms node_modules/next/dist/shared/lib/is-plain-object.js 2ms node_modules/next/dist/compiled/path-to-regexp/index.js 3ms node_modules/next/dist/lib/redirect-status.js 1ms node_modules/next/dist/client/components/redirect-status-code.js 16ms node_modules/next/dist/server/future/normalizers/request/prefetch-rsc.js 12ms node_modules/next/dist/lib/metadata/get-metadata-route.js 10ms node_modules/next/dist/server/server-utils.js 1ms node_modules/next/dist/shared/lib/isomorphic/path.js 9ms node_modules/next/dist/shared/lib/router/utils/route-regex.js 1ms node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js 6ms node_modules/next/dist/shared/lib/router/utils/index.js 3ms node_modules/next/dist/shared/lib/router/utils/is-dynamic.js 2ms node_modules/next/dist/server/future/helpers/interception-routes.js 1ms node_modules/next/dist/shared/lib/router/utils/app-paths.js 1ms node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js 1ms node_modules/next/dist/shared/lib/router/utils/sorted-routes.js 5ms node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.js 5ms node_modules/next/dist/shared/lib/router/utils/prepare-destination.js 1ms node_modules/next/dist/shared/lib/router/utils/parse-url.js 1ms node_modules/next/dist/client/components/app-router-headers.js 1ms node_modules/next/dist/server/api-utils/get-cookie-parser.js 2ms node_modules/next/dist/compiled/lru-cache/index.js 2ms node_modules/next/dist/server/future/normalizers/request/postponed.js 1ms node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js 1ms node_modules/next/dist/lib/file-exists.js 1ms node_modules/next/dist/lib/recursive-readdir.js 1ms node_modules/next/dist/shared/lib/router/utils/path-match.js 1ms node_modules/next/dist/server/future/normalizers/request/rsc.js 24ms node_modules/next/dist/server/pipe-readable.js 22ms node_modules/next/dist/server/web/spec-extension/adapters/next-request.js 20ms node_modules/next/dist/server/web/spec-extension/request.js 17ms node_modules/next/dist/server/web/next-url.js 13ms node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js 2ms node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js 1ms node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js 1ms node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js 3ms node_modules/next/dist/server/web/spec-extension/cookies.js 1ms node_modules/next/dist/compiled/@edge-runtime/cookies/index.js 1ms node_modules/next/dist/server/web/utils.js 1ms node_modules/next/dist/lib/detached-promise.js 22ms node_modules/next/dist/server/serve-static.js 21ms node_modules/next/dist/compiled/send/index.js 18ms node_modules/next/dist/server/lib/router-utils/resolve-routes.js 11ms node_modules/next/dist/server/body-streams.js 1ms node_modules/next/dist/server/lib/server-ipc/utils.js 1ms node_modules/next/dist/shared/lib/router/utils/relativize-url.js 1ms node_modules/next/dist/server/future/normalizers/request/next-data.js 1ms node_modules/next/dist/server/lib/mock-request.js 18ms node_modules/next/dist/compiled/compression/index.js 1ms node_modules/next/dist/compiled/bytes/index.js 10ms node_modules/next/dist/server/lib/dev-bundler-service.js 4ms node_modules/next/dist/trace/index.js 2ms node_modules/next/dist/trace/trace.js 2ms node_modules/next/dist/trace/report/index.js 1ms node_modules/next/dist/trace/report/to-json.js 3ms node_modules/next/dist/server/lib/router-utils/proxy-request.js 2ms node_modules/next/dist/server/server-route-utils.js 1ms node_modules/next/dist/server/request-meta.js 2ms node_modules/next/dist/shared/lib/utils.js 1ms node_modules/next/dist/server/node-environment.js 1ms node_modules/next/dist/lib/find-pages-dir.js 1ms node_modules/next/dist/server/lib/router-utils/is-postpone.js 157ms node_modules/next/dist/server/next.js 99ms node_modules/next/dist/server/config.js 24ms node_modules/next/dist/shared/lib/match-remote-pattern.js 5ms node_modules/next/dist/compiled/micromatch/index.js 17ms node_modules/next/dist/compiled/zod/index.js 15ms node_modules/next/dist/shared/lib/constants.js 1ms node_modules/@swc/helpers/cjs/_interop_require_default.cjs 1ms node_modules/next/dist/shared/lib/modern-browserslist-target.js 4ms node_modules/next/dist/compiled/find-up/index.js 1ms node_modules/next/dist/compiled/p-limit/index.js 4ms node_modules/next/dist/telemetry/ci-info.js 2ms node_modules/next/dist/compiled/ci-info/index.js 3ms node_modules/next/dist/server/config-shared.js 1ms node_modules/next/dist/shared/lib/image-config.js 2ms node_modules/next/dist/telemetry/flush-and-exit.js 2ms node_modules/next/dist/lib/find-root.js 2ms node_modules/next/dist/server/setup-http-agent-env.js 2ms node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js 1ms node_modules/next/dist/shared/lib/router/utils/parse-path.js 1ms node_modules/@next/env/dist/index.js 17ms node_modules/next/dist/server/lib/trace/tracer.js 14ms node_modules/next/dist/compiled/@opentelemetry/api/index.js 1ms node_modules/next/dist/server/lib/trace/constants.js 13ms node_modules/next/dist/lib/constants.js 5ms node_modules/next/dist/shared/lib/router/utils/format-url.js 1ms node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs 1ms node_modules/next/dist/shared/lib/router/utils/querystring.js 4ms node_modules/next/dist/build/output/log.js 1ms node_modules/next/dist/lib/picocolors.js 3ms node_modules/next/dist/server/require-hook.js 1ms node_modules/next/dist/server/lib/utils.js 7ms node_modules/next/dist/compiled/watchpack/watchpack.js 3ms node_modules/next/dist/compiled/debug/index.js 2ms node_modules/next/dist/server/lib/format-hostname.js 1ms node_modules/next/dist/server/lib/is-ipv6.js 1ms node_modules/next/dist/server/lib/app-info-log.js 1ms node_modules/next/dist/lib/turbopack-warning.js ``` I would not pay much attention to absolute numbers as there will be variance and those are single runs - but from first "require time dump" you can estimate importing Telemetry (that might be unused) is costing 149ms / 658ms ~= 22.5% of entire time spent on importing modules - that's pretty significant ### How? By moving static import/require from top level to conditional code path that actually uses it. This code path already have some modules lazy/conditionally loaded. `packages/next/src/telemetry/storage.ts` doesn't seem to have import side effects so at least on my first glance it doesn't seem like moving import should cause problems? Co-authored-by: JJ Kasper <[email protected]>
This ensures `optimizePackageImports` doesn't unexpectedly fail to apply for `pages` as they aren't transpiled/bundled by default without either `transpilePackages` being used or `experimental.bundlePagesExternals`. This also ensures our docs correctly show this config in the pages docs as currently in only shows in `app`. x-ref: [slack thread](https://vercel.slack.com/archives/C0676QZBWKS/p1710967294942029) Closes NEXT-2884
## What? Enables Turbopack build tests for `test/integration`. Follow-up to #63671 <!-- 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 # --> Closes NEXT-2918
Makes debugging a little easier by showing the Next.js version in the process title as well. x-ref: [slack thread](https://vercel.slack.com/archives/C03KAR5DCKC/p1711401562557429?thread_ts=1711400819.248569&cid=C03KAR5DCKC) Closes NEXT-2924
Remove unnecessary ternary operator. Co-authored-by: JJ Kasper <[email protected]>
#63646) Please if it needs further updates, Let me know! Happy to contribute --------- Co-authored-by: Steven <[email protected]>
This auto-generated PR updates the production integration test manifest used when testing Turbopack.
## What? Ensures `test/integration` tests are uploaded for Turbopack build. <!-- 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 # --> Closes NEXT-2930
### What? Improves caching of next/font generated modules (make them independent on importer context) Closes PACK-2796
## What? Ensures the test can be discovered for uploading. <!-- 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 # --> Closes NEXT-2931
This auto-generated PR updates the development integration test manifest used when testing Turbopack.
Co-authored-by: Jiachi Liu <[email protected]>
This auto-generated PR updates font data with latest available Co-authored-by: JJ Kasper <[email protected]>
Follow up for #63522 Adding more polish details for the dev overlay header - The quoted text uses lighter color of text and use default font weight - Use the same color for the link and give it a bold font weight - Use the wilder support sans font for apple devices ### After vs Before <img width="335" alt="image" src="https://github.com/vercel/next.js/assets/4800338/a401f958-a5a1-443d-b2e9-f011de44f882"> <img width="335" alt="image" src="https://github.com/vercel/next.js/assets/4800338/4b1340b7-6664-47ef-8935-cf715d6a3f63"> Closes NEXT-2935
<!-- 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
This PR renames the API to be not specifically related to Server Actions, as in the future it might be used by other things. It also adds the `__next_encryption_key_generation_promise` variable to avoid double-generating of the key when it's called concurrently (e.g. by the node server and edge server compilers). Closes NEXT-2938
This ensures that even if a `loading.js` returns `null`, that we still render a `Suspense` boundary, as it's perfectly valid to have an empty fallback. This was accidentally lost in #62346 -- this brings back the `hasLoading` prop which will check the loading module itself (rather than the `ReactNode`) for truthiness, and I've added a test to avoid another regression. <!-- 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 # --> Closes NEXT-2936
Previously, Next.js would buffer the `mkcert` binary in memory and write it to disk all at once. The pull request changes this to pipe the download stream to the disk. This improves memory consumption by avoiding having to load the entire `mkcert` binary into memory. --------- Co-authored-by: JJ Kasper <[email protected]>
While looking into bugfixes related to router refreshing (the other PRs in this stack), I noticed there were situations where the `Next-URL` header would include `/children`, or where `page$` would be present in LoaderTree for a segment. This updates a few spots to prevent these markers from leaking into places they shouldn't, and shouldn't have any behavioral changes. <!-- 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 # --> Closes NEXT-2902
This test frequently fails, likely because it's possible to navigate before the revalidation finishes [x-ref](https://github.com/vercel/next.js/actions/runs/8441089149/job/23119594182#step:27:299) [x-ref](https://github.com/vercel/next.js/actions/runs/8441133466/job/23119898500?pr=63606#step:27:297) <!-- 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 # --> Closes NEXT-2942
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )