feat!: support latest Next.js versions, fix server-only props being passed to Client Document Views (#7026)

**BREAKING:** The minimum required Next.js version has been bumped from
`15.0.0-rc.0` to `15.0.0-canary.53`. This is because the way client
components are represented changed somewhere between those versions, and
it is not feasible to support both versions in our RSC detection logic.
This commit is contained in:
Alessio Gravili
2024-07-08 09:24:56 -04:00
committed by GitHub
parent f39701401e
commit 1cf7d4db32
11 changed files with 83 additions and 101 deletions

View File

@@ -130,7 +130,7 @@
"lint-staged": "^14.0.1", "lint-staged": "^14.0.1",
"minimist": "1.2.8", "minimist": "1.2.8",
"mongodb-memory-server": "^9.0", "mongodb-memory-server": "^9.0",
"next": "15.0.0-rc.0", "next": "15.0.0-canary.53",
"open": "^10.1.0", "open": "^10.1.0",
"p-limit": "^5.0.0", "p-limit": "^5.0.0",
"pino": "8.15.0", "pino": "8.15.0",

View File

@@ -100,7 +100,7 @@
}, },
"peerDependencies": { "peerDependencies": {
"graphql": "^16.8.1", "graphql": "^16.8.1",
"next": "^15.0.0-rc.0", "next": "^15.0.0-canary.53",
"payload": "workspace:*" "payload": "workspace:*"
}, },
"engines": { "engines": {

View File

@@ -196,13 +196,6 @@ export const Document: React.FC<AdminViewProps> = async ({
} }
} }
const viewComponentProps: ServerSideEditViewProps = {
initPageResult,
params,
routeSegments: segments,
searchParams,
}
return ( return (
<DocumentInfoProvider <DocumentInfoProvider
action={action} action={action}
@@ -246,13 +239,14 @@ export const Document: React.FC<AdminViewProps> = async ({
<RenderCustomComponent <RenderCustomComponent
CustomComponent={ViewOverride || CustomView} CustomComponent={ViewOverride || CustomView}
DefaultComponent={DefaultView} DefaultComponent={DefaultView}
componentProps={viewComponentProps}
serverOnlyProps={{ serverOnlyProps={{
i18n, i18n,
initPageResult,
locale, locale,
params, params,
payload, payload,
permissions, permissions,
routeSegments: segments,
searchParams, searchParams,
user, user,
}} }}

View File

@@ -1,47 +1,31 @@
import type React from 'react' import type React from 'react'
import { isPlainObject } from './isPlainObject.js' const clientRefSymbol = Symbol.for('react.client.reference')
/*
For reference: console.log output of [ClientComponent, RSC] array, tested in Turbo and Webpack (14.3.0-canary.37)
Both component functions async:
Turbo: [ [Function (anonymous)], [AsyncFunction: ExampleServer] ]
Webpack: [ {}, [AsyncFunction: ExampleServer] ]
Both component functions non-async:
Turbo: [ [Function (anonymous)], [Function: ExampleServer] ]
Webpack: [ {}, [Function: ExampleServer] ]
*/
export function isReactServerComponentOrFunction<T extends any>( export function isReactServerComponentOrFunction<T extends any>(
component: React.ComponentType | any, component: React.ComponentType | any,
): component is T { ): component is T {
const isClassComponent = if (component === null || component === undefined) {
typeof component === 'function' && return false
component.prototype && }
typeof component.prototype.render === 'function' const hasClientComponentSymbol = component.$$typeof == clientRefSymbol
const isFunctionalComponent =
typeof component === 'function' && (!component.prototype || !component.prototype.render)
const isFunctionalComponent = typeof component === 'function'
// Anonymous functions are Client Components in Turbopack. RSCs should have a name // Anonymous functions are Client Components in Turbopack. RSCs should have a name
const isAnonymousFunction = typeof component === 'function' && component.name === '' const isAnonymousFunction = typeof component === 'function' && component.name === ''
return (isClassComponent || isFunctionalComponent) && !isAnonymousFunction const isRSC = isFunctionalComponent && !isAnonymousFunction && !hasClientComponentSymbol
return isRSC
} }
export function isReactClientComponent<T extends any>( export function isReactClientComponent<T extends any>(
component: React.ComponentType | any, component: React.ComponentType | any,
): component is T { ): component is T {
const isClientComponentWebpack = typeof component === 'object' && !isPlainObject(component) // In Webpack, client components are {} if (component === null || component === undefined) {
const isClientComponentTurbo = typeof component === 'function' && component.name === '' // Anonymous functions are Client Components in Turbopack return false
}
return isClientComponentWebpack || isClientComponentTurbo return !isReactServerComponentOrFunction(component) && component.$$typeof == clientRefSymbol
} }
export function isReactComponentOrFunction<T extends any>( export function isReactComponentOrFunction<T extends any>(

View File

@@ -122,7 +122,7 @@
"turbopack": "^0.0.1" "turbopack": "^0.0.1"
}, },
"peerDependencies": { "peerDependencies": {
"next": "^15.0.0-rc.0", "next": "^15.0.0-canary.53",
"payload": "workspace:*", "payload": "workspace:*",
"react": "^19.0.0 || ^19.0.0-rc-f994737d14-20240522", "react": "^19.0.0 || ^19.0.0-rc-f994737d14-20240522",
"react-dom": "^19.0.0 || ^19.0.0-rc-f994737d14-20240522" "react-dom": "^19.0.0 || ^19.0.0-rc-f994737d14-20240522"

116
pnpm-lock.yaml generated
View File

@@ -147,8 +147,8 @@ importers:
specifier: ^9.0 specifier: ^9.0
version: 9.1.8 version: 9.1.8
next: next:
specifier: 15.0.0-rc.0 specifier: 15.0.0-canary.53
version: 15.0.0-rc.0(@babel/core@7.24.5)(@playwright/test@1.43.0)(babel-plugin-react-compiler@0.0.0-experimental-592953e-20240517)(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522) version: 15.0.0-canary.53(@babel/core@7.24.5)(@playwright/test@1.43.0)(babel-plugin-react-compiler@0.0.0-experimental-592953e-20240517)(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522)
open: open:
specifier: ^10.1.0 specifier: ^10.1.0
version: 10.1.0 version: 10.1.0
@@ -580,8 +580,8 @@ importers:
specifier: 1.6.2 specifier: 1.6.2
version: 1.6.2 version: 1.6.2
next: next:
specifier: ^15.0.0-rc.0 specifier: ^15.0.0-canary.53
version: 15.0.0-rc.0(@babel/core@7.24.5)(@playwright/test@1.43.0)(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522)(sass@1.77.4) version: 15.0.0-canary.53(@babel/core@7.24.5)(@playwright/test@1.43.0)(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522)(sass@1.77.4)
path-to-regexp: path-to-regexp:
specifier: ^6.2.1 specifier: ^6.2.1
version: 6.2.2 version: 6.2.2
@@ -1337,7 +1337,7 @@ importers:
version: link:../plugin-cloud-storage version: link:../plugin-cloud-storage
uploadthing: uploadthing:
specifier: ^6.10.1 specifier: ^6.10.1
version: 6.10.4(next@15.0.0-rc.0) version: 6.10.4(next@15.0.0-canary.53)
devDependencies: devDependencies:
payload: payload:
specifier: workspace:* specifier: workspace:*
@@ -1426,8 +1426,8 @@ importers:
specifier: 2.3.0 specifier: 2.3.0
version: 2.3.0 version: 2.3.0
next: next:
specifier: ^15.0.0-rc.0 specifier: ^15.0.0-canary.53
version: 15.0.0-rc.0(@babel/core@7.24.5)(@playwright/test@1.43.0)(babel-plugin-react-compiler@0.0.0-experimental-592953e-20240517)(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522) version: 15.0.0-canary.53(@babel/core@7.24.5)(@playwright/test@1.43.0)(babel-plugin-react-compiler@0.0.0-experimental-592953e-20240517)(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522)
object-to-formdata: object-to-formdata:
specifier: 4.5.1 specifier: 4.5.1
version: 4.5.1 version: 4.5.1
@@ -1695,7 +1695,7 @@ importers:
version: 5.5.3 version: 5.5.3
uploadthing: uploadthing:
specifier: ^6.10.1 specifier: ^6.10.1
version: 6.10.4(next@15.0.0-rc.0) version: 6.10.4(next@15.0.0-canary.53)
packages: packages:
@@ -6021,8 +6021,12 @@ packages:
- utf-8-validate - utf-8-validate
dev: true dev: true
/@next/env@15.0.0-canary.53:
resolution: {integrity: sha512-8GBJH7RckXulT5+PpxUT0cBzmxosv8NEcouXzKfC0qsqqTvD7B8XpqHSpHzITUwQH1ToG6a/Jb8fnDrwW/nhEw==}
/@next/env@15.0.0-rc.0: /@next/env@15.0.0-rc.0:
resolution: {integrity: sha512-6W0ndQvHR9sXcqcKeR/inD2UTRCs9+VkSK3lfaGmEuZs7EjwwXMO2BPYjz9oBrtfPL3xuTjtXsHKSsalYQ5l1Q==} resolution: {integrity: sha512-6W0ndQvHR9sXcqcKeR/inD2UTRCs9+VkSK3lfaGmEuZs7EjwwXMO2BPYjz9oBrtfPL3xuTjtXsHKSsalYQ5l1Q==}
dev: false
/@next/eslint-plugin-next@14.1.4: /@next/eslint-plugin-next@14.1.4:
resolution: {integrity: sha512-n4zYNLSyCo0Ln5b7qxqQeQ34OZKXwgbdcx6kmkQbywr+0k6M3Vinft0T72R6CDAcDrne2IAgSud4uWCzFgc5HA==} resolution: {integrity: sha512-n4zYNLSyCo0Ln5b7qxqQeQ34OZKXwgbdcx6kmkQbywr+0k6M3Vinft0T72R6CDAcDrne2IAgSud4uWCzFgc5HA==}
@@ -6030,72 +6034,72 @@ packages:
glob: 10.3.10 glob: 10.3.10
dev: true dev: true
/@next/swc-darwin-arm64@15.0.0-rc.0: /@next/swc-darwin-arm64@15.0.0-canary.53:
resolution: {integrity: sha512-4OpTXvAWcSabXA5d688zdUwa3sfT9QrLnHMdpv4q2UDnnuqmOI0xLb6lrOxwpi+vHJNkneuNLqyc5HGBhkqL6A==} resolution: {integrity: sha512-G4HnRRmRmuvLdIjqnjj16wle274yBy0nIml0dDs4oRpMjJ2iyJ9q0d0T58GphHn/GWONULgP0N1jJxrDQ4K+Eg==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm64] cpu: [arm64]
os: [darwin] os: [darwin]
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-darwin-x64@15.0.0-rc.0: /@next/swc-darwin-x64@15.0.0-canary.53:
resolution: {integrity: sha512-/TD8M9DT244uhtFA8P/0DUbM7ftg2zio6yOo6ajV16vNjkcug9Kt9//Wa4SrJjWcsGZpViLctOlwn3/6JFAuAA==} resolution: {integrity: sha512-eFdafKMyGA8Vg/Wq3kHc5vXYtVtn8m8w9LjqyTAuTwsExqBLMELH13qcXF924GXFLpKDhtpoel3/5lHFCHUKgQ==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [x64] cpu: [x64]
os: [darwin] os: [darwin]
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-linux-arm64-gnu@15.0.0-rc.0: /@next/swc-linux-arm64-gnu@15.0.0-canary.53:
resolution: {integrity: sha512-3VTO32938AcqOlOI/U61/MIpeYrblP22VU1GrgmMQJozsAXEJgLCgf3wxZtn61/FG4Yc0tp7rPZE2t1fIGe0+w==} resolution: {integrity: sha512-UyPqm19eaXeO6J9BoEJ+RARIEh+RPN2mWYOJmMXJKQ5gjYKSXzIYHFumYtZUMuDecIy8CYVmJl5xKomwpxbaiA==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-linux-arm64-musl@15.0.0-rc.0: /@next/swc-linux-arm64-musl@15.0.0-canary.53:
resolution: {integrity: sha512-0kDnxM3AfrrHFJ/wTkjkv7cVHIaGwv+CzDg9lL2BoLEM4kMQhH20DTsBOMqpTpo1K2KCg67LuTGd3QOITT5uFQ==} resolution: {integrity: sha512-j4UIFXRZ2WI8hMnjCNcXlkswdmNoS7qwERBf/HadaYU3pM96/7Vi4YDpB8tP9rCgWZzcsCh8HRH2i8S34RjrpA==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-linux-x64-gnu@15.0.0-rc.0: /@next/swc-linux-x64-gnu@15.0.0-canary.53:
resolution: {integrity: sha512-fPMNahzqYFjm5h0ncJ5+F3NrShmWhpusM+zrQl01MMU0Ed5xsL4pJJDSuXV4wPkNUSjCP3XstTjxR5kBdO4juQ==} resolution: {integrity: sha512-CraG4Y1ZVQg+E7YKaW59ee5LGmcKcJPpQPJhbmjBvsmiff5aekOju6j9B7pUyYNRu8fv75ld2M6/wrP4xtQc5A==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-linux-x64-musl@15.0.0-rc.0: /@next/swc-linux-x64-musl@15.0.0-canary.53:
resolution: {integrity: sha512-7/FLgOqrrQAxOVQrxfr3bGgZ83pSCmc2S3TXBILnHw0S8qLxmFjhSjH5ogaDmjrES/PSYMaX1FsP5Af88hp7Gw==} resolution: {integrity: sha512-EMl7W5Z+s/bpuHINiewFzNDx0bjPuTuRguoL8pFHFpSvVF7OihlWLG4FWUe33aXbsYeMTSQ/EGoTaKBmBnePRg==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-win32-arm64-msvc@15.0.0-rc.0: /@next/swc-win32-arm64-msvc@15.0.0-canary.53:
resolution: {integrity: sha512-5wcqoYHh7hbdghjH6Xs3i5/f0ov+i1Xw2E3O+BzZNESYVLgCM1q7KJu5gdGFoXA2gz5XaKF/VBcYHikLzyjgmA==} resolution: {integrity: sha512-gWFWBchYaAOR9smQcS+9TvyqU7i6GMw/dwXq2+ojTt+GnOFPyEa9OnExVMdAIv8SlBG5rO/lYeXl++jeCtfwSg==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm64] cpu: [arm64]
os: [win32] os: [win32]
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-win32-ia32-msvc@15.0.0-rc.0: /@next/swc-win32-ia32-msvc@15.0.0-canary.53:
resolution: {integrity: sha512-/hqOmYRTvtBPToE4Dbl9n+sLYU7DPd52R+TtjIrrEzTMgFo2/d7un3sD7GKmb2OwOj/ExyGv6Bd/JzytBVxXlw==} resolution: {integrity: sha512-pFxuXGVedIsA5xCxxHUNONz3f5v5JtemWgFdom2D3LeI47npQGb4jLUEj7nzcYM9AvrKtOkyHwhlNi+VcfWTEA==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [ia32] cpu: [ia32]
os: [win32] os: [win32]
requiresBuild: true requiresBuild: true
optional: true optional: true
/@next/swc-win32-x64-msvc@15.0.0-rc.0: /@next/swc-win32-x64-msvc@15.0.0-canary.53:
resolution: {integrity: sha512-2Jly5nShvCUzzngP3RzdQ3JcuEcHcnIEvkvZDCXqFAK+bWks4+qOkEUO1QIAERQ99J5J9/1AN/8zFBme3Mm57A==} resolution: {integrity: sha512-ImN6kLXH0hmzIhbHSM1qVLexp0ySgAmvahQ6OmyEpuO/gsHS3MiIB7X03XWlHoc0PcdrfX2v+W9FkJTM7UKSbw==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
@@ -13566,8 +13570,8 @@ packages:
/next-tick@1.1.0: /next-tick@1.1.0:
resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
/next@15.0.0-rc.0(@babel/core@7.24.5)(@playwright/test@1.43.0)(babel-plugin-react-compiler@0.0.0-experimental-592953e-20240517)(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522): /next@15.0.0-canary.53(@babel/core@7.24.5)(@playwright/test@1.43.0)(babel-plugin-react-compiler@0.0.0-experimental-592953e-20240517)(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522):
resolution: {integrity: sha512-IWcCvxUSCAuOK5gig4+9yiyt/dLKpIa+WT01Qcx4CBE4TtwJljyTDnCVVn64jDZ4qmSzsaEYXpb4DTI8qbk03A==} resolution: {integrity: sha512-DSbMTIx/PFJPtIsRKoQzjHyRV6T/1Mir7vRrxiDkf1g223KGgjwn9hhvhjiLczUmBO6ec4vSnNNqWx0SuVXlJw==}
engines: {node: '>=18.17.0'} engines: {node: '>=18.17.0'}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
@@ -13587,7 +13591,7 @@ packages:
sass: sass:
optional: true optional: true
dependencies: dependencies:
'@next/env': 15.0.0-rc.0 '@next/env': 15.0.0-canary.53
'@playwright/test': 1.43.0 '@playwright/test': 1.43.0
'@swc/helpers': 0.5.11 '@swc/helpers': 0.5.11
babel-plugin-react-compiler: 0.0.0-experimental-592953e-20240517 babel-plugin-react-compiler: 0.0.0-experimental-592953e-20240517
@@ -13597,24 +13601,24 @@ packages:
postcss: 8.4.31 postcss: 8.4.31
react: 19.0.0-rc-f994737d14-20240522 react: 19.0.0-rc-f994737d14-20240522
react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-f994737d14-20240522) react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-f994737d14-20240522)
styled-jsx: 5.1.3(@babel/core@7.24.5)(react@19.0.0-rc-f994737d14-20240522) styled-jsx: 5.1.6(@babel/core@7.24.5)(react@19.0.0-rc-f994737d14-20240522)
optionalDependencies: optionalDependencies:
'@next/swc-darwin-arm64': 15.0.0-rc.0 '@next/swc-darwin-arm64': 15.0.0-canary.53
'@next/swc-darwin-x64': 15.0.0-rc.0 '@next/swc-darwin-x64': 15.0.0-canary.53
'@next/swc-linux-arm64-gnu': 15.0.0-rc.0 '@next/swc-linux-arm64-gnu': 15.0.0-canary.53
'@next/swc-linux-arm64-musl': 15.0.0-rc.0 '@next/swc-linux-arm64-musl': 15.0.0-canary.53
'@next/swc-linux-x64-gnu': 15.0.0-rc.0 '@next/swc-linux-x64-gnu': 15.0.0-canary.53
'@next/swc-linux-x64-musl': 15.0.0-rc.0 '@next/swc-linux-x64-musl': 15.0.0-canary.53
'@next/swc-win32-arm64-msvc': 15.0.0-rc.0 '@next/swc-win32-arm64-msvc': 15.0.0-canary.53
'@next/swc-win32-ia32-msvc': 15.0.0-rc.0 '@next/swc-win32-ia32-msvc': 15.0.0-canary.53
'@next/swc-win32-x64-msvc': 15.0.0-rc.0 '@next/swc-win32-x64-msvc': 15.0.0-canary.53
sharp: 0.33.4 sharp: 0.33.4
transitivePeerDependencies: transitivePeerDependencies:
- '@babel/core' - '@babel/core'
- babel-plugin-macros - babel-plugin-macros
/next@15.0.0-rc.0(@babel/core@7.24.5)(@playwright/test@1.43.0)(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522)(sass@1.77.4): /next@15.0.0-canary.53(@babel/core@7.24.5)(@playwright/test@1.43.0)(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522)(sass@1.77.4):
resolution: {integrity: sha512-IWcCvxUSCAuOK5gig4+9yiyt/dLKpIa+WT01Qcx4CBE4TtwJljyTDnCVVn64jDZ4qmSzsaEYXpb4DTI8qbk03A==} resolution: {integrity: sha512-DSbMTIx/PFJPtIsRKoQzjHyRV6T/1Mir7vRrxiDkf1g223KGgjwn9hhvhjiLczUmBO6ec4vSnNNqWx0SuVXlJw==}
engines: {node: '>=18.17.0'} engines: {node: '>=18.17.0'}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
@@ -13634,7 +13638,7 @@ packages:
sass: sass:
optional: true optional: true
dependencies: dependencies:
'@next/env': 15.0.0-rc.0 '@next/env': 15.0.0-canary.53
'@playwright/test': 1.43.0 '@playwright/test': 1.43.0
'@swc/helpers': 0.5.11 '@swc/helpers': 0.5.11
busboy: 1.6.0 busboy: 1.6.0
@@ -13644,17 +13648,17 @@ packages:
react: 19.0.0-rc-f994737d14-20240522 react: 19.0.0-rc-f994737d14-20240522
react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-f994737d14-20240522) react-dom: 19.0.0-rc-f994737d14-20240522(react@19.0.0-rc-f994737d14-20240522)
sass: 1.77.4 sass: 1.77.4
styled-jsx: 5.1.3(@babel/core@7.24.5)(react@19.0.0-rc-f994737d14-20240522) styled-jsx: 5.1.6(@babel/core@7.24.5)(react@19.0.0-rc-f994737d14-20240522)
optionalDependencies: optionalDependencies:
'@next/swc-darwin-arm64': 15.0.0-rc.0 '@next/swc-darwin-arm64': 15.0.0-canary.53
'@next/swc-darwin-x64': 15.0.0-rc.0 '@next/swc-darwin-x64': 15.0.0-canary.53
'@next/swc-linux-arm64-gnu': 15.0.0-rc.0 '@next/swc-linux-arm64-gnu': 15.0.0-canary.53
'@next/swc-linux-arm64-musl': 15.0.0-rc.0 '@next/swc-linux-arm64-musl': 15.0.0-canary.53
'@next/swc-linux-x64-gnu': 15.0.0-rc.0 '@next/swc-linux-x64-gnu': 15.0.0-canary.53
'@next/swc-linux-x64-musl': 15.0.0-rc.0 '@next/swc-linux-x64-musl': 15.0.0-canary.53
'@next/swc-win32-arm64-msvc': 15.0.0-rc.0 '@next/swc-win32-arm64-msvc': 15.0.0-canary.53
'@next/swc-win32-ia32-msvc': 15.0.0-rc.0 '@next/swc-win32-ia32-msvc': 15.0.0-canary.53
'@next/swc-win32-x64-msvc': 15.0.0-rc.0 '@next/swc-win32-x64-msvc': 15.0.0-canary.53
sharp: 0.33.4 sharp: 0.33.4
transitivePeerDependencies: transitivePeerDependencies:
- '@babel/core' - '@babel/core'
@@ -16733,8 +16737,8 @@ packages:
/stubs@3.0.0: /stubs@3.0.0:
resolution: {integrity: sha512-PdHt7hHUJKxvTCgbKX9C1V/ftOcjJQgz8BZwNfV5c4B6dcGqlpelTbJ999jBGZ2jYiPAwcX5dP6oBwVlBlUbxw==} resolution: {integrity: sha512-PdHt7hHUJKxvTCgbKX9C1V/ftOcjJQgz8BZwNfV5c4B6dcGqlpelTbJ999jBGZ2jYiPAwcX5dP6oBwVlBlUbxw==}
/styled-jsx@5.1.3(@babel/core@7.24.5)(react@19.0.0-rc-f994737d14-20240522): /styled-jsx@5.1.6(@babel/core@7.24.5)(react@19.0.0-rc-f994737d14-20240522):
resolution: {integrity: sha512-qLRShOWTE/Mf6Bvl72kFeKBl8N2Eq9WIFfoAuvbtP/6tqlnj1SCjv117n2MIjOPpa1jTorYqLJgsHKy5Y3ziww==} resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==}
engines: {node: '>= 12.0.0'} engines: {node: '>= 12.0.0'}
peerDependencies: peerDependencies:
'@babel/core': '*' '@babel/core': '*'
@@ -17523,7 +17527,7 @@ packages:
escalade: 3.1.2 escalade: 3.1.2
picocolors: 1.0.0 picocolors: 1.0.0
/uploadthing@6.10.4(next@15.0.0-rc.0): /uploadthing@6.10.4(next@15.0.0-canary.53):
resolution: {integrity: sha512-0hGO0Q7R7MnxzVkUbYHE6PkwFieYH+UUa905uo7JtA0h3Gpc89bNDFaOfK8634Z66088VRLNVuWxY2FTIqw4sg==} resolution: {integrity: sha512-0hGO0Q7R7MnxzVkUbYHE6PkwFieYH+UUa905uo7JtA0h3Gpc89bNDFaOfK8634Z66088VRLNVuWxY2FTIqw4sg==}
engines: {node: '>=18.13.0'} engines: {node: '>=18.13.0'}
peerDependencies: peerDependencies:
@@ -17550,7 +17554,7 @@ packages:
consola: 3.2.3 consola: 3.2.3
effect: 3.1.5 effect: 3.1.5
fast-check: 3.18.0 fast-check: 3.18.0
next: 15.0.0-rc.0(@babel/core@7.24.5)(@playwright/test@1.43.0)(babel-plugin-react-compiler@0.0.0-experimental-592953e-20240517)(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522) next: 15.0.0-canary.53(@babel/core@7.24.5)(@playwright/test@1.43.0)(babel-plugin-react-compiler@0.0.0-experimental-592953e-20240517)(react-dom@19.0.0-rc-f994737d14-20240522)(react@19.0.0-rc-f994737d14-20240522)
std-env: 3.7.0 std-env: 3.7.0
/uri-js@4.4.1: /uri-js@4.4.1:

View File

@@ -20,7 +20,7 @@
"@payloadcms/richtext-lexical": "beta", "@payloadcms/richtext-lexical": "beta",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"graphql": "^16.8.1", "graphql": "^16.8.1",
"next": "15.0.0-rc.0", "next": "15.0.0-canary.53",
"payload": "beta", "payload": "beta",
"react": "^19.0.0-rc-f994737d14-20240522", "react": "^19.0.0-rc-f994737d14-20240522",
"react-dom": "^19.0.0-rc-f994737d14-20240522", "react-dom": "^19.0.0-rc-f994737d14-20240522",

View File

@@ -20,7 +20,7 @@
"@payloadcms/richtext-lexical": "beta", "@payloadcms/richtext-lexical": "beta",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"graphql": "^16.8.1", "graphql": "^16.8.1",
"next": "15.0.0-rc.0", "next": "15.0.0-canary.53",
"payload": "beta", "payload": "beta",
"react": "^19.0.0-rc-f994737d14-20240522", "react": "^19.0.0-rc-f994737d14-20240522",
"react-dom": "^19.0.0-rc-f994737d14-20240522", "react-dom": "^19.0.0-rc-f994737d14-20240522",

View File

@@ -20,7 +20,7 @@
"@payloadcms/richtext-lexical": "beta", "@payloadcms/richtext-lexical": "beta",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"graphql": "^16.8.1", "graphql": "^16.8.1",
"next": "15.0.0-rc.0", "next": "15.0.0-canary.53",
"payload": "beta", "payload": "beta",
"react": "^19.0.0-rc-f994737d14-20240522", "react": "^19.0.0-rc-f994737d14-20240522",
"react-dom": "^19.0.0-rc-f994737d14-20240522", "react-dom": "^19.0.0-rc-f994737d14-20240522",

View File

@@ -21,7 +21,7 @@
"@payloadcms/storage-vercel-blob": "beta", "@payloadcms/storage-vercel-blob": "beta",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"graphql": "^16.8.1", "graphql": "^16.8.1",
"next": "15.0.0-rc.0", "next": "15.0.0-canary.53",
"payload": "beta", "payload": "beta",
"react": "^19.0.0-rc-f994737d14-20240522", "react": "^19.0.0-rc-f994737d14-20240522",
"react-dom": "^19.0.0-rc-f994737d14-20240522" "react-dom": "^19.0.0-rc-f994737d14-20240522"

View File

@@ -21,7 +21,7 @@
"@payloadcms/storage-vercel-blob": "beta", "@payloadcms/storage-vercel-blob": "beta",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"graphql": "^16.8.1", "graphql": "^16.8.1",
"next": "15.0.0-rc.0", "next": "15.0.0-canary.53",
"payload": "beta", "payload": "beta",
"react": "^19.0.0-rc-f994737d14-20240522", "react": "^19.0.0-rc-f994737d14-20240522",
"react-dom": "^19.0.0-rc-f994737d14-20240522" "react-dom": "^19.0.0-rc-f994737d14-20240522"