Skip to content

Commit 178ab2b

Browse files
authored
Basic PPR (#542)
* basic working PPR * changeset
1 parent a5fd42f commit 178ab2b

File tree

4 files changed

+12
-1
lines changed

4 files changed

+12
-1
lines changed

.changeset/angry-meals-suffer.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@opennextjs/aws": patch
3+
---
4+
5+
Basic support for PPR

packages/open-next/src/adapters/cache.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,7 @@ export default class S3Cache {
237237
rscData: Buffer.from(cacheData.rsc),
238238
status: meta?.status,
239239
headers: meta?.headers,
240+
postponed: meta?.postponed,
240241
},
241242
} as CacheHandlerValue;
242243
}

packages/open-next/src/build.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -494,8 +494,12 @@ async function createCacheAssets(options: BuildOptions) {
494494
() => true,
495495
(filepath) => {
496496
const ext = path.extname(filepath);
497-
const newFilePath =
497+
let newFilePath =
498498
ext !== "" ? filepath.replace(ext, ".cache") : `${filepath}.cache`;
499+
// Handle prefetch cache files for partial prerendering
500+
if (newFilePath.endsWith(".prefetch.cache")) {
501+
newFilePath = newFilePath.replace(".prefetch.cache", ".cache");
502+
}
499503
switch (ext) {
500504
case ".meta":
501505
case ".html":

packages/open-next/src/cache/next-types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,4 +73,5 @@ export type Extension = "cache" | "fetch";
7373
export interface Meta {
7474
status?: number;
7575
headers?: Record<string, undefined | string | string[]>;
76+
postponed?: string;
7677
}

0 commit comments

Comments
 (0)