Skip to content

Commit 2c85a30

Browse files
SamyPesseNicolas Dorseuil
and
Nicolas Dorseuil
authored
Update opennext and leverage "use cache" on CF (#3204)
Co-authored-by: Nicolas Dorseuil <[email protected]>
1 parent 3460b78 commit 2c85a30

File tree

8 files changed

+437
-1007
lines changed

8 files changed

+437
-1007
lines changed

bun.lock

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@
145145
"dependencies": {
146146
"@gitbook/api": "^0.115.0",
147147
"@gitbook/cache-tags": "workspace:*",
148+
"@opennextjs/cloudflare": "https://pkg.pr.new/@opennextjs/cloudflare@666",
148149
"@sindresorhus/fnv1a": "^3.1.0",
149150
"assert-never": "^1.2.1",
150151
"jwt-decode": "^4.0.0",
@@ -156,7 +157,6 @@
156157
"warn-once": "^0.1.1",
157158
},
158159
"devDependencies": {
159-
"@opennextjs/cloudflare": "^1.0.0-beta.3",
160160
"@types/rison": "^0.0.9",
161161
"gitbook": "*",
162162
"postcss": "^8",
@@ -791,9 +791,9 @@
791791

792792
"@nodelib/fs.walk": ["@nodelib/[email protected]", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="],
793793

794-
"@opennextjs/aws": ["@opennextjs/aws@3.5.7", "", { "dependencies": { "@ast-grep/napi": "^0.35.0", "@aws-sdk/client-cloudfront": "3.398.0", "@aws-sdk/client-dynamodb": "^3.398.0", "@aws-sdk/client-lambda": "^3.398.0", "@aws-sdk/client-s3": "^3.398.0", "@aws-sdk/client-sqs": "^3.398.0", "@node-minify/core": "^8.0.6", "@node-minify/terser": "^8.0.6", "@tsconfig/node18": "^1.0.1", "aws4fetch": "^1.0.18", "chalk": "^5.3.0", "esbuild": "0.19.2", "express": "5.0.1", "path-to-regexp": "^6.3.0", "urlpattern-polyfill": "^10.0.0", "yaml": "^2.7.0" }, "bin": { "open-next": "dist/index.js" } }, "sha512-YjyHJrkIHI7YwQRCp8GjDOudu86oOc1RiwxvBBpPHrplsS18H4ZmkzGggAKhK6B4myGsJQ/q9kNP2TraoZiNzg=="],
794+
"@opennextjs/aws": ["@opennextjs/aws@3.6.1", "", { "dependencies": { "@ast-grep/napi": "^0.35.0", "@aws-sdk/client-cloudfront": "3.398.0", "@aws-sdk/client-dynamodb": "^3.398.0", "@aws-sdk/client-lambda": "^3.398.0", "@aws-sdk/client-s3": "^3.398.0", "@aws-sdk/client-sqs": "^3.398.0", "@node-minify/core": "^8.0.6", "@node-minify/terser": "^8.0.6", "@tsconfig/node18": "^1.0.1", "aws4fetch": "^1.0.18", "chalk": "^5.3.0", "esbuild": "0.19.2", "express": "5.0.1", "path-to-regexp": "^6.3.0", "urlpattern-polyfill": "^10.0.0", "yaml": "^2.7.0" }, "bin": { "open-next": "dist/index.js" } }, "sha512-RYU9K58vEUPXqc3pZO6kr9vBy1MmJZFQZLe0oXBskC005oGju/m4e3DCCP4eZ/Q/HdYQXCoqNXgSGi8VCAYgew=="],
795795

796-
"@opennextjs/cloudflare": ["@opennextjs/cloudflare@1.0.0-beta.3", "", { "dependencies": { "@dotenvx/dotenvx": "1.31.0", "@opennextjs/aws": "3.5.7", "enquirer": "^2.4.1", "glob": "^11.0.0", "ts-tqdm": "^0.8.6" }, "peerDependencies": { "wrangler": "^3.114.3 || ^4.7.0" }, "bin": { "opennextjs-cloudflare": "dist/cli/index.js" } }, "sha512-qKBXQZhUeQ+iGvfJeF7PO30g59LHnPOlRVZd77zxwn6Uc9C+c0LSwo8N28XRIWyQPkY007rKk9pSIxOrP4MHtQ=="],
796+
"@opennextjs/cloudflare": ["@opennextjs/cloudflare@https://pkg.pr.new/@opennextjs/cloudflare@666", { "dependencies": { "@dotenvx/dotenvx": "1.31.0", "@opennextjs/aws": "^3.6.1", "enquirer": "^2.4.1", "glob": "^11.0.0", "ts-tqdm": "^0.8.6" }, "peerDependencies": { "wrangler": "^4.14.0" }, "bin": { "opennextjs-cloudflare": "dist/cli/index.js" } }],
797797

798798
"@opentelemetry/api": ["@opentelemetry/[email protected]", "", {}, "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg=="],
799799

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"turbo": "^2.5.0",
88
"vercel": "^39.3.0"
99
},
10-
"packageManager": "[email protected].8",
10+
"packageManager": "[email protected].11",
1111
"overrides": {
1212
"@codemirror/state": "6.4.1",
1313
"@gitbook/api": "^0.115.0",

packages/gitbook-v2/open-next.config.ts

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,27 @@ import r2IncrementalCache from '@opennextjs/cloudflare/overrides/incremental-cac
33
import { withRegionalCache } from '@opennextjs/cloudflare/overrides/incremental-cache/regional-cache';
44
import doQueue from '@opennextjs/cloudflare/overrides/queue/do-queue';
55
import doShardedTagCache from '@opennextjs/cloudflare/overrides/tag-cache/do-sharded-tag-cache';
6+
import {
7+
softTagFilter,
8+
withFilter,
9+
} from '@opennextjs/cloudflare/overrides/tag-cache/tag-cache-filter';
610

711
export default defineCloudflareConfig({
812
incrementalCache: withRegionalCache(r2IncrementalCache, { mode: 'long-lived' }),
9-
tagCache: doShardedTagCache({
10-
baseShardSize: 12,
11-
regionalCache: true,
12-
shardReplication: {
13-
numberOfSoftReplicas: 2,
14-
numberOfHardReplicas: 1,
15-
},
13+
tagCache: withFilter({
14+
tagCache: doShardedTagCache({
15+
baseShardSize: 12,
16+
regionalCache: true,
17+
shardReplication: {
18+
numberOfSoftReplicas: 2,
19+
numberOfHardReplicas: 1,
20+
},
21+
}),
22+
// We don't use `revalidatePath`, so we filter out soft tags
23+
filterFn: softTagFilter,
1624
}),
1725
queue: doQueue,
26+
27+
// Performance improvements as we don't use PPR
28+
enableCacheInterception: true,
1829
});

packages/gitbook-v2/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"dependencies": {
66
"@gitbook/api": "^0.115.0",
77
"@gitbook/cache-tags": "workspace:*",
8+
"@opennextjs/cloudflare": "https://pkg.pr.new/@opennextjs/cloudflare@666",
89
"@sindresorhus/fnv1a": "^3.1.0",
910
"assert-never": "^1.2.1",
1011
"jwt-decode": "^4.0.0",
@@ -17,7 +18,6 @@
1718
},
1819
"devDependencies": {
1920
"gitbook": "*",
20-
"@opennextjs/cloudflare": "^1.0.0-beta.3",
2121
"@types/rison": "^0.0.9",
2222
"tailwindcss": "^3.4.0",
2323
"postcss": "^8"

0 commit comments

Comments
 (0)