Configuration
payload.config.ts (root):
export { default } from "./src/payload/payload.config";
src/payload/payload.config.ts:
import { buildConfig } from "payload";
import { mongooseAdapter } from "@payloadcms/db-mongodb";
import { lexicalEditor } from "@payloadcms/richtext-lexical";
import path from "path";
import sharp from "sharp";
import { Providers } from "./collections/Providers";
import { Users } from "./collections/Users";
import { Media } from "./collections/Media";
export default buildConfig({
admin: {
user: Users.slug,
meta: {
titleSuffix: "- Finding Finance",
},
},
collections: [Users, Providers, Media],
db: mongooseAdapter({
url: process.env.MONGODB_URI || "mongodb://localhost:27017/finding-finance",
}),
editor: lexicalEditor({}),
typescript: {
outputFile: path.resolve(__dirname, "payload-types.ts"),
},
secret: process.env.PAYLOAD_SECRET || "your-secret-key-change-in-production",
sharp,
cors: [
process.env.NEXT_PUBLIC_SERVER_URL || "http://localhost:3000",
"http://localhost:3000",
].filter(Boolean),
csrf: [
process.env.NEXT_PUBLIC_SERVER_URL || "http://localhost:3000",
"http://localhost:3000",
].filter(Boolean),
});
next.config.ts:
import type { NextConfig } from "next";
import { withPayload } from "@payloadcms/next/withPayload";
const nextConfig: NextConfig = {
};
export default withPayload(nextConfig);
tsconfig.json paths:
"paths": {
"@/*": ["./src/*"],
"@payload-config": ["./payload.config.ts"]
}