You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
TURBOPACK=1 pnpm test test/integration/css-client-nav/test/index.test.js (turbopack)
CSS Module client-side navigation > production mode > should time out and hard navigate for stalled CSS request
Expand output
● CSS Module client-side navigation › production mode › should time out and hard navigate for stalled CSS request
expect(received).toBeFalsy()
Received: "hello"
211 | // the timeout should have been reached and we did a hard
212 | // navigation
> 213 | expect(await browser.eval('window.beforeNav')).toBeFalsy()
| ^
214 | } finally {
215 | stallCss = false
216 | if (browser) {
at Object.toBeFalsy (integration/css-client-nav/test/index.test.js:213:58)
● CSS Module client-side navigation › production mode › should time out and hard navigate for stalled CSS request
expect(received).toMatchInlineSnapshot(snapshot)
Snapshot name: `CSS Module client-side navigation production mode should time out and hard navigate for stalled CSS request 2`
Snapshot: "rgb(0, 0, 255)"
Received: "rgb(0, 0, 0)"
207 | `window.getComputedStyle(document.querySelector('#verify-blue')).color`
208 | )
> 209 | expect(blueColor).toMatchInlineSnapshot(`"rgb(0, 0, 255)"`)
| ^
210 |
211 | // the timeout should have been reached and we did a hard
212 | // navigation
at Object.toMatchInlineSnapshot (integration/css-client-nav/test/index.test.js:209:29)
Read more about building and testing Next.js in contributing.md.
TURBOPACK=1 pnpm test test/integration/dist-dir/test/index.test.js (turbopack)
distDir > production mode > should handle undefined distDir
Expand output
● distDir › production mode › should handle undefined distDir
Error Overlay for server components compiler errors in pages > importing 'next/headers' in pages
Error Overlay for server components compiler errors in pages > importing 'server-only' in pages
Expand output
● Error Overlay for server components compiler errors in pages › importing 'next/headers' in pages
expect(received).toMatchInlineSnapshot(snapshot)
Snapshot name: `Error Overlay for server components compiler errors in pages importing 'next/headers' in pages 1`
- Snapshot - 3
+ Received + 2
@@ -1,12 +1,11 @@
./components/Comp.js
- Error:
- x You're importing a component that needs next/headers. That only works in a Server Component which is not supported in the pages/ directory. Read more: https://nextjs.org/docs/getting-started/
+ Error: x You're importing a component that needs next/headers. That only works in a Server Component which is not supported in the pages/ directory. Read more: https://nextjs.org/docs/getting-started/
| react-essentials#server-components
|
|
- ,-[TEST_DIR/components/Comp.js:1:1]
+ ,-[1:1]
1 | import { cookies } from 'next/headers'
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 |
3 | export default function Page() {
4 | return <p>hello world</p>
70 | } else {
71 | expect(next.normalizeTestDirContent(await session.getRedboxSource()))
> 72 | .toMatchInlineSnapshot(`
| ^
73 | "./components/Comp.js
74 | Error:
75 | x You're importing a component that needs next/headers. That only works in a Server Component which is not supported in the pages/ directory. Read more: https://nextjs.org/docs/getting-started/
at Object.toMatchInlineSnapshot (development/acceptance/server-component-compiler-errors-in-pages.test.ts:72:10)
● Error Overlay for server components compiler errors in pages › importing 'server-only' in pages
expect(received).toMatchInlineSnapshot(snapshot)
Snapshot name: `Error Overlay for server components compiler errors in pages importing 'server-only' in pages 1`
- Snapshot - 3
+ Received + 2
@@ -1,12 +1,11 @@
./components/Comp.js
- Error:
- x You're importing a component that needs server-only. That only works in a Server Component which is not supported in the pages/ directory. Read more: https://nextjs.org/docs/getting-started/
+ Error: x You're importing a component that needs server-only. That only works in a Server Component which is not supported in the pages/ directory. Read more: https://nextjs.org/docs/getting-started/
| react-essentials#server-components
|
|
- ,-[TEST_DIR/components/Comp.js:1:1]
+ ,-[1:1]
1 | import 'server-only'
: ^^^^^^^^^^^^^^^^^^^^
2 |
3 | export default function Page() {
4 | return 'hello world'
129 | } else {
130 | expect(next.normalizeTestDirContent(await session.getRedboxSource()))
> 131 | .toMatchInlineSnapshot(`
| ^
132 | "./components/Comp.js
133 | Error:
134 | x You're importing a component that needs server-only. That only works in a Server Component which is not supported in the pages/ directory. Read more: https://nextjs.org/docs/getting-started/
at Object.toMatchInlineSnapshot (development/acceptance/server-component-compiler-errors-in-pages.test.ts:131:10)
Read more about building and testing Next.js in contributing.md.
TURBOPACK=1 pnpm test test/integration/clean-distdir/test/index.test.js (turbopack)
Cleaning distDir > production mode > should clean up .next before build start
Cleaning distDir > production mode > disabled write > should not clean up .next before build start
Expand output
● Cleaning distDir › production mode › should clean up .next before build start
expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
19 | expect(fs.existsSync(customFile)).toBe(existsAfterBuild)
20 | // `.next/cache` should be preserved in all cases
> 21 | expect(fs.existsSync(cacheDir)).toBe(true)
| ^
22 | // expect(fs.existsSync(swcCacheDir)).toBe(true)
23 | }
24 |
at toBe (integration/clean-distdir/test/index.test.js:21:35)
at Object.<anonymous> (integration/clean-distdir/test/index.test.js:27:5)
● Cleaning distDir › production mode › disabled write › should not clean up .next before build start
expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
19 | expect(fs.existsSync(customFile)).toBe(existsAfterBuild)
20 | // `.next/cache` should be preserved in all cases
> 21 | expect(fs.existsSync(cacheDir)).toBe(true)
| ^
22 | // expect(fs.existsSync(swcCacheDir)).toBe(true)
23 | }
24 |
at toBe (integration/clean-distdir/test/index.test.js:21:35)
at Object.<anonymous> (integration/clean-distdir/test/index.test.js:54:11)
Read more about building and testing Next.js in contributing.md.
expect(received).toMatchInlineSnapshot(snapshot)
Snapshot name: `ReactRefreshLogBox _app _document default _document syntax error shows logbox 1`
- Snapshot - 3
+ Received + 2
@@ -1,9 +1,8 @@
./pages/_document.js
- Error:
- x Unexpected token `{`. Expected identifier, string literal, numeric literal or [ for the computed key
+ Error: x Unexpected token `{`. Expected identifier, string literal, numeric literal or [ for the computed key
- ,-[TEST_DIR/pages/_document.js:1:1]
+ ,-[3:1]
1 | import Document, { Html, Head, Main, NextScript } from 'next/document'
2 |
3 | class MyDocument extends Document {{
: ^
4 | static async getInitialProps(ctx) {
199 | `)
200 | } else {
> 201 | expect(source).toMatchInlineSnapshot(`
| ^
202 | "./pages/_document.js
203 | Error:
204 | x Unexpected token \`{\`. Expected identifier, string literal, numeric literal or [ for the computed key
at Object.toMatchInlineSnapshot (development/acceptance/ReactRefreshLogBox-app-doc.test.ts:201:24)
Read more about building and testing Next.js in contributing.md.
TURBOPACK=1 pnpm test test/integration/index-index/test/index.test.js (turbopack)
nested index.js > production mode > should follow link to /index/index
Expand output
● nested index.js › production mode › should follow link to /index/index
TIMED OUT: /^index > index > index$/
link to / | link to /index | link to /index/index | link to /index/index/index | link to /index/user | link to /index/project
undefined
718 |
719 | if (hardError) {
> 720 | throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
| ^
721 | }
722 | return false
723 | }
at check (lib/next-test-utils.ts:720:11)
at Object.<anonymous> (integration/index-index/test/index.test.js:156:7)
Read more about building and testing Next.js in contributing.md.
TURBOPACK=1 pnpm test test/integration/custom-routes/test/index.test.js (turbopack)
Custom routes > production mode > should handle external beforeFiles rewrite correctly
Expand output
● Custom routes › production mode › should handle external beforeFiles rewrite correctly
Middleware Runtime trailing slash > should have correct dynamic route params for middleware rewrite to dynamic route
Middleware Runtime trailing slash > should have correct route params for chained rewrite from middleware to config rewrite
Middleware Runtime trailing slash > should have correct route params for rewrite from config non-dynamic route
Middleware Runtime trailing slash > should redirect the same for direct visit and client-transition
Expand output
● Middleware Runtime trailing slash › should have correct dynamic route params for middleware rewrite to dynamic route
thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
236 | })
237 |
> 238 | it('should have correct dynamic route params for middleware rewrite to dynamic route', async () => {
| ^
239 | const browser = await webdriver(next.url, '/404')
240 | await check(
241 | () => browser.eval('next.router.isReady ? "yes" : "no"'),
at it (e2e/middleware-trailing-slash/test/index.test.ts:238:5)
at runTests (e2e/middleware-trailing-slash/test/index.test.ts:493:3)
at Object.describe (e2e/middleware-trailing-slash/test/index.test.ts:10:1)
● Middleware Runtime trailing slash › should have correct route params for chained rewrite from middleware to config rewrite
thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
263 | })
264 |
> 265 | it('should have correct route params for chained rewrite from middleware to config rewrite', async () => {
| ^
266 | const browser = await webdriver(next.url, '/404')
267 | await check(
268 | () => browser.eval('next.router.isReady ? "yes" : "no"'),
at it (e2e/middleware-trailing-slash/test/index.test.ts:265:5)
at runTests (e2e/middleware-trailing-slash/test/index.test.ts:493:3)
at Object.describe (e2e/middleware-trailing-slash/test/index.test.ts:10:1)
● Middleware Runtime trailing slash › should have correct route params for rewrite from config non-dynamic route
Error overlay - RSC build errors > should error when createContext from react is used in server component
Error overlay - RSC build errors > should error when createFactory from react is used in server component
Error overlay - RSC build errors > should error when PureComponent from react is used in server component
Error overlay - RSC build errors > should error when useDeferredValue from react is used in server component
Error overlay - RSC build errors > should error when useEffect from react is used in server component
Error overlay - RSC build errors > should error when useImperativeHandle from react is used in server component
Error overlay - RSC build errors > should error when useInsertionEffect from react is used in server component
Error overlay - RSC build errors > should error when useLayoutEffect from react is used in server component
Error overlay - RSC build errors > should error when useReducer from react is used in server component
Error overlay - RSC build errors > should error when useRef from react is used in server component
Error overlay - RSC build errors > should error when useState from react is used in server component
Error overlay - RSC build errors > should error when useSyncExternalStore from react is used in server component
Error overlay - RSC build errors > should error when useTransition from react is used in server component
Error overlay - RSC build errors > should error when useOptimistic from react is used in server component
Error overlay - RSC build errors > should error when findDOMNode from react-dom is used in server component
Error overlay - RSC build errors > should error when flushSync from react-dom is used in server component
Error overlay - RSC build errors > should error when unstable_batchedUpdates from react-dom is used in server component
Error overlay - RSC build errors > should error when useFormStatus from react-dom is used in server component
Error overlay - RSC build errors > should error when useFormState from react-dom is used in server component
Error overlay - RSC build errors > should throw an error when error file is a server component
Expand output
● Error overlay - RSC build errors › should error when createContext from react is used in server component
expect(received).toInclude(expected)
Expected string to include:
"You're importing a component that needs createContext. It only works in a Client Component but none of its parents are marked with \"use client\", so they're Server Components by default."
Received:
"./app/server-with-errors/react-apis/createcontext/page.js
Error: x You're importing a component that needs createContext. It only works in a Client Component but none of its parents are marked with \"use client\"
|·
|·
,-[1:1]
1 | import { createContext } from 'react'
: ^^^^^^^^^^^^^
2 |·
3 | console.log({ createContext })
`----"
273 |
274 | expect(await session.hasRedbox()).toBe(true)
> 275 | expect(await session.getRedboxSource()).toInclude(
| ^
276 | // `Component` has a custom error message
277 | api === 'Component'
278 | ? `You’re importing a class component. It only works in a Client Component but none of its parents are marked with "use client", so they're Server Components by default.`
at Object.toInclude (development/acceptance-app/rsc-build-errors.test.ts:275:47)
● Error overlay - RSC build errors › should error when createFactory from react is used in server component
expect(received).toInclude(expected)
Expected string to include:
"You're importing a component that needs createFactory. It only works in a Client Component but none of its parents are marked with \"use client\", so they're Server Components by default."
Received:
"./app/server-with-errors/react-apis/createfactory/page.js
Error: x You're importing a component that needs createFactory. It only works in a Client Component but none of its parents are marked with \"use client\"
|·
|·
,-[1:1]
1 | import { createFactory } from 'react'
: ^^^^^^^^^^^^^
2 |·
3 | console.log({ createFactory })
`----"
273 |
274 | expect(await session.hasRedbox()).toBe(true)
> 275 | expect(await session.getRedboxSource()).toInclude(
| ^
276 | // `Component` has a custom error message
277 | api === 'Component'
278 | ? `You’re importing a class component. It only works in a Client Component but none of its parents are marked with "use client", so they're Server Components by default.`
at Object.toInclude (development/acceptance-app/rsc-build-errors.test.ts:275:47)
● Error overlay - RSC build errors › should error when PureComponent from react is used in server component
expect(received).toInclude(expected)
Expected string to include:
"You're importing a component that needs PureComponent. It only works in a Client Component but none of its parents are marked with \"use client\", so they're Server Components by default."
Received:
"./app/server-with-errors/react-apis/purecomponent/page.js
Error: x You're importing a component that needs PureComponent. It only works in a Client Component but none of its parents are marked with \"use client\"
|·
|·
,-[1:1]
1 | import { PureComponent } from 'react'
: ^^^^^^^^^^^^^
2 |·
3 | console.log({ PureComponent })
`----"
273 |
274 | expect(await session.hasRedbox()).toBe(true)
> 275 | expect(await session.getRedboxSource()).toInclude(
| ^
276 | // `Component` has a custom error message
277 | api === 'Component'
278 | ? `You’re importing a class component. It only works in a Client Component but none of its parents are marked with "use client", so they're Server Components by default.`
at Object.toInclude (development/acceptance-app/rsc-build-errors.test.ts:275:47)
● Error overlay - RSC build errors › should error when useDeferredValue from react is used in server component
expect(received).toInclude(expected)
Expected string to include:
"You're importing a component that needs useDeferredValue. It only works in a Client Component but none of its parents are marked with \"use client\", so they're Server Components by default."
Received:
"./app/server-with-errors/react-apis/usedeferredvalue/page.js
Error: x You're importing a component that needs useDeferredValue. It only works in a Client Component but none of its parents are marked with \"use client\"
|·
|·
,-[1:1]
1 | import { useDeferredValue } from 'react'
: ^^^^^^^^^^^^^^^^
2 |·
3 | console.log({ useDeferredValue })
`----"
273 |
274 | expect(await session.hasRedbox()).toBe(true)
> 275 | expect(await session.getRedboxSource()).toInclude(
| ^
276 | // `Component` has a custom error message
277 | api === 'Component'
278 | ? `You’re importing a class component. It only works in a Client Component but none of its parents are marked with "use client", so they're Server Components by default.`
at Object.toInclude (development/acceptance-app/rsc-build-errors.test.ts:275:47)
● Error overlay - RSC build errors › should error when useEffect from react is used in server component
expect(received).toInclude(expected)
Expected string to include:
"You're importing a component that needs useEffect. It only works in a Client Component but none of its parents are marked with \"use client\", so they're Server Components by default."
Received:
"./app/server-with-errors/react-apis/useeffect/page.js
Error: x You're importing a component that needs useEffect. It only works in a Client Component but none of its parents are marked with \"use client\"
|·
|·
,-[1:1]
1 | import { useEffect } from 'react'
: ^^^^^^^^^
2 |·
3 | console.log({ useEffect })
`----"
273 |
274 | expect(await session.hasRedbox()).toBe(true)
> 275 | expect(await session.getRedboxSource()).toInclude(
| ^
276 | // `Component` has a custom error message
277 | api === 'Component'
278 | ? `You’re importing a class component. It only works in a Client Component but none of its parents are marked with "use client", so they're Server Components by default.`
at Object.toInclude (development/acceptance-app/rsc-build-errors.test.ts:275:47)
● Error overlay - RSC build errors › should error when useImperativeHandle from react is used in server component
expect(received).toInclude(expected)
Expected string to include:
"You're importing a component that needs useImperativeHandle. It only works in a Client Component but none of its parents are marked with \"use client\", so they're Server Components by default."
Received:
"./app/server-with-errors/react-apis/useimperativehandle/page.js
Error: x You're importing a component that needs useImperativeHandle. It only works in a Client Component but none of its parents are marked with \"use client\"
|·
|·
,-[1:1]
1 | import { useImperativeHandle } from 'react'
: ^^^^^^^^^^^^^^^^^^^
2 |·
3 | console.log({ useImperativeHandle })
`----"
273 |
274 | expect(await session.hasRedbox()).toBe(true)
> 275 | expect(await session.getRedboxSource()).toInclude(
| ^
276 | // `Component` has a custom error message
277 | api === 'Component'
278 | ? `You’re importing a class component. It only works in a Client Component but none of its parents are marked with "use client", so they're Server Components by default.`
at Object.toInclude (development/acceptance-app/rsc-build-errors.test.ts:275:47)
● Error overlay - RSC build errors › should error when useInsertionEffect from react is used in server component
expect(received).toInclude(expected)
Expected string to include:
"You're importing a component that needs useInsertionEffect. It only works in a Client Component but none of its parents are marked with \"use client\", so they're Server Components by default."
Received:
"./app/server-with-errors/react-apis/useinsertioneffect/page.js
Error: x You're importing a component that needs useInsertionEffect. It only works in a Client Component but none of its parents are marked with \"use client\"
|·
|·
,-[1:1]
1 | import { useInsertionEffect } from 'react'
: ^^^^^^^^^^^^^^^^^^
2 |·
3 | console.log({ useInsertionEffect })
`----"
273 |
274 | expect(await session.hasRedbox()).toBe(true)
> 275 | expect(await session.getRedboxSource()).toInclude(
| ^
276 | // `Component` has a custom error message
277 | api === 'Component'
278 | ? `You’re importing a class component. It only works in a Client Component but none of its parents are marked with "use client", so they're Server Components by default.`
at Object.toInclude (development/acceptance-app/rsc-build-errors.test.ts:275:47)
● Error overlay - RSC build errors › should error when useLayoutEffect from react is used in server component
expect(received).toInclude(expected)
Expected string to include:
"You're importing a component that needs useLayoutEffect. It only works in a Client Component but none of its parents are marked with \"use client\", so they're Server Components by default."
Received:
"./app/server-with-errors/react-apis/uselayouteffect/page.js
Error: x You're importing a component that needs useLayoutEffect. It only works in a Client Component but none of its parents are marked with \"use client\"
|·
|·
,-[1:1]
1 | import { useLayoutEffect } from 'react'
: ^^^^^^^^^^^^^^^
2 |·
3 | console.log({ useLayoutEffect })
`----"
273 |
274 | expect(await session.hasRedbox()).toBe(true)
> 275 | expect(await session.getRedboxSource()).toInclude(
| ^
276 | // `Component` has a custom error message
277 | api === 'Component'
278 | ? `You’re importing a class component. It only works in a Client Component but none of its parents are marked with "use client", so they're Server Components by default.`
at Object.toInclude (development/acceptance-app/rsc-build-errors.test.ts:275:47)
● Error overlay - RSC build errors › should error when useReducer from react is used in server component
expect(received).toInclude(expected)
Expected string to include:
"You're importing a component that needs useReducer. It only works in a Client Component but none of its parents are marked with \"use client\", so they're Server Components by default."
Received:
"./app/server-with-errors/react-apis/usereducer/page.js
Error: x You're importing a component that needs useReducer. It only works in a Client Component but none of its parents are marked with \"use client\"
|·
|·
,-[1:1]
1 | import { useReducer } from 'react'
: ^^^^^^^^^^
2 |·
3 | console.log({ useReducer })
`----"
273 |
274 | expect(await session.hasRedbox()).toBe(true)
> 275 | expect(await session.getRedboxSource()).toInclude(
| ^
276 | // `Component` has a custom error message
277 | api === 'Component'
278 | ? `You’re importing a class component. It only works in a Client Component but none of its parents are marked with "use client", so they're Server Components by default.`
at Object.toInclude (development/acceptance-app/rsc-build-errors.test.ts:275:47)
● Error overlay - RSC build errors › should error when useRef from react is used in server component
expect(received).toInclude(expected)
Expected string to include:
"You're importing a component that needs useRef. It only works in a Client Component but none of its parents are marked with \"use client\", so they're Server Components by default."
Received:
"./app/server-with-errors/react-apis/useref/page.js
Error: x You're importing a component that needs useRef. It only works in a Client Component but none of its parents are marked with \"use client\"
|·
|·
,-[1:1]
1 | import { useRef } from 'react'
: ^^^^^^
2 |·
3 | console.log({ useRef })
`----"
273 |
274 | expect(await session.hasRedbox()).toBe(true)
> 275 | expect(await session.getRedboxSource()).toInclude(
| ^
276 | // `Component` has a custom error message
277 | api === 'Component'
278 | ? `You’re importing a class component. It only works in a Client Component but none of its parents are marked with "use client", so they're Server Components by default.`
at Object.toInclude (development/acceptance-app/rsc-build-errors.test.ts:275:47)
● Error overlay - RSC build errors › should error when useState from react is used in server component
expect(received).toInclude(expected)
Expected string to include:
"You're importing a component that needs useState. It only works in a Client Component but none of its parents are marked with \"use client\", so they're Server Components by default."
Received:
"./app/server-with-errors/react-apis/usestate/page.js
Error: x You're importing a component that needs useState. It only works in a Client Component but none of its parents are marked with \"use client\"
|·
|·
,-[1:1]
1 | import { useState } from 'react'
: ^^^^^^^^
2 |·
3 | console.log({ useState })
`----"
273 |
274 | expect(await session.hasRedbox()).toBe(true)
> 275 | expect(await session.getRedboxSource()).toInclude(
| ^
276 | // `Component` has a custom error message
277 | api === 'Component'
278 | ? `You’re importing a class component. It only works in a Client Component but none of its parents are marked with "use client", so they're Server Components by default.`
at Object.toInclude (development/acceptance-app/rsc-build-errors.test.ts:275:47)
● Error overlay - RSC build errors › should error when useSyncExternalStore from react is used in server component
expect(received).toInclude(expected)
Expected string to include:
"You're importing a component that needs useSyncExternalStore. It only works in a Client Component but none of its parents are marked with \"use client\", so they're Server Components by default."
Received:
"./app/server-with-errors/react-apis/usesyncexternalstore/page.js
Error: x You're importing a component that needs useSyncExternalStore. It only works in a Client Component but none of its parents are marked with \"use client\"
|·
|·
,-[1:1]
1 | import { useSyncExternalStore } from 'react'
: ^^^^^^^^^^^^^^^^^^^^
2 |·
3 | console.log({ useSyncExternalStore })
`----"
273 |
274 | expect(await session.hasRedbox()).toBe(true)
> 275 | expect(await session.getRedboxSource()).toInclude(
| ^
276 | // `Component` has a custom error message
277 | api === 'Component'
278 | ? `You’re importing a class component. It only works in a Client Component but none of its parents are marked with "use client", so they're Server Components by default.`
at Object.toInclude (development/acceptance-app/rsc-build-errors.test.ts:275:47)
● Error overlay - RSC build errors › should error when useTransition from react is used in server component
expect(received).toInclude(expected)
Expected string to include:
"You're importing a component that needs useTransition. It only works in a Client Component but none of its parents are marked with \"use client\", so they're Server Components by default."
Received:
"./app/server-with-errors/react-apis/usetransition/page.js
Error: x You're importing a component that needs useTransition. It only works in a Client Component but none of its parents are marked with \"use client\"
|·
|·
,-[1:1]
1 | import { useTransition } from 'react'
: ^^^^^^^^^^^^^
2 |·
3 | console.log({ useTransition })
`----"
273 |
274 | expect(await session.hasRedbox()).toBe(true)
> 275 | expect(await session.getRedboxSource()).toInclude(
| ^
276 | // `Component` has a custom error message
277 | api === 'Component'
278 | ? `You’re importing a class component. It only works in a Client Component but none of its parents are marked with "use client", so they're Server Components by default.`
at Object.toInclude (development/acceptance-app/rsc-build-errors.test.ts:275:47)
● Error overlay - RSC build errors › should error when useOptimistic from react is used in server component
expect(received).toInclude(expected)
Expected string to include:
"You're importing a component that needs useOptimistic. It only works in a Client Component but none of its parents are marked with \"use client\", so they're Server Components by default."
Received:
"./app/server-with-errors/react-apis/useoptimistic/page.js
Error: x You're importing a component that needs useOptimistic. It only works in a Client Component but none of its parents are marked with \"use client\"
|·
|·
,-[1:1]
1 | import { useOptimistic } from 'react'
: ^^^^^^^^^^^^^
2 |·
3 | console.log({ useOptimistic })
`----"
273 |
274 | expect(await session.hasRedbox()).toBe(true)
> 275 | expect(await session.getRedboxSource()).toInclude(
| ^
276 | // `Component` has a custom error message
277 | api === 'Component'
278 | ? `You’re importing a class component. It only works in a Client Component but none of its parents are marked with "use client", so they're Server Components by default.`
at Object.toInclude (development/acceptance-app/rsc-build-errors.test.ts:275:47)
● Error overlay - RSC build errors › should error when findDOMNode from react-dom is used in server component
expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
299 | )
300 |
> 301 | expect(await session.hasRedbox()).toBe(true)
| ^
302 | expect(await session.getRedboxSource()).toInclude(
303 | `You're importing a component that needs ${api}. It only works in a Client Component but none of its parents are marked with "use client", so they're Server Components`
304 | )
at Object.toBe (development/acceptance-app/rsc-build-errors.test.ts:301:41)
● Error overlay - RSC build errors › should error when flushSync from react-dom is used in server component
expect(received).toInclude(expected)
Expected string to include:
"You're importing a component that needs flushSync. It only works in a Client Component but none of its parents are marked with \"use client\", so they're Server Components"
Received:
"./app/server-with-errors/react-dom-apis/flushsync/page.js
Error: x You're importing a component that needs flushSync. It only works in a Client Component but none of its parents are marked with \"use client\"
|·
|·
,-[1:1]
1 | import { flushSync } from 'react-dom'
: ^^^^^^^^^
2 |·
3 | console.log({ flushSync })
`----"
300 |
301 | expect(await session.hasRedbox()).toBe(true)
> 302 | expect(await session.getRedboxSource()).toInclude(
| ^
303 | `You're importing a component that needs ${api}. It only works in a Client Component but none of its parents are marked with "use client", so they're Server Components`
304 | )
305 |
at Object.toInclude (development/acceptance-app/rsc-build-errors.test.ts:302:47)
● Error overlay - RSC build errors › should error when unstable_batchedUpdates from react-dom is used in server component
expect(received).toInclude(expected)
Expected string to include:
"You're importing a component that needs unstable_batchedUpdates. It only works in a Client Component but none of its parents are marked with \"use client\", so they're Server Components"
Received:
"./app/server-with-errors/react-dom-apis/unstable_batchedupdates/page.js
Error: x You're importing a component that needs unstable_batchedUpdates. It only works in a Client Component but none of its parents are marked with \"use client\"
|·
|·
,-[1:1]
1 | import { unstable_batchedUpdates } from 'react-dom'
: ^^^^^^^^^^^^^^^^^^^^^^^
2 |·
3 | console.log({ unstable_batchedUpdates })
`----"
300 |
301 | expect(await session.hasRedbox()).toBe(true)
> 302 | expect(await session.getRedboxSource()).toInclude(
| ^
303 | `You're importing a component that needs ${api}. It only works in a Client Component but none of its parents are marked with "use client", so they're Server Components`
304 | )
305 |
at Object.toInclude (development/acceptance-app/rsc-build-errors.test.ts:302:47)
● Error overlay - RSC build errors › should error when useFormStatus from react-dom is used in server component
expect(received).toInclude(expected)
Expected string to include:
"You're importing a component that needs useFormStatus. It only works in a Client Component but none of its parents are marked with \"use client\", so they're Server Components"
Received:
"./app/server-with-errors/react-dom-apis/useformstatus/page.js
Error: x You're importing a component that needs useFormStatus. It only works in a Client Component but none of its parents are marked with \"use client\"
|·
|·
,-[1:1]
1 | import { useFormStatus } from 'react-dom'
: ^^^^^^^^^^^^^
2 |·
3 | console.log({ useFormStatus })
`----"
300 |
301 | expect(await session.hasRedbox()).toBe(true)
> 302 | expect(await session.getRedboxSource()).toInclude(
| ^
303 | `You're importing a component that needs ${api}. It only works in a Client Component but none of its parents are marked with "use client", so they're Server Components`
304 | )
305 |
at Object.toInclude (development/acceptance-app/rsc-build-errors.test.ts:302:47)
● Error overlay - RSC build errors › should error when useFormState from react-dom is used in server component
expect(received).toInclude(expected)
Expected string to include:
"You're importing a component that needs useFormState. It only works in a Client Component but none of its parents are marked with \"use client\", so they're Server Components"
Received:
"./app/server-with-errors/react-dom-apis/useformstate/page.js
Error: x You're importing a component that needs useFormState. It only works in a Client Component but none of its parents are marked with \"use client\"
|·
|·
,-[1:1]
1 | import { useFormState } from 'react-dom'
: ^^^^^^^^^^^^
2 |·
3 | console.log({ useFormState })
`----"
300 |
301 | expect(await session.hasRedbox()).toBe(true)
> 302 | expect(await session.getRedboxSource()).toInclude(
| ^
303 | `You're importing a component that needs ${api}. It only works in a Client Component but none of its parents are marked with "use client", so they're Server Components`
304 | )
305 |
at Object.toInclude (development/acceptance-app/rsc-build-errors.test.ts:302:47)
● Error overlay - RSC build errors › should throw an error when error file is a server component
expect(received).toMatchInlineSnapshot(snapshot)
Snapshot name: `Error overlay - RSC build errors should throw an error when error file is a server component 1`
- Snapshot - 3
+ Received + 2
@@ -1,13 +1,12 @@
"./app/server-with-errors/error-file/error.js
- Error:
- x TEST_DIR/app/server-with-errors/error-file/error.js must be a Client Component. Add the "use client" directive the top
+ Error: x TEST_DIR/app/server-with-errors/error-file/error.js must be a Client Component. Add the "use client" directive the top
| of the file to resolve this issue.
| Learn more: https://nextjs.org/docs/getting-started/react-essentials#client-components
|
|
- ,-[TEST_DIR/app/server-with-errors/error-file/error.js:1:1]
+ ,----
1 | export default function Error() {}
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`----
Import trace for requested module:
386 | } else {
387 | expect(next.normalizeTestDirContent(await session.getRedboxSource()))
> 388 | .toMatchInlineSnapshot(`
| ^
389 | "./app/server-with-errors/error-file/error.js
390 | Error:
391 | x TEST_DIR/app/server-with-errors/error-file/error.js must be a Client Component. Add the "use client" directive the top
at Object.toMatchInlineSnapshot (development/acceptance-app/rsc-build-errors.test.ts:388:10)
Read more about building and testing Next.js in contributing.md.
Middleware Rewrite > should handle static dynamic rewrite from middleware correctly
Middleware Rewrite > should rewrite correctly when navigating via history
Middleware Rewrite > should rewrite correctly when navigating via history after query update
Middleware Rewrite > should override with rewrite internally correctly
Middleware Rewrite > should override with rewrite externally correctly
Middleware Rewrite > should behave consistently on recursive rewrites
Middleware Rewrite > should allow to rewrite to a beforeFiles rewrite config
Middleware Rewrite > should allow to rewrite to a afterFiles rewrite config
Expand output
● Middleware Rewrite › should handle static dynamic rewrite from middleware correctly
thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
70 | })
71 |
> 72 | it('should handle static dynamic rewrite from middleware correctly', async () => {
| ^
73 | const browser = await webdriver(next.url, '/rewrite-to-static')
74 |
75 | await check(() => browser.eval('next.router.query.slug'), 'post-1')
at it (e2e/middleware-rewrites/test/index.test.ts:72:5)
at tests (e2e/middleware-rewrites/test/index.test.ts:884:3)
at Object.describe (e2e/middleware-rewrites/test/index.test.ts:12:1)
● Middleware Rewrite › should rewrite correctly when navigating via history
● Middleware Rewrite › should behave consistently on recursive rewrites
thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
431 | })
432 |
> 433 | it(`should behave consistently on recursive rewrites`, async () => {
| ^
434 | const res = await fetchViaHTTP(next.url, `/rewrite-me-to-about`, {
435 | override: 'internal',
436 | })
at it (e2e/middleware-rewrites/test/index.test.ts:433:5)
at tests (e2e/middleware-rewrites/test/index.test.ts:884:3)
at Object.describe (e2e/middleware-rewrites/test/index.test.ts:12:1)
● Middleware Rewrite › should allow to rewrite to a beforeFiles rewrite config
Application error: a client-side exception has occurred</title></head><body><div id="__next"><div style="font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; height: 100vh; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center;"><div style="line-height: 48px;"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><div style="display: inline-block;"><h2 style="font-size: 14px; font-weight: 400; line-height: 28px;">Application error: a client-side exception has occurred (see the browser console for more information).</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"now":1724845737628},"__N_SSP":true},"page":"/","query":{},"buildId":"uIqMGkzI50jsEHoIyOIYX","isFallback":false,"isExperimentalCompile":false,"gssp":true,"locale":"en","locales":["en","ja","fr","es"],"defaultLocale":"en","scriptLoader":[]}</script><script src=https://github.com/vercel/next.js/pull/"/_next/static/chunks/pages/%5Bparam%5D.js">
## Why?
Notable change of v9 is Corepack is enabled by default.
So we can ensure all package manage/resolved exact same version of pnpm.
- [**v9.0.0**](https://github.com/pnpm/pnpm/releases/tag/v9.0.0):
Discontinued support for Node.js v16 and introduced Corepack
compatibility checks. New configuration updates include enabling
`dedupe-injected-deps` and changing the lockfile to version 9, with
better readability and resistance to Git conflicts.
...
- [**v9.4.0**](https://github.com/pnpm/pnpm/releases/tag/v9.4.0)
- Kudos to @ryota-murakami for the original :pr:! →
#64854
## Changes
- https://pnpm.io/npmrc#link-workspace-packages defaults to `false` now,
so setting it to `true`
Closes NEXT-3211
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.
DO NOT SQUASH MERGE