fix: make Payload migrations runnable on Node 24

This commit is contained in:
flym 2026-09-09 17:53:07 +08:00
parent 1f593fcab4
commit 5e7c40ab05
6 changed files with 8 additions and 1496 deletions

File diff suppressed because it is too large Load Diff

View File

@ -10,7 +10,6 @@
"dependencies": { "dependencies": {
"@payloadcms/db-postgres": "3.88.0", "@payloadcms/db-postgres": "3.88.0",
"@payloadcms/next": "3.88.0", "@payloadcms/next": "3.88.0",
"@payloadcms/richtext-lexical": "3.88.0",
"next": "16.3.4", "next": "16.3.4",
"payload": "3.88.0", "payload": "3.88.0",
"react": "19.2.8", "react": "19.2.8",

View File

@ -1,17 +1,15 @@
import { buildConfig } from "payload"; import { buildConfig } from "payload";
import { postgresAdapter } from "@payloadcms/db-postgres"; import { postgresAdapter } from "@payloadcms/db-postgres";
import { lexicalEditor } from "@payloadcms/richtext-lexical"; import { HomeContent } from "./src/collections/HomeContent.ts";
import { HomeContent } from "./src/collections/HomeContent"; import { Media } from "./src/collections/Media.ts";
import { Media } from "./src/collections/Media"; import { Products } from "./src/collections/Products.ts";
import { Products } from "./src/collections/Products"; import { SiteSettings } from "./src/collections/SiteSettings.ts";
import { SiteSettings } from "./src/collections/SiteSettings"; import { Users } from "./src/collections/Users.ts";
import { Users } from "./src/collections/Users";
export default buildConfig({ export default buildConfig({
admin: { user: Users.slug }, admin: { user: Users.slug },
collections: [Users, Products, Media], collections: [Users, Products, Media],
globals: [SiteSettings, HomeContent], globals: [SiteSettings, HomeContent],
editor: lexicalEditor(),
secret: process.env.PAYLOAD_SECRET || "development-only-change-me", secret: process.env.PAYLOAD_SECRET || "development-only-change-me",
db: postgresAdapter({ pool: { connectionString: process.env.DATABASE_URI || "" } }), db: postgresAdapter({ pool: { connectionString: process.env.DATABASE_URI || "" } }),
typescript: { outputFile: "./src/payload-types.ts" }, typescript: { outputFile: "./src/payload-types.ts" },

View File

@ -14,7 +14,7 @@ export const Products: CollectionConfig = {
{ name: "slug", type: "text", required: true, unique: true, index: true }, { name: "slug", type: "text", required: true, unique: true, index: true },
{ name: "category", type: "text", required: true }, { name: "category", type: "text", required: true },
{ name: "summary", type: "textarea", required: true }, { name: "summary", type: "textarea", required: true },
{ name: "description", type: "richText", required: true }, { name: "description", type: "textarea", required: true },
{ name: "cover", type: "upload", relationTo: "media" }, { name: "cover", type: "upload", relationTo: "media" },
{ name: "features", type: "array", fields: [{ name: "value", type: "text" }] }, { name: "features", type: "array", fields: [{ name: "value", type: "text" }] },
{ name: "specs", type: "json" }, { name: "specs", type: "json" },

View File

@ -10,6 +10,7 @@
"noEmit": true, "noEmit": true,
"module": "esnext", "module": "esnext",
"moduleResolution": "bundler", "moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"jsx": "react-jsx", "jsx": "react-jsx",
"esModuleInterop": true, "esModuleInterop": true,
"skipLibCheck": true, "skipLibCheck": true,

View File

@ -13,6 +13,7 @@
"esModuleInterop": true, "esModuleInterop": true,
"module": "esnext", "module": "esnext",
"moduleResolution": "bundler", "moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"resolveJsonModule": true, "resolveJsonModule": true,
"isolatedModules": true, "isolatedModules": true,
"jsx": "react-jsx", "jsx": "react-jsx",