From 0c33f26e56f3709d1164557a0cce543997fda957 Mon Sep 17 00:00:00 2001 From: Developer Date: Tue, 19 May 2026 10:29:49 +0530 Subject: [PATCH] fix(drizzle): lazy load drizzle-kit to prevent production bundling drizzle-kit/api was being required at module load time, causing it to be included in production bundle for OpenNext Cloudflare and other edge runtimes. This moves the require() inside the function so it's only loaded when actually needed (during migrations/schema push). Also fixes the same issue in postgres adapter. Fixes: payloadcms/payload#16470 --- packages/drizzle/src/postgres/requireDrizzleKit.ts | 6 ++---- packages/drizzle/src/sqlite/requireDrizzleKit.ts | 6 ++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/packages/drizzle/src/postgres/requireDrizzleKit.ts b/packages/drizzle/src/postgres/requireDrizzleKit.ts index 234d86d11de..2b6e3209ec3 100644 --- a/packages/drizzle/src/postgres/requireDrizzleKit.ts +++ b/packages/drizzle/src/postgres/requireDrizzleKit.ts @@ -1,10 +1,8 @@ -import { createRequire } from 'module' - import type { RequireDrizzleKit } from '../types.js' -const require = createRequire(import.meta.url) - export const requireDrizzleKit: RequireDrizzleKit = () => { + const { createRequire } = require('module') + const require = createRequire(import.meta.url) const { generateDrizzleJson, generateMigration, diff --git a/packages/drizzle/src/sqlite/requireDrizzleKit.ts b/packages/drizzle/src/sqlite/requireDrizzleKit.ts index 6162320e5aa..336458432aa 100644 --- a/packages/drizzle/src/sqlite/requireDrizzleKit.ts +++ b/packages/drizzle/src/sqlite/requireDrizzleKit.ts @@ -1,10 +1,8 @@ -import { createRequire } from 'module' - import type { RequireDrizzleKit } from '../types.js' -const require = createRequire(import.meta.url) - export const requireDrizzleKit: RequireDrizzleKit = () => { + const { createRequire } = require('module') + const require = createRequire(import.meta.url) const { generateSQLiteDrizzleJson, generateSQLiteMigration,