From 114170c61e713823c9ef5515ed8ae007de4c47c7 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Thu, 25 Sep 2025 14:02:34 +0100 Subject: [PATCH] perf(flags): use single dynamic import of `next/headers` --- packages/flags/src/next/dedupe.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/flags/src/next/dedupe.ts b/packages/flags/src/next/dedupe.ts index b10f16bf..6dc09762 100644 --- a/packages/flags/src/next/dedupe.ts +++ b/packages/flags/src/next/dedupe.ts @@ -53,10 +53,12 @@ export function dedupe, T>( ): (...args: A) => Promise { const requestStore: RequestStore = new WeakMap>(); + // async import required as turbopack errors in Pages Router + // when next/headers is imported at the top-level + const headersPromise = import('next/headers').then((mod) => mod.headers); + const dedupedFn = async function (this: unknown, ...args: A): Promise { - // async import required as turbopack errors in Pages Router - // when next/headers is imported at the top-level - const { headers } = await import('next/headers'); + const headers = await headersPromise; const h = await headers(); let cacheNode = requestStore.get(h);