@@ -28,11 +28,12 @@ import { getLogger, getRequestContext } from './request-context.cjs'
2828import { isAnyTagStale , markTagsAsStaleAndPurgeEdgeCache , purgeEdgeCache } from './tags-handler.cjs'
2929import { getTracer , recordWarning } from './tracer.cjs'
3030
31+ let memoizedPrerenderManifest : PrerenderManifest
32+
3133export class NetlifyCacheHandler implements CacheHandlerForMultipleVersions {
3234 options : CacheHandlerContext
3335 revalidatedTags : string [ ]
3436 cacheStore : MemoizedKeyValueStoreBackedByRegionalBlobStore
35- prerenderManifest ?: Promise < PrerenderManifest >
3637 tracer = getTracer ( )
3738
3839 constructor ( options : CacheHandlerContext ) {
@@ -167,8 +168,8 @@ export class NetlifyCacheHandler implements CacheHandlerForMultipleVersions {
167168 }
168169
169170 private async getPrerenderManifest ( serverDistDir : string ) : Promise < PrerenderManifest > {
170- if ( this . prerenderManifest ) {
171- return this . prerenderManifest
171+ if ( memoizedPrerenderManifest ) {
172+ return memoizedPrerenderManifest
172173 }
173174
174175 const prerenderManifestPath = join ( serverDistDir , '..' , 'prerender-manifest.json' )
@@ -177,17 +178,13 @@ export class NetlifyCacheHandler implements CacheHandlerForMultipleVersions {
177178 // @ts -expect-error Starting in 15.4.0-canary.10 loadManifest was relocated (https://github.com/vercel/next.js/pull/78358)
178179 // eslint-disable-next-line import/no-unresolved, n/no-missing-import
179180 const { loadManifest } = await import ( 'next/dist/server/load-manifest.external.js' )
180- this . prerenderManifest = Promise . resolve (
181- loadManifest ( prerenderManifestPath ) as PrerenderManifest ,
182- )
181+ memoizedPrerenderManifest = loadManifest ( prerenderManifestPath ) as PrerenderManifest
183182 } catch {
184183 const { loadManifest } = await import ( 'next/dist/server/load-manifest.js' )
185- this . prerenderManifest = Promise . resolve (
186- loadManifest ( prerenderManifestPath ) as PrerenderManifest ,
187- )
184+ memoizedPrerenderManifest = loadManifest ( prerenderManifestPath ) as PrerenderManifest
188185 }
189186
190- return this . prerenderManifest
187+ return memoizedPrerenderManifest
191188 }
192189
193190 private async injectEntryToPrerenderManifest (
0 commit comments