From 1bd578993b9c5cabb352f08510b971e4f67370e1 Mon Sep 17 00:00:00 2001 From: Danijel Martinek Date: Mon, 6 Apr 2026 14:40:24 +0200 Subject: [PATCH] feat(cms-core): add Payload config with postgres adapter and lexical editor --- packages/cms-core/src/index.ts | 7 ++++-- packages/cms-core/src/payload.config.ts | 30 +++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 packages/cms-core/src/payload.config.ts diff --git a/packages/cms-core/src/index.ts b/packages/cms-core/src/index.ts index 5a55285..0cb88ea 100644 --- a/packages/cms-core/src/index.ts +++ b/packages/cms-core/src/index.ts @@ -1,2 +1,5 @@ -// @repo/cms-core — Payload CMS config, collections, hooks, globals -export {}; +export { Users } from "./collections/users/index.js"; +export { Articles } from "./collections/articles/index.js"; +export { Media } from "./collections/media/index.js"; +export { SiteSettings } from "./globals/site-settings.js"; +export { default as config } from "./payload.config.js"; diff --git a/packages/cms-core/src/payload.config.ts b/packages/cms-core/src/payload.config.ts new file mode 100644 index 0000000..01c001d --- /dev/null +++ b/packages/cms-core/src/payload.config.ts @@ -0,0 +1,30 @@ +import { buildConfig } from "payload"; +import { postgresAdapter } from "@payloadcms/db-postgres"; +import { lexicalEditor } from "@payloadcms/richtext-lexical"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; + +import { Users } from "./collections/users/index.js"; +import { Articles } from "./collections/articles/index.js"; +import { Media } from "./collections/media/index.js"; +import { SiteSettings } from "./globals/site-settings.js"; + +const filename = fileURLToPath(import.meta.url); +const dirname = path.dirname(filename); + +export default buildConfig({ + editor: lexicalEditor(), + collections: [Users, Articles, Media], + globals: [SiteSettings], + secret: process.env.PAYLOAD_SECRET || "default-secret-change-me", + db: postgresAdapter({ + pool: { + connectionString: + process.env.DATABASE_URL || + "postgresql://postgres:postgres@localhost:5432/template", + }, + }), + typescript: { + outputFile: path.resolve(dirname, "payload-types.ts"), + }, +});