feat: support next.js 15.4.4 (#13280)
- bumps next.js from 15.3.2 to 15.4.4 in monorepo and templates. It's important to run our tests against the latest Next.js version to guarantee full compatibility. - bumps playwright because of peer dependency conflict with next 15.4.4 - bumps react types because why not https://nextjs.org/blog/next-15-4 As part of this upgrade, the functionality added by https://github.com/payloadcms/payload/pull/11658 broke. This PR fixes it by creating a wrapper around `React.isValidElemen`t that works for Next.js 15.4. --- - To see the specific tasks where the Asana app for GitHub is being used, see below: - https://app.asana.com/0/0/1210803039809808
This commit is contained in:
14
package.json
14
package.json
@@ -132,12 +132,12 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@jest/globals": "29.7.0",
|
"@jest/globals": "29.7.0",
|
||||||
"@libsql/client": "0.14.0",
|
"@libsql/client": "0.14.0",
|
||||||
"@next/bundle-analyzer": "15.3.2",
|
"@next/bundle-analyzer": "15.4.4",
|
||||||
"@payloadcms/db-postgres": "workspace:*",
|
"@payloadcms/db-postgres": "workspace:*",
|
||||||
"@payloadcms/eslint-config": "workspace:*",
|
"@payloadcms/eslint-config": "workspace:*",
|
||||||
"@payloadcms/eslint-plugin": "workspace:*",
|
"@payloadcms/eslint-plugin": "workspace:*",
|
||||||
"@payloadcms/live-preview-react": "workspace:*",
|
"@payloadcms/live-preview-react": "workspace:*",
|
||||||
"@playwright/test": "1.50.0",
|
"@playwright/test": "1.54.1",
|
||||||
"@sentry/nextjs": "^8.33.1",
|
"@sentry/nextjs": "^8.33.1",
|
||||||
"@sentry/node": "^8.33.1",
|
"@sentry/node": "^8.33.1",
|
||||||
"@swc-node/register": "1.10.10",
|
"@swc-node/register": "1.10.10",
|
||||||
@@ -147,8 +147,8 @@
|
|||||||
"@types/jest": "29.5.12",
|
"@types/jest": "29.5.12",
|
||||||
"@types/minimist": "1.2.5",
|
"@types/minimist": "1.2.5",
|
||||||
"@types/node": "22.15.30",
|
"@types/node": "22.15.30",
|
||||||
"@types/react": "19.1.0",
|
"@types/react": "19.1.8",
|
||||||
"@types/react-dom": "19.1.2",
|
"@types/react-dom": "19.1.6",
|
||||||
"@types/shelljs": "0.8.15",
|
"@types/shelljs": "0.8.15",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"comment-json": "^4.2.3",
|
"comment-json": "^4.2.3",
|
||||||
@@ -168,12 +168,12 @@
|
|||||||
"lint-staged": "15.2.7",
|
"lint-staged": "15.2.7",
|
||||||
"minimist": "1.2.8",
|
"minimist": "1.2.8",
|
||||||
"mongodb-memory-server": "10.1.4",
|
"mongodb-memory-server": "10.1.4",
|
||||||
"next": "15.3.2",
|
"next": "15.4.4",
|
||||||
"open": "^10.1.0",
|
"open": "^10.1.0",
|
||||||
"p-limit": "^5.0.0",
|
"p-limit": "^5.0.0",
|
||||||
"pg": "8.16.3",
|
"pg": "8.16.3",
|
||||||
"playwright": "1.50.0",
|
"playwright": "1.54.1",
|
||||||
"playwright-core": "1.50.0",
|
"playwright-core": "1.54.1",
|
||||||
"prettier": "3.5.3",
|
"prettier": "3.5.3",
|
||||||
"react": "19.1.0",
|
"react": "19.1.0",
|
||||||
"react-dom": "19.1.0",
|
"react-dom": "19.1.0",
|
||||||
|
|||||||
@@ -42,8 +42,8 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@payloadcms/eslint-config": "workspace:*",
|
"@payloadcms/eslint-config": "workspace:*",
|
||||||
"@types/react": "19.1.0",
|
"@types/react": "19.1.8",
|
||||||
"@types/react-dom": "19.1.2",
|
"@types/react-dom": "19.1.6",
|
||||||
"payload": "workspace:*"
|
"payload": "workspace:*"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
|||||||
@@ -46,8 +46,8 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@payloadcms/eslint-config": "workspace:*",
|
"@payloadcms/eslint-config": "workspace:*",
|
||||||
"@types/react": "19.1.0",
|
"@types/react": "19.1.8",
|
||||||
"@types/react-dom": "19.1.2",
|
"@types/react-dom": "19.1.6",
|
||||||
"payload": "workspace:*"
|
"payload": "workspace:*"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
|||||||
@@ -117,11 +117,11 @@
|
|||||||
"@babel/preset-env": "7.27.2",
|
"@babel/preset-env": "7.27.2",
|
||||||
"@babel/preset-react": "7.27.1",
|
"@babel/preset-react": "7.27.1",
|
||||||
"@babel/preset-typescript": "7.27.1",
|
"@babel/preset-typescript": "7.27.1",
|
||||||
"@next/eslint-plugin-next": "15.3.2",
|
"@next/eslint-plugin-next": "15.4.4",
|
||||||
"@payloadcms/eslint-config": "workspace:*",
|
"@payloadcms/eslint-config": "workspace:*",
|
||||||
"@types/busboy": "1.5.4",
|
"@types/busboy": "1.5.4",
|
||||||
"@types/react": "19.1.0",
|
"@types/react": "19.1.8",
|
||||||
"@types/react-dom": "19.1.2",
|
"@types/react-dom": "19.1.6",
|
||||||
"@types/uuid": "10.0.0",
|
"@types/uuid": "10.0.0",
|
||||||
"babel-plugin-react-compiler": "19.1.0-rc.2",
|
"babel-plugin-react-compiler": "19.1.0-rc.2",
|
||||||
"esbuild": "0.25.5",
|
"esbuild": "0.25.5",
|
||||||
|
|||||||
@@ -65,8 +65,8 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/find-node-modules": "^2.1.2",
|
"@types/find-node-modules": "^2.1.2",
|
||||||
"@types/react": "19.1.0",
|
"@types/react": "19.1.8",
|
||||||
"@types/react-dom": "19.1.2",
|
"@types/react-dom": "19.1.6",
|
||||||
"payload": "workspace:*"
|
"payload": "workspace:*"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
|||||||
@@ -68,8 +68,8 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@payloadcms/eslint-config": "workspace:*",
|
"@payloadcms/eslint-config": "workspace:*",
|
||||||
"@types/escape-html": "^1.0.4",
|
"@types/escape-html": "^1.0.4",
|
||||||
"@types/react": "19.1.0",
|
"@types/react": "19.1.8",
|
||||||
"@types/react-dom": "19.1.2",
|
"@types/react-dom": "19.1.6",
|
||||||
"copyfiles": "^2.4.1",
|
"copyfiles": "^2.4.1",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"payload": "workspace:*"
|
"payload": "workspace:*"
|
||||||
|
|||||||
@@ -65,8 +65,8 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@payloadcms/eslint-config": "workspace:*",
|
"@payloadcms/eslint-config": "workspace:*",
|
||||||
"@types/react": "19.1.0",
|
"@types/react": "19.1.8",
|
||||||
"@types/react-dom": "19.1.2",
|
"@types/react-dom": "19.1.6",
|
||||||
"payload": "workspace:*"
|
"payload": "workspace:*"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
|||||||
@@ -59,8 +59,8 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@payloadcms/eslint-config": "workspace:*",
|
"@payloadcms/eslint-config": "workspace:*",
|
||||||
"@types/react": "19.1.0",
|
"@types/react": "19.1.8",
|
||||||
"@types/react-dom": "19.1.2",
|
"@types/react-dom": "19.1.6",
|
||||||
"payload": "workspace:*"
|
"payload": "workspace:*"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
|||||||
@@ -74,8 +74,8 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@payloadcms/eslint-config": "workspace:*",
|
"@payloadcms/eslint-config": "workspace:*",
|
||||||
"@payloadcms/next": "workspace:*",
|
"@payloadcms/next": "workspace:*",
|
||||||
"@types/react": "19.1.0",
|
"@types/react": "19.1.8",
|
||||||
"@types/react-dom": "19.1.2",
|
"@types/react-dom": "19.1.6",
|
||||||
"payload": "workspace:*"
|
"payload": "workspace:*"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
|||||||
@@ -72,8 +72,8 @@
|
|||||||
"@payloadcms/eslint-config": "workspace:*",
|
"@payloadcms/eslint-config": "workspace:*",
|
||||||
"@payloadcms/next": "workspace:*",
|
"@payloadcms/next": "workspace:*",
|
||||||
"@types/lodash.get": "^4.4.7",
|
"@types/lodash.get": "^4.4.7",
|
||||||
"@types/react": "19.1.0",
|
"@types/react": "19.1.8",
|
||||||
"@types/react-dom": "19.1.2",
|
"@types/react-dom": "19.1.6",
|
||||||
"@types/uuid": "10.0.0",
|
"@types/uuid": "10.0.0",
|
||||||
"payload": "workspace:*"
|
"payload": "workspace:*"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -399,8 +399,8 @@
|
|||||||
"@types/escape-html": "1.0.4",
|
"@types/escape-html": "1.0.4",
|
||||||
"@types/json-schema": "7.0.15",
|
"@types/json-schema": "7.0.15",
|
||||||
"@types/node": "22.15.30",
|
"@types/node": "22.15.30",
|
||||||
"@types/react": "19.1.0",
|
"@types/react": "19.1.8",
|
||||||
"@types/react-dom": "19.1.2",
|
"@types/react-dom": "19.1.6",
|
||||||
"babel-plugin-react-compiler": "19.1.0-rc.2",
|
"babel-plugin-react-compiler": "19.1.0-rc.2",
|
||||||
"babel-plugin-transform-remove-imports": "^1.8.0",
|
"babel-plugin-transform-remove-imports": "^1.8.0",
|
||||||
"esbuild": "0.25.5",
|
"esbuild": "0.25.5",
|
||||||
|
|||||||
@@ -67,8 +67,8 @@
|
|||||||
"@payloadcms/eslint-config": "workspace:*",
|
"@payloadcms/eslint-config": "workspace:*",
|
||||||
"@types/is-hotkey": "^0.1.10",
|
"@types/is-hotkey": "^0.1.10",
|
||||||
"@types/node": "22.15.30",
|
"@types/node": "22.15.30",
|
||||||
"@types/react": "19.1.0",
|
"@types/react": "19.1.8",
|
||||||
"@types/react-dom": "19.1.2",
|
"@types/react-dom": "19.1.6",
|
||||||
"payload": "workspace:*"
|
"payload": "workspace:*"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
|||||||
@@ -60,8 +60,8 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@payloadcms/eslint-config": "workspace:*",
|
"@payloadcms/eslint-config": "workspace:*",
|
||||||
"@swc/core": "1.11.29",
|
"@swc/core": "1.11.29",
|
||||||
"@types/react": "19.1.0",
|
"@types/react": "19.1.8",
|
||||||
"@types/react-dom": "19.1.2",
|
"@types/react-dom": "19.1.6",
|
||||||
"dotenv": "16.4.7",
|
"dotenv": "16.4.7",
|
||||||
"prettier": "3.5.3",
|
"prettier": "3.5.3",
|
||||||
"typescript": "5.7.3"
|
"typescript": "5.7.3"
|
||||||
|
|||||||
@@ -168,8 +168,8 @@
|
|||||||
"@babel/preset-typescript": "7.27.1",
|
"@babel/preset-typescript": "7.27.1",
|
||||||
"@hyrious/esbuild-plugin-commonjs": "0.2.6",
|
"@hyrious/esbuild-plugin-commonjs": "0.2.6",
|
||||||
"@payloadcms/eslint-config": "workspace:*",
|
"@payloadcms/eslint-config": "workspace:*",
|
||||||
"@types/react": "19.1.0",
|
"@types/react": "19.1.8",
|
||||||
"@types/react-dom": "19.1.2",
|
"@types/react-dom": "19.1.6",
|
||||||
"@types/uuid": "10.0.0",
|
"@types/uuid": "10.0.0",
|
||||||
"babel-plugin-react-compiler": "19.1.0-rc.2",
|
"babel-plugin-react-compiler": "19.1.0-rc.2",
|
||||||
"esbuild": "0.25.5",
|
"esbuild": "0.25.5",
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import { useConfig } from '../../../providers/Config/index.js'
|
|||||||
import { useTranslation } from '../../../providers/Translation/index.js'
|
import { useTranslation } from '../../../providers/Translation/index.js'
|
||||||
import { formatAdminURL } from '../../../utilities/formatAdminURL.js'
|
import { formatAdminURL } from '../../../utilities/formatAdminURL.js'
|
||||||
import { getDisplayedFieldValue } from '../../../utilities/getDisplayedFieldValue.js'
|
import { getDisplayedFieldValue } from '../../../utilities/getDisplayedFieldValue.js'
|
||||||
|
import { isValidReactElement } from '../../../utilities/isValidReactElement.js'
|
||||||
import { Link } from '../../Link/index.js'
|
import { Link } from '../../Link/index.js'
|
||||||
import { CodeCell } from './fields/Code/index.js'
|
import { CodeCell } from './fields/Code/index.js'
|
||||||
import { cellComponents } from './fields/index.js'
|
import { cellComponents } from './fields/index.js'
|
||||||
@@ -107,7 +108,7 @@ export const DefaultCell: React.FC<DefaultCellComponentProps> = (props) => {
|
|||||||
let CellComponent: React.ReactNode = null
|
let CellComponent: React.ReactNode = null
|
||||||
|
|
||||||
// Handle JSX labels before using DefaultCellComponent
|
// Handle JSX labels before using DefaultCellComponent
|
||||||
if (React.isValidElement(displayedValue)) {
|
if (isValidReactElement(displayedValue)) {
|
||||||
CellComponent = displayedValue
|
CellComponent = displayedValue
|
||||||
} else if (DefaultCellComponent) {
|
} else if (DefaultCellComponent) {
|
||||||
CellComponent = <DefaultCellComponent cellData={cellData} rowData={rowData} {...props} />
|
CellComponent = <DefaultCellComponent cellData={cellData} rowData={rowData} {...props} />
|
||||||
|
|||||||
@@ -2,7 +2,8 @@ import type { I18nClient } from '@payloadcms/translations'
|
|||||||
import type { ClientField } from 'payload'
|
import type { ClientField } from 'payload'
|
||||||
|
|
||||||
import { getTranslation } from '@payloadcms/translations'
|
import { getTranslation } from '@payloadcms/translations'
|
||||||
import React from 'react'
|
|
||||||
|
import { isValidReactElement } from './isValidReactElement.js'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the appropriate display value for a field.
|
* Returns the appropriate display value for a field.
|
||||||
@@ -21,7 +22,7 @@ export const getDisplayedFieldValue = (cellData: any, field: ClientField, i18n:
|
|||||||
|
|
||||||
if (selectedOption) {
|
if (selectedOption) {
|
||||||
if (typeof selectedOption === 'object' && 'label' in selectedOption) {
|
if (typeof selectedOption === 'object' && 'label' in selectedOption) {
|
||||||
return React.isValidElement(selectedOption.label)
|
return isValidReactElement(selectedOption.label)
|
||||||
? selectedOption.label // Return JSX directly
|
? selectedOption.label // Return JSX directly
|
||||||
: getTranslation(selectedOption.label, i18n) || selectedOption.value // Use translation or fallback to value
|
: getTranslation(selectedOption.label, i18n) || selectedOption.value // Use translation or fallback to value
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import type { DefaultCellComponentProps } from 'payload'
|
import type { DefaultCellComponentProps } from 'payload'
|
||||||
|
|
||||||
import React from 'react'
|
import { isValidReactElement } from './isValidReactElement.js'
|
||||||
|
|
||||||
export const hasOptionLabelJSXElement = (cellClientProps: DefaultCellComponentProps) => {
|
export const hasOptionLabelJSXElement = (cellClientProps: DefaultCellComponentProps) => {
|
||||||
const { cellData, field } = cellClientProps
|
const { cellData, field } = cellClientProps
|
||||||
@@ -13,7 +13,7 @@ export const hasOptionLabelJSXElement = (cellClientProps: DefaultCellComponentPr
|
|||||||
if (
|
if (
|
||||||
matchingOption &&
|
matchingOption &&
|
||||||
typeof matchingOption === 'object' &&
|
typeof matchingOption === 'object' &&
|
||||||
React.isValidElement(matchingOption.label)
|
isValidReactElement(matchingOption.label)
|
||||||
) {
|
) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|||||||
11
packages/ui/src/utilities/isValidReactElement.ts
Normal file
11
packages/ui/src/utilities/isValidReactElement.ts
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
import React, { type ReactElement } from 'react'
|
||||||
|
|
||||||
|
const LazyReactComponentSymbol = Symbol.for('react.lazy')
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Since Next.js 15.4, `React.isValidElement()` returns `false` for components that cross the server-client boundary.
|
||||||
|
* This utility expands on that check so that it returns true for valid React elements.
|
||||||
|
*/
|
||||||
|
export function isValidReactElement<P>(object: {} | null | undefined): object is ReactElement<P> {
|
||||||
|
return React.isValidElement(object) || object?.['$$typeof'] === LazyReactComponentSymbol
|
||||||
|
}
|
||||||
1158
pnpm-lock.yaml
generated
1158
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -25,7 +25,7 @@
|
|||||||
"@payloadcms/ui": "latest",
|
"@payloadcms/ui": "latest",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"graphql": "^16.8.1",
|
"graphql": "^16.8.1",
|
||||||
"next": "15.3.0",
|
"next": "15.4.4",
|
||||||
"payload": "latest",
|
"payload": "latest",
|
||||||
"react": "19.1.0",
|
"react": "19.1.0",
|
||||||
"react-dom": "19.1.0",
|
"react-dom": "19.1.0",
|
||||||
@@ -33,17 +33,17 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@eslint/eslintrc": "^3.2.0",
|
"@eslint/eslintrc": "^3.2.0",
|
||||||
"@playwright/test": "1.50.0",
|
"@playwright/test": "1.54.1",
|
||||||
"@testing-library/react": "16.3.0",
|
"@testing-library/react": "16.3.0",
|
||||||
"@types/node": "^22.5.4",
|
"@types/node": "^22.5.4",
|
||||||
"@types/react": "19.1.0",
|
"@types/react": "19.1.8",
|
||||||
"@types/react-dom": "19.1.2",
|
"@types/react-dom": "19.1.6",
|
||||||
"@vitejs/plugin-react": "4.5.2",
|
"@vitejs/plugin-react": "4.5.2",
|
||||||
"eslint": "^9.16.0",
|
"eslint": "^9.16.0",
|
||||||
"eslint-config-next": "15.3.0",
|
"eslint-config-next": "15.4.4",
|
||||||
"jsdom": "26.1.0",
|
"jsdom": "26.1.0",
|
||||||
"playwright": "1.50.0",
|
"playwright": "1.54.1",
|
||||||
"playwright-core": "1.50.0",
|
"playwright-core": "1.54.1",
|
||||||
"prettier": "^3.4.2",
|
"prettier": "^3.4.2",
|
||||||
"typescript": "5.7.3",
|
"typescript": "5.7.3",
|
||||||
"vite-tsconfig-paths": "5.1.4",
|
"vite-tsconfig-paths": "5.1.4",
|
||||||
|
|||||||
@@ -26,23 +26,23 @@
|
|||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"dotenv": "16.4.7",
|
"dotenv": "16.4.7",
|
||||||
"graphql": "^16.8.1",
|
"graphql": "^16.8.1",
|
||||||
"next": "15.3.2",
|
"next": "15.4.4",
|
||||||
"payload": "workspace:*",
|
"payload": "workspace:*",
|
||||||
"react": "19.1.0",
|
"react": "19.1.0",
|
||||||
"sharp": "0.34.2"
|
"sharp": "0.34.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@playwright/test": "1.50.0",
|
"@playwright/test": "1.54.1",
|
||||||
"@testing-library/react": "16.3.0",
|
"@testing-library/react": "16.3.0",
|
||||||
"@types/node": "^22.5.4",
|
"@types/node": "^22.5.4",
|
||||||
"@types/react": "19.1.0",
|
"@types/react": "19.1.8",
|
||||||
"@types/react-dom": "19.1.2",
|
"@types/react-dom": "19.1.6",
|
||||||
"@vitejs/plugin-react": "4.5.2",
|
"@vitejs/plugin-react": "4.5.2",
|
||||||
"eslint": "^9.16.0",
|
"eslint": "^9.16.0",
|
||||||
"eslint-config-next": "15.3.0",
|
"eslint-config-next": "15.4.4",
|
||||||
"jsdom": "26.1.0",
|
"jsdom": "26.1.0",
|
||||||
"playwright": "1.50.0",
|
"playwright": "1.54.1",
|
||||||
"playwright-core": "1.50.0",
|
"playwright-core": "1.54.1",
|
||||||
"prettier": "^3.4.2",
|
"prettier": "^3.4.2",
|
||||||
"typescript": "5.7.3",
|
"typescript": "5.7.3",
|
||||||
"vite-tsconfig-paths": "5.1.4",
|
"vite-tsconfig-paths": "5.1.4",
|
||||||
|
|||||||
@@ -58,15 +58,15 @@
|
|||||||
"@swc-node/register": "1.10.9",
|
"@swc-node/register": "1.10.9",
|
||||||
"@swc/cli": "0.6.0",
|
"@swc/cli": "0.6.0",
|
||||||
"@types/node": "^22.5.4",
|
"@types/node": "^22.5.4",
|
||||||
"@types/react": "19.1.0",
|
"@types/react": "19.1.8",
|
||||||
"@types/react-dom": "19.1.2",
|
"@types/react-dom": "19.1.6",
|
||||||
"copyfiles": "2.4.1",
|
"copyfiles": "2.4.1",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"eslint": "^9.23.0",
|
"eslint": "^9.23.0",
|
||||||
"eslint-config-next": "15.3.0",
|
"eslint-config-next": "15.4.4",
|
||||||
"graphql": "^16.8.1",
|
"graphql": "^16.8.1",
|
||||||
"mongodb-memory-server": "10.1.4",
|
"mongodb-memory-server": "10.1.4",
|
||||||
"next": "15.3.0",
|
"next": "15.4.4",
|
||||||
"open": "^10.1.0",
|
"open": "^10.1.0",
|
||||||
"payload": "3.37.0",
|
"payload": "3.37.0",
|
||||||
"prettier": "^3.4.2",
|
"prettier": "^3.4.2",
|
||||||
|
|||||||
@@ -45,7 +45,7 @@
|
|||||||
"geist": "^1.3.0",
|
"geist": "^1.3.0",
|
||||||
"graphql": "^16.8.2",
|
"graphql": "^16.8.2",
|
||||||
"lucide-react": "^0.378.0",
|
"lucide-react": "^0.378.0",
|
||||||
"next": "15.3.3",
|
"next": "15.4.4",
|
||||||
"next-sitemap": "^4.2.3",
|
"next-sitemap": "^4.2.3",
|
||||||
"payload": "workspace:*",
|
"payload": "workspace:*",
|
||||||
"prism-react-renderer": "^2.3.1",
|
"prism-react-renderer": "^2.3.1",
|
||||||
@@ -58,21 +58,21 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@eslint/eslintrc": "^3.2.0",
|
"@eslint/eslintrc": "^3.2.0",
|
||||||
"@playwright/test": "1.50.0",
|
"@playwright/test": "1.54.1",
|
||||||
"@tailwindcss/typography": "^0.5.13",
|
"@tailwindcss/typography": "^0.5.13",
|
||||||
"@testing-library/react": "16.3.0",
|
"@testing-library/react": "16.3.0",
|
||||||
"@types/escape-html": "^1.0.2",
|
"@types/escape-html": "^1.0.2",
|
||||||
"@types/node": "22.5.4",
|
"@types/node": "22.5.4",
|
||||||
"@types/react": "19.1.0",
|
"@types/react": "19.1.8",
|
||||||
"@types/react-dom": "19.1.2",
|
"@types/react-dom": "19.1.6",
|
||||||
"@vitejs/plugin-react": "4.5.2",
|
"@vitejs/plugin-react": "4.5.2",
|
||||||
"autoprefixer": "^10.4.19",
|
"autoprefixer": "^10.4.19",
|
||||||
"copyfiles": "^2.4.1",
|
"copyfiles": "^2.4.1",
|
||||||
"eslint": "^9.16.0",
|
"eslint": "^9.16.0",
|
||||||
"eslint-config-next": "15.3.0",
|
"eslint-config-next": "15.4.4",
|
||||||
"jsdom": "26.1.0",
|
"jsdom": "26.1.0",
|
||||||
"playwright": "1.50.0",
|
"playwright": "1.54.1",
|
||||||
"playwright-core": "1.50.0",
|
"playwright-core": "1.54.1",
|
||||||
"postcss": "^8.4.38",
|
"postcss": "^8.4.38",
|
||||||
"prettier": "^3.4.2",
|
"prettier": "^3.4.2",
|
||||||
"tailwindcss": "^3.4.3",
|
"tailwindcss": "^3.4.3",
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
"@payloadcms/richtext-lexical": "3.29.0",
|
"@payloadcms/richtext-lexical": "3.29.0",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"graphql": "^16.8.1",
|
"graphql": "^16.8.1",
|
||||||
"next": "15.3.0",
|
"next": "15.4.4",
|
||||||
"payload": "3.29.0",
|
"payload": "3.29.0",
|
||||||
"react": "19.1.0",
|
"react": "19.1.0",
|
||||||
"react-dom": "19.1.0",
|
"react-dom": "19.1.0",
|
||||||
@@ -30,10 +30,10 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@eslint/eslintrc": "^3.2.0",
|
"@eslint/eslintrc": "^3.2.0",
|
||||||
"@types/node": "^22.5.4",
|
"@types/node": "^22.5.4",
|
||||||
"@types/react": "19.1.0",
|
"@types/react": "19.1.8",
|
||||||
"@types/react-dom": "19.1.2",
|
"@types/react-dom": "19.1.6",
|
||||||
"eslint": "^9.16.0",
|
"eslint": "^9.16.0",
|
||||||
"eslint-config-next": "15.3.0",
|
"eslint-config-next": "15.4.4",
|
||||||
"prettier": "^3.4.2",
|
"prettier": "^3.4.2",
|
||||||
"typescript": "5.7.3"
|
"typescript": "5.7.3"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
"@payloadcms/ui": "3.49.0",
|
"@payloadcms/ui": "3.49.0",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"graphql": "^16.8.1",
|
"graphql": "^16.8.1",
|
||||||
"next": "15.3.0",
|
"next": "15.4.4",
|
||||||
"payload": "3.49.0",
|
"payload": "3.49.0",
|
||||||
"react": "19.1.0",
|
"react": "19.1.0",
|
||||||
"react-dom": "19.1.0",
|
"react-dom": "19.1.0",
|
||||||
@@ -34,17 +34,17 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@eslint/eslintrc": "^3.2.0",
|
"@eslint/eslintrc": "^3.2.0",
|
||||||
"@playwright/test": "1.50.0",
|
"@playwright/test": "1.54.1",
|
||||||
"@testing-library/react": "16.3.0",
|
"@testing-library/react": "16.3.0",
|
||||||
"@types/node": "^22.5.4",
|
"@types/node": "^22.5.4",
|
||||||
"@types/react": "19.1.0",
|
"@types/react": "19.1.8",
|
||||||
"@types/react-dom": "19.1.2",
|
"@types/react-dom": "19.1.6",
|
||||||
"@vitejs/plugin-react": "4.5.2",
|
"@vitejs/plugin-react": "4.5.2",
|
||||||
"eslint": "^9.16.0",
|
"eslint": "^9.16.0",
|
||||||
"eslint-config-next": "15.3.0",
|
"eslint-config-next": "15.4.4",
|
||||||
"jsdom": "26.1.0",
|
"jsdom": "26.1.0",
|
||||||
"playwright": "1.50.0",
|
"playwright": "1.54.1",
|
||||||
"playwright-core": "1.50.0",
|
"playwright-core": "1.54.1",
|
||||||
"prettier": "^3.4.2",
|
"prettier": "^3.4.2",
|
||||||
"typescript": "5.7.3",
|
"typescript": "5.7.3",
|
||||||
"vite-tsconfig-paths": "5.1.4",
|
"vite-tsconfig-paths": "5.1.4",
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"id": "7583c049-a5c2-4877-81c1-66f6e8696c22",
|
"id": "a01f43fe-f9ef-41b2-9ef2-ee199fdbf09e",
|
||||||
"prevId": "00000000-0000-0000-0000-000000000000",
|
"prevId": "00000000-0000-0000-0000-000000000000",
|
||||||
"version": "7",
|
"version": "7",
|
||||||
"dialect": "postgresql",
|
"dialect": "postgresql",
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
import * as migration_20250725_134307_initial from './20250725_134307_initial'
|
import * as migration_20250726_113920_initial from './20250726_113920_initial'
|
||||||
|
|
||||||
export const migrations = [
|
export const migrations = [
|
||||||
{
|
{
|
||||||
up: migration_20250725_134307_initial.up,
|
up: migration_20250726_113920_initial.up,
|
||||||
down: migration_20250725_134307_initial.down,
|
down: migration_20250726_113920_initial.down,
|
||||||
name: '20250725_134307_initial',
|
name: '20250726_113920_initial',
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -26,24 +26,24 @@
|
|||||||
"@payloadcms/ui": "3.49.0",
|
"@payloadcms/ui": "3.49.0",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"graphql": "^16.8.1",
|
"graphql": "^16.8.1",
|
||||||
"next": "15.3.0",
|
"next": "15.4.4",
|
||||||
"payload": "3.49.0",
|
"payload": "3.49.0",
|
||||||
"react": "19.1.0",
|
"react": "19.1.0",
|
||||||
"react-dom": "19.1.0"
|
"react-dom": "19.1.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@eslint/eslintrc": "^3.2.0",
|
"@eslint/eslintrc": "^3.2.0",
|
||||||
"@playwright/test": "1.50.0",
|
"@playwright/test": "1.54.1",
|
||||||
"@testing-library/react": "16.3.0",
|
"@testing-library/react": "16.3.0",
|
||||||
"@types/node": "^22.5.4",
|
"@types/node": "^22.5.4",
|
||||||
"@types/react": "19.1.0",
|
"@types/react": "19.1.8",
|
||||||
"@types/react-dom": "19.1.2",
|
"@types/react-dom": "19.1.6",
|
||||||
"@vitejs/plugin-react": "4.5.2",
|
"@vitejs/plugin-react": "4.5.2",
|
||||||
"eslint": "^9.16.0",
|
"eslint": "^9.16.0",
|
||||||
"eslint-config-next": "15.3.0",
|
"eslint-config-next": "15.4.4",
|
||||||
"jsdom": "26.1.0",
|
"jsdom": "26.1.0",
|
||||||
"playwright": "1.50.0",
|
"playwright": "1.54.1",
|
||||||
"playwright-core": "1.50.0",
|
"playwright-core": "1.54.1",
|
||||||
"prettier": "^3.4.2",
|
"prettier": "^3.4.2",
|
||||||
"typescript": "5.7.3",
|
"typescript": "5.7.3",
|
||||||
"vite-tsconfig-paths": "5.1.4",
|
"vite-tsconfig-paths": "5.1.4",
|
||||||
|
|||||||
@@ -27,24 +27,24 @@
|
|||||||
"@payloadcms/ui": "3.49.0",
|
"@payloadcms/ui": "3.49.0",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"graphql": "^16.8.1",
|
"graphql": "^16.8.1",
|
||||||
"next": "15.3.0",
|
"next": "15.4.4",
|
||||||
"payload": "3.49.0",
|
"payload": "3.49.0",
|
||||||
"react": "19.1.0",
|
"react": "19.1.0",
|
||||||
"react-dom": "19.1.0"
|
"react-dom": "19.1.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@eslint/eslintrc": "^3.2.0",
|
"@eslint/eslintrc": "^3.2.0",
|
||||||
"@playwright/test": "1.50.0",
|
"@playwright/test": "1.54.1",
|
||||||
"@testing-library/react": "16.3.0",
|
"@testing-library/react": "16.3.0",
|
||||||
"@types/node": "^22.5.4",
|
"@types/node": "^22.5.4",
|
||||||
"@types/react": "19.1.0",
|
"@types/react": "19.1.8",
|
||||||
"@types/react-dom": "19.1.2",
|
"@types/react-dom": "19.1.6",
|
||||||
"@vitejs/plugin-react": "4.5.2",
|
"@vitejs/plugin-react": "4.5.2",
|
||||||
"eslint": "^9.16.0",
|
"eslint": "^9.16.0",
|
||||||
"eslint-config-next": "15.3.0",
|
"eslint-config-next": "15.4.4",
|
||||||
"jsdom": "26.1.0",
|
"jsdom": "26.1.0",
|
||||||
"playwright": "1.50.0",
|
"playwright": "1.54.1",
|
||||||
"playwright-core": "1.50.0",
|
"playwright-core": "1.54.1",
|
||||||
"prettier": "^3.4.2",
|
"prettier": "^3.4.2",
|
||||||
"typescript": "5.7.3",
|
"typescript": "5.7.3",
|
||||||
"vite-tsconfig-paths": "5.1.4",
|
"vite-tsconfig-paths": "5.1.4",
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"id": "75b28347-5cb4-4352-b24d-327df8ef5556",
|
"id": "1da33d28-30b0-4553-8961-ddbbf2a3caa0",
|
||||||
"prevId": "00000000-0000-0000-0000-000000000000",
|
"prevId": "00000000-0000-0000-0000-000000000000",
|
||||||
"version": "7",
|
"version": "7",
|
||||||
"dialect": "postgresql",
|
"dialect": "postgresql",
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
import * as migration_20250725_134227_initial from './20250725_134227_initial'
|
import * as migration_20250726_113907_initial from './20250726_113907_initial'
|
||||||
|
|
||||||
export const migrations = [
|
export const migrations = [
|
||||||
{
|
{
|
||||||
up: migration_20250725_134227_initial.up,
|
up: migration_20250726_113907_initial.up,
|
||||||
down: migration_20250725_134227_initial.down,
|
down: migration_20250726_113907_initial.down,
|
||||||
name: '20250725_134227_initial',
|
name: '20250726_113907_initial',
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -47,7 +47,7 @@
|
|||||||
"geist": "^1.3.0",
|
"geist": "^1.3.0",
|
||||||
"graphql": "^16.8.2",
|
"graphql": "^16.8.2",
|
||||||
"lucide-react": "^0.378.0",
|
"lucide-react": "^0.378.0",
|
||||||
"next": "15.3.3",
|
"next": "15.4.4",
|
||||||
"next-sitemap": "^4.2.3",
|
"next-sitemap": "^4.2.3",
|
||||||
"payload": "3.49.0",
|
"payload": "3.49.0",
|
||||||
"prism-react-renderer": "^2.3.1",
|
"prism-react-renderer": "^2.3.1",
|
||||||
@@ -60,21 +60,21 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@eslint/eslintrc": "^3.2.0",
|
"@eslint/eslintrc": "^3.2.0",
|
||||||
"@playwright/test": "1.50.0",
|
"@playwright/test": "1.54.1",
|
||||||
"@tailwindcss/typography": "^0.5.13",
|
"@tailwindcss/typography": "^0.5.13",
|
||||||
"@testing-library/react": "16.3.0",
|
"@testing-library/react": "16.3.0",
|
||||||
"@types/escape-html": "^1.0.2",
|
"@types/escape-html": "^1.0.2",
|
||||||
"@types/node": "22.5.4",
|
"@types/node": "22.5.4",
|
||||||
"@types/react": "19.1.0",
|
"@types/react": "19.1.8",
|
||||||
"@types/react-dom": "19.1.2",
|
"@types/react-dom": "19.1.6",
|
||||||
"@vitejs/plugin-react": "4.5.2",
|
"@vitejs/plugin-react": "4.5.2",
|
||||||
"autoprefixer": "^10.4.19",
|
"autoprefixer": "^10.4.19",
|
||||||
"copyfiles": "^2.4.1",
|
"copyfiles": "^2.4.1",
|
||||||
"eslint": "^9.16.0",
|
"eslint": "^9.16.0",
|
||||||
"eslint-config-next": "15.3.0",
|
"eslint-config-next": "15.4.4",
|
||||||
"jsdom": "26.1.0",
|
"jsdom": "26.1.0",
|
||||||
"playwright": "1.50.0",
|
"playwright": "1.54.1",
|
||||||
"playwright-core": "1.50.0",
|
"playwright-core": "1.54.1",
|
||||||
"postcss": "^8.4.38",
|
"postcss": "^8.4.38",
|
||||||
"prettier": "^3.4.2",
|
"prettier": "^3.4.2",
|
||||||
"tailwindcss": "^3.4.3",
|
"tailwindcss": "^3.4.3",
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"id": "0370c4a3-8b57-4d3e-92a9-e639ffff46cf",
|
"id": "0cdb510f-c7c6-45da-8202-ffed100b9cbb",
|
||||||
"prevId": "00000000-0000-0000-0000-000000000000",
|
"prevId": "00000000-0000-0000-0000-000000000000",
|
||||||
"version": "7",
|
"version": "7",
|
||||||
"dialect": "postgresql",
|
"dialect": "postgresql",
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
import * as migration_20250725_134247_initial from './20250725_134247_initial'
|
import * as migration_20250726_113914_initial from './20250726_113914_initial'
|
||||||
|
|
||||||
export const migrations = [
|
export const migrations = [
|
||||||
{
|
{
|
||||||
up: migration_20250725_134247_initial.up,
|
up: migration_20250726_113914_initial.up,
|
||||||
down: migration_20250725_134247_initial.down,
|
down: migration_20250726_113914_initial.down,
|
||||||
name: '20250725_134247_initial',
|
name: '20250726_113914_initial',
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
"@aws-sdk/client-s3": "^3.614.0",
|
"@aws-sdk/client-s3": "^3.614.0",
|
||||||
"@azure/storage-blob": "^12.11.0",
|
"@azure/storage-blob": "^12.11.0",
|
||||||
"@date-fns/tz": "1.2.0",
|
"@date-fns/tz": "1.2.0",
|
||||||
"@next/env": "15.3.2",
|
"@next/env": "15.4.4",
|
||||||
"@payloadcms/admin-bar": "workspace:*",
|
"@payloadcms/admin-bar": "workspace:*",
|
||||||
"@payloadcms/db-mongodb": "workspace:*",
|
"@payloadcms/db-mongodb": "workspace:*",
|
||||||
"@payloadcms/db-postgres": "workspace:*",
|
"@payloadcms/db-postgres": "workspace:*",
|
||||||
@@ -63,8 +63,8 @@
|
|||||||
"@sentry/nextjs": "^8.33.1",
|
"@sentry/nextjs": "^8.33.1",
|
||||||
"@sentry/react": "^7.77.0",
|
"@sentry/react": "^7.77.0",
|
||||||
"@types/jest": "29.5.12",
|
"@types/jest": "29.5.12",
|
||||||
"@types/react": "19.1.0",
|
"@types/react": "19.1.8",
|
||||||
"@types/react-dom": "19.1.2",
|
"@types/react-dom": "19.1.6",
|
||||||
"babel-plugin-react-compiler": "19.1.0-rc.2",
|
"babel-plugin-react-compiler": "19.1.0-rc.2",
|
||||||
"comment-json": "^4.2.3",
|
"comment-json": "^4.2.3",
|
||||||
"create-payload-app": "workspace:*",
|
"create-payload-app": "workspace:*",
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
"jest": "29.7.0",
|
"jest": "29.7.0",
|
||||||
"jwt-decode": "4.0.0",
|
"jwt-decode": "4.0.0",
|
||||||
"mongoose": "8.15.1",
|
"mongoose": "8.15.1",
|
||||||
"next": "15.3.2",
|
"next": "15.4.4",
|
||||||
"nodemailer": "6.9.16",
|
"nodemailer": "6.9.16",
|
||||||
"payload": "workspace:*",
|
"payload": "workspace:*",
|
||||||
"pg": "8.16.3",
|
"pg": "8.16.3",
|
||||||
|
|||||||
Reference in New Issue
Block a user